From b216a435f284ef1d26c339358cb83791254f8f76 Mon Sep 17 00:00:00 2001 From: Patrick McDonagh Date: Wed, 18 Jul 2018 14:17:43 -0500 Subject: [PATCH] Updates driver to send public ip address correctly --- POCloud/python-driver/config.txt | 13 + POCloud/python-driver/driverConfig.json | 19 +- POCloud/python-driver/file_logger.py | 18 + POCloud/python-driver/modbusMap.p | 5855 ++++++++++++----------- POCloud/python-driver/tanktransfer.py | 105 +- 5 files changed, 3083 insertions(+), 2927 deletions(-) create mode 100644 POCloud/python-driver/config.txt create mode 100644 POCloud/python-driver/file_logger.py diff --git a/POCloud/python-driver/config.txt b/POCloud/python-driver/config.txt new file mode 100644 index 0000000..a48ff8e --- /dev/null +++ b/POCloud/python-driver/config.txt @@ -0,0 +1,13 @@ +{ + "files": { + "file3": "channel.py", + "file2": "utilities.py", + "file1": "tanktransfer.py", + "file5": "modbusMap.p", + "file4": "file_logger.py" + }, + "deviceName": "tanktransfer", + "driverId": "0250", + "releaseVersion": "2", + "driverFileName": "tanktransfer.py" +} \ No newline at end of file diff --git a/POCloud/python-driver/driverConfig.json b/POCloud/python-driver/driverConfig.json index f305abb..6db3590 100644 --- a/POCloud/python-driver/driverConfig.json +++ b/POCloud/python-driver/driverConfig.json @@ -1,12 +1,13 @@ { - "name": "tanktransfer", - "driverFilename": "tanktransfer.py", - "driverId": "0000", + "name": "tanktransfer", + "driverFilename": "tanktransfer.py", + "driverId": "0250", "additionalDriverFiles": [ - "utilities.py", - "persistence.py", - "Channel.py" - ], - "version": 1, + "utilities.py", + "channel.py", + "file_logger.py", + "modbusMap.p" + ], + "version": 2, "s3BucketName": "tanktransfer" -} +} \ No newline at end of file diff --git a/POCloud/python-driver/file_logger.py b/POCloud/python-driver/file_logger.py new file mode 100644 index 0000000..863834c --- /dev/null +++ b/POCloud/python-driver/file_logger.py @@ -0,0 +1,18 @@ +"""Logging setup for tanktransfer""" +import logging +from logging.handlers import RotatingFileHandler +import sys + +log_formatter = logging.Formatter('%(asctime)s %(levelname)s %(funcName)s(%(lineno)d) %(message)s') +log_file = './tanktransfer.log' +my_handler = RotatingFileHandler(log_file, mode='a', maxBytes=500*1024, + backupCount=2, encoding=None, delay=0) +my_handler.setFormatter(log_formatter) +my_handler.setLevel(logging.INFO) +filelogger = logging.getLogger('tanktransfer') +filelogger.setLevel(logging.INFO) +filelogger.addHandler(my_handler) + +console_out = logging.StreamHandler(sys.stdout) +console_out.setFormatter(log_formatter) +filelogger.addHandler(console_out) diff --git a/POCloud/python-driver/modbusMap.p b/POCloud/python-driver/modbusMap.p index 4ec47f2..3bea837 100644 --- a/POCloud/python-driver/modbusMap.p +++ b/POCloud/python-driver/modbusMap.p @@ -4,11 +4,11 @@ p1 (dp2 S'c' p3 -S'ETHERNET/IP' +VETHERNET/IP p4 sS'b' p5 -S'192.168.1.10' +V192.168.1.10 p6 sS'addresses' p7 @@ -16,3531 +16,3658 @@ p7 S'300' p9 (dp10 -S'2-48' +S'2-31' p11 (dp12 -S'r' +S'ah' p13 -S'0-600' -p14 -sS'ah' -p15 S'' -p16 +p14 sS'bytary' -p17 +p15 NsS'al' -p18 -g16 +p16 +g14 sS'vn' -p19 -S'System 2 Minutes Until Restarted OK' -p20 +p17 +S'System 2: Alarm Downtime Minutes' +p18 sS'ct' -p21 +p19 S'number' -p22 +p20 sS'le' -p23 +p21 S'16' -p24 +p22 sS'grp' -p25 +p23 S'600' -p26 +p24 sS'la' +p25 +F5.0 +sS'chn' +p26 +S'system2_alarmdowntimemin' p27 -NsS'chn' -p28 -S'system2_minuntilrestartedok' -p29 sS'un' -p30 +p28 g1 sS'dn' -p31 +p29 Vtanktransfer -p32 -sS'vm' -p33 -NsS'lrt' -p34 -S'0' -p35 +p30 sS'da' -p36 +p31 g9 +sS'lrt' +p32 +F1531863292.4761561 +sS'r' +p33 +S'0-600' +p34 sS'a' -p37 -S'cfg_MinutesUntilRestartedOK[2]' -p38 +p35 +S'cfg_AlarmDowntimeMin[2]' +p36 sg3 S'0.1' -p39 +p37 sS'misc_u' -p40 +p38 S'min' -p41 +p39 sS'f' -p42 +p40 g1 sS'mrt' -p43 +p41 S'60' -p44 +p42 sS'm' -p45 +p43 S'none' -p46 +p44 sS'm1ch' -p47 -S'2-48' -p48 +p45 +S'2-31' +p46 sS's' -p49 +p47 S'On' -p50 +p48 sS'mv' -p51 -g35 +p49 +S'0' +p50 sS't' -p52 +p51 S'int' +p52 +sS'vm' p53 -ssS'2-55' +NssS'2-55' p54 (dp55 g13 -S'0-500' -p56 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 -sg19 S'System 2 Energy Cost Yesterday' -p57 +p56 +sg19 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p58 -sg27 -Nsg28 +p57 +sg25 +F0.0 +sg26 S'system2_energycost_yesterday' -p59 -sg30 +p58 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 +sg32 +F1531863292.5724348 +sg33 +S'0-500' +p59 +sg35 S'hist_EnergyCostDaily[2,1]' p60 sg3 S'0.1' p61 -sg40 +sg38 S'$' p62 -sg42 +sg40 g1 -sg43 +sg41 S'60' p63 +sg43 +g44 sg45 -g46 -sg47 S'2-55' p64 +sg47 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-53' +g52 +sg53 +NssS'2-53' p65 (dp66 g13 -S'0-1000000' -p67 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 -sg19 S'System 2 Flow Total Out Yesterday' -p68 +p67 +sg19 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p69 -sg27 -Nsg28 +p68 +sg25 +F754.63946533203125 +sg26 S'system2_flowtotal_out_yesterday' -p70 -sg30 +p69 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 +sg32 +F1531863292.6967609 +sg33 +S'0-1000000' +p70 +sg35 S'hist_FlowTotalOutDaily[2,1]' p71 sg3 S'0.1' p72 -sg40 +sg38 S'BBL' p73 -sg42 +sg40 g1 -sg43 +sg41 S'60' p74 +sg43 +g44 sg45 -g46 -sg47 S'2-53' p75 +sg47 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-44' +g52 +sg53 +NssS'2-34' p76 (dp77 g13 -S'0-25' -p78 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 +S'System 2 Inlet 1 Forward Total' +p78 sg19 -S'System 2 Level' -p79 +g20 sg21 g22 sg23 -g24 -sg25 S'600' +p79 +sg25 +F6.2103385925292969 +sg26 +S'system2_inlet1_fwdtotal' p80 -sg27 -Nsg28 -S'system2_level' -p81 -sg30 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'LTX1[2].Val' +sg32 +F1531863292.7786851 +sg33 +S'0-1000000' +p81 +sg35 +S'FTX1[2].Val_TV' p82 sg3 -S'0.5' +S'100' p83 -sg40 -S'Ft' +sg38 +S'BBL' p84 -sg42 +sg40 g1 -sg43 +sg41 S'60' p85 +sg43 +g44 sg45 -g46 -sg47 -S'2-44' +S'2-34' p86 +sg47 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-34' +g52 +sg53 +NssS'2-36' p87 (dp88 g13 -S'0-1000000' -p89 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 +S'System 2 Inlet 2 Flowrate' +p89 sg19 -S'System 2 Inlet 1 Forward Total' -p90 +g20 sg21 g22 sg23 -g24 -sg25 S'600' +p90 +sg25 +F9.2903060913085938 +sg26 +S'system2_inlet2_flowrate' p91 -sg27 -Nsg28 -S'system2_inlet1_fwdtotal' -p92 -sg30 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'FTX1[2].Val_TV' +sg32 +F1531863292.855055 +sg33 +S'0-2000' +p92 +sg35 +S'FTX2[2].Val_PV' p93 sg3 -S'100' +S'10' p94 -sg40 -S'BBL' +sg38 +S'GPM' p95 -sg42 +sg40 g1 -sg43 +sg41 S'60' p96 +sg43 +g44 sg45 -g46 -sg47 -S'2-34' +S'2-36' p97 +sg47 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-58' +g52 +sg53 +NssS'2-54' p98 (dp99 g13 -S'0-10000' -p100 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 +S'System 2 Energy Cost Today' +p100 sg19 -S'System 2 Combined Inlet Flow' -p101 +g20 sg21 g22 sg23 -g24 -sg25 S'600' +p101 +sg25 +F0.0 +sg26 +S'system2_energycost_today' p102 -sg27 -Nsg28 -S'system2_inlet_flowrate' -p103 -sg30 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'val_FlowRateIn[2]' +sg32 +F1531863292.9308051 +sg33 +S'0-500' +p103 +sg35 +S'hist_EnergyCostDaily[2,0]' p104 sg3 S'10' p105 +sg38 +g62 sg40 -S'BPD' -p106 -sg42 g1 -sg43 +sg41 S'60' -p107 +p106 +sg43 +g44 sg45 -g46 +S'2-54' +p107 sg47 -S'2-58' -p108 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-46' -p109 -(dp110 +g52 +sg53 +NssS'2-14' +p108 +(dp109 g13 -S'0-100' -p111 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 +S'System 1 Outlet Reverse Total' +p110 sg19 -S'System 2 Motor Current' -p112 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p113 -sg27 -Nsg28 -S'system2_motor_current' -p114 -sg30 +p111 +sg25 +F25637.7578125 +sg26 +S'system1_outlet_revtotal' +p112 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'en_MC21:I.OutputCurrent' -p115 +sg32 +F1531863420.6561571 +sg33 +S'0-1000000' +p113 +sg35 +S'FTX3_Promag400[1].Val_Tot3' +p114 sg3 -S'0.5' +S'100' +p115 +sg38 +S'BBL' p116 sg40 -S'Amps' +g1 +sg41 +S'60' p117 -sg42 -g1 sg43 -S'60' +g44 +sg45 +S'2-14' p118 -sg45 -g46 sg47 -S'2-46' +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-15' p119 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-59' -p120 -(dp121 +(dp120 g13 -S'0-1' +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Level' +p121 +sg19 +g20 +sg21 +g22 +sg23 +S'600' p122 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Enabled' -p123 -sg21 -g22 -sg23 -g24 sg25 -S'3600' -p124 -sg27 -Nsg28 -S'system2_enabled' -p125 -sg30 +F13.281000137329102 +sg26 +S'system1_level' +p123 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'cfg_TankEnabled[2]' -p126 +sg32 +F1531863360.7630971 +sg33 +S'0-25' +p124 +sg35 +S'LTX1[1].Val' +p125 sg3 -g1 -sg40 -g16 -sg42 -g1 -sg43 -S'60' +S'0.5' +p126 +sg38 +S'Ft' p127 -sg45 -g46 -sg47 -S'2-59' +sg40 +g1 +sg41 +S'60' p128 +sg43 +g44 +sg45 +S'2-15' +p129 +sg47 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-54' -p129 -(dp130 +g52 +sg53 +NssS'2-52' +p130 +(dp131 g13 -S'0-500' -p131 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 -sg19 -S'System 2 Energy Cost Today' +S'System 2 Flow Total Out Today' p132 +sg19 +g20 sg21 g22 sg23 -g24 -sg25 S'600' p133 -sg27 -Nsg28 -S'system2_energycost_today' -p134 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'hist_EnergyCostDaily[2,0]' -p135 -sg3 -S'10' -p136 -sg40 -g62 -sg42 -g1 -sg43 -S'60' -p137 -sg45 -g46 -sg47 -S'2-54' -p138 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-32' -p139 -(dp140 -g13 -S'0-2000' -p141 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Inlet 1 Flowrate' -p142 -sg21 -g22 -sg23 -g24 sg25 -S'600' -p143 -sg27 -Nsg28 -S'system2_inlet1_flowrate' -p144 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX1[2].Val_PV' -p145 -sg3 -S'10' -p146 -sg40 -S'GPM' -p147 -sg42 -g1 -sg43 -S'60' -p148 -sg45 -g46 -sg47 -S'2-32' -p149 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-33' -p150 -(dp151 -g13 -S'0-1000000' -p152 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Inlet 1 Net Total' -p153 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p154 -sg27 -Nsg28 -S'system2_inlet1_nettotal' -p155 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX1[2].Val_SV' -p156 -sg3 -S'100' -p157 -sg40 -S'BBL' -p158 -sg42 -g1 -sg43 -S'60' -p159 -sg45 -g46 -sg47 -S'2-33' -p160 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-52' -p161 -(dp162 -g13 -S'0-1000000' -p163 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Flow Total Out Today' -p164 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p165 -sg27 -Nsg28 +F731.102783203125 +sg26 S'system2_flowtotal_out_today' -p166 -sg30 +p134 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'hist_FlowTotalOutDaily[2,0]' -p167 -sg3 -S'100' -p168 -sg40 -S'BBL' -p169 -sg42 -g1 -sg43 -S'60' -p170 -sg45 -g46 -sg47 -S'2-52' -p171 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-35' -p172 -(dp173 -g13 +sg32 +F1531863293.1429452 +sg33 S'0-1000000' -p174 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Inlet 1 Reverse Total' -p175 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p176 -sg27 -Nsg28 -S'system2_inlet1_revtotal' -p177 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX1[2].Val_FV' -p178 +p135 +sg35 +S'hist_FlowTotalOutDaily[2,0]' +p136 sg3 S'100' -p179 -sg40 +p137 +sg38 S'BBL' -p180 -sg42 -g1 -sg43 -S'60' -p181 -sg45 -g46 -sg47 -S'2-35' -p182 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-30' -p183 -(dp184 -g13 -S'0-1' -p185 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Enabled' -p186 -sg21 -g22 -sg23 -g24 -sg25 -S'3600' -p187 -sg27 -Nsg28 -S'system1_enabled' -p188 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'cfg_TankEnabled[1]' -p189 -sg3 -g1 +p138 sg40 -g16 -sg42 g1 -sg43 +sg41 S'60' -p190 +p139 +sg43 +g44 sg45 -g46 +S'2-52' +p140 sg47 -S'2-30' -p191 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-49' -p192 -(dp193 +g52 +sg53 +NssS'2-35' +p141 +(dp142 g13 -S'1-2' -p194 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 +S'System 2 Inlet 1 Reverse Total' +p143 sg19 -S'System 2 Number of FT Inlets' -p195 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p196 -sg27 -Nsg28 -S'system2_numinputft' -p197 -sg30 +p144 +sg25 +F34.607025146484375 +sg26 +S'system2_inlet1_revtotal' +p145 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'cfg_SystemNumInpFT[2]' +sg32 +F1531863293.287189 +sg33 +S'0-1000000' +p146 +sg35 +S'FTX1[2].Val_FV' +p147 +sg3 +S'100' +p148 +sg38 +S'BBL' +p149 +sg40 +g1 +sg41 +S'60' +p150 +sg43 +g44 +sg45 +S'2-35' +p151 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssV2-30 +p152 +(dp153 +Vah +p154 +V +p155 +sVbytary +p156 +NsVal +p157 +V0 +p158 +sVvn +p159 +VSystem 1 Enabled +p160 +sVct +p161 +Vnumber +p162 +sVle +p163 +V16 +p164 +sVgrp +p165 +V3600 +p166 +sVla +p167 +g14 +sVchn +p168 +Vsystem1_enabled +p169 +sVr +p170 +V0-256 +p171 +sVdn +p172 +Vtanktransfer +p173 +sVda +p174 +V300 +p175 +sVlrt +p176 +g158 +sVa +p177 +Vcfg_TankEnabled[1] +p178 +sVc +p179 +V1 +p180 +sVmisc_u +p181 +g155 +sVf +p182 +g180 +sVmrt +p183 +V60 +p184 +sVm +p185 +Vnone +p186 +sVm1ch +p187 +g152 +sVmv +p188 +g158 +sVs +p189 +VOn +p190 +sVun +p191 +g180 +sVt +p192 +Vint +p193 +sVvm +p194 +NssS'2-49' +p195 +(dp196 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Number of FT Inlets' +p197 +sg19 +g20 +sg21 +g22 +sg23 +S'600' p198 +sg25 +F2.0 +sg26 +S'system2_numinputft' +p199 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863293.982572 +sg33 +S'1-2' +p200 +sg35 +S'cfg_SystemNumInpFT[2]' +p201 sg3 S'0.5' -p199 -sg40 -g16 -sg42 -g1 -sg43 -S'60' -p200 -sg45 -g46 -sg47 -S'2-49' -p201 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-31' p202 -(dp203 -g13 -S'0-600' +sg38 +g14 +sg40 +g1 +sg41 +S'60' +p203 +sg43 +g44 +sg45 +S'2-49' p204 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2: Alarm Downtime Minutes' +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-48' p205 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p206 -sg27 -Nsg28 -S'system2_alarmdowntimemin' +(dp206 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Minutes Until Restarted OK' p207 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'cfg_AlarmDowntimeMin[2]' +sg19 +g20 +sg21 +g22 +sg23 +S'600' p208 -sg3 -S'0.1' +sg25 +F1.0 +sg26 +S'system2_minuntilrestartedok' p209 -sg40 -S'min' +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863280.8050412 +sg33 +S'0-600' p210 -sg42 -g1 -sg43 -S'60' +sg35 +S'cfg_MinutesUntilRestartedOK[2]' p211 -sg45 -g46 -sg47 -S'2-31' +sg3 +S'0.1' p212 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-29' +sg38 +S'min' p213 -(dp214 -g13 -S'0-10000' +sg40 +g1 +sg41 +S'60' +p214 +sg43 +g44 +sg45 +S'2-48' p215 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Combined Inlet Flow' +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-29' p216 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p217 -sg27 -Nsg28 -S'system1_inlet_flowrate' +(dp217 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Combined Inlet Flow' p218 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'val_FlowRateIn[1]' +sg19 +g20 +sg21 +g22 +sg23 +S'600' p219 -sg3 -S'10' +sg25 +F4214.97900390625 +sg26 +S'system1_inlet_flowrate' p220 -sg40 -S'BPD' +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863280.966785 +sg33 +S'0-10000' p221 -sg42 -g1 -sg43 -S'60' +sg35 +S'val_FlowRateIn[1]' p222 -sg45 -g46 -sg47 -S'2-29' -p223 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-28' -p224 -(dp225 -g13 -S'0-50000' -p226 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Energy Usage Yesterday' -p227 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p228 -sg27 -Nsg28 -S'system1_energyusage_yesterday' -p229 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'hist_EnergyUsageDaily[1,1]' -p230 -sg3 -S'0.1' -p231 -sg40 -S'kWh' -p232 -sg42 -g1 -sg43 -S'60' -p233 -sg45 -g46 -sg47 -S'2-28' -p234 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-25' -p235 -(dp236 -g13 -S'0-500' -p237 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Energy Cost Today' -p238 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p239 -sg27 -Nsg28 -S'system1_energycost_today' -p240 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'hist_EnergyCostDaily[1,0]' -p241 sg3 S'10' -p242 +p223 +sg38 +S'BPD' +p224 sg40 -g62 -sg42 g1 -sg43 +sg41 S'60' -p243 +p225 +sg43 +g44 sg45 -g46 +S'2-29' +p226 sg47 -S'2-25' -p244 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-24' -p245 -(dp246 +g52 +sg53 +NssS'2-28' +p227 +(dp228 g13 -S'0-1000000' -p247 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 +S'System 1 Energy Usage Yesterday' +p229 sg19 -S'System 1 Flow Total Out Yesterday' -p248 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p249 -sg27 -Nsg28 -S'system1_flowtotal_out_yesterday' -p250 -sg30 +p230 +sg25 +F0.0 +sg26 +S'system1_energyusage_yesterday' +p231 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'hist_FlowTotalOutDaily[1,1]' -p251 +sg32 +F1531863281.0818118 +sg33 +S'0-50000' +p232 +sg35 +S'hist_EnergyUsageDaily[1,1]' +p233 sg3 S'0.1' -p252 +p234 +sg38 +S'kWh' +p235 sg40 -S'BBL' -p253 -sg42 g1 -sg43 +sg41 S'60' -p254 +p236 +sg43 +g44 sg45 -g46 +S'2-28' +p237 sg47 -S'2-24' -p255 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-27' -p256 -(dp257 +g52 +sg53 +NssS'2-25' +p238 +(dp239 g13 -S'0-50000' -p258 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 +S'System 1 Energy Cost Today' +p240 sg19 -S'System 1 Energy Usage Today' -p259 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p260 -sg27 -Nsg28 -S'system1_energyusage_today' -p261 -sg30 +p241 +sg25 +g14 +sg26 +S'system1_energycost_today' +p242 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'hist_EnergyUsageDaily[1,0]' +sg32 +F1531858337.719855 +sg33 +S'0-500' +p243 +sg35 +S'hist_EnergyCostDaily[1,0]' +p244 +sg3 +S'10' +p245 +sg38 +g62 +sg40 +g1 +sg41 +S'60' +p246 +sg43 +g44 +sg45 +S'2-25' +p247 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-24' +p248 +(dp249 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Flow Total Out Yesterday' +p250 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p251 +sg25 +F5662.40771484375 +sg26 +S'system1_flowtotal_out_yesterday' +p252 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863281.510421 +sg33 +S'0-1000000' +p253 +sg35 +S'hist_FlowTotalOutDaily[1,1]' +p254 +sg3 +S'0.1' +p255 +sg38 +S'BBL' +p256 +sg40 +g1 +sg41 +S'60' +p257 +sg43 +g44 +sg45 +S'2-24' +p258 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-27' +p259 +(dp260 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Energy Usage Today' +p261 +sg19 +g20 +sg21 +g22 +sg23 +S'600' p262 +sg25 +F15471.1435546875 +sg26 +S'system1_energyusage_today' +p263 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863281.6427201 +sg33 +S'0-50000' +p264 +sg35 +S'hist_EnergyUsageDaily[1,0]' +p265 sg3 S'50' -p263 -sg40 -S'kWh' -p264 -sg42 -g1 -sg43 -S'60' -p265 -sg45 -g46 -sg47 -S'2-27' p266 +sg38 +S'kWh' +p267 +sg40 +g1 +sg41 +S'60' +p268 +sg43 +g44 +sg45 +S'2-27' +p269 +sg47 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-26' -p267 -(dp268 -g13 -S'0-500' -p269 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Energy Cost Yesterday' +g52 +sg53 +NssS'2-26' p270 +(dp271 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Energy Cost Yesterday' +p272 +sg19 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p271 -sg27 -Nsg28 -S'system1_energycost_yesterday' -p272 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'hist_EnergyCostDaily[1,1]' p273 +sg25 +F0.0 +sg26 +S'system1_energycost_yesterday' +p274 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863281.8006748 +sg33 +S'0-500' +p275 +sg35 +S'hist_EnergyCostDaily[1,1]' +p276 sg3 S'0.1' -p274 -sg40 +p277 +sg38 g62 -sg42 +sg40 g1 -sg43 +sg41 S'60' -p275 +p278 +sg43 +g44 sg45 -g46 -sg47 S'2-26' -p276 +p279 +sg47 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-21' -p277 -(dp278 -g13 -S'0-1000000' -p279 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Flow Total In Today' +g52 +sg53 +NssS'2-21' p280 +(dp281 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Flow Total In Today' +p282 +sg19 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p281 -sg27 -Nsg28 -S'system1_flowtotal_in_today' -p282 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'hist_FlowTotalInDaily[1,0]' p283 +sg25 +F4774.3203125 +sg26 +S'system1_flowtotal_in_today' +p284 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863281.9708592 +sg33 +S'0-1000000' +p285 +sg35 +S'hist_FlowTotalInDaily[1,0]' +p286 sg3 S'100' -p284 -sg40 -S'BBL' -p285 -sg42 -g1 -sg43 -S'60' -p286 -sg45 -g46 -sg47 -S'2-21' p287 +sg38 +S'BBL' +p288 +sg40 +g1 +sg41 +S'60' +p289 +sg43 +g44 +sg45 +S'2-21' +p290 +sg47 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-20' -p288 -(dp289 -g13 -S'1-2' -p290 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Number of FT Inlets' +g52 +sg53 +NssS'2-46' p291 +(dp292 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Motor Current' +p293 +sg19 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p292 -sg27 -Nsg28 -S'system1_numinputft' -p293 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'cfg_SystemNumInpFT[1]' p294 +sg25 +F0.0 +sg26 +S'system2_motor_current' +p295 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863282.179625 +sg33 +S'0-100' +p296 +sg35 +S'en_MC21:I.OutputCurrent' +p297 sg3 S'0.5' -p295 +p298 +sg38 +S'Amps' +p299 sg40 -g16 -sg42 g1 -sg43 +sg41 S'60' -p296 +p300 +sg43 +g44 sg45 -g46 +S'2-46' +p301 sg47 -S'2-20' -p297 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-23' -p298 -(dp299 +g52 +sg53 +NssS'2-23' +p302 +(dp303 g13 -S'0-1000000' -p300 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 -sg19 S'System 1 Flow Total Out Today' -p301 +p304 +sg19 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p302 -sg27 -Nsg28 +p305 +sg25 +F4724.2451171875 +sg26 S'system1_flowtotal_out_today' -p303 -sg30 +p306 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 +sg32 +F1531863282.3416761 +sg33 +S'0-1000000' +p307 +sg35 S'hist_FlowTotalOutDaily[1,0]' -p304 +p308 sg3 S'100' -p305 -sg40 -S'BBL' -p306 -sg42 -g1 -sg43 -S'60' -p307 -sg45 -g46 -sg47 -S'2-23' -p308 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-22' p309 -(dp310 -g13 -S'0-1000000' -p311 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Flow Total In Yesterday' -p312 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p313 -sg27 -Nsg28 -S'system1_flowtotal_in_yesterday' -p314 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'hist_FlowTotalInDaily[1,1]' -p315 -sg3 -S'0.1' -p316 -sg40 +sg38 S'BBL' -p317 -sg42 +p310 +sg40 g1 -sg43 +sg41 S'60' -p318 +p311 +sg43 +g44 sg45 -g46 +S'2-23' +p312 sg47 -S'2-22' -p319 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-2' -p320 -(dp321 +g52 +sg53 +NssS'2-22' +p313 +(dp314 g13 -S'0-600' -p322 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 +S'System 1 Flow Total In Yesterday' +p315 sg19 -S'System 1: Alarm Downtime Minutes' -p323 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p324 -sg27 -Nsg28 -S'system1_alarmdowntimemin' -p325 -sg30 +p316 +sg25 +F7656.986328125 +sg26 +S'system1_flowtotal_in_yesterday' +p317 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'cfg_AlarmDowntimeMin[1]' -p326 +sg32 +F1531863282.482039 +sg33 +S'0-1000000' +p318 +sg35 +S'hist_FlowTotalInDaily[1,1]' +p319 sg3 S'0.1' -p327 +p320 +sg38 +S'BBL' +p321 sg40 -S'min' -p328 -sg42 g1 -sg43 +sg41 S'60' -p329 +p322 +sg43 +g44 sg45 -g46 +S'2-22' +p323 sg47 -S'2-2' -p330 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-3' -p331 -(dp332 +g52 +sg53 +NssS'2-2' +p324 +(dp325 g13 -S'0-2000' -p333 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 +S'System 1: Alarm Downtime Minutes' +p326 sg19 -S'System 1 Inlet 1 Flowrate' -p334 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p335 -sg27 -Nsg28 -S'system1_inlet1_flowrate' -p336 -sg30 +p327 +sg25 +F5.0 +sg26 +S'system1_alarmdowntimemin' +p328 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'FTX1[1].Val_PV' +sg32 +F1531863282.6280621 +sg33 +S'0-600' +p329 +sg35 +S'cfg_AlarmDowntimeMin[1]' +p330 +sg3 +S'0.1' +p331 +sg38 +S'min' +p332 +sg40 +g1 +sg41 +S'60' +p333 +sg43 +g44 +sg45 +S'2-2' +p334 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-3' +p335 +(dp336 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Inlet 1 Flowrate' p337 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p338 +sg25 +F122.96994781494141 +sg26 +S'system1_inlet1_flowrate' +p339 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863282.7674142 +sg33 +S'0-2000' +p340 +sg35 +S'FTX1[1].Val_PV' +p341 sg3 S'10' -p338 -sg40 +p342 +sg38 S'GPM' -p339 -sg42 +p343 +sg40 g1 -sg43 +sg41 S'60' -p340 +p344 +sg43 +g44 sg45 -g46 -sg47 S'2-3' -p341 +p345 +sg47 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-1' -p342 -(dp343 +g52 +sg53 +NssS'2-1' +p346 +(dp347 g13 -S'0-1' -p344 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 -sg19 S'Cost per kWh (in $)' -p345 +p348 +sg19 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p346 -sg27 -Nsg28 +p349 +sg25 +F0.079999998211860657 +sg26 S'cfg_costperkwh' -p347 -sg30 +p350 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 +sg32 +F1531863282.88762 +sg33 +S'0-1' +p351 +sg35 S'cfg_CostPerkWh' -p348 +p352 sg3 S'0.01' -p349 -sg40 +p353 +sg38 g62 -sg42 +sg40 g1 -sg43 +sg41 S'60' -p350 -sg45 -g46 -sg47 -S'2-1' -p351 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-6' -p352 -(dp353 -g13 -S'0-1000000' p354 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Inlet 1 Reverse Total' +sg43 +g44 +sg45 +S'2-1' p355 -sg21 -g22 -sg23 -g24 -sg25 -S'600' +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-6' p356 -sg27 -Nsg28 -S'system1_inlet1_revtotal' -p357 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX1[1].Val_FV' +(dp357 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Inlet 1 Reverse Total' p358 -sg3 -S'100' +sg19 +g20 +sg21 +g22 +sg23 +S'600' p359 -sg40 -S'BBL' +sg25 +F0.0 +sg26 +S'system1_inlet1_revtotal' p360 -sg42 +sg28 g1 -sg43 -S'60' +sg29 +g30 +sg31 +g9 +sg32 +F1531863282.9794329 +sg33 +S'0-1000000' p361 -sg45 -g46 -sg47 -S'2-6' +sg35 +S'FTX1[1].Val_FV' p362 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-7' +sg3 +S'100' p363 -(dp364 -g13 -S'0-2000' +sg38 +S'BBL' +p364 +sg40 +g1 +sg41 +S'60' p365 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Inlet 2 Flowrate' +sg43 +g44 +sg45 +S'2-6' p366 -sg21 -g22 -sg23 -g24 -sg25 -S'600' +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-7' p367 -sg27 -Nsg28 -S'system1_inlet2_flowrate' -p368 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX2[1].Val_PV' +(dp368 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Inlet 2 Flowrate' p369 -sg3 -S'10' +sg19 +g20 +sg21 +g22 +sg23 +S'600' p370 -sg40 -S'GPM' +sg25 +F0.0 +sg26 +S'system1_inlet2_flowrate' p371 -sg42 -g1 -sg43 -S'60' -p372 -sg45 -g46 -sg47 -S'2-7' -p373 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-4' -p374 -(dp375 -g13 -S'0-1000000' -p376 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Inlet 1 Net Total' -p377 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p378 -sg27 -Nsg28 -S'system1_inlet1_nettotal' -p379 -sg30 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'FTX1[1].Val_SV' -p380 -sg3 -S'100' -p381 -sg40 -S'BBL' -p382 -sg42 -g1 -sg43 -S'60' -p383 -sg45 -g46 -sg47 -S'2-4' -p384 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-5' -p385 -(dp386 -g13 -S'0-1000000' -p387 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Inlet 1 Forward Total' -p388 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p389 -sg27 -Nsg28 -S'system1_inlet1_fwdtotal' -p390 -sg30 -g1 -sg31 -g32 +sg32 +F1531863283.0531621 sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX1[1].Val_TV' -p391 -sg3 -S'100' -p392 -sg40 -S'BBL' -p393 -sg42 -g1 -sg43 -S'60' -p394 -sg45 -g46 -sg47 -S'2-5' -p395 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-8' -p396 -(dp397 -g13 -S'0-1000000' -p398 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Inlet 2 Net Total' -p399 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p400 -sg27 -Nsg28 -S'system1_inlet2_nettotal' -p401 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX2[1].Val_SV' -p402 -sg3 -S'100' -p403 -sg40 -S'BBL' -p404 -sg42 -g1 -sg43 -S'60' -p405 -sg45 -g46 -sg47 -S'2-8' -p406 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-9' -p407 -(dp408 -g13 -S'0-1000000' -p409 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Inlet 2 Forward Total' -p410 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p411 -sg27 -Nsg28 -S'system1_inlet2_fwdtotal' -p412 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX2[1].Val_TV' -p413 -sg3 -S'100' -p414 -sg40 -S'BBL' -p415 -sg42 -g1 -sg43 -S'60' -p416 -sg45 -g46 -sg47 -S'2-9' -p417 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-36' -p418 -(dp419 -g13 S'0-2000' -p420 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Inlet 2 Flowrate' -p421 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p422 -sg27 -Nsg28 -S'system2_inlet2_flowrate' -p423 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX2[2].Val_PV' -p424 +p372 +sg35 +S'FTX2[1].Val_PV' +p373 sg3 S'10' -p425 -sg40 +p374 +sg38 S'GPM' +p375 +sg40 +g1 +sg41 +S'60' +p376 +sg43 +g44 +sg45 +S'2-7' +p377 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-4' +p378 +(dp379 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Inlet 1 Net Total' +p380 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p381 +sg25 +F628.02484130859375 +sg26 +S'system1_inlet1_nettotal' +p382 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863283.124688 +sg33 +S'0-1000000' +p383 +sg35 +S'FTX1[1].Val_SV' +p384 +sg3 +S'100' +p385 +sg38 +S'BBL' +p386 +sg40 +g1 +sg41 +S'60' +p387 +sg43 +g44 +sg45 +S'2-4' +p388 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-5' +p389 +(dp390 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Inlet 1 Forward Total' +p391 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p392 +sg25 +F628.02484130859375 +sg26 +S'system1_inlet1_fwdtotal' +p393 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863283.2336271 +sg33 +S'0-1000000' +p394 +sg35 +S'FTX1[1].Val_TV' +p395 +sg3 +S'100' +p396 +sg38 +S'BBL' +p397 +sg40 +g1 +sg41 +S'60' +p398 +sg43 +g44 +sg45 +S'2-5' +p399 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-8' +p400 +(dp401 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Inlet 2 Net Total' +p402 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p403 +sg25 +F239843.359375 +sg26 +S'system1_inlet2_nettotal' +p404 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863283.584435 +sg33 +S'0-1000000' +p405 +sg35 +S'FTX2[1].Val_SV' +p406 +sg3 +S'100' +p407 +sg38 +S'BBL' +p408 +sg40 +g1 +sg41 +S'60' +p409 +sg43 +g44 +sg45 +S'2-8' +p410 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-9' +p411 +(dp412 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Inlet 2 Forward Total' +p413 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p414 +sg25 +F156.51719665527344 +sg26 +S'system1_inlet2_fwdtotal' +p415 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863283.8943559 +sg33 +S'0-1000000' +p416 +sg35 +S'FTX2[1].Val_TV' +p417 +sg3 +S'100' +p418 +sg38 +S'BBL' +p419 +sg40 +g1 +sg41 +S'60' +p420 +sg43 +g44 +sg45 +S'2-9' +p421 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-44' +p422 +(dp423 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Level' +p424 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p425 +sg25 +F7.671875 +sg26 +S'system2_level' p426 -sg42 +sg28 g1 -sg43 -S'60' +sg29 +g30 +sg31 +g9 +sg32 +F1531863365.2497479 +sg33 +S'0-25' p427 -sg45 -g46 -sg47 -S'2-36' +sg35 +S'LTX1[2].Val' p428 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-42' +sg3 +S'0.5' p429 -(dp430 -g13 -S'0-1000000' +sg38 +S'Ft' +p430 +sg40 +g1 +sg41 +S'60' p431 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Outlet Forward Total' +sg43 +g44 +sg45 +S'2-44' p432 -sg21 -g22 -sg23 -g24 -sg25 -S'600' +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-33' p433 -sg27 -Nsg28 -S'system2_outlet_fwdtotal' -p434 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX3_Promag400[2].Val_Tot2' +(dp434 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Inlet 1 Net Total' p435 -sg3 -S'100' +sg19 +g20 +sg21 +g22 +sg23 +S'600' p436 -sg40 -S'BBL' -p437 -sg42 -g1 -sg43 -S'60' -p438 -sg45 -g46 -sg47 -S'2-42' -p439 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-41' -p440 -(dp441 -g13 -S'0-1000000' -p442 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Outlet Net Total' -p443 -sg21 -g22 -sg23 -g24 sg25 -S'600' -p444 -sg27 -Nsg28 -S'system2_outlet_nettotal' -p445 -sg30 +F6.2091798782348633 +sg26 +S'system2_inlet1_nettotal' +p437 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'FTX3_Promag400[2].Val_Tot1' -p446 +sg32 +F1531863284.284085 +sg33 +S'0-1000000' +p438 +sg35 +S'FTX1[2].Val_SV' +p439 sg3 S'100' -p447 -sg40 +p440 +sg38 S'BBL' -p448 -sg42 +p441 +sg40 g1 -sg43 +sg41 S'60' -p449 +p442 +sg43 +g44 sg45 -g46 +S'2-33' +p443 sg47 -S'2-41' -p450 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-57' -p451 -(dp452 +g52 +sg53 +NssS'2-42' +p444 +(dp445 g13 -S'0-50000' -p453 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 +S'System 2 Outlet Forward Total' +p446 sg19 -S'System 2 Energy Usage Yesterday' -p454 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p455 -sg27 -Nsg28 -S'system2_energyusage_yesterday' -p456 -sg30 +p447 +sg25 +F0.0 +sg26 +S'system2_outlet_fwdtotal' +p448 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'hist_EnergyUsageDaily[2,1]' +sg32 +F1531863284.492965 +sg33 +S'0-1000000' +p449 +sg35 +S'FTX3_Promag400[2].Val_Tot2' +p450 +sg3 +S'100' +p451 +sg38 +S'BBL' +p452 +sg40 +g1 +sg41 +S'60' +p453 +sg43 +g44 +sg45 +S'2-42' +p454 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssV2-11 +p455 +(dp456 +Vah p457 +g155 +sVbytary +p458 +NsVal +p459 +V0 +p460 +sVvn +p461 +VSystem 1 Outlet Flowrate +p462 +sVct +p463 +Vnumber +p464 +sVle +p465 +V16 +p466 +sVgrp +p467 +V600 +p468 +sVla +p469 +g155 +sVchn +p470 +Vsystem1_outlet_flowrate +p471 +sVr +p472 +V0-6000 +p473 +sVdn +p474 +Vtanktransfer +p475 +sVda +p476 +V300 +p477 +sVlrt +p478 +F1531862956.3579661 +sVa +p479 +Vval_FTX3_BPD[1] +p480 +sVc +p481 +V10 +p482 +sVmisc_u +p483 +VGPM +p484 +sVf +p485 +V1 +p486 +sVmrt +p487 +V60 +p488 +sVm +p489 +Vnone +p490 +sVm1ch +p491 +g455 +sVmv +p492 +g460 +sVs +p493 +VOn +p494 +sVun +p495 +g486 +sVt +p496 +Vint +p497 +sVvm +p498 +NssS'2-32' +p499 +(dp500 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Inlet 1 Flowrate' +p501 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p502 +sg25 +F9.2820587158203125 +sg26 +S'system2_inlet1_flowrate' +p503 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863284.9623489 +sg33 +S'0-2000' +p504 +sg35 +S'FTX1[2].Val_PV' +p505 +sg3 +S'10' +p506 +sg38 +S'GPM' +p507 +sg40 +g1 +sg41 +S'60' +p508 +sg43 +g44 +sg45 +S'2-32' +p509 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-41' +p510 +(dp511 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Outlet Net Total' +p512 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p513 +sg25 +F0.0 +sg26 +S'system2_outlet_nettotal' +p514 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863285.0990528 +sg33 +S'0-1000000' +p515 +sg35 +S'FTX3_Promag400[2].Val_Tot1' +p516 +sg3 +S'100' +p517 +sg38 +S'BBL' +p518 +sg40 +g1 +sg41 +S'60' +p519 +sg43 +g44 +sg45 +S'2-41' +p520 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-57' +p521 +(dp522 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Energy Usage Yesterday' +p523 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p524 +sg25 +F0.0 +sg26 +S'system2_energyusage_yesterday' +p525 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863285.2321821 +sg33 +S'0-50000' +p526 +sg35 +S'hist_EnergyUsageDaily[2,1]' +p527 sg3 S'0.1' -p458 -sg40 +p528 +sg38 S'kWh' -p459 -sg42 -g1 -sg43 -S'60' -p460 -sg45 -g46 -sg47 -S'2-57' -p461 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-40' -p462 -(dp463 -g13 -S'0-2000' -p464 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Outlet Flowrate' -p465 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p466 -sg27 -Nsg28 -S'system2_outlet_flowrate' -p467 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX3[2].Val' -p468 -sg3 -S'10' -p469 -sg40 -S'GPM' -p470 -sg42 -g1 -sg43 -S'60' -p471 -sg45 -g46 -sg47 -S'2-40' -p472 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-45' -p473 -(dp474 -g13 -S'0-100' -p475 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Motor Frequency' -p476 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p477 -sg27 -Nsg28 -S'system2_motor_frequency' -p478 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'MCX1[2].Val_SpeedFdbk' -p479 -sg3 -S'0.5' -p480 -sg40 -S'Hz' -p481 -sg42 -g1 -sg43 -S'60' -p482 -sg45 -g46 -sg47 -S'2-45' -p483 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-47' -p484 -(dp485 -g13 -S'0-400' -p486 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Discharge Pressure' -p487 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p488 -sg27 -Nsg28 -S'system2_dischargepressure' -p489 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'PTX1[2].Val' -p490 -sg3 -g1 -sg40 -S'PSI' -p491 -sg42 -g1 -sg43 -S'60' -p492 -sg45 -g46 -sg47 -S'2-47' -p493 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-37' -p494 -(dp495 -g13 -S'0-1000000' -p496 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Inlet 2 Net Total' -p497 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p498 -sg27 -Nsg28 -S'system2_inlet2_nettotal' -p499 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX2[2].Val_SV' -p500 -sg3 -S'100' -p501 -sg40 -S'BBL' -p502 -sg42 -g1 -sg43 -S'60' -p503 -sg45 -g46 -sg47 -S'2-37' -p504 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-14' -p505 -(dp506 -g13 -S'0-1000000' -p507 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Outlet Reverse Total' -p508 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p509 -sg27 -Nsg28 -S'system1_outlet_revtotal' -p510 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX3_Promag400[1].Val_Tot3' -p511 -sg3 -S'100' -p512 -sg40 -S'BBL' -p513 -sg42 -g1 -sg43 -S'60' -p514 -sg45 -g46 -sg47 -S'2-14' -p515 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-15' -p516 -(dp517 -g13 -S'0-25' -p518 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Level' -p519 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p520 -sg27 -Nsg28 -S'system1_level' -p521 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'LTX1[1].Val' -p522 -sg3 -S'0.5' -p523 -sg40 -S'Ft' -p524 -sg42 -g1 -sg43 -S'60' -p525 -sg45 -g46 -sg47 -S'2-15' -p526 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-16' -p527 -(dp528 -g13 -S'0-100' p529 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Motor Frequency' +sg40 +g1 +sg41 +S'60' p530 -sg21 -g22 -sg23 -g24 -sg25 -S'600' +sg43 +g44 +sg45 +S'2-57' p531 -sg27 -Nsg28 -S'system1_motor_frequency' +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-40' p532 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'MCX1[1].Val_SpeedFdbk' -p533 -sg3 -S'0.5' +(dp533 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Outlet Flowrate' p534 -sg40 -S'Hz' +sg19 +g20 +sg21 +g22 +sg23 +S'600' p535 -sg42 -g1 -sg43 -S'60' +sg25 +g14 +sg26 +S'system2_outlet_flowrate' p536 -sg45 -g46 -sg47 -S'2-16' -p537 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-17' -p538 -(dp539 -g13 -S'0-100' -p540 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Motor Current' -p541 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p542 -sg27 -Nsg28 -S'system1_motor_current' -p543 -sg30 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'en_MC11:I.OutputCurrent' -p544 -sg3 -S'0.5' -p545 -sg40 -S'Amps' -p546 -sg42 -g1 -sg43 -S'60' -p547 -sg45 -g46 -sg47 -S'2-17' -p548 -sg49 +sg32 g50 -sg51 -g35 -sg52 -g53 -ssS'2-10' -p549 -(dp550 -g13 -S'0-1000000' -p551 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Inlet 2 Reverse Total' -p552 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p553 -sg27 -Nsg28 -S'system1_inlet2_revtotal' -p554 -sg30 -g1 -sg31 -g32 sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX2[1].Val_FV' -p555 -sg3 -S'100' -p556 -sg40 -S'BBL' -p557 -sg42 -g1 -sg43 -S'60' -p558 -sg45 -g46 -sg47 -S'2-10' -p559 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-11' -p560 -(dp561 -g13 S'0-2000' -p562 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Outlet Flowrate' -p563 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p564 -sg27 -Nsg28 -S'system1_outlet_flowrate' -p565 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX3[1].Val' -p566 +p537 +sg35 +S'FTX3[2].Val' +p538 sg3 S'10' -p567 -sg40 +p539 +sg38 S'GPM' +p540 +sg40 +g1 +sg41 +S'60' +p541 +sg43 +g44 +sg45 +S'2-40' +p542 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-45' +p543 +(dp544 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Motor Frequency' +p545 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p546 +sg25 +F0.0 +sg26 +S'system2_motor_frequency' +p547 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863285.453935 +sg33 +S'0-100' +p548 +sg35 +S'MCX1[2].Val_SpeedFdbk' +p549 +sg3 +S'0.5' +p550 +sg38 +S'Hz' +p551 +sg40 +g1 +sg41 +S'60' +p552 +sg43 +g44 +sg45 +S'2-45' +p553 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-47' +p554 +(dp555 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Discharge Pressure' +p556 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p557 +sg25 +g14 +sg26 +S'system2_dischargepressure' +p558 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +g50 +sg33 +S'0-400' +p559 +sg35 +S'PTX1[2].Val' +p560 +sg3 +g1 +sg38 +S'PSI' +p561 +sg40 +g1 +sg41 +S'60' +p562 +sg43 +g44 +sg45 +S'2-47' +p563 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-20' +p564 +(dp565 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Number of FT Inlets' +p566 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p567 +sg25 +F2.0 +sg26 +S'system1_numinputft' p568 -sg42 +sg28 g1 -sg43 -S'60' +sg29 +g30 +sg31 +g9 +sg32 +F1531863285.683445 +sg33 +S'1-2' p569 -sg45 -g46 -sg47 -S'2-11' +sg35 +S'cfg_SystemNumInpFT[1]' p570 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-12' +sg3 +S'0.5' p571 -(dp572 -g13 -S'0-1000000' +sg38 +g14 +sg40 +g1 +sg41 +S'60' +p572 +sg43 +g44 +sg45 +S'2-20' p573 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Outlet Net Total' +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-58' p574 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p575 -sg27 -Nsg28 -S'system1_outlet_nettotal' +(dp575 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Combined Inlet Flow' p576 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX3_Promag400[1].Val_Tot1' -p577 -sg3 -S'100' -p578 -sg40 -S'BBL' -p579 -sg42 -g1 -sg43 -S'60' -p580 -sg45 -g46 -sg47 -S'2-12' -p581 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-13' -p582 -(dp583 -g13 -S'0-1000000' -p584 -sg15 -g16 -sg17 -Nsg18 -g16 sg19 -S'System 1 Outlet Forward Total' -p585 +g20 sg21 g22 sg23 -g24 -sg25 S'600' -p586 -sg27 -Nsg28 -S'system1_outlet_fwdtotal' -p587 -sg30 +p577 +sg25 +g14 +sg26 +S'system2_inlet_flowrate' +p578 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'FTX3_Promag400[1].Val_Tot2' -p588 +sg32 +g50 +sg33 +S'0-10000' +p579 +sg35 +S'val_FlowRateIn[2]' +p580 sg3 -S'100' -p589 +S'10' +p581 +sg38 +S'BPD' +p582 sg40 -S'BBL' -p590 -sg42 g1 -sg43 +sg41 S'60' -p591 +p583 +sg43 +g44 sg45 -g46 +S'2-58' +p584 sg47 -S'2-13' -p592 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-50' -p593 -(dp594 +g52 +sg53 +NssS'2-59' +p585 +(dp586 g13 -S'0-1000000' -p595 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 +S'System 2 Enabled' +p587 sg19 -S'System 2 Flow Total In Today' -p596 +g20 sg21 g22 sg23 -g24 +S'3600' +p588 sg25 +g14 +sg26 +S'system2_enabled' +p589 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +g50 +sg33 +S'0-1' +p590 +sg35 +S'cfg_TankEnabled[2]' +p591 +sg3 +g1 +sg38 +g14 +sg40 +g1 +sg41 +S'60' +p592 +sg43 +g44 +sg45 +S'2-59' +p593 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-16' +p594 +(dp595 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Motor Frequency' +p596 +sg19 +g20 +sg21 +g22 +sg23 S'600' p597 -sg27 -Nsg28 -S'system2_flowtotal_in_today' +sg25 +F49.0 +sg26 +S'system1_motor_frequency' p598 -sg30 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'hist_FlowTotalInDaily[2,0]' +sg32 +F1531863286.0640758 +sg33 +S'0-100' p599 -sg3 -S'100' +sg35 +S'MCX1[1].Val_SpeedFdbk' p600 -sg40 -S'BBL' +sg3 +S'0.5' p601 -sg42 -g1 -sg43 -S'60' +sg38 +S'Hz' p602 -sg45 -g46 -sg47 -S'2-50' +sg40 +g1 +sg41 +S'60' p603 +sg43 +g44 +sg45 +S'2-16' +p604 +sg47 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-51' -p604 -(dp605 +g52 +sg53 +NssS'2-17' +p605 +(dp606 g13 -S'0-1000000' -p606 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 -sg19 -S'System 2 Flow Total In Yesterday' +S'System 1 Motor Current' p607 +sg19 +g20 sg21 g22 sg23 -g24 -sg25 S'600' p608 -sg27 -Nsg28 -S'system2_flowtotal_in_yesterday' +sg25 +F13.296833992004395 +sg26 +S'system1_motor_current' p609 -sg30 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'hist_FlowTotalInDaily[2,1]' +sg32 +F1531863412.7079812 +sg33 +S'0-100' p610 -sg3 -S'0.1' +sg35 +S'en_MC11:I.OutputCurrent' p611 -sg40 -S'BBL' +sg3 +S'0.5' p612 -sg42 -g1 -sg43 -S'60' +sg38 +S'Amps' p613 -sg45 -g46 -sg47 -S'2-51' +sg40 +g1 +sg41 +S'60' p614 +sg43 +g44 +sg45 +S'2-17' +p615 +sg47 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-38' -p615 -(dp616 +g52 +sg53 +NssS'2-10' +p616 +(dp617 g13 -S'0-1000000' -p617 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 -sg19 -S'System 2 Inlet 2 Forward Total' +S'System 1 Inlet 2 Reverse Total' p618 +sg19 +g20 sg21 g22 sg23 -g24 -sg25 S'600' p619 -sg27 -Nsg28 -S'system2_inlet2_fwdtotal' +sg25 +F319631.15625 +sg26 +S'system1_inlet2_revtotal' p620 -sg30 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'FTX2[2].Val_TV' +sg32 +F1531863286.2130159 +sg33 +S'0-1000000' p621 +sg35 +S'FTX2[1].Val_FV' +p622 sg3 S'100' -p622 -sg40 -S'BBL' p623 -sg42 -g1 -sg43 -S'60' +sg38 +S'BBL' p624 -sg45 -g46 -sg47 -S'2-38' +sg40 +g1 +sg41 +S'60' p625 +sg43 +g44 +sg45 +S'2-10' +p626 +sg47 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-39' -p626 -(dp627 +g52 +sg53 +NssS'2-37' +p627 +(dp628 g13 -S'0-1000000' -p628 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 -sg19 -S'System 2 Inlet 2 Reverse Total' +S'System 2 Inlet 2 Net Total' p629 +sg19 +g20 sg21 g22 sg23 -g24 -sg25 S'600' p630 -sg27 -Nsg28 -S'system2_inlet2_revtotal' +sg25 +F6.212712287902832 +sg26 +S'system2_inlet2_nettotal' p631 -sg30 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'FTX2[2].Val_FV' +sg32 +F1531863286.2893528 +sg33 +S'0-1000000' p632 +sg35 +S'FTX2[2].Val_SV' +p633 sg3 S'100' -p633 -sg40 -S'BBL' p634 -sg42 -g1 -sg43 -S'60' +sg38 +S'BBL' p635 -sg45 -g46 -sg47 -S'2-39' +sg40 +g1 +sg41 +S'60' p636 +sg43 +g44 +sg45 +S'2-37' +p637 +sg47 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssS'2-18' -p637 -(dp638 +g52 +sg53 +NssS'2-12' +p638 +(dp639 g13 -S'0-400' -p639 +g14 sg15 -g16 +Nsg16 +g14 sg17 -Nsg18 -g16 -sg19 -S'System 1 Discharge Pressure' +S'System 1 Outlet Net Total' p640 +sg19 +g20 sg21 g22 sg23 -g24 -sg25 S'600' p641 -sg27 -Nsg28 -S'system1_dischargepressure' +sg25 +F557103.9375 +sg26 +S'system1_outlet_nettotal' p642 -sg30 +sg28 g1 +sg29 +g30 sg31 -g32 -sg33 -Nsg34 -g35 -sg36 g9 -sg37 -S'PTX1[1].Val' -p643 -sg3 -g1 -sg40 -S'PSI' -p644 -sg42 -g1 -sg43 -S'60' -p645 -sg45 -g46 -sg47 -S'2-18' -p646 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-19' -p647 -(dp648 -g13 -S'0-600' -p649 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 1 Minutes Until Restarted OK' -p650 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p651 -sg27 -Nsg28 -S'system1_minuntilrestartedok' -p652 -sg30 -g1 -sg31 -g32 +sg32 +F1531863286.399374 sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'cfg_MinutesUntilRestartedOK[1]' -p653 -sg3 -S'0.1' -p654 -sg40 -S'min' -p655 -sg42 -g1 -sg43 -S'60' -p656 -sg45 -g46 -sg47 -S'2-19' -p657 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-56' -p658 -(dp659 -g13 -S'0-50000' -p660 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Energy Usage Today' -p661 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p662 -sg27 -Nsg28 -S'system2_energyusage_today' -p663 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'hist_EnergyUsageDaily[2,0]' -p664 -sg3 -S'50' -p665 -sg40 -S'kWh' -p666 -sg42 -g1 -sg43 -S'60' -p667 -sg45 -g46 -sg47 -S'2-56' -p668 -sg49 -g50 -sg51 -g35 -sg52 -g53 -ssS'2-43' -p669 -(dp670 -g13 S'0-1000000' -p671 -sg15 -g16 -sg17 -Nsg18 -g16 -sg19 -S'System 2 Outlet Reverse Total' -p672 -sg21 -g22 -sg23 -g24 -sg25 -S'600' -p673 -sg27 -Nsg28 -S'system2_outlet_revtotal' -p674 -sg30 -g1 -sg31 -g32 -sg33 -Nsg34 -g35 -sg36 -g9 -sg37 -S'FTX3_Promag400[2].Val_Tot3' -p675 +p643 +sg35 +S'FTX3_Promag400[1].Val_Tot1' +p644 sg3 S'100' -p676 -sg40 +p645 +sg38 S'BBL' -p677 -sg42 +p646 +sg40 g1 -sg43 +sg41 S'60' -p678 +p647 +sg43 +g44 sg45 -g46 +S'2-12' +p648 sg47 -S'2-43' -p679 +g48 sg49 g50 sg51 -g35 -sg52 -g53 -ssssg42 -S'Off' -p680 -sS'p' -p681 -g16 -sg49 +g52 +sg53 +NssS'2-13' +p649 +(dp650 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Outlet Forward Total' +p651 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p652 +sg25 +g14 +sg26 +S'system1_outlet_fwdtotal' +p653 +sg28 g1 -ssS'2' +sg29 +g30 +sg31 +g9 +sg32 +F1531854108.3768871 +sg33 +S'0-1000000' +p654 +sg35 +S'FTX3_Promag400[1].Val_Tot2' +p655 +sg3 +S'100' +p656 +sg38 +S'BBL' +p657 +sg40 +g1 +sg41 +S'60' +p658 +sg43 +g44 +sg45 +S'2-13' +p659 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-50' +p660 +(dp661 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Flow Total In Today' +p662 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p663 +sg25 +F542189.875 +sg26 +S'system2_flowtotal_in_today' +p664 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863413.5428369 +sg33 +S'0-1000000' +p665 +sg35 +S'hist_FlowTotalInDaily[2,0]' +p666 +sg3 +S'100' +p667 +sg38 +S'BBL' +p668 +sg40 +g1 +sg41 +S'60' +p669 +sg43 +g44 +sg45 +S'2-50' +p670 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-51' +p671 +(dp672 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Flow Total In Yesterday' +p673 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p674 +sg25 +F6306.3193359375 +sg26 +S'system2_flowtotal_in_yesterday' +p675 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863286.8050319 +sg33 +S'0-1000000' +p676 +sg35 +S'hist_FlowTotalInDaily[2,1]' +p677 +sg3 +S'0.1' +p678 +sg38 +S'BBL' +p679 +sg40 +g1 +sg41 +S'60' +p680 +sg43 +g44 +sg45 +S'2-51' +p681 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-38' p682 (dp683 -g3 -S'M1-485' +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Inlet 2 Forward Total' p684 -sg5 -S'9600' +sg19 +g20 +sg21 +g22 +sg23 +S'600' p685 -sg7 -(dp686 -sg42 -g680 -sg681 -S'None' -p687 -sg49 +sg25 +F6.221397876739502 +sg26 +S'system2_inlet2_fwdtotal' +p686 +sg28 g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863286.881367 +sg33 +S'0-1000000' +p687 +sg35 +S'FTX2[2].Val_TV' +p688 +sg3 +S'100' +p689 +sg38 +S'BBL' +p690 +sg40 +g1 +sg41 +S'60' +p691 +sg43 +g44 +sg45 +S'2-38' +p692 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-39' +p693 +(dp694 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Inlet 2 Reverse Total' +p695 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p696 +sg25 +F34.607025146484375 +sg26 +S'system2_inlet2_revtotal' +p697 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863286.9512269 +sg33 +S'0-1000000' +p698 +sg35 +S'FTX2[2].Val_FV' +p699 +sg3 +S'100' +p700 +sg38 +S'BBL' +p701 +sg40 +g1 +sg41 +S'60' +p702 +sg43 +g44 +sg45 +S'2-39' +p703 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-18' +p704 +(dp705 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Discharge Pressure' +p706 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p707 +sg25 +F35.962501525878906 +sg26 +S'system1_dischargepressure' +p708 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863287.0220831 +sg33 +S'0-400' +p709 +sg35 +S'PTX1[1].Val' +p710 +sg3 +g1 +sg38 +S'PSI' +p711 +sg40 +g1 +sg41 +S'60' +p712 +sg43 +g44 +sg45 +S'2-18' +p713 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-19' +p714 +(dp715 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 1 Minutes Until Restarted OK' +p716 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p717 +sg25 +F1.0 +sg26 +S'system1_minuntilrestartedok' +p718 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863287.102254 +sg33 +S'0-600' +p719 +sg35 +S'cfg_MinutesUntilRestartedOK[1]' +p720 +sg3 +S'0.1' +p721 +sg38 +S'min' +p722 +sg40 +g1 +sg41 +S'60' +p723 +sg43 +g44 +sg45 +S'2-19' +p724 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-56' +p725 +(dp726 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Energy Usage Today' +p727 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p728 +sg25 +F0.0 +sg26 +S'system2_energyusage_today' +p729 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863287.222262 +sg33 +S'0-50000' +p730 +sg35 +S'hist_EnergyUsageDaily[2,0]' +p731 +sg3 +S'50' +p732 +sg38 +S'kWh' +p733 +sg40 +g1 +sg41 +S'60' +p734 +sg43 +g44 +sg45 +S'2-56' +p735 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +NssS'2-43' +p736 +(dp737 +g13 +g14 +sg15 +Nsg16 +g14 +sg17 +S'System 2 Outlet Reverse Total' +p738 +sg19 +g20 +sg21 +g22 +sg23 +S'600' +p739 +sg25 +F0.0 +sg26 +S'system2_outlet_revtotal' +p740 +sg28 +g1 +sg29 +g30 +sg31 +g9 +sg32 +F1531863287.3025939 +sg33 +S'0-1000000' +p741 +sg35 +S'FTX3_Promag400[2].Val_Tot3' +p742 +sg3 +S'100' +p743 +sg38 +S'BBL' +p744 +sg40 +g1 +sg41 +S'60' +p745 +sg43 +g44 +sg45 +S'2-43' +p746 +sg47 +g48 +sg49 +g50 +sg51 +g52 +sg53 +Nssssg40 +VOff +p747 +sS'p' +p748 +g155 +sg47 +g486 +ssS'2' +p749 +(dp750 +g3 +VM1-485 +p751 +sg5 +V9600 +p752 +sg7 +(dp753 +sg40 +VOff +p754 +sg748 +VNone +p755 +sg47 +g486 ss. \ No newline at end of file diff --git a/POCloud/python-driver/tanktransfer.py b/POCloud/python-driver/tanktransfer.py index 612ecea..68936e9 100644 --- a/POCloud/python-driver/tanktransfer.py +++ b/POCloud/python-driver/tanktransfer.py @@ -2,45 +2,29 @@ import threading import sys -from device_base import deviceBase -from Channel import Channel, read_tag, write_tag, BoolArrayChannels -from Maps import tanktransfer_map as maps -from Maps import reverse_map -import persistence -from random import randint -from utilities import get_public_ip_address import json import time -import logging + +from device_base import deviceBase +from random import randint +from utilities import get_public_ip_address +from file_logger import filelogger as log +from channel import Channel, read_tag, write_tag _ = None -# LOGGING SETUP -from logging.handlers import RotatingFileHandler +log.info("tanktransfer startup") -log_formatter = logging.Formatter('%(asctime)s %(levelname)s %(funcName)s(%(lineno)d) %(message)s') -logFile = './tanktransfer.log' -my_handler = RotatingFileHandler(logFile, mode='a', maxBytes=500*1024, backupCount=2, encoding=None, delay=0) -my_handler.setFormatter(log_formatter) -my_handler.setLevel(logging.INFO) -logger = logging.getLogger('tanktransfer') -logger.setLevel(logging.INFO) -logger.addHandler(my_handler) - -console_out = logging.StreamHandler(sys.stdout) -console_out.setFormatter(log_formatter) -logger.addHandler(console_out) - -logger.info("tanktransfer startup") # GLOBAL VARIABLES +WAIT_FOR_CONNECTION_SECONDS = 60 +IP_CHECK_PERIOD = 60 +WATCHDOG_ENABLE = True +WATCHDOG_CHECK_PERIOD = 60 WATCHDOG_SEND_PERIOD = 3600 # Seconds, the longest amount of time before sending the watchdog status PLC_IP_ADDRESS = "192.168.1.10" CHANNELS = [] -# PERSISTENCE FILE -persist = persistence.load() - class start(threading.Thread, deviceBase): """Start class required by Meshify.""" @@ -51,9 +35,14 @@ class start(threading.Thread, deviceBase): deviceBase.__init__(self, name=name, number=number, mac=mac, Q=Q, mcu=mcu, companyId=companyId, offset=offset, mqtt=mqtt, Nodes=Nodes) self.daemon = True - self.version = "1" + self.version = "2" self.finished = threading.Event() self.forceSend = False + self.public_ip_address = "" + self.public_ip_address_last_checked = 0 + self.watchdog = False + self.watchdog_last_checked = 0 + self.watchdog_last_sent = 0 threading.Thread.start(self) # this is a required function for all drivers, its goal is to upload some piece of data @@ -65,52 +54,60 @@ class start(threading.Thread, deviceBase): def run(self): """Actually run the driver.""" - global persist - wait_sec = 60 - for i in range(0, wait_sec): - print("tanktransfer driver will start in {} seconds".format(wait_sec - i)) + for i in range(0, WAIT_FOR_CONNECTION_SECONDS): + print("tanktransfer driver will start in {} seconds".format(WAIT_FOR_CONNECTION_SECONDS - i)) time.sleep(1) - logger.info("BOOM! Starting tanktransfer driver...") + log.info("BOOM! Starting tanktransfer driver...") - public_ip_address = get_public_ip_address() - self.sendtodbDev(1, 'public_ip_address', public_ip_address, 0, 'tanktransfer') - watchdog = self.tanktransfer_watchdog() - self.sendtodbDev(1, 'watchdog', watchdog, 0, 'tanktransfer') - watchdog_send_timestamp = time.time() + self._check_watchdog() + self._check_ip_address() + + self.nodes["tanktransfer_0199"] = self send_loops = 0 - watchdog_loops = 0 - watchdog_check_after = 5000 while True: + now = time.time() if self.forceSend: - logger.warning("FORCE SEND: TRUE") + log.warning("FORCE SEND: TRUE") for c in CHANNELS: if c.read(self.forceSend): self.sendtodbDev(1, c.mesh_name, c.value, 0, 'tanktransfer') - # print("tanktransfer driver still alive...") if self.forceSend: if send_loops > 2: - logger.warning("Turning off forceSend") + log.warning("Turning off forceSend") self.forceSend = False send_loops = 0 else: send_loops += 1 - watchdog_loops += 1 - if (watchdog_loops >= watchdog_check_after): - test_watchdog = self.tanktransfer_watchdog() - if not test_watchdog == watchdog or (time.time() - watchdog_send_timestamp) > WATCHDOG_SEND_PERIOD: - self.sendtodbDev(1, 'watchdog', test_watchdog, 0, 'tanktransfer') - watchdog = test_watchdog + if WATCHDOG_ENABLE: + if (now - self.watchdog_last_checked) > WATCHDOG_CHECK_PERIOD: + self._check_watchdog() - test_public_ip = get_public_ip_address() - if not test_public_ip == public_ip_address: - self.sendtodbDev(1, 'public_ip_address', test_public_ip, 0, 'tanktransfer') - public_ip_address = test_public_ip - watchdog_loops = 0 + if (now - self.public_ip_address_last_checked) > IP_CHECK_PERIOD: + self._check_ip_address() + + def _check_watchdog(self): + """Check the watchdog and send to Meshify if changed or stale.""" + test_watchdog = self.tanktransfer_watchdog() + now = time.time() + self.watchdog_last_checked = now + if test_watchdog != self.watchdog or (now - self.watchdog_last_sent) > WATCHDOG_SEND_PERIOD: + self.sendtodbDev(1, 'watchdog', test_watchdog, 0, 'tanktransfer') + self.watchdog = test_watchdog + self.watchdog_last_sent = now + + + def _check_ip_address(self): + """Check the public IP address and send to Meshify if changed.""" + self.public_ip_address_last_checked = time.time() + test_public_ip = get_public_ip_address() + if not test_public_ip == self.public_ip_address: + self.sendtodbDev(1, 'public_ip_address', test_public_ip, 0, 'tanktransfer') + self.public_ip_address = test_public_ip def tanktransfer_watchdog(self): """Write a random integer to the PLC and then 1 seconds later check that it has been decremented by 1."""