Updates program to read units and status
This commit is contained in:
2267
FlowSkidUniversal/Controller/Controller/LogicalValues.csv
Normal file
2267
FlowSkidUniversal/Controller/Controller/LogicalValues.csv
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,2 @@
|
||||
<modbusServer Version="2.0">
|
||||
</modbusServer>
|
||||
@@ -0,0 +1 @@
|
||||
COMPILED
|
||||
@@ -0,0 +1 @@
|
||||
COMPILED
|
||||
Binary file not shown.
Binary file not shown.
@@ -4,3 +4,5 @@ FLOWMETERAI
|
||||
PRESSURE
|
||||
LINEARSCALE
|
||||
WORDSTOREAL
|
||||
FLOWRATEUNITS
|
||||
FLOWTOTALUNITS
|
||||
@@ -0,0 +1,56 @@
|
||||
MODBUSTIMER.IN@FLOWMETERMB,__TMPB__TON__IN,BOOL
|
||||
MODBUSTIMER.PT@FLOWMETERMB,MODBUSSCANRATE@FLOWMETERMB,TIME
|
||||
WAIT_TO_RESET_TON.IN@FLOWMETERMB,CMD_CLEARRESETTOTALIZER@FLOWMETERMB,BOOL
|
||||
WAIT_TO_RESET_TON.PT@FLOWMETERMB,PAR_TIMETOWAITTOCLEARRESETTOTALIZER@FLOWMETERMB,TIME
|
||||
MODBUSERRORTIMER.IN@FLOWMETERMB,__TMPB__TON__IN,BOOL
|
||||
MODBUSERRORTIMER.PT@FLOWMETERMB,MODBUSERRORDURATION,TIME
|
||||
TON_TOTALIZER.IN@FLOWMETERAI,__TMPB__TON__IN,BOOL
|
||||
TON_TOTALIZER.PT@FLOWMETERAI,__CTIME00002710,TIME
|
||||
MBS_FLOWRATE_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
|
||||
MBS_FLOWRATE_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
|
||||
MBS_FLOWRATE_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
|
||||
MBS_FLOWRATE_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
|
||||
MBS_FLOWRATE_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
|
||||
MBS_FLOWRATE_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
|
||||
MBS_FLOWTOTALIZERA_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
|
||||
MBS_FLOWTOTALIZERA_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
|
||||
MBS_FLOWTOTALIZERA_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
|
||||
MBS_FLOWTOTALIZERA_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
|
||||
MBS_FLOWTOTALIZERA_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
|
||||
MBS_FLOWTOTALIZERA_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
|
||||
MBS_FLOWTOTALIZERB_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
|
||||
MBS_FLOWTOTALIZERB_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
|
||||
MBS_FLOWTOTALIZERB_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
|
||||
MBS_FLOWTOTALIZERB_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
|
||||
MBS_FLOWTOTALIZERB_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
|
||||
MBS_FLOWTOTALIZERB_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
|
||||
MBS_FLOWTOTALIZERC_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
|
||||
MBS_FLOWTOTALIZERC_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
|
||||
MBS_FLOWTOTALIZERC_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
|
||||
MBS_FLOWTOTALIZERC_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
|
||||
MBS_FLOWTOTALIZERC_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
|
||||
MBS_FLOWTOTALIZERC_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
|
||||
MBS_STATUS_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
|
||||
MBS_STATUS_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
|
||||
MBS_STATUS_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
|
||||
MBS_STATUS_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
|
||||
MBS_STATUS_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
|
||||
MBS_STATUS_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
|
||||
MBS_RESETTOTALIZER_MSG.IN@FLOWMETERMB,CMD_RESETTOTALIZER@FLOWMETERMB,BOOL
|
||||
MBS_RESETTOTALIZER_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
|
||||
MBS_RESETTOTALIZER_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
|
||||
MBS_RESETTOTALIZER_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
|
||||
MBS_RESETTOTALIZER_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
|
||||
MBS_RESETTOTALIZER_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
|
||||
MBS_CLEARRESETTOTALIZER_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
|
||||
MBS_CLEARRESETTOTALIZER_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
|
||||
MBS_CLEARRESETTOTALIZER_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
|
||||
MBS_CLEARRESETTOTALIZER_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
|
||||
MBS_CLEARRESETTOTALIZER_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
|
||||
MBS_CLEARRESETTOTALIZER_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
|
||||
MBS_UNITS_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
|
||||
MBS_UNITS_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
|
||||
MBS_UNITS_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
|
||||
MBS_UNITS_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
|
||||
MBS_UNITS_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
|
||||
MBS_UNITS_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
|
||||
@@ -15,35 +15,46 @@ _PUSH_PAR FLOW_EU_MIN
|
||||
_PUSH_PAR FLOW_EU_MAX
|
||||
_PUSH_PAR VAL_AI00_UA
|
||||
__TMPR5 := _CALL LINEARSCALE
|
||||
VAL_FLOWGROSS := __TMPR5
|
||||
VAL_FLOWRATE := __TMPR5
|
||||
__TMPB1 := TON_TOTALIZER [ __CDINT00000004 ]
|
||||
__TMPB1 := _NOT __TMPB1
|
||||
__TMPB__TON__IN := __TMPB1
|
||||
__FBL_RET := _PUSHCALLFB TON TON_TOTALIZER
|
||||
__TMPB1 := TON_TOTALIZER [ __CDINT00000004 ]
|
||||
_IF _NOT __TMPB1 _GOTO __LAB2
|
||||
__TMPB2 := VAL_FLOWGROSS > __TMPR7
|
||||
__TMPB2 := VAL_FLOWRATE > __TMPR7
|
||||
_IF _NOT __TMPB2 _GOTO __LAB3
|
||||
__TMPR5 := __TMPR8 / __TMPR9
|
||||
__TMPR6 := VAL_FLOWGROSS * __TMPR5
|
||||
__TMPR10 := VAL_FLOWTOTALPOS + __TMPR6
|
||||
VAL_FLOWTOTALPOS := __TMPR10
|
||||
__TMPR6 := VAL_FLOWRATE * __TMPR5
|
||||
__TMPR10 := VAL_FLOWTOTALIZERB + __TMPR6
|
||||
VAL_FLOWTOTALIZERB := __TMPR10
|
||||
_GOTO __LAB4
|
||||
__LAB3 :
|
||||
__TMPR5 := __TMPR8 / __TMPR9
|
||||
__TMPR6 := VAL_FLOWGROSS * __TMPR5
|
||||
__TMPR10 := VAL_FLOWTOTALNEG + __TMPR6
|
||||
VAL_FLOWTOTALNEG := __TMPR10
|
||||
__TMPR6 := VAL_FLOWRATE * __TMPR5
|
||||
__TMPR10 := VAL_FLOWTOTALIZERC + __TMPR6
|
||||
VAL_FLOWTOTALIZERC := __TMPR10
|
||||
__LAB4 :
|
||||
_GOTO __LAB5
|
||||
__LAB2 :
|
||||
__LAB5 :
|
||||
_IF _NOT CMD_CLEARFLOWTOTALS _GOTO __LAB6
|
||||
VAL_FLOWTOTALNEG := __TMPR7
|
||||
VAL_FLOWTOTALPOS := __TMPR7
|
||||
__TMPR5 := VAL_FLOWTOTALIZERB + VAL_FLOWTOTALIZERC
|
||||
VAL_FLOWTOTALIZERA := __TMPR5
|
||||
_IF _NOT CMD_RESETTOTALIZERA _GOTO __LAB6
|
||||
VAL_FLOWTOTALIZERA := __TMPR7
|
||||
_GOTO __LAB7
|
||||
__LAB6 :
|
||||
__LAB7 :
|
||||
_GOTO __LAB8
|
||||
__LAB1 :
|
||||
_IF _NOT CMD_RESETTOTALIZERB _GOTO __LAB8
|
||||
VAL_FLOWTOTALIZERB := __TMPR7
|
||||
_GOTO __LAB9
|
||||
__LAB8 :
|
||||
__LAB9 :
|
||||
_IF _NOT CMD_RESETTOTALIZERC _GOTO __LABa
|
||||
VAL_FLOWTOTALIZERC := __TMPR7
|
||||
_GOTO __LABb
|
||||
__LABa :
|
||||
__LABb :
|
||||
_GOTO __LABc
|
||||
__LAB1 :
|
||||
__LABc :
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
FLOWMETERMB(150):F,WORDSTOREAL(148);F,RIGHT();F,MLEN();F,FLOWRATEUNITS(153);F,FLOWTOTALUNITS(154);
|
||||
@@ -0,0 +1,778 @@
|
||||
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
|
||||
__TMPB1 := _NOT __TMPB1
|
||||
__TMPB1 := __TMPB1 _AND USE_MODBUSFLOWMETER
|
||||
__TMPB__TON__IN := __TMPB1
|
||||
__FBL_RET := _PUSHCALLFB TON MODBUSTIMER
|
||||
MBS_FLOWRATE_TARGETCFG [ __DINT_NULL ] := CFG_FLOWRATE_REGISTER
|
||||
MBS_FLOWRATE_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
|
||||
MBS_FLOWRATE_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
|
||||
MBS_FLOWRATE_LOCALCFG [ __CDINT00000003 ] := READ_CMD
|
||||
MBS_FLOWRATE_LOCALCFG [ __CDINT00000002 ] := MBS_TRIGGERTYPE
|
||||
MBS_FLOWRATE_LOCALCFG [ __CDINT00000004 ] := __CUINT00000002
|
||||
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
|
||||
__TMPV1 := MBS_FLOWRATE_LOCALCFG [ __DINT_NULL ]
|
||||
__TMPV2 := MBS_FLOWRATE_TARGETCFG [ __DINT_NULL ]
|
||||
__TMPV3 := MBS_FLOWRATE_DATA [ __DINT_NULL ]
|
||||
__TMPB__MSG_MODBUS__IN := __TMPB1
|
||||
__TMPV4 := MBS_FLOWRATE_MSG [ __CDINT00000004 ]
|
||||
__TMPV4 := __TMPV1
|
||||
__TMPV5 := MBS_FLOWRATE_MSG [ __CDINT00000006 ]
|
||||
__TMPV5 := __TMPV2
|
||||
__TMPV6 := MBS_FLOWRATE_MSG [ __CDINT00000008 ]
|
||||
__TMPV6 := __TMPV3
|
||||
MBS_FLOWRATE_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_0
|
||||
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_FLOWRATE_MSG
|
||||
__TMPB1 := MBS_FLOWRATE_MSG [ __CDINT0000000C ]
|
||||
_IF _NOT __TMPB1 _GOTO __LAB1
|
||||
__TMPI1 := __CDINT00000001 - __CDINT00000001
|
||||
__TMPI1 := __TMPI1 * __CDINT00000002
|
||||
__TMPUIN1 := MBS_FLOWRATE_DATA [ __TMPI1 ]
|
||||
__TMPI2 := __CDINT00000002 - __CDINT00000001
|
||||
__TMPI2 := __TMPI2 * __CDINT00000002
|
||||
__TMPUIN2 := MBS_FLOWRATE_DATA [ __TMPI2 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
_PUSH_PAR __TMPUIN2
|
||||
__TMPR1 := _CALL WORDSTOREAL
|
||||
VAL_FLOWRATE := __TMPR1
|
||||
_GOTO __LAB2
|
||||
__LAB1 :
|
||||
__LAB2 :
|
||||
MBS_FLOWTOTALIZERA_TARGETCFG [ __DINT_NULL ] := CFG_FLOWTOTALIZERA_REGISTER
|
||||
MBS_FLOWTOTALIZERA_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
|
||||
MBS_FLOWTOTALIZERA_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
|
||||
MBS_FLOWTOTALIZERA_LOCALCFG [ __CDINT00000003 ] := READ_CMD
|
||||
MBS_FLOWTOTALIZERA_LOCALCFG [ __CDINT00000002 ] := MBS_TRIGGERTYPE
|
||||
MBS_FLOWTOTALIZERA_LOCALCFG [ __CDINT00000004 ] := __CUINT00000002
|
||||
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
|
||||
__TMPV1 := MBS_FLOWTOTALIZERA_LOCALCFG [ __DINT_NULL ]
|
||||
__TMPV2 := MBS_FLOWTOTALIZERA_TARGETCFG [ __DINT_NULL ]
|
||||
__TMPV3 := MBS_FLOWTOTALIZERA_DATA [ __DINT_NULL ]
|
||||
__TMPB__MSG_MODBUS__IN := __TMPB1
|
||||
__TMPV4 := MBS_FLOWTOTALIZERA_MSG [ __CDINT00000004 ]
|
||||
__TMPV4 := __TMPV1
|
||||
__TMPV5 := MBS_FLOWTOTALIZERA_MSG [ __CDINT00000006 ]
|
||||
__TMPV5 := __TMPV2
|
||||
__TMPV6 := MBS_FLOWTOTALIZERA_MSG [ __CDINT00000008 ]
|
||||
__TMPV6 := __TMPV3
|
||||
MBS_FLOWTOTALIZERA_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_1
|
||||
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_FLOWTOTALIZERA_MSG
|
||||
__TMPB1 := MBS_FLOWTOTALIZERA_MSG [ __CDINT0000000C ]
|
||||
_IF _NOT __TMPB1 _GOTO __LAB3
|
||||
__TMPI1 := __CDINT00000001 - __CDINT00000001
|
||||
__TMPI1 := __TMPI1 * __CDINT00000002
|
||||
__TMPUIN1 := MBS_FLOWTOTALIZERA_DATA [ __TMPI1 ]
|
||||
__TMPI2 := __CDINT00000002 - __CDINT00000001
|
||||
__TMPI2 := __TMPI2 * __CDINT00000002
|
||||
__TMPUIN2 := MBS_FLOWTOTALIZERA_DATA [ __TMPI2 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
_PUSH_PAR __TMPUIN2
|
||||
__TMPR1 := _CALL WORDSTOREAL
|
||||
VAL_FLOWTOTALIZERA := __TMPR1
|
||||
_GOTO __LAB4
|
||||
__LAB3 :
|
||||
__LAB4 :
|
||||
MBS_FLOWTOTALIZERB_TARGETCFG [ __DINT_NULL ] := CFG_FLOWTOTALIZERB_REGISTER
|
||||
MBS_FLOWTOTALIZERB_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
|
||||
MBS_FLOWTOTALIZERB_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
|
||||
MBS_FLOWTOTALIZERB_LOCALCFG [ __CDINT00000003 ] := READ_CMD
|
||||
MBS_FLOWTOTALIZERB_LOCALCFG [ __CDINT00000002 ] := MBS_TRIGGERTYPE
|
||||
MBS_FLOWTOTALIZERB_LOCALCFG [ __CDINT00000004 ] := __CUINT00000002
|
||||
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
|
||||
__TMPV1 := MBS_FLOWTOTALIZERB_LOCALCFG [ __DINT_NULL ]
|
||||
__TMPV2 := MBS_FLOWTOTALIZERB_TARGETCFG [ __DINT_NULL ]
|
||||
__TMPV3 := MBS_FLOWTOTALIZERB_DATA [ __DINT_NULL ]
|
||||
__TMPB__MSG_MODBUS__IN := __TMPB1
|
||||
__TMPV4 := MBS_FLOWTOTALIZERB_MSG [ __CDINT00000004 ]
|
||||
__TMPV4 := __TMPV1
|
||||
__TMPV5 := MBS_FLOWTOTALIZERB_MSG [ __CDINT00000006 ]
|
||||
__TMPV5 := __TMPV2
|
||||
__TMPV6 := MBS_FLOWTOTALIZERB_MSG [ __CDINT00000008 ]
|
||||
__TMPV6 := __TMPV3
|
||||
MBS_FLOWTOTALIZERB_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_2
|
||||
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_FLOWTOTALIZERB_MSG
|
||||
__TMPB1 := MBS_FLOWTOTALIZERB_MSG [ __CDINT0000000C ]
|
||||
_IF _NOT __TMPB1 _GOTO __LAB5
|
||||
__TMPI1 := __CDINT00000001 - __CDINT00000001
|
||||
__TMPI1 := __TMPI1 * __CDINT00000002
|
||||
__TMPUIN1 := MBS_FLOWTOTALIZERB_DATA [ __TMPI1 ]
|
||||
__TMPI2 := __CDINT00000002 - __CDINT00000001
|
||||
__TMPI2 := __TMPI2 * __CDINT00000002
|
||||
__TMPUIN2 := MBS_FLOWTOTALIZERB_DATA [ __TMPI2 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
_PUSH_PAR __TMPUIN2
|
||||
__TMPR1 := _CALL WORDSTOREAL
|
||||
VAL_FLOWTOTALIZERB := __TMPR1
|
||||
_GOTO __LAB6
|
||||
__LAB5 :
|
||||
__LAB6 :
|
||||
MBS_FLOWTOTALIZERC_TARGETCFG [ __DINT_NULL ] := CFG_FLOWTOTALIZERC_REGISTER
|
||||
MBS_FLOWTOTALIZERC_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
|
||||
MBS_FLOWTOTALIZERC_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
|
||||
MBS_FLOWTOTALIZERC_LOCALCFG [ __CDINT00000003 ] := READ_CMD
|
||||
MBS_FLOWTOTALIZERC_LOCALCFG [ __CDINT00000002 ] := MBS_TRIGGERTYPE
|
||||
MBS_FLOWTOTALIZERC_LOCALCFG [ __CDINT00000004 ] := __CUINT00000002
|
||||
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
|
||||
__TMPV1 := MBS_FLOWTOTALIZERC_LOCALCFG [ __DINT_NULL ]
|
||||
__TMPV2 := MBS_FLOWTOTALIZERC_TARGETCFG [ __DINT_NULL ]
|
||||
__TMPV3 := MBS_FLOWTOTALIZERC_DATA [ __DINT_NULL ]
|
||||
__TMPB__MSG_MODBUS__IN := __TMPB1
|
||||
__TMPV4 := MBS_FLOWTOTALIZERC_MSG [ __CDINT00000004 ]
|
||||
__TMPV4 := __TMPV1
|
||||
__TMPV5 := MBS_FLOWTOTALIZERC_MSG [ __CDINT00000006 ]
|
||||
__TMPV5 := __TMPV2
|
||||
__TMPV6 := MBS_FLOWTOTALIZERC_MSG [ __CDINT00000008 ]
|
||||
__TMPV6 := __TMPV3
|
||||
MBS_FLOWTOTALIZERC_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_3
|
||||
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_FLOWTOTALIZERC_MSG
|
||||
__TMPB1 := MBS_FLOWTOTALIZERC_MSG [ __CDINT0000000C ]
|
||||
_IF _NOT __TMPB1 _GOTO __LAB7
|
||||
__TMPI1 := __CDINT00000001 - __CDINT00000001
|
||||
__TMPI1 := __TMPI1 * __CDINT00000002
|
||||
__TMPUIN1 := MBS_FLOWTOTALIZERC_DATA [ __TMPI1 ]
|
||||
__TMPI2 := __CDINT00000002 - __CDINT00000001
|
||||
__TMPI2 := __TMPI2 * __CDINT00000002
|
||||
__TMPUIN2 := MBS_FLOWTOTALIZERC_DATA [ __TMPI2 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
_PUSH_PAR __TMPUIN2
|
||||
__TMPR1 := _CALL WORDSTOREAL
|
||||
VAL_FLOWTOTALIZERC := __TMPR1
|
||||
_GOTO __LAB8
|
||||
__LAB7 :
|
||||
__LAB8 :
|
||||
MBS_STATUS_TARGETCFG [ __DINT_NULL ] := CFG_STATUS_REGISTER
|
||||
MBS_STATUS_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
|
||||
MBS_STATUS_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
|
||||
MBS_STATUS_LOCALCFG [ __CDINT00000003 ] := READ_CMD
|
||||
MBS_STATUS_LOCALCFG [ __CDINT00000002 ] := MBS_TRIGGERTYPE
|
||||
MBS_STATUS_LOCALCFG [ __CDINT00000004 ] := __CUINT00000003
|
||||
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
|
||||
__TMPV1 := MBS_STATUS_LOCALCFG [ __DINT_NULL ]
|
||||
__TMPV2 := MBS_STATUS_TARGETCFG [ __DINT_NULL ]
|
||||
__TMPV3 := MBS_STATUS_DATA [ __DINT_NULL ]
|
||||
__TMPB__MSG_MODBUS__IN := __TMPB1
|
||||
__TMPV4 := MBS_STATUS_MSG [ __CDINT00000004 ]
|
||||
__TMPV4 := __TMPV1
|
||||
__TMPV5 := MBS_STATUS_MSG [ __CDINT00000006 ]
|
||||
__TMPV5 := __TMPV2
|
||||
__TMPV6 := MBS_STATUS_MSG [ __CDINT00000008 ]
|
||||
__TMPV6 := __TMPV3
|
||||
MBS_STATUS_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_4
|
||||
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_STATUS_MSG
|
||||
__TMPB1 := MBS_STATUS_MSG [ __CDINT0000000C ]
|
||||
_IF _NOT __TMPB1 _GOTO __LAB9
|
||||
__TMPI1 := __CDINT00000001 - __CDINT00000001
|
||||
__TMPI1 := __TMPI1 * __CDINT00000002
|
||||
__TMPUIN1 := MBS_STATUS_DATA [ __TMPI1 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
__TMPUIN2 := _CALL ANY_TO_UINT
|
||||
VAL_STATUS0 := __TMPUIN2
|
||||
__TMPI1 := __CDINT00000002 - __CDINT00000001
|
||||
__TMPI1 := __TMPI1 * __CDINT00000002
|
||||
__TMPUIN1 := MBS_STATUS_DATA [ __TMPI1 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
__TMPUIN2 := _CALL ANY_TO_UINT
|
||||
VAL_STATUS1 := __TMPUIN2
|
||||
__TMPI1 := __CDINT00000003 - __CDINT00000001
|
||||
__TMPI1 := __TMPI1 * __CDINT00000002
|
||||
__TMPUIN1 := MBS_STATUS_DATA [ __TMPI1 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
__TMPUIN2 := _CALL ANY_TO_UINT
|
||||
VAL_STATUS2 := __TMPUIN2
|
||||
_GOTO __LABa
|
||||
__LAB9 :
|
||||
__LABa :
|
||||
__TMPUIN1 := VAL_STATUS0 + VAL_STATUS1
|
||||
__TMPUIN1 := __TMPUIN1 + VAL_STATUS2
|
||||
__TMPB1 := __TMPUIN1 = __UINT_NULL
|
||||
_IF _NOT __TMPB1 _GOTO __LABb
|
||||
VAL_STATUSSTRING := __TMPM1
|
||||
_GOTO __LABc
|
||||
__LABb :
|
||||
VAL_STATUSSTRING := __STRING_NULL
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __DINT_NULL
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LABd
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM2
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LABe
|
||||
__LABd :
|
||||
__LABe :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT00000001
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LABf
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM4
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB10
|
||||
__LABf :
|
||||
__LAB10 :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT00000002
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB11
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM5
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB12
|
||||
__LAB11 :
|
||||
__LAB12 :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT00000003
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB13
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM6
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB14
|
||||
__LAB13 :
|
||||
__LAB14 :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT00000004
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB15
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM7
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB16
|
||||
__LAB15 :
|
||||
__LAB16 :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT00000005
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB17
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM8
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB18
|
||||
__LAB17 :
|
||||
__LAB18 :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT00000006
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB19
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM9
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB1a
|
||||
__LAB19 :
|
||||
__LAB1a :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT00000007
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB1b
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM10
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB1c
|
||||
__LAB1b :
|
||||
__LAB1c :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT00000008
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB1d
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM11
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB1e
|
||||
__LAB1d :
|
||||
__LAB1e :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT00000009
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB1f
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM12
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB20
|
||||
__LAB1f :
|
||||
__LAB20 :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT0000000A
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB21
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM13
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB22
|
||||
__LAB21 :
|
||||
__LAB22 :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT0000000B
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB23
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM14
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB24
|
||||
__LAB23 :
|
||||
__LAB24 :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT0000000C
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB25
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM15
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB26
|
||||
__LAB25 :
|
||||
__LAB26 :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT0000000D
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB27
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM16
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB28
|
||||
__LAB27 :
|
||||
__LAB28 :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT0000000E
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB29
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM17
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB2a
|
||||
__LAB29 :
|
||||
__LAB2a :
|
||||
_PUSH_PAR VAL_STATUS0
|
||||
_PUSH_PAR __CDINT0000000F
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB2b
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM18
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB2c
|
||||
__LAB2b :
|
||||
__LAB2c :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __DINT_NULL
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB2d
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM19
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB2e
|
||||
__LAB2d :
|
||||
__LAB2e :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT00000001
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB2f
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM20
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB30
|
||||
__LAB2f :
|
||||
__LAB30 :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT00000002
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB31
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM21
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB32
|
||||
__LAB31 :
|
||||
__LAB32 :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT00000003
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB33
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM22
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB34
|
||||
__LAB33 :
|
||||
__LAB34 :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT00000004
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB35
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM23
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB36
|
||||
__LAB35 :
|
||||
__LAB36 :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT00000005
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB37
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM24
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB38
|
||||
__LAB37 :
|
||||
__LAB38 :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT00000006
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB39
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM25
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB3a
|
||||
__LAB39 :
|
||||
__LAB3a :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT00000007
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB3b
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM26
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB3c
|
||||
__LAB3b :
|
||||
__LAB3c :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT00000008
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB3d
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM27
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB3e
|
||||
__LAB3d :
|
||||
__LAB3e :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT00000009
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB3f
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM28
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB40
|
||||
__LAB3f :
|
||||
__LAB40 :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT0000000A
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB41
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM29
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB42
|
||||
__LAB41 :
|
||||
__LAB42 :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT0000000B
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB43
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM30
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB44
|
||||
__LAB43 :
|
||||
__LAB44 :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT0000000C
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB45
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM31
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB46
|
||||
__LAB45 :
|
||||
__LAB46 :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT0000000D
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB47
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM32
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB48
|
||||
__LAB47 :
|
||||
__LAB48 :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT0000000E
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB49
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM33
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB4a
|
||||
__LAB49 :
|
||||
__LAB4a :
|
||||
_PUSH_PAR VAL_STATUS1
|
||||
_PUSH_PAR __CDINT0000000F
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB4b
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM34
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB4c
|
||||
__LAB4b :
|
||||
__LAB4c :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __DINT_NULL
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB4d
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM35
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB4e
|
||||
__LAB4d :
|
||||
__LAB4e :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT00000001
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB4f
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM36
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB50
|
||||
__LAB4f :
|
||||
__LAB50 :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT00000002
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB51
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM37
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB52
|
||||
__LAB51 :
|
||||
__LAB52 :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT00000003
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB53
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM38
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB54
|
||||
__LAB53 :
|
||||
__LAB54 :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT00000004
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB55
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM39
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB56
|
||||
__LAB55 :
|
||||
__LAB56 :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT00000005
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB57
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM40
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB58
|
||||
__LAB57 :
|
||||
__LAB58 :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT00000006
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB59
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM41
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB5a
|
||||
__LAB59 :
|
||||
__LAB5a :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT00000007
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB5b
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM42
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB5c
|
||||
__LAB5b :
|
||||
__LAB5c :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT00000008
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB5d
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM43
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB5e
|
||||
__LAB5d :
|
||||
__LAB5e :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT00000009
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB5f
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM44
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB60
|
||||
__LAB5f :
|
||||
__LAB60 :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT0000000A
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB61
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM45
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB62
|
||||
__LAB61 :
|
||||
__LAB62 :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT0000000B
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB63
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM46
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB64
|
||||
__LAB63 :
|
||||
__LAB64 :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT0000000C
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB65
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM47
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB66
|
||||
__LAB65 :
|
||||
__LAB66 :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT0000000D
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB67
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM48
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB68
|
||||
__LAB67 :
|
||||
__LAB68 :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT0000000E
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB69
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM49
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB6a
|
||||
__LAB69 :
|
||||
__LAB6a :
|
||||
_PUSH_PAR VAL_STATUS2
|
||||
_PUSH_PAR __CDINT0000000F
|
||||
__TMPB1 := _CALL __ANARBIT
|
||||
_IF _NOT __TMPB1 _GOTO __LAB6b
|
||||
__TMPM3 := VAL_STATUSSTRING + __TMPM50
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
_GOTO __LAB6c
|
||||
__LAB6b :
|
||||
__LAB6c :
|
||||
_PUSH_PAR VAL_STATUSSTRING
|
||||
__TMPI1 := _CALL MLEN
|
||||
__TMPI1 := __TMPI1 - __CDINT00000002
|
||||
_PUSH_PAR VAL_STATUSSTRING
|
||||
_PUSH_PAR __TMPI1
|
||||
__TMPM3 := _CALL RIGHT
|
||||
VAL_STATUSSTRING := __TMPM3
|
||||
__LABc :
|
||||
__TMPB1 := CMD_RESETTOTALIZERA _OR CMD_RESETTOTALIZERB
|
||||
__TMPB1 := __TMPB1 _OR CMD_RESETTOTALIZERC
|
||||
CMD_RESETTOTALIZER := __TMPB1
|
||||
_IF _NOT CMD_RESETTOTALIZERA _GOTO __LAB6d
|
||||
MBS_RESETTOTALIZER_TARGETCFG [ __DINT_NULL ] := CFG_RESETTOTALIZERA_COIL
|
||||
_GOTO __LAB6e
|
||||
__LAB6d :
|
||||
_IF _NOT CMD_RESETTOTALIZERB _GOTO __LAB6f
|
||||
MBS_RESETTOTALIZER_TARGETCFG [ __DINT_NULL ] := CFG_RESETTOTALIZERB_COIL
|
||||
_GOTO __LAB6e
|
||||
__LAB6f :
|
||||
_IF _NOT CMD_RESETTOTALIZERC _GOTO __LAB70
|
||||
MBS_RESETTOTALIZER_TARGETCFG [ __DINT_NULL ] := CFG_RESETTOTALIZERC_COIL
|
||||
_GOTO __LAB6e
|
||||
__LAB70 :
|
||||
__LAB6e :
|
||||
MBS_RESETTOTALIZER_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
|
||||
MBS_RESETTOTALIZER_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
|
||||
MBS_RESETTOTALIZER_LOCALCFG [ __CDINT00000003 ] := WRITECOIL_CMD
|
||||
MBS_RESETTOTALIZER_LOCALCFG [ __CDINT00000002 ] := __USINT_NULL
|
||||
MBS_RESETTOTALIZER_LOCALCFG [ __CDINT00000004 ] := __CUINT00000001
|
||||
__TMPI1 := __CDINT00000001 - __CDINT00000001
|
||||
__TMPI1 := __TMPI1 * __CDINT00000002
|
||||
MBS_RESETTOTALIZER_DATA [ __TMPI1 ] := __CUINT00000001
|
||||
__TMPV1 := MBS_RESETTOTALIZER_LOCALCFG [ __DINT_NULL ]
|
||||
__TMPV2 := MBS_RESETTOTALIZER_TARGETCFG [ __DINT_NULL ]
|
||||
__TMPV3 := MBS_RESETTOTALIZER_DATA [ __DINT_NULL ]
|
||||
__TMPV4 := MBS_RESETTOTALIZER_MSG [ __CDINT00000004 ]
|
||||
__TMPV4 := __TMPV1
|
||||
__TMPV5 := MBS_RESETTOTALIZER_MSG [ __CDINT00000006 ]
|
||||
__TMPV5 := __TMPV2
|
||||
__TMPV6 := MBS_RESETTOTALIZER_MSG [ __CDINT00000008 ]
|
||||
__TMPV6 := __TMPV3
|
||||
MBS_RESETTOTALIZER_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_5
|
||||
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_RESETTOTALIZER_MSG
|
||||
__TMPB1 := MBS_RESETTOTALIZER_MSG [ __CDINT0000000C ]
|
||||
__TMPB2 := MBS_RESETTOTALIZER_MSG [ __CDINT0000000D ]
|
||||
__TMPB1 := __TMPB1 _OR __TMPB2
|
||||
_IF _NOT __TMPB1 _GOTO __LAB71
|
||||
CMD_CLEARRESETTOTALIZER := TRUE
|
||||
CMD_RESETTOTALIZERA := FALSE
|
||||
CMD_RESETTOTALIZERB := FALSE
|
||||
CMD_RESETTOTALIZERC := FALSE
|
||||
_GOTO __LAB72
|
||||
__LAB71 :
|
||||
__LAB72 :
|
||||
__FBL_RET := _PUSHCALLFB TON WAIT_TO_RESET_TON
|
||||
__TMPUDI1 := MBS_RESETTOTALIZER_TARGETCFG [ __DINT_NULL ]
|
||||
MBS_CLEARRESETTOTALIZER_TARGETCFG [ __DINT_NULL ] := __TMPUDI1
|
||||
__TMPUSI1 := MBS_RESETTOTALIZER_TARGETCFG [ __CDINT00000004 ]
|
||||
MBS_CLEARRESETTOTALIZER_TARGETCFG [ __CDINT00000004 ] := __TMPUSI1
|
||||
__TMPUIN1 := MBS_RESETTOTALIZER_LOCALCFG [ __DINT_NULL ]
|
||||
MBS_CLEARRESETTOTALIZER_LOCALCFG [ __DINT_NULL ] := __TMPUIN1
|
||||
__TMPUSI1 := MBS_RESETTOTALIZER_LOCALCFG [ __CDINT00000003 ]
|
||||
MBS_CLEARRESETTOTALIZER_LOCALCFG [ __CDINT00000003 ] := __TMPUSI1
|
||||
__TMPUSI1 := MBS_RESETTOTALIZER_LOCALCFG [ __CDINT00000002 ]
|
||||
MBS_CLEARRESETTOTALIZER_LOCALCFG [ __CDINT00000002 ] := __TMPUSI1
|
||||
__TMPUIN1 := MBS_RESETTOTALIZER_LOCALCFG [ __CDINT00000004 ]
|
||||
MBS_CLEARRESETTOTALIZER_LOCALCFG [ __CDINT00000004 ] := __TMPUIN1
|
||||
__TMPI1 := __CDINT00000001 - __CDINT00000001
|
||||
__TMPI1 := __TMPI1 * __CDINT00000002
|
||||
MBS_CLEARRESETTOTALIZER_DATA [ __TMPI1 ] := __UINT_NULL
|
||||
__TMPB1 := WAIT_TO_RESET_TON [ __CDINT00000004 ]
|
||||
__TMPV1 := MBS_CLEARRESETTOTALIZER_LOCALCFG [ __DINT_NULL ]
|
||||
__TMPV2 := MBS_CLEARRESETTOTALIZER_TARGETCFG [ __DINT_NULL ]
|
||||
__TMPV3 := MBS_CLEARRESETTOTALIZER_DATA [ __DINT_NULL ]
|
||||
__TMPB__MSG_MODBUS__IN := __TMPB1
|
||||
__TMPV4 := MBS_CLEARRESETTOTALIZER_MSG [ __CDINT00000004 ]
|
||||
__TMPV4 := __TMPV1
|
||||
__TMPV5 := MBS_CLEARRESETTOTALIZER_MSG [ __CDINT00000006 ]
|
||||
__TMPV5 := __TMPV2
|
||||
__TMPV6 := MBS_CLEARRESETTOTALIZER_MSG [ __CDINT00000008 ]
|
||||
__TMPV6 := __TMPV3
|
||||
MBS_CLEARRESETTOTALIZER_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_6
|
||||
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_CLEARRESETTOTALIZER_MSG
|
||||
__TMPB1 := MBS_CLEARRESETTOTALIZER_MSG [ __CDINT0000000C ]
|
||||
__TMPB2 := MBS_CLEARRESETTOTALIZER_MSG [ __CDINT0000000D ]
|
||||
__TMPB1 := __TMPB1 _OR __TMPB2
|
||||
_IF _NOT __TMPB1 _GOTO __LAB73
|
||||
CMD_CLEARRESETTOTALIZER := FALSE
|
||||
_GOTO __LAB74
|
||||
__LAB73 :
|
||||
__LAB74 :
|
||||
MBS_UNITS_TARGETCFG [ __DINT_NULL ] := CFG_UNITS_REGISTER
|
||||
MBS_UNITS_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
|
||||
MBS_UNITS_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
|
||||
MBS_UNITS_LOCALCFG [ __CDINT00000003 ] := READ_CMD
|
||||
MBS_UNITS_LOCALCFG [ __CDINT00000002 ] := MBS_TRIGGERTYPE
|
||||
MBS_UNITS_LOCALCFG [ __CDINT00000004 ] := __CUINT00000004
|
||||
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
|
||||
__TMPV1 := MBS_UNITS_LOCALCFG [ __DINT_NULL ]
|
||||
__TMPV2 := MBS_UNITS_TARGETCFG [ __DINT_NULL ]
|
||||
__TMPV3 := MBS_UNITS_DATA [ __DINT_NULL ]
|
||||
__TMPB__MSG_MODBUS__IN := __TMPB1
|
||||
__TMPV4 := MBS_UNITS_MSG [ __CDINT00000004 ]
|
||||
__TMPV4 := __TMPV1
|
||||
__TMPV5 := MBS_UNITS_MSG [ __CDINT00000006 ]
|
||||
__TMPV5 := __TMPV2
|
||||
__TMPV6 := MBS_UNITS_MSG [ __CDINT00000008 ]
|
||||
__TMPV6 := __TMPV3
|
||||
MBS_UNITS_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_7
|
||||
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_UNITS_MSG
|
||||
__TMPB1 := MBS_UNITS_MSG [ __CDINT0000000C ]
|
||||
_IF _NOT __TMPB1 _GOTO __LAB75
|
||||
__TMPI1 := __CDINT00000001 - __CDINT00000001
|
||||
__TMPI1 := __TMPI1 * __CDINT00000002
|
||||
__TMPUIN1 := MBS_UNITS_DATA [ __TMPI1 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
__TMPM3 := _CALL FLOWRATEUNITS
|
||||
VAL_FLOWUNITS := __TMPM3
|
||||
__TMPI1 := __CDINT00000002 - __CDINT00000001
|
||||
__TMPI1 := __TMPI1 * __CDINT00000002
|
||||
__TMPUIN1 := MBS_UNITS_DATA [ __TMPI1 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
__TMPM3 := _CALL FLOWTOTALUNITS
|
||||
VAL_FLOWTOTALIZERAUNITS := __TMPM3
|
||||
__TMPI1 := __CDINT00000003 - __CDINT00000001
|
||||
__TMPI1 := __TMPI1 * __CDINT00000002
|
||||
__TMPUIN1 := MBS_UNITS_DATA [ __TMPI1 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
__TMPM3 := _CALL FLOWTOTALUNITS
|
||||
VAL_FLOWTOTALIZERBUNITS := __TMPM3
|
||||
__TMPI1 := __CDINT00000004 - __CDINT00000001
|
||||
__TMPI1 := __TMPI1 * __CDINT00000002
|
||||
__TMPUIN1 := MBS_UNITS_DATA [ __TMPI1 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
__TMPM3 := _CALL FLOWTOTALUNITS
|
||||
VAL_FLOWTOTALIZERCUNITS := __TMPM3
|
||||
_GOTO __LAB76
|
||||
__LAB75 :
|
||||
__LAB76 :
|
||||
__TMPB1 := MBS_FLOWRATE_MSG [ __CDINT0000000D ]
|
||||
__TMPB2 := MBS_FLOWTOTALIZERA_MSG [ __CDINT0000000D ]
|
||||
__TMPB1 := __TMPB1 _OR __TMPB2
|
||||
__TMPB3 := MBS_FLOWTOTALIZERB_MSG [ __CDINT0000000D ]
|
||||
__TMPB1 := __TMPB1 _OR __TMPB3
|
||||
__TMPB4 := MBS_FLOWTOTALIZERC_MSG [ __CDINT0000000D ]
|
||||
__TMPB1 := __TMPB1 _OR __TMPB4
|
||||
__TMPB5 := MBS_STATUS_MSG [ __CDINT0000000D ]
|
||||
__TMPB1 := __TMPB1 _OR __TMPB5
|
||||
__TMPB6 := MBS_UNITS_MSG [ __CDINT0000000D ]
|
||||
__TMPB1 := __TMPB1 _OR __TMPB6
|
||||
__TMPB1 := _NOT __TMPB1
|
||||
__TMPB__TON__IN := __TMPB1
|
||||
__FBL_RET := _PUSHCALLFB TON MODBUSERRORTIMER
|
||||
__TMPB1 := MODBUSERRORTIMER [ __CDINT00000004 ]
|
||||
STS_FLOWMETERMODBUSOK := __TMPB1
|
||||
Binary file not shown.
@@ -0,0 +1,147 @@
|
||||
__TMPB1 := INTEGERVALUE = __CUINT000000F1
|
||||
_IF _NOT __TMPB1 _GOTO __LAB1
|
||||
FLOWRATEUNITS := __TMPM1
|
||||
_GOTO __LAB2
|
||||
__LAB1 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT000000F2
|
||||
_IF _NOT __TMPB1 _GOTO __LAB3
|
||||
FLOWRATEUNITS := __TMPM2
|
||||
_GOTO __LAB2
|
||||
__LAB3 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT000000F3
|
||||
_IF _NOT __TMPB1 _GOTO __LAB4
|
||||
FLOWRATEUNITS := __TMPM3
|
||||
_GOTO __LAB2
|
||||
__LAB4 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT000000F4
|
||||
_IF _NOT __TMPB1 _GOTO __LAB5
|
||||
FLOWRATEUNITS := __TMPM4
|
||||
_GOTO __LAB2
|
||||
__LAB5 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000084
|
||||
_IF _NOT __TMPB1 _GOTO __LAB6
|
||||
FLOWRATEUNITS := __TMPM5
|
||||
_GOTO __LAB2
|
||||
__LAB6 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000085
|
||||
_IF _NOT __TMPB1 _GOTO __LAB7
|
||||
FLOWRATEUNITS := __TMPM6
|
||||
_GOTO __LAB2
|
||||
__LAB7 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000086
|
||||
_IF _NOT __TMPB1 _GOTO __LAB8
|
||||
FLOWRATEUNITS := __TMPM7
|
||||
_GOTO __LAB2
|
||||
__LAB8 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000087
|
||||
_IF _NOT __TMPB1 _GOTO __LAB9
|
||||
FLOWRATEUNITS := __TMPM8
|
||||
_GOTO __LAB2
|
||||
__LAB9 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT000000F8
|
||||
_IF _NOT __TMPB1 _GOTO __LABa
|
||||
FLOWRATEUNITS := __TMPM9
|
||||
_GOTO __LAB2
|
||||
__LABa :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT0000001A
|
||||
_IF _NOT __TMPB1 _GOTO __LABb
|
||||
FLOWRATEUNITS := __TMPM10
|
||||
_GOTO __LAB2
|
||||
__LABb :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT0000000F
|
||||
_IF _NOT __TMPB1 _GOTO __LABc
|
||||
FLOWRATEUNITS := __TMPM11
|
||||
_GOTO __LAB2
|
||||
__LABc :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000082
|
||||
_IF _NOT __TMPB1 _GOTO __LABd
|
||||
FLOWRATEUNITS := __TMPM12
|
||||
_GOTO __LAB2
|
||||
__LABd :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT0000001B
|
||||
_IF _NOT __TMPB1 _GOTO __LABe
|
||||
FLOWRATEUNITS := __TMPM13
|
||||
_GOTO __LAB2
|
||||
__LABe :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT0000001C
|
||||
_IF _NOT __TMPB1 _GOTO __LABf
|
||||
FLOWRATEUNITS := __TMPM14
|
||||
_GOTO __LAB2
|
||||
__LABf :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000083
|
||||
_IF _NOT __TMPB1 _GOTO __LAB10
|
||||
FLOWRATEUNITS := __TMPM15
|
||||
_GOTO __LAB2
|
||||
__LAB10 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000013
|
||||
_IF _NOT __TMPB1 _GOTO __LAB11
|
||||
FLOWRATEUNITS := __TMPM16
|
||||
_GOTO __LAB2
|
||||
__LAB11 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT0000001D
|
||||
_IF _NOT __TMPB1 _GOTO __LAB12
|
||||
FLOWRATEUNITS := __TMPM17
|
||||
_GOTO __LAB2
|
||||
__LAB12 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000016
|
||||
_IF _NOT __TMPB1 _GOTO __LAB13
|
||||
FLOWRATEUNITS := __TMPM18
|
||||
_GOTO __LAB2
|
||||
__LAB13 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000010
|
||||
_IF _NOT __TMPB1 _GOTO __LAB14
|
||||
FLOWRATEUNITS := __TMPM19
|
||||
_GOTO __LAB2
|
||||
__LAB14 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000088
|
||||
_IF _NOT __TMPB1 _GOTO __LAB15
|
||||
FLOWRATEUNITS := __TMPM20
|
||||
_GOTO __LAB2
|
||||
__LAB15 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT000000EB
|
||||
_IF _NOT __TMPB1 _GOTO __LAB16
|
||||
FLOWRATEUNITS := __TMPM21
|
||||
_GOTO __LAB2
|
||||
__LAB16 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000089
|
||||
_IF _NOT __TMPB1 _GOTO __LAB17
|
||||
FLOWRATEUNITS := __TMPM22
|
||||
_GOTO __LAB2
|
||||
__LAB17 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000012
|
||||
_IF _NOT __TMPB1 _GOTO __LAB18
|
||||
FLOWRATEUNITS := __TMPM23
|
||||
_GOTO __LAB2
|
||||
__LAB18 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT0000001E
|
||||
_IF _NOT __TMPB1 _GOTO __LAB19
|
||||
FLOWRATEUNITS := __TMPM24
|
||||
_GOTO __LAB2
|
||||
__LAB19 :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT0000001F
|
||||
_IF _NOT __TMPB1 _GOTO __LAB1a
|
||||
FLOWRATEUNITS := __TMPM25
|
||||
_GOTO __LAB2
|
||||
__LAB1a :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000018
|
||||
_IF _NOT __TMPB1 _GOTO __LAB1b
|
||||
FLOWRATEUNITS := __TMPM26
|
||||
_GOTO __LAB2
|
||||
__LAB1b :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT00000011
|
||||
_IF _NOT __TMPB1 _GOTO __LAB1c
|
||||
FLOWRATEUNITS := __TMPM27
|
||||
_GOTO __LAB2
|
||||
__LAB1c :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT0000008A
|
||||
_IF _NOT __TMPB1 _GOTO __LAB1d
|
||||
FLOWRATEUNITS := __TMPM28
|
||||
_GOTO __LAB2
|
||||
__LAB1d :
|
||||
__TMPB1 := INTEGERVALUE = __CUINT000000F0
|
||||
_IF _NOT __TMPB1 _GOTO __LAB1e
|
||||
FLOWRATEUNITS := __TMPM29
|
||||
_GOTO __LAB2
|
||||
__LAB1e :
|
||||
FLOWRATEUNITS := __TMPM30
|
||||
__LAB2 :
|
||||
Binary file not shown.
@@ -0,0 +1,42 @@
|
||||
__TMPB1 := INTEGERINPUT = __CUINT00000028
|
||||
_IF _NOT __TMPB1 _GOTO __LAB1
|
||||
FLOWTOTALUNITS := __TMPM1
|
||||
_GOTO __LAB2
|
||||
__LAB1 :
|
||||
__TMPB1 := INTEGERINPUT = __CUINT00000029
|
||||
_IF _NOT __TMPB1 _GOTO __LAB3
|
||||
FLOWTOTALUNITS := __TMPM2
|
||||
_GOTO __LAB2
|
||||
__LAB3 :
|
||||
__TMPB1 := INTEGERINPUT = __CUINT0000002A
|
||||
_IF _NOT __TMPB1 _GOTO __LAB4
|
||||
FLOWTOTALUNITS := __TMPM3
|
||||
_GOTO __LAB2
|
||||
__LAB4 :
|
||||
__TMPB1 := INTEGERINPUT = __CUINT0000002B
|
||||
_IF _NOT __TMPB1 _GOTO __LAB5
|
||||
FLOWTOTALUNITS := __TMPM4
|
||||
_GOTO __LAB2
|
||||
__LAB5 :
|
||||
__TMPB1 := INTEGERINPUT = __CUINT0000002E
|
||||
_IF _NOT __TMPB1 _GOTO __LAB6
|
||||
FLOWTOTALUNITS := __TMPM5
|
||||
_GOTO __LAB2
|
||||
__LAB6 :
|
||||
__TMPB1 := INTEGERINPUT = __CUINT00000070
|
||||
_IF _NOT __TMPB1 _GOTO __LAB7
|
||||
FLOWTOTALUNITS := __TMPM6
|
||||
_GOTO __LAB2
|
||||
__LAB7 :
|
||||
__TMPB1 := INTEGERINPUT = __CUINT000000F6
|
||||
_IF _NOT __TMPB1 _GOTO __LAB8
|
||||
FLOWTOTALUNITS := __TMPM7
|
||||
_GOTO __LAB2
|
||||
__LAB8 :
|
||||
__TMPB1 := INTEGERINPUT = __CUINT000000F7
|
||||
_IF _NOT __TMPB1 _GOTO __LAB9
|
||||
FLOWTOTALUNITS := __TMPM8
|
||||
_GOTO __LAB2
|
||||
__LAB9 :
|
||||
FLOWTOTALUNITS := __TMPM9
|
||||
__LAB2 :
|
||||
Binary file not shown.
@@ -0,0 +1,30 @@
|
||||
PROGRAM FlowMeterAI
|
||||
IF NOT use_ModbusFlowmeter THEN
|
||||
val_AI00_uA := LinearScale(13107.0, 65535.0, 4000.0, 20000.0, ANY_TO_REAL(_IO_P1_AI_00));
|
||||
val_FlowRate := LinearScale(4000.0, 20000.0, Flow_EU_Min, Flow_EU_Max, val_AI00_uA);
|
||||
|
||||
|
||||
TON_Totalizer(NOT(TON_Totalizer.Q), T#10s);
|
||||
IF TON_Totalizer.Q THEN
|
||||
IF (val_FlowRate > 0.0) THEN
|
||||
val_FlowTotalizerB := val_FlowTotalizerB + (val_FlowRate * (10.0 / 60.0));
|
||||
ELSE
|
||||
val_FlowTotalizerC := val_FlowTotalizerC + (val_FlowRate * (10.0 / 60.0));
|
||||
END_IF;
|
||||
END_IF;
|
||||
|
||||
val_FlowTotalizerA := val_FlowTotalizerB + val_FlowTotalizerC;
|
||||
|
||||
IF cmd_ResetTotalizerA THEN
|
||||
val_FlowTotalizerA := 0.0;
|
||||
END_IF;
|
||||
|
||||
IF cmd_ResetTotalizerB THEN
|
||||
val_FlowTotalizerB := 0.0;
|
||||
END_IF;
|
||||
|
||||
IF cmd_ResetTotalizerC THEN
|
||||
val_FlowTotalizerC := 0.0;
|
||||
END_IF;
|
||||
END_IF;
|
||||
END_PROGRAM
|
||||
@@ -0,0 +1,316 @@
|
||||
PROGRAM FlowMeterMb
|
||||
ModbusTimer(NOT ModbusTimer.Q AND use_ModbusFlowmeter, ModbusScanRate);
|
||||
|
||||
(* ============== *)
|
||||
(* FLOW RATE *)
|
||||
(* ============== *)
|
||||
mbs_FlowRate_TargetCfg.Addr := cfg_FlowRate_Register;
|
||||
mbs_FlowRate_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
|
||||
|
||||
mbs_FlowRate_LocalCfg.Channel := 2;
|
||||
mbs_FlowRate_LocalCfg.Cmd := READ_CMD;
|
||||
mbs_FlowRate_LocalCfg.TriggerType := mbs_TriggerType;
|
||||
mbs_FlowRate_LocalCfg.ElementCnt := 2;
|
||||
mbs_FlowRate_MSG(ModbusTimer.Q, mbs_Cancel, mbs_FlowRate_LocalCfg, mbs_FlowRate_TargetCfg, mbs_FlowRate_Data);
|
||||
|
||||
IF mbs_FlowRate_MSG.Q THEN
|
||||
val_FlowRate := WordsToReal(mbs_FlowRate_Data[1], mbs_FlowRate_Data[2]);
|
||||
END_IF;
|
||||
|
||||
(* ============== *)
|
||||
(* FLOW TOTALIZER A *)
|
||||
(* ============== *)
|
||||
mbs_FlowTotalizerA_TargetCfg.Addr := cfg_FlowTotalizerA_Register;
|
||||
mbs_FlowTotalizerA_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
|
||||
|
||||
mbs_FlowTotalizerA_LocalCfg.Channel := 2;
|
||||
mbs_FlowTotalizerA_LocalCfg.Cmd := READ_CMD;
|
||||
mbs_FlowTotalizerA_LocalCfg.TriggerType := mbs_TriggerType;
|
||||
mbs_FlowTotalizerA_LocalCfg.ElementCnt := 2;
|
||||
mbs_FlowTotalizerA_MSG(ModbusTimer.Q, mbs_Cancel, mbs_FlowTotalizerA_LocalCfg, mbs_FlowTotalizerA_TargetCfg, mbs_FlowTotalizerA_Data);
|
||||
|
||||
IF mbs_FlowTotalizerA_MSG.Q THEN
|
||||
val_FlowTotalizerA := WordsToReal(mbs_FlowTotalizerA_Data[1], mbs_FlowTotalizerA_Data[2]);
|
||||
END_IF;
|
||||
|
||||
|
||||
(* ============== *)
|
||||
(* FLOW TOTALIZER B *)
|
||||
(* ============== *)
|
||||
mbs_FlowTotalizerB_TargetCfg.Addr := cfg_FlowTotalizerB_Register;
|
||||
mbs_FlowTotalizerB_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
|
||||
|
||||
mbs_FlowTotalizerB_LocalCfg.Channel := 2;
|
||||
mbs_FlowTotalizerB_LocalCfg.Cmd := READ_CMD;
|
||||
mbs_FlowTotalizerB_LocalCfg.TriggerType := mbs_TriggerType;
|
||||
mbs_FlowTotalizerB_LocalCfg.ElementCnt := 2;
|
||||
mbs_FlowTotalizerB_MSG(ModbusTimer.Q, mbs_Cancel, mbs_FlowTotalizerB_LocalCfg, mbs_FlowTotalizerB_TargetCfg, mbs_FlowTotalizerB_Data);
|
||||
|
||||
IF mbs_FlowTotalizerB_MSG.Q THEN
|
||||
val_FlowTotalizerB := WordsToReal(mbs_FlowTotalizerB_Data[1], mbs_FlowTotalizerB_Data[2]);
|
||||
END_IF;
|
||||
|
||||
(* ============== *)
|
||||
(* FLOW TOTALIZER C *)
|
||||
(* ============== *)
|
||||
mbs_FlowTotalizerC_TargetCfg.Addr := cfg_FlowTotalizerC_Register;
|
||||
mbs_FlowTotalizerC_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
|
||||
|
||||
mbs_FlowTotalizerC_LocalCfg.Channel := 2;
|
||||
mbs_FlowTotalizerC_LocalCfg.Cmd := READ_CMD;
|
||||
mbs_FlowTotalizerC_LocalCfg.TriggerType := mbs_TriggerType;
|
||||
mbs_FlowTotalizerC_LocalCfg.ElementCnt := 2;
|
||||
mbs_FlowTotalizerC_MSG(ModbusTimer.Q, mbs_Cancel, mbs_FlowTotalizerC_LocalCfg, mbs_FlowTotalizerC_TargetCfg, mbs_FlowTotalizerC_Data);
|
||||
|
||||
IF mbs_FlowTotalizerC_MSG.Q THEN
|
||||
val_FlowTotalizerC := WordsToReal(mbs_FlowTotalizerC_Data[1], mbs_FlowTotalizerC_Data[2]);
|
||||
END_IF;
|
||||
|
||||
(* ============== *)
|
||||
(* STATUS *)
|
||||
(* ============== *)
|
||||
mbs_Status_TargetCfg.Addr := cfg_Status_Register;
|
||||
mbs_Status_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
|
||||
|
||||
mbs_Status_LocalCfg.Channel := 2;
|
||||
mbs_Status_LocalCfg.Cmd := READ_CMD;
|
||||
mbs_Status_LocalCfg.TriggerType := mbs_TriggerType;
|
||||
mbs_Status_LocalCfg.ElementCnt := 3;
|
||||
mbs_Status_MSG(ModbusTimer.Q, mbs_Cancel, mbs_Status_LocalCfg, mbs_Status_TargetCfg, mbs_Status_Data);
|
||||
|
||||
IF mbs_Status_MSG.Q THEN
|
||||
val_Status0 := ANY_TO_UINT(mbs_Status_Data[1]);
|
||||
val_Status1 := ANY_TO_UINT(mbs_Status_Data[2]);
|
||||
val_Status2 := ANY_TO_UINT(mbs_Status_Data[3]);
|
||||
END_IF;
|
||||
|
||||
|
||||
|
||||
IF (val_Status0 + val_Status1 + val_Status2) = 0 THEN
|
||||
val_StatusString := 'OK';
|
||||
ELSE
|
||||
val_StatusString := '';
|
||||
IF val_Status0.0 THEN
|
||||
val_StatusString := val_StatusString + ', Sensor Out of Range';
|
||||
END_IF;
|
||||
IF val_Status0.1 THEN
|
||||
val_StatusString := val_StatusString + ', Empty Pipe';
|
||||
END_IF;
|
||||
IF val_Status0.2 THEN
|
||||
val_StatusString := val_StatusString + ', I/O Processor Failure';
|
||||
END_IF;
|
||||
IF val_Status0.3 THEN
|
||||
val_StatusString := val_StatusString + ', Pulse Output- Out of Range';
|
||||
END_IF;
|
||||
IF val_Status0.4 THEN
|
||||
val_StatusString := val_StatusString + ', Update Missed';
|
||||
END_IF;
|
||||
IF val_Status0.5 THEN
|
||||
val_StatusString := val_StatusString + ', Output at Alarm Level';
|
||||
END_IF;
|
||||
IF val_Status0.6 THEN
|
||||
val_StatusString := val_StatusString + ', Modbus Nonvolatile Memory Error';
|
||||
END_IF;
|
||||
IF val_Status0.7 THEN
|
||||
val_StatusString := val_StatusString + ', Pulse Output Fixed';
|
||||
END_IF;
|
||||
IF val_Status0.8 THEN
|
||||
val_StatusString := val_StatusString + ', EPROM Checksum Error';
|
||||
END_IF;
|
||||
IF val_Status0.9 THEN
|
||||
val_StatusString := val_StatusString + ', NOVRAM Checksum Error';
|
||||
END_IF;
|
||||
IF val_Status0.10 THEN
|
||||
val_StatusString := val_StatusString + ', RAM Checksum Error';
|
||||
END_IF;
|
||||
IF val_Status0.11 THEN
|
||||
val_StatusString := val_StatusString + ', Factory NOVRAM Checksum Error';
|
||||
END_IF;
|
||||
IF val_Status0.12 THEN
|
||||
val_StatusString := val_StatusString + ', Continuous Meter Verification Error';
|
||||
END_IF;
|
||||
IF val_Status0.13 THEN
|
||||
val_StatusString := val_StatusString + ', PZR Output is Active';
|
||||
END_IF;
|
||||
IF val_Status0.14 THEN
|
||||
val_StatusString := val_StatusString + ', Coil Drive Current is Zero';
|
||||
END_IF;
|
||||
IF val_Status0.15 THEN
|
||||
val_StatusString := val_StatusString + ', Reverse Flow Rate Detected';
|
||||
END_IF;
|
||||
|
||||
IF val_Status1.0 THEN
|
||||
val_StatusString := val_StatusString + ', Internal Flow Simulation Test Error';
|
||||
END_IF;
|
||||
IF val_Status1.1 THEN
|
||||
val_StatusString := val_StatusString + ', Excess Auto Zero Correction- ZR Too High';
|
||||
END_IF;
|
||||
IF val_Status1.2 THEN
|
||||
val_StatusString := val_StatusString + ', Excess Auto Zero Correction- ZR Too Low';
|
||||
END_IF;
|
||||
IF val_Status1.3 THEN
|
||||
val_StatusString := val_StatusString + ', Auto Zero Attempt with Non-zero Flow';
|
||||
END_IF;
|
||||
IF val_Status1.4 THEN
|
||||
val_StatusString := val_StatusString + ', Totalizer Limit 1 Alert';
|
||||
END_IF;
|
||||
IF val_Status1.5 THEN
|
||||
val_StatusString := val_StatusString + ', Universal Trim Failure';
|
||||
END_IF;
|
||||
IF val_Status1.6 THEN
|
||||
val_StatusString := val_StatusString + ', Flow Limit Alert 1';
|
||||
END_IF;
|
||||
IF val_Status1.7 THEN
|
||||
val_StatusString := val_StatusString + ', Flow Limit Alert 2';
|
||||
END_IF;
|
||||
IF val_Status1.8 THEN
|
||||
val_StatusString := val_StatusString + ', Electrode Coated Limit 1';
|
||||
END_IF;
|
||||
IF val_Status1.9 THEN
|
||||
val_StatusString := val_StatusString + ', Electrode Coated Limit 2';
|
||||
END_IF;
|
||||
IF val_Status1.10 THEN
|
||||
val_StatusString := val_StatusString + ', Excess Calibration Correction, GN too Low';
|
||||
END_IF;
|
||||
IF val_Status1.11 THEN
|
||||
val_StatusString := val_StatusString + ', Excess Calibration Correction, GN too High';
|
||||
END_IF;
|
||||
IF val_Status1.12 THEN
|
||||
val_StatusString := val_StatusString + ', Calibration Attempt without Calibrator';
|
||||
END_IF;
|
||||
IF val_Status1.13 THEN
|
||||
val_StatusString := val_StatusString + ', Grounding/Wiring Fault';
|
||||
END_IF;
|
||||
IF val_Status1.14 THEN
|
||||
val_StatusString := val_StatusString + ', High Process Noise Detected';
|
||||
END_IF;
|
||||
IF val_Status1.15 THEN
|
||||
val_StatusString := val_StatusString + ', Electronics Temperature Out of Range';
|
||||
END_IF;
|
||||
|
||||
IF val_Status2.0 THEN
|
||||
val_StatusString := val_StatusString + ', Digital I/O 1 Active';
|
||||
END_IF;
|
||||
IF val_Status2.1 THEN
|
||||
val_StatusString := val_StatusString + ', Digital I/O 2 Active';
|
||||
END_IF;
|
||||
IF val_Status2.2 THEN
|
||||
val_StatusString := val_StatusString + ', Diagnostic Status Alert Active';
|
||||
END_IF;
|
||||
IF val_Status2.3 THEN
|
||||
val_StatusString := val_StatusString + ', Modbus in Listen Only Mode';
|
||||
END_IF;
|
||||
IF val_Status2.4 THEN
|
||||
val_StatusString := val_StatusString + ', I/O Processor Comm Failure';
|
||||
END_IF;
|
||||
IF val_Status2.5 THEN
|
||||
val_StatusString := val_StatusString + ', Coil Over Current Detected';
|
||||
END_IF;
|
||||
IF val_Status2.6 THEN
|
||||
val_StatusString := val_StatusString + ', Sensor Electrode Saturated';
|
||||
END_IF;
|
||||
IF val_Status2.7 THEN
|
||||
val_StatusString := val_StatusString + ', Coil Power Limit';
|
||||
END_IF;
|
||||
IF val_Status2.8 THEN
|
||||
val_StatusString := val_StatusString + ', Electronics Failure';
|
||||
END_IF;
|
||||
IF val_Status2.9 THEN
|
||||
val_StatusString := val_StatusString + ', Coil Resistance Error';
|
||||
END_IF;
|
||||
IF val_Status2.10 THEN
|
||||
val_StatusString := val_StatusString + ', Coil Inductance Error';
|
||||
END_IF;
|
||||
IF val_Status2.11 THEN
|
||||
val_StatusString := val_StatusString + ', Digital Trim Failure';
|
||||
END_IF;
|
||||
IF val_Status2.12 THEN
|
||||
val_StatusString := val_StatusString + ', Reverse Flow Detected';
|
||||
END_IF;
|
||||
IF val_Status2.13 THEN
|
||||
val_StatusString := val_StatusString + ', Electrode Resistance Error';
|
||||
END_IF;
|
||||
IF val_Status2.14 THEN
|
||||
val_StatusString := val_StatusString + ', Auto Zero Failure';
|
||||
END_IF;
|
||||
IF val_Status2.15 THEN
|
||||
val_StatusString := val_StatusString + ', Reserved for Status Bit';
|
||||
END_IF;
|
||||
|
||||
val_StatusString := RIGHT(val_StatusString, MLEN(val_StatusString) - 2);
|
||||
END_IF;
|
||||
|
||||
|
||||
(* ============== *)
|
||||
(* RESET TOTALIZER *)
|
||||
(* ============== *)
|
||||
cmd_ResetTotalizer := cmd_ResetTotalizerA OR cmd_ResetTotalizerB OR cmd_ResetTotalizerC;
|
||||
|
||||
IF cmd_ResetTotalizerA THEN
|
||||
mbs_ResetTotalizer_TargetCfg.Addr := cfg_ResetTotalizerA_Coil;
|
||||
ELSIF cmd_ResetTotalizerB THEN
|
||||
mbs_ResetTotalizer_TargetCfg.Addr := cfg_ResetTotalizerB_Coil;
|
||||
ELSIF cmd_ResetTotalizerC THEN
|
||||
mbs_ResetTotalizer_TargetCfg.Addr := cfg_ResetTotalizerC_Coil;
|
||||
END_IF;
|
||||
|
||||
mbs_ResetTotalizer_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
|
||||
|
||||
mbs_ResetTotalizer_LocalCfg.Channel := 2;
|
||||
mbs_ResetTotalizer_LocalCfg.Cmd := WRITECOIL_CMD;
|
||||
mbs_ResetTotalizer_LocalCfg.TriggerType := 0;
|
||||
mbs_ResetTotalizer_LocalCfg.ElementCnt := 1;
|
||||
mbs_ResetTotalizer_Data[1] := 1;
|
||||
|
||||
mbs_ResetTotalizer_MSG(cmd_ResetTotalizer, mbs_Cancel, mbs_ResetTotalizer_LocalCfg, mbs_ResetTotalizer_TargetCfg, mbs_ResetTotalizer_Data);
|
||||
IF mbs_ResetTotalizer_MSG.Q OR mbs_ResetTotalizer_MSG.Error THEN
|
||||
cmd_ClearResetTotalizer := TRUE;
|
||||
cmd_ResetTotalizerA := FALSE;
|
||||
cmd_ResetTotalizerB := FALSE;
|
||||
cmd_ResetTotalizerC := FALSE;
|
||||
END_IF;
|
||||
|
||||
Wait_To_Reset_TON(cmd_ClearResetTotalizer, par_TimeToWaitToClearResetTotalizer);
|
||||
|
||||
mbs_ClearResetTotalizer_TargetCfg.Addr := mbs_ResetTotalizer_TargetCfg.Addr;
|
||||
mbs_ClearResetTotalizer_TargetCfg.Node := mbs_ResetTotalizer_TargetCfg.Node;
|
||||
mbs_ClearResetTotalizer_LocalCfg.Channel := mbs_ResetTotalizer_LocalCfg.Channel;
|
||||
mbs_ClearResetTotalizer_LocalCfg.Cmd := mbs_ResetTotalizer_LocalCfg.Cmd;
|
||||
mbs_ClearResetTotalizer_LocalCfg.TriggerType := mbs_ResetTotalizer_LocalCfg.TriggerType;
|
||||
mbs_ClearResetTotalizer_LocalCfg.ElementCnt := mbs_ResetTotalizer_LocalCfg.ElementCnt;
|
||||
mbs_ClearResetTotalizer_Data[1] := 0;
|
||||
mbs_ClearResetTotalizer_MSG(Wait_To_Reset_TON.Q, mbs_Cancel, mbs_ClearResetTotalizer_LocalCfg, mbs_ClearResetTotalizer_TargetCfg, mbs_ClearResetTotalizer_Data);
|
||||
|
||||
IF mbs_ClearResetTotalizer_MSG.Q OR mbs_ClearResetTotalizer_MSG.Error THEN
|
||||
cmd_ClearResetTotalizer := FALSE;
|
||||
END_IF;
|
||||
|
||||
|
||||
(* ============== *)
|
||||
(* UNITS *)
|
||||
(* ============== *)
|
||||
mbs_Units_TargetCfg.Addr := cfg_Units_Register;
|
||||
mbs_Units_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
|
||||
|
||||
mbs_Units_LocalCfg.Channel := 2;
|
||||
mbs_Units_LocalCfg.Cmd := READ_CMD;
|
||||
mbs_Units_LocalCfg.TriggerType := mbs_TriggerType;
|
||||
mbs_Units_LocalCfg.ElementCnt := 4;
|
||||
mbs_Units_MSG(ModbusTimer.Q, mbs_Cancel, mbs_Units_LocalCfg, mbs_Units_TargetCfg, mbs_Units_Data);
|
||||
|
||||
IF mbs_Units_MSG.Q THEN
|
||||
val_FlowUnits := FlowRateUnits(mbs_Units_Data[1]);
|
||||
val_FlowTotalizerAUnits := FlowTotalUnits(mbs_Units_Data[2]);
|
||||
val_FlowTotalizerBUnits := FlowTotalUnits(mbs_Units_Data[3]);
|
||||
val_FlowTotalizerCUnits := FlowTotalUnits(mbs_Units_Data[4]);
|
||||
END_IF;
|
||||
|
||||
|
||||
ModbusErrorTimer(NOT(mbs_FlowRate_MSG.Error OR
|
||||
mbs_FlowTotalizerA_MSG.Error OR
|
||||
mbs_FlowTotalizerB_MSG.Error OR
|
||||
mbs_FlowTotalizerC_MSG.Error OR
|
||||
mbs_Status_MSG.Error OR
|
||||
mbs_Units_MSG.Error), ModbusErrorDuration);
|
||||
sts_FlowmeterModbusOK := ModbusErrorTimer.Q;
|
||||
END_PROGRAM
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Root Version="6">
|
||||
<LanguageContainerStyle CommentTextColor="Green" CommentFont="Courier New, 10pt" PonctuationTextColor="Black" PonctuationFont="Courier New, 10pt" IdentifierTextColor="Black" IdentifierFont="Courier New, 10pt" OperatorTextColor="Black" OperatorFont="Courier New, 10pt" ReservedWordTextColor="Fuchsia" ReservedWordFont="Courier New, 10pt" PouTextColor="BlueViolet" PouFont="Courier New, 10pt" NumberTextColor="Firebrick" NumberFont="Courier New, 10pt" StringTextColor="Gray" StringFont="Courier New, 10pt" EditorTextAreaBackgroundColor="White" EditorFont="Courier New, 10pt" Index="0" />
|
||||
</Root>
|
||||
@@ -0,0 +1,63 @@
|
||||
FUNCTION FlowRateUnits
|
||||
IF integerValue = 241 THEN
|
||||
FlowRateUnits := 'B31/sec';
|
||||
ELSIF integerValue = 242 THEN
|
||||
FlowRateUnits := 'B31/min';
|
||||
ELSIF integerValue = 243 THEN
|
||||
FlowRateUnits := 'B31/hour';
|
||||
ELSIF integerValue = 244 THEN
|
||||
FlowRateUnits := 'B31/day';
|
||||
ELSIF integerValue = 132 THEN
|
||||
FlowRateUnits := 'B42/sec';
|
||||
ELSIF integerValue = 133 THEN
|
||||
FlowRateUnits := 'B42/min';
|
||||
ELSIF integerValue = 134 THEN
|
||||
FlowRateUnits := 'B42/hour';
|
||||
ELSIF integerValue = 135 THEN
|
||||
FlowRateUnits := 'B42/day';
|
||||
ELSIF integerValue = 248 THEN
|
||||
FlowRateUnits := 'cm3/sec';
|
||||
ELSIF integerValue = 26 THEN
|
||||
FlowRateUnits := 'ft3/sec';
|
||||
ELSIF integerValue = 15 THEN
|
||||
FlowRateUnits := 'ft3/min';
|
||||
ELSIF integerValue = 130 THEN
|
||||
FlowRateUnits := 'ft3/hour';
|
||||
ELSIF integerValue = 27 THEN
|
||||
FlowRateUnits := 'ft3/day';
|
||||
ELSIF integerValue = 28 THEN
|
||||
FlowRateUnits := 'm3/sec';
|
||||
ELSIF integerValue = 131 THEN
|
||||
FlowRateUnits := 'm3/min';
|
||||
ELSIF integerValue = 19 THEN
|
||||
FlowRateUnits := 'm3/hour';
|
||||
ELSIF integerValue = 29 THEN
|
||||
FlowRateUnits := 'm3/day';
|
||||
ELSIF integerValue = 22 THEN
|
||||
FlowRateUnits := 'gal/sec';
|
||||
ELSIF integerValue = 16 THEN
|
||||
FlowRateUnits := 'gal/min';
|
||||
ELSIF integerValue = 136 THEN
|
||||
FlowRateUnits := 'gal/hour';
|
||||
ELSIF integerValue = 235 THEN
|
||||
FlowRateUnits := 'gal/day';
|
||||
ELSIF integerValue = 137 THEN
|
||||
FlowRateUnits := 'gal (Imp.)/sec';
|
||||
ELSIF integerValue = 18 THEN
|
||||
FlowRateUnits := 'gal (Imp.)/min';
|
||||
ELSIF integerValue = 30 THEN
|
||||
FlowRateUnits := 'gal (Imp.)/hour';
|
||||
ELSIF integerValue = 31 THEN
|
||||
FlowRateUnits := 'gal (Imp.)/day';
|
||||
ELSIF integerValue = 24 THEN
|
||||
FlowRateUnits := 'L/sec';
|
||||
ELSIF integerValue = 17 THEN
|
||||
FlowRateUnits := 'L/min';
|
||||
ELSIF integerValue = 138 THEN
|
||||
FlowRateUnits := 'L/hour';
|
||||
ELSIF integerValue = 240 THEN
|
||||
FlowRateUnits := 'L/day';
|
||||
ELSE
|
||||
FlowRateUnits := 'Unknown';
|
||||
END_IF;
|
||||
END_FUNCTION
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Root Version="6">
|
||||
<LanguageContainerStyle CommentTextColor="Green" CommentFont="Courier New, 10pt" PonctuationTextColor="Black" PonctuationFont="Courier New, 10pt" IdentifierTextColor="Black" IdentifierFont="Courier New, 10pt" OperatorTextColor="Black" OperatorFont="Courier New, 10pt" ReservedWordTextColor="Fuchsia" ReservedWordFont="Courier New, 10pt" PouTextColor="BlueViolet" PouFont="Courier New, 10pt" NumberTextColor="Firebrick" NumberFont="Courier New, 10pt" StringTextColor="Gray" StringFont="Courier New, 10pt" EditorTextAreaBackgroundColor="White" EditorFont="Courier New, 10pt" Index="0" />
|
||||
</Root>
|
||||
@@ -0,0 +1,21 @@
|
||||
FUNCTION FlowTotalUnits
|
||||
IF integerInput = 40 THEN
|
||||
FlowTotalUnits := 'Gallons';
|
||||
ELSIF integerInput = 41 THEN
|
||||
FlowTotalUnits := 'Liters';
|
||||
ELSIF integerInput = 42 THEN
|
||||
FlowTotalUnits := 'Imp. Gallons';
|
||||
ELSIF integerInput = 43 THEN
|
||||
FlowTotalUnits := 'Cubic Meters';
|
||||
ELSIF integerInput = 46 THEN
|
||||
FlowTotalUnits := 'BBL42';
|
||||
ELSIF integerInput = 112 THEN
|
||||
FlowTotalUnits := 'Cubic Feet';
|
||||
ELSIF integerInput = 246 THEN
|
||||
FlowTotalUnits := 'Cubic cm';
|
||||
ELSIF integerInput = 247 THEN
|
||||
FlowTotalUnits := 'BBL31';
|
||||
ELSE
|
||||
FlowTotalUnits := 'Unknown';
|
||||
END_IF;
|
||||
END_FUNCTION
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,5 +1,7 @@
|
||||
FLOWMETERMB(150):F,WORDSTOREAL(148);
|
||||
FLOWMETERMB(150):F,WORDSTOREAL(148);F,FLOWRATEUNITS(153);F,FLOWTOTALUNITS(154);
|
||||
FLOWMETERAI(151):F,LINEARSCALE(147);
|
||||
FLOWRATEUNITS(153):
|
||||
FLOWTOTALUNITS(154):
|
||||
LINEARSCALE(147):
|
||||
PRESSURE(152):F,LINEARSCALE(147);
|
||||
WORDSTOREAL(148):
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,10 @@
|
||||
[MEMORY]
|
||||
Offset0=0x1A48
|
||||
Offset1=0x2248
|
||||
Offset2=0x2248
|
||||
Offset3=0x2248
|
||||
Memory Usage Estimate(Code)=0x1CF0
|
||||
Memory Usage Estimate(Data)=0x4C14
|
||||
Memory Usage Estimate(Retain)=0x3D
|
||||
Memory Usage Estimate(Temporary variables)=0x9C8
|
||||
Offset4=0x414
|
||||
@@ -5,12 +5,12 @@ ON_LINE=N
|
||||
TBL_CONF=Y
|
||||
CRC_ORG=0x0
|
||||
CRC_OLD=
|
||||
CRC_NEW=0x67F1B8EC
|
||||
CRC_NEW=0x798622D4
|
||||
DAT_ORG=0
|
||||
DAT_OLD=0
|
||||
DAT_NEW=1506706138
|
||||
DAT_NEW=1521667902
|
||||
VER_ORG=0
|
||||
VER_OLD=0
|
||||
VER_NEW=1
|
||||
VER_NEW=5
|
||||
CRC_ALL_OLD=
|
||||
CRC_ALL_NEW=0x03222B7A
|
||||
CRC_ALL_NEW=0xEBE8DFFA
|
||||
@@ -0,0 +1,9 @@
|
||||
[MEMORY]
|
||||
Memory Usage Estimate(Temporary variables)=0x9C8
|
||||
Biggest online change user variable memory block size=0x800
|
||||
Currently added user variables=0x0
|
||||
Total data size=0x2410
|
||||
User variables size=0x1A48
|
||||
Maximum size for temporary variables=0x29C8
|
||||
Memory Usage Estimate(Data)=0x4C10
|
||||
Free memory for user variables=0x800
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,11 @@
|
||||
<INPUT>,MODBUSTIMER@FLOWMETERMB,TON,IN,__TMPB__TON__IN,BOOL,PT,MODBUSSCANRATE@FLOWMETERMB,TIME
|
||||
<INPUT>,MBS_FLOWRATE_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
|
||||
<INPUT>,MBS_FLOWTOTALIZERA_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
|
||||
<INPUT>,MBS_FLOWTOTALIZERB_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
|
||||
<INPUT>,MBS_FLOWTOTALIZERC_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
|
||||
<INPUT>,MBS_STATUS_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
|
||||
<INPUT>,MBS_RESETTOTALIZER_MSG@FLOWMETERMB,MSG_MODBUS,IN,CMD_RESETTOTALIZER@FLOWMETERMB,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
|
||||
<INPUT>,WAIT_TO_RESET_TON@FLOWMETERMB,TON,IN,CMD_CLEARRESETTOTALIZER@FLOWMETERMB,BOOL,PT,PAR_TIMETOWAITTOCLEARRESETTOTALIZER@FLOWMETERMB,TIME
|
||||
<INPUT>,MBS_CLEARRESETTOTALIZER_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
|
||||
<INPUT>,MBS_UNITS_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
|
||||
<INPUT>,MODBUSERRORTIMER@FLOWMETERMB,TON,IN,__TMPB__TON__IN,BOOL,PT,MODBUSERRORDURATION,TIME
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,58 @@
|
||||
[BEGIN FB INPUTS]
|
||||
I1=micro820.micro820.flowmetermb/modbustimer.in,0x2249,BOOL
|
||||
I2=micro820.micro820.flowmetermb/modbustimer.pt,0x52C,TIME
|
||||
I3=micro820.micro820.flowmetermb/wait_to_reset_ton.in,0x464,BOOL
|
||||
I4=micro820.micro820.flowmetermb/wait_to_reset_ton.pt,0x528,TIME
|
||||
I5=micro820.micro820.flowmetermb/modbuserrortimer.in,0x2249,BOOL
|
||||
I6=micro820.micro820.flowmetermb/modbuserrortimer.pt,0x524,TIME
|
||||
I7=micro820.micro820.flowmeterai/ton_totalizer.in,0x2249,BOOL
|
||||
I8=micro820.micro820.flowmeterai/ton_totalizer.pt,0x23B0,TIME
|
||||
I9=micro820.micro820.flowmetermb/mbs_flowrate_msg.in,0x224A,BOOL
|
||||
I10=micro820.micro820.flowmetermb/mbs_flowrate_msg.cancel,0x462,BOOL
|
||||
I11=micro820.micro820.flowmetermb/mbs_flowrate_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
|
||||
I12=micro820.micro820.flowmetermb/mbs_flowrate_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
|
||||
I13=micro820.micro820.flowmetermb/mbs_flowrate_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
|
||||
I14=micro820.micro820.flowmetermb/mbs_flowrate_msg.__adi_localaddr,0xFFFFFFFF,UINT
|
||||
I15=micro820.micro820.flowmetermb/mbs_flowtotalizera_msg.in,0x224A,BOOL
|
||||
I16=micro820.micro820.flowmetermb/mbs_flowtotalizera_msg.cancel,0x462,BOOL
|
||||
I17=micro820.micro820.flowmetermb/mbs_flowtotalizera_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
|
||||
I18=micro820.micro820.flowmetermb/mbs_flowtotalizera_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
|
||||
I19=micro820.micro820.flowmetermb/mbs_flowtotalizera_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
|
||||
I20=micro820.micro820.flowmetermb/mbs_flowtotalizera_msg.__adi_localaddr,0xFFFFFFFF,UINT
|
||||
I21=micro820.micro820.flowmetermb/mbs_flowtotalizerb_msg.in,0x224A,BOOL
|
||||
I22=micro820.micro820.flowmetermb/mbs_flowtotalizerb_msg.cancel,0x462,BOOL
|
||||
I23=micro820.micro820.flowmetermb/mbs_flowtotalizerb_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
|
||||
I24=micro820.micro820.flowmetermb/mbs_flowtotalizerb_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
|
||||
I25=micro820.micro820.flowmetermb/mbs_flowtotalizerb_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
|
||||
I26=micro820.micro820.flowmetermb/mbs_flowtotalizerb_msg.__adi_localaddr,0xFFFFFFFF,UINT
|
||||
I27=micro820.micro820.flowmetermb/mbs_flowtotalizerc_msg.in,0x224A,BOOL
|
||||
I28=micro820.micro820.flowmetermb/mbs_flowtotalizerc_msg.cancel,0x462,BOOL
|
||||
I29=micro820.micro820.flowmetermb/mbs_flowtotalizerc_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
|
||||
I30=micro820.micro820.flowmetermb/mbs_flowtotalizerc_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
|
||||
I31=micro820.micro820.flowmetermb/mbs_flowtotalizerc_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
|
||||
I32=micro820.micro820.flowmetermb/mbs_flowtotalizerc_msg.__adi_localaddr,0xFFFFFFFF,UINT
|
||||
I33=micro820.micro820.flowmetermb/mbs_status_msg.in,0x224A,BOOL
|
||||
I34=micro820.micro820.flowmetermb/mbs_status_msg.cancel,0x462,BOOL
|
||||
I35=micro820.micro820.flowmetermb/mbs_status_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
|
||||
I36=micro820.micro820.flowmetermb/mbs_status_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
|
||||
I37=micro820.micro820.flowmetermb/mbs_status_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
|
||||
I38=micro820.micro820.flowmetermb/mbs_status_msg.__adi_localaddr,0xFFFFFFFF,UINT
|
||||
I39=micro820.micro820.flowmetermb/mbs_resettotalizer_msg.in,0x463,BOOL
|
||||
I40=micro820.micro820.flowmetermb/mbs_resettotalizer_msg.cancel,0x462,BOOL
|
||||
I41=micro820.micro820.flowmetermb/mbs_resettotalizer_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
|
||||
I42=micro820.micro820.flowmetermb/mbs_resettotalizer_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
|
||||
I43=micro820.micro820.flowmetermb/mbs_resettotalizer_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
|
||||
I44=micro820.micro820.flowmetermb/mbs_resettotalizer_msg.__adi_localaddr,0xFFFFFFFF,UINT
|
||||
I45=micro820.micro820.flowmetermb/mbs_clearresettotalizer_msg.in,0x224A,BOOL
|
||||
I46=micro820.micro820.flowmetermb/mbs_clearresettotalizer_msg.cancel,0x462,BOOL
|
||||
I47=micro820.micro820.flowmetermb/mbs_clearresettotalizer_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
|
||||
I48=micro820.micro820.flowmetermb/mbs_clearresettotalizer_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
|
||||
I49=micro820.micro820.flowmetermb/mbs_clearresettotalizer_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
|
||||
I50=micro820.micro820.flowmetermb/mbs_clearresettotalizer_msg.__adi_localaddr,0xFFFFFFFF,UINT
|
||||
I51=micro820.micro820.flowmetermb/mbs_units_msg.in,0x224A,BOOL
|
||||
I52=micro820.micro820.flowmetermb/mbs_units_msg.cancel,0x462,BOOL
|
||||
I53=micro820.micro820.flowmetermb/mbs_units_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
|
||||
I54=micro820.micro820.flowmetermb/mbs_units_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
|
||||
I55=micro820.micro820.flowmetermb/mbs_units_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
|
||||
I56=micro820.micro820.flowmetermb/mbs_units_msg.__adi_localaddr,0xFFFFFFFF,UINT
|
||||
[END]
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user