added transferlite and updates to rigpump

This commit is contained in:
Nico Melone
2024-11-12 08:39:04 -06:00
parent 7c3f3519a4
commit 8902536098
11 changed files with 1731 additions and 8 deletions

BIN
.DS_Store vendored

Binary file not shown.

BIN
Pub_Sub/.DS_Store vendored

Binary file not shown.

View File

@@ -48,11 +48,26 @@ chemical_pump_01_run_status,ek_facility,default,periodic,,BIT,,,,0,FBK_Chemical_
chemical_pump_auto,ek_facility,default,periodic,,BIT,,,,0,CMD_Chemical_Pump_Auto,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,, chemical_pump_auto,ek_facility,default,periodic,,BIT,,,,0,CMD_Chemical_Pump_Auto,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,,
compressor_ambient_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Air_Compressor_Ambient_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,, compressor_ambient_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Air_Compressor_Ambient_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
compressor_controller_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Air_Compressor_Controller_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,, compressor_controller_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Air_Compressor_Controller_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
compressor_lifetime_run_hours,ek_facility,default,periodic,,FLOAT,,,,,Val_Air_Compressor_Run_Time,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
compressor_outlet_pressure,ek_facility,default,periodic,,FLOAT,,,,,Val_Air_Compressor_Outlet_PSI,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,, compressor_outlet_pressure,ek_facility,default,periodic,,FLOAT,,,,,Val_Air_Compressor_Outlet_PSI,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
compressor_outlet_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Air_Compressor_Outlet_Element_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,, compressor_outlet_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Air_Compressor_Outlet_Element_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
ct_200_current,ek_facility,default,periodic,,FLOAT,,,,,CT_200.Scaled_Out,2,,ro,,M-105 Motor Amperage,none,,,,,,,,,,,,,,,1,,,,,,, ct_200_current,ek_facility,default,periodic,,FLOAT,,,,,CT_200.Scaled_Out,2,,ro,,M-105 Motor Amperage,none,,,,,,,,,,,,,,,1,,,,,,,
dpi_108a_pressure,ek_facility,default,periodic,,FLOAT,,,,,DPI_108A,2,,ro,,Differential PSI Across Sock Filter,none,,,,,,,,,,,,,,,1,,,,,,, dpi_108a_pressure,ek_facility,default,periodic,,FLOAT,,,,,DPI_108A,2,,ro,,Differential PSI Across Sock Filter,none,,,,,,,,,,,,,,,1,,,,,,,
dpi_108b_pressure,ek_facility,default,periodic,,FLOAT,,,,,DPI_108B,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,, dpi_108b_pressure,ek_facility,default,periodic,,FLOAT,,,,,DPI_108B,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
ef_vfd_1_fault_description,ek_facility,default,periodic,,STRING,,,,,AL0_EF_VFD_1_Fault_Description,,32,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
ef_vfd_1_n2_auto,ek_facility,default,periodic,,BIT,,,,0,N2_EF_VFD_1_Auto,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,,
ef_vfd_1_n2_auto_room_spt,ek_facility,default,periodic,,FLOAT,,,,,SPT_N2_EF_VFD_1_Auto_Room,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
ef_vfd_1_n2_faulted_alm,ek_facility,default,periodic,,BIT,,,,0,AL0_N2_EF_VFD_1_Faulted,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,,
ef_vfd_1_n2_frequency,ek_facility,default,periodic,,DINT,,0,,,Val_N2_EF_VFD_1_Freq,,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
ef_vfd_1_n2_hand_spt,ek_facility,default,periodic,,FLOAT,,,,,SPT_N2_EF_VFD_1_Hand,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
ef_vfd_1_running,ek_facility,default,periodic,,BIT,,,,0,FBK_EF_VFD_1_Running,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,,
ef_vfd_2_fault_description,ek_facility,default,periodic,,STRING,,,,,AL0_EF_VFD_2_Fault_Description,,32,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
ef_vfd_2_n2_auto,ek_facility,default,periodic,,BIT,,,,0,N2_EF_VFD_2_Auto,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,,
ef_vfd_2_n2_auto_room_spt,ek_facility,default,periodic,,FLOAT,,,,,SPT_N2_EF_VFD_2_Auto_Room,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
ef_vfd_2_n2_faulted_alm,ek_facility,default,periodic,,BIT,,,,0,AL0_N2_EF_VFD_2_Faulted,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,,
ef_vfd_2_n2_frequency,ek_facility,default,periodic,,DINT,,0,,,Val_N2_EF_VFD_2_Freq,,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
ef_vfd_2_n2_hand_spt,ek_facility,default,periodic,,FLOAT,,,,,SPT_N2_EF_VFD_2_Hand,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
ef_vfd_2_running,ek_facility,default,periodic,,BIT,,,,0,FBK_EF_VFD_2_Running,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,,
esd_exists,ek_facility,default,periodic,,BIT,,,,0,ESD_Exists,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,, esd_exists,ek_facility,default,periodic,,BIT,,,,0,ESD_Exists,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,,
fcv_001_valve,ek_facility,default,periodic,,FLOAT,,,,,FCV_001_PRESCALE,2,,ro,,M107A Control Valve Setpoint,none,,,,,,,,,,,,,,,1,,,,,,, fcv_001_valve,ek_facility,default,periodic,,FLOAT,,,,,FCV_001_PRESCALE,2,,ro,,M107A Control Valve Setpoint,none,,,,,,,,,,,,,,,1,,,,,,,
fcv_002_valve,ek_facility,default,periodic,,FLOAT,,,,,FCV_002_PRESCALE,2,,ro,,M107B Control Valve Setpoint,none,,,,,,,,,,,,,,,1,,,,,,, fcv_002_valve,ek_facility,default,periodic,,FLOAT,,,,,FCV_002_PRESCALE,2,,ro,,M107B Control Valve Setpoint,none,,,,,,,,,,,,,,,1,,,,,,,
@@ -94,6 +109,8 @@ fit_111_flow_rate,ek_facility,default,periodic,,FLOAT,,,,,FIT_111.Scaled_Out,2,,
fit_112a_h2o2_flow_rate,ek_facility,default,periodic,,FLOAT,,,,,FIT_112A.Scaled_Out,2,,ro,,H2O2 Flow Rate,none,,,,,,,,,,,,,,,1,,,,,,, fit_112a_h2o2_flow_rate,ek_facility,default,periodic,,FLOAT,,,,,FIT_112A.Scaled_Out,2,,ro,,H2O2 Flow Rate,none,,,,,,,,,,,,,,,1,,,,,,,
fit_112b_nahso3_flow_rate,ek_facility,default,periodic,,FLOAT,,,,,FIT_112B.Scaled_Out,2,,ro,,NaHSO3 Flow Rate,none,,,,,,,,,,,,,,,1,,,,,,, fit_112b_nahso3_flow_rate,ek_facility,default,periodic,,FLOAT,,,,,FIT_112B.Scaled_Out,2,,ro,,NaHSO3 Flow Rate,none,,,,,,,,,,,,,,,1,,,,,,,
h2o2_chemical_rate,ek_facility,default,periodic,,INT,,0,,,Chemical_Pump_1_Rate,,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,, h2o2_chemical_rate,ek_facility,default,periodic,,INT,,0,,,Chemical_Pump_1_Rate,,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
inlet_ph_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Inlet_PH_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
inlet_turbidity_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Inlet_Turbidity_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
li_103D_level_alm,ek_facility,default,periodic,,BIT,,,,0,LI_103D_FBK,,,ro,,ACW Containment Level Tripped (Red When Tripped Please),none,,,,,,,,,,,,,0,,1,,,,,,, li_103D_level_alm,ek_facility,default,periodic,,BIT,,,,0,LI_103D_FBK,,,ro,,ACW Containment Level Tripped (Red When Tripped Please),none,,,,,,,,,,,,,0,,1,,,,,,,
lit_101_level,ek_facility,default,periodic,,FLOAT,,,,,LIT_101.Scaled_Out,2,,ro,,Chamber 5 Skim Level In Weir,none,,,,,,,,,,,,,,,1,,,,,,, lit_101_level,ek_facility,default,periodic,,FLOAT,,,,,LIT_101.Scaled_Out,2,,ro,,Chamber 5 Skim Level In Weir,none,,,,,,,,,,,,,,,1,,,,,,,
lit_112a_h2o2_level,ek_facility,default,periodic,,FLOAT,,,,,LIT_112A.Scaled_Out,2,,ro,,H2O2 Chemical Level,none,,,,,,,,,,,,,,,1,,,,,,, lit_112a_h2o2_level,ek_facility,default,periodic,,FLOAT,,,,,LIT_112A.Scaled_Out,2,,ro,,H2O2 Chemical Level,none,,,,,,,,,,,,,,,1,,,,,,,
@@ -121,11 +138,15 @@ m106b_vfd_faulted_alm,ek_facility,default,periodic,,BIT,,,,0,M106B_VFD:I.Faulted
m106b_vfd_frequency,ek_facility,default,periodic,,INT,,0,,,M106B_VFD:I.OutputFreq,,,ro,,M-106B Current Output Frequency,none,,,,,,,,,,,,,,,1,,,,,,, m106b_vfd_frequency,ek_facility,default,periodic,,INT,,0,,,M106B_VFD:I.OutputFreq,,,ro,,M-106B Current Output Frequency,none,,,,,,,,,,,,,,,1,,,,,,,
m106b_vfd_start,ek_facility,default,periodic,,BIT,,,,0,M106B_VFD:O.Start,,,ro,,M-106B Start Command,none,,,,,,,,,,,,,0,,1,,,,,,, m106b_vfd_start,ek_facility,default,periodic,,BIT,,,,0,M106B_VFD:O.Start,,,ro,,M-106B Start Command,none,,,,,,,,,,,,,0,,1,,,,,,,
m106b_vfd_stop,ek_facility,default,periodic,,BIT,,,,0,M106B_VFD:O.Stop,,,ro,,M-106B Stop Command,none,,,,,,,,,,,,,0,,1,,,,,,, m106b_vfd_stop,ek_facility,default,periodic,,BIT,,,,0,M106B_VFD:O.Stop,,,ro,,M-106B Stop Command,none,,,,,,,,,,,,,0,,1,,,,,,,
n2_inlet_dew_point,ek_facility,default,periodic,,FLOAT,,,,,Val_N2_Inlet_Dew_Point,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
n2_inlet_pressure,ek_facility,default,periodic,,FLOAT,,,,,Val_N2_Inlet_PSI,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,, n2_inlet_pressure,ek_facility,default,periodic,,FLOAT,,,,,Val_N2_Inlet_PSI,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
n2_outlet_flow_rate,ek_facility,default,periodic,,FLOAT,,,,,Val_N2_Outlet_Flow_Rate,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,, n2_outlet_flow_rate,ek_facility,default,periodic,,FLOAT,,,,,Val_N2_Outlet_Flow_Rate,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
n2_outlet_pressure,ek_facility,default,periodic,,FLOAT,,,,,Val_ N2_Outlet_ PSI,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,, n2_outlet_pressure,ek_facility,default,periodic,,FLOAT,,,,,Val_N2_Outlet_PSI,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
n2_outlet_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_N2_Outlet_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,, n2_outlet_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_N2_Outlet_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
n2_purity,ek_facility,default,periodic,,FLOAT,,,,,Val_N2_N2_Purity,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,, n2_purity,ek_facility,default,periodic,,FLOAT,,,,,Val_N2_N2_Purity,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
n2_run_time_lifetime,ek_facility,default,periodic,,FLOAT,,,,,Val_N2_Run_Time,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
outlet_orp_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Outlet_ORP_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
outlet_turbidity_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Outlet_Turbidity_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
p100_auto,ek_facility,default,periodic,,BIT,,,,0,P100_Auto,,,ro,,M-104 Onyx Pump HOA Auto Status,none,,,,,,,,,,,,,0,,1,,,,,,, p100_auto,ek_facility,default,periodic,,BIT,,,,0,P100_Auto,,,ro,,M-104 Onyx Pump HOA Auto Status,none,,,,,,,,,,,,,0,,1,,,,,,,
p100_hand,ek_facility,default,periodic,,BIT,,,,0,P100_Hand,,,ro,,M-104 Onyx Pump HOA Hand Status,none,,,,,,,,,,,,,0,,1,,,,,,, p100_hand,ek_facility,default,periodic,,BIT,,,,0,P100_Hand,,,ro,,M-104 Onyx Pump HOA Hand Status,none,,,,,,,,,,,,,0,,1,,,,,,,
p200_auto,ek_facility,default,periodic,,BIT,,,,0,P200_Auto,,,ro,,M-105 Skim Pump HOA Hand Status,none,,,,,,,,,,,,,0,,1,,,,,,, p200_auto,ek_facility,default,periodic,,BIT,,,,0,P200_Auto,,,ro,,M-105 Skim Pump HOA Hand Status,none,,,,,,,,,,,,,0,,1,,,,,,,
@@ -207,7 +228,3 @@ xy_100_run,ek_facility,default,periodic,,BIT,,,,0,XY_100,,,ro,,,none,,,,,,,,,,,,
xy_200_run,ek_facility,default,periodic,,BIT,,,,0,XY_200,,,ro,,M-105 Run Command,none,,,,,,,,,,,,,0,,1,,,,,,, xy_200_run,ek_facility,default,periodic,,BIT,,,,0,XY_200,,,ro,,M-105 Run Command,none,,,,,,,,,,,,,0,,1,,,,,,,
zae_111a_hihi_alm,ek_facility,default,periodic,,BIT,,,,0,ZAE_111A.AHH,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,, zae_111a_hihi_alm,ek_facility,default,periodic,,BIT,,,,0,ZAE_111A.AHH,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,,
zae_111b_hihi_alm,ek_facility,default,periodic,,BIT,,,,0,ZAE_111B.AHH,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,, zae_111b_hihi_alm,ek_facility,default,periodic,,BIT,,,,0,ZAE_111B.AHH,,,ro,,,none,,,,,,,,,,,,,0,,1,,,,,,,
inlet_ph_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Inlet_PH_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
inlet_turbidity_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Inlet_Turbidity_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
outlet_orp_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Outlet_ORP_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
outlet_turbidity_temp,ek_facility,default,periodic,,FLOAT,,,,,Val_Outlet_Turbidity_Temp,2,,ro,,,none,,,,,,,,,,,,,,,1,,,,,,,
1 MeasuringPointName ControllerName GroupName UploadType DeadZonePercent DataType ArrayIndex EnableBit BitIndex reverseBit Address Decimal Len ReadWrite Unit Description Transform Type MaxValue MinValue MaxScale MinScale Gain Offset startBit endBit Pt Ct Mapping_table TransDecimal bitMap msecSample storageLwTSDB DataEndianReverse ReadOffset ReadLength WriteOffset WriteLength DataParseMethod BitId
48 chemical_pump_auto ek_facility default periodic BIT 0 CMD_Chemical_Pump_Auto ro none 0 1
49 compressor_ambient_temp ek_facility default periodic FLOAT Val_Air_Compressor_Ambient_Temp 2 ro none 1
50 compressor_controller_temp ek_facility default periodic FLOAT Val_Air_Compressor_Controller_Temp 2 ro none 1
51 compressor_lifetime_run_hours ek_facility default periodic FLOAT Val_Air_Compressor_Run_Time 2 ro none 1
52 compressor_outlet_pressure ek_facility default periodic FLOAT Val_Air_Compressor_Outlet_PSI 2 ro none 1
53 compressor_outlet_temp ek_facility default periodic FLOAT Val_Air_Compressor_Outlet_Element_Temp 2 ro none 1
54 ct_200_current ek_facility default periodic FLOAT CT_200.Scaled_Out 2 ro M-105 Motor Amperage none 1
55 dpi_108a_pressure ek_facility default periodic FLOAT DPI_108A 2 ro Differential PSI Across Sock Filter none 1
56 dpi_108b_pressure ek_facility default periodic FLOAT DPI_108B 2 ro none 1
57 ef_vfd_1_fault_description ek_facility default periodic STRING AL0_EF_VFD_1_Fault_Description 32 ro none 1
58 ef_vfd_1_n2_auto ek_facility default periodic BIT 0 N2_EF_VFD_1_Auto ro none 0 1
59 ef_vfd_1_n2_auto_room_spt ek_facility default periodic FLOAT SPT_N2_EF_VFD_1_Auto_Room 2 ro none 1
60 ef_vfd_1_n2_faulted_alm ek_facility default periodic BIT 0 AL0_N2_EF_VFD_1_Faulted ro none 0 1
61 ef_vfd_1_n2_frequency ek_facility default periodic DINT 0 Val_N2_EF_VFD_1_Freq ro none 1
62 ef_vfd_1_n2_hand_spt ek_facility default periodic FLOAT SPT_N2_EF_VFD_1_Hand 2 ro none 1
63 ef_vfd_1_running ek_facility default periodic BIT 0 FBK_EF_VFD_1_Running ro none 0 1
64 ef_vfd_2_fault_description ek_facility default periodic STRING AL0_EF_VFD_2_Fault_Description 32 ro none 1
65 ef_vfd_2_n2_auto ek_facility default periodic BIT 0 N2_EF_VFD_2_Auto ro none 0 1
66 ef_vfd_2_n2_auto_room_spt ek_facility default periodic FLOAT SPT_N2_EF_VFD_2_Auto_Room 2 ro none 1
67 ef_vfd_2_n2_faulted_alm ek_facility default periodic BIT 0 AL0_N2_EF_VFD_2_Faulted ro none 0 1
68 ef_vfd_2_n2_frequency ek_facility default periodic DINT 0 Val_N2_EF_VFD_2_Freq ro none 1
69 ef_vfd_2_n2_hand_spt ek_facility default periodic FLOAT SPT_N2_EF_VFD_2_Hand 2 ro none 1
70 ef_vfd_2_running ek_facility default periodic BIT 0 FBK_EF_VFD_2_Running ro none 0 1
71 esd_exists ek_facility default periodic BIT 0 ESD_Exists ro none 0 1
72 fcv_001_valve ek_facility default periodic FLOAT FCV_001_PRESCALE 2 ro M107A Control Valve Setpoint none 1
73 fcv_002_valve ek_facility default periodic FLOAT FCV_002_PRESCALE 2 ro M107B Control Valve Setpoint none 1
109 fit_112a_h2o2_flow_rate ek_facility default periodic FLOAT FIT_112A.Scaled_Out 2 ro H2O2 Flow Rate none 1
110 fit_112b_nahso3_flow_rate ek_facility default periodic FLOAT FIT_112B.Scaled_Out 2 ro NaHSO3 Flow Rate none 1
111 h2o2_chemical_rate ek_facility default periodic INT 0 Chemical_Pump_1_Rate ro none 1
112 inlet_ph_temp ek_facility default periodic FLOAT Val_Inlet_PH_Temp 2 ro none 1
113 inlet_turbidity_temp ek_facility default periodic FLOAT Val_Inlet_Turbidity_Temp 2 ro none 1
114 li_103D_level_alm ek_facility default periodic BIT 0 LI_103D_FBK ro ACW Containment Level Tripped (Red When Tripped Please) none 0 1
115 lit_101_level ek_facility default periodic FLOAT LIT_101.Scaled_Out 2 ro Chamber 5 Skim Level In Weir none 1
116 lit_112a_h2o2_level ek_facility default periodic FLOAT LIT_112A.Scaled_Out 2 ro H2O2 Chemical Level none 1
138 m106b_vfd_frequency ek_facility default periodic INT 0 M106B_VFD:I.OutputFreq ro M-106B Current Output Frequency none 1
139 m106b_vfd_start ek_facility default periodic BIT 0 M106B_VFD:O.Start ro M-106B Start Command none 0 1
140 m106b_vfd_stop ek_facility default periodic BIT 0 M106B_VFD:O.Stop ro M-106B Stop Command none 0 1
141 n2_inlet_dew_point ek_facility default periodic FLOAT Val_N2_Inlet_Dew_Point 2 ro none 1
142 n2_inlet_pressure ek_facility default periodic FLOAT Val_N2_Inlet_PSI 2 ro none 1
143 n2_outlet_flow_rate ek_facility default periodic FLOAT Val_N2_Outlet_Flow_Rate 2 ro none 1
144 n2_outlet_pressure ek_facility default periodic FLOAT Val_ N2_Outlet_ PSI Val_N2_Outlet_PSI 2 ro none 1
145 n2_outlet_temp ek_facility default periodic FLOAT Val_N2_Outlet_Temp 2 ro none 1
146 n2_purity ek_facility default periodic FLOAT Val_N2_N2_Purity 2 ro none 1
147 n2_run_time_lifetime ek_facility default periodic FLOAT Val_N2_Run_Time 2 ro none 1
148 outlet_orp_temp ek_facility default periodic FLOAT Val_Outlet_ORP_Temp 2 ro none 1
149 outlet_turbidity_temp ek_facility default periodic FLOAT Val_Outlet_Turbidity_Temp 2 ro none 1
150 p100_auto ek_facility default periodic BIT 0 P100_Auto ro M-104 Onyx Pump HOA Auto Status none 0 1
151 p100_hand ek_facility default periodic BIT 0 P100_Hand ro M-104 Onyx Pump HOA Hand Status none 0 1
152 p200_auto ek_facility default periodic BIT 0 P200_Auto ro M-105 Skim Pump HOA Hand Status none 0 1
228 xy_200_run ek_facility default periodic BIT 0 XY_200 ro M-105 Run Command none 0 1
229 zae_111a_hihi_alm ek_facility default periodic BIT 0 ZAE_111A.AHH ro none 0 1
230 zae_111b_hihi_alm ek_facility default periodic BIT 0 ZAE_111B.AHH ro none 0 1
inlet_ph_temp ek_facility default periodic FLOAT Val_Inlet_PH_Temp 2 ro none 1
inlet_turbidity_temp ek_facility default periodic FLOAT Val_Inlet_Turbidity_Temp 2 ro none 1
outlet_orp_temp ek_facility default periodic FLOAT Val_Outlet_ORP_Temp 2 ro none 1
outlet_turbidity_temp ek_facility default periodic FLOAT Val_Outlet_Turbidity_Temp 2 ro none 1

