Compare commits
7 Commits
feature/IP
...
DriverV3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0c2defa280 | ||
|
|
75040109c5 | ||
|
|
4e75523e2c | ||
|
|
4d8e3c1791 | ||
|
|
1e6c5f3bec | ||
|
|
cd26d7af5e | ||
|
|
38869bc514 |
@@ -3,4 +3,4 @@
|
||||
1::0002-0003::CONTROLLER: 0 error(s), 0 warning(s)
|
||||
0::0021-0003::Checking database...
|
||||
0::0007-0003::-------------------- Build project: CONTROLLER --------------------
|
||||
1::0002-0003::CONTROLLER: 0 error(s), 1 warning(s)
|
||||
1::0002-0003::CONTROLLER: 0 error(s), 0 warning(s)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
</DLGRCP_VarVA>
|
||||
<DLGRCP_VarVA>
|
||||
<ArrayLength>1</ArrayLength>
|
||||
<VirtualAddress>2181</VirtualAddress>
|
||||
<VirtualAddress>2201</VirtualAddress>
|
||||
<Name>DH_DownholeStatus</Name>
|
||||
<Index>3</Index>
|
||||
<ISaDataType>STRING</ISaDataType>
|
||||
|
||||
@@ -206,24 +206,14 @@ Controller.Micro820.Micro820.cmd_Run FALSE
|
||||
Controller.Micro820.Micro820.cmd_TimerRun
|
||||
Controller.Micro820.Micro820.Contactor_Status FALSE
|
||||
Controller.Micro820.Micro820.Control.cmd_AutoModeTimerStart
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.day_seconds
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.Epoch
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.hour_seconds
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.min_seconds
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.prev_months_days
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.RTC_READ_1.Enable
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.RTC_READ_1.RTCBatLow
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.RTC_READ_1.RTCData.Day
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.RTC_READ_1.RTCData.DayOfWeek
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.RTC_READ_1.RTCData.Hours
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.RTC_READ_1.RTCData.Minutes
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.RTC_READ_1.RTCData.Month
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.RTC_READ_1.RTCData.Seconds
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.RTC_READ_1.RTCData.Year
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.RTC_READ_1.RTCEnabled
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.RTC_READ_1.RTCPresent
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.RTC_READ_ENABLED
|
||||
Controller.Micro820.Micro820.Control.Epoch_Time_1.year_seconds
|
||||
Controller.Micro820.Micro820.Control.LinearScale_Flow.b
|
||||
Controller.Micro820.Micro820.Control.LinearScale_Flow.EU_Max
|
||||
Controller.Micro820.Micro820.Control.LinearScale_Flow.EU_Min
|
||||
Controller.Micro820.Micro820.Control.LinearScale_Flow.EU_Out
|
||||
Controller.Micro820.Micro820.Control.LinearScale_Flow.m
|
||||
Controller.Micro820.Micro820.Control.LinearScale_Flow.Raw_Inp
|
||||
Controller.Micro820.Micro820.Control.LinearScale_Flow.Raw_Max
|
||||
Controller.Micro820.Micro820.Control.LinearScale_Flow.Raw_Min
|
||||
Controller.Micro820.Micro820.Control.LinearScale_Pressure.b 300.0
|
||||
Controller.Micro820.Micro820.Control.LinearScale_Pressure.EU_Max 300.0
|
||||
Controller.Micro820.Micro820.Control.LinearScale_Pressure.EU_Min 300.0
|
||||
@@ -239,6 +229,30 @@ Controller.Micro820.Micro820.Control.RTrig_AutoMode.Redge
|
||||
Controller.Micro820.Micro820.Control.TEST_started
|
||||
Controller.Micro820.Micro820.Control.Time_Until_Startup_Min
|
||||
Controller.Micro820.Micro820.Control.Time_Until_Startup_Sec
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.day
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.day_seconds
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.Epoch
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.hour
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.hour_seconds
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.min_seconds
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.minute
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.month
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.prev_months_days
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.Enable
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCBatLow
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.Day
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.DayOfWeek
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.Hours
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.Minutes
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.Month
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.Seconds
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.Year
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCEnabled
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCPresent
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_ENABLED
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.second
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.year
|
||||
Controller.Micro820.Micro820.CurrentTimeRTC.year_seconds
|
||||
Controller.Micro820.Micro820.Device_Status 'Not ready to start'
|
||||
Controller.Micro820.Micro820.DH_DischargePressure 0
|
||||
Controller.Micro820.Micro820.DH_DischargeTemperature 0
|
||||
@@ -5356,6 +5370,29 @@ Controller.Micro820.Micro820.E300Data.WriteE300ConfigData.REAL_COP.Sts 0
|
||||
Controller.Micro820.Micro820.E300Data.WriteE300ConfigData.REAL_COP.Swap FALSE
|
||||
Controller.Micro820.Micro820.E300Data.WriteE300ConfigData.UpdateRate_ms 1000
|
||||
Controller.Micro820.Micro820.Enable_IO_Read TRUE
|
||||
Controller.Micro820.Micro820.Flow_EU_Max
|
||||
Controller.Micro820.Micro820.Flow_EU_Min
|
||||
Controller.Micro820.Micro820.Flow_Today
|
||||
Controller.Micro820.Micro820.Flow_Yesterday
|
||||
Controller.Micro820.Micro820.Flowrate
|
||||
Controller.Micro820.Micro820.FlowTotalizer.COP_1.__ADI_Dest
|
||||
Controller.Micro820.Micro820.FlowTotalizer.COP_1.__ADI_Src
|
||||
Controller.Micro820.Micro820.FlowTotalizer.COP_1.__DTI_Dest
|
||||
Controller.Micro820.Micro820.FlowTotalizer.COP_1.__DTI_Src
|
||||
Controller.Micro820.Micro820.FlowTotalizer.COP_1.Dest[1]
|
||||
Controller.Micro820.Micro820.FlowTotalizer.COP_1.DestOffset
|
||||
Controller.Micro820.Micro820.FlowTotalizer.COP_1.Enable
|
||||
Controller.Micro820.Micro820.FlowTotalizer.COP_1.Length
|
||||
Controller.Micro820.Micro820.FlowTotalizer.COP_1.Src[1]
|
||||
Controller.Micro820.Micro820.FlowTotalizer.COP_1.SrcOffset
|
||||
Controller.Micro820.Micro820.FlowTotalizer.COP_1.Sts
|
||||
Controller.Micro820.Micro820.FlowTotalizer.COP_1.Swap
|
||||
Controller.Micro820.Micro820.FlowTotalizer.TON_Totalizer.ET
|
||||
Controller.Micro820.Micro820.FlowTotalizer.TON_Totalizer.IN
|
||||
Controller.Micro820.Micro820.FlowTotalizer.TON_Totalizer.Pdate
|
||||
Controller.Micro820.Micro820.FlowTotalizer.TON_Totalizer.PT
|
||||
Controller.Micro820.Micro820.FlowTotalizer.TON_Totalizer.Q
|
||||
Controller.Micro820.Micro820.FlowTotalizer.TON_Totalizer.Redge
|
||||
Controller.Micro820.Micro820.Hand_Mode FALSE
|
||||
Controller.Micro820.Micro820.Modbus_Read0[1] 0
|
||||
Controller.Micro820.Micro820.Modbus_Read0[10] 0
|
||||
|
||||
|
@@ -1,5 +1,5 @@
|
||||
__FBL_RET := _PUSHCALLFB EPOCH_TIME EPOCH_TIME_1
|
||||
__TMPULI1 := EPOCH_TIME_1 [ __CDINT00000004 ]
|
||||
__FBL_RET := _PUSHCALLFB EPOCH_TIME CURRENTTIMERTC
|
||||
__TMPULI1 := CURRENTTIMERTC [ __CDINT00000004 ]
|
||||
_PUSH_PAR __TMPULI1
|
||||
__TMPI1 := _CALL ANY_TO_ULINT
|
||||
TIME_CURRENTTIME := __TMPI1
|
||||
@@ -13,8 +13,14 @@ _PUSH_PAR _IO_P1_AI_00
|
||||
__TMPR3 := _CALL ANY_TO_UINT
|
||||
__TMPR__LINEARSCALE__RAW_INP := __TMPR3
|
||||
__FBL_RET := _PUSHCALLFB LINEARSCALE LINEARSCALE_PRESSURE
|
||||
_PUSH_PAR _IO_P1_AI_01
|
||||
__TMPR3 := _CALL ANY_TO_UINT
|
||||
__TMPR__LINEARSCALE__RAW_INP := __TMPR3
|
||||
__FBL_RET := _PUSHCALLFB LINEARSCALE LINEARSCALE_FLOW
|
||||
__TMPR3 := LINEARSCALE_PRESSURE [ __CDINT0000000C ]
|
||||
PRESSURE_IN := __TMPR3
|
||||
__TMPR3 := LINEARSCALE_FLOW [ __CDINT0000000C ]
|
||||
FLOWRATE := __TMPR3
|
||||
_GOTO __LAB2
|
||||
__LAB1 :
|
||||
CONTACTOR_STATUS := CMD_RUN
|
||||
|
||||
Binary file not shown.
@@ -1,8 +1,8 @@
|
||||
PROGRAM Control
|
||||
(* CURRENT TIME IN SECONDS... this doesn't really correlate to anything other than a second counter *)
|
||||
(* time_CurrentTime := ANY_TO_DINT( __SYSVA_CYCLEDATE) / 1000;*)
|
||||
Epoch_Time_1(TRUE);
|
||||
time_CurrentTime := ANY_TO_DINT(Epoch_Time_1.Epoch);
|
||||
CurrentTimeRTC(TRUE);
|
||||
time_CurrentTime := ANY_TO_DINT(CurrentTimeRTC.Epoch);
|
||||
|
||||
(*IO Mapping*)
|
||||
|
||||
@@ -12,7 +12,9 @@ IF NOT Test_Mode THEN
|
||||
Auto_Mode := DigitalInput_Status_2;
|
||||
Hand_Mode := DigitalInput_Status_3;
|
||||
LinearScale_Pressure(13107.0, 65535.0, Pressure_EU_Min, Pressure_EU_Max, ANY_TO_REAL(_IO_P1_AI_00));
|
||||
LinearScale_Flow(13107.0, 65535.0, Flow_EU_Min, Flow_EU_Max, ANY_TO_REAL(_IO_P1_AI_01));
|
||||
Pressure_In := LinearScale_Pressure.EU_Out;
|
||||
Flowrate := LinearScale_Flow.EU_Out;
|
||||
ELSE
|
||||
Contactor_Status := cmd_Run;
|
||||
VoltageOK := TRUE;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,7 @@
|
||||
READDOWNHOLEDATA
|
||||
CONTROL
|
||||
E300DATA
|
||||
CONTROL
|
||||
FLOWTOTALIZER
|
||||
RA_CIP_ELECTRICAL_ENERGY_OBJ
|
||||
RA_E300_OUTPUT_CONTROL
|
||||
READE300IO
|
||||
|
||||
Binary file not shown.
@@ -1,76 +1,76 @@
|
||||
__TMPV1 := __EPOCH_TIME [ __DINT_NULL ]
|
||||
__TMPB1 := __TMPV1 [ __DINT_NULL ]
|
||||
__TMPV2 := __EPOCH_TIME [ __CDINT0000000C ]
|
||||
__TMPV2 := __EPOCH_TIME [ __CDINT00000018 ]
|
||||
__TMPB__RTC_READ__ENABLE := __TMPB1
|
||||
__FBL_RET := _PUSHCALLFB RTC_READ __TMPV2
|
||||
__TMPI1 := __CDINT00000002 + __CDINT00000002
|
||||
__TMPI2 := __CDINT0000000C + __TMPI1
|
||||
__TMPI2 := __CDINT00000018 + __TMPI1
|
||||
__TMPUIN1 := __EPOCH_TIME [ __TMPI2 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
__TMPI3 := _CALL ANY_TO_UINT
|
||||
__TMPB2 := __TMPI3 <> __CDINT00000001
|
||||
_IF __TMPB2 _GOTO __LAB2
|
||||
__EPOCH_TIME [ __CDINT00000020 ] := __UINT_NULL
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __UINT_NULL
|
||||
_GOTO __LAB1
|
||||
__LAB2 :
|
||||
__TMPB2 := __TMPI3 <> __CDINT00000002
|
||||
_IF __TMPB2 _GOTO __LAB3
|
||||
__EPOCH_TIME [ __CDINT00000020 ] := __CUINT0000001F
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT0000001F
|
||||
_GOTO __LAB1
|
||||
__LAB3 :
|
||||
__TMPB2 := __TMPI3 <> __CDINT00000003
|
||||
_IF __TMPB2 _GOTO __LAB4
|
||||
__EPOCH_TIME [ __CDINT00000020 ] := __CUINT0000003B
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT0000003B
|
||||
_GOTO __LAB1
|
||||
__LAB4 :
|
||||
__TMPB2 := __TMPI3 <> __CDINT00000004
|
||||
_IF __TMPB2 _GOTO __LAB5
|
||||
__EPOCH_TIME [ __CDINT00000020 ] := __CUINT0000005A
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT0000005A
|
||||
_GOTO __LAB1
|
||||
__LAB5 :
|
||||
__TMPB2 := __TMPI3 <> __CDINT00000005
|
||||
_IF __TMPB2 _GOTO __LAB6
|
||||
__EPOCH_TIME [ __CDINT00000020 ] := __CUINT00000079
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT00000079
|
||||
_GOTO __LAB1
|
||||
__LAB6 :
|
||||
__TMPB2 := __TMPI3 <> __CDINT00000006
|
||||
_IF __TMPB2 _GOTO __LAB7
|
||||
__EPOCH_TIME [ __CDINT00000020 ] := __CUINT00000097
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT00000097
|
||||
_GOTO __LAB1
|
||||
__LAB7 :
|
||||
__TMPB2 := __TMPI3 <> __CDINT00000007
|
||||
_IF __TMPB2 _GOTO __LAB8
|
||||
__EPOCH_TIME [ __CDINT00000020 ] := __CUINT000000B5
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT000000B5
|
||||
_GOTO __LAB1
|
||||
__LAB8 :
|
||||
__TMPB2 := __TMPI3 <> __CDINT00000008
|
||||
_IF __TMPB2 _GOTO __LAB9
|
||||
__EPOCH_TIME [ __CDINT00000020 ] := __CUINT000000D4
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT000000D4
|
||||
_GOTO __LAB1
|
||||
__LAB9 :
|
||||
__TMPB2 := __TMPI3 <> __CDINT00000009
|
||||
_IF __TMPB2 _GOTO __LABa
|
||||
__EPOCH_TIME [ __CDINT00000020 ] := __CUINT000000F3
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT000000F3
|
||||
_GOTO __LAB1
|
||||
__LABa :
|
||||
__TMPB2 := __TMPI3 <> __CDINT0000000A
|
||||
_IF __TMPB2 _GOTO __LABb
|
||||
__EPOCH_TIME [ __CDINT00000020 ] := __CUINT00000111
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT00000111
|
||||
_GOTO __LAB1
|
||||
__LABb :
|
||||
__TMPB2 := __TMPI3 <> __CDINT0000000B
|
||||
_IF __TMPB2 _GOTO __LABc
|
||||
__EPOCH_TIME [ __CDINT00000020 ] := __CUINT00000130
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT00000130
|
||||
_GOTO __LAB1
|
||||
__LABc :
|
||||
__TMPB2 := __TMPI3 <> __CDINT0000000C
|
||||
_IF __TMPB2 _GOTO __LABd
|
||||
__EPOCH_TIME [ __CDINT00000020 ] := __CUINT0000014E
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT0000014E
|
||||
_GOTO __LAB1
|
||||
__LABd :
|
||||
__LAB1 :
|
||||
__TMPI1 := __CDINT00000002 + __DINT_NULL
|
||||
__TMPI2 := __CDINT0000000C + __TMPI1
|
||||
__TMPI2 := __CDINT00000018 + __TMPI1
|
||||
__TMPUIN1 := __EPOCH_TIME [ __TMPI2 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
__TMPI3 := _CALL ANY_TO_UINT
|
||||
@@ -80,13 +80,13 @@ __TMPI4 := _CALL MOD
|
||||
__TMPB2 := __TMPI4 = __DINT_NULL
|
||||
_IF _NOT __TMPB2 _GOTO __LABe
|
||||
__TMPI5 := __CDINT00000002 + __CDINT00000002
|
||||
__TMPI6 := __CDINT0000000C + __TMPI5
|
||||
__TMPI6 := __CDINT00000018 + __TMPI5
|
||||
__TMPUIN2 := __EPOCH_TIME [ __TMPI6 ]
|
||||
__TMPB3 := __TMPUIN2 > __CUINT00000002
|
||||
_IF _NOT __TMPB3 _GOTO __LABf
|
||||
__TMPUIN3 := __EPOCH_TIME [ __CDINT00000020 ]
|
||||
__TMPUIN3 := __EPOCH_TIME [ __CDINT0000002C ]
|
||||
__TMPUIN3 := __TMPUIN3 + __CUINT00000001
|
||||
__EPOCH_TIME [ __CDINT00000020 ] := __TMPUIN3
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __TMPUIN3
|
||||
_GOTO __LAB10
|
||||
__LABf :
|
||||
__LAB10 :
|
||||
@@ -94,7 +94,7 @@ _GOTO __LAB11
|
||||
__LABe :
|
||||
__LAB11 :
|
||||
__TMPI1 := __CDINT00000002 + __DINT_NULL
|
||||
__TMPI2 := __CDINT0000000C + __TMPI1
|
||||
__TMPI2 := __CDINT00000018 + __TMPI1
|
||||
__TMPUIN1 := __EPOCH_TIME [ __TMPI2 ]
|
||||
_PUSH_PAR __CDINT000007B2
|
||||
__TMPUIN2 := _CALL ANY_TO_DINT
|
||||
@@ -104,10 +104,10 @@ __TMPULI1 := _CALL ANY_TO_UINT
|
||||
_PUSH_PAR __CDINT01E1853E
|
||||
__TMPULI2 := _CALL ANY_TO_DINT
|
||||
__TMPULI1 := __TMPULI1 * __TMPULI2
|
||||
__EPOCH_TIME [ __CDINT00000024 ] := __TMPULI1
|
||||
__TMPUIN1 := __EPOCH_TIME [ __CDINT00000020 ]
|
||||
__EPOCH_TIME [ __CDINT00000030 ] := __TMPULI1
|
||||
__TMPUIN1 := __EPOCH_TIME [ __CDINT0000002C ]
|
||||
__TMPI1 := __CDINT00000002 + __CDINT00000004
|
||||
__TMPI2 := __CDINT0000000C + __TMPI1
|
||||
__TMPI2 := __CDINT00000018 + __TMPI1
|
||||
__TMPUIN2 := __EPOCH_TIME [ __TMPI2 ]
|
||||
__TMPUIN1 := __TMPUIN1 + __TMPUIN2
|
||||
_PUSH_PAR __CDINT00015180
|
||||
@@ -115,28 +115,28 @@ __TMPUIN3 := _CALL ANY_TO_DINT
|
||||
__TMPUIN1 := __TMPUIN1 * __TMPUIN3
|
||||
_PUSH_PAR __TMPUIN1
|
||||
__TMPULI1 := _CALL ANY_TO_UINT
|
||||
__EPOCH_TIME [ __CDINT0000002C ] := __TMPULI1
|
||||
__EPOCH_TIME [ __CDINT00000038 ] := __TMPULI1
|
||||
__TMPI1 := __CDINT00000002 + __CDINT00000006
|
||||
__TMPI2 := __CDINT0000000C + __TMPI1
|
||||
__TMPI2 := __CDINT00000018 + __TMPI1
|
||||
__TMPUIN1 := __EPOCH_TIME [ __TMPI2 ]
|
||||
__TMPUIN1 := __TMPUIN1 * __CUINT00000E10
|
||||
_PUSH_PAR __TMPUIN1
|
||||
__TMPULI1 := _CALL ANY_TO_UINT
|
||||
__EPOCH_TIME [ __CDINT0000003C ] := __TMPULI1
|
||||
__EPOCH_TIME [ __CDINT00000048 ] := __TMPULI1
|
||||
__TMPI1 := __CDINT00000002 + __CDINT00000008
|
||||
__TMPI2 := __CDINT0000000C + __TMPI1
|
||||
__TMPI2 := __CDINT00000018 + __TMPI1
|
||||
__TMPUIN1 := __EPOCH_TIME [ __TMPI2 ]
|
||||
__TMPUIN1 := __TMPUIN1 * __CUINT0000003C
|
||||
_PUSH_PAR __TMPUIN1
|
||||
__TMPULI1 := _CALL ANY_TO_UINT
|
||||
__EPOCH_TIME [ __CDINT00000034 ] := __TMPULI1
|
||||
__TMPULI1 := __EPOCH_TIME [ __CDINT00000024 ]
|
||||
__TMPULI2 := __EPOCH_TIME [ __CDINT0000002C ]
|
||||
__EPOCH_TIME [ __CDINT00000040 ] := __TMPULI1
|
||||
__TMPULI1 := __EPOCH_TIME [ __CDINT00000030 ]
|
||||
__TMPULI2 := __EPOCH_TIME [ __CDINT00000038 ]
|
||||
__TMPULI1 := __TMPULI1 + __TMPULI2
|
||||
__TMPULI3 := __EPOCH_TIME [ __CDINT0000003C ]
|
||||
__TMPULI3 := __EPOCH_TIME [ __CDINT00000048 ]
|
||||
__TMPULI1 := __TMPULI1 + __TMPULI3
|
||||
__TMPI1 := __CDINT00000002 + __CDINT0000000A
|
||||
__TMPI2 := __CDINT0000000C + __TMPI1
|
||||
__TMPI2 := __CDINT00000018 + __TMPI1
|
||||
__TMPUIN1 := __EPOCH_TIME [ __TMPI2 ]
|
||||
_PUSH_PAR __TMPUIN1
|
||||
__TMPULI4 := _CALL ANY_TO_UINT
|
||||
|
||||
Binary file not shown.
@@ -55,6 +55,8 @@ E300_READENERGY.INT_COP.__DTI_SRC@E300DATA,<NOT USED>,SINT
|
||||
E300_READENERGY.INT_COP.__DTI_DEST@E300DATA,<NOT USED>,SINT
|
||||
MODBUSCYCLETIMER.IN@READDOWNHOLEDATA,__TMPB__TON__IN,BOOL
|
||||
MODBUSCYCLETIMER.PT@READDOWNHOLEDATA,MODBUSCYCLETIME,TIME
|
||||
TON_TOTALIZER.IN@FLOWTOTALIZER,__TMPB__TON__IN,BOOL
|
||||
TON_TOTALIZER.PT@FLOWTOTALIZER,__CTIME00002710,TIME
|
||||
WRITEE300CONFIGDATA.FBEN@E300DATA,TRUE,BOOL
|
||||
WRITEE300CONFIGDATA.IPADDRESS@E300DATA,E300_IP_ADDRESS,STRING
|
||||
WRITEE300CONFIGDATA.UPDATERATE_MS@E300DATA,E300_SCAN_RATE,UINT
|
||||
@@ -72,7 +74,7 @@ E300_OUTPUT.FBEN@E300DATA,E300_OUTPUT_ENABLE,BOOL
|
||||
E300_OUTPUT.IPADDRESS@E300DATA,E300_IP_ADDRESS,STRING
|
||||
E300_OUTPUT.OUTPUTNUMBER@E300DATA,E300_OUTPUT_NUMBER,USINT
|
||||
E300_OUTPUT.OUTPUTSETTING@E300DATA,CMD_RUN,BOOL
|
||||
EPOCH_TIME_1.RTC_READ_ENABLED@CONTROL,TRUE,BOOL
|
||||
CURRENTTIMERTC.RTC_READ_ENABLED,TRUE,BOOL
|
||||
D2S_FLASETTING.INP_DINT@E300DATA,__TMPUDI__UDINT_TO_USINT__INP_DINT,UDINT
|
||||
WRITEE300CONFIGDATA.FBEN_FTRIG.CLK@E300DATA,__TMPB__F_TRIG__CLK,BOOL
|
||||
E300_OUTPUT.OUTPUTSETTING_FTRIG.CLK@E300DATA,__TMPB__F_TRIG__CLK,BOOL
|
||||
@@ -166,6 +168,11 @@ LINEARSCALE_PRESSURE.RAW_MAX@CONTROL,__TMPR2@CONTROL,REAL
|
||||
LINEARSCALE_PRESSURE.EU_MIN@CONTROL,PRESSURE_EU_MIN,REAL
|
||||
LINEARSCALE_PRESSURE.EU_MAX@CONTROL,PRESSURE_EU_MAX,REAL
|
||||
LINEARSCALE_PRESSURE.RAW_INP@CONTROL,__TMPR__LINEARSCALE__RAW_INP,REAL
|
||||
LINEARSCALE_FLOW.RAW_MIN@CONTROL,__TMPR1@CONTROL,REAL
|
||||
LINEARSCALE_FLOW.RAW_MAX@CONTROL,__TMPR2@CONTROL,REAL
|
||||
LINEARSCALE_FLOW.EU_MIN@CONTROL,FLOW_EU_MIN,REAL
|
||||
LINEARSCALE_FLOW.EU_MAX@CONTROL,FLOW_EU_MAX,REAL
|
||||
LINEARSCALE_FLOW.RAW_INP@CONTROL,__TMPR__LINEARSCALE__RAW_INP,REAL
|
||||
E300_READ_DIGITALINPUT0.FBEN@E300DATA,TRUE,BOOL
|
||||
E300_READ_DIGITALINPUT0.IPADDRESS@E300DATA,E300_IP_ADDRESS,STRING
|
||||
E300_READ_DIGITALINPUT0.UPDATERATE_MS@E300DATA,E300_SCAN_RATE,UINT
|
||||
@@ -200,7 +207,7 @@ U2S_UNDERPFLAGTRIPLEVEL.SINT_SRC_1@E300DATA,__TMPUSI__USINT_TO_SINT__SINT_SRC_1,
|
||||
U2S_UNDERPFLAGWARNINGLEVEL.SINT_SRC_1@E300DATA,__TMPUSI__USINT_TO_SINT__SINT_SRC_1,USINT
|
||||
U2S_OVERPFLAGTRIPLEVEL.SINT_SRC_1@E300DATA,__TMPUSI__USINT_TO_SINT__SINT_SRC_1,USINT
|
||||
U2S_OVERPFLAGWARNINGLEVEL.SINT_SRC_1@E300DATA,__TMPUSI__USINT_TO_SINT__SINT_SRC_1,USINT
|
||||
EPOCH_TIME_1.RTC_READ_1.ENABLE@CONTROL,__TMPB__RTC_READ__ENABLE,BOOL
|
||||
CURRENTTIMERTC.RTC_READ_1.ENABLE,__TMPB__RTC_READ__ENABLE,BOOL
|
||||
RTRIG_AUTOMODE.CLK@CONTROL,AUTO_MODE,BOOL
|
||||
WRITEE300CONFIGDATA.MSGOBJREAD_Q_RTRIG.CLK@E300DATA,__TMPB__R_TRIG__CLK,BOOL
|
||||
WRITEE300CONFIGDATA.FBEN_RTRIG.CLK@E300DATA,__TMPB__R_TRIG__CLK,BOOL
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,18 +1,18 @@
|
||||
USINT_TO_UINT:
|
||||
USINT_TO_DINT:
|
||||
USINT_TO_UINT:
|
||||
USINT_TO_SINT:
|
||||
EPOCH_TIME:
|
||||
READE300TRIPRESET:
|
||||
READE300CONFIG:
|
||||
READE300TRIPRESET:
|
||||
WRITEE300TRIPRESET:
|
||||
READE300IO:
|
||||
WRITEE300CONFIG:
|
||||
UINT_TO_USINT:
|
||||
RA_E300_OUTPUT_CONTROL:
|
||||
USINT_TO_UDINT:
|
||||
UINT_TO_USINT:
|
||||
READE300PARAM:
|
||||
USINT_TO_UDINT:
|
||||
UDINT_TO_USINT:
|
||||
LINEARSCALE:
|
||||
RA_CIP_ELECTRICAL_ENERGY_OBJ:
|
||||
DINT_TO_USINT:
|
||||
LINEARSCALE:
|
||||
SINT_TO_USINT:
|
||||
DINT_TO_USINT:
|
||||
|
||||
@@ -1,51 +1,51 @@
|
||||
0::0046-0003::-------------------- Pre-build resource: MICRO820 Configuration: MICRO820 --------------
|
||||
0::0044-0003::Pre-compiling for 2080LC2020QWBI
|
||||
0::0000-0003::RA_CIP_ELECTRICAL_ENERGY_OBJ
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\RA_CIP_ELECTRICAL_ENERGY_OBJ:0000-0003::RA_E300_OUTPUT_CONTROL
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\RA_E300_OUTPUT_CONTROL:0000-0003::READE300IO
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300IO:0000-0003::READE300CONFIG
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300CONFIG:0000-0003::READE300TRIPRESET
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300TRIPRESET:0000-0003::READE300PARAM
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300PARAM:0000-0003::USINT_TO_UDINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_UDINT:0000-0003::USINT_TO_DINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_DINT:0000-0003::USINT_TO_UINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_UINT:0000-0003::USINT_TO_SINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_SINT:0000-0003::UDINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\UDINT_TO_USINT:0000-0003::DINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\DINT_TO_USINT:0000-0003::UINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\UINT_TO_USINT:0000-0003::SINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\SINT_TO_USINT:0000-0003::WRITEE300CONFIG
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\WRITEE300CONFIG:0000-0003::WRITEE300TRIPRESET
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\WRITEE300TRIPRESET:0000-0003::LINEARSCALE
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\LINEARSCALE:0000-0003::EPOCH_TIME
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\EPOCH_TIME:0000-0003::READDOWNHOLEDATA
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READDOWNHOLEDATA:0000-0003::CONTROL
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\CONTROL:0000-0003::E300DATA
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\E300DATA:0002-0003::MICRO820: 0 error(s), 0 warning(s)
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\RA_CIP_ELECTRICAL_ENERGY_OBJ:0000-0003::RA_E300_OUTPUT_CONTROL
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\RA_E300_OUTPUT_CONTROL:0000-0003::READE300IO
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300IO:0000-0003::READE300CONFIG
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300CONFIG:0000-0003::READE300TRIPRESET
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300TRIPRESET:0000-0003::READE300PARAM
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300PARAM:0000-0003::USINT_TO_UDINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_UDINT:0000-0003::USINT_TO_DINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_DINT:0000-0003::USINT_TO_UINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_UINT:0000-0003::USINT_TO_SINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_SINT:0000-0003::UDINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\UDINT_TO_USINT:0000-0003::DINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\DINT_TO_USINT:0000-0003::UINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\UINT_TO_USINT:0000-0003::SINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\SINT_TO_USINT:0000-0003::WRITEE300CONFIG
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\WRITEE300CONFIG:0000-0003::WRITEE300TRIPRESET
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\WRITEE300TRIPRESET:0000-0003::LINEARSCALE
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\LINEARSCALE:0000-0003::EPOCH_TIME
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\EPOCH_TIME:0000-0003::READDOWNHOLEDATA
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READDOWNHOLEDATA:0000-0003::E300DATA
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\E300DATA:0000-0003::CONTROL
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\CONTROL:0000-0003::FLOWTOTALIZER
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\FLOWTOTALIZER:0002-0003::MICRO820: 0 error(s), 0 warning(s)
|
||||
0::0006-0003::-------------------- Build resource: MICRO820 Configuration: MICRO820 --------------
|
||||
0::0001-0003::Compiling for 2080LC2020QWBI
|
||||
0::0000-0003::RA_CIP_ELECTRICAL_ENERGY_OBJ
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\RA_CIP_ELECTRICAL_ENERGY_OBJ:0000-0003::RA_E300_OUTPUT_CONTROL
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\RA_E300_OUTPUT_CONTROL:0000-0003::READE300IO
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300IO:0000-0003::READE300CONFIG
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300CONFIG:0000-0003::READE300TRIPRESET
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300TRIPRESET:0000-0003::READE300PARAM
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300PARAM:0000-0003::USINT_TO_UDINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_UDINT:0000-0003::USINT_TO_DINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_DINT:0000-0003::USINT_TO_UINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_UINT:0000-0003::USINT_TO_SINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_SINT:0000-0003::UDINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\UDINT_TO_USINT:0000-0003::DINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\DINT_TO_USINT:0000-0003::UINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\UINT_TO_USINT:0000-0003::SINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\SINT_TO_USINT:0000-0003::WRITEE300CONFIG
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\WRITEE300CONFIG:0000-0003::WRITEE300TRIPRESET
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\WRITEE300TRIPRESET:0000-0003::LINEARSCALE
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\LINEARSCALE:0000-0003::EPOCH_TIME
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\EPOCH_TIME:0000-0003::READDOWNHOLEDATA
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READDOWNHOLEDATA:0000-0003::CONTROL
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\CONTROL:0000-0003::E300DATA
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\E300DATA:0003-0003::Linking for 2080LC2020QWBI
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\E300DATA:0,0:0039-0001::WARNING: The structure of the user defined function block instance EPOCH_TIME_1@CONTROL has changed and will be reinitialized.
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\E300DATA:0002-0003:: 0 error(s), 1 warning(s)
|
||||
0:C:\USERS\PATRICK\DOCUMENTS\HENRY_PUMP\IPP_PANEL\CONTROLLER\CONTROLLER\MICRO820\MICRO820\E300DATA:0002-0003::MICRO820: 0 error(s), 1 warning(s)
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\RA_CIP_ELECTRICAL_ENERGY_OBJ:0000-0003::RA_E300_OUTPUT_CONTROL
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\RA_E300_OUTPUT_CONTROL:0000-0003::READE300IO
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300IO:0000-0003::READE300CONFIG
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300CONFIG:0000-0003::READE300TRIPRESET
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300TRIPRESET:0000-0003::READE300PARAM
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300PARAM:0000-0003::USINT_TO_UDINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_UDINT:0000-0003::USINT_TO_DINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_DINT:0000-0003::USINT_TO_UINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_UINT:0000-0003::USINT_TO_SINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_SINT:0000-0003::UDINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\UDINT_TO_USINT:0000-0003::DINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\DINT_TO_USINT:0000-0003::UINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\UINT_TO_USINT:0000-0003::SINT_TO_USINT
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\SINT_TO_USINT:0000-0003::WRITEE300CONFIG
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\WRITEE300CONFIG:0000-0003::WRITEE300TRIPRESET
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\WRITEE300TRIPRESET:0000-0003::LINEARSCALE
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\LINEARSCALE:0000-0003::EPOCH_TIME
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\EPOCH_TIME:0000-0003::READDOWNHOLEDATA
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READDOWNHOLEDATA:0000-0003::E300DATA
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\E300DATA:0000-0003::CONTROL
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\CONTROL:0000-0003::FLOWTOTALIZER
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\FLOWTOTALIZER:0003-0003::Linking for 2080LC2020QWBI
|
||||
0:C:\USERS\PATRICK\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\FLOWTOTALIZER:0002-0003::MICRO820: 0 error(s), 0 warning(s)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,10 +1,10 @@
|
||||
[MEMORY]
|
||||
Offset0=0x44AC
|
||||
Offset1=0x54AC
|
||||
Offset2=0x54AC
|
||||
Offset3=0x54AC
|
||||
Memory Usage Estimate(Code)=0x9FA0
|
||||
Memory Usage Estimate(Data)=0x9D58
|
||||
Offset0=0x4534
|
||||
Offset1=0x5534
|
||||
Offset2=0x5534
|
||||
Offset3=0x5534
|
||||
Memory Usage Estimate(Code)=0xA104
|
||||
Memory Usage Estimate(Data)=0x9E04
|
||||
Memory Usage Estimate(Retain)=0x50
|
||||
Memory Usage Estimate(Temporary variables)=0x28B4
|
||||
Memory Usage Estimate(Temporary variables)=0x28CC
|
||||
Offset4=0x414
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
[MEMORY]
|
||||
Offset0=0x44AC
|
||||
Offset1=0x54AC
|
||||
Offset2=0x54AC
|
||||
Offset3=0x54AC
|
||||
Memory Usage Estimate(Code)=0x9FA0
|
||||
Memory Usage Estimate(Data)=0x9D58
|
||||
Memory Usage Estimate(Retain)=0x50
|
||||
Memory Usage Estimate(Temporary variables)=0x28B4
|
||||
Offset4=0x414
|
||||
@@ -1,28 +0,0 @@
|
||||
[MODIF]
|
||||
POU=Y
|
||||
TYPE=Y
|
||||
LEVEL1=Y
|
||||
IO=Y
|
||||
RETAIN=Y
|
||||
INSTDEF=Y
|
||||
VARDEF=Y
|
||||
INIT_INST=Y
|
||||
ADD_DEL=Y
|
||||
VARSIZE=Y
|
||||
IO_DEF=Y
|
||||
LAST_VA=Y
|
||||
|
||||
[RESULT]
|
||||
ON_LINE=Y
|
||||
TBL_CONF=Y
|
||||
CRC_ORG=0x7D4DADCF
|
||||
CRC_OLD=0x7D4DADCF
|
||||
CRC_NEW=0x53836E8
|
||||
DAT_ORG=1468428437
|
||||
DAT_OLD=1468428437
|
||||
DAT_NEW=1468429755
|
||||
VER_ORG=84
|
||||
VER_OLD=84
|
||||
VER_NEW=85
|
||||
CRC_ALL_OLD=0x8082E219
|
||||
CRC_ALL_NEW=0x5026B093
|
||||
Binary file not shown.
@@ -1,9 +1,9 @@
|
||||
[MEMORY]
|
||||
Memory Usage Estimate(Temporary variables)=0x28BC
|
||||
Memory Usage Estimate(Temporary variables)=0x28CC
|
||||
Biggest online change user variable memory block size=0x800
|
||||
Currently added user variables=0x44
|
||||
Total data size=0x6D88
|
||||
User variables size=0x44CC
|
||||
Maximum size for temporary variables=0x48A8
|
||||
Memory Usage Estimate(Data)=0x9D54
|
||||
Free memory for user variables=0xFE0
|
||||
Currently added user variables=0x0
|
||||
Total data size=0x6E00
|
||||
User variables size=0x4534
|
||||
Maximum size for temporary variables=0x48CC
|
||||
Memory Usage Estimate(Data)=0x9E00
|
||||
Free memory for user variables=0x1000
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
[MEMORY]
|
||||
Memory Usage Estimate(Temporary variables)=0x28BC
|
||||
Biggest online change user variable memory block size=0x800
|
||||
Currently added user variables=0x44
|
||||
Total data size=0x6D88
|
||||
User variables size=0x44CC
|
||||
Maximum size for temporary variables=0x48A8
|
||||
Memory Usage Estimate(Data)=0x9D54
|
||||
Free memory for user variables=0xFE0
|
||||
@@ -1,3 +1,4 @@
|
||||
<INPUT>,EPOCH_TIME_1@CONTROL,EPOCH_TIME,RTC_READ_ENABLED,TRUE,BOOL
|
||||
<INPUT>,CURRENTTIMERTC,EPOCH_TIME,RTC_READ_ENABLED,TRUE,BOOL
|
||||
<INPUT>,LINEARSCALE_PRESSURE@CONTROL,LINEARSCALE,RAW_MIN,__TMPR1@CONTROL,REAL,RAW_MAX,__TMPR2@CONTROL,REAL,EU_MIN,PRESSURE_EU_MIN,REAL,EU_MAX,PRESSURE_EU_MAX,REAL,RAW_INP,__TMPR__LINEARSCALE__RAW_INP,REAL
|
||||
<INPUT>,LINEARSCALE_FLOW@CONTROL,LINEARSCALE,RAW_MIN,__TMPR1@CONTROL,REAL,RAW_MAX,__TMPR2@CONTROL,REAL,EU_MIN,FLOW_EU_MIN,REAL,EU_MAX,FLOW_EU_MAX,REAL,RAW_INP,__TMPR__LINEARSCALE__RAW_INP,REAL
|
||||
<INPUT>,RTRIG_AUTOMODE@CONTROL,R_TRIG,CLK,AUTO_MODE,BOOL
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,75 +0,0 @@
|
||||
[__DEFIO_CPXDVC]
|
||||
Nb = 2
|
||||
NotMDF = 0, 1, AB_, OPTIMUS_, IO_Base
|
||||
MDF = -1
|
||||
RIdx = 0
|
||||
NotMDF = 101, 1, AB_, OPTIMUS_, IOUP_Analog
|
||||
MDF = -1
|
||||
RIdx = 0
|
||||
|
||||
|
||||
[__DEFIO_SPLDVC]
|
||||
Nb = 6
|
||||
NotMDF = 0, 0, 1, AB_, OPTIMUS_, digitOut_Base
|
||||
MDF = -1
|
||||
RIdx = 0, 0
|
||||
NotMDF = 0, 1, 1, AB_, OPTIMUS_, digitIn_Base
|
||||
MDF = -1
|
||||
RIdx = 0, 0
|
||||
NotMDF = 0, 2, 1, AB_, OPTIMUS_, analogIn_Base
|
||||
MDF = -1
|
||||
RIdx = 0, 0
|
||||
NotMDF = 0, 3, 1, AB_, OPTIMUS_, analogOut_Base
|
||||
MDF = -1
|
||||
RIdx = 0, 0
|
||||
NotMDF = 101, 0, 1, AB_, OPTIMUS_, analogOut_UP
|
||||
MDF = -1
|
||||
RIdx = 0, 1
|
||||
NotMDF = 101, 1, 1, AB_, OPTIMUS_, analogIn_UP
|
||||
MDF = -1
|
||||
RIdx = 0, 1
|
||||
|
||||
|
||||
[__DEFIO_CHAN]
|
||||
RIdx = 0, 0, 0
|
||||
Nb = 7
|
||||
MDF = 1\1, 1, 0, 0, -1, _IO_EM_DO_00
|
||||
MDF = 1\1, 1, 0, 1, -1, _IO_EM_DO_01
|
||||
MDF = 1\1, 1, 0, 2, -1, _IO_EM_DO_02
|
||||
MDF = 1\1, 1, 0, 3, -1, _IO_EM_DO_03
|
||||
MDF = 1\1, 1, 0, 4, -1, _IO_EM_DO_04
|
||||
MDF = 1\1, 1, 0, 5, -1, _IO_EM_DO_05
|
||||
MDF = 1\1, 1, 0, 6, -1, _IO_EM_DO_06
|
||||
RIdx = 0, 0, 1
|
||||
Nb = 12
|
||||
MDF = 1\1, 1, 0, 0, -1, _IO_EM_DI_00
|
||||
MDF = 1\1, 1, 0, 1, -1, _IO_EM_DI_01
|
||||
MDF = 1\1, 1, 0, 2, -1, _IO_EM_DI_02
|
||||
MDF = 1\1, 1, 0, 3, -1, _IO_EM_DI_03
|
||||
MDF = 1\1, 1, 0, 4, -1, _IO_EM_DI_04
|
||||
MDF = 1\1, 1, 0, 5, -1, _IO_EM_DI_05
|
||||
MDF = 1\1, 1, 0, 6, -1, _IO_EM_DI_06
|
||||
MDF = 1\1, 1, 0, 7, -1, _IO_EM_DI_07
|
||||
MDF = 1\1, 1, 0, 8, -1, _IO_EM_DI_08
|
||||
MDF = 1\1, 1, 0, 9, -1, _IO_EM_DI_09
|
||||
MDF = 1\1, 1, 0, 10, -1, _IO_EM_DI_10
|
||||
MDF = 1\1, 1, 0, 11, -1, _IO_EM_DI_11
|
||||
RIdx = 0, 0, 2
|
||||
Nb = 4
|
||||
MDF = 1\1, 1, 0, 0, -1, _IO_EM_AI_00
|
||||
MDF = 1\1, 1, 0, 1, -1, _IO_EM_AI_01
|
||||
MDF = 1\1, 1, 0, 2, -1, _IO_EM_AI_02
|
||||
MDF = 1\1, 1, 0, 3, -1, _IO_EM_AI_03
|
||||
RIdx = 0, 0, 3
|
||||
Nb = 1
|
||||
MDF = 1\1, 1, 0, 0, -1, _IO_EM_AO_00
|
||||
RIdx = 0, 1, 4
|
||||
Nb = 0
|
||||
RIdx = 0, 1, 5
|
||||
Nb = 2
|
||||
MDF = 1\1, 0, 0, 0, -1, _IO_P1_AI_00
|
||||
MDF = 1\1, 0, 0, 1, -1, _IO_P1_AI_01
|
||||
|
||||
|
||||
[__READONLY_VALUES]
|
||||
Nb = 0
|
||||
@@ -1,3 +0,0 @@
|
||||
[MEMORY]
|
||||
Code Space Free Memory=0x16FD0
|
||||
Code Space Requirement=0x63D0
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -3,5 +3,6 @@
|
||||
<AcfElementGuid Guid="22fb9760-076e-482b-bcbe-c8fd6362439b" />
|
||||
<AcfElementGuid Guid="2e293809-2592-4360-9ef5-9e938bc7b980" />
|
||||
<AcfElementGuid Guid="73aee734-b491-4716-bb8a-e114474b2e0b" />
|
||||
<AcfElementGuid Guid="88be61f4-7c0b-465f-9894-13192a9bfa6f" />
|
||||
<AcfElementGuid Guid="a537c79f-58bd-4503-a8bd-4473e96020b3" />
|
||||
</ProjectElements>
|
||||
@@ -33,6 +33,9 @@
|
||||
<AcfElementGuid Guid="825fba0c-a967-4905-b00b-13d3fe1ff759">
|
||||
<File>WriteE300Config.AcfMlge</File>
|
||||
</AcfElementGuid>
|
||||
<AcfElementGuid Guid="88be61f4-7c0b-465f-9894-13192a9bfa6f">
|
||||
<File>FlowTotalizer.AcfMlge</File>
|
||||
</AcfElementGuid>
|
||||
<AcfElementGuid Guid="9e116e82-db64-4872-bda1-ef7ada62d71b">
|
||||
<File>RA_CIP_ELECTRICAL_ENERGY_OBJ.AcfMlge</File>
|
||||
</AcfElementGuid>
|
||||
|
||||
@@ -4,3 +4,6 @@
|
||||
<div class='col-xs-6'>
|
||||
<h3><%= node.vanityname %></h3>
|
||||
</div>
|
||||
<div class-"col-xs-2">
|
||||
<button href="#" data-channelId="<%= channels["ipp.log"].channelId %>" class="data-table btn btn-theme" title="Device Log"><i style='margin-left: 0.5em; cursor: pointer' class="fa fa-th-list icon-theme"></i> Device Log</button>
|
||||
</div>
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Fluid Level</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhfluidlevel" data-chart="solidgauge" data-nodename="ipp.dhfluidlevel" data-units="ft" data-min="0" data-max="600" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<!-- <div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhfluidlevel" data-chart="solidgauge" data-nodename="ipp.dhfluidlevel" data-units="ft" data-min="0" data-max="600" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div> -->
|
||||
<gauge type="angular" channel="dhfluidlevel" max="600" label="ft." classes="extra" height="250" />
|
||||
<span data-timeupdate="dhfluidlevel"><%= channels["ipp.dhfluidlevel"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -17,7 +18,8 @@
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Downhole Pressure</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintakepressure" data-chart="solidgauge" data-nodename="ipp.dhintakepressure" data-units="PSI" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<!-- <div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintakepressure" data-chart="solidgauge" data-nodename="ipp.dhintakepressure" data-units="PSI" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div> -->
|
||||
<gauge type="angular" channel="dhintakepressure" max="400" label="PSI" classes="extra" height="250" />
|
||||
<span data-timeupdate="dhintakepressure"><%= channels["ipp.dhintakepressure"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -30,7 +32,8 @@
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Downhole Temperature</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintaketemperature" data-chart="solidgauge" data-nodename="ipp.dhintaketemperature" data-units=" ° F" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<!-- <div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-dhintaketemperature" data-chart="solidgauge" data-nodename="ipp.dhintaketemperature" data-units=" ° F" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div> -->
|
||||
<gauge type="angular" channel="dhintaketemperature" max="300" label="deg F" classes="extra" height="250" />
|
||||
<span data-timeupdate="dhintaketemperature"><%= channels["ipp.dhintaketemperature"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -44,7 +47,8 @@
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Average Current</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-e300averagecurrent" data-chart="solidgauge" data-nodename="ipp.e300averagecurrent" data-units="A" data-min="0" data-max="<%= channels["ipp.cfgcflasetting"].value %>" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<!-- <div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-e300averagecurrent" data-chart="solidgauge" data-nodename="ipp.e300averagecurrent" data-units="A" data-min="0" data-max="<%= channels["ipp.cfgcflasetting"].value %>" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div> -->
|
||||
<gauge type="angular" channel="e300averagecurrent" max="150" label="A" classes="extra" height="250" />
|
||||
<span data-timeupdate="e300averagecurrent"><%= channels["ipp.e300averagecurrent"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -57,7 +61,8 @@
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Average L-L Voltage</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-e300averagellvoltage" data-chart="solidgauge" data-nodename="ipp.e300averagellvoltage" data-units="V" data-min="0" data-max="600" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<!-- <div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-e300averagellvoltage" data-chart="solidgauge" data-nodename="ipp.e300averagellvoltage" data-units="V" data-min="0" data-max="600" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div> -->
|
||||
<gauge type="angular" channel="e300averagellvoltage" max="600" label="V" classes="extra" height="250" />
|
||||
<span data-timeupdate="e300averagellvoltage"><%= channels["ipp.e300averagellvoltage"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -66,13 +71,27 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='row row-flex box-me'>
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Flow Rate</h2>
|
||||
<div class="gauge-box">
|
||||
<gauge type="angular" channel="flowrate" max="400" label="GPM" classes="extra" height="250" />
|
||||
<span data-timeupdate="flowrate"><%= channels["ipp.flowrate"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class='col-xs-8'>
|
||||
<div style="height:300px" id="chart-flowrate" data-chart="chart" data-nodename1="ipp.flowrate" data-datalabel1="Flow Rate" data-daysofhistory="2" data-chartlabel="Flow Rate" data-ylabel="" data-xlabel="Date" data-units=" GPM"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<% if (channels["ipp.pressuretransducerenabled"].value == 1) {%>
|
||||
|
||||
<div class='row row-flex box-me'>
|
||||
<div class='col-xs-4 text-center'>
|
||||
<h2>Tubing Pressure</h2>
|
||||
<div class="gauge-box">
|
||||
<div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-pressurein" data-chart="solidgauge" data-nodename="ipp.pressurein" data-units="PSI" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div>
|
||||
<!-- <div data-labelheight="10" style="height: 170px; background: transparent; margin: 0 auto;" id="gauge-pressurein" data-chart="solidgauge" data-nodename="ipp.pressurein" data-units="PSI" data-min="0" data-max="400" data-colors="0.1:#DF5353,0.5:#DDDF0D,0.9:#55BF3B" data-valuefontsize="18px"></div> -->
|
||||
<gauge type="angular" channel="pressurein" max="400" label="PSI" classes="extra" height="250" />
|
||||
<span data-timeupdate="pressurein"><%= channels["ipp.pressurein"].timestamp %></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -148,45 +148,12 @@
|
||||
</div>
|
||||
|
||||
<div class="row row-flex">
|
||||
<div class='col-xs-12' style="padding-top: 1em; margin-bottom: 1em;">
|
||||
<div class="input-daterange input-group" id="datepicker">
|
||||
<input data-chartid="dynamicChart" id="fromDate" data-daysofhistory="2" type="text" class="form-control" name="start">
|
||||
<span class="input-group-addon">to</span>
|
||||
<input class="form-control" data-chartid="dynamicChart" id="toDate" type="text" name="end">
|
||||
<span class='input-group-btn'>
|
||||
<a href="#!" data-chartid="dynamicChart" data-otherchartids="statusTimeline" class="btn chart-update btn-theme" id="runButton">Run</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="col-md-6">
|
||||
<h1>TRIP HISTORY</h1>
|
||||
<table class="table table-responsive" id="triptable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Timestamp</th>
|
||||
<th>Condition</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<button href="#" data-channelId="<%= channels["ipp.e300tripstatus"].channelId %>" class="data-table btn btn-theme" title="Trip History"><i style='margin-left: 0.5em; cursor: pointer' class="fa fa-th-list icon-theme"></i> Trip History</button>
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<h1>WARNING HISTORY</h1>
|
||||
<table class="table table-responsive" id="warningtable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Timestamp</th>
|
||||
<th>Condition</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<button href="#" data-channelId="<%= channels["ipp.e300warningstatus"].channelId %>" class="data-table btn btn-theme" title="Trip History"><i style='margin-left: 0.5em; cursor: pointer' class="fa fa-th-list icon-theme"></i> Warning History</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -242,163 +209,3 @@
|
||||
flex-direction: column;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<script>
|
||||
var tripData = [];
|
||||
var maps = {
|
||||
current: {
|
||||
0: 'None',
|
||||
1: 'Overload',
|
||||
2: 'Phase Loss',
|
||||
4: 'Ground Fault',
|
||||
8: 'Stall',
|
||||
16: 'Jam',
|
||||
32: 'Underload',
|
||||
64: 'Current Imbalance',
|
||||
128: 'L1 Undercurrent',
|
||||
256: 'L2 Undercurrent',
|
||||
512: 'L3 Undercurrent',
|
||||
1024: 'L1 Overcurrent',
|
||||
2048: 'L2 Overcurrent',
|
||||
4096: 'L3 Overcurrent',
|
||||
8192: 'L1 Line Loss',
|
||||
16384: 'L2 Line Loss',
|
||||
32768: 'L3 Line Loss'
|
||||
},
|
||||
voltage: {
|
||||
0: 'None',
|
||||
1: 'Undervoltage',
|
||||
2: 'Overvoltage',
|
||||
4: 'Voltage Unbalance',
|
||||
8: 'Phase Rotation',
|
||||
16: 'Overfrequency'
|
||||
},
|
||||
control: {
|
||||
0: 'None',
|
||||
1: 'Test Trip',
|
||||
2: 'DLX Trip',
|
||||
4: 'PTC Trip',
|
||||
8: 'Operator Station Trip',
|
||||
16: 'Remote Trip',
|
||||
32: 'Blocked Start Trip',
|
||||
64: 'Hardware Fault Trip',
|
||||
128: 'Config Trip',
|
||||
256: 'Option Match Trip',
|
||||
512: 'DLX FB Timeout Trip',
|
||||
1024: 'Expansion Bus Trip',
|
||||
2048: 'Reserved',
|
||||
4096: 'Reserved',
|
||||
8192: 'NVS Trip',
|
||||
16384: 'Test Mode Trip'
|
||||
},
|
||||
power: {
|
||||
0: 'None',
|
||||
1: 'Under kW',
|
||||
2: 'Over kW',
|
||||
4: 'Under kVAR Consumed',
|
||||
8: 'Over kVAR Consumed',
|
||||
16: 'Under kVAR Generated',
|
||||
32: 'Over kVAR Generated',
|
||||
64: 'Under kVA',
|
||||
128: 'Over kVA',
|
||||
256: 'Under PF Lag',
|
||||
512: 'Over PF Lag',
|
||||
1024: 'Under PF Lead',
|
||||
2048: 'Over PF Lead'
|
||||
},
|
||||
|
||||
};
|
||||
var nodeID = <%= node.nodeId %>;
|
||||
var nodeType = '<%= node.nodetypeName %>';
|
||||
var channelData = {
|
||||
tripstatuscurrentint: {channelId: <%= channels['ipp.tripstatuscurrentint'].channelId %>, typ: 'current', table: 'triptable'},
|
||||
tripstatuscontrolint: {channelId: <%= channels['ipp.tripstatuscontrolint'].channelId %>, typ: 'control', table: 'triptable'},
|
||||
tripstatusvoltageint: {channelId: <%= channels['ipp.tripstatusvoltageint'].channelId %>, typ: 'voltage', table: 'triptable'},
|
||||
tripstatuspowerint: {channelId: <%= channels['ipp.tripstatuspowerint'].channelId %>, typ: 'power', table: 'triptable'},
|
||||
warningstatuscurrentint: {channelId: <%= channels['ipp.warningstatuscurrentint'].channelId %>, typ: 'current', table: 'warningtable'},
|
||||
warningstatuscontrolint: {channelId: <%= channels['ipp.warningstatuscontrolint'].channelId %>, typ: 'control', table: 'warningtable'},
|
||||
warningstatusvoltageint: {channelId: <%= channels['ipp.warningstatusvoltageint'].channelId %>, typ: 'voltage', table: 'warningtable'},
|
||||
warningstatuspowerint: {channelId: <%= channels['ipp.warningstatuspowerint'].channelId %>, typ: 'power', table: 'warningtable'}
|
||||
}
|
||||
var pad2 = function(str){
|
||||
return ("00" + str).slice(-2);
|
||||
}
|
||||
|
||||
var formatDate = function(d){
|
||||
return pad2(d.getUTCMonth() + 1) + "/" + pad2(d.getUTCDate()) + "/" + d.getUTCFullYear() + " " + pad2(d.getUTCHours()) + ":" + pad2(d.getUTCMinutes()) + ":" + pad2(d.getUTCSeconds());
|
||||
};
|
||||
|
||||
var getDate = function(str){
|
||||
var c1 = new Date(str);
|
||||
var c2 = (c1.getTime() / 1000);
|
||||
c2 = Math.floor(c2);
|
||||
return c2.toString();
|
||||
};
|
||||
|
||||
var updateTable = function(chData, chName){
|
||||
// var endDate = new Date();
|
||||
// var end = Math.floor(endDate.getTime() / 1000);
|
||||
// var start = end - 86400;
|
||||
var start = $('#datepicker').find('#fromDate');
|
||||
//console.log({start:start.val()});
|
||||
dateString = start.val().replace(/-/g, "/");
|
||||
start = getDate(dateString);
|
||||
|
||||
var end = $('#datepicker').find('#toDate');
|
||||
//console.log({end:end.val()});
|
||||
dateString = end.val().replace(/-/g, "/");
|
||||
end = parseInt(getDate(dateString)) + 86400;
|
||||
|
||||
var apiData = "&nodelist[0][nodeId]=" + nodeID.toString() + "&nodelist[0][channelId]=" + chData['channelId'].toString();
|
||||
apiData += "&start=" + start + "&end=" + end;
|
||||
console.log(apiData);
|
||||
|
||||
$.ajax({
|
||||
url: "http://www.pocloud.io/api2/Nodechannels",
|
||||
data: apiData,
|
||||
dataType: "json",
|
||||
type: "GET",
|
||||
success: function(data) {
|
||||
var dataPoints = data.listofstreams[0];
|
||||
for(var i = dataPoints.stream.length-1; i > 0; i--){
|
||||
var dpt = dataPoints.stream[i];
|
||||
var timestamp = new Date(dpt.x * 1000);
|
||||
var val = maps[chData.typ][parseInt(dpt.y)];
|
||||
if (val !== 'None'){
|
||||
// channelData[chName]['values'].push({t:timestamp, val:val});
|
||||
tripData.push({t:timestamp, val:val, table: chData.table});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var prepTable = function(){
|
||||
// tripData = [];
|
||||
for (var channel in channelData){
|
||||
if(channelData.hasOwnProperty(channel)){
|
||||
updateTable(channelData[channel], channel);
|
||||
}
|
||||
}
|
||||
|
||||
var sortedTripData = tripData.sort(function(a,b){return b.t-a.t;});
|
||||
$('#triptable > tbody:last-child').html("");
|
||||
$('#warningtable > tbody:last-child').html("");
|
||||
for (var i = 0; i < sortedTripData.length; i++){
|
||||
// console.log(sortedTripData[i]);
|
||||
$('#'+ sortedTripData[i].table + ' > tbody:last-child').append("<tr><td>" + formatDate(sortedTripData[i].t) + '</td><td>' + sortedTripData[i].val + '</td></tr>');
|
||||
}
|
||||
return true;
|
||||
};
|
||||
|
||||
$(document).ready(function(){
|
||||
$("#runButton").click(function(){
|
||||
// tripData = [];
|
||||
prepTable();
|
||||
});
|
||||
prepTable();
|
||||
console.log(tripData);
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class='clearfix col-xs-12' style='height: 450px' id="dynamicChart" data-chart="dynamicchart" data-daysofhistory="7" data-chartlabel="Data" data-ylabel="" data-xlabel="Date" data-units="" data-channelnames="ipp.e300averagecurrent,ipp.e300l1current,ipp.e300l2current,ipp.e300l3current,ipp.e300averagellvoltage,ipp.e300l1l2voltage,ipp.e300l2l3voltage,ipp.e300l3l1voltage,ipp.dhintakepressure,ipp.dhintaketemperature,ipp.dhfluidlevel,ipp.pressurein,ipp.e300linefrequency,ipp.e300percentcurrentunbalance,ipp.e300percentvoltageunbalance"></div>
|
||||
<div class='clearfix col-xs-12' style='height: 450px' id="dynamicChart" data-chart="dynamicchart" data-daysofhistory="7" data-chartlabel="Data" data-ylabel="" data-xlabel="Date" data-units="" data-channelnames="ipp.e300averagecurrent,ipp.e300l1current,ipp.e300l2current,ipp.e300l3current,ipp.e300averagellvoltage,ipp.e300l1l2voltage,ipp.e300l2l3voltage,ipp.e300l3l1voltage,ipp.dhintakepressure,ipp.dhintaketemperature,ipp.dhfluidlevel,ipp.pressurein,ipp.e300linefrequency,ipp.e300percentcurrentunbalance,ipp.e300percentvoltageunbalance,ipp.flowrate"></div>
|
||||
<style>
|
||||
.dynamic-chart-form {
|
||||
background-color: whiteSmoke;
|
||||
|
||||
@@ -3,12 +3,10 @@
|
||||
"driverFileName":"ipp.py",
|
||||
"deviceName":"ipp",
|
||||
"driverId":"0090",
|
||||
"releaseVersion":"2",
|
||||
"releaseVersion":"3",
|
||||
"files": {
|
||||
"file1":"ipp.py",
|
||||
"file2":"micro800.py",
|
||||
"file3":"ipp_channels.p",
|
||||
"file4":"ipp_channels_setup.py"
|
||||
"file2":"micro800.py"
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -9,6 +9,71 @@ addr = '10.20.4.5'
|
||||
channels = {}
|
||||
|
||||
|
||||
e300_current = {
|
||||
0: 'None',
|
||||
1: 'Overload',
|
||||
2: 'Phase Loss',
|
||||
4: 'Ground Fault',
|
||||
8: 'Stall',
|
||||
16: 'Jam',
|
||||
32: 'Underload',
|
||||
64: 'Current Imbalance',
|
||||
128: 'L1 Undercurrent',
|
||||
256: 'L2 Undercurrent',
|
||||
512: 'L3 Undercurrent',
|
||||
1024: 'L1 Overcurrent',
|
||||
2048: 'L2 Overcurrent',
|
||||
4096: 'L3 Overcurrent',
|
||||
8192: 'L1 Line Loss',
|
||||
16384: 'L2 Line Loss',
|
||||
32768: 'L3 Line Loss'
|
||||
}
|
||||
|
||||
e300_voltage = {
|
||||
0: 'None',
|
||||
1: 'Undervoltage',
|
||||
2: 'Overvoltage',
|
||||
4: 'Voltage Unbalance',
|
||||
8: 'Phase Rotation',
|
||||
16: 'Overfrequency'
|
||||
}
|
||||
|
||||
e300_control = {
|
||||
0: 'None',
|
||||
1: 'Test Trip',
|
||||
2: 'DLX Trip',
|
||||
4: 'PTC Trip',
|
||||
8: 'Operator Station Trip',
|
||||
16: 'Remote Trip',
|
||||
32: 'Blocked Start Trip',
|
||||
64: 'Hardware Fault Trip',
|
||||
128: 'Config Trip',
|
||||
256: 'Option Match Trip',
|
||||
512: 'DLX FB Timeout Trip',
|
||||
1024: 'Expansion Bus Trip',
|
||||
2048: 'Reserved',
|
||||
4096: 'Reserved',
|
||||
8192: 'NVS Trip',
|
||||
16384: 'Test Mode Trip'
|
||||
}
|
||||
|
||||
e300_power = {
|
||||
0: 'None',
|
||||
1: 'Under kW',
|
||||
2: 'Over kW',
|
||||
4: 'Under kVAR Consumed',
|
||||
8: 'Over kVAR Consumed',
|
||||
16: 'Under kVAR Generated',
|
||||
32: 'Over kVAR Generated',
|
||||
64: 'Under kVA',
|
||||
128: 'Over kVA',
|
||||
256: 'Under PF Lag',
|
||||
512: 'Over PF Lag',
|
||||
1024: 'Under PF Lead',
|
||||
2048: 'Over PF Lead'
|
||||
}
|
||||
|
||||
|
||||
class Channel():
|
||||
def read(self):
|
||||
valData = u800.readMicroTag(self.device_addr, self.tag)
|
||||
@@ -17,7 +82,7 @@ class Channel():
|
||||
if self.map_obj:
|
||||
nowVal = self.map_obj[nowVal]
|
||||
self.data_type = valData[1]
|
||||
if self.data_type == "BOOL":
|
||||
if (self.data_type == "BOOL") or (type(nowVal) is str) or (type(nowVal) is str):
|
||||
if self.last_value == "":
|
||||
self.sendFn(self.name, nowVal, 0)
|
||||
self.last_time_uploaded = time.time()
|
||||
@@ -26,7 +91,7 @@ class Channel():
|
||||
self.sendFn(self.name, nowVal, 0)
|
||||
self.last_time_uploaded = time.time()
|
||||
self.last_value = nowVal
|
||||
if (self.data_type == "REAL") or (self.data_type[-3:] == "INT"):
|
||||
elif (self.data_type == "REAL") or (self.data_type[-3:] == "INT"):
|
||||
if self.last_value == "":
|
||||
self.sendFn(self.name, nowVal, 0)
|
||||
self.last_time_uploaded = time.time()
|
||||
@@ -56,17 +121,24 @@ class Channel():
|
||||
|
||||
def write(self, val, handshake=None, handshake_val=None):
|
||||
if self.writeable:
|
||||
h = handshake
|
||||
hval = handshake_val
|
||||
if h is None:
|
||||
if u800.writeMicroTag(self.device_addr, self.tag, val, handshake=self.tag, handshake_val=val):
|
||||
self.sendFn(self.name, val, time.time())
|
||||
self.last_value = val
|
||||
return True
|
||||
if not self.e300_param:
|
||||
if handshake is None:
|
||||
if u800.writeMicroTag(self.device_addr, self.tag, val):
|
||||
self.sendFn(self.name, val, time.time())
|
||||
self.last_value = val
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
else:
|
||||
return False
|
||||
return u800.writeMicroTag(self.device_addr, self.tag, val, handshake=handshake, handshake_val=handshake_val)
|
||||
else:
|
||||
return u800.writeMicroTag(self.device_addr, self.tag, val, handshake=h, handshake_val=hval)
|
||||
if u800.writeMicroTag(self.device_addr, self.tag, val):
|
||||
if u800.writeMicroTag(self.device_addr, "write_E300", 1):
|
||||
self.sendFn(self.name, val, time.time())
|
||||
self.last_value = val
|
||||
return True
|
||||
return False
|
||||
|
||||
else:
|
||||
print("NOT ALLOWED TO WRITE TO {}".format(self.name))
|
||||
return False
|
||||
@@ -74,20 +146,9 @@ class Channel():
|
||||
|
||||
class start(threading.Thread, deviceBase):
|
||||
def writeTag_WriteE300(self, addr, tag, val):
|
||||
c = u800.Driver()
|
||||
if c.open(addr):
|
||||
try:
|
||||
cv = c.read_tag(tag)
|
||||
wt = c.write_tag(tag, val, cv[1])
|
||||
write_E300 = c.write_tag("cfg_WRITE", 1, "BOOL")
|
||||
print("wt= {}, write_E300 = {}".format(wt, write_E300))
|
||||
return wt and write_E300
|
||||
except Exception:
|
||||
err = c.get_status()
|
||||
c.close()
|
||||
print err
|
||||
return False
|
||||
c.close()
|
||||
write_tag = u800.writeMicroTag(addr, tag, val)
|
||||
write_e300 = u800.writeMicroTag(addr, "write_E300", 1)
|
||||
return write_tag and write_e300
|
||||
|
||||
def updateGPS(self):
|
||||
gps = self.mcu.gps
|
||||
@@ -218,6 +279,7 @@ class start(threading.Thread, deviceBase):
|
||||
'e300totalapparentpower': Channel('e300totalapparentpower', 'E300_TotalApparentPower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'e300totalreactivepower': Channel('e300totalreactivepower', 'E300_TotalReactivePower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'e300totalrealpower': Channel('e300totalrealpower', 'E300_TotalRealPower', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'flowrate': Channel('flowrate', 'Flowrate', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'handmode': Channel('handmode', 'Hand_Mode', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
|
||||
'overloadtrip': Channel('overloadtrip', 'OverloadTrip', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
|
||||
'pressurealarmdelay': Channel('pressurealarmdelay', 'Pressure_Alarm_Delay', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
|
||||
@@ -274,10 +336,10 @@ class start(threading.Thread, deviceBase):
|
||||
'tripenablevvoltageunbalance': Channel('tripenablevvoltageunbalance', 'TripEnable_V_VoltageUnbalance', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
|
||||
'tripresetcmd': Channel('tripresetcmd', 'TripResetCmd', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
|
||||
'tripstatus': Channel('tripstatus', 'TripStatus', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
|
||||
'tripstatuscontrolint': Channel('tripstatuscontrolint', 'TripStatusControl_INT', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'tripstatuscurrentint': Channel('tripstatuscurrentint', 'TripStatusCurrent_INT', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'tripstatuspowerint': Channel('tripstatuspowerint', 'TripStatusPower_INT', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'tripstatusvoltageint': Channel('tripstatusvoltageint', 'TripStatusVoltage_INT', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'tripstatuscontrolint': Channel('tripstatuscontrolint', 'TripStatusControl_INT', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False, map_obj=e300_control),
|
||||
'tripstatuscurrentint': Channel('tripstatuscurrentint', 'TripStatusCurrent_INT', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False, map_obj=e300_current),
|
||||
'tripstatuspowerint': Channel('tripstatuspowerint', 'TripStatusPower_INT', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False, map_obj=e300_power),
|
||||
'tripstatusvoltageint': Channel('tripstatusvoltageint', 'TripStatusVoltage_INT', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False, map_obj=e300_voltage),
|
||||
'valoverloadtripcount': Channel('valoverloadtripcount', 'val_OverloadTripCount', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'valtripcount': Channel('valtripcount', 'val_TripCount', 3600, self.sendtodbJSON, writeable=False, change_threshold=1.0, e300_param=False),
|
||||
'voltageok': Channel('voltageok', 'VoltageOK', 3600, self.sendtodbJSON, writeable=False, e300_param=False),
|
||||
@@ -298,10 +360,10 @@ class start(threading.Thread, deviceBase):
|
||||
'warningenablevundervoltage': Channel('warningenablevundervoltage', 'WarningEnable_V_Undervoltage', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
|
||||
'warningenablevvoltageunbalance': Channel('warningenablevvoltageunbalance', 'WarningEnable_V_VoltageUnbalance', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
|
||||
'warningstatus': Channel('warningstatus', 'WarningStatus', 3600, self.sendtodbJSON, writeable=True, e300_param=False),
|
||||
'warningstatuscontrolint': Channel('warningstatuscontrolint', 'WarningStatusControl_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
|
||||
'warningstatuscurrentint': Channel('warningstatuscurrentint', 'WarningStatusCurrent_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
|
||||
'warningstatuspowerint': Channel('warningstatuspowerint', 'WarningStatusPower_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
|
||||
'warningstatusvoltageint': Channel('warningstatusvoltageint', 'WarningStatusVoltage_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),
|
||||
'warningstatuscontrolint': Channel('warningstatuscontrolint', 'WarningStatusControl_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False, map_obj=e300_control),
|
||||
'warningstatuscurrentint': Channel('warningstatuscurrentint', 'WarningStatusCurrent_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False, map_obj=e300_current),
|
||||
'warningstatuspowerint': Channel('warningstatuspowerint', 'WarningStatusPower_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False, map_obj=e300_power),
|
||||
'warningstatusvoltageint': Channel('warningstatusvoltageint', 'WarningStatusVoltage_INT', 3600, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False, map_obj=e300_voltage),
|
||||
}
|
||||
|
||||
def __init__(self, name=None, number=None, mac=None, Q=None, mcu=None, companyId=None, offset=None, mqtt=None, Nodes=None):
|
||||
@@ -310,12 +372,14 @@ class start(threading.Thread, deviceBase):
|
||||
deviceBase.__init__(self, name=name, number=number, mac=mac, Q=Q, mcu=mcu, companyId=companyId, offset=offset, mqtt=mqtt, Nodes=Nodes)
|
||||
|
||||
self.daemon = True
|
||||
self.version = "2"
|
||||
self.version = "3"
|
||||
self.device_address = addr
|
||||
self.finished = threading.Event()
|
||||
threading.Thread.start(self)
|
||||
self.sendtodbJSON("device_address", self.device_address, 0)
|
||||
self.setupChannels()
|
||||
self.e300_warning = ""
|
||||
self.e300_trip = ""
|
||||
# self.updateGPS()
|
||||
|
||||
# this is a required function for all drivers, its goal is to upload some piece of data
|
||||
@@ -334,6 +398,50 @@ class start(threading.Thread, deviceBase):
|
||||
for i in channels:
|
||||
channels[i].read()
|
||||
runLoopStatus = i
|
||||
time.sleep(0.25)
|
||||
|
||||
if not (channels['tripstatuscurrentint'].last_value == "None"):
|
||||
if not (self.e300_trip == channels['tripstatuscurrentint'].last_value):
|
||||
self.e300_trip = channels['tripstatuscurrentint'].last_value
|
||||
self.sendtodb("e300tripstatus", self.e300_trip, time.time())
|
||||
elif not (channels['tripstatusvoltageint'].last_value == "None"):
|
||||
if not (self.e300_trip == channels['tripstatusvoltageint'].last_value):
|
||||
self.e300_trip = channels['tripstatusvoltageint'].last_value
|
||||
self.sendtodb("e300tripstatus", self.e300_trip, time.time())
|
||||
elif not (channels['tripstatuscontrolint'].last_value == "None"):
|
||||
if not (self.e300_trip == channels['tripstatuscontrolint'].last_value):
|
||||
self.e300_trip = channels['tripstatuscontrolint'].last_value
|
||||
self.sendtodb("e300tripstatus", self.e300_trip, time.time())
|
||||
elif not (channels['tripstatuspowerint'].last_value == "None"):
|
||||
if not (self.e300_trip == channels['tripstatuspowerint'].last_value):
|
||||
self.e300_trip = channels['tripstatuspowerint'].last_value
|
||||
self.sendtodb("e300tripstatus", self.e300_trip, time.time())
|
||||
else:
|
||||
if not (self.e300_trip == "None"):
|
||||
self.e300_trip = "None"
|
||||
self.sendtodb("e300tripstatus", self.e300_trip, time.time())
|
||||
|
||||
if not (channels['warningstatuscurrentint'].last_value == "None"):
|
||||
if not (self.e300_warning == channels['warningstatuscurrentint'].last_value):
|
||||
self.e300_warning = channels['warningstatuscurrentint'].last_value
|
||||
self.sendtodb("e300warningstatus", self.e300_warning, time.time())
|
||||
elif not (channels['warningstatusvoltageint'].last_value == "None"):
|
||||
if not (self.e300_warning == channels['warningstatusvoltageint'].last_value):
|
||||
self.e300_warning = channels['warningstatusvoltageint'].last_value
|
||||
self.sendtodb("e300warningstatus", self.e300_warning, time.time())
|
||||
elif not (channels['warningstatuscontrolint'].last_value == "None"):
|
||||
if not (self.e300_warning == channels['warningstatuscontrolint'].last_value):
|
||||
self.e300_warning = channels['warningstatuscontrolint'].last_value
|
||||
self.sendtodb("e300warningstatus", self.e300_warning, time.time())
|
||||
elif not (channels['warningstatuspowerint'].last_value == "None"):
|
||||
if not (self.e300_warning == channels['warningstatuspowerint'].last_value):
|
||||
self.e300_warning = channels['warningstatuspowerint'].last_value
|
||||
self.sendtodb("e300warningstatus", self.e300_warning, time.time())
|
||||
else:
|
||||
if not (self.e300_warning == "None"):
|
||||
self.e300_warning = "None"
|
||||
self.sendtodb("e300warningstatus", self.e300_warning, time.time())
|
||||
|
||||
runLoopStatus = "Complete"
|
||||
OK_state = 1
|
||||
if not OK_state == last_OK_state:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -1,11 +1,11 @@
|
||||
from pycomm.ab_comm.clx import Driver as u800Driver
|
||||
from pycomm.ab_comm.clx import Driver as plcDriver
|
||||
import sys
|
||||
|
||||
|
||||
def readMicroTag(addr, tag):
|
||||
addr = str(addr)
|
||||
tag = str(tag)
|
||||
c = u800Driver()
|
||||
c = plcDriver()
|
||||
if c.open(addr, True):
|
||||
try:
|
||||
v = c.read_tag(tag)
|
||||
@@ -14,13 +14,15 @@ def readMicroTag(addr, tag):
|
||||
except Exception:
|
||||
err = c.get_status()
|
||||
c.close()
|
||||
print("Error with {}: {}".format(tag, err))
|
||||
print "{} on reading {} from {}".format(err, tag, addr)
|
||||
pass
|
||||
c.close()
|
||||
|
||||
|
||||
def getTagType(addr, tag):
|
||||
c = u800Driver()
|
||||
addr = str(addr)
|
||||
tag = str(tag)
|
||||
c = plcDriver()
|
||||
if c.open(addr, True):
|
||||
try:
|
||||
return c.read_tag(tag)[1]
|
||||
@@ -32,25 +34,69 @@ def getTagType(addr, tag):
|
||||
c.close()
|
||||
|
||||
|
||||
def writeMicroTag(addr, tag, val):
|
||||
c = u800Driver()
|
||||
def write(addr, tag, val, t):
|
||||
addr = str(addr)
|
||||
tag = str(tag)
|
||||
c = plcDriver()
|
||||
if c.open(addr, True):
|
||||
try:
|
||||
# typ = getTagType(addr, tag)
|
||||
cv = c.read_tag(tag)
|
||||
wt = c.write_tag(tag, val, cv[1])
|
||||
# print(wt)
|
||||
wt = c.write_tag(tag, val, t)
|
||||
return wt
|
||||
except Exception:
|
||||
err = c.get_status()
|
||||
c.close()
|
||||
print err
|
||||
pass
|
||||
print("Write Error: {} setting {} at {} to {} type {}".format(err, tag, addr, val, t))
|
||||
return False
|
||||
c.close()
|
||||
|
||||
|
||||
def closeEnough(a, b):
|
||||
return abs(a - b) <= 0.001
|
||||
|
||||
|
||||
def writeMicroTag(addr, tag, val, handshake=None, handshake_val=None):
|
||||
addr = str(addr)
|
||||
tag = str(tag)
|
||||
print("handshake: {}, handshake_val: {}".format(handshake, handshake_val))
|
||||
chk_tag = tag
|
||||
if not(handshake is None) and not(handshake == "None"):
|
||||
chk_tag = str(handshake)
|
||||
print("Handshake tag passed, using {}".format(chk_tag))
|
||||
chk_val = val
|
||||
if not (handshake_val is None) and not(handshake_val == "None"):
|
||||
chk_val = handshake_val
|
||||
print("Handshake value passed, using {}".format(chk_val))
|
||||
attempts_allowed = 5
|
||||
attempts = 1
|
||||
|
||||
while attempts <= attempts_allowed:
|
||||
try:
|
||||
attempts = attempts + 1
|
||||
cv = readMicroTag(addr, tag)
|
||||
print("Val Before Write: {}".format(cv))
|
||||
if cv:
|
||||
if cv[1] == "REAL":
|
||||
val = float(val)
|
||||
chk_val = float(chk_val)
|
||||
else:
|
||||
val = int(val)
|
||||
chk_val = int(chk_val)
|
||||
wt = write(addr, tag, val, cv[1])
|
||||
if wt:
|
||||
print("write: {}".format(wt))
|
||||
chk = readMicroTag(addr, chk_tag)
|
||||
if chk:
|
||||
print("chk: {}, chk_val: {}".format(chk, chk_val))
|
||||
if closeEnough(chk[0], chk_val):
|
||||
return True
|
||||
except Exception as e:
|
||||
print e
|
||||
return False
|
||||
|
||||
|
||||
def readMicroTagList(addr, tList):
|
||||
c = u800Driver()
|
||||
addr = str(addr)
|
||||
c = plcDriver()
|
||||
if c.open(addr, True):
|
||||
vals = []
|
||||
try:
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
import pickle
|
||||
with open("ipp_channels.p", 'rb') as picklefile:
|
||||
channels = pickle.load(picklefile)
|
||||
|
||||
for chname in sorted(channels):
|
||||
ch = channels[chname]
|
||||
if ch['data_type'] == "BOOL":
|
||||
print("'{0}': Channel('{0}', '{1}', {2}, self.sendtodbJSON, writeable=True, e300_param=False),".format(chname, ch['tag'], ch['max_time_between_uploads']))
|
||||
else:
|
||||
print("'{0}': Channel('{0}', '{1}', {2}, self.sendtodbJSON, writeable=True, change_threshold=1.0, e300_param=False),".format(chname, ch['tag'], ch['max_time_between_uploads']))
|
||||
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