Renames for more generic use

This commit is contained in:
Patrick McDonagh
2018-03-21 16:48:13 -05:00
parent 8f45ef23f1
commit 6591b1381d
153 changed files with 6 additions and 4 deletions

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{bbd38e76-cd39-44be-a456-12e2b5d3f366}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>MyRootNamespace</RootNamespace>
<AssemblyName>MyAssemblyName</AssemblyName>
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
<CAMProjectFile>Controller\PrjLibrary.mdb</CAMProjectFile>
<CAMProjectVersion>5.50.5</CAMProjectVersion>
<UniqueProjectId>{bbd38e76-cd39-44be-a456-12e2b5d3f366}</UniqueProjectId>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Online' ">
<OutputPath>bin\Online\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Simulation' " />
<Import Project="$(DevEnvDir)\PackagesToLoad\Targets\ISaGRAF.ISaGRAF5.targets" />
<Import Project="$(DevEnvDir)\PackagesToLoad\Targets\ISaGRAF.CCW.targets" />
</Project>

View File

@@ -0,0 +1 @@
COMPILED

View File

@@ -0,0 +1,17 @@
[MAIN]
NET=1
CONF=1
RES=1
[NET]
N1=CIPNetwork_1, CIPNetwork
[CONF]
C1=Micro820, 1
I1=1, ""
[RES]
R1=1, Micro820, 1

View File

@@ -0,0 +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>PATRICKMCDO8E0A!HenryPump\107.84.231.186</Micro800ConnectionPath>
</DevicePreferences>

View File

@@ -0,0 +1,6 @@
<?xml version="1.0"?>
<DLGRCP_Config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<MajorVersion>0</MajorVersion>
<MinorVersion>0</MinorVersion>
<DLGRCP_Set />
</DLGRCP_Config>

View File

@@ -0,0 +1,969 @@
Doc
Version=1.33
Name=Default
PLCType=HabPro
Pswd=0
AdminPswd=
FTPPswd=
ProjectPathname=C:\Documents and Settings\All Users\Documents\ICS Triplex ISaGRAF\Projects\ISaGRAF 5.2\Tpl\EmptyPrjmonoresource\PrjLibrary.mdb
Grid=1,25,25,1
WEBFolder=Web
WEBIPAddress=127.0.0.1
MRUIPAddress=127.0.0.1,
DocEnd
Ctrl
HACSelectBox
HACTrendGraph2
HACTrendGraph
HACImage
HACEllipse
HACRoundRect
HACRect
HACTextDisplay
HACTextInputBox
HACEllipseSlide
HACArc
HCCEMail
HCCPreRegTextDisplay
HCCBasicOperation
HACArrow
HSCImage
HACPolygon
HACPolyline
HACSelectSlide
HCCGroup
CtrlEnd
Srv
1=127.0.0.1|PassUser=1:0;PassAdmi=0:;BlockSize=2:64;|NO
SrvEnd
Rsc
1: resource1 (config1)=1|ETCP=
RscEnd
Container
Name=Container_1
HTMLTemplate=
Size=1000,1000
Var
2=%S_SYS
(local)
0
4=%S_SYS_APPLET
(local)
0
5=%S_SYS_DATA_SERVER
(local)
0
6=%S_SYS_VARIABLE
(local)
0
7=%S_SYS_PLC
(local)
0
8=%S_SYS_PASSWORD
(local)
0
11=%S___SYSVA_RESNAME,2
(local)
0
12=__sysva_resname
1: resource1 (config1)
0
13=__sysva_resmode
1: resource1 (config1)
0
14=__sysva_ccexec
1: resource1 (config1)
0
15=__sysva_cyclecnt
1: resource1 (config1)
0
16=__sysva_cycledate
1: resource1 (config1)
0
17=__sysva_kvbcerr
1: resource1 (config1)
0
18=__sysva_kvbperr
1: resource1 (config1)
0
19=__sysva_scancnt
1: resource1 (config1)
0
20=__sysva_tcycurrent
1: resource1 (config1)
0
21=__sysva_tcycyctime
1: resource1 (config1)
0
22=__sysva_tcymaximum
1: resource1 (config1)
0
23=__sysva_tcyoverflow
1: resource1 (config1)
0
24=__sysva_wngarg
1: resource1 (config1)
0
25=__sysva_wngcmd
1: resource1 (config1)
0
26=__sysva_wngcmptnm
1: resource1 (config1)
0
27=__sysva_wngnum
1: resource1 (config1)
0
VarEnd
Page
Name=MainScreen
Var
VarEnd
Hac
ID=1
Type=HACTextDisplay
Pt=25,100;975,25;614,22;25,100;25,25;975,25;975,100;25,100
P50,RGB=208,226,232
P110,STR={
=Main Screen
}
P114,ENU=0
P115,ENU=0
P100,ENU=1
P101,INT=2
HacEnd
Hac
ID=2
Type=HACTextDisplay
Pt=725,225;925,150;925,150;725,225;725,150;925,150;925,225;725,225
P110,STR={
=ISaVIEW System Variables
}
P71,ENU=5
P74,LNK=SystemVariables
P127,ENU=0
HacEnd
Hac
ID=3
Type=HACTextDisplay
Pt=75,225;275,150;275,150;75,225;75,150;275,150;275,225;75,225
P110,STR={
=Config1
=Resource1
}
P71,ENU=5
P74,LNK=Resource1_Sys
P127,ENU=0
HacEnd
PageEnd
Page
Name=SystemVariables
Var
VarEnd
Hac
ID=1
Type=HACTextDisplay
Pt=25,105;980,25;619,25;25,105;25,25;980,25;980,105;25,105
P50,RGB=208,226,232
P110,STR={
=ISaVIEW System Variables
}
P114,ENU=0
P115,ENU=0
P100,ENU=1
P101,INT=2
HacEnd
Hac
ID=2
Type=HACTextDisplay
Pt=425,534;585,475;585,475;425,534;425,475;585,475;585,534;425,534
P54,RGB=64,64,64
P110,STR={
=Back to Main Screen
}
P101,INT=3
P71,ENU=7
P127,ENU=0
ListPublicStyle=50,Skin color,0;52,Frame color,0;54,,0;110,Title,0;
ListPublicVar=70,Enable,0;
Lock
HacEnd
Hac
ID=3
Type=HACArrow
Pt=465,517;546,514;546,515;465,517;465,515;546,515
P101,INT=2
ListPublicStyle=48,Frame color,0;
Lock
HacEnd
Hac
ID=4
Type=HCCGroup
Pt=425,534;585,475;585,475;425,534
P74,LNK=MainScreen
P0x1000,CTL=2
P0x1001,CTL=3
HacEnd
Hac
ID=5
Type=HACRect
Pt=25,185;475,125;475,125;25,185;25,125;475,125;475,185;25,185
HacEnd
Hac
ID=6
Type=HACTextDisplay
Pt=25,155;475,125;475,125;25,155;25,125;475,125;475,155;25,155
P110,STR={
=SYS
}
P112,ENU=1
HacEnd
Hac
ID=7
Type=HACTextDisplay
Pt=25,185;475,155;475,155;25,185;25,155;475,155;475,185;25,185
P110,STR={
=
}
P114,ENU=0
V100,2
HacEnd
Hac
ID=8
Type=HCCGroup
Pt=25,185;475,125;475,125;25,185
P0x1000,CTL=5
P0x1001,CTL=6
P0x1002,CTL=7
HacEnd
Hac
ID=9
Type=HACRect
Pt=525,185;975,125;975,125;525,185;525,125;975,125;975,185;525,185
HacEnd
Hac
ID=10
Type=HACTextDisplay
Pt=525,155;975,125;975,125;525,155;525,125;975,125;975,155;525,155
P110,STR={
=SYS_APPLET
}
P112,ENU=1
HacEnd
Hac
ID=11
Type=HACTextDisplay
Pt=525,185;975,155;975,155;525,185;525,155;975,155;975,185;525,185
P110,STR={
=
}
P114,ENU=0
V100,4
HacEnd
Hac
ID=12
Type=HCCGroup
Pt=525,185;975,125;975,125;525,185
P0x1000,CTL=9
P0x1001,CTL=10
P0x1002,CTL=11
HacEnd
Hac
ID=13
Type=HACRect
Pt=25,285;475,225;475,225;25,285;25,225;475,225;475,285;25,285
HacEnd
Hac
ID=14
Type=HACTextDisplay
Pt=25,255;475,225;475,225;25,255;25,225;475,225;475,255;25,255
P110,STR={
=SYS_DATA_SERVER
}
P112,ENU=1
HacEnd
Hac
ID=15
Type=HACTextDisplay
Pt=25,285;475,255;475,255;25,285;25,255;475,255;475,285;25,285
P110,STR={
=
}
P114,ENU=0
V100,5
HacEnd
Hac
ID=16
Type=HCCGroup
Pt=25,285;475,225;475,225;25,285
P0x1000,CTL=13
P0x1001,CTL=14
P0x1002,CTL=15
HacEnd
Hac
ID=17
Type=HACRect
Pt=525,285;975,225;975,225;525,285;525,225;975,225;975,285;525,285
HacEnd
Hac
ID=18
Type=HACTextDisplay
Pt=525,255;975,225;975,225;525,255;525,225;975,225;975,255;525,255
P110,STR={
=SYS_VARIABLE
}
P112,ENU=1
HacEnd
Hac
ID=19
Type=HACTextDisplay
Pt=525,285;975,255;975,255;525,285;525,255;975,255;975,285;525,285
P110,STR={
=
}
P114,ENU=0
V100,6
HacEnd
Hac
ID=20
Type=HCCGroup
Pt=525,285;975,225;975,225;525,285
P0x1000,CTL=17
P0x1001,CTL=18
P0x1002,CTL=19
HacEnd
Hac
ID=21
Type=HACRect
Pt=25,385;475,325;475,325;25,385;25,325;475,325;475,385;25,385
HacEnd
Hac
ID=22
Type=HACTextDisplay
Pt=25,355;475,325;475,325;25,355;25,325;475,325;475,355;25,355
P110,STR={
=SYS_PLC
}
P112,ENU=1
HacEnd
Hac
ID=23
Type=HACTextDisplay
Pt=25,385;475,355;475,355;25,385;25,355;475,355;475,385;25,385
P110,STR={
=
}
P114,ENU=0
V100,7
HacEnd
Hac
ID=24
Type=HCCGroup
Pt=25,385;475,325;475,325;25,385
P0x1000,CTL=21
P0x1001,CTL=22
P0x1002,CTL=23
HacEnd
Hac
ID=25
Type=HACRect
Pt=525,385;975,325;975,325;525,385;525,325;975,325;975,385;525,385
HacEnd
Hac
ID=26
Type=HACTextDisplay
Pt=525,355;975,325;975,325;525,355;525,325;975,325;975,355;525,355
P110,STR={
=SYS_PASSWORD
}
P112,ENU=1
HacEnd
Hac
ID=27
Type=HACTextDisplay
Pt=525,385;975,355;975,355;525,385;525,355;975,355;975,385;525,385
P110,STR={
=
}
P114,ENU=0
V100,8
HacEnd
Hac
ID=28
Type=HCCGroup
Pt=525,385;975,325;975,325;525,385
P0x1000,CTL=25
P0x1001,CTL=26
P0x1002,CTL=27
HacEnd
PageEnd
Page
Name=Resource1_Sys
Var
VarEnd
Hac
ID=1
Type=HACRect
Pt=350,260;650,200;650,200;350,260;350,200;650,200;650,260;350,260
HacEnd
Hac
ID=2
Type=HACTextDisplay
Pt=350,230;650,200;650,200;350,230;350,200;650,200;650,230;350,230
P110,STR={
=__SYSVA_RESNAME
}
HacEnd
Hac
ID=3
Type=HACTextDisplay
Pt=350,260;650,230;650,230;350,260;350,230;650,230;650,260;350,260
P110,STR={
=
}
P114,ENU=0
V100,12
HacEnd
Hac
ID=4
Type=HCCGroup
Pt=350,260;650,200;650,200;350,260
P0x1000,CTL=1
P0x1001,CTL=2
P0x1002,CTL=3
HacEnd
Hac
ID=5
Type=HACTextDisplay
Pt=25,100;975,25;616,22;25,100;25,25;975,25;975,100;25,100
P50,RGB=208,226,232
P110,STR={
=Resource 1
=
=ISaGRAF System Variables
}
P114,ENU=0
P115,ENU=0
P100,ENU=1
P101,INT=2
HacEnd
Hac
ID=6
Type=HACRect
Pt=350,185;650,125;650,125;350,185;350,125;650,125;650,185;350,185
HacEnd
Hac
ID=7
Type=HACTextDisplay
Pt=350,155;650,125;650,125;350,155;350,125;650,125;650,155;350,155
P110,STR={
=__SYSVA_RESMODE
}
HacEnd
Hac
ID=8
Type=HACTextDisplay
Pt=350,185;650,155;650,155;350,185;350,155;650,155;650,185;350,185
P110,STR={
=
}
P114,ENU=0
V100,13
HacEnd
Hac
ID=9
Type=HCCGroup
Pt=350,185;650,125;650,125;350,185
P0x1000,CTL=6
P0x1001,CTL=7
P0x1002,CTL=8
HacEnd
Hac
ID=10
Type=HACTextDisplay
Pt=400,709;600,650;600,650;400,709;400,650;600,650;600,709;400,709
P54,RGB=64,64,64
P110,STR={
=Back to Main Screen
}
P101,INT=3
P71,ENU=7
P127,ENU=0
ListPublicStyle=50,Skin color,0;52,Frame color,0;54,,0;110,Title,0;
ListPublicVar=70,Enable,0;
Lock
HacEnd
Hac
ID=11
Type=HACArrow
Pt=448,692;549,689;549,690;448,692;448,690;549,690
P101,INT=2
ListPublicStyle=48,Frame color,0;
Lock
HacEnd
Hac
ID=12
Type=HCCGroup
Pt=400,709;600,650;600,650;400,709
P74,LNK=MainScreen
P0x1000,CTL=10
P0x1001,CTL=11
HacEnd
Hac
ID=13
Type=HACRect
Pt=25,185;325,125;325,125;25,185;25,125;325,125;325,185;25,185
HacEnd
Hac
ID=14
Type=HACTextDisplay
Pt=25,155;325,125;325,125;25,155;25,125;325,125;325,155;25,155
P110,STR={
=__SYSVA_CCEXEC
}
HacEnd
Hac
ID=15
Type=HACTextDisplay
Pt=25,185;325,155;325,155;25,185;25,155;325,155;325,185;25,185
P110,STR={
=
}
P114,ENU=0
V100,14
HacEnd
Hac
ID=16
Type=HCCGroup
Pt=25,185;325,125;325,125;25,185
P0x1000,CTL=13
P0x1001,CTL=14
P0x1002,CTL=15
HacEnd
Hac
ID=17
Type=HACRect
Pt=25,260;325,200;325,200;25,260;25,200;325,200;325,260;25,260
HacEnd
Hac
ID=18
Type=HACTextDisplay
Pt=25,230;325,200;325,200;25,230;25,200;325,200;325,230;25,230
P110,STR={
=__SYSVA_CYCLECNT
}
HacEnd
Hac
ID=19
Type=HACTextDisplay
Pt=25,260;325,230;325,230;25,260;25,230;325,230;325,260;25,260
P110,STR={
=
}
P114,ENU=0
V100,15
HacEnd
Hac
ID=20
Type=HCCGroup
Pt=25,260;325,200;325,200;25,260
P0x1000,CTL=17
P0x1001,CTL=18
P0x1002,CTL=19
HacEnd
Hac
ID=21
Type=HACRect
Pt=25,335;325,275;325,275;25,335;25,275;325,275;325,335;25,335
HacEnd
Hac
ID=22
Type=HACTextDisplay
Pt=25,305;325,275;325,275;25,305;25,275;325,275;325,305;25,305
P110,STR={
=__SYSVA_CYCLEDATE
}
HacEnd
Hac
ID=23
Type=HACTextDisplay
Pt=25,335;325,305;325,305;25,335;25,305;325,305;325,335;25,335
P110,STR={
=
}
P114,ENU=0
V100,16
HacEnd
Hac
ID=24
Type=HCCGroup
Pt=25,335;325,275;325,275;25,335
P0x1000,CTL=21
P0x1001,CTL=22
P0x1002,CTL=23
HacEnd
Hac
ID=25
Type=HACRect
Pt=25,410;325,350;325,350;25,410;25,350;325,350;325,410;25,410
HacEnd
Hac
ID=26
Type=HACTextDisplay
Pt=25,380;325,350;325,350;25,380;25,350;325,350;325,380;25,380
P110,STR={
=__SYSVA_KVBCERR
}
HacEnd
Hac
ID=27
Type=HACTextDisplay
Pt=25,410;325,380;325,380;25,410;25,380;325,380;325,410;25,410
P110,STR={
=
}
P114,ENU=0
V100,17
HacEnd
Hac
ID=28
Type=HCCGroup
Pt=25,410;325,350;325,350;25,410
P0x1000,CTL=25
P0x1001,CTL=26
P0x1002,CTL=27
HacEnd
Hac
ID=29
Type=HACRect
Pt=25,485;325,425;325,425;25,485;25,425;325,425;325,485;25,485
HacEnd
Hac
ID=30
Type=HACTextDisplay
Pt=25,455;325,425;325,425;25,455;25,425;325,425;325,455;25,455
P110,STR={
=__SYSVA_KVBPERR
}
HacEnd
Hac
ID=31
Type=HACTextDisplay
Pt=25,485;325,455;325,455;25,485;25,455;325,455;325,485;25,485
P110,STR={
=
}
P114,ENU=0
V100,18
HacEnd
Hac
ID=32
Type=HCCGroup
Pt=25,485;325,425;325,425;25,485
P0x1000,CTL=29
P0x1001,CTL=30
P0x1002,CTL=31
HacEnd
Hac
ID=33
Type=HACRect
Pt=350,335;650,275;650,275;350,335;350,275;650,275;650,335;350,335
HacEnd
Hac
ID=34
Type=HACTextDisplay
Pt=350,305;650,275;650,275;350,305;350,275;650,275;650,305;350,305
P110,STR={
=__SYSVA_SCANCNT
}
HacEnd
Hac
ID=35
Type=HACTextDisplay
Pt=350,335;650,305;650,305;350,335;350,305;650,305;650,335;350,335
P110,STR={
=
}
P114,ENU=0
V100,19
HacEnd
Hac
ID=36
Type=HCCGroup
Pt=350,335;650,275;650,275;350,335
P0x1000,CTL=33
P0x1001,CTL=34
P0x1002,CTL=35
HacEnd
Hac
ID=37
Type=HACRect
Pt=350,410;650,350;650,350;350,410;350,350;650,350;650,410;350,410
HacEnd
Hac
ID=38
Type=HACTextDisplay
Pt=350,380;650,350;650,350;350,380;350,350;650,350;650,380;350,380
P110,STR={
=__SYSVA_TCYCURRENT
}
HacEnd
Hac
ID=39
Type=HACTextDisplay
Pt=350,410;650,380;650,380;350,410;350,380;650,380;650,410;350,410
P110,STR={
=
}
P114,ENU=0
V100,20
HacEnd
Hac
ID=40
Type=HCCGroup
Pt=350,410;650,350;650,350;350,410
P0x1000,CTL=37
P0x1001,CTL=38
P0x1002,CTL=39
HacEnd
Hac
ID=41
Type=HACRect
Pt=350,485;650,425;650,425;350,485;350,425;650,425;650,485;350,485
HacEnd
Hac
ID=42
Type=HACTextDisplay
Pt=350,455;650,425;650,425;350,455;350,425;650,425;650,455;350,455
P110,STR={
=__SYSVA_TCYCYCTIME
}
HacEnd
Hac
ID=43
Type=HACTextDisplay
Pt=350,485;650,455;650,455;350,485;350,455;650,455;650,485;350,485
P110,STR={
=
}
P114,ENU=0
V100,21
HacEnd
Hac
ID=44
Type=HCCGroup
Pt=350,485;650,425;650,425;350,485
P0x1000,CTL=41
P0x1001,CTL=42
P0x1002,CTL=43
HacEnd
Hac
ID=45
Type=HACRect
Pt=675,185;975,125;975,125;675,185;675,125;975,125;975,185;675,185
HacEnd
Hac
ID=46
Type=HACTextDisplay
Pt=675,155;975,125;975,125;675,155;675,125;975,125;975,155;675,155
P110,STR={
=__SYSVA_TCYMAXIMUM
}
HacEnd
Hac
ID=47
Type=HACTextDisplay
Pt=675,185;975,155;975,155;675,185;675,155;975,155;975,185;675,185
P110,STR={
=
}
P114,ENU=0
V100,22
HacEnd
Hac
ID=48
Type=HCCGroup
Pt=675,185;975,125;975,125;675,185
P0x1000,CTL=45
P0x1001,CTL=46
P0x1002,CTL=47
HacEnd
Hac
ID=49
Type=HACRect
Pt=675,260;975,200;975,200;675,260;675,200;975,200;975,260;675,260
HacEnd
Hac
ID=50
Type=HACTextDisplay
Pt=675,230;975,200;975,200;675,230;675,200;975,200;975,230;675,230
P110,STR={
=__SYSVA_TCYOVERFLOW
}
HacEnd
Hac
ID=51
Type=HACTextDisplay
Pt=675,260;975,230;975,230;675,260;675,230;975,230;975,260;675,260
P110,STR={
=
}
P114,ENU=0
V100,23
HacEnd
Hac
ID=52
Type=HCCGroup
Pt=675,260;975,200;975,200;675,260
P0x1000,CTL=49
P0x1001,CTL=50
P0x1002,CTL=51
HacEnd
Hac
ID=53
Type=HACRect
Pt=675,335;975,275;975,275;675,335;675,275;975,275;975,335;675,335
HacEnd
Hac
ID=54
Type=HACTextDisplay
Pt=675,305;975,275;975,275;675,305;675,275;975,275;975,305;675,305
P110,STR={
=__SYSVA_WNGARG
}
HacEnd
Hac
ID=55
Type=HACTextDisplay
Pt=675,335;975,305;975,305;675,335;675,305;975,305;975,335;675,335
P110,STR={
=
}
P114,ENU=0
V100,24
HacEnd
Hac
ID=56
Type=HCCGroup
Pt=675,335;975,275;975,275;675,335
P0x1000,CTL=53
P0x1001,CTL=54
P0x1002,CTL=55
HacEnd
Hac
ID=57
Type=HACRect
Pt=675,410;975,350;975,350;675,410;675,350;975,350;975,410;675,410
HacEnd
Hac
ID=58
Type=HACTextDisplay
Pt=675,380;975,350;975,350;675,380;675,350;975,350;975,380;675,380
P110,STR={
=__SYSVA_WNGCMD
}
HacEnd
Hac
ID=59
Type=HACTextDisplay
Pt=675,410;975,380;975,380;675,410;675,380;975,380;975,410;675,410
P110,STR={
=
}
P114,ENU=0
V100,25
HacEnd
Hac
ID=60
Type=HCCGroup
Pt=675,410;975,350;975,350;675,410
P0x1000,CTL=57
P0x1001,CTL=58
P0x1002,CTL=59
HacEnd
Hac
ID=61
Type=HACRect
Pt=675,485;975,425;975,425;675,485;675,425;975,425;975,485;675,485
HacEnd
Hac
ID=62
Type=HACTextDisplay
Pt=675,455;975,425;975,425;675,455;675,425;975,425;975,455;675,455
P110,STR={
=__SYSVA_WNGCMPTNM
}
HacEnd
Hac
ID=63
Type=HACTextDisplay
Pt=675,485;975,455;975,455;675,485;675,455;975,455;975,485;675,485
P110,STR={
=
}
P114,ENU=0
V100,26
HacEnd
Hac
ID=64
Type=HCCGroup
Pt=675,485;975,425;975,425;675,485
P0x1000,CTL=61
P0x1001,CTL=62
P0x1002,CTL=63
HacEnd
Hac
ID=65
Type=HACRect
Pt=675,560;975,500;975,500;675,560;675,500;975,500;975,560;675,560
HacEnd
Hac
ID=66
Type=HACTextDisplay
Pt=675,530;975,500;975,500;675,530;675,500;975,500;975,530;675,530
P110,STR={
=__SYSVA_WNGCMPNUM
}
HacEnd
Hac
ID=67
Type=HACTextDisplay
Pt=675,560;975,530;975,530;675,560;675,530;975,530;975,560;675,560
P110,STR={
=
}
P114,ENU=0
V100,27
HacEnd
Hac
ID=68
Type=HCCGroup
Pt=675,560;975,500;975,500;675,560
P0x1000,CTL=65
P0x1001,CTL=66
P0x1002,CTL=67
HacEnd
PageEnd
ContainerEnd

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,2 @@
<modbusServer Version="2.0">
</modbusServer>