View File

@@ -0,0 +1,16 @@
MeasuringPointName,ControllerName,GroupName,UploadType,DeadZonePercent,DataType,ArrayIndex,EnableBit,BitIndex,reverseBit,Address,Decimal,Len,CodeType,ReadWrite,Unit,Description,Transform Type,MaxValue,MinValue,MaxScale,MinScale,Gain,Offset,startBit,endBit,Pt,Ct,Mapping_table,TransDecimal,bitMap,msecSample,storageLwTSDB,DataEndianReverse,ReadOffset,ReadLength,WriteOffset,WriteLength,DataParseMethod,BitId,pollCycle
flowrate,flowmeter,default,periodic,,FLOAT,,,,,4X3874,2,,,ro,,,none,,,,,,,,,,,,,,0,0,,,,,,,,0
flow_unit,flowmeter,default,onChange,0,INT,,0,,,4X2103,,,,ro,,,none,,,,,,,,,,,,,,0,0,,,,,,,,0
totalizer_1,flowmeter,default,periodic,,FLOAT,,,,,4X2610,2,,,ro,,,none,,,,,,,,,,,,,,0,0,,,,,,,,0
totalizer_1_overflow,flowmeter,default,periodic,,FLOAT,,,,,4X2612,2,,,ro,,,none,,,,,,,,,,,,,,0,0,,,,,,,,
totalizer_1_unit,flowmeter,default,onChange,0,INT,,0,,,4X4604,,,,ro,,,none,,,,,,,,,,,,,,0,0,,,,,,,,0
totalizer_2,flowmeter,default,periodic,,FLOAT,,,,,4X2810,2,,,ro,,,none,,,,,,,,,,,,,,0,0,,,,,,,,0
totalizer_2_overflow,flowmeter,default,periodic,,FLOAT,,,,,4X2812,2,,,ro,,,none,,,,,,,,,,,,,,0,0,,,,,,,,
totalizer_2_unit,flowmeter,default,onChange,0,INT,,0,,,4X4605,,,,ro,,,none,,,,,,,,,,,,,,0,0,,,,,,,,0
totalizer_3,flowmeter,default,periodic,,FLOAT,,,,,4X3010,2,,,ro,,,none,,,,,,,,,,,,,,0,0,,,,,,,,0
totalizer_3_overflow,flowmeter,default,periodic,,FLOAT,,,,,4X3012,2,,,ro,,,none,,,,,,,,,,,,,,0,0,,,,,,,,
totalizer_3_unit,flowmeter,default,periodic,,INT,,0,,,4X4606,,,,ro,,,none,,,,,,,,,,,,,,0,0,,,,,,,,0
reset_totalizers,flowmeter,,never,,INT,,0,,,4X2609,,,,rw,,,none,,,,,,,,,,,,,,0,,,,,,,,,0
byte_order,flowmeter,default,onChange,0,INT,,0,,,4X4915,,,,rw,,,none,,,,,,,,,,,,,,0,0,,,,,,,,0
device_name,flowmeter,default,onChange,,STRING,,,,,4X7238,,14,UTF-8,ro,,,none,,,,,,,,,,,,,,0,0,,,,,,,,0
serial_number,flowmeter,default,onChange,,STRING,,,,,4X7003,,12,UTF-8,ro,,,none,,,,,,,,,,,,,,0,0,,,,,,,,0
1 MeasuringPointName ControllerName GroupName UploadType DeadZonePercent DataType ArrayIndex EnableBit BitIndex reverseBit Address Decimal Len CodeType ReadWrite Unit Description Transform Type MaxValue MinValue MaxScale MinScale Gain Offset startBit endBit Pt Ct Mapping_table TransDecimal bitMap msecSample storageLwTSDB DataEndianReverse ReadOffset ReadLength WriteOffset WriteLength DataParseMethod BitId pollCycle
2 flowrate flowmeter default periodic FLOAT 4X3874 2 ro none 0 0 0
3 flow_unit flowmeter default onChange 0 INT 0 4X2103 ro none 0 0 0
4 totalizer_1 flowmeter default periodic FLOAT 4X2610 2 ro none 0 0 0
5 totalizer_1_overflow flowmeter default periodic FLOAT 4X2612 2 ro none 0 0
6 totalizer_1_unit flowmeter default onChange 0 INT 0 4X4604 ro none 0 0 0
7 totalizer_2 flowmeter default periodic FLOAT 4X2810 2 ro none 0 0 0
8 totalizer_2_overflow flowmeter default periodic FLOAT 4X2812 2 ro none 0 0
9 totalizer_2_unit flowmeter default onChange 0 INT 0 4X4605 ro none 0 0 0
10 totalizer_3 flowmeter default periodic FLOAT 4X3010 2 ro none 0 0 0
11 totalizer_3_overflow flowmeter default periodic FLOAT 4X3012 2 ro none 0 0
12 totalizer_3_unit flowmeter default periodic INT 0 4X4606 ro none 0 0 0
13 reset_totalizers flowmeter never INT 0 4X2609 rw none 0 0
14 byte_order flowmeter default onChange 0 INT 0 4X4915 rw none 0 0 0
15 device_name flowmeter default onChange STRING 4X7238 14 UTF-8 ro none 0 0 0
16 serial_number flowmeter default onChange STRING 4X7003 12 UTF-8 ro none 0 0 0

