41 Commits

Author SHA1 Message Date
Patrick McDonagh
0c2defa280 Configured files for Driver V3 and uploaded to S3 2016-08-12 10:26:57 -05:00
Patrick McDonagh
75040109c5 Completes IPP-68 by mapping E300 status to a string 2016-08-08 12:17:45 -05:00
Patrick McDonagh
4e75523e2c Completes IPP-104, Flow now added to driver. Starts working on mapping E300 faults to strings, and then to one final string. IPP-68 2016-08-04 16:38:13 -05:00
Patrick McDonagh
4d8e3c1791 Merge pull request #3 in IPP/e300-ipp from feature/IPP-97-Flow-and-Totalization to master
* commit '1e6c5f3bec5eb7f719d8c40444b88336d3d1ab0b':
  Added HMI Screens and Flow Totalizer Logic. Resolution is 10 seconds.
  Added scaled flow to Analog Input 1
2016-08-01 20:00:06 +00:00
Patrick McDonagh
1e6c5f3bec Added HMI Screens and Flow Totalizer Logic. Resolution is 10 seconds. 2016-07-31 18:59:38 -05:00
Patrick McDonagh
cd26d7af5e Added scaled flow to Analog Input 1 2016-07-31 18:04:31 -05:00
Patrick McDonagh
38869bc514 Resolves IPP- 59. Enables writing to E300 after the tag value is set. Needs testing 2016-07-18 16:13:56 -05:00
Patrick McDonagh
523e6c435e Adds a sample modbus map for M1 configuration 2016-07-15 17:01:18 -05:00
Patrick McDonagh
c876eb53c9 No longer need pycomm_micro since my changes are now in pycomm 2016-07-15 17:00:52 -05:00
Patrick McDonagh
0f0bbdd061 Fixes ipp reading from Micro800 using class instances 2016-07-15 17:00:22 -05:00
Patrick McDonagh
d1440a9a36 Merge branch 'master' of http://bitbucket.poconsole.net/scm/ipp/e300-ipp 2016-07-15 09:01:45 -05:00
Patrick McDonagh
ae209c7b39 Adds error tracking to micro800 write tag 2016-07-14 18:55:12 -05:00
Patrick McDonagh
8bec0aafd4 Updated ipp.py to use new pycomm functions and Channel class instances 2016-07-14 18:32:04 -05:00
Patrick McDonagh
5b2b8571a7 Added pickle_to_class.py for converting pickled tags to class instances 2016-07-14 17:45:11 -05:00
Patrick McDonagh
6ee3662342 Changes time to Epoch time (See HPU-60), adds alarm channels to driver, trip limit reached tags 2016-07-13 16:12:19 -05:00
Patrick McDonagh
37605fe41d Writes 1 to cmd_Write after setting an E300 parameter 2016-07-13 08:04:43 -05:00
Patrick McDonagh
3602d40d9b Removes warning enables for E300 configuration parameters that do not have warnings 2016-07-13 08:04:09 -05:00
Patrick McDonagh
38bfdb5312 Fix for IPP-49. Timer was being told to run, but timer cycle was never started when powering up 2016-06-17 10:01:33 -05:00
Patrick McDonagh
1240e53f15 Fixes IPP-47. Timer no longer acts like a fault being cleared 2016-06-15 14:36:36 -05:00
Patrick McDonagh
875a9ad405 Merged branch master into master 2016-06-14 19:02:31 -05:00
Patrick McDonagh
9d97df075b Closes IPP-42. Trip and Warning History 2016-06-14 19:02:11 -05:00
Patrick McDonagh
82177cafed Fixes Wrong IO mapping after accidentally saving the Demo Unit program 2016-06-08 09:41:49 -05:00
Patrick McDonagh
c641ae64c7 Fixes IPP-46. DH Intake pressure is now automatically offset by -14PSI to show true pressure 2016-06-06 12:11:31 -05:00
Patrick McDonagh
1b9b5e1623 Merged branch master into master 2016-06-06 10:12:06 -05:00
Patrick McDonagh
7baff1f2f7 Updated driver to v2 2016-06-06 10:11:53 -05:00
Patrick McDonagh
f6f04586a0 Fixes IPP-38. Also converts time until startup from seconds to HH:SS 2016-06-03 11:17:45 -05:00
Patrick McDonagh
07ca941d70 Fixes HTML templates per IPP-40, IPP-44, and IPP-45 2016-06-02 16:17:04 -05:00
Patrick McDonagh
4940c83bb4 Adds HOA status 2016-05-27 17:32:27 -05:00
Patrick McDonagh
e7bce66d83 Begins adding E300 parameters to Config Page 2016-05-26 12:09:27 -05:00
Patrick McDonagh
bcf19f26fb fixes functions for writing to PLC 2016-05-26 10:17:19 -05:00
Patrick McDonagh
c393d346c9 Added alarms and popups 2016-05-24 21:12:15 -05:00
Patrick McDonagh
1e3fc4830b Merge remote-tracking branch 'origin/feature/IPP-22-pocloud-driver' 2016-05-24 20:55:02 -05:00
Patrick McDonagh
c73a8d1a17 Merge branch 'feature/IPP-22-pocloud-driver' 2016-05-23 17:49:13 -05:00
Patrick McDonagh
6d6f498148 Cleans up files 2016-05-12 23:55:38 -05:00
Patrick McDonagh
fca600c2aa Fixed IPP-32, IPP-33, IPP-34, IPP-35, IPP-36, IPP-37 2016-05-12 17:15:05 -05:00
Patrick McDonagh
e1cf7ba053 Fixes issue where pump is running, but status shows "Not Ready to Start" 2016-05-11 13:39:54 -05:00
Patrick McDonagh
57ebc3c6ab Fixes IPP-29. Attempts to clear E300 trips every 10 seconds when tripped 2016-05-10 14:24:12 -05:00
Patrick McDonagh
d7a70f5d20 IPP-28 and IPP-26 fixes. No longer restarts at weird times 2016-05-10 10:44:02 -05:00
Patrick McDonagh
247313ba42 Don't allow restarts if the unit switched to "Off" 2016-05-09 22:44:56 -05:00
Patrick McDonagh
3a0e47a96b Added password and changed config screen access rights to CONFIGSCREENS 2016-05-05 16:44:16 -05:00
Patrick McDonagh
381ed59f8d Fixed HMI Screen for setting Timer parameters 2016-04-27 11:40:24 -05:00
151 changed files with 4031 additions and 8929 deletions

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<DevicePreferences xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Micro800ConnectionPath>SHOPPC!AB_ETHIP-1\10.20.4.5</Micro800ConnectionPath>
<Micro800ConnectionPath>PMCDONAGH-SURF!AB_ETH-1\10.20.4.5</Micro800ConnectionPath>
</DevicePreferences>

View File

@@ -8,7 +8,7 @@
<DLGRCP_VarVA>
<DLGRCP_VarVA>
<ArrayLength>1</ArrayLength>
<VirtualAddress>1360</VirtualAddress>
<VirtualAddress>1368</VirtualAddress>
<Name>DH_IntakeTemperature</Name>
<Index>1</Index>
<ISaDataType>REAL</ISaDataType>
@@ -18,7 +18,7 @@
</DLGRCP_VarVA>
<DLGRCP_VarVA>
<ArrayLength>1</ArrayLength>
<VirtualAddress>1364</VirtualAddress>
<VirtualAddress>1372</VirtualAddress>
<Name>DH_IntakePressure</Name>
<Index>2</Index>
<ISaDataType>REAL</ISaDataType>
@@ -28,7 +28,7 @@
</DLGRCP_VarVA>
<DLGRCP_VarVA>
<ArrayLength>1</ArrayLength>
<VirtualAddress>2141</VirtualAddress>
<VirtualAddress>2201</VirtualAddress>
<Name>DH_DownholeStatus</Name>
<Index>3</Index>
<ISaDataType>STRING</ISaDataType>

View File

@@ -45,11 +45,17 @@ Controller.Micro820.Micro820._IO_EM_DO_05 FALSE
Controller.Micro820.Micro820._IO_EM_DO_06 FALSE
Controller.Micro820.Micro820._IO_P1_AI_00
Controller.Micro820.Micro820._IO_P1_AI_01
Controller.Micro820.Micro820.alarm_DHPressure
Controller.Micro820.Micro820.alarm_DHTemperature
Controller.Micro820.Micro820.alarm_E300
Controller.Micro820.Micro820.alarm_E300_Message
Controller.Micro820.Micro820.alarm_TubingPressure
Controller.Micro820.Micro820.Auto_Mode FALSE
Controller.Micro820.Micro820.cfg_C_FLASetting 10.0
Controller.Micro820.Micro820.cfg_C_TripEnableControl 8393
Controller.Micro820.Micro820.cfg_C_WarningEnableControl 0
Controller.Micro820.Micro820.cfg_ClearTripCountAfter
Controller.Micro820.Micro820.cfg_DHSensorDistToIntake
Controller.Micro820.Micro820.cfg_GF_GroundFaultInhibitTime 10
Controller.Micro820.Micro820.cfg_GF_GroundFaultTripDelay 0.5
Controller.Micro820.Micro820.cfg_GF_GroundFaultTripLevel 2.5
@@ -158,6 +164,7 @@ Controller.Micro820.Micro820.cfg_P_WarningEnablePower 0
Controller.Micro820.Micro820.cfg_PL_PhaseLossInhibitTime 0
Controller.Micro820.Micro820.cfg_PL_PhaseLossTripDelay 1.0
Controller.Micro820.Micro820.cfg_READ FALSE
Controller.Micro820.Micro820.cfg_ResetCycle
Controller.Micro820.Micro820.cfg_SpecificGravity
Controller.Micro820.Micro820.cfg_TCU_OLResetLevel 75
Controller.Micro820.Micro820.cfg_TCU_OLWarningLevel 85
@@ -198,6 +205,15 @@ Controller.Micro820.Micro820.Clear_Trip_Cycle T#15s
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.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
@@ -207,6 +223,36 @@ Controller.Micro820.Micro820.Control.LinearScale_Pressure.Raw_Inp 0.0
Controller.Micro820.Micro820.Control.LinearScale_Pressure.Raw_Max 32767.0
Controller.Micro820.Micro820.Control.LinearScale_Pressure.Raw_Min 0.0
Controller.Micro820.Micro820.Control.Pressure_Switch_OK FALSE
Controller.Micro820.Micro820.Control.RTrig_AutoMode.CLK
Controller.Micro820.Micro820.Control.RTrig_AutoMode.Q
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
@@ -5324,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
@@ -6172,16 +6241,22 @@ Controller.Micro820.Micro820.sts_TimerCycleActive
Controller.Micro820.Micro820.sts_TimerRunTimeSet
Controller.Micro820.Micro820.sts_TimerWaitTimeSet
Controller.Micro820.Micro820.sts_TripCountIncreased
Controller.Micro820.Micro820.sts_TripLimitOLReached
Controller.Micro820.Micro820.sts_TripLimitReached
Controller.Micro820.Micro820.Temp_Shutdown 75.0
Controller.Micro820.Micro820.Temp_Shutdown_Enabled FALSE
Controller.Micro820.Micro820.Temp_Startup 75.0
Controller.Micro820.Micro820.Temp_Startup_Enabled FALSE
Controller.Micro820.Micro820.Test_Mode FALSE
Controller.Micro820.Micro820.time_CurrentTime
Controller.Micro820.Micro820.time_RunTimeLeftMin
Controller.Micro820.Micro820.time_RunTimeLeftSec
Controller.Micro820.Micro820.time_TimerRunTime
Controller.Micro820.Micro820.time_TimerWaitTime
Controller.Micro820.Micro820.Time_Until_Startup
Controller.Micro820.Micro820.Time_Until_Startup_String
Controller.Micro820.Micro820.time_WaitTimeLeftMin
Controller.Micro820.Micro820.time_WaitTimeLeftSec
Controller.Micro820.Micro820.timer_RunTimeLeft
Controller.Micro820.Micro820.timer_WaitTimeLeft
Controller.Micro820.Micro820.TripEnable_V_Overfrequency FALSE
1 Controller.Micro820.Micro820.__SYSVA_ABORT_CYCLE FALSE
45 Controller.Micro820.Micro820._IO_EM_DO_06 FALSE
46 Controller.Micro820.Micro820._IO_P1_AI_00
47 Controller.Micro820.Micro820._IO_P1_AI_01
48 Controller.Micro820.Micro820.alarm_DHPressure
49 Controller.Micro820.Micro820.alarm_DHTemperature
50 Controller.Micro820.Micro820.alarm_E300
51 Controller.Micro820.Micro820.alarm_E300_Message
52 Controller.Micro820.Micro820.alarm_TubingPressure
53 Controller.Micro820.Micro820.Auto_Mode FALSE
54 Controller.Micro820.Micro820.cfg_C_FLASetting 10.0
55 Controller.Micro820.Micro820.cfg_C_TripEnableControl 8393
56 Controller.Micro820.Micro820.cfg_C_WarningEnableControl 0
57 Controller.Micro820.Micro820.cfg_ClearTripCountAfter
58 Controller.Micro820.Micro820.cfg_DHSensorDistToIntake
59 Controller.Micro820.Micro820.cfg_GF_GroundFaultInhibitTime 10
60 Controller.Micro820.Micro820.cfg_GF_GroundFaultTripDelay 0.5
61 Controller.Micro820.Micro820.cfg_GF_GroundFaultTripLevel 2.5
164 Controller.Micro820.Micro820.cfg_PL_PhaseLossInhibitTime 0
165 Controller.Micro820.Micro820.cfg_PL_PhaseLossTripDelay 1.0
166 Controller.Micro820.Micro820.cfg_READ FALSE
167 Controller.Micro820.Micro820.cfg_ResetCycle
168 Controller.Micro820.Micro820.cfg_SpecificGravity
169 Controller.Micro820.Micro820.cfg_TCU_OLResetLevel 75
170 Controller.Micro820.Micro820.cfg_TCU_OLWarningLevel 85
205 Controller.Micro820.Micro820.cmd_Run FALSE
206 Controller.Micro820.Micro820.cmd_TimerRun
207 Controller.Micro820.Micro820.Contactor_Status FALSE
208 Controller.Micro820.Micro820.Control.cmd_AutoModeTimerStart
209 Controller.Micro820.Micro820.Control.LinearScale_Flow.b
210 Controller.Micro820.Micro820.Control.LinearScale_Flow.EU_Max
211 Controller.Micro820.Micro820.Control.LinearScale_Flow.EU_Min
212 Controller.Micro820.Micro820.Control.LinearScale_Flow.EU_Out
213 Controller.Micro820.Micro820.Control.LinearScale_Flow.m
214 Controller.Micro820.Micro820.Control.LinearScale_Flow.Raw_Inp
215 Controller.Micro820.Micro820.Control.LinearScale_Flow.Raw_Max
216 Controller.Micro820.Micro820.Control.LinearScale_Flow.Raw_Min
217 Controller.Micro820.Micro820.Control.LinearScale_Pressure.b 300.0
218 Controller.Micro820.Micro820.Control.LinearScale_Pressure.EU_Max 300.0
219 Controller.Micro820.Micro820.Control.LinearScale_Pressure.EU_Min 300.0
223 Controller.Micro820.Micro820.Control.LinearScale_Pressure.Raw_Max 32767.0
224 Controller.Micro820.Micro820.Control.LinearScale_Pressure.Raw_Min 0.0
225 Controller.Micro820.Micro820.Control.Pressure_Switch_OK FALSE
226 Controller.Micro820.Micro820.Control.RTrig_AutoMode.CLK
227 Controller.Micro820.Micro820.Control.RTrig_AutoMode.Q
228 Controller.Micro820.Micro820.Control.RTrig_AutoMode.Redge
229 Controller.Micro820.Micro820.Control.TEST_started
230 Controller.Micro820.Micro820.Control.Time_Until_Startup_Min
231 Controller.Micro820.Micro820.Control.Time_Until_Startup_Sec
232 Controller.Micro820.Micro820.CurrentTimeRTC.day
233 Controller.Micro820.Micro820.CurrentTimeRTC.day_seconds
234 Controller.Micro820.Micro820.CurrentTimeRTC.Epoch
235 Controller.Micro820.Micro820.CurrentTimeRTC.hour
236 Controller.Micro820.Micro820.CurrentTimeRTC.hour_seconds
237 Controller.Micro820.Micro820.CurrentTimeRTC.min_seconds
238 Controller.Micro820.Micro820.CurrentTimeRTC.minute
239 Controller.Micro820.Micro820.CurrentTimeRTC.month
240 Controller.Micro820.Micro820.CurrentTimeRTC.prev_months_days
241 Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.Enable
242 Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCBatLow
243 Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.Day
244 Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.DayOfWeek
245 Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.Hours
246 Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.Minutes
247 Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.Month
248 Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.Seconds
249 Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCData.Year
250 Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCEnabled
251 Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_1.RTCPresent
252 Controller.Micro820.Micro820.CurrentTimeRTC.RTC_READ_ENABLED
253 Controller.Micro820.Micro820.CurrentTimeRTC.second
254 Controller.Micro820.Micro820.CurrentTimeRTC.year
255 Controller.Micro820.Micro820.CurrentTimeRTC.year_seconds
256 Controller.Micro820.Micro820.Device_Status 'Not ready to start'
257 Controller.Micro820.Micro820.DH_DischargePressure 0
258 Controller.Micro820.Micro820.DH_DischargeTemperature 0
5370 Controller.Micro820.Micro820.E300Data.WriteE300ConfigData.REAL_COP.Swap FALSE
5371 Controller.Micro820.Micro820.E300Data.WriteE300ConfigData.UpdateRate_ms 1000
5372 Controller.Micro820.Micro820.Enable_IO_Read TRUE
5373 Controller.Micro820.Micro820.Flow_EU_Max
5374 Controller.Micro820.Micro820.Flow_EU_Min
5375 Controller.Micro820.Micro820.Flow_Today
5376 Controller.Micro820.Micro820.Flow_Yesterday
5377 Controller.Micro820.Micro820.Flowrate
5378 Controller.Micro820.Micro820.FlowTotalizer.COP_1.__ADI_Dest
5379 Controller.Micro820.Micro820.FlowTotalizer.COP_1.__ADI_Src
5380 Controller.Micro820.Micro820.FlowTotalizer.COP_1.__DTI_Dest
5381 Controller.Micro820.Micro820.FlowTotalizer.COP_1.__DTI_Src
5382 Controller.Micro820.Micro820.FlowTotalizer.COP_1.Dest[1]
5383 Controller.Micro820.Micro820.FlowTotalizer.COP_1.DestOffset
5384 Controller.Micro820.Micro820.FlowTotalizer.COP_1.Enable
5385 Controller.Micro820.Micro820.FlowTotalizer.COP_1.Length
5386 Controller.Micro820.Micro820.FlowTotalizer.COP_1.Src[1]
5387 Controller.Micro820.Micro820.FlowTotalizer.COP_1.SrcOffset
5388 Controller.Micro820.Micro820.FlowTotalizer.COP_1.Sts
5389 Controller.Micro820.Micro820.FlowTotalizer.COP_1.Swap
5390 Controller.Micro820.Micro820.FlowTotalizer.TON_Totalizer.ET
5391 Controller.Micro820.Micro820.FlowTotalizer.TON_Totalizer.IN
5392 Controller.Micro820.Micro820.FlowTotalizer.TON_Totalizer.Pdate
5393 Controller.Micro820.Micro820.FlowTotalizer.TON_Totalizer.PT
5394 Controller.Micro820.Micro820.FlowTotalizer.TON_Totalizer.Q
5395 Controller.Micro820.Micro820.FlowTotalizer.TON_Totalizer.Redge
5396 Controller.Micro820.Micro820.Hand_Mode FALSE
5397 Controller.Micro820.Micro820.Modbus_Read0[1] 0
5398 Controller.Micro820.Micro820.Modbus_Read0[10] 0
6241 Controller.Micro820.Micro820.sts_TimerRunTimeSet
6242 Controller.Micro820.Micro820.sts_TimerWaitTimeSet
6243 Controller.Micro820.Micro820.sts_TripCountIncreased
6244 Controller.Micro820.Micro820.sts_TripLimitOLReached
6245 Controller.Micro820.Micro820.sts_TripLimitReached
6246 Controller.Micro820.Micro820.Temp_Shutdown 75.0
6247 Controller.Micro820.Micro820.Temp_Shutdown_Enabled FALSE
6248 Controller.Micro820.Micro820.Temp_Startup 75.0
6249 Controller.Micro820.Micro820.Temp_Startup_Enabled FALSE
6250 Controller.Micro820.Micro820.Test_Mode FALSE
6251 Controller.Micro820.Micro820.time_CurrentTime
6252 Controller.Micro820.Micro820.time_RunTimeLeftMin
6253 Controller.Micro820.Micro820.time_RunTimeLeftSec
6254 Controller.Micro820.Micro820.time_TimerRunTime
6255 Controller.Micro820.Micro820.time_TimerWaitTime
6256 Controller.Micro820.Micro820.Time_Until_Startup
6257 Controller.Micro820.Micro820.Time_Until_Startup_String
6258 Controller.Micro820.Micro820.time_WaitTimeLeftMin
6259 Controller.Micro820.Micro820.time_WaitTimeLeftSec
6260 Controller.Micro820.Micro820.timer_RunTimeLeft
6261 Controller.Micro820.Micro820.timer_WaitTimeLeft
6262 Controller.Micro820.Micro820.TripEnable_V_Overfrequency FALSE