View File

@@ -0,0 +1 @@
TO RELINK

View File

@@ -0,0 +1 @@
COMPILED

View File

@@ -0,0 +1 @@
COMPILED

View File

@@ -0,0 +1 @@
COMPILED

View File

@@ -0,0 +1 @@
COMPILED

View File

@@ -0,0 +1 @@
COMPILED

View File

@@ -0,0 +1 @@
COMPILED

View File

@@ -0,0 +1,10 @@
FLOWMETERMB
WATCHDOG
SOLARPANELMB
PRESSUREANALOG
WORDSTOREAL
FLOWRATEUNITS
FLOWTOTALUNITS
WORDTOFLOAT16
REVERSEUINT
LINEARSCALE

View File

@@ -0,0 +1,64 @@
MODBUSTIMER.IN@FLOWMETERMB,__TMPB__TON__IN,BOOL
MODBUSTIMER.PT@FLOWMETERMB,MODBUSSCANRATE,TIME
WAIT_TO_RESET_TON.IN@FLOWMETERMB,CMD_CLEARRESETTOTALIZER@FLOWMETERMB,BOOL
WAIT_TO_RESET_TON.PT@FLOWMETERMB,PAR_TIMETOWAITTOCLEARRESETTOTALIZER@FLOWMETERMB,TIME
MODBUSERRORTIMER.IN@FLOWMETERMB,__TMPB__TON__IN,BOOL
MODBUSERRORTIMER.PT@FLOWMETERMB,MODBUSERRORDURATION,TIME
MODBUSTIMER.IN@SOLARPANELMB,__TMPB__TON__IN,BOOL
MODBUSTIMER.PT@SOLARPANELMB,MODBUSSCANRATE,TIME
MODBUSERRORTIMER.IN@SOLARPANELMB,__TMPB__TON__IN,BOOL
MODBUSERRORTIMER.PT@SOLARPANELMB,MODBUSERRORDURATION,TIME
MBS_FLOWRATE_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
MBS_FLOWRATE_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
MBS_FLOWRATE_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
MBS_FLOWRATE_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
MBS_FLOWRATE_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
MBS_FLOWRATE_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
MBS_FLOWTOTALIZERA_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
MBS_FLOWTOTALIZERA_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
MBS_FLOWTOTALIZERA_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
MBS_FLOWTOTALIZERA_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
MBS_FLOWTOTALIZERA_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
MBS_FLOWTOTALIZERA_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
MBS_FLOWTOTALIZERB_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
MBS_FLOWTOTALIZERB_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
MBS_FLOWTOTALIZERB_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
MBS_FLOWTOTALIZERB_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
MBS_FLOWTOTALIZERB_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
MBS_FLOWTOTALIZERB_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
MBS_FLOWTOTALIZERC_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
MBS_FLOWTOTALIZERC_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
MBS_FLOWTOTALIZERC_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
MBS_FLOWTOTALIZERC_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
MBS_FLOWTOTALIZERC_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
MBS_FLOWTOTALIZERC_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
MBS_STATUS_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
MBS_STATUS_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
MBS_STATUS_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
MBS_STATUS_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
MBS_STATUS_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
MBS_STATUS_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
MBS_RESETTOTALIZER_MSG.IN@FLOWMETERMB,CMD_RESETTOTALIZER@FLOWMETERMB,BOOL
MBS_RESETTOTALIZER_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
MBS_RESETTOTALIZER_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
MBS_RESETTOTALIZER_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
MBS_RESETTOTALIZER_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
MBS_RESETTOTALIZER_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
MBS_CLEARRESETTOTALIZER_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
MBS_CLEARRESETTOTALIZER_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
MBS_CLEARRESETTOTALIZER_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
MBS_CLEARRESETTOTALIZER_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
MBS_CLEARRESETTOTALIZER_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
MBS_CLEARRESETTOTALIZER_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
MBS_UNITS_MSG.IN@FLOWMETERMB,__TMPB__MSG_MODBUS__IN,BOOL
MBS_UNITS_MSG.CANCEL@FLOWMETERMB,MBS_CANCEL@FLOWMETERMB,BOOL
MBS_UNITS_MSG.LOCALCFG@FLOWMETERMB,<NOT USED>,MODBUSLOCPARA
MBS_UNITS_MSG.TARGETCFG@FLOWMETERMB,<NOT USED>,MODBUSTARPARA
MBS_UNITS_MSG.LOCALADDR@FLOWMETERMB,<NOT USED>,MODBUSLOCADDR
MBS_UNITS_MSG.__ADI_LOCALADDR@FLOWMETERMB,<NOT USED>,UINT
MBS_SOLARPANEL_MSG.IN@SOLARPANELMB,__TMPB__MSG_MODBUS__IN,BOOL
MBS_SOLARPANEL_MSG.CANCEL@SOLARPANELMB,MBS_CANCEL@SOLARPANELMB,BOOL
MBS_SOLARPANEL_MSG.LOCALCFG@SOLARPANELMB,<NOT USED>,MODBUSLOCPARA
MBS_SOLARPANEL_MSG.TARGETCFG@SOLARPANELMB,<NOT USED>,MODBUSTARPARA
MBS_SOLARPANEL_MSG.LOCALADDR@SOLARPANELMB,<NOT USED>,MODBUSLOCADDR
MBS_SOLARPANEL_MSG.__ADI_LOCALADDR@SOLARPANELMB,<NOT USED>,UINT