File diff suppressed because one or more lines are too long

Binary file not shown.

View File

@@ -47,8 +47,6 @@ def chunk_payload(payload, chunk_size=20):
def sendData(message): def sendData(message):
#logger.debug(message) #logger.debug(message)
payload = {"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values": {}} payload = {"ts": (round(dt.timestamp(dt.now())/600)*600)*1000, "values": {}}
attributes_payload = {} attributes_payload = {}
for measure in message["measures"]: for measure in message["measures"]:

View File

@@ -0,0 +1,89 @@
# Enter your python code.
import json, time
from datetime import datetime as dt
from common.Logger import logger
from quickfaas.remotebus import publish
report_period = 600
def chunk_payload(payload, chunk_size=20):
if "values" in payload:
# Original format: {"ts": ..., "values": {...}}
chunked_values = list(payload["values"].items())
for i in range(0, len(chunked_values), chunk_size):
yield {
"ts": payload["ts"],
"values": dict(chunked_values[i:i+chunk_size])
}
else:
# New format: {"key1": "value1", "key2": "value2"}
chunked_keys = list(payload.keys())
for i in range(0, len(chunked_keys), chunk_size):
yield {k: payload[k] for k in chunked_keys[i:i+chunk_size]}
def sendData(message):
#logger.debug(message)
payload = {"ts": (round(dt.timestamp(dt.now())/report_period)*report_period)*1000, "values": {}}
attributes_payload = {}
for measure in message["measures"]:
try:
logger.debug(measure)
if measure["health"] == 1:
if measure["name"] in ["auto_manual", "system1_hasleveltransmitter", "system2_hasleveltransmitter", "state_supervisor", "state_system1", "state_system2"]:
logger.debug("Converting DINT/BOOL to STRING")
payload["values"][measure["name"]] = convert_int(measure["name"], measure["value"])
payload["values"][measure["name"] + "_int"] = measure["value"]
else:
payload["values"][measure["name"]] = measure["value"]
except Exception as e:
logger.error(e)
for chunk in chunk_payload(payload=payload):
publish(__topic__, json.dumps(chunk), __qos__, cloud_name="ThingsBoard")
time.sleep(2)
attributes_payload["latestReportTime"] = (round(dt.timestamp(dt.now())/report_period)*report_period)*1000
for chunk in chunk_payload(payload=attributes_payload):
publish("v1/devices/me/attributes", json.dumps(chunk), __qos__, cloud_name="ThingsBoard")
time.sleep(2)
def convert_int(plc_tag, value):
TRUE_FALSE = {
0: "false",
1: "true"
}
AUTO_MANUAL = {
0: "Auto",
1: "Manual"
}
PHASE_STATES = {
1: "Running",
2: "Holding",
4: "Restarting",
8: "Stopping",
16: "Aborting",
32: "Resetting",
64: "Idle",
128: "Held",
256: "Complete",
512: "Stopped",
1024: "Aborted"
}
plc_tags = {
"auto_manual": AUTO_MANUAL.get(value, "Invalid Code"),
"system1_hasleveltransmitter": TRUE_FALSE.get(value, "Invalid Code"),
"system2_hasleveltransmitter": TRUE_FALSE.get(value, "Invalid Code"),
"state_supervisor": PHASE_STATES.get(value, "Invalid Code"),
"state_system1": PHASE_STATES.get(value, "Invalid Code"),
"state_system2": PHASE_STATES.get(value, "Invalid Code")
}
return plc_tags.get(plc_tag, "Invalid Tag")