View File

@@ -81,393 +81,393 @@
<mapping variable="Downhole_Tool_Enabled" parent="Micro820" dataType="Bool" address="100028" va="0x49d">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_GF_GroundFaultInhibitTime" parent="Micro820" dataType="USInt" address="100056" va="0x4c3">
<mapping variable="cfg_GF_GroundFaultInhibitTime" parent="Micro820" dataType="USInt" address="100056" va="0x4cb">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceInhibitTime" parent="Micro820" dataType="USInt" address="100064" va="0x4ca">
<mapping variable="cfg_I_CurrentImbalanceInhibitTime" parent="Micro820" dataType="USInt" address="100064" va="0x4d2">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceInhibitTime" parent="Micro820" dataType="USInt" address="100072" va="0x4ca">
<mapping variable="cfg_I_CurrentImbalanceInhibitTime" parent="Micro820" dataType="USInt" address="100072" va="0x4d2">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceTripDelay" parent="Micro820" dataType="USInt" address="100080" va="0x4cb">
<mapping variable="cfg_I_CurrentImbalanceTripDelay" parent="Micro820" dataType="USInt" address="100080" va="0x4d3">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceTripLevel" parent="Micro820" dataType="USInt" address="100088" va="0x4cc">
<mapping variable="cfg_I_CurrentImbalanceTripLevel" parent="Micro820" dataType="USInt" address="100088" va="0x4d4">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceWarningLevel" parent="Micro820" dataType="USInt" address="100096" va="0x4cd">
<mapping variable="cfg_I_CurrentImbalanceWarningLevel" parent="Micro820" dataType="USInt" address="100096" va="0x4d5">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_JamInhibitTime" parent="Micro820" dataType="USInt" address="100104" va="0x4c5">
<mapping variable="cfg_I_JamInhibitTime" parent="Micro820" dataType="USInt" address="100104" va="0x4cd">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_JamTripDelay" parent="Micro820" dataType="USInt" address="100112" va="0x4c6">
<mapping variable="cfg_I_JamTripDelay" parent="Micro820" dataType="USInt" address="100112" va="0x4ce">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_LineLossInhibitTime" parent="Micro820" dataType="USInt" address="100120" va="0x4dc">
<mapping variable="cfg_I_LineLossInhibitTime" parent="Micro820" dataType="USInt" address="100120" va="0x4e4">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_OvercurrentInhibitTime" parent="Micro820" dataType="USInt" address="100128" va="0x4d5">
<mapping variable="cfg_I_OvercurrentInhibitTime" parent="Micro820" dataType="USInt" address="100128" va="0x4dd">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_OvercurrentTripLevel" parent="Micro820" dataType="USInt" address="100136" va="0x4fe">
<mapping variable="cfg_I_OvercurrentTripLevel" parent="Micro820" dataType="USInt" address="100136" va="0x506">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_OvercurrentWarningLevel" parent="Micro820" dataType="USInt" address="100144" va="0x4ff">
<mapping variable="cfg_I_OvercurrentWarningLevel" parent="Micro820" dataType="USInt" address="100144" va="0x507">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_StallEnabledTime" parent="Micro820" dataType="USInt" address="100152" va="0x4c4">
<mapping variable="cfg_I_StallEnabledTime" parent="Micro820" dataType="USInt" address="100152" va="0x4cc">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_TripEnableCurrent" parent="Micro820" dataType="UInt" address="100160" va="0x51a">
<mapping variable="cfg_I_TripEnableCurrent" parent="Micro820" dataType="UInt" address="100160" va="0x522">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_UndercurrentInhibitTime" parent="Micro820" dataType="USInt" address="100176" va="0x4ce">
<mapping variable="cfg_I_UndercurrentInhibitTime" parent="Micro820" dataType="USInt" address="100176" va="0x4d6">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_C_WarningEnableControl" parent="Micro820" dataType="UInt" address="100184" va="0x528">
<mapping variable="cfg_C_WarningEnableControl" parent="Micro820" dataType="UInt" address="100184" va="0x530">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_UndercurrentTripLevel" parent="Micro820" dataType="USInt" address="100200" va="0x4fc">
<mapping variable="cfg_I_UndercurrentTripLevel" parent="Micro820" dataType="USInt" address="100200" va="0x504">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_UndercurrentWarningLevel" parent="Micro820" dataType="USInt" address="100208" va="0x4fd">
<mapping variable="cfg_I_UndercurrentWarningLevel" parent="Micro820" dataType="USInt" address="100208" va="0x505">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_UnderloadInhibitTime" parent="Micro820" dataType="USInt" address="100216" va="0x4c7">
<mapping variable="cfg_I_UnderloadInhibitTime" parent="Micro820" dataType="USInt" address="100216" va="0x4cf">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_UnderloadTripLevel" parent="Micro820" dataType="USInt" address="100224" va="0x4c8">
<mapping variable="cfg_I_UnderloadTripLevel" parent="Micro820" dataType="USInt" address="100224" va="0x4d0">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_UnderloadWarningLevel" parent="Micro820" dataType="USInt" address="100232" va="0x4c9">
<mapping variable="cfg_I_UnderloadWarningLevel" parent="Micro820" dataType="USInt" address="100232" va="0x4d1">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_WarningEnableCurrent" parent="Micro820" dataType="UInt" address="100240" va="0x522">
<mapping variable="cfg_I_WarningEnableCurrent" parent="Micro820" dataType="UInt" address="100240" va="0x52a">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_PL_PhaseLossInhibitTime" parent="Micro820" dataType="USInt" address="100256" va="0x4c2">
<mapping variable="cfg_PL_PhaseLossInhibitTime" parent="Micro820" dataType="USInt" address="100256" va="0x4ca">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_TCU_OLResetLevel" parent="Micro820" dataType="USInt" address="100264" va="0x4c0">
<mapping variable="cfg_TCU_OLResetLevel" parent="Micro820" dataType="USInt" address="100264" va="0x4c8">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_TCU_OLWarningLevel" parent="Micro820" dataType="USInt" address="100272" va="0x4c1">
<mapping variable="cfg_TCU_OLWarningLevel" parent="Micro820" dataType="USInt" address="100272" va="0x4c9">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_TCU_TripClass" parent="Micro820" dataType="USInt" address="100280" va="0x4bf">
<mapping variable="cfg_TCU_TripClass" parent="Micro820" dataType="USInt" address="100280" va="0x4c7">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_OverfrequencyInhibitTime" parent="Micro820" dataType="USInt" address="100288" va="0x4e8">
<mapping variable="cfg_V_OverfrequencyInhibitTime" parent="Micro820" dataType="USInt" address="100288" va="0x4f0">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_OverfrequencyTripLevel" parent="Micro820" dataType="USInt" address="100296" va="0x4e9">
<mapping variable="cfg_V_OverfrequencyTripLevel" parent="Micro820" dataType="USInt" address="100296" va="0x4f1">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_OverfrequencyWarningLevel" parent="Micro820" dataType="USInt" address="100304" va="0x4ea">
<mapping variable="cfg_V_OverfrequencyWarningLevel" parent="Micro820" dataType="USInt" address="100304" va="0x4f2">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_OvervoltageInhibitTime" parent="Micro820" dataType="USInt" address="100312" va="0x4df">
<mapping variable="cfg_V_OvervoltageInhibitTime" parent="Micro820" dataType="USInt" address="100312" va="0x4e7">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_PhaseRotationInhibitTime" parent="Micro820" dataType="USInt" address="100320" va="0x4e0">
<mapping variable="cfg_V_PhaseRotationInhibitTime" parent="Micro820" dataType="USInt" address="100320" va="0x4e8">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_PhaseRotationTripType" parent="Micro820" dataType="USInt" address="100328" va="0x4e1">
<mapping variable="cfg_V_PhaseRotationTripType" parent="Micro820" dataType="USInt" address="100328" va="0x4e9">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_TripEnableVoltage" parent="Micro820" dataType="UInt" address="100336" va="0x51c">
<mapping variable="cfg_V_TripEnableVoltage" parent="Micro820" dataType="UInt" address="100336" va="0x524">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_V_UnderfrequencyInhibitTime" parent="Micro820" dataType="USInt" address="100352" va="0x4e5">
<mapping variable="cfg_V_UnderfrequencyInhibitTime" parent="Micro820" dataType="USInt" address="100352" va="0x4ed">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_UnderfrequencyTripLevel" parent="Micro820" dataType="USInt" address="100360" va="0x4e6">
<mapping variable="cfg_V_UnderfrequencyTripLevel" parent="Micro820" dataType="USInt" address="100360" va="0x4ee">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_UnderfrequencyWarningLevel" parent="Micro820" dataType="USInt" address="100368" va="0x4e7">
<mapping variable="cfg_V_UnderfrequencyWarningLevel" parent="Micro820" dataType="USInt" address="100368" va="0x4ef">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_UndervoltageInhibitTime" parent="Micro820" dataType="USInt" address="100376" va="0x4de">
<mapping variable="cfg_V_UndervoltageInhibitTime" parent="Micro820" dataType="USInt" address="100376" va="0x4e6">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_VoltageImbalanceInhibitTime" parent="Micro820" dataType="USInt" address="100384" va="0x4e2">
<mapping variable="cfg_V_VoltageImbalanceInhibitTime" parent="Micro820" dataType="USInt" address="100384" va="0x4ea">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_VoltageImbalanceTripLevel" parent="Micro820" dataType="USInt" address="100392" va="0x4e3">
<mapping variable="cfg_V_VoltageImbalanceTripLevel" parent="Micro820" dataType="USInt" address="100392" va="0x4eb">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_VoltageImbalanceWarningLevel" parent="Micro820" dataType="USInt" address="100400" va="0x4e4">
<mapping variable="cfg_V_VoltageImbalanceWarningLevel" parent="Micro820" dataType="USInt" address="100400" va="0x4ec">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_VoltageMode" parent="Micro820" dataType="USInt" address="100408" va="0x4dd">
<mapping variable="cfg_V_VoltageMode" parent="Micro820" dataType="USInt" address="100408" va="0x4e5">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_WarningEnableVoltage" parent="Micro820" dataType="UInt" address="100416" va="0x524">
<mapping variable="cfg_V_WarningEnableVoltage" parent="Micro820" dataType="UInt" address="100416" va="0x52c">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="TripStatusControl_INT" parent="Micro820" dataType="UInt" address="100432" va="0x53e">
<mapping variable="TripStatusControl_INT" parent="Micro820" dataType="UInt" address="100432" va="0x546">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="TripStatusCurrent_INT" parent="Micro820" dataType="UInt" address="100448" va="0x538">
<mapping variable="TripStatusCurrent_INT" parent="Micro820" dataType="UInt" address="100448" va="0x540">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="TripStatusPower_INT" parent="Micro820" dataType="UInt" address="100464" va="0x53c">
<mapping variable="TripStatusPower_INT" parent="Micro820" dataType="UInt" address="100464" va="0x544">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="TripStatusVoltage_INT" parent="Micro820" dataType="UInt" address="100480" va="0x53a">
<mapping variable="TripStatusVoltage_INT" parent="Micro820" dataType="UInt" address="100480" va="0x542">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="WarningStatusControl_INT" parent="Micro820" dataType="UInt" address="100496" va="0x546">
<mapping variable="WarningStatusControl_INT" parent="Micro820" dataType="UInt" address="100496" va="0x54e">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="WarningStatusCurrent_INT" parent="Micro820" dataType="UInt" address="100512" va="0x540">
<mapping variable="WarningStatusCurrent_INT" parent="Micro820" dataType="UInt" address="100512" va="0x548">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="WarningStatusPower_INT" parent="Micro820" dataType="UInt" address="100528" va="0x544">
<mapping variable="WarningStatusPower_INT" parent="Micro820" dataType="UInt" address="100528" va="0x54c">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="WarningStatusVoltage_INT" parent="Micro820" dataType="UInt" address="100544" va="0x542">
<mapping variable="WarningStatusVoltage_INT" parent="Micro820" dataType="UInt" address="100544" va="0x54a">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
</modbusRegister>
<modbusRegister name="HOLDING_REGISTERS">
<mapping variable="cfg_C_FLASetting" parent="Micro820" dataType="Real" address="400001" va="0x578">
<mapping variable="cfg_C_FLASetting" parent="Micro820" dataType="Real" address="400001" va="0x580">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_C_TripEnableControl" parent="Micro820" dataType="UInt" address="400003" va="0x520">
<mapping variable="cfg_C_TripEnableControl" parent="Micro820" dataType="UInt" address="400003" va="0x528">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_GF_GroundFaultTripDelay" parent="Micro820" dataType="Real" address="400005" va="0x580">
<mapping variable="cfg_GF_GroundFaultTripDelay" parent="Micro820" dataType="Real" address="400005" va="0x588">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_GF_GroundFaultTripLevel" parent="Micro820" dataType="Real" address="400007" va="0x584">
<mapping variable="cfg_GF_GroundFaultTripLevel" parent="Micro820" dataType="Real" address="400007" va="0x58c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_GF_GroundFaultWarningDelay" parent="Micro820" dataType="Real" address="400009" va="0x588">
<mapping variable="cfg_GF_GroundFaultWarningDelay" parent="Micro820" dataType="Real" address="400009" va="0x590">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_I_CTPrimary" parent="Micro820" dataType="UInt" address="400011" va="0x530">
<mapping variable="cfg_I_CTPrimary" parent="Micro820" dataType="UInt" address="400011" va="0x538">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_CTSecondary" parent="Micro820" dataType="UInt" address="400012" va="0x532">
<mapping variable="cfg_I_CTSecondary" parent="Micro820" dataType="UInt" address="400012" va="0x53a">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_JamTripLevel" parent="Micro820" dataType="UInt" address="400013" va="0x52c">
<mapping variable="cfg_I_JamTripLevel" parent="Micro820" dataType="UInt" address="400013" va="0x534">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_JamWarningLevel" parent="Micro820" dataType="UInt" address="400014" va="0x52e">
<mapping variable="cfg_I_JamWarningLevel" parent="Micro820" dataType="UInt" address="400014" va="0x536">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_LineLossTripDelay" parent="Micro820" dataType="Real" address="400015" va="0x64c">
<mapping variable="cfg_I_LineLossTripDelay" parent="Micro820" dataType="Real" address="400015" va="0x654">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_I_OvercurrentTripDelay" parent="Micro820" dataType="Real" address="400017" va="0x650">
<mapping variable="cfg_I_OvercurrentTripDelay" parent="Micro820" dataType="Real" address="400017" va="0x658">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_I_UndercurrentTripDelay" parent="Micro820" dataType="Real" address="400019" va="0x648">
<mapping variable="cfg_I_UndercurrentTripDelay" parent="Micro820" dataType="Real" address="400019" va="0x650">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_I_UnderloadTripDelay" parent="Micro820" dataType="Real" address="400021" va="0x590">
<mapping variable="cfg_I_UnderloadTripDelay" parent="Micro820" dataType="Real" address="400021" va="0x598">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_PL_PhaseLossTripDelay" parent="Micro820" dataType="Real" address="400023" va="0x57c">
<mapping variable="cfg_PL_PhaseLossTripDelay" parent="Micro820" dataType="Real" address="400023" va="0x584">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_OverfrequencyTripDelay" parent="Micro820" dataType="Real" address="400025" va="0x5d8">
<mapping variable="cfg_V_OverfrequencyTripDelay" parent="Micro820" dataType="Real" address="400025" va="0x5e0">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_OvervoltageTripDelay" parent="Micro820" dataType="Real" address="400027" va="0x5c4">
<mapping variable="cfg_V_OvervoltageTripDelay" parent="Micro820" dataType="Real" address="400027" va="0x5cc">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_OvervoltageTripLevel" parent="Micro820" dataType="Real" address="400029" va="0x5c8">
<mapping variable="cfg_V_OvervoltageTripLevel" parent="Micro820" dataType="Real" address="400029" va="0x5d0">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_OvervoltageWarningLevel" parent="Micro820" dataType="Real" address="400031" va="0x5cc">
<mapping variable="cfg_V_OvervoltageWarningLevel" parent="Micro820" dataType="Real" address="400031" va="0x5d4">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_PTPrimary" parent="Micro820" dataType="UInt" address="400033" va="0x534">
<mapping variable="cfg_V_PTPrimary" parent="Micro820" dataType="UInt" address="400033" va="0x53c">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_V_PTSecondary" parent="Micro820" dataType="UInt" address="400034" va="0x536">
<mapping variable="cfg_V_PTSecondary" parent="Micro820" dataType="UInt" address="400034" va="0x53e">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_V_UnderfrequencyTripDelay" parent="Micro820" dataType="Real" address="400035" va="0x5d4">
<mapping variable="cfg_V_UnderfrequencyTripDelay" parent="Micro820" dataType="Real" address="400035" va="0x5dc">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_UndervoltageTripDelay" parent="Micro820" dataType="Real" address="400037" va="0x5b8">
<mapping variable="cfg_V_UndervoltageTripDelay" parent="Micro820" dataType="Real" address="400037" va="0x5c0">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_UndervoltageTripLevel" parent="Micro820" dataType="Real" address="400039" va="0x5bc">
<mapping variable="cfg_V_UndervoltageTripLevel" parent="Micro820" dataType="Real" address="400039" va="0x5c4">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_UndervoltageWarningLevel" parent="Micro820" dataType="Real" address="400041" va="0x5c0">
<mapping variable="cfg_V_UndervoltageWarningLevel" parent="Micro820" dataType="Real" address="400041" va="0x5c8">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_VoltageImbalanceTripDelay" parent="Micro820" dataType="Real" address="400043" va="0x5d0">
<mapping variable="cfg_V_VoltageImbalanceTripDelay" parent="Micro820" dataType="Real" address="400043" va="0x5d8">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_DischargePressure" parent="Micro820" dataType="UInt" address="400045" va="0x504">
<mapping variable="DH_DischargePressure" parent="Micro820" dataType="UInt" address="400045" va="0x50c">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_DischargeTemperature" parent="Micro820" dataType="UInt" address="400046" va="0x502">
<mapping variable="DH_DischargeTemperature" parent="Micro820" dataType="UInt" address="400046" va="0x50a">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_DownholeStatus_INT" parent="Micro820" dataType="UInt" address="400047" va="0x518">
<mapping variable="DH_DownholeStatus_INT" parent="Micro820" dataType="UInt" address="400047" va="0x520">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_IntakePressure" parent="Micro820" dataType="Real" address="400048" va="0x554">
<mapping variable="DH_IntakePressure" parent="Micro820" dataType="Real" address="400048" va="0x55c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_IntakeTemperature" parent="Micro820" dataType="Real" address="400050" va="0x550">
<mapping variable="DH_IntakeTemperature" parent="Micro820" dataType="Real" address="400050" va="0x558">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_MaxIntakePressure_Forever" parent="Micro820" dataType="UInt" address="400052" va="0x516">
<mapping variable="DH_MaxIntakePressure_Forever" parent="Micro820" dataType="UInt" address="400052" va="0x51e">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_MaxIntakePressure_Startup" parent="Micro820" dataType="UInt" address="400053" va="0x510">
<mapping variable="DH_MaxIntakePressure_Startup" parent="Micro820" dataType="UInt" address="400053" va="0x518">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_MaxIntakeTemperature_Forever" parent="Micro820" dataType="Real" address="400054" va="0x574">
<mapping variable="DH_MaxIntakeTemperature_Forever" parent="Micro820" dataType="Real" address="400054" va="0x57c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_MaxIntakeTemperature_Startup" parent="Micro820" dataType="Real" address="400056" va="0x570">
<mapping variable="DH_MaxIntakeTemperature_Startup" parent="Micro820" dataType="Real" address="400056" va="0x578">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_NumChannels" parent="Micro820" dataType="UInt" address="400058" va="0x50c">
<mapping variable="DH_NumChannels" parent="Micro820" dataType="UInt" address="400058" va="0x514">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_PSIRating" parent="Micro820" dataType="UInt" address="400059" va="0x514">
<mapping variable="DH_PSIRating" parent="Micro820" dataType="UInt" address="400059" va="0x51c">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_ToolType" parent="Micro820" dataType="UInt" address="400060" va="0x512">
<mapping variable="DH_ToolType" parent="Micro820" dataType="UInt" address="400060" va="0x51a">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_ToolVoltage" parent="Micro820" dataType="UInt" address="400061" va="0x50e">
<mapping variable="DH_ToolVoltage" parent="Micro820" dataType="UInt" address="400061" va="0x516">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_VibrationX" parent="Micro820" dataType="UInt" address="400062" va="0x506">
<mapping variable="DH_VibrationX" parent="Micro820" dataType="UInt" address="400062" va="0x50e">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_VibrationY" parent="Micro820" dataType="UInt" address="400063" va="0x508">
<mapping variable="DH_VibrationY" parent="Micro820" dataType="UInt" address="400063" va="0x510">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_WindingTemperature" parent="Micro820" dataType="UInt" address="400064" va="0x500">
<mapping variable="DH_WindingTemperature" parent="Micro820" dataType="UInt" address="400064" va="0x508">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="E300_kWh" parent="Micro820" dataType="Real" address="400065" va="0x568">
<mapping variable="E300_kWh" parent="Micro820" dataType="Real" address="400065" va="0x570">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_kWh_Regen" parent="Micro820" dataType="Real" address="400067" va="0x56c">
<mapping variable="E300_kWh_Regen" parent="Micro820" dataType="Real" address="400067" va="0x574">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_SCAN_RATE" parent="Micro820" dataType="UInt" address="400069" va="0x50a">
<mapping variable="E300_SCAN_RATE" parent="Micro820" dataType="UInt" address="400069" va="0x512">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="Pressure_Shutdown" parent="Micro820" dataType="Real" address="400070" va="0x560">
<mapping variable="Pressure_Shutdown" parent="Micro820" dataType="Real" address="400070" va="0x568">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="Pressure_Startup" parent="Micro820" dataType="Real" address="400072" va="0x564">
<mapping variable="Pressure_Startup" parent="Micro820" dataType="Real" address="400072" va="0x56c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="Temp_Shutdown" parent="Micro820" dataType="Real" address="400074" va="0x558">
<mapping variable="Temp_Shutdown" parent="Micro820" dataType="Real" address="400074" va="0x560">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="Temp_Startup" parent="Micro820" dataType="Real" address="400076" va="0x55c">
<mapping variable="Temp_Startup" parent="Micro820" dataType="Real" address="400076" va="0x564">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_LineFrequency" parent="Micro820" dataType="Real" address="400078" va="0x654">
<mapping variable="E300_LineFrequency" parent="Micro820" dataType="Real" address="400078" va="0x65c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1Current" parent="Micro820" dataType="Real" address="400080" va="0x658">
<mapping variable="E300_L1Current" parent="Micro820" dataType="Real" address="400080" va="0x660">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2Current" parent="Micro820" dataType="Real" address="400082" va="0x65c">
<mapping variable="E300_L2Current" parent="Micro820" dataType="Real" address="400082" va="0x664">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3Current" parent="Micro820" dataType="Real" address="400084" va="0x660">
<mapping variable="E300_L3Current" parent="Micro820" dataType="Real" address="400084" va="0x668">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_AverageCurrent" parent="Micro820" dataType="Real" address="400086" va="0x664">
<mapping variable="E300_AverageCurrent" parent="Micro820" dataType="Real" address="400086" va="0x66c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_PercentCurrentUnbalance" parent="Micro820" dataType="Real" address="400088" va="0x668">
<mapping variable="E300_PercentCurrentUnbalance" parent="Micro820" dataType="Real" address="400088" va="0x670">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1NVoltage" parent="Micro820" dataType="Real" address="400090" va="0x66c">
<mapping variable="E300_L1NVoltage" parent="Micro820" dataType="Real" address="400090" va="0x674">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2NVoltage" parent="Micro820" dataType="Real" address="400092" va="0x670">
<mapping variable="E300_L2NVoltage" parent="Micro820" dataType="Real" address="400092" va="0x678">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3NVoltage" parent="Micro820" dataType="Real" address="400094" va="0x674">
<mapping variable="E300_L3NVoltage" parent="Micro820" dataType="Real" address="400094" va="0x67c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_AverageLNVoltage" parent="Micro820" dataType="Real" address="400096" va="0x678">
<mapping variable="E300_AverageLNVoltage" parent="Micro820" dataType="Real" address="400096" va="0x680">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1L2Voltage" parent="Micro820" dataType="Real" address="400098" va="0x67c">
<mapping variable="E300_L1L2Voltage" parent="Micro820" dataType="Real" address="400098" va="0x684">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2L3Voltage" parent="Micro820" dataType="Real" address="400100" va="0x680">
<mapping variable="E300_L2L3Voltage" parent="Micro820" dataType="Real" address="400100" va="0x688">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3L1Voltage" parent="Micro820" dataType="Real" address="400102" va="0x684">
<mapping variable="E300_L3L1Voltage" parent="Micro820" dataType="Real" address="400102" va="0x68c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_AverageLLVoltage" parent="Micro820" dataType="Real" address="400104" va="0x688">
<mapping variable="E300_AverageLLVoltage" parent="Micro820" dataType="Real" address="400104" va="0x690">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1RealPower" parent="Micro820" dataType="Real" address="400106" va="0x690">
<mapping variable="E300_L1RealPower" parent="Micro820" dataType="Real" address="400106" va="0x698">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2RealPower" parent="Micro820" dataType="Real" address="400108" va="0x694">
<mapping variable="E300_L2RealPower" parent="Micro820" dataType="Real" address="400108" va="0x69c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3RealPower" parent="Micro820" dataType="Real" address="400110" va="0x698">
<mapping variable="E300_L3RealPower" parent="Micro820" dataType="Real" address="400110" va="0x6a0">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_TotalRealPower" parent="Micro820" dataType="Real" address="400112" va="0x69c">
<mapping variable="E300_TotalRealPower" parent="Micro820" dataType="Real" address="400112" va="0x6a4">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1ReactivePower" parent="Micro820" dataType="Real" address="400114" va="0x6a0">
<mapping variable="E300_L1ReactivePower" parent="Micro820" dataType="Real" address="400114" va="0x6a8">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2ReactivePower" parent="Micro820" dataType="Real" address="400116" va="0x6a4">
<mapping variable="E300_L2ReactivePower" parent="Micro820" dataType="Real" address="400116" va="0x6ac">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3ReactivePower" parent="Micro820" dataType="Real" address="400118" va="0x6a8">
<mapping variable="E300_L3ReactivePower" parent="Micro820" dataType="Real" address="400118" va="0x6b0">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_TotalReactivePower" parent="Micro820" dataType="Real" address="400120" va="0x6ac">
<mapping variable="E300_TotalReactivePower" parent="Micro820" dataType="Real" address="400120" va="0x6b4">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1ApparentPower" parent="Micro820" dataType="Real" address="400122" va="0x6b0">
<mapping variable="E300_L1ApparentPower" parent="Micro820" dataType="Real" address="400122" va="0x6b8">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2ApparentPower" parent="Micro820" dataType="Real" address="400124" va="0x6b4">
<mapping variable="E300_L2ApparentPower" parent="Micro820" dataType="Real" address="400124" va="0x6bc">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3ApparentPower" parent="Micro820" dataType="Real" address="400126" va="0x6b8">
<mapping variable="E300_L3ApparentPower" parent="Micro820" dataType="Real" address="400126" va="0x6c0">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_TotalApparentPower" parent="Micro820" dataType="Real" address="400128" va="0x6bc">
<mapping variable="E300_TotalApparentPower" parent="Micro820" dataType="Real" address="400128" va="0x6c4">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1TruePowerFactor" parent="Micro820" dataType="Real" address="400130" va="0x6c0">
<mapping variable="E300_L1TruePowerFactor" parent="Micro820" dataType="Real" address="400130" va="0x6c8">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2TruePowerFactor" parent="Micro820" dataType="Real" address="400132" va="0x6c4">
<mapping variable="E300_L2TruePowerFactor" parent="Micro820" dataType="Real" address="400132" va="0x6cc">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3TruePowerFactor" parent="Micro820" dataType="Real" address="400134" va="0x6c8">
<mapping variable="E300_L3TruePowerFactor" parent="Micro820" dataType="Real" address="400134" va="0x6d0">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_ThreePhaseTruePowerFactor" parent="Micro820" dataType="Real" address="400136" va="0x6cc">
<mapping variable="E300_ThreePhaseTruePowerFactor" parent="Micro820" dataType="Real" address="400136" va="0x6d4">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="Pressure_In" parent="Micro820" dataType="Real" address="400138" va="0x6d0">
<mapping variable="Pressure_In" parent="Micro820" dataType="Real" address="400138" va="0x6d8">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
</modbusRegister>