View File

@@ -0,0 +1 @@
FLOWMETERMB(147):F,WORDSTOREAL(148);F,RIGHT();F,MLEN();F,FLOWRATEUNITS(150);F,FLOWTOTALUNITS(151);

View File

@@ -0,0 +1,777 @@
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
__TMPB1 := _NOT __TMPB1
__TMPB__TON__IN := __TMPB1
__FBL_RET := _PUSHCALLFB TON MODBUSTIMER
MBS_FLOWRATE_TARGETCFG [ __DINT_NULL ] := CFG_FLOWRATE_REGISTER
MBS_FLOWRATE_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
MBS_FLOWRATE_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
MBS_FLOWRATE_LOCALCFG [ __CDINT00000003 ] := READ_CMD
MBS_FLOWRATE_LOCALCFG [ __CDINT00000002 ] := MBS_TRIGGERTYPE
MBS_FLOWRATE_LOCALCFG [ __CDINT00000004 ] := __CUINT00000002
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
__TMPV1 := MBS_FLOWRATE_LOCALCFG [ __DINT_NULL ]
__TMPV2 := MBS_FLOWRATE_TARGETCFG [ __DINT_NULL ]
__TMPV3 := MBS_FLOWRATE_DATA [ __DINT_NULL ]
__TMPB__MSG_MODBUS__IN := __TMPB1
__TMPV4 := MBS_FLOWRATE_MSG [ __CDINT00000004 ]
__TMPV4 := __TMPV1
__TMPV5 := MBS_FLOWRATE_MSG [ __CDINT00000006 ]
__TMPV5 := __TMPV2
__TMPV6 := MBS_FLOWRATE_MSG [ __CDINT00000008 ]
__TMPV6 := __TMPV3
MBS_FLOWRATE_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_0
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_FLOWRATE_MSG
__TMPB1 := MBS_FLOWRATE_MSG [ __CDINT0000000C ]
_IF _NOT __TMPB1 _GOTO __LAB1
__TMPI1 := __CDINT00000001 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_FLOWRATE_DATA [ __TMPI1 ]
__TMPI2 := __CDINT00000002 - __CDINT00000001
__TMPI2 := __TMPI2 * __CDINT00000002
__TMPUIN2 := MBS_FLOWRATE_DATA [ __TMPI2 ]
_PUSH_PAR __TMPUIN1
_PUSH_PAR __TMPUIN2
__TMPR1 := _CALL WORDSTOREAL
VAL_FLOWRATE := __TMPR1
_GOTO __LAB2
__LAB1 :
__LAB2 :
MBS_FLOWTOTALIZERA_TARGETCFG [ __DINT_NULL ] := CFG_FLOWTOTALIZERA_REGISTER
MBS_FLOWTOTALIZERA_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
MBS_FLOWTOTALIZERA_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
MBS_FLOWTOTALIZERA_LOCALCFG [ __CDINT00000003 ] := READ_CMD
MBS_FLOWTOTALIZERA_LOCALCFG [ __CDINT00000002 ] := MBS_TRIGGERTYPE
MBS_FLOWTOTALIZERA_LOCALCFG [ __CDINT00000004 ] := __CUINT00000002
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
__TMPV1 := MBS_FLOWTOTALIZERA_LOCALCFG [ __DINT_NULL ]
__TMPV2 := MBS_FLOWTOTALIZERA_TARGETCFG [ __DINT_NULL ]
__TMPV3 := MBS_FLOWTOTALIZERA_DATA [ __DINT_NULL ]
__TMPB__MSG_MODBUS__IN := __TMPB1
__TMPV4 := MBS_FLOWTOTALIZERA_MSG [ __CDINT00000004 ]
__TMPV4 := __TMPV1
__TMPV5 := MBS_FLOWTOTALIZERA_MSG [ __CDINT00000006 ]
__TMPV5 := __TMPV2
__TMPV6 := MBS_FLOWTOTALIZERA_MSG [ __CDINT00000008 ]
__TMPV6 := __TMPV3
MBS_FLOWTOTALIZERA_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_1
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_FLOWTOTALIZERA_MSG
__TMPB1 := MBS_FLOWTOTALIZERA_MSG [ __CDINT0000000C ]
_IF _NOT __TMPB1 _GOTO __LAB3
__TMPI1 := __CDINT00000001 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_FLOWTOTALIZERA_DATA [ __TMPI1 ]
__TMPI2 := __CDINT00000002 - __CDINT00000001
__TMPI2 := __TMPI2 * __CDINT00000002
__TMPUIN2 := MBS_FLOWTOTALIZERA_DATA [ __TMPI2 ]
_PUSH_PAR __TMPUIN1
_PUSH_PAR __TMPUIN2
__TMPR1 := _CALL WORDSTOREAL
VAL_FLOWTOTALIZERA := __TMPR1
_GOTO __LAB4
__LAB3 :
__LAB4 :
MBS_FLOWTOTALIZERB_TARGETCFG [ __DINT_NULL ] := CFG_FLOWTOTALIZERB_REGISTER
MBS_FLOWTOTALIZERB_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
MBS_FLOWTOTALIZERB_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
MBS_FLOWTOTALIZERB_LOCALCFG [ __CDINT00000003 ] := READ_CMD
MBS_FLOWTOTALIZERB_LOCALCFG [ __CDINT00000002 ] := MBS_TRIGGERTYPE
MBS_FLOWTOTALIZERB_LOCALCFG [ __CDINT00000004 ] := __CUINT00000002
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
__TMPV1 := MBS_FLOWTOTALIZERB_LOCALCFG [ __DINT_NULL ]
__TMPV2 := MBS_FLOWTOTALIZERB_TARGETCFG [ __DINT_NULL ]
__TMPV3 := MBS_FLOWTOTALIZERB_DATA [ __DINT_NULL ]
__TMPB__MSG_MODBUS__IN := __TMPB1
__TMPV4 := MBS_FLOWTOTALIZERB_MSG [ __CDINT00000004 ]
__TMPV4 := __TMPV1
__TMPV5 := MBS_FLOWTOTALIZERB_MSG [ __CDINT00000006 ]
__TMPV5 := __TMPV2
__TMPV6 := MBS_FLOWTOTALIZERB_MSG [ __CDINT00000008 ]
__TMPV6 := __TMPV3
MBS_FLOWTOTALIZERB_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_2
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_FLOWTOTALIZERB_MSG
__TMPB1 := MBS_FLOWTOTALIZERB_MSG [ __CDINT0000000C ]
_IF _NOT __TMPB1 _GOTO __LAB5
__TMPI1 := __CDINT00000001 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_FLOWTOTALIZERB_DATA [ __TMPI1 ]
__TMPI2 := __CDINT00000002 - __CDINT00000001
__TMPI2 := __TMPI2 * __CDINT00000002
__TMPUIN2 := MBS_FLOWTOTALIZERB_DATA [ __TMPI2 ]
_PUSH_PAR __TMPUIN1
_PUSH_PAR __TMPUIN2
__TMPR1 := _CALL WORDSTOREAL
VAL_FLOWTOTALIZERB := __TMPR1
_GOTO __LAB6
__LAB5 :
__LAB6 :
MBS_FLOWTOTALIZERC_TARGETCFG [ __DINT_NULL ] := CFG_FLOWTOTALIZERC_REGISTER
MBS_FLOWTOTALIZERC_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
MBS_FLOWTOTALIZERC_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
MBS_FLOWTOTALIZERC_LOCALCFG [ __CDINT00000003 ] := READ_CMD
MBS_FLOWTOTALIZERC_LOCALCFG [ __CDINT00000002 ] := MBS_TRIGGERTYPE
MBS_FLOWTOTALIZERC_LOCALCFG [ __CDINT00000004 ] := __CUINT00000002
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
__TMPV1 := MBS_FLOWTOTALIZERC_LOCALCFG [ __DINT_NULL ]
__TMPV2 := MBS_FLOWTOTALIZERC_TARGETCFG [ __DINT_NULL ]
__TMPV3 := MBS_FLOWTOTALIZERC_DATA [ __DINT_NULL ]
__TMPB__MSG_MODBUS__IN := __TMPB1
__TMPV4 := MBS_FLOWTOTALIZERC_MSG [ __CDINT00000004 ]
__TMPV4 := __TMPV1
__TMPV5 := MBS_FLOWTOTALIZERC_MSG [ __CDINT00000006 ]
__TMPV5 := __TMPV2
__TMPV6 := MBS_FLOWTOTALIZERC_MSG [ __CDINT00000008 ]
__TMPV6 := __TMPV3
MBS_FLOWTOTALIZERC_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_3
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_FLOWTOTALIZERC_MSG
__TMPB1 := MBS_FLOWTOTALIZERC_MSG [ __CDINT0000000C ]
_IF _NOT __TMPB1 _GOTO __LAB7
__TMPI1 := __CDINT00000001 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_FLOWTOTALIZERC_DATA [ __TMPI1 ]
__TMPI2 := __CDINT00000002 - __CDINT00000001
__TMPI2 := __TMPI2 * __CDINT00000002
__TMPUIN2 := MBS_FLOWTOTALIZERC_DATA [ __TMPI2 ]
_PUSH_PAR __TMPUIN1
_PUSH_PAR __TMPUIN2
__TMPR1 := _CALL WORDSTOREAL
VAL_FLOWTOTALIZERC := __TMPR1
_GOTO __LAB8
__LAB7 :
__LAB8 :
MBS_STATUS_TARGETCFG [ __DINT_NULL ] := CFG_STATUS_REGISTER
MBS_STATUS_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
MBS_STATUS_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
MBS_STATUS_LOCALCFG [ __CDINT00000003 ] := READ_CMD
MBS_STATUS_LOCALCFG [ __CDINT00000002 ] := MBS_TRIGGERTYPE
MBS_STATUS_LOCALCFG [ __CDINT00000004 ] := __CUINT00000003
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
__TMPV1 := MBS_STATUS_LOCALCFG [ __DINT_NULL ]
__TMPV2 := MBS_STATUS_TARGETCFG [ __DINT_NULL ]
__TMPV3 := MBS_STATUS_DATA [ __DINT_NULL ]
__TMPB__MSG_MODBUS__IN := __TMPB1
__TMPV4 := MBS_STATUS_MSG [ __CDINT00000004 ]
__TMPV4 := __TMPV1
__TMPV5 := MBS_STATUS_MSG [ __CDINT00000006 ]
__TMPV5 := __TMPV2
__TMPV6 := MBS_STATUS_MSG [ __CDINT00000008 ]
__TMPV6 := __TMPV3
MBS_STATUS_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_4
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_STATUS_MSG
__TMPB1 := MBS_STATUS_MSG [ __CDINT0000000C ]
_IF _NOT __TMPB1 _GOTO __LAB9
__TMPI1 := __CDINT00000001 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_STATUS_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPUIN2 := _CALL ANY_TO_UINT
VAL_STATUS0 := __TMPUIN2
__TMPI1 := __CDINT00000002 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_STATUS_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPUIN2 := _CALL ANY_TO_UINT
VAL_STATUS1 := __TMPUIN2
__TMPI1 := __CDINT00000003 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_STATUS_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPUIN2 := _CALL ANY_TO_UINT
VAL_STATUS2 := __TMPUIN2
_GOTO __LABa
__LAB9 :
__LABa :
__TMPUIN1 := VAL_STATUS0 + VAL_STATUS1
__TMPUIN1 := __TMPUIN1 + VAL_STATUS2
__TMPB1 := __TMPUIN1 = __UINT_NULL
_IF _NOT __TMPB1 _GOTO __LABb
VAL_STATUSSTRING := __TMPM1
_GOTO __LABc
__LABb :
VAL_STATUSSTRING := __STRING_NULL
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __DINT_NULL
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LABd
__TMPM3 := VAL_STATUSSTRING + __TMPM2
VAL_STATUSSTRING := __TMPM3
_GOTO __LABe
__LABd :
__LABe :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT00000001
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LABf
__TMPM3 := VAL_STATUSSTRING + __TMPM4
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB10
__LABf :
__LAB10 :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT00000002
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB11
__TMPM3 := VAL_STATUSSTRING + __TMPM5
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB12
__LAB11 :
__LAB12 :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT00000003
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB13
__TMPM3 := VAL_STATUSSTRING + __TMPM6
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB14
__LAB13 :
__LAB14 :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT00000004
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB15
__TMPM3 := VAL_STATUSSTRING + __TMPM7
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB16
__LAB15 :
__LAB16 :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT00000005
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB17
__TMPM3 := VAL_STATUSSTRING + __TMPM8
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB18
__LAB17 :
__LAB18 :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT00000006
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB19
__TMPM3 := VAL_STATUSSTRING + __TMPM9
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB1a
__LAB19 :
__LAB1a :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT00000007
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB1b
__TMPM3 := VAL_STATUSSTRING + __TMPM10
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB1c
__LAB1b :
__LAB1c :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT00000008
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB1d
__TMPM3 := VAL_STATUSSTRING + __TMPM11
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB1e
__LAB1d :
__LAB1e :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT00000009
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB1f
__TMPM3 := VAL_STATUSSTRING + __TMPM12
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB20
__LAB1f :
__LAB20 :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT0000000A
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB21
__TMPM3 := VAL_STATUSSTRING + __TMPM13
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB22
__LAB21 :
__LAB22 :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT0000000B
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB23
__TMPM3 := VAL_STATUSSTRING + __TMPM14
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB24
__LAB23 :
__LAB24 :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT0000000C
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB25
__TMPM3 := VAL_STATUSSTRING + __TMPM15
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB26
__LAB25 :
__LAB26 :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT0000000D
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB27
__TMPM3 := VAL_STATUSSTRING + __TMPM16
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB28
__LAB27 :
__LAB28 :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT0000000E
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB29
__TMPM3 := VAL_STATUSSTRING + __TMPM17
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB2a
__LAB29 :
__LAB2a :
_PUSH_PAR VAL_STATUS0
_PUSH_PAR __CDINT0000000F
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB2b
__TMPM3 := VAL_STATUSSTRING + __TMPM18
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB2c
__LAB2b :
__LAB2c :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __DINT_NULL
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB2d
__TMPM3 := VAL_STATUSSTRING + __TMPM19
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB2e
__LAB2d :
__LAB2e :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT00000001
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB2f
__TMPM3 := VAL_STATUSSTRING + __TMPM20
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB30
__LAB2f :
__LAB30 :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT00000002
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB31
__TMPM3 := VAL_STATUSSTRING + __TMPM21
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB32
__LAB31 :
__LAB32 :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT00000003
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB33
__TMPM3 := VAL_STATUSSTRING + __TMPM22
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB34
__LAB33 :
__LAB34 :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT00000004
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB35
__TMPM3 := VAL_STATUSSTRING + __TMPM23
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB36
__LAB35 :
__LAB36 :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT00000005
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB37
__TMPM3 := VAL_STATUSSTRING + __TMPM24
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB38
__LAB37 :
__LAB38 :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT00000006
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB39
__TMPM3 := VAL_STATUSSTRING + __TMPM25
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB3a
__LAB39 :
__LAB3a :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT00000007
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB3b
__TMPM3 := VAL_STATUSSTRING + __TMPM26
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB3c
__LAB3b :
__LAB3c :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT00000008
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB3d
__TMPM3 := VAL_STATUSSTRING + __TMPM27
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB3e
__LAB3d :
__LAB3e :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT00000009
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB3f
__TMPM3 := VAL_STATUSSTRING + __TMPM28
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB40
__LAB3f :
__LAB40 :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT0000000A
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB41
__TMPM3 := VAL_STATUSSTRING + __TMPM29
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB42
__LAB41 :
__LAB42 :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT0000000B
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB43
__TMPM3 := VAL_STATUSSTRING + __TMPM30
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB44
__LAB43 :
__LAB44 :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT0000000C
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB45
__TMPM3 := VAL_STATUSSTRING + __TMPM31
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB46
__LAB45 :
__LAB46 :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT0000000D
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB47
__TMPM3 := VAL_STATUSSTRING + __TMPM32
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB48
__LAB47 :
__LAB48 :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT0000000E
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB49
__TMPM3 := VAL_STATUSSTRING + __TMPM33
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB4a
__LAB49 :
__LAB4a :
_PUSH_PAR VAL_STATUS1
_PUSH_PAR __CDINT0000000F
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB4b
__TMPM3 := VAL_STATUSSTRING + __TMPM34
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB4c
__LAB4b :
__LAB4c :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __DINT_NULL
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB4d
__TMPM3 := VAL_STATUSSTRING + __TMPM35
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB4e
__LAB4d :
__LAB4e :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT00000001
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB4f
__TMPM3 := VAL_STATUSSTRING + __TMPM36
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB50
__LAB4f :
__LAB50 :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT00000002
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB51
__TMPM3 := VAL_STATUSSTRING + __TMPM37
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB52
__LAB51 :
__LAB52 :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT00000003
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB53
__TMPM3 := VAL_STATUSSTRING + __TMPM38
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB54
__LAB53 :
__LAB54 :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT00000004
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB55
__TMPM3 := VAL_STATUSSTRING + __TMPM39
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB56
__LAB55 :
__LAB56 :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT00000005
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB57
__TMPM3 := VAL_STATUSSTRING + __TMPM40
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB58
__LAB57 :
__LAB58 :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT00000006
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB59
__TMPM3 := VAL_STATUSSTRING + __TMPM41
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB5a
__LAB59 :
__LAB5a :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT00000007
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB5b
__TMPM3 := VAL_STATUSSTRING + __TMPM42
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB5c
__LAB5b :
__LAB5c :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT00000008
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB5d
__TMPM3 := VAL_STATUSSTRING + __TMPM43
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB5e
__LAB5d :
__LAB5e :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT00000009
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB5f
__TMPM3 := VAL_STATUSSTRING + __TMPM44
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB60
__LAB5f :
__LAB60 :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT0000000A
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB61
__TMPM3 := VAL_STATUSSTRING + __TMPM45
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB62
__LAB61 :
__LAB62 :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT0000000B
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB63
__TMPM3 := VAL_STATUSSTRING + __TMPM46
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB64
__LAB63 :
__LAB64 :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT0000000C
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB65
__TMPM3 := VAL_STATUSSTRING + __TMPM47
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB66
__LAB65 :
__LAB66 :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT0000000D
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB67
__TMPM3 := VAL_STATUSSTRING + __TMPM48
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB68
__LAB67 :
__LAB68 :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT0000000E
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB69
__TMPM3 := VAL_STATUSSTRING + __TMPM49
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB6a
__LAB69 :
__LAB6a :
_PUSH_PAR VAL_STATUS2
_PUSH_PAR __CDINT0000000F
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB6b
__TMPM3 := VAL_STATUSSTRING + __TMPM50
VAL_STATUSSTRING := __TMPM3
_GOTO __LAB6c
__LAB6b :
__LAB6c :
_PUSH_PAR VAL_STATUSSTRING
__TMPI1 := _CALL MLEN
__TMPI1 := __TMPI1 - __CDINT00000002
_PUSH_PAR VAL_STATUSSTRING
_PUSH_PAR __TMPI1
__TMPM3 := _CALL RIGHT
VAL_STATUSSTRING := __TMPM3
__LABc :
__TMPB1 := CMD_RESETTOTALIZERA _OR CMD_RESETTOTALIZERB
__TMPB1 := __TMPB1 _OR CMD_RESETTOTALIZERC
CMD_RESETTOTALIZER := __TMPB1
_IF _NOT CMD_RESETTOTALIZERA _GOTO __LAB6d
MBS_RESETTOTALIZER_TARGETCFG [ __DINT_NULL ] := CFG_RESETTOTALIZERA_COIL
_GOTO __LAB6e
__LAB6d :
_IF _NOT CMD_RESETTOTALIZERB _GOTO __LAB6f
MBS_RESETTOTALIZER_TARGETCFG [ __DINT_NULL ] := CFG_RESETTOTALIZERA_COIL
_GOTO __LAB6e
__LAB6f :
_IF _NOT CMD_RESETTOTALIZERC _GOTO __LAB70
MBS_RESETTOTALIZER_TARGETCFG [ __DINT_NULL ] := CFG_RESETTOTALIZERC_COIL
_GOTO __LAB6e
__LAB70 :
__LAB6e :
MBS_RESETTOTALIZER_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
MBS_RESETTOTALIZER_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
MBS_RESETTOTALIZER_LOCALCFG [ __CDINT00000003 ] := WRITECOIL_CMD
MBS_RESETTOTALIZER_LOCALCFG [ __CDINT00000002 ] := __USINT_NULL
MBS_RESETTOTALIZER_LOCALCFG [ __CDINT00000004 ] := __CUINT00000001
__TMPI1 := __CDINT00000001 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
MBS_RESETTOTALIZER_DATA [ __TMPI1 ] := __CUINT00000001
__TMPV1 := MBS_RESETTOTALIZER_LOCALCFG [ __DINT_NULL ]
__TMPV2 := MBS_RESETTOTALIZER_TARGETCFG [ __DINT_NULL ]
__TMPV3 := MBS_RESETTOTALIZER_DATA [ __DINT_NULL ]
__TMPV4 := MBS_RESETTOTALIZER_MSG [ __CDINT00000004 ]
__TMPV4 := __TMPV1
__TMPV5 := MBS_RESETTOTALIZER_MSG [ __CDINT00000006 ]
__TMPV5 := __TMPV2
__TMPV6 := MBS_RESETTOTALIZER_MSG [ __CDINT00000008 ]
__TMPV6 := __TMPV3
MBS_RESETTOTALIZER_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_5
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_RESETTOTALIZER_MSG
__TMPB1 := MBS_RESETTOTALIZER_MSG [ __CDINT0000000C ]
__TMPB2 := MBS_RESETTOTALIZER_MSG [ __CDINT0000000D ]
__TMPB1 := __TMPB1 _OR __TMPB2
_IF _NOT __TMPB1 _GOTO __LAB71
CMD_CLEARRESETTOTALIZER := TRUE
CMD_RESETTOTALIZERA := FALSE
CMD_RESETTOTALIZERB := FALSE
CMD_RESETTOTALIZERC := FALSE
_GOTO __LAB72
__LAB71 :
__LAB72 :
__FBL_RET := _PUSHCALLFB TON WAIT_TO_RESET_TON
__TMPUDI1 := MBS_RESETTOTALIZER_TARGETCFG [ __DINT_NULL ]
MBS_CLEARRESETTOTALIZER_TARGETCFG [ __DINT_NULL ] := __TMPUDI1
__TMPUSI1 := MBS_RESETTOTALIZER_TARGETCFG [ __CDINT00000004 ]
MBS_CLEARRESETTOTALIZER_TARGETCFG [ __CDINT00000004 ] := __TMPUSI1
__TMPUIN1 := MBS_RESETTOTALIZER_LOCALCFG [ __DINT_NULL ]
MBS_CLEARRESETTOTALIZER_LOCALCFG [ __DINT_NULL ] := __TMPUIN1
__TMPUSI1 := MBS_RESETTOTALIZER_LOCALCFG [ __CDINT00000003 ]
MBS_CLEARRESETTOTALIZER_LOCALCFG [ __CDINT00000003 ] := __TMPUSI1
__TMPUSI1 := MBS_RESETTOTALIZER_LOCALCFG [ __CDINT00000002 ]
MBS_CLEARRESETTOTALIZER_LOCALCFG [ __CDINT00000002 ] := __TMPUSI1
__TMPUIN1 := MBS_RESETTOTALIZER_LOCALCFG [ __CDINT00000004 ]
MBS_CLEARRESETTOTALIZER_LOCALCFG [ __CDINT00000004 ] := __TMPUIN1
__TMPI1 := __CDINT00000001 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
MBS_CLEARRESETTOTALIZER_DATA [ __TMPI1 ] := __UINT_NULL
__TMPB1 := WAIT_TO_RESET_TON [ __CDINT00000004 ]
__TMPV1 := MBS_CLEARRESETTOTALIZER_LOCALCFG [ __DINT_NULL ]
__TMPV2 := MBS_CLEARRESETTOTALIZER_TARGETCFG [ __DINT_NULL ]
__TMPV3 := MBS_CLEARRESETTOTALIZER_DATA [ __DINT_NULL ]
__TMPB__MSG_MODBUS__IN := __TMPB1
__TMPV4 := MBS_CLEARRESETTOTALIZER_MSG [ __CDINT00000004 ]
__TMPV4 := __TMPV1
__TMPV5 := MBS_CLEARRESETTOTALIZER_MSG [ __CDINT00000006 ]
__TMPV5 := __TMPV2
__TMPV6 := MBS_CLEARRESETTOTALIZER_MSG [ __CDINT00000008 ]
__TMPV6 := __TMPV3
MBS_CLEARRESETTOTALIZER_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_6
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_CLEARRESETTOTALIZER_MSG
__TMPB1 := MBS_CLEARRESETTOTALIZER_MSG [ __CDINT0000000C ]
__TMPB2 := MBS_CLEARRESETTOTALIZER_MSG [ __CDINT0000000D ]
__TMPB1 := __TMPB1 _OR __TMPB2
_IF _NOT __TMPB1 _GOTO __LAB73
CMD_CLEARRESETTOTALIZER := FALSE
_GOTO __LAB74
__LAB73 :
__LAB74 :
MBS_UNITS_TARGETCFG [ __DINT_NULL ] := CFG_UNITS_REGISTER
MBS_UNITS_TARGETCFG [ __CDINT00000004 ] := CFG_FLOWMETER_MODBUSNODE
MBS_UNITS_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
MBS_UNITS_LOCALCFG [ __CDINT00000003 ] := READ_CMD
MBS_UNITS_LOCALCFG [ __CDINT00000002 ] := MBS_TRIGGERTYPE
MBS_UNITS_LOCALCFG [ __CDINT00000004 ] := __CUINT00000004
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
__TMPV1 := MBS_UNITS_LOCALCFG [ __DINT_NULL ]
__TMPV2 := MBS_UNITS_TARGETCFG [ __DINT_NULL ]
__TMPV3 := MBS_UNITS_DATA [ __DINT_NULL ]
__TMPB__MSG_MODBUS__IN := __TMPB1
__TMPV4 := MBS_UNITS_MSG [ __CDINT00000004 ]
__TMPV4 := __TMPV1
__TMPV5 := MBS_UNITS_MSG [ __CDINT00000006 ]
__TMPV5 := __TMPV2
__TMPV6 := MBS_UNITS_MSG [ __CDINT00000008 ]
__TMPV6 := __TMPV3
MBS_UNITS_MSG [ __CDINT0000000A ] := __ADI__FLOWMETERMB_0_7
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_UNITS_MSG
__TMPB1 := MBS_UNITS_MSG [ __CDINT0000000C ]
_IF _NOT __TMPB1 _GOTO __LAB75
__TMPI1 := __CDINT00000001 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_UNITS_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPM3 := _CALL FLOWRATEUNITS
VAL_FLOWUNITS := __TMPM3
__TMPI1 := __CDINT00000002 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_UNITS_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPM3 := _CALL FLOWTOTALUNITS
VAL_FLOWTOTALIZERAUNITS := __TMPM3
__TMPI1 := __CDINT00000003 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_UNITS_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPM3 := _CALL FLOWTOTALUNITS
VAL_FLOWTOTALIZERBUNITS := __TMPM3
__TMPI1 := __CDINT00000004 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_UNITS_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPM3 := _CALL FLOWTOTALUNITS
VAL_FLOWTOTALIZERCUNITS := __TMPM3
_GOTO __LAB76
__LAB75 :
__LAB76 :
__TMPB1 := MBS_FLOWRATE_MSG [ __CDINT0000000D ]
__TMPB2 := MBS_FLOWTOTALIZERA_MSG [ __CDINT0000000D ]
__TMPB1 := __TMPB1 _OR __TMPB2
__TMPB3 := MBS_FLOWTOTALIZERB_MSG [ __CDINT0000000D ]
__TMPB1 := __TMPB1 _OR __TMPB3
__TMPB4 := MBS_FLOWTOTALIZERC_MSG [ __CDINT0000000D ]
__TMPB1 := __TMPB1 _OR __TMPB4
__TMPB5 := MBS_STATUS_MSG [ __CDINT0000000D ]
__TMPB1 := __TMPB1 _OR __TMPB5
__TMPB6 := MBS_UNITS_MSG [ __CDINT0000000D ]
__TMPB1 := __TMPB1 _OR __TMPB6
__TMPB1 := _NOT __TMPB1
__TMPB__TON__IN := __TMPB1
__FBL_RET := _PUSHCALLFB TON MODBUSERRORTIMER
__TMPB1 := MODBUSERRORTIMER [ __CDINT00000004 ]
STS_FLOWMETERMODBUSOK := __TMPB1