View File

@@ -0,0 +1,135 @@
import json, time, os
from datetime import datetime as dt
from quickfaas.measure import recall, write
from quickfaas.remotebus import publish
from common.Logger import logger
# Helper function to split the payload into chunks
def chunk_payload(payload, chunk_size=20):
chunked_values = list(payload["values"].items())
for i in range(0, len(chunked_values), chunk_size):
yield {
"ts": payload["ts"],
"values": dict(chunked_values[i:i+chunk_size])
}
def sync():
#get new values and send
payload = {"ts": round(dt.timestamp(dt.now()))*1000, "values": {}}
topic = "v1/devices/me/telemetry"
try:
data = recall()#json.loads(recall().decode("utf-8"))
except Exception as e:
logger.error(e)
logger.debug(data)
for controller in data:
for measure in controller["measures"]:
#publish measure
if measure["name"] in ["auto_manual", "system1_hasleveltransmitter", "system2_hasleveltransmitter", "state_supervisor", "state_system1", "state_system2"]:
payload["values"][measure["name"]] = convert_int(measure["name"], measure["value"])
payload["values"][measure["name"]+ "_int"] = measure["value"]
else:
payload["values"][measure["name"]] = measure["value"]
logger.debug("Sending on topic: {}".format(topic))
logger.debug("Sending value: {}".format(payload))
for chunk in chunk_payload(payload=payload):
publish(topic, json.dumps(chunk), 1, cloud_name="ThingsBoard")
time.sleep(2)
def writeplctag(value):
#value in the form {"measurement": <measurement_name>, "value": <value to write>}
try:
#value = json.loads(value.replace("'",'"'))
logger.debug(value)
#payload format: [{"name": "advvfdipp", "measures": [{"name": "manualfrequencysetpoint", "value": 49}]}]
message = [{"name": "transferlite", "measures":[{"name":value["measurement"], "value": value["value"]}]}]
resp = write(message)
logger.debug("RETURN FROM WRITE: {}".format(resp))
return True
except Exception as e:
logger.debug(e)
return False
def reboot():
#basic = Basic()
logger.info("!" * 10 + "REBOOTING DEVICE FROM CLOUD" + "!"*10)
r = os.popen("kill -s SIGHUP `cat /var/run/python/supervisord.pid`").read()
logger.info(f"REBOOT : {r}")
def receiveCommand(topic, payload):
try:
logger.debug(topic)
logger.debug(json.loads(payload))
p = json.loads(payload)
command = p["method"]
commands = {
"sync": sync,
"writeplctag": writeplctag,
"reboot": reboot
}
if command == "setPLCTag":
try:
result = commands["writeplctag"](p["params"])
logger.debug(result)
except Exception as e:
logger.error(e)
elif command == "reboot":
try:
ack(topic.split("/")[-1])
commands["reboot"]()
except Exception as e:
logger.error(e)
#logger.debug(command)
ack(topic.split("/")[-1])
time.sleep(2)
sync()
except Exception as e:
logger.debug(e)
def ack(msgid):
#logger.debug(msgid)
#logger.debug(mac)
#logger.debug(name)
#logger.debug(value)
publish("v1/devices/me/rpc/response/" + str(msgid), json.dumps({"msg": {"time": time.time()}, "metadata": "", "msgType": ""}), 1)
def convert_int(plc_tag, value):
TRUE_FALSE = {
0: "false",
1: "true"
}
AUTO_MANUAL = {
0: "Auto",
1: "Manual"
}
PHASE_STATES = {
1: "Running",
2: "Holding",
4: "Restarting",
8: "Stopping",
16: "Aborting",
32: "Resetting",
64: "Idle",
128: "Held",
256: "Complete",
512: "Stopped",
1024: "Aborted"
}
plc_tags = {
"auto_manual": AUTO_MANUAL.get(value, "Invalid Code"),
"system1_hasleveltransmitter": TRUE_FALSE.get(value, "Invalid Code"),
"system2_hasleveltransmitter": TRUE_FALSE.get(value, "Invalid Code"),
"state_supervisor": PHASE_STATES.get(value, "Invalid Code"),
"state_system1": PHASE_STATES.get(value, "Invalid Code"),
"state_system2": PHASE_STATES.get(value, "Invalid Code")
}
return plc_tags.get(plc_tag, "Invalid Tag")