View File

@@ -1 +1 @@
CONTROL(161):FB,LINEARSCALE(159);
CONTROL(161):FB,EPOCH_TIME(163);FB,LINEARSCALE(159);F,RIGHT();F,MOD();

View File

@@ -1,8 +1,32 @@
_PUSH_PAR __SYSVA_CYCLEDATE
__TMPI1 := _CALL ANY_TO_TIME
__TMPI1 := __TMPI1 / __CDINT000003E8
__FBL_RET := _PUSHCALLFB EPOCH_TIME CURRENTTIMERTC
__TMPULI1 := CURRENTTIMERTC [ __CDINT00000004 ]
_PUSH_PAR __TMPULI1
__TMPI1 := _CALL ANY_TO_ULINT
TIME_CURRENTTIME := __TMPI1
_IF _NOT __SYSVA_FIRST_SCAN _GOTO __LAB1
__TMPB1 := _NOT TEST_MODE
_IF _NOT __TMPB1 _GOTO __LAB1
CONTACTOR_STATUS := DIGITALINPUT_STATUS_0
START_BUTTON := DIGITALINPUT_STATUS_1
AUTO_MODE := DIGITALINPUT_STATUS_2
HAND_MODE := DIGITALINPUT_STATUS_3
_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
VOLTAGEOK := TRUE
__LAB2 :
_IF _NOT __SYSVA_FIRST_SCAN _GOTO __LAB3
SHUTDOWN_TIME := TIME_CURRENTTIME
DEVICE_STATUS := __TMPM1
RESTART_COMMAND := FALSE
@@ -16,31 +40,32 @@ STS_TIMERCYCLEACTIVE := FALSE
STS_TRIPCOUNTINCREASED := FALSE
VAL_OVERLOADTRIPCOUNT := __DINT_NULL
VAL_TRIPCOUNT := __DINT_NULL
_GOTO __LAB2
__LAB1 :
__LAB2 :
__TMPLRE1 := E300 [ __DINT_NULL ]
_PUSH_PAR __TMPLRE1
__TMPR1 := _CALL ANY_TO_LREAL
E300_KWH := __TMPR1
__TMPLRE1 := E300 [ __CDINT00000008 ]
_PUSH_PAR __TMPLRE1
__TMPR1 := _CALL ANY_TO_LREAL
E300_KWH_REGEN := __TMPR1
_IF _NOT DOWNHOLE_TOOL_ENABLED _GOTO __LAB3
_GOTO __LAB4
__LAB3 :
__LAB4 :
__TMPLRE3 := E300 [ __DINT_NULL ]
_PUSH_PAR __TMPLRE3
__TMPR3 := _CALL ANY_TO_LREAL
E300_KWH := __TMPR3
__TMPLRE3 := E300 [ __CDINT00000008 ]
_PUSH_PAR __TMPLRE3
__TMPR3 := _CALL ANY_TO_LREAL
E300_KWH_REGEN := __TMPR3
_IF _NOT DOWNHOLE_TOOL_ENABLED _GOTO __LAB5
__TMPI1 := __CDINT00000002 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MODBUS_READ0 [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPR1 := _CALL ANY_TO_UINT
__TMPR1 := __TMPR1 / __TMPR2
DH_INTAKETEMPERATURE := __TMPR1
__TMPR3 := _CALL ANY_TO_UINT
__TMPR3 := __TMPR3 / __TMPR4
DH_INTAKETEMPERATURE := __TMPR3
__TMPI1 := __CDINT00000003 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MODBUS_READ0 [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPR1 := _CALL ANY_TO_UINT
DH_INTAKEPRESSURE := __TMPR1
__TMPR3 := _CALL ANY_TO_UINT
__TMPR3 := __TMPR3 - __TMPR5
DH_INTAKEPRESSURE := __TMPR3
__TMPI1 := __CDINT0000000A - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MODBUS_READ0 [ __TMPI1 ]
@@ -53,9 +78,9 @@ __TMPI1 := __CDINT00000028 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MODBUS_READ0 [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPR1 := _CALL ANY_TO_UINT
__TMPR1 := __TMPR1 / __TMPR2
DH_MAXINTAKETEMPERATURE_STARTUP := __TMPR1
__TMPR3 := _CALL ANY_TO_UINT
__TMPR3 := __TMPR3 / __TMPR4
DH_MAXINTAKETEMPERATURE_STARTUP := __TMPR3
__TMPI1 := __CDINT00000029 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MODBUS_READ0 [ __TMPI1 ]
@@ -64,44 +89,44 @@ __TMPI1 := __CDINT00000063 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MODBUS_READ0 [ __TMPI1 ]
DH_DOWNHOLESTATUS_INT := __TMPUIN1
__TMPR1 := DH_INTAKEPRESSURE - __TMPR3
__TMPR6 := __TMPR4 / __TMPR5
__TMPR1 := __TMPR1 * __TMPR6
__TMPR7 := __TMPR4 / CFG_SPECIFICGRAVITY
__TMPR1 := __TMPR1 * __TMPR7
DH_FLUID_LEVEL := __TMPR1
__TMPR3 := __TMPR6 / __TMPR7
__TMPR8 := DH_INTAKEPRESSURE * __TMPR3
__TMPR9 := __TMPR6 / CFG_SPECIFICGRAVITY
__TMPR8 := __TMPR8 * __TMPR9
__TMPR8 := __TMPR8 + CFG_DHSENSORDISTTOINTAKE
DH_FLUID_LEVEL := __TMPR8
__TMPI1 := __CDINT00000063 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MODBUS_READ0 [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPI2 := _CALL ANY_TO_UINT
__TMPB1 := __TMPI2 <> __DINT_NULL
_IF __TMPB1 _GOTO __LAB5
DH_DOWNHOLESTATUS := __TMPM2
_GOTO __LAB4
__LAB5 :
__TMPB1 := __TMPI2 <> __CDINT00000001
_IF __TMPB1 _GOTO __LAB6
DH_DOWNHOLESTATUS := __TMPM3
_GOTO __LAB4
__LAB6 :
__TMPB1 := __TMPI2 <> __CDINT00000002
_IF __TMPB1 _GOTO __LAB7
DH_DOWNHOLESTATUS := __TMPM4
_GOTO __LAB4
DH_DOWNHOLESTATUS := __TMPM2
_GOTO __LAB6
__LAB7 :
__TMPB1 := __TMPI2 <> __CDINT00000003
__TMPB1 := __TMPI2 <> __CDINT00000001
_IF __TMPB1 _GOTO __LAB8
DH_DOWNHOLESTATUS := __TMPM5
_GOTO __LAB4
DH_DOWNHOLESTATUS := __TMPM3
_GOTO __LAB6
__LAB8 :
__TMPB1 := __TMPI2 <> __CDINT00000004
__TMPB1 := __TMPI2 <> __CDINT00000002
_IF __TMPB1 _GOTO __LAB9
DH_DOWNHOLESTATUS := __TMPM6
_GOTO __LAB4
DH_DOWNHOLESTATUS := __TMPM4
_GOTO __LAB6
__LAB9 :
__TMPB1 := __TMPI2 <> __CDINT00000003
_IF __TMPB1 _GOTO __LABa
DH_DOWNHOLESTATUS := __TMPM5
_GOTO __LAB6
__LABa :
__TMPB1 := __TMPI2 <> __CDINT00000004
_IF __TMPB1 _GOTO __LABb
DH_DOWNHOLESTATUS := __TMPM6
_GOTO __LAB6
__LABb :
DH_DOWNHOLESTATUS := __TMPM7
__LAB4 :
__LAB6 :
__TMPI1 := __CDINT00000005 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MODBUS_READ1000 [ __TMPI1 ]
@@ -115,37 +140,20 @@ __TMPI1 := __CDINT00000008 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MODBUS_READ1000 [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPR1 := _CALL ANY_TO_UINT
__TMPR1 := __TMPR1 / __TMPR2
DH_MAXINTAKETEMPERATURE_FOREVER := __TMPR1
__TMPR3 := _CALL ANY_TO_UINT
__TMPR3 := __TMPR3 / __TMPR4
DH_MAXINTAKETEMPERATURE_FOREVER := __TMPR3
__TMPI1 := __CDINT00000009 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MODBUS_READ1000 [ __TMPI1 ]
DH_MAXINTAKEPRESSURE_FOREVER := __TMPUIN1
_GOTO __LABa
__LAB3 :
_GOTO __LABc
__LAB5 :
DH_DOWNHOLESTATUS := __TMPM8
PRESSURE_SHUTDOWN_ENABLED := FALSE
PRESSURE_STARTUP_ENABLED := FALSE
TEMP_SHUTDOWN_ENABLED := FALSE
TEMP_STARTUP_ENABLED := FALSE
__LABa :
__TMPB1 := _NOT TEST_MODE
_IF _NOT __TMPB1 _GOTO __LABb
CONTACTOR_STATUS := DIGITALINPUT_STATUS_0
START_BUTTON := DIGITALINPUT_STATUS_1
AUTO_MODE := DIGITALINPUT_STATUS_2
HAND_MODE := DIGITALINPUT_STATUS_3
_PUSH_PAR _IO_P1_AI_00
__TMPR1 := _CALL ANY_TO_UINT
__TMPR__LINEARSCALE__RAW_INP := __TMPR1
__FBL_RET := _PUSHCALLFB LINEARSCALE LINEARSCALE_PRESSURE
__TMPR1 := LINEARSCALE_PRESSURE [ __CDINT0000000C ]
PRESSURE_IN := __TMPR1
_GOTO __LABc
__LABb :
CONTACTOR_STATUS := CMD_RUN
VOLTAGEOK := TRUE
__LABc :
__TMPB1 := PRESSURE_TRANSDUCER_ENABLED _AND CONTACTOR_STATUS
__TMPB2 := RUN_TIME > PRESSURE_ALARM_STARTUP_DELAY
@@ -193,6 +201,8 @@ _GOTO __LAB15
__LABd :
PRESSURE_OK := TRUE
__LAB15 :
__TMPB1 := _NOT PRESSURE_OK
ALARM_TUBINGPRESSURE := __TMPB1
__TMPB1 := _NOT PRESSURE_STARTUP_ENABLED
__TMPB2 := DH_INTAKEPRESSURE > PRESSURE_STARTUP
__TMPB1 := __TMPB1 _OR __TMPB2
@@ -213,11 +223,22 @@ __TMPB1 := __TMPB1 _AND SP_TRIP
__TMPB1 := __TMPB1 _AND SP_VOLTAGE
START_PERMISSIVE := __TMPB1
__TMPB1 := _NOT START_PERMISSIVE
__TMPB2 := _NOT CMD_RUN
__TMPB1 := __TMPB1 _AND __TMPB2
_IF _NOT __TMPB1 _GOTO __LAB16
DEVICE_STATUS := __TMPM9
_GOTO __LAB17
__LAB16 :
__LAB17 :
__TMPB1 := DEVICE_STATUS = __TMPM9
__TMPB1 := __TMPB1 _AND START_PERMISSIVE
__TMPB2 := _NOT CMD_RUN
__TMPB1 := __TMPB1 _AND __TMPB2
_IF _NOT __TMPB1 _GOTO __LAB18
DEVICE_STATUS := __TMPM10
_GOTO __LAB19
__LAB18 :
__LAB19 :
__TMPB1 := _NOT PRESSURE_SHUTDOWN_ENABLED
__TMPB2 := DH_INTAKEPRESSURE > PRESSURE_SHUTDOWN
__TMPB1 := __TMPB1 _OR __TMPB2
@@ -237,109 +258,187 @@ __TMPB1 := __TMPB1 _AND RP_MODE
__TMPB1 := __TMPB1 _AND RP_TRIP
__TMPB1 := __TMPB1 _AND RP_TUBINGPRESSURE
RUN_PERMISSIVE := __TMPB1
__TMPB1 := _NOT RP_PRESSURE
__TMPB1 := __TMPB1 _AND CONTACTOR_STATUS
ALARM_DHPRESSURE := __TMPB1
__TMPB1 := _NOT RP_TEMPERATURE
__TMPB1 := __TMPB1 _AND CONTACTOR_STATUS
ALARM_DHTEMPERATURE := __TMPB1
__TMPB1 := _NOT RUN_PERMISSIVE
__TMPB1 := __TMPB1 _AND CMD_RUN
_IF _NOT __TMPB1 _GOTO __LAB18
DEVICE_STATUS := __TMPM10
_IF _NOT __TMPB1 _GOTO __LAB1a
DEVICE_STATUS := __TMPM11
SHUTDOWN_TIME := TIME_CURRENTTIME
__TMPB1 := _NOT STS_TRIPCOUNTINCREASED
_IF _NOT __TMPB1 _GOTO __LAB19
_IF _NOT OVERLOADTRIP _GOTO __LAB1a
_IF _NOT __TMPB1 _GOTO __LAB1b
_IF _NOT OVERLOADTRIP _GOTO __LAB1c
__TMPI1 := VAL_OVERLOADTRIPCOUNT + __CDINT00000001
VAL_OVERLOADTRIPCOUNT := __TMPI1
_GOTO __LAB1b
__LAB1a :
_GOTO __LAB1d
__LAB1c :
__TMPI1 := VAL_TRIPCOUNT + __CDINT00000001
VAL_TRIPCOUNT := __TMPI1
__LAB1b :
STS_TRIPCOUNTINCREASED := TRUE
_GOTO __LAB1c
__LAB19 :
__LAB1c :
_GOTO __LAB1d
__LAB18 :
__LAB1d :
__TMPB1 := VAL_OVERLOADTRIPCOUNT > CFG_OVERLOADTRIPCOUNTLIMIT
_IF _NOT __TMPB1 _GOTO __LAB1e
RESTART_ALLOWED := FALSE
DEVICE_STATUS := __TMPM11
_GOTO __LAB1f
STS_TRIPCOUNTINCREASED := TRUE
_GOTO __LAB1e
__LAB1b :
__LAB1e :
_GOTO __LAB1f
__LAB1a :
__LAB1f :
__TMPB1 := VAL_TRIPCOUNT > CFG_TRIPCOUNTLIMIT
__TMPB1 := VAL_OVERLOADTRIPCOUNT > CFG_OVERLOADTRIPCOUNTLIMIT
_IF _NOT __TMPB1 _GOTO __LAB20
RESTART_ALLOWED := FALSE
DEVICE_STATUS := __TMPM12
STS_TRIPLIMITOLREACHED := TRUE
_GOTO __LAB21
__LAB20 :
STS_TRIPLIMITOLREACHED := FALSE
__LAB21 :
__TMPB1 := VAL_TRIPCOUNT > CFG_TRIPCOUNTLIMIT
_IF _NOT __TMPB1 _GOTO __LAB22
RESTART_ALLOWED := FALSE
DEVICE_STATUS := __TMPM13
STS_TRIPLIMITREACHED := TRUE
_GOTO __LAB23
__LAB22 :
STS_TRIPLIMITREACHED := FALSE
__LAB23 :
__TMPB1 := START_COMMAND _OR START_BUTTON
__TMPB1 := __TMPB1 _AND START_PERMISSIVE
_IF _NOT __TMPB1 _GOTO __LAB24
TEST_STARTED := TRUE
RESTART_ALLOWED := TRUE
_IF _NOT CFG_TIMERMODEENABLED _GOTO __LAB25
STS_TIMERCYCLEACTIVE := TRUE
CMD_TIMERRUN := TRUE
_GOTO __LAB26
__LAB25 :
__LAB26 :
_GOTO __LAB27
__LAB24 :
__LAB27 :
__TMPB1 := _NOT OVERLOADTRIP
__TMPB2 := AUTO_MODE _AND __TMPB1
__TMPB3 := _NOT CMD_RUN
__TMPB2 := __TMPB2 _AND __TMPB3
__TMPB4 := STS_TIMERCYCLEACTIVE _AND CMD_TIMERRUN
__TMPB5 := _NOT STS_TIMERCYCLEACTIVE
__TMPB4 := __TMPB4 _OR __TMPB5
__TMPB2 := __TMPB2 _AND __TMPB4
__TMPB2 := __TMPB2 _AND RESTART_ALLOWED
_IF _NOT __TMPB2 _GOTO __LAB22
_IF _NOT __TMPB2 _GOTO __LAB28
__TMPI1 := TIME_CURRENTTIME - SHUTDOWN_TIME
__TMPB4 := __TMPI1 > DOWNTIME_TIME_PARAMETER
_IF _NOT __TMPB4 _GOTO __LAB23
__TMPB5 := _NOT RESTART_COMMAND
_IF _NOT __TMPB5 _GOTO __LAB24
__TMPB6 := __TMPI1 > DOWNTIME_TIME_PARAMETER
_IF _NOT __TMPB6 _GOTO __LAB29
__TMPB7 := _NOT RESTART_COMMAND
_IF _NOT __TMPB7 _GOTO __LAB2a
TRIPRESETCMD := TRUE
RESTART_COMMAND := TRUE
_GOTO __LAB25
__LAB24 :
__LAB25 :
_GOTO __LAB26
__LAB23 :
_IF _NOT CFG_TIMERMODEENABLED _GOTO __LAB2b
CMD_TIMERRUN := TRUE
STS_TIMERCYCLEACTIVE := TRUE
_GOTO __LAB2c
__LAB2b :
__LAB2c :
_GOTO __LAB2d
__LAB2a :
__LAB2d :
_GOTO __LAB2e
__LAB29 :
_IF _NOT CFG_TIMERMODEENABLED _GOTO __LAB2f
CMD_TIMERRUN := FALSE
_GOTO __LAB30
__LAB2f :
__LAB30 :
STS_TIMERCYCLEACTIVE := FALSE
RESTART_COMMAND := FALSE
__TMPI1 := TIME_CURRENTTIME - SHUTDOWN_TIME
__TMPI2 := DOWNTIME_TIME_PARAMETER - __TMPI1
TIME_UNTIL_STARTUP := __TMPI2
_PUSH_PAR TIME_UNTIL_STARTUP
__TMPM13 := _CALL ANY_TO_DINT
TIME_UNTIL_STARTUP_STRING := __TMPM13
_IF _NOT AUTO_MODE _GOTO __LAB27
__TMPM13 := __TMPM14 + TIME_UNTIL_STARTUP_STRING
DEVICE_STATUS := __TMPM13
_GOTO __LAB28
__LAB27 :
__TMPI1 := TIME_UNTIL_STARTUP / __CDINT0000003C
TIME_UNTIL_STARTUP_MIN := __TMPI1
__TMPI1 := TIME_UNTIL_STARTUP_MIN * __CDINT0000003C
__TMPI2 := TIME_UNTIL_STARTUP - __TMPI1
TIME_UNTIL_STARTUP_SEC := __TMPI2
_PUSH_PAR TIME_UNTIL_STARTUP_MIN
__TMPM14 := _CALL ANY_TO_DINT
__TMPM14 := __TMPM14 + __TMPM15
_PUSH_PAR TIME_UNTIL_STARTUP_SEC
__TMPM17 := _CALL ANY_TO_DINT
__TMPM18 := __TMPM16 + __TMPM17
_PUSH_PAR __TMPM18
_PUSH_PAR __CDINT00000002
__TMPM19 := _CALL RIGHT
__TMPM14 := __TMPM14 + __TMPM19
TIME_UNTIL_STARTUP_STRING := __TMPM14
_IF _NOT AUTO_MODE _GOTO __LAB31
__TMPM14 := __TMPM20 + TIME_UNTIL_STARTUP_STRING
DEVICE_STATUS := __TMPM14
_GOTO __LAB32
__LAB31 :
__LAB32 :
__LAB2e :
_GOTO __LAB33
__LAB28 :
__LAB26 :
_GOTO __LAB29
__LAB22 :
__TMPB1 := AUTO_MODE _AND OVERLOADTRIP
__TMPB2 := _NOT CMD_RUN
__TMPB1 := __TMPB1 _AND __TMPB2
__TMPB1 := __TMPB1 _AND RESTART_ALLOWED
_IF _NOT __TMPB1 _GOTO __LAB2a
_IF _NOT __TMPB1 _GOTO __LAB34
__TMPI1 := TIME_CURRENTTIME - SHUTDOWN_TIME
__TMPB3 := __TMPI1 > DOWNTIME_TIME_PARAMETER_OL
_IF _NOT __TMPB3 _GOTO __LAB2b
_IF _NOT __TMPB3 _GOTO __LAB35
__TMPB4 := _NOT RESTART_COMMAND
_IF _NOT __TMPB4 _GOTO __LAB2c
_IF _NOT __TMPB4 _GOTO __LAB36
RESTART_COMMAND := TRUE
_GOTO __LAB2d
__LAB2c :
__LAB2d :
_GOTO __LAB2e
__LAB2b :
_IF _NOT CFG_TIMERMODEENABLED _GOTO __LAB37
CMD_TIMERRUN := TRUE
STS_TIMERCYCLEACTIVE := TRUE
_GOTO __LAB38
__LAB37 :
__LAB38 :
_GOTO __LAB39
__LAB36 :
__LAB39 :
_GOTO __LAB3a
__LAB35 :
_IF _NOT CFG_TIMERMODEENABLED _GOTO __LAB3b
CMD_TIMERRUN := FALSE
_GOTO __LAB3c
__LAB3b :
__LAB3c :
STS_TIMERCYCLEACTIVE := FALSE
RESTART_COMMAND := FALSE
__TMPI1 := TIME_CURRENTTIME - SHUTDOWN_TIME
__TMPI2 := DOWNTIME_TIME_PARAMETER_OL - __TMPI1
TIME_UNTIL_STARTUP := __TMPI2
_PUSH_PAR TIME_UNTIL_STARTUP
__TMPM13 := _CALL ANY_TO_DINT
TIME_UNTIL_STARTUP_STRING := __TMPM13
_IF _NOT AUTO_MODE _GOTO __LAB2f
__TMPM13 := __TMPM15 + TIME_UNTIL_STARTUP_STRING
DEVICE_STATUS := __TMPM13
_GOTO __LAB30
__LAB2f :
__LAB30 :
__LAB2e :
_GOTO __LAB29
__LAB2a :
__LAB29 :
__TMPI1 := TIME_UNTIL_STARTUP / __CDINT0000003C
TIME_UNTIL_STARTUP_MIN := __TMPI1
__TMPI1 := TIME_UNTIL_STARTUP_MIN * __CDINT0000003C
__TMPI2 := TIME_UNTIL_STARTUP - __TMPI1
TIME_UNTIL_STARTUP_SEC := __TMPI2
_PUSH_PAR TIME_UNTIL_STARTUP_MIN
__TMPM14 := _CALL ANY_TO_DINT
__TMPM14 := __TMPM14 + __TMPM15
_PUSH_PAR TIME_UNTIL_STARTUP_SEC
__TMPM17 := _CALL ANY_TO_DINT
__TMPM18 := __TMPM16 + __TMPM17
_PUSH_PAR __TMPM18
_PUSH_PAR __CDINT00000002
__TMPM19 := _CALL RIGHT
__TMPM14 := __TMPM14 + __TMPM19
TIME_UNTIL_STARTUP_STRING := __TMPM14
_IF _NOT AUTO_MODE _GOTO __LAB3d
__TMPM14 := __TMPM21 + TIME_UNTIL_STARTUP_STRING
DEVICE_STATUS := __TMPM14
_GOTO __LAB3e
__LAB3d :
__LAB3e :
__LAB3a :
_GOTO __LAB33
__LAB34 :
__LAB33 :
__TMPB1 := START_BUTTON _OR START_COMMAND
__TMPB1 := __TMPB1 _OR CMD_TIMERRUN
__TMPB2 := RESTART_ALLOWED _AND RESTART_COMMAND
@@ -352,156 +451,180 @@ __TMPB4 := _NOT CFG_TIMERMODEENABLED
__TMPB5 := CMD_TIMERRUN _OR __TMPB4
__TMPB1 := __TMPB1 _AND __TMPB5
__TMPB1 := __TMPB1 _AND RUN_PERMISSIVE
_IF _NOT __TMPB1 _GOTO __LAB31
_IF _NOT __TMPB1 _GOTO __LAB3f
CMD_RUN := TRUE
RESTART_COMMAND := FALSE
START_COMMAND := FALSE
__TMPB1 := _NOT START_TIME_SET
_IF _NOT __TMPB1 _GOTO __LAB32
_IF _NOT __TMPB1 _GOTO __LAB40
START_TIME := TIME_CURRENTTIME
START_TIME_SET := TRUE
DEVICE_STATUS := __TMPM16
DEVICE_STATUS := __TMPM22
STS_TRIPCOUNTINCREASED := FALSE
_GOTO __LAB33
__LAB32 :
__LAB33 :
_IF _NOT CONTACTOR_STATUS _GOTO __LAB34
_GOTO __LAB41
__LAB40 :
__LAB41 :
_IF _NOT CONTACTOR_STATUS _GOTO __LAB42
__TMPI1 := TIME_CURRENTTIME - START_TIME
RUN_TIME := __TMPI1
_GOTO __LAB35
__LAB34 :
__LAB35 :
_GOTO __LAB36
__LAB31 :
_GOTO __LAB43
__LAB42 :
__LAB43 :
_GOTO __LAB44
__LAB3f :
CMD_RUN := FALSE
__LAB36 :
__LAB44 :
__TMPB1 := _NOT CONTACTOR_STATUS
__TMPB2 := CMD_RUN _AND __TMPB1
_IF _NOT __TMPB2 _GOTO __LAB37
START_COMMAND := TRUE
DEVICE_STATUS := __TMPM17
__TMPB1 := _NOT E300_OUTPUT_ENABLE
_IF _NOT __TMPB1 _GOTO __LAB38
_IF _NOT E300_OUTPUT_TOGGLED _GOTO __LAB39
_IF _NOT __TMPB2 _GOTO __LAB45
__TMPB3 := _NOT E300_OUTPUT_ENABLE
_IF _NOT __TMPB3 _GOTO __LAB46
_IF _NOT E300_OUTPUT_TOGGLED _GOTO __LAB47
E300_OUTPUT_ENABLE := TRUE
_GOTO __LAB3a
__LAB39 :
__LAB3a :
E300_OUTPUT_TOGGLED := TRUE
_GOTO __LAB3b
__LAB38 :
__TMPB1 := _NOT E300_OUTPUT_TOGGLED
_IF _NOT __TMPB1 _GOTO __LAB3c
E300_OUTPUT_ENABLE := FALSE
_GOTO __LAB3d
__LAB3c :
__LAB3d :
__LAB3b :
_GOTO __LAB3e
__LAB37 :
__LAB3e :
__TMPB1 := RUN_TIME > CFG_CLEARTRIPCOUNTAFTER
__TMPB2 := CONTACTOR_STATUS _AND __TMPB1
_IF _NOT __TMPB2 _GOTO __LAB3f
VAL_OVERLOADTRIPCOUNT := __DINT_NULL
VAL_TRIPCOUNT := __DINT_NULL
_GOTO __LAB40
__LAB3f :
__LAB40 :
__TMPB1 := _NOT AUTO_MODE
_IF _NOT __TMPB1 _GOTO __LAB41
RESTART_COMMAND := FALSE
RESTART_ALLOWED := FALSE
_GOTO __LAB42
__LAB41 :
__LAB42 :
__TMPB1 := START_COMMAND _OR START_BUTTON
__TMPB1 := __TMPB1 _AND START_PERMISSIVE
_IF _NOT __TMPB1 _GOTO __LAB43
RESTART_ALLOWED := TRUE
_IF _NOT CFG_TIMERMODEENABLED _GOTO __LAB44
STS_TIMERCYCLEACTIVE := TRUE
CMD_TIMERRUN := TRUE
_GOTO __LAB45
__LAB44 :
__LAB45 :
_GOTO __LAB46
__LAB43 :
__LAB46 :
_IF _NOT STOP_COMMAND _GOTO __LAB47
RESTART_ALLOWED := FALSE
DEVICE_STATUS := __TMPM18
STS_TIMERCYCLEACTIVE := FALSE
VAL_OVERLOADTRIPCOUNT := __DINT_NULL
VAL_TRIPCOUNT := __DINT_NULL
_GOTO __LAB48
__LAB47 :
__LAB48 :
__TMPB1 := _NOT HAND_MODE
__TMPB2 := _NOT AUTO_MODE
__TMPB1 := __TMPB1 _AND __TMPB2
_IF _NOT __TMPB1 _GOTO __LAB49
E300_OUTPUT_TOGGLED := TRUE
_GOTO __LAB49
__LAB46 :
__TMPB1 := _NOT E300_OUTPUT_TOGGLED
_IF _NOT __TMPB1 _GOTO __LAB4a
E300_OUTPUT_ENABLE := FALSE
_GOTO __LAB4b
__LAB4a :
__LAB4b :
__LAB49 :
_GOTO __LAB4c
__LAB45 :
__LAB4c :
__TMPB1 := RUN_TIME > CFG_CLEARTRIPCOUNTAFTER
__TMPB2 := CONTACTOR_STATUS _AND __TMPB1
_IF _NOT __TMPB2 _GOTO __LAB4d
VAL_OVERLOADTRIPCOUNT := __DINT_NULL
VAL_TRIPCOUNT := __DINT_NULL
_GOTO __LAB4a
__LAB49 :
__LAB4a :
__TMPB1 := _NOT CONTACTOR_STATUS
_IF _NOT __TMPB1 _GOTO __LAB4b
START_TIME_SET := FALSE
_GOTO __LAB4c
__LAB4b :
__LAB4c :
__TMPB1 := CFG_TIMERMODEENABLED _AND STS_TIMERCYCLEACTIVE
_IF _NOT __TMPB1 _GOTO __LAB4d
_IF _NOT CMD_TIMERRUN _GOTO __LAB4e
__TMPB2 := _NOT STS_TIMERRUNTIMESET
_IF _NOT __TMPB2 _GOTO __LAB4f
STS_TIMERRUNTIMESET := TRUE
TIME_TIMERRUNTIME := TIME_CURRENTTIME
_GOTO __LAB4e
__LAB4d :
__LAB4e :
__TMPB1 := _NOT AUTO_MODE
_IF _NOT __TMPB1 _GOTO __LAB4f
RESTART_COMMAND := FALSE
RESTART_ALLOWED := FALSE
_GOTO __LAB50
__LAB4f :
__LAB50 :
__FBL_RET := _PUSHCALLFB R_TRIG RTRIG_AUTOMODE
__TMPB1 := RTRIG_AUTOMODE [ __CDINT00000002 ]
_IF _NOT __TMPB1 _GOTO __LAB51
RESTART_ALLOWED := TRUE
SHUTDOWN_TIME := TIME_CURRENTTIME
_GOTO __LAB52
__LAB51 :
__LAB52 :
_IF _NOT STOP_COMMAND _GOTO __LAB53
RESTART_ALLOWED := FALSE
DEVICE_STATUS := __TMPM23
STS_TIMERCYCLEACTIVE := FALSE
VAL_OVERLOADTRIPCOUNT := __DINT_NULL
VAL_TRIPCOUNT := __DINT_NULL
CMD_TIMERRUN := FALSE
STS_TIMERRUNTIMESET := FALSE
_GOTO __LAB54
__LAB53 :
__LAB54 :
__TMPB1 := _NOT HAND_MODE
__TMPB2 := _NOT AUTO_MODE
__TMPB1 := __TMPB1 _AND __TMPB2
_IF _NOT __TMPB1 _GOTO __LAB55
VAL_OVERLOADTRIPCOUNT := __DINT_NULL
VAL_TRIPCOUNT := __DINT_NULL
CMD_TIMERRUN := FALSE
STS_TIMERCYCLEACTIVE := FALSE
STS_TIMERRUNTIMESET := FALSE
_GOTO __LAB56
__LAB55 :
__LAB56 :
__TMPB1 := _NOT CONTACTOR_STATUS
_IF _NOT __TMPB1 _GOTO __LAB57
START_TIME_SET := FALSE
_GOTO __LAB58
__LAB57 :
__LAB58 :
__TMPB1 := CFG_TIMERMODEENABLED _AND STS_TIMERCYCLEACTIVE
_IF _NOT __TMPB1 _GOTO __LAB59
_IF _NOT CMD_TIMERRUN _GOTO __LAB5a
__TMPB2 := _NOT STS_TIMERRUNTIMESET
_IF _NOT __TMPB2 _GOTO __LAB5b
STS_TIMERRUNTIMESET := TRUE
TIME_TIMERRUNTIME := TIME_CURRENTTIME
_GOTO __LAB5c
__LAB5b :
__LAB5c :
__TMPI1 := CFG_TIMERRUNTIME * __CDINT0000003C
__TMPI2 := TIME_CURRENTTIME - TIME_TIMERRUNTIME
__TMPI1 := __TMPI1 - __TMPI2
TIMER_RUNTIMELEFT := __TMPI1
__TMPB1 := TIMER_RUNTIMELEFT <= __DINT_NULL
_IF _NOT __TMPB1 _GOTO __LAB51
_IF _NOT __TMPB1 _GOTO __LAB5d
CMD_TIMERRUN := FALSE
STS_TIMERRUNTIMESET := FALSE
_GOTO __LAB52
__LAB51 :
__LAB52 :
_GOTO __LAB53
__LAB4e :
_GOTO __LAB5e
__LAB5d :
__LAB5e :
__TMPI1 := TIMER_RUNTIMELEFT / __CDINT0000003C
TIME_RUNTIMELEFTMIN := __TMPI1
__TMPI1 := TIME_RUNTIMELEFTMIN * __CDINT0000003C
__TMPI2 := TIMER_RUNTIMELEFT - __TMPI1
TIME_RUNTIMELEFTSEC := __TMPI2
_GOTO __LAB5f
__LAB5a :
__TMPB1 := _NOT STS_TIMERWAITTIMESET
_IF _NOT __TMPB1 _GOTO __LAB54
_IF _NOT __TMPB1 _GOTO __LAB60
STS_TIMERWAITTIMESET := TRUE
TIME_TIMERWAITTIME := TIME_CURRENTTIME
DEVICE_STATUS := __TMPM19
_GOTO __LAB55
__LAB54 :
__LAB55 :
DEVICE_STATUS := __TMPM24
_GOTO __LAB61
__LAB60 :
__LAB61 :
__TMPI1 := CFG_TIMERWAITTIME * __CDINT0000003C
__TMPI2 := TIME_CURRENTTIME - TIME_TIMERWAITTIME
__TMPI1 := __TMPI1 - __TMPI2
TIMER_WAITTIMELEFT := __TMPI1
__TMPB1 := TIMER_WAITTIMELEFT <= __DINT_NULL
_IF _NOT __TMPB1 _GOTO __LAB56
_IF _NOT __TMPB1 _GOTO __LAB62
CMD_TIMERRUN := TRUE
STS_TIMERWAITTIMESET := FALSE
_GOTO __LAB57
__LAB56 :
__LAB57 :
__LAB53 :
_GOTO __LAB58
__LAB4d :
__LAB58 :
_GOTO __LAB63
__LAB62 :
__LAB63 :
__TMPI1 := TIMER_WAITTIMELEFT / __CDINT0000003C
TIME_WAITTIMELEFTMIN := __TMPI1
__TMPI1 := TIME_WAITTIMELEFTMIN * __CDINT0000003C
__TMPI2 := TIMER_WAITTIMELEFT - __TMPI1
TIME_WAITTIMELEFTSEC := __TMPI2
__LAB5f :
_GOTO __LAB64
__LAB59 :
__LAB64 :
__TMPB1 := _NOT CFG_TIMERMODEENABLED
__TMPB1 := __TMPB1 _OR STOP_COMMAND
_IF _NOT __TMPB1 _GOTO __LAB59
_IF _NOT __TMPB1 _GOTO __LAB65
CMD_TIMERRUN := FALSE
_GOTO __LAB5a
__LAB59 :
__LAB5a :
STS_TIMERRUNTIMESET := FALSE
STS_TIMERWAITTIMESET := FALSE
_GOTO __LAB66
__LAB65 :
__LAB66 :
__TMPB1 := TRIPSTATUS _OR OVERLOADTRIP
_IF _NOT __TMPB1 _GOTO __LAB67
_PUSH_PAR TIME_CURRENTTIME
_PUSH_PAR CFG_RESETCYCLE
__TMPI1 := _CALL MOD
__TMPB2 := __TMPI1 = __DINT_NULL
_IF _NOT __TMPB2 _GOTO __LAB68
TRIPRESETCMD := TRUE
_GOTO __LAB69
__LAB68 :
__LAB69 :
_GOTO __LAB6a
__LAB67 :
__LAB6a :

View File

@@ -1,6 +1,24 @@
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;
(* time_CurrentTime := ANY_TO_DINT( __SYSVA_CYCLEDATE) / 1000;*)
CurrentTimeRTC(TRUE);
time_CurrentTime := ANY_TO_DINT(CurrentTimeRTC.Epoch);
(*IO Mapping*)
IF NOT Test_Mode THEN
Contactor_Status := DigitalInput_Status_0;
Start_Button := DigitalInput_Status_1;
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;
END_IF;
(* First Scan Variable Setting*)
IF (__SYSVA_FIRST_SCAN) THEN
@@ -28,13 +46,13 @@ E300_kWh_Regen := ANY_TO_REAL(E300.RealEnergyGeneratedOdometer);
IF Downhole_Tool_Enabled THEN
(*Modbus Mapping*)
DH_IntakeTemperature := ANY_TO_REAL(Modbus_Read0[2]) / 10.0;
DH_IntakePressure := ANY_TO_REAL(Modbus_Read0[3]);
DH_IntakePressure := ANY_TO_REAL(Modbus_Read0[3]) - 14.0;
DH_NumChannels := Modbus_Read0[10];
DH_ToolVoltage := Modbus_Read0[11];
DH_MaxIntakeTemperature_Startup := ANY_TO_REAL(Modbus_Read0[40]) / 10.0;
DH_MaxIntakePressure_Startup := Modbus_Read0[41];
DH_DownholeStatus_INT := Modbus_Read0[99];
DH_Fluid_Level := (DH_IntakePressure - 14.0) * (1.0 / 0.433) * (1.0 / cfg_SpecificGravity);
DH_Fluid_Level := DH_IntakePressure * (1.0 / 0.433) * (1.0 / cfg_SpecificGravity) + cfg_DHSensorDistToIntake;
CASE Modbus_Read0[99] OF
0: DH_DownholeStatus := 'OK';
@@ -58,18 +76,7 @@ ELSE
Temp_Startup_Enabled := FALSE;
END_IF;
(*IO Mapping*)
IF NOT Test_Mode THEN
Contactor_Status := DigitalInput_Status_0;
Start_Button := DigitalInput_Status_1;
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));
Pressure_In := LinearScale_Pressure.EU_Out;
ELSE
Contactor_Status := cmd_Run;
VoltageOK := TRUE;
END_IF;
IF Pressure_Transducer_Enabled AND
Contactor_Status AND
@@ -101,6 +108,8 @@ IF Pressure_Transducer_Enabled AND
ELSE
Pressure_OK := TRUE;
END_IF;
alarm_TubingPressure := NOT Pressure_OK;
(* Start Permissive Status *)
SP_Pressure := (NOT Pressure_Startup_Enabled) OR (DH_IntakePressure > Pressure_Startup);
@@ -109,12 +118,16 @@ SP_Mode := Hand_Mode OR Auto_Mode OR Test_Mode;
SP_Trip := NOT TripStatus;
SP_Voltage := VoltageOK;
(* Pressure should be above the startup pressure setpoint and temperature should be below the startup temp setpoint to begin*)
Start_Permissive := (SP_Pressure AND SP_Temperature AND SP_Mode AND SP_Trip AND SP_Voltage);
IF NOT Start_Permissive THEN
IF NOT Start_Permissive AND NOT cmd_Run THEN
Device_Status := 'Not ready to start';
END_IF;
IF Device_Status = 'Not ready to start' AND Start_Permissive AND NOT cmd_Run THEN
Device_Status := 'Ready to start';
END_IF;
(* Run Permissive Status *)
@@ -127,6 +140,9 @@ RP_TubingPressure := Pressure_OK;
(* Pressure should be be above the shutdown pressure and temperature should be below shutdown temp setpoint to continue to run *)
Run_Permissive := (RP_Pressure AND RP_Temperature AND RP_Mode AND RP_Trip AND RP_TubingPressure);
alarm_DHPressure := NOT RP_Pressure AND Contactor_Status;
alarm_DHTemperature := NOT RP_Temperature AND Contactor_Status;
IF (NOT Run_Permissive AND cmd_Run) THEN
Device_Status := 'Lost Run Permissive';
Shutdown_Time := time_CurrentTime;
@@ -143,48 +159,86 @@ END_IF;
IF val_OverloadTripCount > cfg_OverloadTripCountLimit THEN
Restart_Allowed := FALSE;
Device_Status := 'Not able to restart - Overload Limit';
sts_TripLimitOLReached := TRUE;
ELSE
sts_TripLimitOLReached := FALSE;
END_IF;
IF val_TripCount > cfg_TripCountLimit THEN
Restart_Allowed := FALSE;
Device_Status := 'Not able to restart - Trip Limit';
sts_TripLimitReached := TRUE;
ELSE
sts_TripLimitReached := FALSE;
END_IF;
(* If the pump hasn't been started by the user, don't allow it to auto-restart *)
IF (Start_Command OR Start_Button) AND Start_Permissive THEN
TEST_started := TRUE;
Restart_Allowed := TRUE;
IF cfg_TimerModeEnabled THEN
sts_TimerCycleActive := TRUE;
cmd_TimerRun := TRUE;
END_IF;
END_IF;
(* If run permissive goes false, do not allow a restart for a specified amount of time *)
IF (Auto_Mode AND (NOT OverloadTrip) AND NOT cmd_Run AND Restart_Allowed) THEN
IF (Auto_Mode AND
(NOT OverloadTrip) AND
(NOT cmd_Run) AND
((sts_TimerCycleActive AND cmd_TimerRun) OR (NOT sts_TimerCycleActive)) AND
Restart_Allowed) THEN
IF (time_CurrentTime - Shutdown_Time) > Downtime_Time_Parameter THEN
IF (NOT Restart_Command) THEN
TripResetCmd := TRUE;
Restart_Command := TRUE;
IF cfg_TimerModeEnabled THEN
cmd_TimerRun := TRUE;
sts_TimerCycleActive := TRUE;
END_IF;
END_IF;
ELSE
(* Attempt to clear trip every 15 seconds *)
(*IF NOT Downtime_Timer.Q AND TripStatus THEN
Downtime_Timer(TRUE, Clear_Trip_Cycle);
ELSE
TripResetCmd := TRUE;
END_IF;*)
IF cfg_TimerModeEnabled THEN
cmd_TimerRun := FALSE;
END_IF;
sts_TimerCycleActive := FALSE;
Restart_Command := FALSE;
Time_Until_Startup := Downtime_Time_Parameter - (time_CurrentTime - Shutdown_Time);
Time_Until_Startup_String := ANY_TO_STRING(Time_Until_Startup);
Time_Until_Startup_Min := Time_Until_Startup / 60;
Time_Until_Startup_Sec := Time_Until_Startup - (Time_Until_Startup_Min * 60);
Time_Until_Startup_String := ANY_TO_STRING(Time_Until_Startup_Min) + ':' + RIGHT('0' + ANY_TO_STRING(Time_Until_Startup_Sec),2);
IF Auto_Mode THEN
Device_Status := 'Waiting to attempt restart ' + Time_Until_Startup_String;
Device_Status := 'Waiting to attempt restart: ' + Time_Until_Startup_String;
END_IF;
END_IF;
ELSIF (Auto_Mode AND OverloadTrip AND NOT cmd_Run AND Restart_Allowed) THEN
ELSIF (Auto_Mode AND
OverloadTrip AND
(NOT cmd_Run) AND
Restart_Allowed) THEN
IF (time_CurrentTime - Shutdown_Time) > Downtime_Time_Parameter_OL THEN
IF (NOT Restart_Command) THEN
Restart_Command := True;
IF cfg_TimerModeEnabled THEN
cmd_TimerRun := TRUE;
sts_TimerCycleActive := TRUE;
END_IF;
END_IF;
ELSE
IF cfg_TimerModeEnabled THEN
cmd_TimerRun := FALSE;
END_IF;
sts_TimerCycleActive := FALSE;
Restart_Command := FALSE;
Time_Until_Startup := Downtime_Time_Parameter_OL - (time_CurrentTime - Shutdown_Time);
Time_Until_Startup_String := ANY_TO_STRING(Time_Until_Startup);
Time_Until_Startup_Min := Time_Until_Startup / 60;
Time_Until_Startup_Sec := Time_Until_Startup - (Time_Until_Startup_Min * 60);
Time_Until_Startup_String := ANY_TO_STRING(Time_Until_Startup_Min) + ':' + RIGHT('0' + ANY_TO_STRING(Time_Until_Startup_Sec),2);
IF Auto_Mode THEN
Device_Status := 'Waiting to restart (OL Timer)' + Time_Until_Startup_String;
Device_Status := 'Waiting to restart (OL Timer):' + Time_Until_Startup_String;
END_IF;
END_IF;
END_IF;
@@ -211,9 +265,6 @@ ELSE
END_IF;
IF cmd_Run AND NOT Contactor_Status THEN
Start_Command := TRUE;
Device_Status := 'Contactor Failure, Recovering';
IF NOT E300_Output_Enable THEN
IF E300_Output_Toggled THEN
E300_Output_Enable := TRUE;
@@ -237,27 +288,31 @@ IF NOT Auto_Mode THEN
Restart_Allowed := FALSE;
END_IF;
(* If the pump hasn't been started by the user, don't allow it to auto-restart *)
IF (Start_Command OR Start_Button) AND Start_Permissive THEN
(* Start up automatically if powering up in auto mode *)
RTrig_AutoMode(Auto_Mode);
IF RTrig_AutoMode.Q THEN
Restart_Allowed := TRUE;
IF cfg_TimerModeEnabled THEN
sts_TimerCycleActive := TRUE;
cmd_TimerRun := TRUE;
END_IF;
Shutdown_Time := time_CurrentTime;
END_IF;
IF Stop_Command THEN
Restart_Allowed := FALSE;
Device_Status := 'User Stopped';
sts_TimerCycleActive := FALSE;
val_OverloadTripCount := 0;
val_TripCount := 0;
cmd_TimerRun := FALSE;
sts_TimerRunTimeSet := FALSE;
END_IF;
IF (NOT Hand_Mode) AND (NOT Auto_Mode) THEN
val_OverloadTripCount := 0;
val_TripCount := 0;
cmd_TimerRun := FALSE;
sts_TimerCycleActive := FALSE;
sts_TimerRunTimeSet := FALSE;
(*Restart_Allowed := FALSE;*)
END_IF;
IF NOT Contactor_Status THEN
@@ -277,6 +332,9 @@ IF cfg_TimerModeEnabled AND sts_TimerCycleActive THEN
cmd_TimerRun := FALSE;
sts_TimerRunTimeSet := FALSE;
END_IF;
time_RunTimeLeftMin := timer_RunTimeLeft / 60;
time_RunTimeLeftSec := timer_RunTimeLeft - (time_RunTimeLeftMin * 60);
ELSE
IF NOT sts_TimerWaitTimeSet THEN
sts_TimerWaitTimeSet := TRUE;
@@ -289,15 +347,23 @@ IF cfg_TimerModeEnabled AND sts_TimerCycleActive THEN
cmd_TimerRun := TRUE;
sts_TimerWaitTimeSet := FALSE;
END_IF;
time_WaitTimeLeftMin := timer_WaitTimeLeft / 60;
time_WaitTimeLeftSec := timer_WaitTimeLeft - (time_WaitTimeLeftMin * 60);
END_IF;
END_IF;
IF NOT cfg_TimerModeEnabled OR Stop_Command THEN
cmd_TimerRun := FALSE;
sts_TimerRunTimeSet := FALSE;
sts_TimerWaitTimeSet := FALSE;
END_IF;
IF TripStatus OR OverloadTrip THEN
IF MOD(time_CurrentTime, cfg_ResetCycle) = 0 THEN
TripResetCmd := TRUE;
END_IF;
END_IF;
END_PROGRAM

View File

@@ -1,6 +1,7 @@
READDOWNHOLEDATA
CONTROL
E300DATA
CONTROL
FLOWTOTALIZER
RA_CIP_ELECTRICAL_ENERGY_OBJ
RA_E300_OUTPUT_CONTROL
READE300IO
@@ -18,3 +19,4 @@ SINT_TO_USINT
WRITEE300CONFIG
WRITEE300TRIPRESET
LINEARSCALE
EPOCH_TIME

View File

@@ -574,6 +574,36 @@ __LAB40 :
_GOTO __LAB41
__LAB3e :
__LAB41 :
ALARM_E300 := TRIPSTATUS
_IF _NOT ALARM_E300 _GOTO __LAB42
__TMPB1 := TRIPSTATUSCURRENT_INT = __UINT_NULL
__TMPB1 := _NOT __TMPB1
_IF _NOT __TMPB1 _GOTO __LAB43
ALARM_E300_MESSAGE := TRIPSTATUSCURRENT
_GOTO __LAB44
__LAB43 :
__TMPB1 := TRIPSTATUSVOLTAGE_INT = __UINT_NULL
__TMPB1 := _NOT __TMPB1
_IF _NOT __TMPB1 _GOTO __LAB45
ALARM_E300_MESSAGE := TRIPSTATUSVOLTAGE
_GOTO __LAB44
__LAB45 :
__TMPB1 := TRIPSTATUSCONTROL_INT = __UINT_NULL
__TMPB1 := _NOT __TMPB1
_IF _NOT __TMPB1 _GOTO __LAB46
ALARM_E300_MESSAGE := TRIPSTATUSCONTROL
_GOTO __LAB44
__LAB46 :
__TMPB1 := TRIPSTATUSPOWER_INT = __UINT_NULL
__TMPB1 := _NOT __TMPB1
_IF _NOT __TMPB1 _GOTO __LAB47
ALARM_E300_MESSAGE := TRIPSTATUSPOWER
_GOTO __LAB44
__LAB47 :
__LAB44 :
_GOTO __LAB48
__LAB42 :
__LAB48 :
__FBL_RET := _PUSHCALLFB READE300PARAM E300_WARNSTATUSCURRENT
__TMPI1 := __CDINT00000001 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000001
@@ -591,117 +621,117 @@ WARNINGSTATUSCURRENT_INT := __TMPUIN1
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __DINT_NULL
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB42
_IF _NOT __TMPB1 _GOTO __LAB49
WARNINGSTATUSCURRENT := __TMPM2
_GOTO __LAB43
__LAB42 :
_GOTO __LAB4a
__LAB49 :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT00000001
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB44
_IF _NOT __TMPB1 _GOTO __LAB4b
WARNINGSTATUSCURRENT := __TMPM3
_GOTO __LAB43
__LAB44 :
_GOTO __LAB4a
__LAB4b :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT00000002
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB45
_IF _NOT __TMPB1 _GOTO __LAB4c
WARNINGSTATUSCURRENT := __TMPM4
_GOTO __LAB43
__LAB45 :
_GOTO __LAB4a
__LAB4c :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT00000003
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB46
_IF _NOT __TMPB1 _GOTO __LAB4d
WARNINGSTATUSCURRENT := __TMPM5
_GOTO __LAB43
__LAB46 :
_GOTO __LAB4a
__LAB4d :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT00000004
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB47
_IF _NOT __TMPB1 _GOTO __LAB4e
WARNINGSTATUSCURRENT := __TMPM6
_GOTO __LAB43
__LAB47 :
_GOTO __LAB4a
__LAB4e :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT00000005
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB48
_IF _NOT __TMPB1 _GOTO __LAB4f
WARNINGSTATUSCURRENT := __TMPM7
_GOTO __LAB43
__LAB48 :
_GOTO __LAB4a
__LAB4f :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT00000006
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB49
_IF _NOT __TMPB1 _GOTO __LAB50
WARNINGSTATUSCURRENT := __TMPM8
_GOTO __LAB43
__LAB49 :
_GOTO __LAB4a
__LAB50 :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT00000007
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB4a
_IF _NOT __TMPB1 _GOTO __LAB51
WARNINGSTATUSCURRENT := __TMPM9
_GOTO __LAB43
__LAB4a :
_GOTO __LAB4a
__LAB51 :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT00000008
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB4b
_IF _NOT __TMPB1 _GOTO __LAB52
WARNINGSTATUSCURRENT := __TMPM10
_GOTO __LAB43
__LAB4b :
_GOTO __LAB4a
__LAB52 :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT00000009
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB4c
_IF _NOT __TMPB1 _GOTO __LAB53
WARNINGSTATUSCURRENT := __TMPM11
_GOTO __LAB43
__LAB4c :
_GOTO __LAB4a
__LAB53 :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT0000000A
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB4d
_IF _NOT __TMPB1 _GOTO __LAB54
WARNINGSTATUSCURRENT := __TMPM12
_GOTO __LAB43
__LAB4d :
_GOTO __LAB4a
__LAB54 :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT0000000B
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB4e
_IF _NOT __TMPB1 _GOTO __LAB55
WARNINGSTATUSCURRENT := __TMPM13
_GOTO __LAB43
__LAB4e :
_GOTO __LAB4a
__LAB55 :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT0000000C
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB4f
_IF _NOT __TMPB1 _GOTO __LAB56
WARNINGSTATUSCURRENT := __TMPM14
_GOTO __LAB43
__LAB4f :
_GOTO __LAB4a
__LAB56 :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT0000000D
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB50
_IF _NOT __TMPB1 _GOTO __LAB57
WARNINGSTATUSCURRENT := __TMPM15
_GOTO __LAB43
__LAB50 :
_GOTO __LAB4a
__LAB57 :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT0000000E
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB51
_IF _NOT __TMPB1 _GOTO __LAB58
WARNINGSTATUSCURRENT := __TMPM16
_GOTO __LAB43
__LAB51 :
_GOTO __LAB4a
__LAB58 :
_PUSH_PAR WARNINGSTATUSCURRENT_INT
_PUSH_PAR __CDINT0000000F
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB52
_IF _NOT __TMPB1 _GOTO __LAB59
WARNINGSTATUSCURRENT := __TMPM17
_GOTO __LAB43
__LAB52 :
_GOTO __LAB4a
__LAB59 :
WARNINGSTATUSCURRENT := __TMPM18
__LAB43 :
__LAB4a :
__FBL_RET := _PUSHCALLFB READE300PARAM E300_WARNSTATUSVOLTAGE
__TMPI1 := __CDINT00000001 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000001
@@ -719,47 +749,47 @@ WARNINGSTATUSVOLTAGE_INT := __TMPUIN1
_PUSH_PAR WARNINGSTATUSVOLTAGE_INT
_PUSH_PAR __DINT_NULL
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB53
_IF _NOT __TMPB1 _GOTO __LAB5a
WARNINGSTATUSVOLTAGE := __TMPM19
_GOTO __LAB54
__LAB53 :
_GOTO __LAB5b
__LAB5a :
_PUSH_PAR WARNINGSTATUSVOLTAGE_INT
_PUSH_PAR __CDINT00000001
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB55
_IF _NOT __TMPB1 _GOTO __LAB5c
WARNINGSTATUSVOLTAGE := __TMPM20
_GOTO __LAB54
__LAB55 :
_GOTO __LAB5b
__LAB5c :
_PUSH_PAR WARNINGSTATUSVOLTAGE_INT
_PUSH_PAR __CDINT00000002
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB56
_IF _NOT __TMPB1 _GOTO __LAB5d
WARNINGSTATUSVOLTAGE := __TMPM21
_GOTO __LAB54
__LAB56 :
_GOTO __LAB5b
__LAB5d :
_PUSH_PAR WARNINGSTATUSVOLTAGE_INT
_PUSH_PAR __CDINT00000003
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB57
_IF _NOT __TMPB1 _GOTO __LAB5e
WARNINGSTATUSVOLTAGE := __TMPM22
_GOTO __LAB54
__LAB57 :
_GOTO __LAB5b
__LAB5e :
_PUSH_PAR WARNINGSTATUSVOLTAGE_INT
_PUSH_PAR __CDINT00000004
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB58
_IF _NOT __TMPB1 _GOTO __LAB5f
WARNINGSTATUSVOLTAGE := __TMPM23
_GOTO __LAB54
__LAB58 :
_GOTO __LAB5b
__LAB5f :
_PUSH_PAR WARNINGSTATUSVOLTAGE_INT
_PUSH_PAR __CDINT00000005
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB59
_IF _NOT __TMPB1 _GOTO __LAB60
WARNINGSTATUSVOLTAGE := __TMPM24
_GOTO __LAB54
__LAB59 :
_GOTO __LAB5b
__LAB60 :
WARNINGSTATUSVOLTAGE := __TMPM18
__LAB54 :
__LAB5b :
__FBL_RET := _PUSHCALLFB READE300PARAM E300_WARNSTATUSPOWER
__TMPI1 := __CDINT00000001 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000001
@@ -777,89 +807,89 @@ WARNINGSTATUSPOWER_INT := __TMPUIN1
_PUSH_PAR WARNINGSTATUSPOWER_INT
_PUSH_PAR __DINT_NULL
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB5a
_IF _NOT __TMPB1 _GOTO __LAB61
WARNINGSTATUSPOWER := __TMPM25
_GOTO __LAB5b
__LAB5a :
_GOTO __LAB62
__LAB61 :
_PUSH_PAR WARNINGSTATUSPOWER_INT
_PUSH_PAR __CDINT00000001
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB5c
_IF _NOT __TMPB1 _GOTO __LAB63
WARNINGSTATUSPOWER := __TMPM26
_GOTO __LAB5b
__LAB5c :
_GOTO __LAB62
__LAB63 :
_PUSH_PAR WARNINGSTATUSPOWER_INT
_PUSH_PAR __CDINT00000002
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB5d
_IF _NOT __TMPB1 _GOTO __LAB64
WARNINGSTATUSPOWER := __TMPM27
_GOTO __LAB5b
__LAB5d :
_GOTO __LAB62
__LAB64 :
_PUSH_PAR WARNINGSTATUSPOWER_INT
_PUSH_PAR __CDINT00000003
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB5e
_IF _NOT __TMPB1 _GOTO __LAB65
WARNINGSTATUSPOWER := __TMPM28
_GOTO __LAB5b
__LAB5e :
_GOTO __LAB62
__LAB65 :
_PUSH_PAR WARNINGSTATUSPOWER_INT
_PUSH_PAR __CDINT00000004
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB5f
_IF _NOT __TMPB1 _GOTO __LAB66
WARNINGSTATUSPOWER := __TMPM29
_GOTO __LAB5b
__LAB5f :
_GOTO __LAB62
__LAB66 :
_PUSH_PAR WARNINGSTATUSPOWER_INT
_PUSH_PAR __CDINT00000005
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB60
_IF _NOT __TMPB1 _GOTO __LAB67
WARNINGSTATUSPOWER := __TMPM30
_GOTO __LAB5b
__LAB60 :
_GOTO __LAB62
__LAB67 :
_PUSH_PAR WARNINGSTATUSPOWER_INT
_PUSH_PAR __CDINT00000006
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB61
_IF _NOT __TMPB1 _GOTO __LAB68
WARNINGSTATUSPOWER := __TMPM31
_GOTO __LAB5b
__LAB61 :
_GOTO __LAB62
__LAB68 :
_PUSH_PAR WARNINGSTATUSPOWER_INT
_PUSH_PAR __CDINT00000007
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB62
_IF _NOT __TMPB1 _GOTO __LAB69
WARNINGSTATUSPOWER := __TMPM32
_GOTO __LAB5b
__LAB62 :
_GOTO __LAB62
__LAB69 :
_PUSH_PAR WARNINGSTATUSPOWER_INT
_PUSH_PAR __CDINT00000008
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB63
_IF _NOT __TMPB1 _GOTO __LAB6a
WARNINGSTATUSPOWER := __TMPM33
_GOTO __LAB5b
__LAB63 :
_GOTO __LAB62
__LAB6a :
_PUSH_PAR WARNINGSTATUSPOWER_INT
_PUSH_PAR __CDINT00000009
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB64
_IF _NOT __TMPB1 _GOTO __LAB6b
WARNINGSTATUSPOWER := __TMPM34
_GOTO __LAB5b
__LAB64 :
_GOTO __LAB62
__LAB6b :
_PUSH_PAR WARNINGSTATUSPOWER_INT
_PUSH_PAR __CDINT0000000A
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB65
_IF _NOT __TMPB1 _GOTO __LAB6c
WARNINGSTATUSPOWER := __TMPM35
_GOTO __LAB5b
__LAB65 :
_GOTO __LAB62
__LAB6c :
_PUSH_PAR WARNINGSTATUSPOWER_INT
_PUSH_PAR __CDINT0000000B
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB66
_IF _NOT __TMPB1 _GOTO __LAB6d
WARNINGSTATUSPOWER := __TMPM36
_GOTO __LAB5b
__LAB66 :
_GOTO __LAB62
__LAB6d :
WARNINGSTATUSPOWER := __TMPM18
__LAB5b :
__LAB62 :
__FBL_RET := _PUSHCALLFB READE300PARAM E300_WARNSTATUSCONTROL
__TMPI1 := __CDINT00000001 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000001
@@ -877,110 +907,110 @@ WARNINGSTATUSCONTROL_INT := __TMPUIN1
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __DINT_NULL
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB67
_IF _NOT __TMPB1 _GOTO __LAB6e
WARNINGSTATUSCONTROL := __TMPM37
_GOTO __LAB68
__LAB67 :
_GOTO __LAB6f
__LAB6e :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT00000001
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB69
_IF _NOT __TMPB1 _GOTO __LAB70
WARNINGSTATUSCONTROL := __TMPM38
_GOTO __LAB68
__LAB69 :
_GOTO __LAB6f
__LAB70 :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT00000002
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB6a
_IF _NOT __TMPB1 _GOTO __LAB71
WARNINGSTATUSCONTROL := __TMPM39
_GOTO __LAB68
__LAB6a :
_GOTO __LAB6f
__LAB71 :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT00000003
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB6b
_IF _NOT __TMPB1 _GOTO __LAB72
WARNINGSTATUSCONTROL := __TMPM40
_GOTO __LAB68
__LAB6b :
_GOTO __LAB6f
__LAB72 :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT00000004
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB6c
_IF _NOT __TMPB1 _GOTO __LAB73
WARNINGSTATUSCONTROL := __TMPM41
_GOTO __LAB68
__LAB6c :
_GOTO __LAB6f
__LAB73 :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT00000005
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB6d
_IF _NOT __TMPB1 _GOTO __LAB74
WARNINGSTATUSCONTROL := __TMPM42
_GOTO __LAB68
__LAB6d :
_GOTO __LAB6f
__LAB74 :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT00000006
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB6e
_IF _NOT __TMPB1 _GOTO __LAB75
WARNINGSTATUSCONTROL := __TMPM43
_GOTO __LAB68
__LAB6e :
_GOTO __LAB6f
__LAB75 :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT00000007
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB6f
_IF _NOT __TMPB1 _GOTO __LAB76
WARNINGSTATUSCONTROL := __TMPM44
_GOTO __LAB68
__LAB6f :
_GOTO __LAB6f
__LAB76 :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT00000008
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB70
_IF _NOT __TMPB1 _GOTO __LAB77
WARNINGSTATUSCONTROL := __TMPM45
_GOTO __LAB68
__LAB70 :
_GOTO __LAB6f
__LAB77 :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT00000009
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB71
_IF _NOT __TMPB1 _GOTO __LAB78
WARNINGSTATUSCONTROL := __TMPM46
_GOTO __LAB68
__LAB71 :
_GOTO __LAB6f
__LAB78 :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT0000000A
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB72
_IF _NOT __TMPB1 _GOTO __LAB79
WARNINGSTATUSCONTROL := __TMPM47
_GOTO __LAB68
__LAB72 :
_GOTO __LAB6f
__LAB79 :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT0000000B
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB73
_IF _NOT __TMPB1 _GOTO __LAB7a
WARNINGSTATUSCONTROL := __TMPM48
_GOTO __LAB68
__LAB73 :
_GOTO __LAB6f
__LAB7a :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT0000000C
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB74
_IF _NOT __TMPB1 _GOTO __LAB7b
WARNINGSTATUSCONTROL := __TMPM49
_GOTO __LAB68
__LAB74 :
_GOTO __LAB6f
__LAB7b :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT0000000D
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB75
_IF _NOT __TMPB1 _GOTO __LAB7c
WARNINGSTATUSCONTROL := __TMPM50
_GOTO __LAB68
__LAB75 :
_GOTO __LAB6f
__LAB7c :
_PUSH_PAR WARNINGSTATUSCONTROL_INT
_PUSH_PAR __CDINT0000000E
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB76
_IF _NOT __TMPB1 _GOTO __LAB7d
WARNINGSTATUSCONTROL := __TMPM51
_GOTO __LAB68
__LAB76 :
_GOTO __LAB6f
__LAB7d :
WARNINGSTATUSCONTROL := __TMPM18
__LAB68 :
__LAB6f :
__TMPB1 := WARNINGSTATUSCURRENT_INT = __UINT_NULL
__TMPB2 := WARNINGSTATUSVOLTAGE_INT = __UINT_NULL
__TMPB1 := __TMPB1 _AND __TMPB2
@@ -988,13 +1018,13 @@ __TMPB3 := WARNINGSTATUSPOWER_INT = __UINT_NULL
__TMPB1 := __TMPB1 _AND __TMPB3
__TMPB4 := WARNINGSTATUSCONTROL_INT = __UINT_NULL
__TMPB1 := __TMPB1 _AND __TMPB4
_IF _NOT __TMPB1 _GOTO __LAB77
_IF _NOT __TMPB1 _GOTO __LAB7e
WARNINGSTATUS := FALSE
_GOTO __LAB78
__LAB77 :
_GOTO __LAB7f
__LAB7e :
WARNINGSTATUS := TRUE
__LAB78 :
_IF _NOT TRIPRESETCMD _GOTO __LAB79
__LAB7f :
_IF _NOT TRIPRESETCMD _GOTO __LAB80
__TMPI1 := __CDINT00000001 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000001
TRIPRESETON [ __TMPI1 ] := __CUSINT00000001
@@ -1006,15 +1036,15 @@ __TMPI1 := __CDINT0000000A + __DINT_NULL
__TMPB1 := E300_WRITE_TRIPRESET [ __TMPI1 ]
__TMPB1 := _NOT __TMPB1
TRIPRESETWRITESTATUS := __TMPB1
_IF _NOT TRIPRESETWRITESTATUS _GOTO __LAB7a
_IF _NOT TRIPRESETWRITESTATUS _GOTO __LAB81
TRIPRESETCMD := FALSE
_GOTO __LAB7b
__LAB7a :
__LAB7b :
_GOTO __LAB7c
__LAB79 :
__LAB7c :
_IF _NOT CFG_READ _GOTO __LAB7d
_GOTO __LAB82
__LAB81 :
__LAB82 :
_GOTO __LAB83
__LAB80 :
__LAB83 :
_IF _NOT CFG_READ _GOTO __LAB84
__FBL_RET := _PUSHCALLFB READE300CONFIG READE300CONFIGDATA
__TMPV1 := READE300CONFIGDATA [ __CDINT00000014 ]
__TMPV6 := E300_CONFIG_BUFFER [ __DINT_NULL ]
@@ -1696,6 +1726,10 @@ __TMPI1 := __CDINT000000AA - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000001
__TMPUSI1 := E300_CONFIG_BUFFER [ __TMPI1 ]
CFG_V_PHASEROTATIONINHIBITTIME := __TMPUSI1
__TMPI1 := __CDINT0000000E - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000001
__TMPUSI1 := E300_CONFIG_BUFFER [ __TMPI1 ]
CFG_V_PHASEROTATIONTRIPTYPE := __TMPUSI1
__TMPI1 := __CDINT000000B7 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000001
__TMPUSI1 := E300_CONFIG_BUFFER [ __TMPI1 ]
@@ -2280,15 +2314,15 @@ __TMPUSI1 := E300_CONFIG_BUFFER [ __TMPI1 ]
CFG_P_OVERPOWERFACTORLEADWARNINGLEVEL := __TMPUSI1
__TMPI1 := __CDINT000001B0 + __CDINT00000012
__TMPB1 := READE300CONFIGDATA [ __TMPI1 ]
_IF _NOT __TMPB1 _GOTO __LAB7e
_IF _NOT __TMPB1 _GOTO __LAB85
CFG_READ := FALSE
_GOTO __LAB7f
__LAB7e :
__LAB7f :
_GOTO __LAB80
__LAB7d :
__LAB80 :
_IF _NOT CFG_WRITE _GOTO __LAB81
_GOTO __LAB86
__LAB85 :
__LAB86 :
_GOTO __LAB87
__LAB84 :
__LAB87 :
_IF _NOT CFG_WRITE _GOTO __LAB88
__TMPR1 := CFG_C_FLASETTING * __TMPR7
_PUSH_PAR __TMPR1
__TMPUDI1 := _CALL ANY_TO_REAL
@@ -2936,6 +2970,9 @@ E300_CONFIG_BUFFER [ __TMPI1 ] := __TMPUSI1
__TMPI1 := __CDINT000000AA - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000001
E300_CONFIG_BUFFER [ __TMPI1 ] := CFG_V_PHASEROTATIONINHIBITTIME
__TMPI1 := __CDINT0000000E - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000001
E300_CONFIG_BUFFER [ __TMPI1 ] := CFG_V_PHASEROTATIONTRIPTYPE
__TMPI1 := __CDINT000000B7 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000001
E300_CONFIG_BUFFER [ __TMPI1 ] := CFG_V_VOLTAGEIMBALANCEINHIBITTIME
@@ -3463,11 +3500,11 @@ __TMPV7 := __TMPV1
__FBL_RET := _PUSHCALLFB WRITEE300CONFIG WRITEE300CONFIGDATA
__TMPI1 := __CDINT00000018 + __CDINT00000012
__TMPB1 := WRITEE300CONFIGDATA [ __TMPI1 ]
_IF _NOT __TMPB1 _GOTO __LAB82
_IF _NOT __TMPB1 _GOTO __LAB89
CFG_WRITE := FALSE
_GOTO __LAB83
__LAB82 :
__LAB83 :
_GOTO __LAB84
__LAB81 :
__LAB84 :
_GOTO __LAB8a
__LAB89 :
__LAB8a :
_GOTO __LAB8b
__LAB88 :
__LAB8b :

View File

@@ -285,6 +285,19 @@ IF (E300_TripStatusCurrent.MSGObjRead.Q AND
END_IF;
END_IF;
alarm_E300 := TripStatus;
IF alarm_E300 THEN
IF NOT (TripStatusCurrent_INT = 0) THEN
alarm_E300_Message := TripStatusCurrent;
ELSIF NOT (TripStatusVoltage_INT = 0) THEN
alarm_E300_Message := TripStatusVoltage;
ELSIF NOT (TripStatusControl_INT = 0) THEN
alarm_E300_Message := TripStatusControl;
ELSIF NOT (TripStatusPower_INT = 0) THEN
alarm_E300_Message := TripStatusPower;
END_IF;
END_IF;
(* Warning Status *)
E300_WarnStatusCurrent(TRUE, E300_IP_ADDRESS, E300_SCAN_RATE, TRUE, 10);
S2I_WarningStatusCurrent(E300_WarnStatusCurrent.Output[1], E300_WarnStatusCurrent.Output[2]);
@@ -882,7 +895,7 @@ IF cfg_READ THEN
cfg_V_PhaseRotationInhibitTime := E300_Config_Buffer[170];
(* PhaseRotationTripType P364 *)
(* cfg_V_PhaseRotationTripType := E300_Config_Buffer[]; *)
cfg_V_PhaseRotationTripType := E300_Config_Buffer[14];
(* VoltageImbalanceInhibitTime P365 *)
cfg_V_VoltageImbalanceInhibitTime := E300_Config_Buffer[183];
@@ -1417,7 +1430,7 @@ IF cfg_WRITE THEN
E300_Config_Buffer[170] := cfg_V_PhaseRotationInhibitTime;
(* PhaseRotationTripType P364 *)
(* E300_Config_Buffer[] := cfg_V_PhaseRotationTripType; *)
E300_Config_Buffer[14] := cfg_V_PhaseRotationTripType;
(* VoltageImbalanceInhibitTime P365 *)
E300_Config_Buffer[183] := cfg_V_VoltageImbalanceInhibitTime;

View File

@@ -0,0 +1 @@
EPOCH_TIME(163):F,MOD();

View File

@@ -0,0 +1,144 @@
__TMPV1 := __EPOCH_TIME [ __DINT_NULL ]
__TMPB1 := __TMPV1 [ __DINT_NULL ]
__TMPV2 := __EPOCH_TIME [ __CDINT00000018 ]
__TMPB__RTC_READ__ENABLE := __TMPB1
__FBL_RET := _PUSHCALLFB RTC_READ __TMPV2
__TMPI1 := __CDINT00000002 + __CDINT00000002
__TMPI2 := __CDINT00000018 + __TMPI1
__TMPUIN1 := __EPOCH_TIME [ __TMPI2 ]
_PUSH_PAR __TMPUIN1
__TMPI3 := _CALL ANY_TO_UINT
__TMPB2 := __TMPI3 <> __CDINT00000001
_IF __TMPB2 _GOTO __LAB2
__EPOCH_TIME [ __CDINT0000002C ] := __UINT_NULL
_GOTO __LAB1
__LAB2 :
__TMPB2 := __TMPI3 <> __CDINT00000002
_IF __TMPB2 _GOTO __LAB3
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT0000001F
_GOTO __LAB1
__LAB3 :
__TMPB2 := __TMPI3 <> __CDINT00000003
_IF __TMPB2 _GOTO __LAB4
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT0000003B
_GOTO __LAB1
__LAB4 :
__TMPB2 := __TMPI3 <> __CDINT00000004
_IF __TMPB2 _GOTO __LAB5
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT0000005A
_GOTO __LAB1
__LAB5 :
__TMPB2 := __TMPI3 <> __CDINT00000005
_IF __TMPB2 _GOTO __LAB6
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT00000079
_GOTO __LAB1
__LAB6 :
__TMPB2 := __TMPI3 <> __CDINT00000006
_IF __TMPB2 _GOTO __LAB7
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT00000097
_GOTO __LAB1
__LAB7 :
__TMPB2 := __TMPI3 <> __CDINT00000007
_IF __TMPB2 _GOTO __LAB8
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT000000B5
_GOTO __LAB1
__LAB8 :
__TMPB2 := __TMPI3 <> __CDINT00000008
_IF __TMPB2 _GOTO __LAB9
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT000000D4
_GOTO __LAB1
__LAB9 :
__TMPB2 := __TMPI3 <> __CDINT00000009
_IF __TMPB2 _GOTO __LABa
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT000000F3
_GOTO __LAB1
__LABa :
__TMPB2 := __TMPI3 <> __CDINT0000000A
_IF __TMPB2 _GOTO __LABb
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT00000111
_GOTO __LAB1
__LABb :
__TMPB2 := __TMPI3 <> __CDINT0000000B
_IF __TMPB2 _GOTO __LABc
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT00000130
_GOTO __LAB1
__LABc :
__TMPB2 := __TMPI3 <> __CDINT0000000C
_IF __TMPB2 _GOTO __LABd
__EPOCH_TIME [ __CDINT0000002C ] := __CUINT0000014E
_GOTO __LAB1
__LABd :
__LAB1 :
__TMPI1 := __CDINT00000002 + __DINT_NULL
__TMPI2 := __CDINT00000018 + __TMPI1
__TMPUIN1 := __EPOCH_TIME [ __TMPI2 ]
_PUSH_PAR __TMPUIN1
__TMPI3 := _CALL ANY_TO_UINT
_PUSH_PAR __TMPI3
_PUSH_PAR __CDINT00000004
__TMPI4 := _CALL MOD
__TMPB2 := __TMPI4 = __DINT_NULL
_IF _NOT __TMPB2 _GOTO __LABe
__TMPI5 := __CDINT00000002 + __CDINT00000002
__TMPI6 := __CDINT00000018 + __TMPI5
__TMPUIN2 := __EPOCH_TIME [ __TMPI6 ]
__TMPB3 := __TMPUIN2 > __CUINT00000002
_IF _NOT __TMPB3 _GOTO __LABf
__TMPUIN3 := __EPOCH_TIME [ __CDINT0000002C ]
__TMPUIN3 := __TMPUIN3 + __CUINT00000001
__EPOCH_TIME [ __CDINT0000002C ] := __TMPUIN3
_GOTO __LAB10
__LABf :
__LAB10 :
_GOTO __LAB11
__LABe :
__LAB11 :
__TMPI1 := __CDINT00000002 + __DINT_NULL
__TMPI2 := __CDINT00000018 + __TMPI1
__TMPUIN1 := __EPOCH_TIME [ __TMPI2 ]
_PUSH_PAR __CDINT000007B2
__TMPUIN2 := _CALL ANY_TO_DINT
__TMPUIN1 := __TMPUIN1 - __TMPUIN2
_PUSH_PAR __TMPUIN1
__TMPULI1 := _CALL ANY_TO_UINT
_PUSH_PAR __CDINT01E1853E
__TMPULI2 := _CALL ANY_TO_DINT
__TMPULI1 := __TMPULI1 * __TMPULI2
__EPOCH_TIME [ __CDINT00000030 ] := __TMPULI1
__TMPUIN1 := __EPOCH_TIME [ __CDINT0000002C ]
__TMPI1 := __CDINT00000002 + __CDINT00000004
__TMPI2 := __CDINT00000018 + __TMPI1
__TMPUIN2 := __EPOCH_TIME [ __TMPI2 ]
__TMPUIN1 := __TMPUIN1 + __TMPUIN2
_PUSH_PAR __CDINT00015180
__TMPUIN3 := _CALL ANY_TO_DINT
__TMPUIN1 := __TMPUIN1 * __TMPUIN3
_PUSH_PAR __TMPUIN1
__TMPULI1 := _CALL ANY_TO_UINT
__EPOCH_TIME [ __CDINT00000038 ] := __TMPULI1
__TMPI1 := __CDINT00000002 + __CDINT00000006
__TMPI2 := __CDINT00000018 + __TMPI1
__TMPUIN1 := __EPOCH_TIME [ __TMPI2 ]
__TMPUIN1 := __TMPUIN1 * __CUINT00000E10
_PUSH_PAR __TMPUIN1
__TMPULI1 := _CALL ANY_TO_UINT
__EPOCH_TIME [ __CDINT00000048 ] := __TMPULI1
__TMPI1 := __CDINT00000002 + __CDINT00000008
__TMPI2 := __CDINT00000018 + __TMPI1
__TMPUIN1 := __EPOCH_TIME [ __TMPI2 ]
__TMPUIN1 := __TMPUIN1 * __CUINT0000003C
_PUSH_PAR __TMPUIN1
__TMPULI1 := _CALL ANY_TO_UINT
__EPOCH_TIME [ __CDINT00000040 ] := __TMPULI1
__TMPULI1 := __EPOCH_TIME [ __CDINT00000030 ]
__TMPULI2 := __EPOCH_TIME [ __CDINT00000038 ]
__TMPULI1 := __TMPULI1 + __TMPULI2
__TMPULI3 := __EPOCH_TIME [ __CDINT00000048 ]
__TMPULI1 := __TMPULI1 + __TMPULI3
__TMPI1 := __CDINT00000002 + __CDINT0000000A
__TMPI2 := __CDINT00000018 + __TMPI1
__TMPUIN1 := __EPOCH_TIME [ __TMPI2 ]
_PUSH_PAR __TMPUIN1
__TMPULI4 := _CALL ANY_TO_UINT
__TMPULI1 := __TMPULI1 + __TMPULI4
__EPOCH_TIME [ __CDINT00000004 ] := __TMPULI1

Binary file not shown.

View File

@@ -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>

View File

@@ -0,0 +1,30 @@
FUNCTION_BLOCK Epoch_Time
RTC_READ_1(RTC_READ_ENABLED);
CASE RTC_READ_1.RTCData.Month OF
1: prev_months_days := 0;
2: prev_months_days := 31;
3: prev_months_days := 59;
4: prev_months_days := 90;
5: prev_months_days := 121;
6: prev_months_days := 151;
7: prev_months_days := 181;
8: prev_months_days := 212;
9: prev_months_days := 243;
10: prev_months_days := 273;
11: prev_months_days := 304;
12: prev_months_days := 334;
END_CASE;
IF MOD(ANY_TO_DINT(RTC_READ_1.RTCData.Year), 4) = 0 THEN
IF RTC_READ_1.RTCData.Month > 2 THEN
prev_months_days := prev_months_days + 1;
END_IF;
END_IF;
year_seconds := ANY_TO_ULINT(RTC_READ_1.RTCData.Year - ANY_TO_UINT(1970)) * ANY_TO_ULINT(31556926);
day_seconds := ANY_TO_ULINT((prev_months_days + RTC_READ_1.RTCData.Day) * ANY_TO_UINT(86400));
hour_seconds := ANY_TO_ULINT(RTC_READ_1.RTCData.Hours * 3600);
min_seconds := ANY_TO_ULINT(RTC_READ_1.RTCData.Minutes * 60);
Epoch := year_seconds + day_seconds + hour_Seconds + ANY_TO_ULINT(RTC_READ_1.RTCData.Seconds);
END_FUNCTION_BLOCK

View File

@@ -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,6 +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
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
@@ -160,11 +163,16 @@ SINT_TO_DINT_OVERAPPARENTWARNINGLEVEL.SINT_SRC_1@E300DATA,__TMPUSI__USINT_TO_DIN
SINT_TO_DINT_OVERAPPARENTWARNINGLEVEL.SINT_SRC_2@E300DATA,__TMPUSI__USINT_TO_DINT__SINT_SRC_2,USINT
SINT_TO_DINT_OVERAPPARENTWARNINGLEVEL.SINT_SRC_3@E300DATA,__TMPUSI__USINT_TO_DINT__SINT_SRC_3,USINT
SINT_TO_DINT_OVERAPPARENTWARNINGLEVEL.SINT_SRC_4@E300DATA,__TMPUSI__USINT_TO_DINT__SINT_SRC_4,USINT
LINEARSCALE_PRESSURE.RAW_MIN@CONTROL,__TMPR8@CONTROL,REAL
LINEARSCALE_PRESSURE.RAW_MAX@CONTROL,__TMPR9@CONTROL,REAL
LINEARSCALE_PRESSURE.RAW_MIN@CONTROL,__TMPR1@CONTROL,REAL
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
@@ -199,6 +207,8 @@ 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
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
WRITEE300CONFIGDATA.MSGOBJREAD_ERR_RTRIG.CLK@E300DATA,__TMPB__R_TRIG__CLK,BOOL

View File

@@ -1,6 +1,7 @@
USINT_TO_DINT:
USINT_TO_UINT:
USINT_TO_SINT:
EPOCH_TIME:
READE300CONFIG:
READE300TRIPRESET:
WRITEE300TRIPRESET:

View File

@@ -1,9 +1,51 @@
0::0046-0003::-------------------- Pre-build resource: MICRO820 Configuration: MICRO820 --------------
0::0044-0003::Pre-compiling for 2080LC2020QWBI
0::0000-0003::CONTROL
0:C:\USERS\SHOP\DOCUMENTS\PROJECTS\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\CONTROL:0002-0003::MICRO820: 0 error(s), 0 warning(s)
0::0000-0003::RA_CIP_ELECTRICAL_ENERGY_OBJ
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::CONTROL
0:C:\USERS\SHOP\DOCUMENTS\PROJECTS\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\CONTROL:0003-0003::Linking for 2080LC2020QWBI
0:C:\USERS\SHOP\DOCUMENTS\PROJECTS\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\CONTROL:0002-0003::MICRO820: 0 error(s), 0 warning(s)
0::0000-0003::RA_CIP_ELECTRICAL_ENERGY_OBJ
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)

View File

@@ -1,10 +1,10 @@
[MEMORY]
Offset0=0x4400
Offset1=0x5400
Offset2=0x5400
Offset3=0x5400
Memory Usage Estimate(Code)=0x98EC
Memory Usage Estimate(Data)=0x9854
Memory Usage Estimate(Retain)=0x4C
Memory Usage Estimate(Temporary variables)=0x2449
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)=0x28CC
Offset4=0x414

View File

@@ -1,10 +0,0 @@
[MEMORY]
Offset0=0x4400
Offset1=0x5400
Offset2=0x5400
Offset3=0x5400
Memory Usage Estimate(Code)=0x98EC
Memory Usage Estimate(Data)=0x9854
Memory Usage Estimate(Retain)=0x4C
Memory Usage Estimate(Temporary variables)=0x2449
Offset4=0x414

View File

@@ -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=0x380B58B8
CRC_OLD=0x380B58B8
CRC_NEW=0x728420BB
DAT_ORG=1461703117
DAT_OLD=1461703117
DAT_NEW=1461703797
VER_ORG=43
VER_OLD=43
VER_NEW=44
CRC_ALL_OLD=0x7A3DFC09
CRC_ALL_NEW=0x30F5B027

View File

@@ -1,9 +1,9 @@
[MEMORY]
Memory Usage Estimate(Temporary variables)=0x2450
Memory Usage Estimate(Temporary variables)=0x28CC
Biggest online change user variable memory block size=0x800
Currently added user variables=0x0
Total data size=0x6850
User variables size=0x4400
Maximum size for temporary variables=0x4450
Memory Usage Estimate(Data)=0x9850
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

View File

@@ -1,9 +0,0 @@
[MEMORY]
Memory Usage Estimate(Temporary variables)=0x2450
Biggest online change user variable memory block size=0x800
Currently added user variables=0x0
Total data size=0x6850
User variables size=0x4400
Maximum size for temporary variables=0x4450
Memory Usage Estimate(Data)=0x9850
Free memory for user variables=0x1000

View File

@@ -1 +1,4 @@
<INPUT>,LINEARSCALE_PRESSURE@CONTROL,LINEARSCALE,RAW_MIN,__TMPR8@CONTROL,REAL,RAW_MAX,__TMPR9@CONTROL,REAL,EU_MIN,PRESSURE_EU_MIN,REAL,EU_MAX,PRESSURE_EU_MAX,REAL,RAW_INP,__TMPR__LINEARSCALE__RAW_INP,REAL
<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

View File

@@ -0,0 +1 @@
<SUBINPUT>,EPOCH_TIME,RTC_READ_1,RTC_READ,ENABLE,__TMPB__RTC_READ__ENABLE,BOOL

View File

@@ -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

View File

@@ -1,3 +0,0 @@
[MEMORY]
Code Space Free Memory=0x1B580
Code Space Requirement=0x9604

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectElements>
<AcfElementGuid Guid="0665f1e9-fb03-48de-86da-7c7f08fe0360" />
<AcfElementGuid Guid="1f8f8d8a-87f5-4e34-b071-ff772e5f5dfd" />
<AcfElementGuid Guid="22fb9760-076e-482b-bcbe-c8fd6362439b" />
<AcfElementGuid Guid="2e293809-2592-4360-9ef5-9e938bc7b980" />
<AcfElementGuid Guid="492b32e2-63c3-46f8-afeb-6d9e6b76da86" />

View File

@@ -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>

View File

@@ -3,6 +3,9 @@
<AcfElementGuid Guid="0665f1e9-fb03-48de-86da-7c7f08fe0360">
<File>ReadE300Param.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="1f8f8d8a-87f5-4e34-b071-ff772e5f5dfd">
<File>Epoch_Time.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="22fb9760-076e-482b-bcbe-c8fd6362439b">
<File>E300Data.AcfMlge</File>
</AcfElementGuid>
@@ -30,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>

2
HMI_Password.txt Normal file
View File

@@ -0,0 +1,2 @@
u: IPP
p:ipp

File diff suppressed because it is too large Load Diff

View File

@@ -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>

View File

@@ -26,7 +26,14 @@
</div>
<div class="col-xs-2">
<h4><%= node.vanityname %></h4>
<h4><%= node.vanityname %>: <br/><% if (channels["ipp.handmode"].value == 1) { %>
Hand Mode
<% } else if (channels["ipp.automode"].value == 1) { %>
Auto Mode
<% } else { %>
Off
<% } %>
</h4>
</div>
<div class="col-xs-3">
<h2>Motor Current</h2>
@@ -34,8 +41,8 @@
</div>
<% if (channels["ipp.downholetoolenabled"].value == 1) { %>
<div class="col-xs-3">
<h2>Intake Pressure</h2>
<p><%=channels["ipp.dhintakepressure"].value %> PSI</p>
<h2>Fluid Level</h2>
<p><%=channels["ipp.dhfluidlevel"].value %> ft</p>
</div>
<% } %>
</div>

View File

@@ -1,10 +1,25 @@
<% if (channels["ipp.downholetoolenabled"].value == 1) {%>
<div class='row row-flex box-me'>
<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> -->
<gauge type="angular" channel="dhfluidlevel" max="600" label="ft." classes="extra" height="250" />
<span data-timeupdate="dhfluidlevel"><%= channels["ipp.dhfluidlevel"].timestamp %></span>
</div>
</div>
<div class='col-xs-8'>
<div style="height:300px" id="chart-dhfluidlevel" data-chart="chart" data-nodename1="ipp.dhfluidlevel" data-datalabel1="Fluid Level" data-daysofhistory="2" data-chartlabel="Fluid Level" data-ylabel="" data-xlabel="Date" data-units=" ft"></div>
</div>
</div>
<div class='row row-flex box-me'>
<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>
@@ -17,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=" &deg; 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=" &deg; 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>
@@ -31,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>
@@ -44,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>
@@ -53,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>

View File

@@ -147,6 +147,16 @@
</div>
</div>
<div class="row row-flex">
<div class="col-md-6">
<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">
<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>
<style>

View File

@@ -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.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;

File diff suppressed because one or more lines are too long

View File

@@ -3,19 +3,10 @@
"driverFileName":"ipp.py",
"deviceName":"ipp",
"driverId":"0090",
"releaseVersion":"1",
"releaseVersion":"3",
"files": {
"file1":"ipp.py",
"file2":"micro800.py",
"file3":"ipp_channels.p",
"file4":"ipp_channels_setup.py",
"file5":"pycomm_micro/__init__.py",
"file6":"pycomm_micro/common.py",
"file7":"pycomm_micro/ab_comm/__init__.py",
"file8":"pycomm_micro/ab_comm/clx.py",
"file9":"pycomm_micro/ab_comm/slc.py",
"file10":"pycomm_micro/cip/__init__.py",
"file11":"pycomm_micro/cip/cip_base.py",
"file12":"pycomm_micro/cip/cip_const.py" }
"file2":"micro800.py"
}
}

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More