View File

@@ -0,0 +1,147 @@
__TMPB1 := INTEGERVALUE = __CUINT000000F1
_IF _NOT __TMPB1 _GOTO __LAB1
FLOWRATEUNITS := __TMPM1
_GOTO __LAB2
__LAB1 :
__TMPB1 := INTEGERVALUE = __CUINT000000F2
_IF _NOT __TMPB1 _GOTO __LAB3
FLOWRATEUNITS := __TMPM2
_GOTO __LAB2
__LAB3 :
__TMPB1 := INTEGERVALUE = __CUINT000000F3
_IF _NOT __TMPB1 _GOTO __LAB4
FLOWRATEUNITS := __TMPM3
_GOTO __LAB2
__LAB4 :
__TMPB1 := INTEGERVALUE = __CUINT000000F4
_IF _NOT __TMPB1 _GOTO __LAB5
FLOWRATEUNITS := __TMPM4
_GOTO __LAB2
__LAB5 :
__TMPB1 := INTEGERVALUE = __CUINT00000084
_IF _NOT __TMPB1 _GOTO __LAB6
FLOWRATEUNITS := __TMPM5
_GOTO __LAB2
__LAB6 :
__TMPB1 := INTEGERVALUE = __CUINT00000085
_IF _NOT __TMPB1 _GOTO __LAB7
FLOWRATEUNITS := __TMPM6
_GOTO __LAB2
__LAB7 :
__TMPB1 := INTEGERVALUE = __CUINT00000086
_IF _NOT __TMPB1 _GOTO __LAB8
FLOWRATEUNITS := __TMPM7
_GOTO __LAB2
__LAB8 :
__TMPB1 := INTEGERVALUE = __CUINT00000087
_IF _NOT __TMPB1 _GOTO __LAB9
FLOWRATEUNITS := __TMPM8
_GOTO __LAB2
__LAB9 :
__TMPB1 := INTEGERVALUE = __CUINT000000F8
_IF _NOT __TMPB1 _GOTO __LABa
FLOWRATEUNITS := __TMPM9
_GOTO __LAB2
__LABa :
__TMPB1 := INTEGERVALUE = __CUINT0000001A
_IF _NOT __TMPB1 _GOTO __LABb
FLOWRATEUNITS := __TMPM10
_GOTO __LAB2
__LABb :
__TMPB1 := INTEGERVALUE = __CUINT0000000F
_IF _NOT __TMPB1 _GOTO __LABc
FLOWRATEUNITS := __TMPM11
_GOTO __LAB2
__LABc :
__TMPB1 := INTEGERVALUE = __CUINT00000082
_IF _NOT __TMPB1 _GOTO __LABd
FLOWRATEUNITS := __TMPM12
_GOTO __LAB2
__LABd :
__TMPB1 := INTEGERVALUE = __CUINT0000001B
_IF _NOT __TMPB1 _GOTO __LABe
FLOWRATEUNITS := __TMPM13
_GOTO __LAB2
__LABe :
__TMPB1 := INTEGERVALUE = __CUINT0000001C
_IF _NOT __TMPB1 _GOTO __LABf
FLOWRATEUNITS := __TMPM14
_GOTO __LAB2
__LABf :
__TMPB1 := INTEGERVALUE = __CUINT00000083
_IF _NOT __TMPB1 _GOTO __LAB10
FLOWRATEUNITS := __TMPM15
_GOTO __LAB2
__LAB10 :
__TMPB1 := INTEGERVALUE = __CUINT00000013
_IF _NOT __TMPB1 _GOTO __LAB11
FLOWRATEUNITS := __TMPM16
_GOTO __LAB2
__LAB11 :
__TMPB1 := INTEGERVALUE = __CUINT0000001D
_IF _NOT __TMPB1 _GOTO __LAB12
FLOWRATEUNITS := __TMPM17
_GOTO __LAB2
__LAB12 :
__TMPB1 := INTEGERVALUE = __CUINT00000016
_IF _NOT __TMPB1 _GOTO __LAB13
FLOWRATEUNITS := __TMPM18
_GOTO __LAB2
__LAB13 :
__TMPB1 := INTEGERVALUE = __CUINT00000010
_IF _NOT __TMPB1 _GOTO __LAB14
FLOWRATEUNITS := __TMPM19
_GOTO __LAB2
__LAB14 :
__TMPB1 := INTEGERVALUE = __CUINT00000088
_IF _NOT __TMPB1 _GOTO __LAB15
FLOWRATEUNITS := __TMPM20
_GOTO __LAB2
__LAB15 :
__TMPB1 := INTEGERVALUE = __CUINT000000EB
_IF _NOT __TMPB1 _GOTO __LAB16
FLOWRATEUNITS := __TMPM21
_GOTO __LAB2
__LAB16 :
__TMPB1 := INTEGERVALUE = __CUINT00000089
_IF _NOT __TMPB1 _GOTO __LAB17
FLOWRATEUNITS := __TMPM22
_GOTO __LAB2
__LAB17 :
__TMPB1 := INTEGERVALUE = __CUINT00000012
_IF _NOT __TMPB1 _GOTO __LAB18
FLOWRATEUNITS := __TMPM23
_GOTO __LAB2
__LAB18 :
__TMPB1 := INTEGERVALUE = __CUINT0000001E
_IF _NOT __TMPB1 _GOTO __LAB19
FLOWRATEUNITS := __TMPM24
_GOTO __LAB2
__LAB19 :
__TMPB1 := INTEGERVALUE = __CUINT0000001F
_IF _NOT __TMPB1 _GOTO __LAB1a
FLOWRATEUNITS := __TMPM25
_GOTO __LAB2
__LAB1a :
__TMPB1 := INTEGERVALUE = __CUINT00000018
_IF _NOT __TMPB1 _GOTO __LAB1b
FLOWRATEUNITS := __TMPM26
_GOTO __LAB2
__LAB1b :
__TMPB1 := INTEGERVALUE = __CUINT00000011
_IF _NOT __TMPB1 _GOTO __LAB1c
FLOWRATEUNITS := __TMPM27
_GOTO __LAB2
__LAB1c :
__TMPB1 := INTEGERVALUE = __CUINT0000008A
_IF _NOT __TMPB1 _GOTO __LAB1d
FLOWRATEUNITS := __TMPM28
_GOTO __LAB2
__LAB1d :
__TMPB1 := INTEGERVALUE = __CUINT000000F0
_IF _NOT __TMPB1 _GOTO __LAB1e
FLOWRATEUNITS := __TMPM29
_GOTO __LAB2
__LAB1e :
FLOWRATEUNITS := __TMPM30
__LAB2 :