6
device.csv Normal file
View File

@@ -0,0 +1,6 @@
name,type,mqttClientId,mqttUsername,mqttPassword
Flow Meter 18,flowmeterskid,cp-flow-meter-18,conocophillipsmqtt,conocophillipsmqtt@1903
Flow Meter 19,flowmeterskid,cp-flow-meter-19,conocophillipsmqtt,conocophillipsmqtt@1903
Flow Meter 20,flowmeterskid,cp-flow-meter-20,conocophillipsmqtt,conocophillipsmqtt@1903
Flow Meter 21,flowmeterskid,cp-flow-meter-21,conocophillipsmqtt,conocophillipsmqtt@1903
Flow Meter 22,flowmeterskid,cp-flow-meter-22,conocophillipsmqtt,conocophillipsmqtt@1903
1 name type mqttClientId mqttUsername mqttPassword
2 Flow Meter 18 flowmeterskid cp-flow-meter-18 conocophillipsmqtt conocophillipsmqtt@1903
3 Flow Meter 19 flowmeterskid cp-flow-meter-19 conocophillipsmqtt conocophillipsmqtt@1903
4 Flow Meter 20 flowmeterskid cp-flow-meter-20 conocophillipsmqtt conocophillipsmqtt@1903
5 Flow Meter 21 flowmeterskid cp-flow-meter-21 conocophillipsmqtt conocophillipsmqtt@1903
6 Flow Meter 22 flowmeterskid cp-flow-meter-22 conocophillipsmqtt conocophillipsmqtt@1903

