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