View File

@@ -0,0 +1,42 @@
__TMPB1 := INTEGERINPUT = __CUINT00000028
_IF _NOT __TMPB1 _GOTO __LAB1
FLOWTOTALUNITS := __TMPM1
_GOTO __LAB2
__LAB1 :
__TMPB1 := INTEGERINPUT = __CUINT00000029
_IF _NOT __TMPB1 _GOTO __LAB3
FLOWTOTALUNITS := __TMPM2
_GOTO __LAB2
__LAB3 :
__TMPB1 := INTEGERINPUT = __CUINT0000002A
_IF _NOT __TMPB1 _GOTO __LAB4
FLOWTOTALUNITS := __TMPM3
_GOTO __LAB2
__LAB4 :
__TMPB1 := INTEGERINPUT = __CUINT0000002B
_IF _NOT __TMPB1 _GOTO __LAB5
FLOWTOTALUNITS := __TMPM4
_GOTO __LAB2
__LAB5 :
__TMPB1 := INTEGERINPUT = __CUINT0000002E
_IF _NOT __TMPB1 _GOTO __LAB6
FLOWTOTALUNITS := __TMPM5
_GOTO __LAB2
__LAB6 :
__TMPB1 := INTEGERINPUT = __CUINT00000070
_IF _NOT __TMPB1 _GOTO __LAB7
FLOWTOTALUNITS := __TMPM6
_GOTO __LAB2
__LAB7 :
__TMPB1 := INTEGERINPUT = __CUINT000000F6
_IF _NOT __TMPB1 _GOTO __LAB8
FLOWTOTALUNITS := __TMPM7
_GOTO __LAB2
__LAB8 :
__TMPB1 := INTEGERINPUT = __CUINT000000F7
_IF _NOT __TMPB1 _GOTO __LAB9
FLOWTOTALUNITS := __TMPM8
_GOTO __LAB2
__LAB9 :
FLOWTOTALUNITS := __TMPM9
__LAB2 :

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,316 @@
PROGRAM FlowMeterMb
ModbusTimer(NOT ModbusTimer.Q, ModbusScanRate);
(* ============== *)
(* FLOW RATE *)
(* ============== *)
mbs_FlowRate_TargetCfg.Addr := cfg_FlowRate_Register;
mbs_FlowRate_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
mbs_FlowRate_LocalCfg.Channel := 2;
mbs_FlowRate_LocalCfg.Cmd := READ_CMD;
mbs_FlowRate_LocalCfg.TriggerType := mbs_TriggerType;
mbs_FlowRate_LocalCfg.ElementCnt := 2;
mbs_FlowRate_MSG(ModbusTimer.Q, mbs_Cancel, mbs_FlowRate_LocalCfg, mbs_FlowRate_TargetCfg, mbs_FlowRate_Data);
IF mbs_FlowRate_MSG.Q THEN
val_FlowRate := WordsToReal(mbs_FlowRate_Data[1], mbs_FlowRate_Data[2]);
END_IF;
(* ============== *)
(* FLOW TOTALIZER A *)
(* ============== *)
mbs_FlowTotalizerA_TargetCfg.Addr := cfg_FlowTotalizerA_Register;
mbs_FlowTotalizerA_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
mbs_FlowTotalizerA_LocalCfg.Channel := 2;
mbs_FlowTotalizerA_LocalCfg.Cmd := READ_CMD;
mbs_FlowTotalizerA_LocalCfg.TriggerType := mbs_TriggerType;
mbs_FlowTotalizerA_LocalCfg.ElementCnt := 2;
mbs_FlowTotalizerA_MSG(ModbusTimer.Q, mbs_Cancel, mbs_FlowTotalizerA_LocalCfg, mbs_FlowTotalizerA_TargetCfg, mbs_FlowTotalizerA_Data);
IF mbs_FlowTotalizerA_MSG.Q THEN
val_FlowTotalizerA := WordsToReal(mbs_FlowTotalizerA_Data[1], mbs_FlowTotalizerA_Data[2]);
END_IF;
(* ============== *)
(* FLOW TOTALIZER B *)
(* ============== *)
mbs_FlowTotalizerB_TargetCfg.Addr := cfg_FlowTotalizerB_Register;
mbs_FlowTotalizerB_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
mbs_FlowTotalizerB_LocalCfg.Channel := 2;
mbs_FlowTotalizerB_LocalCfg.Cmd := READ_CMD;
mbs_FlowTotalizerB_LocalCfg.TriggerType := mbs_TriggerType;
mbs_FlowTotalizerB_LocalCfg.ElementCnt := 2;
mbs_FlowTotalizerB_MSG(ModbusTimer.Q, mbs_Cancel, mbs_FlowTotalizerB_LocalCfg, mbs_FlowTotalizerB_TargetCfg, mbs_FlowTotalizerB_Data);
IF mbs_FlowTotalizerB_MSG.Q THEN
val_FlowTotalizerB := WordsToReal(mbs_FlowTotalizerB_Data[1], mbs_FlowTotalizerB_Data[2]);
END_IF;
(* ============== *)
(* FLOW TOTALIZER C *)
(* ============== *)
mbs_FlowTotalizerC_TargetCfg.Addr := cfg_FlowTotalizerC_Register;
mbs_FlowTotalizerC_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
mbs_FlowTotalizerC_LocalCfg.Channel := 2;
mbs_FlowTotalizerC_LocalCfg.Cmd := READ_CMD;
mbs_FlowTotalizerC_LocalCfg.TriggerType := mbs_TriggerType;
mbs_FlowTotalizerC_LocalCfg.ElementCnt := 2;
mbs_FlowTotalizerC_MSG(ModbusTimer.Q, mbs_Cancel, mbs_FlowTotalizerC_LocalCfg, mbs_FlowTotalizerC_TargetCfg, mbs_FlowTotalizerC_Data);
IF mbs_FlowTotalizerC_MSG.Q THEN
val_FlowTotalizerC := WordsToReal(mbs_FlowTotalizerC_Data[1], mbs_FlowTotalizerC_Data[2]);
END_IF;
(* ============== *)
(* STATUS *)
(* ============== *)
mbs_Status_TargetCfg.Addr := cfg_Status_Register;
mbs_Status_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
mbs_Status_LocalCfg.Channel := 2;
mbs_Status_LocalCfg.Cmd := READ_CMD;
mbs_Status_LocalCfg.TriggerType := mbs_TriggerType;
mbs_Status_LocalCfg.ElementCnt := 3;
mbs_Status_MSG(ModbusTimer.Q, mbs_Cancel, mbs_Status_LocalCfg, mbs_Status_TargetCfg, mbs_Status_Data);
IF mbs_Status_MSG.Q THEN
val_Status0 := ANY_TO_UINT(mbs_Status_Data[1]);
val_Status1 := ANY_TO_UINT(mbs_Status_Data[2]);
val_Status2 := ANY_TO_UINT(mbs_Status_Data[3]);
END_IF;
IF (val_Status0 + val_Status1 + val_Status2) = 0 THEN
val_StatusString := 'OK';
ELSE
val_StatusString := '';
IF val_Status0.0 THEN
val_StatusString := val_StatusString + ', Sensor Out of Range';
END_IF;
IF val_Status0.1 THEN
val_StatusString := val_StatusString + ', Empty Pipe';
END_IF;
IF val_Status0.2 THEN
val_StatusString := val_StatusString + ', I/O Processor Failure';
END_IF;
IF val_Status0.3 THEN
val_StatusString := val_StatusString + ', Pulse Output- Out of Range';
END_IF;
IF val_Status0.4 THEN
val_StatusString := val_StatusString + ', Update Missed';
END_IF;
IF val_Status0.5 THEN
val_StatusString := val_StatusString + ', Output at Alarm Level';
END_IF;
IF val_Status0.6 THEN
val_StatusString := val_StatusString + ', Modbus Nonvolatile Memory Error';
END_IF;
IF val_Status0.7 THEN
val_StatusString := val_StatusString + ', Pulse Output Fixed';
END_IF;
IF val_Status0.8 THEN
val_StatusString := val_StatusString + ', EPROM Checksum Error';
END_IF;
IF val_Status0.9 THEN
val_StatusString := val_StatusString + ', NOVRAM Checksum Error';
END_IF;
IF val_Status0.10 THEN
val_StatusString := val_StatusString + ', RAM Checksum Error';
END_IF;
IF val_Status0.11 THEN
val_StatusString := val_StatusString + ', Factory NOVRAM Checksum Error';
END_IF;
IF val_Status0.12 THEN
val_StatusString := val_StatusString + ', Continuous Meter Verification Error';
END_IF;
IF val_Status0.13 THEN
val_StatusString := val_StatusString + ', PZR Output is Active';
END_IF;
IF val_Status0.14 THEN
val_StatusString := val_StatusString + ', Coil Drive Current is Zero';
END_IF;
IF val_Status0.15 THEN
val_StatusString := val_StatusString + ', Reverse Flow Rate Detected';
END_IF;
IF val_Status1.0 THEN
val_StatusString := val_StatusString + ', Internal Flow Simulation Test Error';
END_IF;
IF val_Status1.1 THEN
val_StatusString := val_StatusString + ', Excess Auto Zero Correction- ZR Too High';
END_IF;
IF val_Status1.2 THEN
val_StatusString := val_StatusString + ', Excess Auto Zero Correction- ZR Too Low';
END_IF;
IF val_Status1.3 THEN
val_StatusString := val_StatusString + ', Auto Zero Attempt with Non-zero Flow';
END_IF;
IF val_Status1.4 THEN
val_StatusString := val_StatusString + ', Totalizer Limit 1 Alert';
END_IF;
IF val_Status1.5 THEN
val_StatusString := val_StatusString + ', Universal Trim Failure';
END_IF;
IF val_Status1.6 THEN
val_StatusString := val_StatusString + ', Flow Limit Alert 1';
END_IF;
IF val_Status1.7 THEN
val_StatusString := val_StatusString + ', Flow Limit Alert 2';
END_IF;
IF val_Status1.8 THEN
val_StatusString := val_StatusString + ', Electrode Coated Limit 1';
END_IF;
IF val_Status1.9 THEN
val_StatusString := val_StatusString + ', Electrode Coated Limit 2';
END_IF;
IF val_Status1.10 THEN
val_StatusString := val_StatusString + ', Excess Calibration Correction, GN too Low';
END_IF;
IF val_Status1.11 THEN
val_StatusString := val_StatusString + ', Excess Calibration Correction, GN too High';
END_IF;
IF val_Status1.12 THEN
val_StatusString := val_StatusString + ', Calibration Attempt without Calibrator';
END_IF;
IF val_Status1.13 THEN
val_StatusString := val_StatusString + ', Grounding/Wiring Fault';
END_IF;
IF val_Status1.14 THEN
val_StatusString := val_StatusString + ', High Process Noise Detected';
END_IF;
IF val_Status1.15 THEN
val_StatusString := val_StatusString + ', Electronics Temperature Out of Range';
END_IF;
IF val_Status2.0 THEN
val_StatusString := val_StatusString + ', Digital I/O 1 Active';
END_IF;
IF val_Status2.1 THEN
val_StatusString := val_StatusString + ', Digital I/O 2 Active';
END_IF;
IF val_Status2.2 THEN
val_StatusString := val_StatusString + ', Diagnostic Status Alert Active';
END_IF;
IF val_Status2.3 THEN
val_StatusString := val_StatusString + ', Modbus in Listen Only Mode';
END_IF;
IF val_Status2.4 THEN
val_StatusString := val_StatusString + ', I/O Processor Comm Failure';
END_IF;
IF val_Status2.5 THEN
val_StatusString := val_StatusString + ', Coil Over Current Detected';
END_IF;
IF val_Status2.6 THEN
val_StatusString := val_StatusString + ', Sensor Electrode Saturated';
END_IF;
IF val_Status2.7 THEN
val_StatusString := val_StatusString + ', Coil Power Limit';
END_IF;
IF val_Status2.8 THEN
val_StatusString := val_StatusString + ', Electronics Failure';
END_IF;
IF val_Status2.9 THEN
val_StatusString := val_StatusString + ', Coil Resistance Error';
END_IF;
IF val_Status2.10 THEN
val_StatusString := val_StatusString + ', Coil Inductance Error';
END_IF;
IF val_Status2.11 THEN
val_StatusString := val_StatusString + ', Digital Trim Failure';
END_IF;
IF val_Status2.12 THEN
val_StatusString := val_StatusString + ', Reverse Flow Detected';
END_IF;
IF val_Status2.13 THEN
val_StatusString := val_StatusString + ', Electrode Resistance Error';
END_IF;
IF val_Status2.14 THEN
val_StatusString := val_StatusString + ', Auto Zero Failure';
END_IF;
IF val_Status2.15 THEN
val_StatusString := val_StatusString + ', Reserved for Status Bit';
END_IF;
val_StatusString := RIGHT(val_StatusString, MLEN(val_StatusString) - 2);
END_IF;
(* ============== *)
(* RESET TOTALIZER *)
(* ============== *)
cmd_ResetTotalizer := cmd_ResetTotalizerA OR cmd_ResetTotalizerB OR cmd_ResetTotalizerC;
IF cmd_ResetTotalizerA THEN
mbs_ResetTotalizer_TargetCfg.Addr := cfg_ResetTotalizerA_Coil;
ELSIF cmd_ResetTotalizerB THEN
mbs_ResetTotalizer_TargetCfg.Addr := cfg_ResetTotalizerB_Coil;
ELSIF cmd_ResetTotalizerC THEN
mbs_ResetTotalizer_TargetCfg.Addr := cfg_ResetTotalizerC_Coil;
END_IF;
mbs_ResetTotalizer_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
mbs_ResetTotalizer_LocalCfg.Channel := 2;
mbs_ResetTotalizer_LocalCfg.Cmd := WRITECOIL_CMD;
mbs_ResetTotalizer_LocalCfg.TriggerType := 0;
mbs_ResetTotalizer_LocalCfg.ElementCnt := 1;
mbs_ResetTotalizer_Data[1] := 1;
mbs_ResetTotalizer_MSG(cmd_ResetTotalizer, mbs_Cancel, mbs_ResetTotalizer_LocalCfg, mbs_ResetTotalizer_TargetCfg, mbs_ResetTotalizer_Data);
IF mbs_ResetTotalizer_MSG.Q OR mbs_ResetTotalizer_MSG.Error THEN
cmd_ClearResetTotalizer := TRUE;
cmd_ResetTotalizerA := FALSE;
cmd_ResetTotalizerB := FALSE;
cmd_ResetTotalizerC := FALSE;
END_IF;
Wait_To_Reset_TON(cmd_ClearResetTotalizer, par_TimeToWaitToClearResetTotalizer);
mbs_ClearResetTotalizer_TargetCfg.Addr := mbs_ResetTotalizer_TargetCfg.Addr;
mbs_ClearResetTotalizer_TargetCfg.Node := mbs_ResetTotalizer_TargetCfg.Node;
mbs_ClearResetTotalizer_LocalCfg.Channel := mbs_ResetTotalizer_LocalCfg.Channel;
mbs_ClearResetTotalizer_LocalCfg.Cmd := mbs_ResetTotalizer_LocalCfg.Cmd;
mbs_ClearResetTotalizer_LocalCfg.TriggerType := mbs_ResetTotalizer_LocalCfg.TriggerType;
mbs_ClearResetTotalizer_LocalCfg.ElementCnt := mbs_ResetTotalizer_LocalCfg.ElementCnt;
mbs_ClearResetTotalizer_Data[1] := 0;
mbs_ClearResetTotalizer_MSG(Wait_To_Reset_TON.Q, mbs_Cancel, mbs_ClearResetTotalizer_LocalCfg, mbs_ClearResetTotalizer_TargetCfg, mbs_ClearResetTotalizer_Data);
IF mbs_ClearResetTotalizer_MSG.Q OR mbs_ClearResetTotalizer_MSG.Error THEN
cmd_ClearResetTotalizer := FALSE;
END_IF;
(* ============== *)
(* UNITS *)
(* ============== *)
mbs_Units_TargetCfg.Addr := cfg_Units_Register;
mbs_Units_TargetCfg.Node := cfg_Flowmeter_ModbusNode;
mbs_Units_LocalCfg.Channel := 2;
mbs_Units_LocalCfg.Cmd := READ_CMD;
mbs_Units_LocalCfg.TriggerType := mbs_TriggerType;
mbs_Units_LocalCfg.ElementCnt := 4;
mbs_Units_MSG(ModbusTimer.Q, mbs_Cancel, mbs_Units_LocalCfg, mbs_Units_TargetCfg, mbs_Units_Data);
IF mbs_Units_MSG.Q THEN
val_FlowUnits := FlowRateUnits(mbs_Units_Data[1]);
val_FlowTotalizerAUnits := FlowTotalUnits(mbs_Units_Data[2]);
val_FlowTotalizerBUnits := FlowTotalUnits(mbs_Units_Data[3]);
val_FlowTotalizerCUnits := FlowTotalUnits(mbs_Units_Data[4]);
END_IF;
ModbusErrorTimer(NOT(mbs_FlowRate_MSG.Error OR
mbs_FlowTotalizerA_MSG.Error OR
mbs_FlowTotalizerB_MSG.Error OR
mbs_FlowTotalizerC_MSG.Error OR
mbs_Status_MSG.Error OR
mbs_Units_MSG.Error), ModbusErrorDuration);
sts_FlowmeterModbusOK := ModbusErrorTimer.Q;
END_PROGRAM

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,63 @@
FUNCTION FlowRateUnits
IF integerValue = 241 THEN
FlowRateUnits := 'B31/sec';
ELSIF integerValue = 242 THEN
FlowRateUnits := 'B31/min';
ELSIF integerValue = 243 THEN
FlowRateUnits := 'B31/hour';
ELSIF integerValue = 244 THEN
FlowRateUnits := 'B31/day';
ELSIF integerValue = 132 THEN
FlowRateUnits := 'B42/sec';
ELSIF integerValue = 133 THEN
FlowRateUnits := 'B42/min';
ELSIF integerValue = 134 THEN
FlowRateUnits := 'B42/hour';
ELSIF integerValue = 135 THEN
FlowRateUnits := 'B42/day';
ELSIF integerValue = 248 THEN
FlowRateUnits := 'cm3/sec';
ELSIF integerValue = 26 THEN
FlowRateUnits := 'ft3/sec';
ELSIF integerValue = 15 THEN
FlowRateUnits := 'ft3/min';
ELSIF integerValue = 130 THEN
FlowRateUnits := 'ft3/hour';
ELSIF integerValue = 27 THEN
FlowRateUnits := 'ft3/day';
ELSIF integerValue = 28 THEN
FlowRateUnits := 'm3/sec';
ELSIF integerValue = 131 THEN
FlowRateUnits := 'm3/min';
ELSIF integerValue = 19 THEN
FlowRateUnits := 'm3/hour';
ELSIF integerValue = 29 THEN
FlowRateUnits := 'm3/day';
ELSIF integerValue = 22 THEN
FlowRateUnits := 'gal/sec';
ELSIF integerValue = 16 THEN
FlowRateUnits := 'gal/min';
ELSIF integerValue = 136 THEN
FlowRateUnits := 'gal/hour';
ELSIF integerValue = 235 THEN
FlowRateUnits := 'gal/day';
ELSIF integerValue = 137 THEN
FlowRateUnits := 'gal (Imp.)/sec';
ELSIF integerValue = 18 THEN
FlowRateUnits := 'gal (Imp.)/min';
ELSIF integerValue = 30 THEN
FlowRateUnits := 'gal (Imp.)/hour';
ELSIF integerValue = 31 THEN
FlowRateUnits := 'gal (Imp.)/day';
ELSIF integerValue = 24 THEN
FlowRateUnits := 'L/sec';
ELSIF integerValue = 17 THEN
FlowRateUnits := 'L/min';
ELSIF integerValue = 138 THEN
FlowRateUnits := 'L/hour';
ELSIF integerValue = 240 THEN
FlowRateUnits := 'L/day';
ELSE
FlowRateUnits := 'Unknown';
END_IF;
END_FUNCTION

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,21 @@
FUNCTION FlowTotalUnits
IF integerInput = 40 THEN
FlowTotalUnits := 'Gallons';
ELSIF integerInput = 41 THEN
FlowTotalUnits := 'Liters';
ELSIF integerInput = 42 THEN
FlowTotalUnits := 'Imp. Gallons';
ELSIF integerInput = 43 THEN
FlowTotalUnits := 'Cubic Meters';
ELSIF integerInput = 46 THEN
FlowTotalUnits := 'BBL42';
ELSIF integerInput = 112 THEN
FlowTotalUnits := 'Cubic Feet';
ELSIF integerInput = 246 THEN
FlowTotalUnits := 'Cubic cm';
ELSIF integerInput = 247 THEN
FlowTotalUnits := 'BBL31';
ELSE
FlowTotalUnits := 'Unknown';
END_IF;
END_FUNCTION