6
devices.csv Normal file
View File

@@ -0,0 +1,6 @@
name,type,mqtt client id,mqtt user name,mqtt password
Flow Meter 18,flowmeterskid,cp-flow-meter-18,conocophillipsmqtt,conocophillipsmqtt@1903
Flow Meter 19,flowmeterskid,cp-flow-meter-19,conocophillipsmqtt,conocophillipsmqtt@1903
Flow Meter 20,flowmeterskid,cp-flow-meter-20,conocophillipsmqtt,conocophillipsmqtt@1903
Flow Meter 21,flowmeterskid,cp-flow-meter-21,conocophillipsmqtt,conocophillipsmqtt@1903
Flow Meter 22,flowmeterskid,cp-flow-meter-22,conocophillipsmqtt,conocophillipsmqtt@1903
1 name type mqtt client id mqtt user name mqtt password
2 Flow Meter 18 flowmeterskid cp-flow-meter-18 conocophillipsmqtt conocophillipsmqtt@1903
3 Flow Meter 19 flowmeterskid cp-flow-meter-19 conocophillipsmqtt conocophillipsmqtt@1903
4 Flow Meter 20 flowmeterskid cp-flow-meter-20 conocophillipsmqtt conocophillipsmqtt@1903
5 Flow Meter 21 flowmeterskid cp-flow-meter-21 conocophillipsmqtt conocophillipsmqtt@1903
6 Flow Meter 22 flowmeterskid cp-flow-meter-22 conocophillipsmqtt conocophillipsmqtt@1903