Solved PCF8574 READ/WRIE problem
This commit is contained in:
@@ -81,37 +81,31 @@ record(fanout, "$(P)$(R)PCF8574:56:REGISTER:READ:FNOUT"){
|
|||||||
field(LNK2, "$(P)$(R)TMPump1-Emergency")
|
field(LNK2, "$(P)$(R)TMPump1-Emergency")
|
||||||
field(LNK3, "$(P)$(R)TMPump1-Acceleration")
|
field(LNK3, "$(P)$(R)TMPump1-Acceleration")
|
||||||
field(LNK4, "$(P)$(R)TMPump1-NormalOperation")
|
field(LNK4, "$(P)$(R)TMPump1-NormalOperation")
|
||||||
# field(LNK2, "$(P)$(R)Turbo_Emergency")
|
|
||||||
}
|
}
|
||||||
record(bi , "$(P)$(R)TMPump1-Power" ) {
|
record(bi , "$(P)$(R)TMPump1-Power" ) {
|
||||||
field(DESC," TMP1 – Alimentada 220V ")
|
field(DESC," TMP1 – Alimentada 220V ")
|
||||||
#record(bi , "$(P)$(R)Turbo_PW_Ind" ) {
|
|
||||||
field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B4 NPP NMS")
|
field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B4 NPP NMS")
|
||||||
# field( SCAN, "1 second")
|
|
||||||
field( ZNAM, "ON" )
|
field( ZNAM, "ON" )
|
||||||
field( ONAM, "OFF" )
|
field( ONAM, "OFF" )
|
||||||
# field(FLNK, "$(P)$(R)Turbo_Emergency")
|
|
||||||
}
|
}
|
||||||
record(bi , "$(P)$(R)TMPump1-Emergency") {
|
record(bi , "$(P)$(R)TMPump1-Emergency") {
|
||||||
field(DESC," TMP1 – Falha ")
|
field(DESC," TMP1 – Falha ")
|
||||||
#record(bi , "$(P)$(R)Turbo_Emergency") {
|
field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B6 NPP NMS")
|
||||||
field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B5 NPP NMS")
|
# field(VAL,"1")
|
||||||
field( ZNAM, "ON" )
|
field( ZNAM, "ON" )
|
||||||
field( ONAM, "OFF" )
|
field( ONAM, "OFF" )
|
||||||
field(ZSV,"MAJOR")
|
field(ZSV,"MAJOR")
|
||||||
# field(FLNK, "$(P)$(R)Turbo_Acceleration")
|
|
||||||
}
|
}
|
||||||
record(bi , "$(P)$(R)TMPump1-Acceleration") {
|
record(bi , "$(P)$(R)TMPump1-Acceleration") {
|
||||||
field(DESC," TMP1 – Motor em aceleração ")
|
field(DESC," TMP1 – Motor em aceleração ")
|
||||||
#record(bi , "$(P)$(R)Turbo_Acceleration") {
|
field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B5 NPP NMS")
|
||||||
field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B6 NPP NMS")
|
|
||||||
field( ZNAM, "ON" )
|
field( ZNAM, "ON" )
|
||||||
field( ONAM, "OFF" )
|
field( ONAM, "OFF" )
|
||||||
# field(FLNK, "$(P)$(R)Turbo_NormalOperation")
|
field(ZSV,"MINOR")
|
||||||
}
|
}
|
||||||
|
|
||||||
record(bi , "$(P)$(R)TMPump1-NormalOperation" ) {
|
record(bi , "$(P)$(R)TMPump1-NormalOperation" ) {
|
||||||
field(DESC," TMP1 – Operação Normal ")
|
field(DESC," TMP1 – Operação Normal ")
|
||||||
field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B7 NPP NMS")
|
field( INP, "$(P)$(R)PCF8574:56:REGISTER:READ.B7 NPP NMS")
|
||||||
field( ZNAM, "ON" )
|
field( ZNAM, "ON" )
|
||||||
field(ONAM, "OFF" )
|
field(ONAM, "OFF" )
|
||||||
|
|||||||
@@ -22,8 +22,7 @@ record( mbboDirect, "$(P)$(R)PCF8574:56:REGISTER") {
|
|||||||
field(OUT, "@pcf8574.proto wReg(56) I2C")
|
field(OUT, "@pcf8574.proto wReg(56) I2C")
|
||||||
field(SHFT, "0")
|
field(SHFT, "0")
|
||||||
field(NOBT, "8")
|
field(NOBT, "8")
|
||||||
# Has @init on protocol
|
field(VAL, 255)
|
||||||
# field(VAL, 255)
|
|
||||||
# field(PINI,"YES")
|
# field(PINI,"YES")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,7 +32,6 @@ record( mbbiDirect, "$(P)$(R)PCF8574:56:REGISTER:READ" ) {
|
|||||||
field(NOBT, "8")
|
field(NOBT, "8")
|
||||||
field(SCAN, "1 second")
|
field(SCAN, "1 second")
|
||||||
field(FLNK, "$(P)$(R)PCF8574:56:REGISTER:READ:FNOUT")
|
field(FLNK, "$(P)$(R)PCF8574:56:REGISTER:READ:FNOUT")
|
||||||
# field(PINI,"YES")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#####################################################
|
#####################################################
|
||||||
@@ -44,7 +42,7 @@ record( mbboDirect, "$(P)$(R)PCF8574:57:REGISTER") {
|
|||||||
field(OUT, "@pcf8574.proto wReg(57) I2C")
|
field(OUT, "@pcf8574.proto wReg(57) I2C")
|
||||||
field(SHFT, "0")
|
field(SHFT, "0")
|
||||||
field(NOBT, "8")
|
field(NOBT, "8")
|
||||||
# field(VAL, 255)
|
field(VAL, 255)
|
||||||
# field(PINI,"YES")
|
# field(PINI,"YES")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,7 +52,6 @@ record( mbbiDirect, "$(P)$(R)PCF8574:57:REGISTER:READ" ) {
|
|||||||
field(NOBT, "8")
|
field(NOBT, "8")
|
||||||
field(SCAN, "1 second")
|
field(SCAN, "1 second")
|
||||||
field(FLNK, "$(P)$(R)PCF8574:57:REGISTER:READ:FNOUT")
|
field(FLNK, "$(P)$(R)PCF8574:57:REGISTER:READ:FNOUT")
|
||||||
# field(PINI,"YES")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#####################################################
|
#####################################################
|
||||||
@@ -65,7 +62,7 @@ record( mbboDirect, "$(P)$(R)PCF8574:60:REGISTER") {
|
|||||||
field( OUT, "@pcf8574.proto wReg(60) I2C")
|
field( OUT, "@pcf8574.proto wReg(60) I2C")
|
||||||
field( SHFT, "0")
|
field( SHFT, "0")
|
||||||
field( NOBT, "8")
|
field( NOBT, "8")
|
||||||
#field(VAL, 255)
|
field(VAL, 255)
|
||||||
#field(PINI,"YES")
|
#field(PINI,"YES")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -86,7 +83,7 @@ record( mbboDirect, "$(P)$(R)PCF8574:61:REGISTER") {
|
|||||||
field( OUT, "@pcf8574.proto wReg(61) I2C")
|
field( OUT, "@pcf8574.proto wReg(61) I2C")
|
||||||
field( SHFT, "0")
|
field( SHFT, "0")
|
||||||
field( NOBT, "8")
|
field( NOBT, "8")
|
||||||
#field(VAL, 255)
|
field(VAL, 255)
|
||||||
#field(PINI,"YES")
|
#field(PINI,"YES")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -248,10 +248,10 @@ record(mbbi, "$(P)$(R)STOPPINGSTATE") {
|
|||||||
field(FRVL, "4")
|
field(FRVL, "4")
|
||||||
field(FVVL, "5")
|
field(FVVL, "5")
|
||||||
field(ZRST, "NonStopping")
|
field(ZRST, "NonStopping")
|
||||||
field(ONST, "WaitManV")
|
field(ONST, "WaitTMP")
|
||||||
field(TWST, "Stopping2")
|
field(TWST, "WaitManV")
|
||||||
field(THST, "StopEnd")
|
field(THST, "Stopping3")
|
||||||
field(FRST, "Stopping4")
|
field(FRST, "StoppingEnd")
|
||||||
field(FVST, "Stopping5")
|
field(FVST, "Stopping5")
|
||||||
field(VAL, "0")
|
field(VAL, "0")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ short STPST_NonStopping = 0;
|
|||||||
short STPST_Stopping1 = 1;
|
short STPST_Stopping1 = 1;
|
||||||
short STPST_Stopping2 = 2;
|
short STPST_Stopping2 = 2;
|
||||||
short STPST_Stopping3 = 3;
|
short STPST_Stopping3 = 3;
|
||||||
//short STPST_Stopping4 = 4;
|
short STPST_StoppingEnd = 4;
|
||||||
//short STPST_Stopping5 = 5;
|
//short STPST_Stopping5 = 5;
|
||||||
|
|
||||||
short POS_Stopped =0;
|
short POS_Stopped =0;
|
||||||
@@ -150,9 +150,9 @@ assign IsttokTMPump1_MotorOn to "ISTTOK:central:TMPump1-MotorOn";
|
|||||||
short IsttokTMPump2_Motor;
|
short IsttokTMPump2_Motor;
|
||||||
assign IsttokTMPump2_Motor to "ISTTOK:central:TMPump2-Motor";
|
assign IsttokTMPump2_Motor to "ISTTOK:central:TMPump2-Motor";
|
||||||
|
|
||||||
short IsttokTMPump1_NormalOperation;
|
short TMPump1NormalOperation;
|
||||||
assign IsttokTMPump1_NormalOperation to "ISTTOK:central:TMPump1-NormalOperation";
|
assign TMPump1NormalOperation to "ISTTOK:central:TMPump1-NormalOperation";
|
||||||
monitor IsttokTMPump1_NormalOperation;
|
monitor TMPump1NormalOperation;
|
||||||
|
|
||||||
short IsttokTMPump1_Power;
|
short IsttokTMPump1_Power;
|
||||||
assign IsttokTMPump1_Power to "ISTTOK:central:TMPump1-Power";
|
assign IsttokTMPump1_Power to "ISTTOK:central:TMPump1-Power";
|
||||||
@@ -526,7 +526,7 @@ ss PulseSequence {
|
|||||||
pvPut(IsttokOPSTATE);
|
pvPut(IsttokOPSTATE);
|
||||||
} state Starting
|
} state Starting
|
||||||
|
|
||||||
when (STOPPINGSTATE == STPST_Stopping3) {
|
when (STOPPINGSTATE == STPST_StoppingEnd) {
|
||||||
IsttokOPSTATE = POS_Stopped;
|
IsttokOPSTATE = POS_Stopped;
|
||||||
pvPut(IsttokOPSTATE);
|
pvPut(IsttokOPSTATE);
|
||||||
} state Stopped
|
} state Stopped
|
||||||
@@ -689,7 +689,7 @@ ss StartingSequence {
|
|||||||
IsttokTMPump2_Motor = PCF_RELAY_ON;
|
IsttokTMPump2_Motor = PCF_RELAY_ON;
|
||||||
pvPut(IsttokTMPump2_Motor);
|
pvPut(IsttokTMPump2_Motor);
|
||||||
/*
|
/*
|
||||||
if(IsttokTMPump1_NormalOperation == PCF_INPUT_ON){
|
if(TMPump1NormalOperation == PCF_INPUT_ON){
|
||||||
sprintf(tmp1_stat, "ON");
|
sprintf(tmp1_stat, "ON");
|
||||||
}else{
|
}else{
|
||||||
sprintf(tmp1_stat, "OFF");
|
sprintf(tmp1_stat, "OFF");
|
||||||
@@ -711,7 +711,7 @@ ss StartingSequence {
|
|||||||
//IsttokSTARTINGSTATE = STRST_NonStarting;
|
//IsttokSTARTINGSTATE = STRST_NonStarting;
|
||||||
//pvPut(IsttokSTARTINGSTATE);
|
//pvPut(IsttokSTARTINGSTATE);
|
||||||
} state NonStarting
|
} state NonStarting
|
||||||
when (IsttokTMPump1_NormalOperation == PCF_INPUT_ON) { // TODO insert TMP2 Test
|
when (TMPump1NormalOperation == PCF_INPUT_ON) { // TODO insert TMP2 Test
|
||||||
strcpy(msg, "TMP1 operating Normal");
|
strcpy(msg, "TMP1 operating Normal");
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
@@ -1122,26 +1122,18 @@ ss StoppingSequence {
|
|||||||
} state Stopping1
|
} state Stopping1
|
||||||
}
|
}
|
||||||
state Stopping1 {
|
state Stopping1 {
|
||||||
when (IsttokOPSTATE != POS_Stopping ) {
|
when (IsttokOPSTATE != POS_Stopping ) { } state NonStopping
|
||||||
/*
|
when (TMPump1NormalOperation == PCF_INPUT_OFF) { // TODO insert TMP2 Test
|
||||||
strcpy(msg, "Stopping Mode: NonStopping");
|
strcpy(msg, "TMP1 Stopping");
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
|
STOPPINGSTATE = STPST_Stopping2;
|
||||||
STOPPINGSTATE = STPST_NonStopping;
|
|
||||||
pvPut(STOPPINGSTATE);
|
pvPut(STOPPINGSTATE);
|
||||||
*/
|
} state Stopping2
|
||||||
|
}
|
||||||
|
state Stopping2 {
|
||||||
|
when (IsttokOPSTATE != POS_Stopping ) {
|
||||||
} state NonStopping
|
} state NonStopping
|
||||||
/*
|
|
||||||
when (delay(5) && IsttokOPREQ==START ) {
|
|
||||||
strcpy(msg, "State to Starting");
|
|
||||||
pvPut(msg);
|
|
||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
|
||||||
/* State change to Starting
|
|
||||||
IsttokOPSTATE = POS_Starting;
|
|
||||||
pvPut(IsttokOPSTATE);
|
|
||||||
} state NonStopping
|
|
||||||
*/
|
|
||||||
when (delay(5.0) && IsttokTMPump1_ManualValve==OFF) {
|
when (delay(5.0) && IsttokTMPump1_ManualValve==OFF) {
|
||||||
strcpy(msg, "Manual Valve Closed Checked");
|
strcpy(msg, "Manual Valve Closed Checked");
|
||||||
pvPut(msg);
|
pvPut(msg);
|
||||||
@@ -1153,14 +1145,12 @@ ss StoppingSequence {
|
|||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
IsttokRPump2_Motor = PCF_RELAY_ON;
|
IsttokRPump2_Motor = PCF_RELAY_ON;
|
||||||
pvPut(IsttokRPump2_Motor);
|
pvPut(IsttokRPump2_Motor);
|
||||||
STOPPINGSTATE = STPST_Stopping2;
|
STOPPINGSTATE = STPST_Stopping3;
|
||||||
pvPut(STOPPINGSTATE);
|
pvPut(STOPPINGSTATE);
|
||||||
} state Stopping2
|
} state Stopping3
|
||||||
}
|
}
|
||||||
state Stopping2 {
|
state Stopping3 {
|
||||||
when (IsttokOPSTATE != POS_Stopping ) {
|
when (IsttokOPSTATE != POS_Stopping ) {
|
||||||
// STOPPINGSTATE = STPST_NonStopping;
|
|
||||||
// pvPut(STOPPINGSTATE);
|
|
||||||
} state NonStopping
|
} state NonStopping
|
||||||
when (delay(5)) {
|
when (delay(5)) {
|
||||||
IsttokRPump1_Valve = PCF_RELAY_ON;
|
IsttokRPump1_Valve = PCF_RELAY_ON;
|
||||||
@@ -1170,15 +1160,12 @@ ss StoppingSequence {
|
|||||||
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
errlogSevPrintf(NO_ALARM, "%s\n",msg);
|
||||||
IsttokRPump2_Valve = PCF_RELAY_ON;
|
IsttokRPump2_Valve = PCF_RELAY_ON;
|
||||||
pvPut(IsttokRPump2_Valve);
|
pvPut(IsttokRPump2_Valve);
|
||||||
STOPPINGSTATE = STPST_Stopping3;
|
STOPPINGSTATE = STPST_StoppingEnd;
|
||||||
pvPut(STOPPINGSTATE);
|
pvPut(STOPPINGSTATE);
|
||||||
} state Stopping3
|
} state StoppingEnd
|
||||||
}
|
}
|
||||||
state Stopping3 {
|
state StoppingEnd {
|
||||||
when (IsttokOPSTATE != POS_Stopping ) {
|
when (IsttokOPSTATE != POS_Stopping ) { } state NonStopping
|
||||||
// STOPPINGSTATE = STPST_NonStopping;
|
|
||||||
// pvPut(STOPPINGSTATE);
|
|
||||||
} state NonStopping
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,8 @@ rReg {
|
|||||||
##
|
##
|
||||||
wReg {
|
wReg {
|
||||||
out ${1} "%.1r";
|
out ${1} "%.1r";
|
||||||
@init { out ${1}; in "%.1r"; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# @init { out ${1}; in "%.1r"; }
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user