View File

@@ -0,0 +1,10 @@
__TMPR1 := EU_MAX - EU_MIN
__TMPR2 := RAW_MAX - RAW_MIN
__TMPR1 := __TMPR1 / __TMPR2
M := __TMPR1
__TMPR1 := M * RAW_MAX
__TMPR2 := EU_MAX - __TMPR1
B := __TMPR2
__TMPR1 := M * RAW_INP
__TMPR1 := __TMPR1 + B
LINEARSCALE := __TMPR1

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,6 @@
FUNCTION LinearScale
m := (EU_Max - EU_Min) / (Raw_Max - Raw_Min);
b := EU_Max - m * Raw_Max;
LinearScale := m * Raw_Inp + b;
END_FUNCTION

View File

@@ -0,0 +1,10 @@
WATCHDOG(149):
WORDTOFLOAT16(153):F,REVERSEUINT(154);
REVERSEUINT(154):
PRESSUREANALOG(155):F,LINEARSCALE(156);
FLOWRATEUNITS(150):
FLOWMETERMB(147):F,WORDSTOREAL(148);F,FLOWRATEUNITS(150);F,FLOWTOTALUNITS(151);
LINEARSCALE(156):
WORDSTOREAL(148):
FLOWTOTALUNITS(151):
SOLARPANELMB(152):F,WORDTOFLOAT16(153);

View File

@@ -0,0 +1,9 @@
[VARIABLE]
VarWithLREALType = 0
VarWithLINTType = 0
VarWithNewDataType = 1
VarROInitValChanged = 0
[FUNCTION]
UseExtGstartGrst = 0
[TARGET]
IsEnhancedTarget = 1

View File

@@ -0,0 +1,10 @@
[MEMORY]
Offset0=0x1C64
Offset1=0x2464
Offset2=0x2464
Offset3=0x2464
Memory Usage Estimate(Code)=0x26DC
Memory Usage Estimate(Data)=0x5030
Memory Usage Estimate(Retain)=0x34
Memory Usage Estimate(Temporary variables)=0xBC8
Offset4=0x414

View File

@@ -0,0 +1,16 @@
[MODIF]
[RESULT]
ON_LINE=N
TBL_CONF=Y
CRC_ORG=0x0
CRC_OLD=
CRC_NEW=0x2625A20D
DAT_ORG=0
DAT_OLD=0
DAT_NEW=1517863824
VER_ORG=0
VER_OLD=0
VER_NEW=37
CRC_ALL_OLD=
CRC_ALL_NEW=0x5DF21E41

View File

@@ -0,0 +1,9 @@
[MEMORY]
Memory Usage Estimate(Temporary variables)=0xBC8
Biggest online change user variable memory block size=0x800
Currently added user variables=0x0
Total data size=0x282C
User variables size=0x1C64
Maximum size for temporary variables=0x2BC8
Memory Usage Estimate(Data)=0x502C
Free memory for user variables=0x800

View File

@@ -0,0 +1,11 @@
<INPUT>,MODBUSTIMER@FLOWMETERMB,TON,IN,__TMPB__TON__IN,BOOL,PT,MODBUSSCANRATE,TIME
<INPUT>,MBS_FLOWRATE_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
<INPUT>,MBS_FLOWTOTALIZERA_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
<INPUT>,MBS_FLOWTOTALIZERB_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
<INPUT>,MBS_FLOWTOTALIZERC_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
<INPUT>,MBS_STATUS_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
<INPUT>,MBS_RESETTOTALIZER_MSG@FLOWMETERMB,MSG_MODBUS,IN,CMD_RESETTOTALIZER@FLOWMETERMB,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
<INPUT>,WAIT_TO_RESET_TON@FLOWMETERMB,TON,IN,CMD_CLEARRESETTOTALIZER@FLOWMETERMB,BOOL,PT,PAR_TIMETOWAITTOCLEARRESETTOTALIZER@FLOWMETERMB,TIME
<INPUT>,MBS_CLEARRESETTOTALIZER_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
<INPUT>,MBS_UNITS_MSG@FLOWMETERMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@FLOWMETERMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
<INPUT>,MODBUSERRORTIMER@FLOWMETERMB,TON,IN,__TMPB__TON__IN,BOOL,PT,MODBUSERRORDURATION,TIME

View File

@@ -0,0 +1,3 @@
<INPUT>,MODBUSTIMER@SOLARPANELMB,TON,IN,__TMPB__TON__IN,BOOL,PT,MODBUSSCANRATE,TIME
<INPUT>,MBS_SOLARPANEL_MSG@SOLARPANELMB,MSG_MODBUS,IN,__TMPB__MSG_MODBUS__IN,BOOL,CANCEL,MBS_CANCEL@SOLARPANELMB,BOOL,LOCALCFG,<NOT USED>,MODBUSLOCPARA,TARGETCFG,<NOT USED>,MODBUSTARPARA,LOCALADDR,<NOT USED>,MODBUSLOCADDR,__ADI_LOCALADDR,<NOT USED>,UINT
<INPUT>,MODBUSERRORTIMER@SOLARPANELMB,TON,IN,__TMPB__TON__IN,BOOL,PT,MODBUSERRORDURATION,TIME

View File

@@ -0,0 +1,66 @@
[BEGIN FB INPUTS]
I1=micro820.micro820.flowmetermb/modbustimer.in,0x2465,BOOL
I2=micro820.micro820.flowmetermb/modbustimer.pt,0x55C,TIME
I3=micro820.micro820.flowmetermb/wait_to_reset_ton.in,0x464,BOOL
I4=micro820.micro820.flowmetermb/wait_to_reset_ton.pt,0x564,TIME
I5=micro820.micro820.flowmetermb/modbuserrortimer.in,0x2465,BOOL
I6=micro820.micro820.flowmetermb/modbuserrortimer.pt,0x560,TIME
I7=micro820.micro820.solarpanelmb/modbustimer.in,0x2465,BOOL
I8=micro820.micro820.solarpanelmb/modbustimer.pt,0x55C,TIME
I9=micro820.micro820.solarpanelmb/modbuserrortimer.in,0x2465,BOOL
I10=micro820.micro820.solarpanelmb/modbuserrortimer.pt,0x560,TIME
I11=micro820.micro820.flowmetermb/mbs_flowrate_msg.in,0x2466,BOOL
I12=micro820.micro820.flowmetermb/mbs_flowrate_msg.cancel,0x462,BOOL
I13=micro820.micro820.flowmetermb/mbs_flowrate_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
I14=micro820.micro820.flowmetermb/mbs_flowrate_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
I15=micro820.micro820.flowmetermb/mbs_flowrate_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
I16=micro820.micro820.flowmetermb/mbs_flowrate_msg.__adi_localaddr,0xFFFFFFFF,UINT
I17=micro820.micro820.flowmetermb/mbs_flowtotalizera_msg.in,0x2466,BOOL
I18=micro820.micro820.flowmetermb/mbs_flowtotalizera_msg.cancel,0x462,BOOL
I19=micro820.micro820.flowmetermb/mbs_flowtotalizera_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
I20=micro820.micro820.flowmetermb/mbs_flowtotalizera_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
I21=micro820.micro820.flowmetermb/mbs_flowtotalizera_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
I22=micro820.micro820.flowmetermb/mbs_flowtotalizera_msg.__adi_localaddr,0xFFFFFFFF,UINT
I23=micro820.micro820.flowmetermb/mbs_flowtotalizerb_msg.in,0x2466,BOOL
I24=micro820.micro820.flowmetermb/mbs_flowtotalizerb_msg.cancel,0x462,BOOL
I25=micro820.micro820.flowmetermb/mbs_flowtotalizerb_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
I26=micro820.micro820.flowmetermb/mbs_flowtotalizerb_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
I27=micro820.micro820.flowmetermb/mbs_flowtotalizerb_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
I28=micro820.micro820.flowmetermb/mbs_flowtotalizerb_msg.__adi_localaddr,0xFFFFFFFF,UINT
I29=micro820.micro820.flowmetermb/mbs_flowtotalizerc_msg.in,0x2466,BOOL
I30=micro820.micro820.flowmetermb/mbs_flowtotalizerc_msg.cancel,0x462,BOOL
I31=micro820.micro820.flowmetermb/mbs_flowtotalizerc_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
I32=micro820.micro820.flowmetermb/mbs_flowtotalizerc_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
I33=micro820.micro820.flowmetermb/mbs_flowtotalizerc_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
I34=micro820.micro820.flowmetermb/mbs_flowtotalizerc_msg.__adi_localaddr,0xFFFFFFFF,UINT
I35=micro820.micro820.flowmetermb/mbs_status_msg.in,0x2466,BOOL
I36=micro820.micro820.flowmetermb/mbs_status_msg.cancel,0x462,BOOL
I37=micro820.micro820.flowmetermb/mbs_status_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
I38=micro820.micro820.flowmetermb/mbs_status_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
I39=micro820.micro820.flowmetermb/mbs_status_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
I40=micro820.micro820.flowmetermb/mbs_status_msg.__adi_localaddr,0xFFFFFFFF,UINT
I41=micro820.micro820.flowmetermb/mbs_resettotalizer_msg.in,0x463,BOOL
I42=micro820.micro820.flowmetermb/mbs_resettotalizer_msg.cancel,0x462,BOOL
I43=micro820.micro820.flowmetermb/mbs_resettotalizer_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
I44=micro820.micro820.flowmetermb/mbs_resettotalizer_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
I45=micro820.micro820.flowmetermb/mbs_resettotalizer_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
I46=micro820.micro820.flowmetermb/mbs_resettotalizer_msg.__adi_localaddr,0xFFFFFFFF,UINT
I47=micro820.micro820.flowmetermb/mbs_clearresettotalizer_msg.in,0x2466,BOOL
I48=micro820.micro820.flowmetermb/mbs_clearresettotalizer_msg.cancel,0x462,BOOL
I49=micro820.micro820.flowmetermb/mbs_clearresettotalizer_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
I50=micro820.micro820.flowmetermb/mbs_clearresettotalizer_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
I51=micro820.micro820.flowmetermb/mbs_clearresettotalizer_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
I52=micro820.micro820.flowmetermb/mbs_clearresettotalizer_msg.__adi_localaddr,0xFFFFFFFF,UINT
I53=micro820.micro820.flowmetermb/mbs_units_msg.in,0x2466,BOOL
I54=micro820.micro820.flowmetermb/mbs_units_msg.cancel,0x462,BOOL
I55=micro820.micro820.flowmetermb/mbs_units_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
I56=micro820.micro820.flowmetermb/mbs_units_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
I57=micro820.micro820.flowmetermb/mbs_units_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
I58=micro820.micro820.flowmetermb/mbs_units_msg.__adi_localaddr,0xFFFFFFFF,UINT
I59=micro820.micro820.solarpanelmb/mbs_solarpanel_msg.in,0x2466,BOOL
I60=micro820.micro820.solarpanelmb/mbs_solarpanel_msg.cancel,0x465,BOOL
I61=micro820.micro820.solarpanelmb/mbs_solarpanel_msg.localcfg,0xFFFFFFFF,MODBUSLOCPARA
I62=micro820.micro820.solarpanelmb/mbs_solarpanel_msg.targetcfg,0xFFFFFFFF,MODBUSTARPARA
I63=micro820.micro820.solarpanelmb/mbs_solarpanel_msg.localaddr,0xFFFFFFFF,MODBUSLOCADDR
I64=micro820.micro820.solarpanelmb/mbs_solarpanel_msg.__adi_localaddr,0xFFFFFFFF,UINT
[END]

View File

@@ -0,0 +1,75 @@
[__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

@@ -0,0 +1 @@
PRESSUREANALOG(155):F,LINEARSCALE(156);

View File

@@ -0,0 +1,16 @@
_PUSH_PAR _IO_P1_AI_00
__TMPR5 := _CALL ANY_TO_UINT
_PUSH_PAR __TMPR1
_PUSH_PAR __TMPR2
_PUSH_PAR __TMPR3
_PUSH_PAR __TMPR4
_PUSH_PAR __TMPR5
__TMPR6 := _CALL LINEARSCALE
VAL_AI00_UA := __TMPR6
_PUSH_PAR __TMPR3
_PUSH_PAR __TMPR4
_PUSH_PAR __TMPR7
_PUSH_PAR __TMPR8
_PUSH_PAR VAL_AI00_UA
__TMPR5 := _CALL LINEARSCALE
VAL_PRESSUREREADING := __TMPR5

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,4 @@
PROGRAM PressureAnalog
val_AI00_uA := LinearScale(13107.0, 65535.0, 4000.0, 20000.0, ANY_TO_REAL(_IO_P1_AI_00));
val_PressureReading := LinearScale(4000.0, 20000.0, 0.0, 600.0, val_AI00_uA);
END_PROGRAM

View File

@@ -0,0 +1,112 @@
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT0000000F
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __DINT_NULL
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT0000000E
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT00000001
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT0000000D
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT00000002
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT0000000C
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT00000003
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT0000000B
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT00000004
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT0000000A
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT00000005
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT00000009
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT00000006
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT00000008
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT00000007
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT00000007
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT00000008
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT00000006
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT00000009
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT00000005
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT0000000A
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT00000004
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT0000000B
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT00000003
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT0000000C
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT00000002
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT0000000D
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __CDINT00000001
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT0000000E
__TMPN1 := _CALL __ANAWBIT
_PUSH_PAR INPUTUINT
_PUSH_PAR __DINT_NULL
__TMPB1 := _CALL __ANARBIT
_PUSH_PAR __TMPB1
_PUSH_PAR REVERSEUINT
_PUSH_PAR __CDINT0000000F
__TMPN1 := _CALL __ANAWBIT

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,27 @@
FUNCTION ReverseUINT
(* REVERSE UINT *)
(* ================================ *)
(* Developed by: Patrick McDonagh *)
(* January 30, 2018 *)
(* ================================ *)
(* Reverses the bits of a UINT *)
(* data type. *)
ReverseUINT.0 := InputUINT.15;
ReverseUINT.1 := InputUINT.14;
ReverseUINT.2 := InputUINT.13;
ReverseUINT.3 := InputUINT.12;
ReverseUINT.4 := InputUINT.11;
ReverseUINT.5 := InputUINT.10;
ReverseUINT.6 := InputUINT.9;
ReverseUINT.7 := InputUINT.8;
ReverseUINT.8 := InputUINT.7;
ReverseUINT.9 := InputUINT.6;
ReverseUINT.10 := InputUINT.5;
ReverseUINT.11 := InputUINT.4;
ReverseUINT.12 := InputUINT.3;
ReverseUINT.13 := InputUINT.2;
ReverseUINT.14 := InputUINT.1;
ReverseUINT.15 := InputUINT.0;
END_FUNCTION

View File

@@ -0,0 +1 @@
SOLARPANELMB(152):F,WORDTOFLOAT16(153);F,RIGHT();F,MLEN();

View File

@@ -0,0 +1,250 @@
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
__TMPB1 := _NOT __TMPB1
__TMPB__TON__IN := __TMPB1
__FBL_RET := _PUSHCALLFB TON MODBUSTIMER
MBS_SOLARPANEL_TARGETCFG [ __DINT_NULL ] := CFG_SOLARPANEL_REGISTER
MBS_SOLARPANEL_TARGETCFG [ __CDINT00000004 ] := CFG_SOLARPANEL_MODBUSNODE
MBS_SOLARPANEL_LOCALCFG [ __DINT_NULL ] := __CUINT00000002
MBS_SOLARPANEL_LOCALCFG [ __CDINT00000003 ] := READ_CMD
MBS_SOLARPANEL_LOCALCFG [ __CDINT00000002 ] := MBS_TRIGGERTYPE
MBS_SOLARPANEL_LOCALCFG [ __CDINT00000004 ] := __CUINT00000023
__TMPB1 := MODBUSTIMER [ __CDINT00000004 ]
__TMPV1 := MBS_SOLARPANEL_LOCALCFG [ __DINT_NULL ]
__TMPV2 := MBS_SOLARPANEL_TARGETCFG [ __DINT_NULL ]
__TMPV3 := MBS_SOLARPANEL_DATA [ __DINT_NULL ]
__TMPB__MSG_MODBUS__IN := __TMPB1
__TMPV4 := MBS_SOLARPANEL_MSG [ __CDINT00000004 ]
__TMPV4 := __TMPV1
__TMPV5 := MBS_SOLARPANEL_MSG [ __CDINT00000006 ]
__TMPV5 := __TMPV2
__TMPV6 := MBS_SOLARPANEL_MSG [ __CDINT00000008 ]
__TMPV6 := __TMPV3
MBS_SOLARPANEL_MSG [ __CDINT0000000A ] := __ADI__SOLARPANELMB_0_0
__FBL_RET := _PUSHCALLFB MSG_MODBUS MBS_SOLARPANEL_MSG
__TMPB1 := MBS_SOLARPANEL_MSG [ __CDINT0000000C ]
_IF _NOT __TMPB1 _GOTO __LAB1
__TMPI1 := __CDINT00000012 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_SOLARPANEL_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPR1 := _CALL WORDTOFLOAT16
VAL_SOLARARRAYCURRENT := __TMPR1
__TMPI1 := __CDINT00000013 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_SOLARPANEL_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPR1 := _CALL WORDTOFLOAT16
VAL_SOLARBATTERYTERMINALVOLTAGE := __TMPR1
__TMPI1 := __CDINT00000014 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_SOLARPANEL_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPR1 := _CALL WORDTOFLOAT16
VAL_SOLARARRAYVOLTAGE := __TMPR1
__TMPI1 := __CDINT00000015 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_SOLARPANEL_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPR1 := _CALL WORDTOFLOAT16
VAL_SOLARLOADVOLTAGE := __TMPR1
__TMPI1 := __CDINT00000017 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_SOLARPANEL_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPR1 := _CALL WORDTOFLOAT16
VAL_SOLARLOADCURRENT := __TMPR1
__TMPI1 := __CDINT0000001C - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_SOLARPANEL_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPR1 := _CALL WORDTOFLOAT16
__TMPR1 := __TMPR1 * __TMPR2
__TMPR1 := __TMPR1 + __TMPR3
VAL_SOLARBATTERYTEMPERATURE := __TMPR1
__TMPI1 := __CDINT0000001D - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_SOLARPANEL_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPR1 := _CALL WORDTOFLOAT16
__TMPR1 := __TMPR1 * __TMPR2
__TMPR1 := __TMPR1 + __TMPR3
VAL_SOLARAMBIENTTEMPERATURE := __TMPR1
__TMPI1 := __CDINT00000022 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_SOLARPANEL_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPUIN2 := _CALL ANY_TO_UINT
TEMP_CHARGESTATE := __TMPUIN2
__TMPI1 := __CDINT00000023 - __CDINT00000001
__TMPI1 := __TMPI1 * __CDINT00000002
__TMPUIN1 := MBS_SOLARPANEL_DATA [ __TMPI1 ]
_PUSH_PAR __TMPUIN1
__TMPUIN2 := _CALL ANY_TO_UINT
TEMP_ARRAYFAULT := __TMPUIN2
_GOTO __LAB2
__LAB1 :
__LAB2 :
__TMPB1 := TEMP_CHARGESTATE = __UINT_NULL
_IF _NOT __TMPB1 _GOTO __LAB3
STS_CHARGESTATE := __TMPM1
_GOTO __LAB4
__LAB3 :
__TMPB1 := TEMP_CHARGESTATE = __CUINT00000001
_IF _NOT __TMPB1 _GOTO __LAB5
STS_CHARGESTATE := __TMPM2
_GOTO __LAB4
__LAB5 :
__TMPB1 := TEMP_CHARGESTATE = __CUINT00000002
_IF _NOT __TMPB1 _GOTO __LAB6
STS_CHARGESTATE := __TMPM3
_GOTO __LAB4
__LAB6 :
__TMPB1 := TEMP_CHARGESTATE = __CUINT00000003
_IF _NOT __TMPB1 _GOTO __LAB7
STS_CHARGESTATE := __TMPM4
_GOTO __LAB4
__LAB7 :
__TMPB1 := TEMP_CHARGESTATE = __CUINT00000004
_IF _NOT __TMPB1 _GOTO __LAB8
STS_CHARGESTATE := __TMPM5
_GOTO __LAB4
__LAB8 :
__TMPB1 := TEMP_CHARGESTATE = __CUINT00000005
_IF _NOT __TMPB1 _GOTO __LAB9
STS_CHARGESTATE := __TMPM6
_GOTO __LAB4
__LAB9 :
__TMPB1 := TEMP_CHARGESTATE = __CUINT00000006
_IF _NOT __TMPB1 _GOTO __LABa
STS_CHARGESTATE := __TMPM7
_GOTO __LAB4
__LABa :
__TMPB1 := TEMP_CHARGESTATE = __CUINT00000007
_IF _NOT __TMPB1 _GOTO __LABb
STS_CHARGESTATE := __TMPM8
_GOTO __LAB4
__LABb :
__TMPB1 := TEMP_CHARGESTATE = __CUINT00000008
_IF _NOT __TMPB1 _GOTO __LABc
STS_CHARGESTATE := __TMPM9
_GOTO __LAB4
__LABc :
STS_CHARGESTATE := __TMPM10
__LAB4 :
__TMPB1 := TEMP_ARRAYFAULT = __UINT_NULL
_IF _NOT __TMPB1 _GOTO __LABd
STS_ARRAYFAULT := __TMPM11
_GOTO __LABe
__LABd :
STS_ARRAYFAULT := __STRING_NULL
_PUSH_PAR TEMP_ARRAYFAULT
_PUSH_PAR __DINT_NULL
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LABf
__TMPM13 := STS_ARRAYFAULT + __TMPM12
STS_ARRAYFAULT := __TMPM13
_GOTO __LAB10
__LABf :
_PUSH_PAR TEMP_ARRAYFAULT
_PUSH_PAR __CDINT00000001
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB11
__TMPM13 := STS_ARRAYFAULT + __TMPM14
STS_ARRAYFAULT := __TMPM13
_GOTO __LAB10
__LAB11 :
_PUSH_PAR TEMP_ARRAYFAULT
_PUSH_PAR __CDINT00000002
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB12
__TMPM13 := STS_ARRAYFAULT + __TMPM15
STS_ARRAYFAULT := __TMPM13
_GOTO __LAB10
__LAB12 :
_PUSH_PAR TEMP_ARRAYFAULT
_PUSH_PAR __CDINT00000003
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB13
__TMPM13 := STS_ARRAYFAULT + __TMPM16
STS_ARRAYFAULT := __TMPM13
_GOTO __LAB10
__LAB13 :
_PUSH_PAR TEMP_ARRAYFAULT
_PUSH_PAR __CDINT00000004
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB14
__TMPM13 := STS_ARRAYFAULT + __TMPM17
STS_ARRAYFAULT := __TMPM13
_GOTO __LAB10
__LAB14 :
_PUSH_PAR TEMP_ARRAYFAULT
_PUSH_PAR __CDINT00000005
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB15
__TMPM13 := STS_ARRAYFAULT + __TMPM18
STS_ARRAYFAULT := __TMPM13
_GOTO __LAB10
__LAB15 :
_PUSH_PAR TEMP_ARRAYFAULT
_PUSH_PAR __CDINT00000006
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB16
__TMPM13 := STS_ARRAYFAULT + __TMPM19
STS_ARRAYFAULT := __TMPM13
_GOTO __LAB10
__LAB16 :
_PUSH_PAR TEMP_ARRAYFAULT
_PUSH_PAR __CDINT00000007
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB17
__TMPM13 := STS_ARRAYFAULT + __TMPM20
STS_ARRAYFAULT := __TMPM13
_GOTO __LAB10
__LAB17 :
_PUSH_PAR TEMP_ARRAYFAULT
_PUSH_PAR __CDINT00000008
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB18
__TMPM13 := STS_ARRAYFAULT + __TMPM21
STS_ARRAYFAULT := __TMPM13
_GOTO __LAB10
__LAB18 :
_PUSH_PAR TEMP_ARRAYFAULT
_PUSH_PAR __CDINT00000009
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB19
__TMPM13 := STS_ARRAYFAULT + __TMPM22
STS_ARRAYFAULT := __TMPM13
_GOTO __LAB10
__LAB19 :
_PUSH_PAR TEMP_ARRAYFAULT
_PUSH_PAR __CDINT0000000A
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB1a
__TMPM13 := STS_ARRAYFAULT + __TMPM23
STS_ARRAYFAULT := __TMPM13
_GOTO __LAB10
__LAB1a :
_PUSH_PAR TEMP_ARRAYFAULT
_PUSH_PAR __CDINT0000000B
__TMPB1 := _CALL __ANARBIT
_IF _NOT __TMPB1 _GOTO __LAB1b
__TMPM13 := STS_ARRAYFAULT + __TMPM24
STS_ARRAYFAULT := __TMPM13
_GOTO __LAB10
__LAB1b :
__LAB10 :
_PUSH_PAR STS_ARRAYFAULT
__TMPI1 := _CALL MLEN
__TMPI1 := __TMPI1 - __CDINT00000002
_PUSH_PAR STS_ARRAYFAULT
_PUSH_PAR __TMPI1
__TMPM13 := _CALL RIGHT
STS_ARRAYFAULT := __TMPM13
__LABe :
__TMPB1 := MBS_SOLARPANEL_MSG [ __CDINT0000000D ]
__TMPB1 := _NOT __TMPB1
__TMPB__TON__IN := __TMPB1
__FBL_RET := _PUSHCALLFB TON MODBUSERRORTIMER
__TMPB1 := MODBUSERRORTIMER [ __CDINT00000004 ]
STS_SOLARMODBUSOK := __TMPB1

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,90 @@
PROGRAM SolarPanelMb
ModbusTimer(NOT ModbusTimer.Q, ModbusScanRate);
(* ============== *)
(* FLOW RATE *)
(* ============== *)
mbs_SolarPanel_TargetCfg.Addr := cfg_SolarPanel_Register;
mbs_SolarPanel_TargetCfg.Node := cfg_SolarPanel_ModbusNode;
mbs_SolarPanel_LocalCfg.Channel := 2;
mbs_SolarPanel_LocalCfg.Cmd := READ_CMD;
mbs_SolarPanel_LocalCfg.TriggerType := mbs_TriggerType;
mbs_SolarPanel_LocalCfg.ElementCnt := 35;
mbs_SolarPanel_MSG(ModbusTimer.Q, mbs_Cancel, mbs_SolarPanel_LocalCfg, mbs_SolarPanel_TargetCfg, mbs_SolarPanel_Data);
IF mbs_SolarPanel_MSG.Q THEN
val_SolarArrayCurrent := WordToFloat16(mbs_SolarPanel_Data[18]);
val_SolarBatteryTerminalVoltage := WordToFloat16(mbs_SolarPanel_Data[19]);
val_SolarArrayVoltage := WordToFloat16(mbs_SolarPanel_Data[20]);
val_SolarLoadVoltage := WordToFloat16(mbs_SolarPanel_Data[21]);
val_SolarLoadCurrent := WordToFloat16(mbs_SolarPanel_Data[23]);
val_SolarBatteryTemperature := WordToFloat16(mbs_SolarPanel_Data[28]) * 1.8 + 32.0;
val_SolarAmbientTemperature := WordToFloat16(mbs_SolarPanel_Data[29]) * 1.8 + 32.0;
temp_ChargeState := ANY_TO_UINT(mbs_SolarPanel_Data[34]);
temp_ArrayFault := ANY_TO_UINT(mbs_SolarPanel_Data[35]);
END_IF;
(* Map Charge State *)
IF temp_ChargeState = 0 THEN
sts_ChargeState := 'Start';
ELSIF temp_ChargeState = 1 THEN
sts_ChargeState := 'Night Check';
ELSIF temp_ChargeState = 2 THEN
sts_ChargeState := 'Disconnect';
ELSIF temp_ChargeState = 3 THEN
sts_ChargeState := 'Night';
ELSIF temp_ChargeState = 4 THEN
sts_ChargeState := 'Fault';
ELSIF temp_ChargeState = 5 THEN
sts_ChargeState := 'Bulk';
ELSIF temp_ChargeState = 6 THEN
sts_ChargeState := 'Absorption';
ELSIF temp_ChargeState = 7 THEN
sts_ChargeState := 'Float';
ELSIF temp_ChargeState = 8 THEN
sts_ChargeState := 'Equalize';
ELSE
sts_ChargeState := 'Unknown';
END_IF;
(* Map Array Fault *)
IF temp_ArrayFault = 0 THEN
sts_ArrayFault := 'OK';
ELSE
sts_ArrayFault := '';
IF temp_ArrayFault.0 THEN
sts_ArrayFault := sts_ArrayFault + ', Overcurrent Phase 1';
ELSIF temp_ArrayFault.1 THEN
sts_ArrayFault := sts_ArrayFault + ', FET(s) Shorted';
ELSIF temp_ArrayFault.2 THEN
sts_ArrayFault := sts_ArrayFault + ', Software Bug';
ELSIF temp_ArrayFault.3 THEN
sts_ArrayFault := sts_ArrayFault + ', Battery High Voltage Disconnect';
ELSIF temp_ArrayFault.4 THEN
sts_ArrayFault := sts_ArrayFault + ', Array High Voltage Disconnect';
ELSIF temp_ArrayFault.5 THEN
sts_ArrayFault := sts_ArrayFault + ', EEPROM Setting Edit (reset required)';
ELSIF temp_ArrayFault.6 THEN
sts_ArrayFault := sts_ArrayFault + ', RTS Shorted';
ELSIF temp_ArrayFault.7 THEN
sts_ArrayFault := sts_ArrayFault + ', RTS was valid, now disconnected';
ELSIF temp_ArrayFault.8 THEN
sts_ArrayFault := sts_ArrayFault + ', Local temp sensor failed';
ELSIF temp_ArrayFault.9 THEN
sts_ArrayFault := sts_ArrayFault + ', Battery Low Voltage Disconnect';
ELSIF temp_ArrayFault.10 THEN
sts_ArrayFault := sts_ArrayFault + ', DIP Switch Changed';
ELSIF temp_ArrayFault.11 THEN
sts_ArrayFault := sts_ArrayFault + ', Processor Supply Fault';
END_IF;
sts_ArrayFault := RIGHT(sts_ArrayFault, MLEN(sts_ArrayFault) - 2);
END_IF;
ModbusErrorTimer(NOT(mbs_SolarPanel_MSG.Error), ModbusErrorDuration);
sts_SolarModbusOK := ModbusErrorTimer.Q;
END_PROGRAM

View File

@@ -0,0 +1,9 @@
__TMPB1 := WATCHDOG_INT = WATCHDOG_INT_PREV
__TMPB1 := _NOT __TMPB1
_IF _NOT __TMPB1 _GOTO __LAB1
__TMPINT1 := WATCHDOG_INT - __CINT00000001
WATCHDOG_INT := __TMPINT1
WATCHDOG_INT_PREV := WATCHDOG_INT
_GOTO __LAB2
__LAB1 :
__LAB2 :

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