Copied existing water well project

This commit is contained in:
Patrick McDonagh
2016-02-04 08:44:06 -06:00
commit 2c166c760d
84 changed files with 12952 additions and 0 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>{77f0df20-21d3-4637-a6d8-d269e0a5c640}</ProjectGuid>
<OutputType>Exe</OutputType>
<RootNamespace>MyRootNamespace</RootNamespace>
<AssemblyName>MyAssemblyName</AssemblyName>
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
<CAMProjectFile>Controller\PrjLibrary.mdb</CAMProjectFile>
<CAMProjectVersion>5.50.3</CAMProjectVersion>
<UniqueProjectId>{77f0df20-21d3-4637-a6d8-d269e0a5c640}</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

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>WIN8VM!Internet\scharbauer.pcdrilling.poconsole.io</Micro800ConnectionPath>
</DevicePreferences>

View File

@@ -0,0 +1,47 @@
<?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_Set>
<ID>1</ID>
<DLGRCP_VarVA>
<DLGRCP_VarVA>
<ArrayLength>1</ArrayLength>
<VirtualAddress>1356</VirtualAddress>
<Name>DH_IntakeTemperature</Name>
<Index>1</Index>
<ISaDataType>REAL</ISaDataType>
<Valid>true</Valid>
<ErrorMsg />
<VarDataType>ISA_TYPREAL</VarDataType>
</DLGRCP_VarVA>
<DLGRCP_VarVA>
<ArrayLength>1</ArrayLength>
<VirtualAddress>1360</VirtualAddress>
<Name>DH_IntakePressure</Name>
<Index>2</Index>
<ISaDataType>REAL</ISaDataType>
<Valid>true</Valid>
<ErrorMsg />
<VarDataType>ISA_TYPREAL</VarDataType>
</DLGRCP_VarVA>
<DLGRCP_VarVA>
<ArrayLength>1</ArrayLength>
<VirtualAddress>2085</VirtualAddress>
<Name>DH_DownholeStatus</Name>
<Index>3</Index>
<ISaDataType>STRING</ISaDataType>
<Valid>true</Valid>
<ErrorMsg />
<VarDataType>ISA_TYPSTRING</VarDataType>
</DLGRCP_VarVA>
</DLGRCP_VarVA>
<Name>DSET1</Name>
<Description />
<Separator>COMMA</Separator>
<Valid>true</Valid>
<ErrorMsg />
</DLGRCP_Set>
</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,474 @@
<modbusServer Version="2.0">
<modbusRegister name="DISCRETES_INPUTS">
<mapping variable="Auto_Mode" parent="Micro820" dataType="Bool" address="100001">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Test_Mode" parent="Micro820" dataType="Bool" address="100002">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Hand_Mode" parent="Micro820" dataType="Bool" address="100003">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Contactor_Status" parent="Micro820" dataType="Bool" address="100004">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Start_Permissive" parent="Micro820" dataType="Bool" address="100005">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Run_Permissive" parent="Micro820" dataType="Bool" address="100006">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_READ" parent="Micro820" dataType="Bool" address="100007">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_WRITE" parent="Micro820" dataType="Bool" address="100009">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="TripStatus" parent="Micro820" dataType="Bool" address="100010">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="WarningStatus" parent="Micro820" dataType="Bool" address="100011">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="OverloadTrip" parent="Micro820" dataType="Bool" address="100012">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="VoltageOK" parent="Micro820" dataType="Bool" address="100013">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="TripResetCmd" parent="Micro820" dataType="Bool" address="100014">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="DigitalInput_Status_0" parent="Micro820" dataType="Bool" address="100015">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="DigitalInput_Status_1" parent="Micro820" dataType="Bool" address="100016">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="DigitalInput_Status_2" parent="Micro820" dataType="Bool" address="100017">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="DigitalInput_Status_3" parent="Micro820" dataType="Bool" address="100018">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="DigitalInput_Status_4" parent="Micro820" dataType="Bool" address="100019">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="DigitalInput_Status_5" parent="Micro820" dataType="Bool" address="100020">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Temp_Shutdown_Enabled" parent="Micro820" dataType="Bool" address="100021">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Pressure_Shutdown_Enabled" parent="Micro820" dataType="Bool" address="100022">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Temp_Startup_Enabled" parent="Micro820" dataType="Bool" address="100023">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Pressure_Startup_Enabled" parent="Micro820" dataType="Bool" address="100024">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Start_Command" parent="Micro820" dataType="Bool" address="100025">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Stop_Command" parent="Micro820" dataType="Bool" address="100026">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Pressure_Switch_Enabled" parent="Micro820" dataType="Bool" address="100027">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Downhole_Tool_Enabled" parent="Micro820" dataType="Bool" address="100028">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_GF_GroundFaultInhibitTime" parent="Micro820" dataType="USInt" address="100056">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceInhibitTime" parent="Micro820" dataType="USInt" address="100064">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceInhibitTime" parent="Micro820" dataType="USInt" address="100072">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceTripDelay" parent="Micro820" dataType="USInt" address="100080">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceTripLevel" parent="Micro820" dataType="USInt" address="100088">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceWarningLevel" parent="Micro820" dataType="USInt" address="100096">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_JamInhibitTime" parent="Micro820" dataType="USInt" address="100104">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_JamTripDelay" parent="Micro820" dataType="USInt" address="100112">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_LineLossInhibitTime" parent="Micro820" dataType="USInt" address="100120">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_OvercurrentInhibitTime" parent="Micro820" dataType="USInt" address="100128">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_OvercurrentTripLevel" parent="Micro820" dataType="USInt" address="100136">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_OvercurrentWarningLevel" parent="Micro820" dataType="USInt" address="100144">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_StallEnabledTime" parent="Micro820" dataType="USInt" address="100152">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_TripEnableCurrent" parent="Micro820" dataType="UInt" address="100160">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_UndercurrentInhibitTime" parent="Micro820" dataType="USInt" address="100176">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_C_WarningEnableControl" parent="Micro820" dataType="UInt" address="100184">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_UndercurrentTripLevel" parent="Micro820" dataType="USInt" address="100200">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_UndercurrentWarningLevel" parent="Micro820" dataType="USInt" address="100208">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_UnderloadInhibitTime" parent="Micro820" dataType="USInt" address="100216">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_UnderloadTripLevel" parent="Micro820" dataType="USInt" address="100224">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_UnderloadWarningLevel" parent="Micro820" dataType="USInt" address="100232">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_WarningEnableCurrent" parent="Micro820" dataType="UInt" address="100240">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_PL_PhaseLossInhibitTime" parent="Micro820" dataType="USInt" address="100256">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_TCU_OLResetLevel" parent="Micro820" dataType="USInt" address="100264">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_TCU_OLWarningLevel" parent="Micro820" dataType="USInt" address="100272">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_TCU_TripClass" parent="Micro820" dataType="USInt" address="100280">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_OverfrequencyInhibitTime" parent="Micro820" dataType="USInt" address="100288">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_OverfrequencyTripLevel" parent="Micro820" dataType="USInt" address="100296">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_OverfrequencyWarningLevel" parent="Micro820" dataType="USInt" address="100304">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_OvervoltageInhibitTime" parent="Micro820" dataType="USInt" address="100312">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_PhaseRotationInhibitTime" parent="Micro820" dataType="USInt" address="100320">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_PhaseRotationTripType" parent="Micro820" dataType="USInt" address="100328">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_TripEnableVoltage" parent="Micro820" dataType="UInt" address="100336">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_V_UnderfrequencyInhibitTime" parent="Micro820" dataType="USInt" address="100352">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_UnderfrequencyTripLevel" parent="Micro820" dataType="USInt" address="100360">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_UnderfrequencyWarningLevel" parent="Micro820" dataType="USInt" address="100368">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_UndervoltageInhibitTime" parent="Micro820" dataType="USInt" address="100376">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_VoltageImbalanceInhibitTime" parent="Micro820" dataType="USInt" address="100384">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_VoltageImbalanceTripLevel" parent="Micro820" dataType="USInt" address="100392">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_VoltageImbalanceWarningLevel" parent="Micro820" dataType="USInt" address="100400">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_VoltageMode" parent="Micro820" dataType="USInt" address="100408">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_WarningEnableVoltage" parent="Micro820" dataType="UInt" address="100416">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="TripStatusControl_INT" parent="Micro820" dataType="UInt" address="100432">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="TripStatusCurrent_INT" parent="Micro820" dataType="UInt" address="100448">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="TripStatusPower_INT" parent="Micro820" dataType="UInt" address="100464">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="TripStatusVoltage_INT" parent="Micro820" dataType="UInt" address="100480">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="WarningStatusControl_INT" parent="Micro820" dataType="UInt" address="100496">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="WarningStatusCurrent_INT" parent="Micro820" dataType="UInt" address="100512">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="WarningStatusPower_INT" parent="Micro820" dataType="UInt" address="100528">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="WarningStatusVoltage_INT" parent="Micro820" dataType="UInt" address="100544">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
</modbusRegister>
<modbusRegister name="HOLDING_REGISTERS">
<mapping variable="cfg_C_FLASetting" parent="Micro820" dataType="Real" address="400001">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_C_TripEnableControl" parent="Micro820" dataType="UInt" address="400003">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_GF_GroundFaultTripDelay" parent="Micro820" dataType="Real" address="400005">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_GF_GroundFaultTripLevel" parent="Micro820" dataType="Real" address="400007">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_GF_GroundFaultWarningDelay" parent="Micro820" dataType="Real" address="400009">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_I_CTPrimary" parent="Micro820" dataType="UInt" address="400011">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_CTSecondary" parent="Micro820" dataType="UInt" address="400012">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_JamTripLevel" parent="Micro820" dataType="UInt" address="400013">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_JamWarningLevel" parent="Micro820" dataType="UInt" address="400014">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_LineLossTripDelay" parent="Micro820" dataType="Real" address="400015">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_I_OvercurrentTripDelay" parent="Micro820" dataType="Real" address="400017">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_I_UndercurrentTripDelay" parent="Micro820" dataType="Real" address="400019">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_I_UnderloadTripDelay" parent="Micro820" dataType="Real" address="400021">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_PL_PhaseLossTripDelay" parent="Micro820" dataType="Real" address="400023">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_OverfrequencyTripDelay" parent="Micro820" dataType="Real" address="400025">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_OvervoltageTripDelay" parent="Micro820" dataType="Real" address="400027">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_OvervoltageTripLevel" parent="Micro820" dataType="Real" address="400029">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_OvervoltageWarningLevel" parent="Micro820" dataType="Real" address="400031">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_PTPrimary" parent="Micro820" dataType="UInt" address="400033">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_V_PTSecondary" parent="Micro820" dataType="UInt" address="400034">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_V_UnderfrequencyTripDelay" parent="Micro820" dataType="Real" address="400035">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_UndervoltageTripDelay" parent="Micro820" dataType="Real" address="400037">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_UndervoltageTripLevel" parent="Micro820" dataType="Real" address="400039">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_UndervoltageWarningLevel" parent="Micro820" dataType="Real" address="400041">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_VoltageImbalanceTripDelay" parent="Micro820" dataType="Real" address="400043">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_DischargePressure" parent="Micro820" dataType="UInt" address="400045">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_DischargeTemperature" parent="Micro820" dataType="UInt" address="400046">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_DownholeStatus_INT" parent="Micro820" dataType="UInt" address="400047">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_IntakePressure" parent="Micro820" dataType="Real" address="400048">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_IntakeTemperature" parent="Micro820" dataType="Real" address="400050">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_MaxIntakePressure_Forever" parent="Micro820" dataType="UInt" address="400052">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_MaxIntakePressure_Startup" parent="Micro820" dataType="UInt" address="400053">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_MaxIntakeTemperature_Forever" parent="Micro820" dataType="Real" address="400054">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_MaxIntakeTemperature_Startup" parent="Micro820" dataType="Real" address="400056">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_NumChannels" parent="Micro820" dataType="UInt" address="400058">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_PSIRating" parent="Micro820" dataType="UInt" address="400059">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_ToolType" parent="Micro820" dataType="UInt" address="400060">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_ToolVoltage" parent="Micro820" dataType="UInt" address="400061">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_VibrationX" parent="Micro820" dataType="UInt" address="400062">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_VibrationY" parent="Micro820" dataType="UInt" address="400063">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_WindingTemperature" parent="Micro820" dataType="UInt" address="400064">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="E300_kWh" parent="Micro820" dataType="Real" address="400065">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_kWh_Regen" parent="Micro820" dataType="Real" address="400067">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_SCAN_RATE" parent="Micro820" dataType="UInt" address="400069">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="Pressure_Shutdown" parent="Micro820" dataType="Real" address="400070">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="Pressure_Startup" parent="Micro820" dataType="Real" address="400072">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="Temp_Shutdown" parent="Micro820" dataType="Real" address="400074">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="Temp_Startup" parent="Micro820" dataType="Real" address="400076">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_LineFrequency" parent="Micro820" dataType="Real" address="400078">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1Current" parent="Micro820" dataType="Real" address="400080">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2Current" parent="Micro820" dataType="Real" address="400082">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3Current" parent="Micro820" dataType="Real" address="400084">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_AverageCurrent" parent="Micro820" dataType="Real" address="400086">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_PercentCurrentUnbalance" parent="Micro820" dataType="Real" address="400088">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1NVoltage" parent="Micro820" dataType="Real" address="400090">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2NVoltage" parent="Micro820" dataType="Real" address="400092">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3NVoltage" parent="Micro820" dataType="Real" address="400094">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_AverageLNVoltage" parent="Micro820" dataType="Real" address="400096">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1L2Voltage" parent="Micro820" dataType="Real" address="400098">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2L3Voltage" parent="Micro820" dataType="Real" address="400100">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3L1Voltage" parent="Micro820" dataType="Real" address="400102">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_AverageLLVoltage" parent="Micro820" dataType="Real" address="400104">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1RealPower" parent="Micro820" dataType="Real" address="400106">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2RealPower" parent="Micro820" dataType="Real" address="400108">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3RealPower" parent="Micro820" dataType="Real" address="400110">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_TotalRealPower" parent="Micro820" dataType="Real" address="400112">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1ReactivePower" parent="Micro820" dataType="Real" address="400114">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2ReactivePower" parent="Micro820" dataType="Real" address="400116">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3ReactivePower" parent="Micro820" dataType="Real" address="400118">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_TotalReactivePower" parent="Micro820" dataType="Real" address="400120">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1ApparentPower" parent="Micro820" dataType="Real" address="400122">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2ApparentPower" parent="Micro820" dataType="Real" address="400124">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3ApparentPower" parent="Micro820" dataType="Real" address="400126">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_TotalApparentPower" parent="Micro820" dataType="Real" address="400128">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1TruePowerFactor" parent="Micro820" dataType="Real" address="400130">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2TruePowerFactor" parent="Micro820" dataType="Real" address="400132">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3TruePowerFactor" parent="Micro820" dataType="Real" address="400134">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_ThreePhaseTruePowerFactor" parent="Micro820" dataType="Real" address="400136">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="Pressure_In" parent="Micro820" dataType="Real" address="400138">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
</modbusRegister>
</modbusServer>

View File

@@ -0,0 +1,474 @@
<modbusServer Version="2.0">
<modbusRegister name="DISCRETES_INPUTS">
<mapping variable="Auto_Mode" parent="Micro820" dataType="Bool" address="100001" va="0x470">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Test_Mode" parent="Micro820" dataType="Bool" address="100002" va="0x47a">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Hand_Mode" parent="Micro820" dataType="Bool" address="100003" va="0x46f">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Contactor_Status" parent="Micro820" dataType="Bool" address="100004" va="0x472">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Start_Permissive" parent="Micro820" dataType="Bool" address="100005" va="0x464">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Run_Permissive" parent="Micro820" dataType="Bool" address="100006" va="0x465">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_READ" parent="Micro820" dataType="Bool" address="100007" va="0x473">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_WRITE" parent="Micro820" dataType="Bool" address="100009" va="0x474">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="TripStatus" parent="Micro820" dataType="Bool" address="100010" va="0x478">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="WarningStatus" parent="Micro820" dataType="Bool" address="100011" va="0x479">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="OverloadTrip" parent="Micro820" dataType="Bool" address="100012" va="0x477">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="VoltageOK" parent="Micro820" dataType="Bool" address="100013" va="0x47b">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="TripResetCmd" parent="Micro820" dataType="Bool" address="100014" va="0x476">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="DigitalInput_Status_0" parent="Micro820" dataType="Bool" address="100015" va="0x45e">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="DigitalInput_Status_1" parent="Micro820" dataType="Bool" address="100016" va="0x45f">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="DigitalInput_Status_2" parent="Micro820" dataType="Bool" address="100017" va="0x460">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="DigitalInput_Status_3" parent="Micro820" dataType="Bool" address="100018" va="0x461">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="DigitalInput_Status_4" parent="Micro820" dataType="Bool" address="100019" va="0x468">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="DigitalInput_Status_5" parent="Micro820" dataType="Bool" address="100020" va="0x467">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Temp_Shutdown_Enabled" parent="Micro820" dataType="Bool" address="100021" va="0x469">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Pressure_Shutdown_Enabled" parent="Micro820" dataType="Bool" address="100022" va="0x46b">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Temp_Startup_Enabled" parent="Micro820" dataType="Bool" address="100023" va="0x46a">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Pressure_Startup_Enabled" parent="Micro820" dataType="Bool" address="100024" va="0x46c">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Start_Command" parent="Micro820" dataType="Bool" address="100025" va="0x462">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Stop_Command" parent="Micro820" dataType="Bool" address="100026" va="0x463">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Pressure_Switch_Enabled" parent="Micro820" dataType="Bool" address="100027" va="0x49c">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="Downhole_Tool_Enabled" parent="Micro820" dataType="Bool" address="100028" va="0x49d">
<MBVarInfo ElemType="Bool" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_GF_GroundFaultInhibitTime" parent="Micro820" dataType="USInt" address="100056" va="0x4bd">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceInhibitTime" parent="Micro820" dataType="USInt" address="100064" va="0x4c4">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceInhibitTime" parent="Micro820" dataType="USInt" address="100072" va="0x4c4">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceTripDelay" parent="Micro820" dataType="USInt" address="100080" va="0x4c5">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceTripLevel" parent="Micro820" dataType="USInt" address="100088" va="0x4c6">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_CurrentImbalanceWarningLevel" parent="Micro820" dataType="USInt" address="100096" va="0x4c7">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_JamInhibitTime" parent="Micro820" dataType="USInt" address="100104" va="0x4bf">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_JamTripDelay" parent="Micro820" dataType="USInt" address="100112" va="0x4c0">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_LineLossInhibitTime" parent="Micro820" dataType="USInt" address="100120" va="0x4d6">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_OvercurrentInhibitTime" parent="Micro820" dataType="USInt" address="100128" va="0x4cf">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_OvercurrentTripLevel" parent="Micro820" dataType="USInt" address="100136" va="0x4f8">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_OvercurrentWarningLevel" parent="Micro820" dataType="USInt" address="100144" va="0x4f9">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_StallEnabledTime" parent="Micro820" dataType="USInt" address="100152" va="0x4be">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_TripEnableCurrent" parent="Micro820" dataType="UInt" address="100160" va="0x514">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_UndercurrentInhibitTime" parent="Micro820" dataType="USInt" address="100176" va="0x4c8">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_C_WarningEnableControl" parent="Micro820" dataType="UInt" address="100184" va="0x522">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_UndercurrentTripLevel" parent="Micro820" dataType="USInt" address="100200" va="0x4f6">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_UndercurrentWarningLevel" parent="Micro820" dataType="USInt" address="100208" va="0x4f7">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_UnderloadInhibitTime" parent="Micro820" dataType="USInt" address="100216" va="0x4c1">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_UnderloadTripLevel" parent="Micro820" dataType="USInt" address="100224" va="0x4c2">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_UnderloadWarningLevel" parent="Micro820" dataType="USInt" address="100232" va="0x4c3">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_I_WarningEnableCurrent" parent="Micro820" dataType="UInt" address="100240" va="0x51c">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_PL_PhaseLossInhibitTime" parent="Micro820" dataType="USInt" address="100256" va="0x4bc">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_TCU_OLResetLevel" parent="Micro820" dataType="USInt" address="100264" va="0x4ba">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_TCU_OLWarningLevel" parent="Micro820" dataType="USInt" address="100272" va="0x4bb">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_TCU_TripClass" parent="Micro820" dataType="USInt" address="100280" va="0x4b9">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_OverfrequencyInhibitTime" parent="Micro820" dataType="USInt" address="100288" va="0x4e2">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_OverfrequencyTripLevel" parent="Micro820" dataType="USInt" address="100296" va="0x4e3">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_OverfrequencyWarningLevel" parent="Micro820" dataType="USInt" address="100304" va="0x4e4">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_OvervoltageInhibitTime" parent="Micro820" dataType="USInt" address="100312" va="0x4d9">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_PhaseRotationInhibitTime" parent="Micro820" dataType="USInt" address="100320" va="0x4da">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_PhaseRotationTripType" parent="Micro820" dataType="USInt" address="100328" va="0x4db">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_TripEnableVoltage" parent="Micro820" dataType="UInt" address="100336" va="0x516">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_V_UnderfrequencyInhibitTime" parent="Micro820" dataType="USInt" address="100352" va="0x4df">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_UnderfrequencyTripLevel" parent="Micro820" dataType="USInt" address="100360" va="0x4e0">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_UnderfrequencyWarningLevel" parent="Micro820" dataType="USInt" address="100368" va="0x4e1">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_UndervoltageInhibitTime" parent="Micro820" dataType="USInt" address="100376" va="0x4d8">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_VoltageImbalanceInhibitTime" parent="Micro820" dataType="USInt" address="100384" va="0x4dc">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_VoltageImbalanceTripLevel" parent="Micro820" dataType="USInt" address="100392" va="0x4dd">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_VoltageImbalanceWarningLevel" parent="Micro820" dataType="USInt" address="100400" va="0x4de">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_VoltageMode" parent="Micro820" dataType="USInt" address="100408" va="0x4d7">
<MBVarInfo ElemType="USInt" SubElemType="Any" DataTypeSize="1" />
</mapping>
<mapping variable="cfg_V_WarningEnableVoltage" parent="Micro820" dataType="UInt" address="100416" va="0x51e">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="TripStatusControl_INT" parent="Micro820" dataType="UInt" address="100432" va="0x538">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="TripStatusCurrent_INT" parent="Micro820" dataType="UInt" address="100448" va="0x532">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="TripStatusPower_INT" parent="Micro820" dataType="UInt" address="100464" va="0x536">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="TripStatusVoltage_INT" parent="Micro820" dataType="UInt" address="100480" va="0x534">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="WarningStatusControl_INT" parent="Micro820" dataType="UInt" address="100496" va="0x540">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="WarningStatusCurrent_INT" parent="Micro820" dataType="UInt" address="100512" va="0x53a">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="WarningStatusPower_INT" parent="Micro820" dataType="UInt" address="100528" va="0x53e">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="WarningStatusVoltage_INT" parent="Micro820" dataType="UInt" address="100544" va="0x53c">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
</modbusRegister>
<modbusRegister name="HOLDING_REGISTERS">
<mapping variable="cfg_C_FLASetting" parent="Micro820" dataType="Real" address="400001" va="0x574">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_C_TripEnableControl" parent="Micro820" dataType="UInt" address="400003" va="0x51a">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_GF_GroundFaultTripDelay" parent="Micro820" dataType="Real" address="400005" va="0x57c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_GF_GroundFaultTripLevel" parent="Micro820" dataType="Real" address="400007" va="0x580">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_GF_GroundFaultWarningDelay" parent="Micro820" dataType="Real" address="400009" va="0x584">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_I_CTPrimary" parent="Micro820" dataType="UInt" address="400011" va="0x52a">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_CTSecondary" parent="Micro820" dataType="UInt" address="400012" va="0x52c">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_JamTripLevel" parent="Micro820" dataType="UInt" address="400013" va="0x526">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_JamWarningLevel" parent="Micro820" dataType="UInt" address="400014" va="0x528">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_I_LineLossTripDelay" parent="Micro820" dataType="Real" address="400015" va="0x648">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_I_OvercurrentTripDelay" parent="Micro820" dataType="Real" address="400017" va="0x64c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_I_UndercurrentTripDelay" parent="Micro820" dataType="Real" address="400019" va="0x644">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_I_UnderloadTripDelay" parent="Micro820" dataType="Real" address="400021" va="0x58c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_PL_PhaseLossTripDelay" parent="Micro820" dataType="Real" address="400023" va="0x578">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_OverfrequencyTripDelay" parent="Micro820" dataType="Real" address="400025" va="0x5d4">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_OvervoltageTripDelay" parent="Micro820" dataType="Real" address="400027" va="0x5c0">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_OvervoltageTripLevel" parent="Micro820" dataType="Real" address="400029" va="0x5c4">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_OvervoltageWarningLevel" parent="Micro820" dataType="Real" address="400031" va="0x5c8">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_PTPrimary" parent="Micro820" dataType="UInt" address="400033" va="0x52e">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_V_PTSecondary" parent="Micro820" dataType="UInt" address="400034" va="0x530">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="cfg_V_UnderfrequencyTripDelay" parent="Micro820" dataType="Real" address="400035" va="0x5d0">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_UndervoltageTripDelay" parent="Micro820" dataType="Real" address="400037" va="0x5b4">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_UndervoltageTripLevel" parent="Micro820" dataType="Real" address="400039" va="0x5b8">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_UndervoltageWarningLevel" parent="Micro820" dataType="Real" address="400041" va="0x5bc">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="cfg_V_VoltageImbalanceTripDelay" parent="Micro820" dataType="Real" address="400043" va="0x5cc">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_DischargePressure" parent="Micro820" dataType="UInt" address="400045" va="0x4fe">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_DischargeTemperature" parent="Micro820" dataType="UInt" address="400046" va="0x4fc">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_DownholeStatus_INT" parent="Micro820" dataType="UInt" address="400047" va="0x512">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_IntakePressure" parent="Micro820" dataType="Real" address="400048" va="0x550">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_IntakeTemperature" parent="Micro820" dataType="Real" address="400050" va="0x54c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_MaxIntakePressure_Forever" parent="Micro820" dataType="UInt" address="400052" va="0x510">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_MaxIntakePressure_Startup" parent="Micro820" dataType="UInt" address="400053" va="0x50a">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_MaxIntakeTemperature_Forever" parent="Micro820" dataType="Real" address="400054" va="0x570">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_MaxIntakeTemperature_Startup" parent="Micro820" dataType="Real" address="400056" va="0x56c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="DH_NumChannels" parent="Micro820" dataType="UInt" address="400058" va="0x506">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_PSIRating" parent="Micro820" dataType="UInt" address="400059" va="0x50e">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_ToolType" parent="Micro820" dataType="UInt" address="400060" va="0x50c">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_ToolVoltage" parent="Micro820" dataType="UInt" address="400061" va="0x508">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_VibrationX" parent="Micro820" dataType="UInt" address="400062" va="0x500">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_VibrationY" parent="Micro820" dataType="UInt" address="400063" va="0x502">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="DH_WindingTemperature" parent="Micro820" dataType="UInt" address="400064" va="0x4fa">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="E300_kWh" parent="Micro820" dataType="Real" address="400065" va="0x564">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_kWh_Regen" parent="Micro820" dataType="Real" address="400067" va="0x568">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_SCAN_RATE" parent="Micro820" dataType="UInt" address="400069" va="0x504">
<MBVarInfo ElemType="UInt" SubElemType="Any" DataTypeSize="2" />
</mapping>
<mapping variable="Pressure_Shutdown" parent="Micro820" dataType="Real" address="400070" va="0x55c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="Pressure_Startup" parent="Micro820" dataType="Real" address="400072" va="0x560">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="Temp_Shutdown" parent="Micro820" dataType="Real" address="400074" va="0x554">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="Temp_Startup" parent="Micro820" dataType="Real" address="400076" va="0x558">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_LineFrequency" parent="Micro820" dataType="Real" address="400078" va="0x650">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1Current" parent="Micro820" dataType="Real" address="400080" va="0x654">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2Current" parent="Micro820" dataType="Real" address="400082" va="0x658">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3Current" parent="Micro820" dataType="Real" address="400084" va="0x65c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_AverageCurrent" parent="Micro820" dataType="Real" address="400086" va="0x660">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_PercentCurrentUnbalance" parent="Micro820" dataType="Real" address="400088" va="0x664">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1NVoltage" parent="Micro820" dataType="Real" address="400090" va="0x668">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2NVoltage" parent="Micro820" dataType="Real" address="400092" va="0x66c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3NVoltage" parent="Micro820" dataType="Real" address="400094" va="0x670">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_AverageLNVoltage" parent="Micro820" dataType="Real" address="400096" va="0x674">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1L2Voltage" parent="Micro820" dataType="Real" address="400098" va="0x678">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2L3Voltage" parent="Micro820" dataType="Real" address="400100" va="0x67c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3L1Voltage" parent="Micro820" dataType="Real" address="400102" va="0x680">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_AverageLLVoltage" parent="Micro820" dataType="Real" address="400104" va="0x684">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1RealPower" parent="Micro820" dataType="Real" address="400106" va="0x68c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2RealPower" parent="Micro820" dataType="Real" address="400108" va="0x690">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3RealPower" parent="Micro820" dataType="Real" address="400110" va="0x694">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_TotalRealPower" parent="Micro820" dataType="Real" address="400112" va="0x698">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1ReactivePower" parent="Micro820" dataType="Real" address="400114" va="0x69c">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2ReactivePower" parent="Micro820" dataType="Real" address="400116" va="0x6a0">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3ReactivePower" parent="Micro820" dataType="Real" address="400118" va="0x6a4">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_TotalReactivePower" parent="Micro820" dataType="Real" address="400120" va="0x6a8">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1ApparentPower" parent="Micro820" dataType="Real" address="400122" va="0x6ac">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2ApparentPower" parent="Micro820" dataType="Real" address="400124" va="0x6b0">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3ApparentPower" parent="Micro820" dataType="Real" address="400126" va="0x6b4">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_TotalApparentPower" parent="Micro820" dataType="Real" address="400128" va="0x6b8">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L1TruePowerFactor" parent="Micro820" dataType="Real" address="400130" va="0x6bc">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L2TruePowerFactor" parent="Micro820" dataType="Real" address="400132" va="0x6c0">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_L3TruePowerFactor" parent="Micro820" dataType="Real" address="400134" va="0x6c4">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="E300_ThreePhaseTruePowerFactor" parent="Micro820" dataType="Real" address="400136" va="0x6c8">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
<mapping variable="Pressure_In" parent="Micro820" dataType="Real" address="400138" va="0x6cc">
<MBVarInfo ElemType="Real" SubElemType="Any" DataTypeSize="4" />
</mapping>
</modbusRegister>
</modbusServer>

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,281 @@
PROGRAM Control
(* First Scan Variable Setting*)
IF (__SYSVA_FIRST_SCAN) THEN
Shutdown_Time := __SYSVA_CYCLEDATE;
Device_Status:= 'Startup';
Restart_Command := FALSE;
Restart_Allowed := FALSE;
Run_Permissive := FALSE;
Start_Permissive := FALSE;
cfg_READ := TRUE;
END_IF;
(*Convert kWh and kWh regen to REAL from LREAL for HMI use *)
E300_kWh := ANY_TO_REAL(E300.RealEnergyConsumedOdometer);
E300_kWh_Regen := ANY_TO_REAL(E300.RealEnergyGeneratedOdometer);
IF Downhole_Tool_Enabled THEN
(*Modbus Mapping*)
DH_IntakeTemperature := ANY_TO_REAL(Modbus_Read0[2]) / 10.0;
DH_IntakePressure := ANY_TO_REAL(Modbus_Read0[3]);
DH_NumChannels := Modbus_Read0[10];
DH_ToolVoltage := Modbus_Read0[11];
DH_MaxIntakeTemperature_Startup := ANY_TO_REAL(Modbus_Read0[40]) / 10.0;
DH_MaxIntakePressure_Startup := Modbus_Read0[41];
DH_DownholeStatus_INT := Modbus_Read0[99];
DH_Fluid_Level := (DH_IntakePressure - 14.0) * (1.0 / 0.433);
CASE Modbus_Read0[99] OF
0: DH_DownholeStatus := 'OK';
1: DH_DownholeStatus := 'Connecting';
2: DH_DownholeStatus := 'Open Circuit';
3: DH_DownholeStatus := 'Shorted';
4: DH_DownholeStatus := 'Cannot Decode';
ELSE
DH_DownholeStatus := 'Error';
END_CASE;
DH_ToolType := Modbus_Read1000[5];
DH_PSIRating := Modbus_Read1000[7] * 1000;
DH_MaxIntakeTemperature_Forever := ANY_TO_REAL(Modbus_Read1000[8]) / 10.0;
DH_MaxIntakePressure_Forever := Modbus_Read1000[9];
ELSE
DH_DownholeStatus := 'Disabled';
Pressure_Shutdown_Enabled := FALSE;
Pressure_Startup_Enabled := FALSE;
Temp_Shutdown_Enabled := FALSE;
Temp_Startup_Enabled := FALSE;
END_IF;
(*IO Mapping*)
IF NOT Test_Mode THEN
Contactor_Status := DigitalInput_Status_0;
Start_Button := DigitalInput_Status_1;
Auto_Mode := DigitalInput_Status_2;
Hand_Mode := DigitalInput_Status_3;
LinearScale_Pressure(13107.0, 65535.0, Pressure_EU_Min, Pressure_EU_Max, ANY_TO_REAL(_IO_P1_AI_00));
Pressure_In := LinearScale_Pressure.EU_Out;
ELSE
Contactor_Status := E300_OUTPUT_CMD_VALUE;
VoltageOK := TRUE;
END_IF;
IF Pressure_Transducer_Enabled AND
Contactor_Status AND
ANY_TO_DINT(Run_Time) > (Pressure_Alarm_Startup_Delay * 1000) THEN
IF Pressure_In >= Pressure_Hi_SP THEN
Pressure_Hi := TRUE;
Pressure_Lo := FALSE;
ELSIF Pressure_in <= Pressure_Lo_SP THEN
Pressure_Hi := FALSE;
Pressure_Lo := TRUE;
ELSE
Pressure_Hi := FALSE;
Pressure_Lo := FALSE;
END_IF;
IF NOT Pressure_Hi AND NOT Pressure_Lo THEN
Pressure_OK := TRUE;
Pressure_OOT_Scans := 0;
Pressure_OOT_Seconds := 0;
ELSE
Pressure_OOT_Scans := Pressure_OOT_Scans + 1;
Pressure_OOT_Seconds := Pressure_OOT_Scans * ANY_TO_UDINT(__SYSVA_TCYCURRENT) / 1000;
END_IF;
IF Pressure_OOT_Seconds > Pressure_Alarm_Delay THEN
Pressure_OK := FALSE;
END_IF;
ELSE
Pressure_OK := TRUE;
END_IF;
(* Pressure should be above the startup pressure setpoint and temperature should be below the startup temp setpoint to begin*)
IF ((((DH_IntakePressure > Pressure_Startup) AND Pressure_Startup_Enabled) OR NOT Pressure_Startup_Enabled) AND
(((DH_IntakeTemperature < Temp_Startup) AND Temp_Startup_Enabled) OR NOT Temp_Startup_Enabled) AND
(Hand_Mode OR Auto_Mode OR Test_Mode) AND
(NOT TripStatus) AND
VoltageOK
) THEN
Start_Permissive := TRUE;
ELSE
Start_Permissive := FALSE;
Device_Status := 'Not ready to start';
END_IF;
(* Pressure should be be above the shutdown pressure and temperature should be below shutdown temp setpoint to continue to run *)
IF ((((DH_IntakePressure > Pressure_Shutdown) AND Pressure_Shutdown_Enabled) OR NOT Pressure_Shutdown_Enabled) AND
(((DH_IntakeTemperature < Temp_Shutdown) AND Temp_Shutdown_Enabled) OR NOT Temp_Shutdown_Enabled) AND
(Hand_Mode OR Auto_Mode OR Test_Mode)
AND (NOT TripStatus)
AND Pressure_OK
) THEN
Run_Permissive := TRUE;
ELSE
Run_Permissive := FALSE;
END_IF;
IF (NOT Run_Permissive AND E300_OUTPUT_CMD_VALUE) THEN
Device_Status := 'Lost Run Permissive';
Shutdown_Time := __SYSVA_CYCLEDATE;
END_IF;
(* Run only if commanded to start and start permissive is met or already running and not being told to stop *)
IF ((((Start_Button OR Start_Command OR (Restart_Allowed AND Restart_Command)) AND Start_Permissive) OR E300_OUTPUT_CMD_VALUE) AND
(NOT Stop_Command) AND Run_Permissive) THEN
E300_OUTPUT_CMD_VALUE := TRUE;
Restart_Command:= FALSE;
Start_Command := FALSE;
IF NOT Start_Time_Set THEN
Start_Time := __SYSVA_CYCLEDATE;
Start_Time_Set := TRUE;
END_IF;
IF Contactor_Status THEN
Device_Status := 'Running';
Run_Time := __SYSVA_CYCLEDATE - Start_Time;
END_IF;
ELSE
E300_OUTPUT_CMD_VALUE := FALSE;
END_IF;
IF E300_OUTPUT_CMD_VALUE AND NOT Contactor_Status THEN
Start_Command := TRUE;
Device_Status := 'Contactor Failure, Recovering';
IF NOT E300_Output_Enable THEN
IF E300_Output_Toggled THEN
E300_Output_Enable := TRUE;
END_IF;
E300_Output_Toggled := TRUE;
ELSE
IF NOT E300_Output_Toggled THEN
E300_Output_Enable := FALSE;
END_IF;
END_IF;
END_IF;
(* If run permissive goes false, do not allow a restart for a specified amount of time *)
IF (Auto_Mode AND (NOT OverloadTrip) AND NOT Contactor_Status AND Restart_Allowed) THEN
IF (__SYSVA_CYCLEDATE - Shutdown_Time) > Downtime_Time_Parameter THEN
IF (NOT Restart_Command) THEN
TripResetCmd := TRUE;
Restart_Command := True;
END_IF;
ELSE
(* Attempt to clear trip every 15 seconds *)
(*IF NOT Downtime_Timer.Q AND TripStatus THEN
Downtime_Timer(TRUE, Clear_Trip_Cycle);
ELSE
TripResetCmd := TRUE;
END_IF;*)
Restart_Command := FALSE;
Time_Until_Startup := Downtime_Time_Parameter - (__SYSVA_CYCLEDATE - Shutdown_Time);
Time_Until_Startup_String := ANY_TO_STRING(Time_Until_Startup);
IF Auto_Mode THEN
Device_Status := 'Waiting to attempt restart ' + Time_Until_Startup_String;
END_IF;
END_IF;
ELSIF (Auto_Mode AND OverloadTrip AND NOT Contactor_Status AND Restart_Allowed) THEN
IF (__SYSVA_CYCLEDATE - Shutdown_Time) > Downtime_Time_Parameter_OL THEN
IF (NOT Restart_Command) THEN
Restart_Command := True;
END_IF;
ELSE
Restart_Command := FALSE;
Time_Until_Startup := Downtime_Time_Parameter - (__SYSVA_CYCLEDATE - Downtime_Time_Parameter_OL);
Time_Until_Startup_String := ANY_TO_STRING(Time_Until_Startup);
IF Auto_Mode THEN
Device_Status := 'Waiting to restart (OL Timer)' + Time_Until_Startup_String;
END_IF;
END_IF;
END_IF;
IF NOT Auto_Mode THEN
Restart_Command := FALSE;
Restart_Allowed := FALSE;
END_IF;
(* If the pump hasn't been started by the user, don't allow it to auto-restart *)
IF (Start_Command OR Start_Button) AND Start_Permissive THEN
Restart_Allowed := TRUE;
END_IF;
IF Stop_Command THEN
Restart_Allowed := FALSE;
Device_Status := 'User Stopped';
END_IF;
IF NOT Contactor_Status THEN
Start_Time_Set := FALSE;
END_IF;
(* Start Permissive Status *)
IF Pressure_Startup_Enabled THEN
IF (DH_IntakePressure > Pressure_Startup) THEN
SP_Pressure := TRUE;
ELSE
SP_Pressure := FALSE;
END_IF;
ELSE
SP_Pressure := TRUE;
END_IF;
IF Temp_Startup_Enabled THEN
IF DH_IntakeTemperature < Temp_Startup THEN
SP_Temperature := TRUE;
ELSE
SP_Temperature := FALSE;
END_IF;
ELSE
SP_Temperature := TRUE;
END_IF;
IF Hand_Mode OR Auto_Mode OR Test_Mode THEN
SP_Mode := TRUE;
ELSE
SP_Mode := FALSE;
END_IF;
SP_Trip := NOT TripStatus;
SP_Voltage := VoltageOK;
(* Run Permissive Status *)
IF Pressure_Shutdown_Enabled THEN
IF DH_IntakePressure > Pressure_Shutdown THEN
RP_Pressure := TRUE;
ELSE
RP_Pressure := FALSE;
END_IF;
ELSE
RP_Pressure := TRUE;
END_IF;
IF Temp_Shutdown_Enabled THEN
IF DH_IntakeTemperature > Temp_Shutdown THEN
RP_Temperature := TRUE;
ELSE
RP_Temperature := FALSE;
END_IF;
ELSE
RP_Temperature := TRUE;
END_IF;
IF Hand_Mode OR Auto_Mode OR Test_Mode THEN
RP_Mode := TRUE;
ELSE
RP_Mode := FALSE;
END_IF;
RP_Trip := NOT TripStatus;
RP_TubingPressure := Pressure_OK;
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,38 @@
FUNCTION_BLOCK DINT_TO_USINT
OUT_SINT_1.0 := INP_DINT.0;
OUT_SINT_1.1 := INP_DINT.1;
OUT_SINT_1.2 := INP_DINT.2;
OUT_SINT_1.3 := INP_DINT.3;
OUT_SINT_1.4 := INP_DINT.4;
OUT_SINT_1.5 := INP_DINT.5;
OUT_SINT_1.6 := INP_DINT.6;
OUT_SINT_1.7 := INP_DINT.7;
OUT_SINT_2.0 := INP_DINT.8;
OUT_SINT_2.1 := INP_DINT.9;
OUT_SINT_2.2 := INP_DINT.10;
OUT_SINT_2.3 := INP_DINT.11;
OUT_SINT_2.4 := INP_DINT.12;
OUT_SINT_2.5 := INP_DINT.13;
OUT_SINT_2.6 := INP_DINT.14;
OUT_SINT_2.7 := INP_DINT.15;
OUT_SINT_3.0 := INP_DINT.16;
OUT_SINT_3.1 := INP_DINT.17;
OUT_SINT_3.2 := INP_DINT.18;
OUT_SINT_3.3 := INP_DINT.19;
OUT_SINT_3.4 := INP_DINT.20;
OUT_SINT_3.5 := INP_DINT.21;
OUT_SINT_3.6 := INP_DINT.22;
OUT_SINT_3.7 := INP_DINT.23;
OUT_SINT_4.0 := INP_DINT.24;
OUT_SINT_4.1 := INP_DINT.25;
OUT_SINT_4.2 := INP_DINT.26;
OUT_SINT_4.3 := INP_DINT.27;
OUT_SINT_4.4 := INP_DINT.28;
OUT_SINT_4.5 := INP_DINT.29;
OUT_SINT_4.6 := INP_DINT.30;
OUT_SINT_4.7 := INP_DINT.31;
END_FUNCTION_BLOCK

View File

@@ -0,0 +1,20 @@
READDOWNHOLEDATA
CONTROL
E300DATA
RA_CIP_ELECTRICAL_ENERGY_OBJ
RA_E300_OUTPUT_CONTROL
READE300IO
READE300CONFIG
READE300TRIPRESET
READE300PARAM
USINT_TO_UDINT
USINT_TO_DINT
USINT_TO_UINT
USINT_TO_SINT
UDINT_TO_USINT
DINT_TO_USINT
UINT_TO_USINT
SINT_TO_USINT
WRITEE300CONFIG
WRITEE300TRIPRESET
LINEARSCALE

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>

File diff suppressed because it is too large Load Diff

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

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,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,10 @@
[MEMORY]
Offset0=0x43C8
Offset1=0x4BC8
Offset2=0x4BC8
Offset3=0x4BC8
Memory Usage Estimate(Code)=0x9878
Memory Usage Estimate(Data)=0x8FAC
Memory Usage Estimate(Retain)=0x2B
Memory Usage Estimate(Temporary variables)=0x23D5
Offset4=0x414

View File

@@ -0,0 +1,10 @@
[MEMORY]
Offset0=0x43C8
Offset1=0x4BC8
Offset2=0x4BC8
Offset3=0x4BC8
Memory Usage Estimate(Code)=0x9878
Memory Usage Estimate(Data)=0x8FAC
Memory Usage Estimate(Retain)=0x2B
Memory Usage Estimate(Temporary variables)=0x23D5
Offset4=0x414

View File

@@ -0,0 +1,28 @@
[MODIF]
POU=Y
TYPE=Y
LEVEL1=Y
IO=Y
RETAIN=Y
INSTDEF=Y
VARDEF=Y
INIT_INST=Y
ADD_DEL=Y
VARSIZE=Y
IO_DEF=Y
LAST_VA=Y
[RESULT]
ON_LINE=Y
TBL_CONF=Y
CRC_ORG=0x38F53B12
CRC_OLD=0x38F53B12
CRC_NEW=0x38F53B12
DAT_ORG=1454092613
DAT_OLD=1454092613
DAT_NEW=1454095385
VER_ORG=18
VER_OLD=18
VER_NEW=19
CRC_ALL_OLD=0x67EF57F7
CRC_ALL_NEW=0x67EF57F7

View File

@@ -0,0 +1,28 @@
[MODIF]
POU=Y
TYPE=Y
LEVEL1=Y
IO=Y
RETAIN=Y
INSTDEF=Y
VARDEF=Y
INIT_INST=Y
ADD_DEL=Y
VARSIZE=Y
IO_DEF=Y
LAST_VA=Y
[RESULT]
ON_LINE=Y
TBL_CONF=Y
CRC_ORG=0x38F53B12
CRC_OLD=0x38F53B12
CRC_NEW=0x38F53B12
DAT_ORG=1454092613
DAT_OLD=1454092613
DAT_NEW=1454095385
VER_ORG=18
VER_OLD=18
VER_NEW=19
CRC_ALL_OLD=0x67EF57F7
CRC_ALL_NEW=0x67EF57F7

View File

@@ -0,0 +1,9 @@
[MEMORY]
Memory Usage Estimate(Temporary variables)=0x23E0
Biggest online change user variable memory block size=0x800
Currently added user variables=0x0
Total data size=0x67A8
User variables size=0x43C8
Maximum size for temporary variables=0x43E0
Memory Usage Estimate(Data)=0x8FA8
Free memory for user variables=0x800

View File

@@ -0,0 +1,9 @@
[MEMORY]
Memory Usage Estimate(Temporary variables)=0x23E0
Biggest online change user variable memory block size=0x800
Currently added user variables=0x0
Total data size=0x67A8
User variables size=0x43C8
Maximum size for temporary variables=0x43E0
Memory Usage Estimate(Data)=0x8FA8
Free memory for user variables=0x800

File diff suppressed because it is too large Load Diff

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,210 @@
FUNCTION_BLOCK RA_CIP_ELECTRICAL_ENERGY_OBJ
(*=====================================================================================================================================
[UDFB Name] :RA_CIP_ELECTRICAL_ENERGY_OBJECT (v7)
[Category] :Communication
[Description] :Read the CIP Electrical Energy Object Attributes from a compatible device using Explicit Messaging
[Author] :Rockwell Automation
[Created using CCW version] :7.0
[FeedBack] :RASampleCode@ra.rockwell.com
[Revison History] :2014-December - Original Release for Version 7
[Notes] :Tested at release with E300 and PowerMonitor 5000
=====================================================================================================================================*)
FBENO := FBEN;
(*-------- Initialize --------*)
FBEN_RTRIG(FBEN);
IF (__SYSVA_FIRST_SCAN OR FBEN_RTRIG.Q) THEN
MSGProdName_EN := TRUE;
MSGObjRead_EN := FALSE;
ProdNameCtrlCfg.TriggerType := 5000;
IF UpdateRate_ms < 1000 THEN
ObjReadCtrlCfg.TriggerType := 1000; (*Triggers message every 1000 ms while MSGObjRead_EN is true*)
ELSE
ObjReadCtrlCfg.TriggerType := ANY_TO_UDINT(UpdateRate_ms);
END_IF;
ProdNameTargetCfg.Path := '4,'+ IPAddress;
ProdNameTargetCfg.CipConnMode := 0; (*0-unconnected, 1-Class 3*)
ProdNameTargetCfg.UcmmTimeout := 250; (*Unconnected message time out, Set to 0 means 3000ms, range 250-10000*)
ProdNameTargetCfg.ConnMsgTimeout:= 800; (*Class3 time out, Set to 0 means 3000ms, range 800-10000*)
ProdNameTargetCfg.ConnClose := FALSE;(*Don't close the connection upon message completion*)
ProdNameAppCfg.Service := 14; (*Service code 0Eh for Get Single Attribute*)
ProdNameAppCfg.Class := 1; (*Class code 01h for Identity Object*)
ProdNameAppCfg.Instance := 1; (*Instance 1*)
ProdNameAppCfg.Attribute := 7; (*Attribute 7 for Product Name*)
ObjReadTargetCfg.Path := '4,'+ IPAddress;
ObjReadTargetCfg.CipConnMode := 0; (*0-unconnected, 1-Class 3*)
ObjReadTargetCfg.UcmmTimeout := 250; (*Unconnected message time out, Set to 0 means 3000ms, range 250-10000*)
ObjReadTargetCfg.ConnMsgTimeout := 800; (*Class3 time out, Set to 0 means 3000ms, range 800-10000*)
ObjReadTargetCfg.ConnClose := FALSE;(*Don't close the connection upon message completion*)
ObjReadAppCfg.Service := 1; (*Service code 01h for Get Attributes All*)
ObjReadAppCfg.Class := 79; (*Class code 4Fh for Electrical Energy Object*)
ObjReadAppCfg.Instance := 1; (*Instance 1*)
ObjReadAppCfg.Attribute := 0; (*Attribute 0*)
CIPErrorStatus := NoErrorStatus;
ProductName[1] := '';
EEObjAttributes := ZeroedAttributes;
FOR i := 0 TO 40 DO
EnergyINTArray[i]:= 0;
END_FOR;
FOR i := 0 TO 30 DO
MeteringREALArray[i]:= 0.0;
END_FOR;
END_IF;
FBEN_FTRIG(FBEN);
IF FBEN_FTRIG.Q THEN
CIPErrorStatus := NoErrorStatus;
ProductName[1] := '';
EEObjAttributes := ZeroedAttributes;
FOR i := 0 TO 40 DO
EnergyINTArray[i]:= 0;
END_FOR;
FOR i := 0 TO 30 DO
MeteringREALArray[i]:= 0.0;
END_FOR;
END_IF;
(*-------- Main Routine --------*)
IF FBEN THEN
MSGProdName_Q_RTRIG(MSGProdName.Q);
MSGObjRead_Q_RTRIG(MSGObjRead.Q);
IF MSGProdName_Q_RTRIG.Q THEN
CIPErrorStatus := MSGProdName.Status;
ProdName_COP(TRUE,ProdNameResData,0,ProductName,0,1,FALSE);
MSGProdName_EN := FALSE;
MSGObjRead_EN := TRUE;
END_IF;
IF MSGObjRead_Q_RTRIG.Q THEN
CIPErrorStatus := MSGObjRead.Status;
INT_COP(TRUE,ObjReadResData,0,EnergyINTArray,0,40,TRUE);
REAL_COP(TRUE,ObjReadResData,80,MeteringREALArray,0,31,TRUE);
Phase_COP(TRUE,ObjReadResData,204,EnergyINTArray,40,1,TRUE);
EEObjAttributes.RealEnergyConsumedOdometer := ANY_TO_LREAL(EnergyINTArray[4])*1.0E+9 +
ANY_TO_LREAL(EnergyINTArray[3])*1.0E+6 +
ANY_TO_LREAL(EnergyINTArray[2])*1.0E+3 +
ANY_TO_LREAL(EnergyINTArray[1]) +
ANY_TO_LREAL(EnergyINTArray[0])*1.0E-3;
EEObjAttributes.RealEnergyGeneratedOdometer := ANY_TO_LREAL(EnergyINTArray[9])*1.0E+9 +
ANY_TO_LREAL(EnergyINTArray[8])*1.0E+6 +
ANY_TO_LREAL(EnergyINTArray[7])*1.0E+3 +
ANY_TO_LREAL(EnergyINTArray[6]) +
ANY_TO_LREAL(EnergyINTArray[5])*1.0E-3;
EEObjAttributes.RealEnergyNetOdometer := ANY_TO_LREAL(EnergyINTArray[14])*1.0E+9 +
ANY_TO_LREAL(EnergyINTArray[13])*1.0E+6 +
ANY_TO_LREAL(EnergyINTArray[12])*1.0E+3 +
ANY_TO_LREAL(EnergyINTArray[11]) +
ANY_TO_LREAL(EnergyINTArray[10])*1.0E-3;
EEObjAttributes.ReactiveEnergyConsumedOdometer := ANY_TO_LREAL(EnergyINTArray[19])*1.0E+9 +
ANY_TO_LREAL(EnergyINTArray[18])*1.0E+6 +
ANY_TO_LREAL(EnergyINTArray[17])*1.0E+3 +
ANY_TO_LREAL(EnergyINTArray[16]) +
ANY_TO_LREAL(EnergyINTArray[15])*1.0E-3;
EEObjAttributes.ReactiveEnergyGeneratedOdometer := ANY_TO_LREAL(EnergyINTArray[24])*1.0E+9 +
ANY_TO_LREAL(EnergyINTArray[23])*1.0E+6 +
ANY_TO_LREAL(EnergyINTArray[22])*1.0E+3 +
ANY_TO_LREAL(EnergyINTArray[21]) +
ANY_TO_LREAL(EnergyINTArray[20])*1.0E-3;
EEObjAttributes.ReactiveEnergyNetOdometer := ANY_TO_LREAL(EnergyINTArray[29])*1.0E+9 +
ANY_TO_LREAL(EnergyINTArray[28])*1.0E+6 +
ANY_TO_LREAL(EnergyINTArray[27])*1.0E+3 +
ANY_TO_LREAL(EnergyINTArray[26]) +
ANY_TO_LREAL(EnergyINTArray[25])*1.0E-3;
EEObjAttributes.ApparentEnergyOdometer := ANY_TO_LREAL(EnergyINTArray[34])*1.0E+9 +
ANY_TO_LREAL(EnergyINTArray[33])*1.0E+6 +
ANY_TO_LREAL(EnergyINTArray[32])*1.0E+3 +
ANY_TO_LREAL(EnergyINTArray[31]) +
ANY_TO_LREAL(EnergyINTArray[30])*1.0E-3;
EEObjAttributes.KiloampereHoursOdometer := ANY_TO_LREAL(EnergyINTArray[39])*1.0E+9 +
ANY_TO_LREAL(EnergyINTArray[38])*1.0E+6 +
ANY_TO_LREAL(EnergyINTArray[37])*1.0E+3 +
ANY_TO_LREAL(EnergyINTArray[36]) +
ANY_TO_LREAL(EnergyINTArray[35])*1.0E-3;
EEObjAttributes.LineFrequency := MeteringREALArray[0];
EEObjAttributes.L1Current := MeteringREALArray[1];
EEObjAttributes.L2Current := MeteringREALArray[2];
EEObjAttributes.L3Current := MeteringREALArray[3];
EEObjAttributes.AverageCurrent := MeteringREALArray[4];
EEObjAttributes.PercentCurrentUnbalance := MeteringREALArray[5];
EEObjAttributes.L1NVoltage := MeteringREALArray[6];
EEObjAttributes.L2NVoltage := MeteringREALArray[7];
EEObjAttributes.L3NVoltage := MeteringREALArray[8];
EEObjAttributes.AverageLNVoltage := MeteringREALArray[9];
EEObjAttributes.L1L2Voltage := MeteringREALArray[10];
EEObjAttributes.L2L3Voltage := MeteringREALArray[11];
EEObjAttributes.L3L1Voltage := MeteringREALArray[12];
EEObjAttributes.AverageLLVoltage := MeteringREALArray[13];
EEObjAttributes.PercentVoltageUnbalance := MeteringREALArray[14];
EEObjAttributes.L1RealPower := MeteringREALArray[15];
EEObjAttributes.L2RealPower := MeteringREALArray[16];
EEObjAttributes.L3RealPower := MeteringREALArray[17];
EEObjAttributes.TotalRealPower := MeteringREALArray[18];
EEObjAttributes.L1ReactivePower := MeteringREALArray[19];
EEObjAttributes.L2ReactivePower := MeteringREALArray[20];
EEObjAttributes.L3ReactivePower := MeteringREALArray[21];
EEObjAttributes.TotalReactivePower := MeteringREALArray[22];
EEObjAttributes.L1ApparentPower := MeteringREALArray[23];
EEObjAttributes.L2ApparentPower := MeteringREALArray[24];
EEObjAttributes.L3ApparentPower := MeteringREALArray[25];
EEObjAttributes.TotalApparentPower := MeteringREALArray[26];
EEObjAttributes.L1TruePowerFactor := MeteringREALArray[27];
EEObjAttributes.L2TruePowerFactor := MeteringREALArray[28];
EEObjAttributes.L3TruePowerFactor := MeteringREALArray[29];
EEObjAttributes.ThreePhaseTruePowerFactor := MeteringREALArray[30];
CASE EnergyINTArray[40] OF
1: EEObjAttributes.PhaseRotation := 'ABC';
2: EEObjAttributes.PhaseRotation := 'ACB';
ELSE
EEObjAttributes.PhaseRotation := 'None';
END_CASE;
END_IF;
MSGProdName_Err_RTRIG(MSGProdName.Status.Error);
MSGObjRead_Err_RTRIG(MSGObjRead.Status.Error);
IF MSGProdName_Err_RTRIG.Q THEN
CIPErrorStatus := MSGProdName.Status;
ProductName[1] := '';
END_IF;
IF MSGObjRead_Err_RTRIG.Q THEN
MSGProdName_EN := TRUE;
MSGObjRead_EN := FALSE;
CIPErrorStatus := MSGObjRead.Status;
ProductName[1] := '';
EEObjAttributes := ZeroedAttributes;
FOR i := 0 TO 40 DO
EnergyINTArray[i]:= 0;
END_FOR;
FOR i := 0 TO 30 DO
MeteringREALArray[i]:= 0.0;
END_FOR;
END_IF;
ELSE
MSGProdName_EN := FALSE;
MSGObjRead_EN := FALSE;
END_IF;
MSGProdName(MSGProdName_EN, ProdNameCtrlCfg, ProdNameAppCfg, ProdNameTargetCfg,, 0, ProdNameResData);
MSGObjRead(MSGObjRead_EN, ObjReadCtrlCfg, ObjReadAppCfg, ObjReadTargetCfg,, 0, ObjReadResData);
END_FUNCTION_BLOCK

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,123 @@
FUNCTION_BLOCK RA_E300_OUTPUT_CONTROL
(*=====================================================================================================================================
[UDFB Name] :RA_E300_OUTPUT_CONTROL
[Category] :Communication
[Description] :Control E300 Control Module and Digital Expansion Module output points using Explicit Messaging
[Author] :Rockwell Automation
[Created using CCW version] :8.0
[FeedBack] :RASampleCode@ra.rockwell.com
[Revison History] :2015-October - Original Release for Version 8
[Notes] :
=====================================================================================================================================*)
MSGWriteOutput_EN := TRUE;
FBENO := FBEN;
(*-------- Initialize --------*)
FBEN_RTRIG(FBEN);
IF (__SYSVA_FIRST_SCAN OR FBEN_RTRIG.Q) THEN
MSGProdName_EN := TRUE;
ProdNameCtrlCfg.TriggerType := 5000;
ProdNameTargetCfg.Path := '4,'+ IPAddress;
ProdNameTargetCfg.CipConnMode := 0; (*0-unconnected, 1-Class 3*)
ProdNameTargetCfg.UcmmTimeout := 250; (*Unconnected message time out, Set to 0 means 3000ms, range 250-10000*)
ProdNameTargetCfg.ConnMsgTimeout := 800; (*Class3 time out, Set to 0 means 3000ms, range 800-10000*)
ProdNameTargetCfg.ConnClose := FALSE;(*Don't close the connection upon message completion*)
ProdNameAppCfg.Service := 14; (*Service code 0Eh for Get Single Attribute*)
ProdNameAppCfg.Class := 1; (*Class code 01h for Identity Object*)
ProdNameAppCfg.Instance := 1; (*Instance 1*)
ProdNameAppCfg.Attribute := 7; (*Attribute 7 for Product Name*)
WriteOutputCtrlCfg.TriggerType := 1000;
WriteOutputTargetCfg.Path := '4,'+ IPAddress;
WriteOutputTargetCfg.CipConnMode := 1; (*0-unconnected, 1-Class 3*)
WriteOutputTargetCfg.UcmmTimeout := 0; (*Unconnected message time out, Set to 0 means 3000ms, range 250-10000*)
WriteOutputTargetCfg.ConnMsgTimeout := 0; (*Class3 time out, Set to 0 means 3000ms, range 800-10000*)
WriteOutputTargetCfg.ConnClose := FALSE;(*Don't close the connection upon message completion*)
WriteOutputAppCfg.Service := 16; (*Service code 10h for Set Attributes Single*)
WriteOutputAppCfg.Class := 9; (*Class code 09h for Discrete Output Point Object*)
WriteOutputAppCfg.Instance := ANY_TO_UDINT(OutputNumber+1);
WriteOutputAppCfg.Attribute := 3; (*Set Value 0=OFF, 1=ON*)
CIPErrorStatus := NoErrorStatus;
ProductName[1] := '';
SettingApplied := FALSE;
CASE OutputNumber OF
0: OutputName:= 'OutputPt00';
1: OutputName:= 'OutputPt01';
2: OutputName:= 'OutputPt02';
3: OutputName:= 'OutDigMod1Pt00';
4: OutputName:= 'OutDigMod1Pt01';
5: OutputName:= 'OutDigMod2Pt00';
6: OutputName:= 'OutDigMod2Pt01';
7: OutputName:= 'OutDigMod3Pt00';
8: OutputName:= 'OutDigMod3Pt01';
9: OutputName:= 'OutDigMod4Pt00';
10: OutputName:= 'OutDigMod4Pt01';
ELSE
OutputName:= 'Invalid OutputNumber';
END_CASE;
END_IF;
FBEN_FTRIG(FBEN);
IF FBEN_FTRIG.Q THEN
CIPErrorStatus := NoErrorStatus;
SettingApplied := FALSE;
END_IF;
(*-------- Main Routine --------*)
IF FBEN AND OutputNumber<=10 THEN
WriteOutputReqData[1] := ANY_TO_USINT(OutputSetting); (*0=OFF, 1=ON*)
MSGProdName_Q_RTRIG(MSGProdName.Q);
MSGWriteOutput_Q_RTRIG(MSGWriteOutput.Q);
OutputSetting_RTRIG(OutputSetting);
OutputSetting_FTRIG(OutputSetting);
IF MSGProdName_Q_RTRIG.Q THEN
CIPErrorStatus := MSGProdName.Status;
ProdName_COP(TRUE,ProdNameResData,0,ProductName,0,1,FALSE);
IF (LEFT(ProductName[1],4)='E300') THEN
MSGProdName_EN := FALSE;
MSGWriteOutput_EN := TRUE;
ELSE
OutputName := 'Not An E300';
END_IF;
END_IF;
IF MSGWriteOutput_Q_RTRIG.Q THEN
SettingApplied := TRUE;
(*MSGWriteOutput_EN := FALSE;*)
END_IF;
IF (OutputSetting_RTRIG.Q OR OutputSetting_FTRIG.Q) AND (LEFT(ProductName[1],4)='E300') THEN
SettingApplied := FALSE;
MSGWriteOutput_EN := TRUE;
END_IF;
MSGProdName_Err_RTRIG(MSGProdName.Status.Error);
MSGWriteOutput_Err_RTRIG(MSGWriteOutput.Status.Error);
IF MSGProdName_Err_RTRIG.Q THEN
CIPErrorStatus := MSGProdName.Status;
ProductName[1] := '';
END_IF;
IF MSGWriteOutput_Err_RTRIG.Q THEN
MSGWriteOutput_EN := FALSE;
CIPErrorStatus := MSGWriteOutput.Status;
ProductName[1] := '';
MSGProdName_EN := TRUE;
END_IF;
ELSE
MSGProdName_EN := FALSE;
MSGWriteOutput_EN := FALSE;
END_IF;
MSGProdName(MSGProdName_EN, ProdNameCtrlCfg, ProdNameAppCfg, ProdNameTargetCfg,, 0, ProdNameResData);
MSGWriteOutput(MSGWriteOutput_EN, WriteOutputCtrlCfg, WriteOutputAppCfg, WriteOutputTargetCfg, WriteOutputReqData, 1,);
END_FUNCTION_BLOCK

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<Root Version="6">
<LanguageContainerStyle DisplayGrid="false" FunctionBlockInstanceName="true" VariableDisplayMode="NameAndAlias" VariableAlpha="255" VariableTextColor="windowtext" VariableOnlineTextColor="Red" VariableBackgroundColor="White" VariableGradientColor="White" Font="Microsoft Sans Serif, 8pt" CellWidth="30" CellHeight="25" NbCellsShapeWidth="4" NbCellsShapeHeight="2" CoilAllAligned="true" RungColor="WhiteSmoke" LabelColor="LightGoldenrodYellow" CommentColor="White" TextCommentColor="Green" PowerRailColor="Silver" DisplayBlockImage="true" DisplayComment="true" PenWidth="2" DisplayLabel="false" OperatorBlockBackgroundColor="buttonface" OperatorBlockGradientColor="buttonface" FunctionBackgroundColor="Ivory" FunctionGradientColor="Ivory" FunctionBlockBackgroundColor="Silver" FunctionBlockGradientColor="Silver" Index="0">
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLdRungShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" PowerRailColor="Silver" DisplayLabel="false" RungColor="WhiteSmoke" CommentColor="White" LabelColor="LightGoldenrodYellow" DisplayComment="true" Key="[0,1]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLdContactShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,1],[1,1]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.Core.Shape.WbPouCallShape" Assembly="ISaGRAF.Workbench.Mlge.Core" FunctionBlockInstanceName="true" Alpha="255" Background="Silver" BackgroundGradient="Silver" Key="[0,1],[2,1]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,1],[2,1],[2,2],[0,0]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,1],[2,1],[4,2],[0,0]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLdRungShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" PowerRailColor="Silver" DisplayLabel="false" RungColor="WhiteSmoke" CommentColor="White" LabelColor="LightGoldenrodYellow" DisplayComment="true" Key="[0,11]">
<Text></Text>
<RtfText>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}
{\colortbl ;\red0\green128\blue0;}
\viewkind4\uc1\pard\cf1\f0\fs20\par
}
</RtfText>
</ShapeStyle>
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLdContactShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,11],[1,11]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLdContactShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,11],[2,11]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.Core.Shape.WbPouCallShape" Assembly="ISaGRAF.Workbench.Mlge.Core" FunctionBlockInstanceName="true" Alpha="255" Background="Silver" BackgroundGradient="Silver" Key="[0,11],[3,11]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,11],[3,11],[3,12],[0,0]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,11],[3,11],[3,13],[0,0]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,11],[3,11],[3,14],[0,0]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,11],[3,11],[3,15],[0,0]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,11],[3,11],[5,12],[0,0]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,11],[3,11],[5,13],[0,0]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLdRungShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" PowerRailColor="Silver" DisplayLabel="false" RungColor="WhiteSmoke" CommentColor="White" LabelColor="LightGoldenrodYellow" DisplayComment="true" Key="[0,4]">
<Text></Text>
<RtfText>{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Microsoft Sans Serif;}}
{\colortbl ;\red0\green128\blue0;}
\viewkind4\uc1\pard\cf1\f0\fs20\par
}
</RtfText>
</ShapeStyle>
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLdContactShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,4],[1,4]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLdContactShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,4],[2,4]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.Core.Shape.WbPouCallShape" Assembly="ISaGRAF.Workbench.Mlge.Core" FunctionBlockInstanceName="true" Alpha="255" Background="Silver" BackgroundGradient="Silver" Key="[0,4],[3,4]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,4],[3,4],[3,5],[0,0]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,4],[3,4],[3,6],[0,0]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,4],[3,4],[3,7],[0,0]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,4],[3,4],[3,8],[0,0]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,4],[3,4],[5,5],[0,0]" />
<ShapeStyle Type="ISaGRAF.Workbench.Mlge.LanguageContainer.LD.Shape.WbLDVariableAccessShape" Assembly="ISaGRAF.Workbench.Mlge.LanguageContainer.LD" Alpha="255" Background="#FFFFFFFF" BackgroundGradient="#FFFFFFFF" FontColor="windowtext" DisplayMode="NameAndAlias" Key="[0,4],[3,4],[5,6],[0,0]" />
</LanguageContainerStyle>
</Root>

View File

@@ -0,0 +1,27 @@
PROGRAM ReadDownholeData
#info= QLD
BOF
(**)
SOR [0,1] (**) (**) XIO [1,0] (*ModbusCycleTimer.Q*) (*Q*) FB [2,0] (*TON*) (*ModbusCycleTimer*) ( (*IN:IN*)(**) (**) , (*PT:PT*)(*ModbusCycleTime*) (**) ; (*Q:Q*)(**) (**) , (*ET:ET*)(*ModbusCycleTimeElapsed*) (**) )
EOR [5,0]
(**)
SOR [0,4] (**) (**) XIC [1,0] (*ModbusCycleTimer.Q*) (*Q*) XIC [2,0] (*Downhole_Tool_Enabled*) (**) FB [3,0] (*MSG_MODBUS*) (*ModbusData_0*) ( (*IN:*)(**) (**) , (*Cancel:*)(*Cancel*) (**) , (*LocalCfg:*)(*LocalCfgData*) (**) , (*TargetCfg:*)(*TargetCfgData0*) (**) , (*LocalAddr:*)(*Modbus_Read0*) (**) , (*__ADI_LocalAddr:*)(*0*) (**) ; (*Q:*)(**) (**) , (*Error:*)(*ModbusErrorData*) (**) , (*ErrorID:*)(*ErrorCodeData*) (**) )
EOR [6,0]
(**)
SOR [0,11] (**) (**) XIC [1,0] (*ModbusData_0.Q*) (**) XIC [2,0] (*Downhole_Tool_Enabled*) (**) FB [3,0] (*MSG_MODBUS*) (*ModbusData_1000*) ( (*IN:*)(**) (**) , (*Cancel:*)(*Cancel*) (**) , (*LocalCfg:*)(*LocalCfgData*) (**) , (*TargetCfg:*)(*TargetCfgData1000*) (**) , (*LocalAddr:*)(*Modbus_Read1000*) (**) , (*__ADI_LocalAddr:*)(*0*) (**) ; (*Q:*)(**) (**) , (*Error:*)(*ModbusErrorData*) (**) , (*ErrorID:*)(*ErrorCodeData*) (**) )
EOR [6,0]
EOF
#end_info
#info= ID_MAX
NextId=5
#end_info
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,72 @@
FUNCTION_BLOCK ReadE300Config
(*=====================================================================================================================================
[UDFB Name] :ReadE300Config
[Category] :Communication
[Description] :Read the CIP Discrete Input Status from a compatible device using Explicit Messaging
[Author] :Rockwell Automation
[Created using CCW version] :8.0
[FeedBack] :pmcdonagh@henry-pump.com
[Revison History] :2015-November
[Notes] :
=====================================================================================================================================*)
MSGObjRead_EN := Enable;
FBENO := FBEN;
(*-------- Initialize --------*)
FBEN_RTRIG(FBEN);
IF (__SYSVA_FIRST_SCAN OR FBEN_RTRIG.Q) THEN
MSGObjRead_EN := TRUE;
IF UpdateRate_ms < 1000 THEN
ObjReadCtrlCfg.TriggerType := 1000; (*Triggers message every 1000 ms while MSGObjRead_EN is true*)
ELSE
ObjReadCtrlCfg.TriggerType := ANY_TO_UDINT(UpdateRate_ms);
END_IF;
ObjReadTargetCfg.Path := '4,'+ IPAddress;
ObjReadTargetCfg.CipConnMode := 1; (*0-unconnected, 1-Class 3*)
ObjReadTargetCfg.UcmmTimeout := 250; (*Unconnected message time out, Set to 0 means 3000ms, range 250-10000*)
ObjReadTargetCfg.ConnMsgTimeout := 800; (*Class3 time out, Set to 0 means 3000ms, range 800-10000*)
ObjReadTargetCfg.ConnClose := FALSE;(*Don't close the connection upon message completion*)
ObjReadAppCfg.Service := 14; (*Service code 0eh for Get Attribute Single*)
ObjReadAppCfg.Class := 4; (*Class code 0x0004h for Assembly Object*)
ObjReadAppCfg.Instance := 120; (*Instance 1*)
ObjReadAppCfg.Attribute := 3; (*Attribute 1: Value*)
ObjReadAppCfg.MemberCnt := 0;
CIPErrorStatus := NoErrorStatus;
END_IF;
FBEN_FTRIG(FBEN);
IF FBEN_FTRIG.Q THEN
CIPErrorStatus := NoErrorStatus;
END_IF;
(*-------- Main Routine --------*)
IF FBEN THEN
MSGObjRead_Q_RTRIG(MSGObjRead.Q);
IF MSGObjRead_Q_RTRIG.Q THEN
CIPErrorStatus := MSGObjRead.Status;
(*Output := ObjReadResData;*)
END_IF;
MSGObjRead_Err_RTRIG(MSGObjRead.Status.Error);
IF MSGObjRead_Err_RTRIG.Q THEN
MSGObjRead_EN := FALSE;
CIPErrorStatus := MSGObjRead.Status;
END_IF;
ELSE
MSGObjRead_EN := FALSE;
END_IF;
MSGObjRead(MSGObjRead_EN, ObjReadCtrlCfg, ObjReadAppCfg, ObjReadTargetCfg,, 0, Output);
END_FUNCTION_BLOCK

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,76 @@
FUNCTION_BLOCK ReadE300IO
(*=====================================================================================================================================
[UDFB Name] :ReadE300IO
[Category] :Communication
[Description] :Read the CIP Discrete Input Status from a compatible device using Explicit Messaging
[Author] :Rockwell Automation
[Created using CCW version] :8.0
[FeedBack] :pmcdonagh@henry-pump.com
[Revison History] :2015-October
[Notes] :
=====================================================================================================================================*)
MSGObjRead_EN := Enable;
FBENO := FBEN;
(*-------- Initialize --------*)
FBEN_RTRIG(FBEN);
IF (__SYSVA_FIRST_SCAN OR FBEN_RTRIG.Q) THEN
MSGObjRead_EN := TRUE;
IF UpdateRate_ms < 1000 THEN
ObjReadCtrlCfg.TriggerType := 1000; (*Triggers message every 1000 ms while MSGObjRead_EN is true*)
ELSE
ObjReadCtrlCfg.TriggerType := ANY_TO_UDINT(UpdateRate_ms);
END_IF;
ObjReadTargetCfg.Path := '4,'+ IPAddress;
ObjReadTargetCfg.CipConnMode := 1; (*0-unconnected, 1-Class 3*)
ObjReadTargetCfg.UcmmTimeout := 250; (*Unconnected message time out, Set to 0 means 3000ms, range 250-10000*)
ObjReadTargetCfg.ConnMsgTimeout := 800; (*Class3 time out, Set to 0 means 3000ms, range 800-10000*)
ObjReadTargetCfg.ConnClose := FALSE;(*Don't close the connection upon message completion*)
ObjReadAppCfg.Service := 14; (*Service code 0eh for Get Attributes All*)
ObjReadAppCfg.Class := 8; (*Class code 0x0008h for Discrete Input Point Object*)
ObjReadAppCfg.Instance := 1 + ANY_TO_UDINT(ChannelNumber); (*Instance 1*)
ObjReadAppCfg.Attribute := 3; (*Attribute 3: Value*)
ObjReadAppCfg.MemberCnt := 1;
CIPErrorStatus := NoErrorStatus;
END_IF;
FBEN_FTRIG(FBEN);
IF FBEN_FTRIG.Q THEN
CIPErrorStatus := NoErrorStatus;
END_IF;
(*-------- Main Routine --------*)
IF FBEN THEN
MSGObjRead_Q_RTRIG(MSGObjRead.Q);
IF MSGObjRead_Q_RTRIG.Q THEN
CIPErrorStatus := MSGObjRead.Status;
IF ObjReadResData[0] = 0 THEN
IOStatus := FALSE;
ELSE
IOStatus:= TRUE;
END_IF;
END_IF;
MSGObjRead_Err_RTRIG(MSGObjRead.Status.Error);
IF MSGObjRead_Err_RTRIG.Q THEN
MSGObjRead_EN := FALSE;
CIPErrorStatus := MSGObjRead.Status;
END_IF;
ELSE
MSGObjRead_EN := FALSE;
END_IF;
MSGObjRead(MSGObjRead_EN, ObjReadCtrlCfg, ObjReadAppCfg, ObjReadTargetCfg,, 1, ObjReadResData);
END_FUNCTION_BLOCK

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,68 @@
FUNCTION_BLOCK ReadE300Param
(*=====================================================================================================================================
[UDFB Name] :ReadE300Param
[Category] :Communication
[Description] :Read a CIP Parameter from a compatible device using Explicit Messaging
[Author] :Patrick McDonagh - Henry Pump
[Created using CCW version] :8.0
[FeedBack] :pmcdonagh@henry-pump.com
[Revison History] :2015-November
[Notes] :
=====================================================================================================================================*)
MSGObjRead_EN := Enable;
FBENO := FBEN;
(*-------- Initialize --------*)
FBEN_RTRIG(FBEN);
IF (__SYSVA_FIRST_SCAN OR FBEN_RTRIG.Q) THEN
MSGObjRead_EN := TRUE;
IF UpdateRate_ms < 1000 THEN
ObjReadCtrlCfg.TriggerType := 1000; (*Triggers message every 1000 ms while MSGObjRead_EN is true*)
ELSE
ObjReadCtrlCfg.TriggerType := ANY_TO_UDINT(UpdateRate_ms);
END_IF;
ObjReadTargetCfg.Path := '4,'+ IPAddress;
ObjReadTargetCfg.CipConnMode := 1; (* 0-unconnected, 1-Class 3 *)
ObjReadTargetCfg.UcmmTimeout := 250; (* Unconnected message time out, Set to 0 means 3000ms, range 250-10000 *)
ObjReadTargetCfg.ConnMsgTimeout := 800; (* Class3 time out, Set to 0 means 3000ms, range 800-10000 *)
ObjReadTargetCfg.ConnClose := FALSE; (* Don't close the connection upon message completion *)
ObjReadAppCfg.Service := 14; (* Service code 0eh for Get Attribute Single *)
ObjReadAppCfg.Class := 15; (* Class code 0x000Fh for Parameter Object *)
ObjReadAppCfg.Instance := ParamNumber; (* Instance: Param Number *)
ObjReadAppCfg.Attribute := 1; (* Attribute 12: Value *)
ObjReadAppCfg.MemberCnt := 0; (* MemberCnt: 0 *)
CIPErrorStatus := NoErrorStatus;
END_IF;
FBEN_FTRIG(FBEN);
IF FBEN_FTRIG.Q THEN
CIPErrorStatus := NoErrorStatus;
END_IF;
(*-------- Main Routine --------*)
IF FBEN THEN
MSGObjRead_Q_RTRIG(MSGObjRead.Q);
IF MSGObjRead_Q_RTRIG.Q THEN
CIPErrorStatus := MSGObjRead.Status;
(*Output := ObjReadResData;*)
END_IF;
MSGObjRead_Err_RTRIG(MSGObjRead.Status.Error);
IF MSGObjRead_Err_RTRIG.Q THEN
MSGObjRead_EN := FALSE;
CIPErrorStatus := MSGObjRead.Status;
END_IF;
ELSE
MSGObjRead_EN := FALSE;
END_IF;
MSGObjRead(MSGObjRead_EN, ObjReadCtrlCfg, ObjReadAppCfg, ObjReadTargetCfg,, 0, Output);
END_FUNCTION_BLOCK

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,68 @@
FUNCTION_BLOCK ReadE300TripReset
(*=====================================================================================================================================
[UDFB Name] :ReadE300TripReset
[Category] :Communication
[Description] :Read the CIP Discrete Input Status from a compatible device using Explicit Messaging
[Author] :Rockwell Automation
[Created using CCW version] :8.0
[FeedBack] :pmcdonagh@henry-pump.com
[Revison History] :2015-November
[Notes] :
=====================================================================================================================================*)
MSGObjRead_EN := Enable;
FBENO := FBEN;
(*-------- Initialize --------*)
FBEN_RTRIG(FBEN);
IF (__SYSVA_FIRST_SCAN OR FBEN_RTRIG.Q) THEN
MSGObjRead_EN := TRUE;
IF UpdateRate_ms < 1000 THEN
ObjReadCtrlCfg.TriggerType := 1000; (*Triggers message every 1000 ms while MSGObjRead_EN is true*)
ELSE
ObjReadCtrlCfg.TriggerType := ANY_TO_UDINT(UpdateRate_ms);
END_IF;
ObjReadTargetCfg.Path := '4,'+ IPAddress;
ObjReadTargetCfg.CipConnMode := 1; (* 0-unconnected, 1-Class 3 *)
ObjReadTargetCfg.UcmmTimeout := 250; (* Unconnected message time out, Set to 0 means 3000ms, range 250-10000 *)
ObjReadTargetCfg.ConnMsgTimeout := 800; (* Class3 time out, Set to 0 means 3000ms, range 800-10000 *)
ObjReadTargetCfg.ConnClose := FALSE; (* Don't close the connection upon message completion *)
ObjReadAppCfg.Service := 14; (* Service code 0eh for Get Attribute Single *)
ObjReadAppCfg.Class := 41; (* Class code 0x0029h for Control Supervisor Object *)
ObjReadAppCfg.Instance := 1; (* Instance 1 *)
ObjReadAppCfg.Attribute := 12; (* Attribute 12: Trip Reset *)
ObjReadAppCfg.MemberCnt := 0; (* MemberCnt: 0 *)
CIPErrorStatus := NoErrorStatus;
END_IF;
FBEN_FTRIG(FBEN);
IF FBEN_FTRIG.Q THEN
CIPErrorStatus := NoErrorStatus;
END_IF;
(*-------- Main Routine --------*)
IF FBEN THEN
MSGObjRead_Q_RTRIG(MSGObjRead.Q);
IF MSGObjRead_Q_RTRIG.Q THEN
CIPErrorStatus := MSGObjRead.Status;
(*Output := ObjReadResData;*)
END_IF;
MSGObjRead_Err_RTRIG(MSGObjRead.Status.Error);
IF MSGObjRead_Err_RTRIG.Q THEN
MSGObjRead_EN := FALSE;
CIPErrorStatus := MSGObjRead.Status;
END_IF;
ELSE
MSGObjRead_EN := FALSE;
END_IF;
MSGObjRead(MSGObjRead_EN, ObjReadCtrlCfg, ObjReadAppCfg, ObjReadTargetCfg,, 0, Output);
END_FUNCTION_BLOCK

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,12 @@
FUNCTION_BLOCK SINT_TO_USINT
OUT_SINT_1.0 := INP_INT.0;
OUT_SINT_1.1 := INP_INT.1;
OUT_SINT_1.2 := INP_INT.2;
OUT_SINT_1.3 := INP_INT.3;
OUT_SINT_1.4 := INP_INT.4;
OUT_SINT_1.5 := INP_INT.5;
OUT_SINT_1.6 := INP_INT.6;
OUT_SINT_1.7 := INP_INT.7;
END_FUNCTION_BLOCK

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,38 @@
FUNCTION_BLOCK UDINT_TO_USINT
OUT_SINT_1.0 := INP_DINT.0;
OUT_SINT_1.1 := INP_DINT.1;
OUT_SINT_1.2 := INP_DINT.2;
OUT_SINT_1.3 := INP_DINT.3;
OUT_SINT_1.4 := INP_DINT.4;
OUT_SINT_1.5 := INP_DINT.5;
OUT_SINT_1.6 := INP_DINT.6;
OUT_SINT_1.7 := INP_DINT.7;
OUT_SINT_2.0 := INP_DINT.8;
OUT_SINT_2.1 := INP_DINT.9;
OUT_SINT_2.2 := INP_DINT.10;
OUT_SINT_2.3 := INP_DINT.11;
OUT_SINT_2.4 := INP_DINT.12;
OUT_SINT_2.5 := INP_DINT.13;
OUT_SINT_2.6 := INP_DINT.14;
OUT_SINT_2.7 := INP_DINT.15;
OUT_SINT_3.0 := INP_DINT.16;
OUT_SINT_3.1 := INP_DINT.17;
OUT_SINT_3.2 := INP_DINT.18;
OUT_SINT_3.3 := INP_DINT.19;
OUT_SINT_3.4 := INP_DINT.20;
OUT_SINT_3.5 := INP_DINT.21;
OUT_SINT_3.6 := INP_DINT.22;
OUT_SINT_3.7 := INP_DINT.23;
OUT_SINT_4.0 := INP_DINT.24;
OUT_SINT_4.1 := INP_DINT.25;
OUT_SINT_4.2 := INP_DINT.26;
OUT_SINT_4.3 := INP_DINT.27;
OUT_SINT_4.4 := INP_DINT.28;
OUT_SINT_4.5 := INP_DINT.29;
OUT_SINT_4.6 := INP_DINT.30;
OUT_SINT_4.7 := INP_DINT.31;
END_FUNCTION_BLOCK

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,20 @@
FUNCTION_BLOCK UINT_TO_USINT
OUT_SINT_1.0 := INP_INT.0;
OUT_SINT_1.1 := INP_INT.1;
OUT_SINT_1.2 := INP_INT.2;
OUT_SINT_1.3 := INP_INT.3;
OUT_SINT_1.4 := INP_INT.4;
OUT_SINT_1.5 := INP_INT.5;
OUT_SINT_1.6 := INP_INT.6;
OUT_SINT_1.7 := INP_INT.7;
OUT_SINT_2.0 := INP_INT.8;
OUT_SINT_2.1 := INP_INT.9;
OUT_SINT_2.2 := INP_INT.10;
OUT_SINT_2.3 := INP_INT.11;
OUT_SINT_2.4 := INP_INT.12;
OUT_SINT_2.5 := INP_INT.13;
OUT_SINT_2.6 := INP_INT.14;
OUT_SINT_2.7 := INP_INT.15;
END_FUNCTION_BLOCK

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,38 @@
FUNCTION_BLOCK USINT_TO_DINT
DINT_OUT.0 := SINT_SRC_1.0;
DINT_OUT.1 := SINT_SRC_1.1;
DINT_OUT.2 := SINT_SRC_1.2;
DINT_OUT.3 := SINT_SRC_1.3;
DINT_OUT.4 := SINT_SRC_1.4;
DINT_OUT.5 := SINT_SRC_1.5;
DINT_OUT.6 := SINT_SRC_1.6;
DINT_OUT.7 := SINT_SRC_1.7;
DINT_OUT.8 := SINT_SRC_2.0;
DINT_OUT.9 := SINT_SRC_2.1;
DINT_OUT.10 := SINT_SRC_2.2;
DINT_OUT.11 := SINT_SRC_2.3;
DINT_OUT.12 := SINT_SRC_2.4;
DINT_OUT.13 := SINT_SRC_2.5;
DINT_OUT.14 := SINT_SRC_2.6;
DINT_OUT.15 := SINT_SRC_2.7;
DINT_OUT.16 := SINT_SRC_3.0;
DINT_OUT.17 := SINT_SRC_3.1;
DINT_OUT.18 := SINT_SRC_3.2;
DINT_OUT.19 := SINT_SRC_3.3;
DINT_OUT.20 := SINT_SRC_3.4;
DINT_OUT.21 := SINT_SRC_3.5;
DINT_OUT.22 := SINT_SRC_3.6;
DINT_OUT.23 := SINT_SRC_3.7;
DINT_OUT.24 := SINT_SRC_4.0;
DINT_OUT.25 := SINT_SRC_4.1;
DINT_OUT.26 := SINT_SRC_4.2;
DINT_OUT.27 := SINT_SRC_4.3;
DINT_OUT.28 := SINT_SRC_4.4;
DINT_OUT.29 := SINT_SRC_4.5;
DINT_OUT.30 := SINT_SRC_4.6;
DINT_OUT.31 := SINT_SRC_4.7;
END_FUNCTION_BLOCK

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,11 @@
FUNCTION_BLOCK USINT_TO_SINT
INT_OUT.0 := SINT_SRC_1.0;
INT_OUT.1 := SINT_SRC_1.1;
INT_OUT.2 := SINT_SRC_1.2;
INT_OUT.3 := SINT_SRC_1.3;
INT_OUT.4 := SINT_SRC_1.4;
INT_OUT.5 := SINT_SRC_1.5;
INT_OUT.6 := SINT_SRC_1.6;
INT_OUT.7 := SINT_SRC_1.7;
END_FUNCTION_BLOCK

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,38 @@
FUNCTION_BLOCK USINT_TO_UDINT
DINT_OUT.0 := SINT_SRC_1.0;
DINT_OUT.1 := SINT_SRC_1.1;
DINT_OUT.2 := SINT_SRC_1.2;
DINT_OUT.3 := SINT_SRC_1.3;
DINT_OUT.4 := SINT_SRC_1.4;
DINT_OUT.5 := SINT_SRC_1.5;
DINT_OUT.6 := SINT_SRC_1.6;
DINT_OUT.7 := SINT_SRC_1.7;
DINT_OUT.8 := SINT_SRC_2.0;
DINT_OUT.9 := SINT_SRC_2.1;
DINT_OUT.10 := SINT_SRC_2.2;
DINT_OUT.11 := SINT_SRC_2.3;
DINT_OUT.12 := SINT_SRC_2.4;
DINT_OUT.13 := SINT_SRC_2.5;
DINT_OUT.14 := SINT_SRC_2.6;
DINT_OUT.15 := SINT_SRC_2.7;
DINT_OUT.16 := SINT_SRC_3.0;
DINT_OUT.17 := SINT_SRC_3.1;
DINT_OUT.18 := SINT_SRC_3.2;
DINT_OUT.19 := SINT_SRC_3.3;
DINT_OUT.20 := SINT_SRC_3.4;
DINT_OUT.21 := SINT_SRC_3.5;
DINT_OUT.22 := SINT_SRC_3.6;
DINT_OUT.23 := SINT_SRC_3.7;
DINT_OUT.24 := SINT_SRC_4.0;
DINT_OUT.25 := SINT_SRC_4.1;
DINT_OUT.26 := SINT_SRC_4.2;
DINT_OUT.27 := SINT_SRC_4.3;
DINT_OUT.28 := SINT_SRC_4.4;
DINT_OUT.29 := SINT_SRC_4.5;
DINT_OUT.30 := SINT_SRC_4.6;
DINT_OUT.31 := SINT_SRC_4.7;
END_FUNCTION_BLOCK

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,20 @@
FUNCTION_BLOCK USINT_TO_UINT
INT_OUT.0 := SINT_SRC_1.0;
INT_OUT.1 := SINT_SRC_1.1;
INT_OUT.2 := SINT_SRC_1.2;
INT_OUT.3 := SINT_SRC_1.3;
INT_OUT.4 := SINT_SRC_1.4;
INT_OUT.5 := SINT_SRC_1.5;
INT_OUT.6 := SINT_SRC_1.6;
INT_OUT.7 := SINT_SRC_1.7;
INT_OUT.8 := SINT_SRC_2.0;
INT_OUT.9 := SINT_SRC_2.1;
INT_OUT.10 := SINT_SRC_2.2;
INT_OUT.11 := SINT_SRC_2.3;
INT_OUT.12 := SINT_SRC_2.4;
INT_OUT.13 := SINT_SRC_2.5;
INT_OUT.14 := SINT_SRC_2.6;
INT_OUT.15 := SINT_SRC_2.7;
END_FUNCTION_BLOCK

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,72 @@
FUNCTION_BLOCK WriteE300Config
(*=====================================================================================================================================
[UDFB Name] :ReadE300Config
[Category] :Communication
[Description] :Read the CIP Discrete Input Status from a compatible device using Explicit Messaging
[Author] :Rockwell Automation
[Created using CCW version] :8.0
[FeedBack] :pmcdonagh@henry-pump.com
[Revison History] :2015-November
[Notes] :
=====================================================================================================================================*)
MSGObjRead_EN := Enable;
FBENO := FBEN;
(*-------- Initialize --------*)
FBEN_RTRIG(FBEN);
IF (__SYSVA_FIRST_SCAN OR FBEN_RTRIG.Q) THEN
MSGObjRead_EN := TRUE;
IF UpdateRate_ms < 1000 THEN
ObjReadCtrlCfg.TriggerType := 1000; (*Triggers message every 1000 ms while MSGObjRead_EN is true*)
ELSE
ObjReadCtrlCfg.TriggerType := ANY_TO_UDINT(UpdateRate_ms);
END_IF;
ObjReadTargetCfg.Path := '4,'+ IPAddress;
ObjReadTargetCfg.CipConnMode := 1; (*0-unconnected, 1-Class 3*)
ObjReadTargetCfg.UcmmTimeout := 250; (*Unconnected message time out, Set to 0 means 3000ms, range 250-10000*)
ObjReadTargetCfg.ConnMsgTimeout := 800; (*Class3 time out, Set to 0 means 3000ms, range 800-10000*)
ObjReadTargetCfg.ConnClose := FALSE;(*Don't close the connection upon message completion*)
ObjReadAppCfg.Service := 16; (*Service code 10h for Set Attribute Single*)
ObjReadAppCfg.Class := 4; (*Class code 0x0004h for Assembly Object*)
ObjReadAppCfg.Instance := 120; (*Instance 1*)
ObjReadAppCfg.Attribute := 3; (*Attribute 1: Value*)
ObjReadAppCfg.MemberCnt := 0;
CIPErrorStatus := NoErrorStatus;
END_IF;
FBEN_FTRIG(FBEN);
IF FBEN_FTRIG.Q THEN
CIPErrorStatus := NoErrorStatus;
END_IF;
(*-------- Main Routine --------*)
IF FBEN THEN
MSGObjRead_Q_RTRIG(MSGObjRead.Q);
IF MSGObjRead_Q_RTRIG.Q THEN
CIPErrorStatus := MSGObjRead.Status;
(*Output := ObjReadResData;*)
END_IF;
MSGObjRead_Err_RTRIG(MSGObjRead.Status.Error);
IF MSGObjRead_Err_RTRIG.Q THEN
MSGObjRead_EN := FALSE;
CIPErrorStatus := MSGObjRead.Status;
END_IF;
ELSE
MSGObjRead_EN := FALSE;
END_IF;
MSGObjRead(MSGObjRead_EN, ObjReadCtrlCfg, ObjReadAppCfg, ObjReadTargetCfg, Input, 408, );
END_FUNCTION_BLOCK

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,70 @@
FUNCTION_BLOCK WriteE300TripReset
(*=====================================================================================================================================
[UDFB Name] :WriteE300TripReset
[Category] :Communication
[Description] :Write the Trip Reset Status to a compatible device using Explicit Messaging
[Author] :Patrick McDonagh
[Created using CCW version] :8.0
[FeedBack] :pmcdonagh@henry-pump.com
[Revison History] :2015-November
[Notes] :
=====================================================================================================================================*)
MSGObjRead_EN := Enable;
FBENO := FBEN;
(*-------- Initialize --------*)
FBEN_RTRIG(FBEN);
IF (__SYSVA_FIRST_SCAN OR FBEN_RTRIG.Q) THEN
MSGObjRead_EN := TRUE;
IF UpdateRate_ms < 1000 THEN
ObjReadCtrlCfg.TriggerType := 1000; (*Triggers message every 1000 ms while MSGObjRead_EN is true*)
ELSE
ObjReadCtrlCfg.TriggerType := ANY_TO_UDINT(UpdateRate_ms);
END_IF;
ObjReadTargetCfg.Path := '4,'+ IPAddress;
ObjReadTargetCfg.CipConnMode := 1; (*0-unconnected, 1-Class 3*)
ObjReadTargetCfg.UcmmTimeout := 250; (*Unconnected message time out, Set to 0 means 3000ms, range 250-10000*)
ObjReadTargetCfg.ConnMsgTimeout := 800; (*Class3 time out, Set to 0 means 3000ms, range 800-10000*)
ObjReadTargetCfg.ConnClose := FALSE; (*Don't close the connection upon message completion*)
ObjReadAppCfg.Service := 16; (*Service code 10h for Set Attribute Single*)
ObjReadAppCfg.Class := 41; (*Class code 0x0029h for Assembly Object*)
ObjReadAppCfg.Instance := 1; (*Instance 1*)
ObjReadAppCfg.Attribute := 12; (*Attribute 12: Value*)
ObjReadAppCfg.MemberCnt := 0;
CIPErrorStatus := NoErrorStatus;
END_IF;
FBEN_FTRIG(FBEN);
IF FBEN_FTRIG.Q THEN
CIPErrorStatus := NoErrorStatus;
END_IF;
(*-------- Main Routine --------*)
IF FBEN THEN
MSGObjRead_Q_RTRIG(MSGObjRead.Q);
IF MSGObjRead_Q_RTRIG.Q THEN
CIPErrorStatus := MSGObjRead.Status;
(*Output := ObjReadResData;*)
END_IF;
MSGObjRead_Err_RTRIG(MSGObjRead.Status.Error);
IF MSGObjRead_Err_RTRIG.Q THEN
MSGObjRead_EN := FALSE;
CIPErrorStatus := MSGObjRead.Status;
END_IF;
ELSE
MSGObjRead_EN := FALSE;
END_IF;
MSGObjRead(MSGObjRead_EN, ObjReadCtrlCfg, ObjReadAppCfg, ObjReadTargetCfg, Input, 1, );
END_FUNCTION_BLOCK

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,2 @@
[RMDManager]
TASK=BUILD

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

View File

@@ -0,0 +1,10 @@
[HSS]
Port=6001
[HXL]
Conf=Config1
Config1=HSD
[HCS]
Res=1
Res1=Config1

Binary file not shown.

View File

@@ -0,0 +1,5 @@
Configuration:Device1
50.00;50.00;1;1;160.00;85.00
Resource:1
1;42.00;196.00;287.00;208.00;230.00;220.00;0.00;0.00
0;1;1;1;1;

Binary file not shown.

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectElements>
<AcfElementGuid Guid="0665f1e9-fb03-48de-86da-7c7f08fe0360" />
<AcfElementGuid Guid="22fb9760-076e-482b-bcbe-c8fd6362439b" />
<AcfElementGuid Guid="2e293809-2592-4360-9ef5-9e938bc7b980" />
<AcfElementGuid Guid="492b32e2-63c3-46f8-afeb-6d9e6b76da86" />
<AcfElementGuid Guid="5352e95a-d9a5-447b-aa7a-7071ec0481c2" />
<AcfElementGuid Guid="5c9551f1-c000-4c03-b505-8294f43771c9" />
<AcfElementGuid Guid="634a5889-7131-459b-82bb-32669f70ba62" />
<AcfElementGuid Guid="68211587-a34a-4aa0-bf4f-bd92fabbb652" />
<AcfElementGuid Guid="6f7046bc-5d44-4aab-b0b3-376a7079d3f9" />
<AcfElementGuid Guid="73aee734-b491-4716-bb8a-e114474b2e0b" />
<AcfElementGuid Guid="7fef2c64-8552-4a7b-bfcb-a81bf0653d28" />
<AcfElementGuid Guid="825fba0c-a967-4905-b00b-13d3fe1ff759" />
<AcfElementGuid Guid="939ebd4d-03fd-401c-ab85-9cdf9558de18" />
<AcfElementGuid Guid="9e116e82-db64-4872-bda1-ef7ada62d71b" />
<AcfElementGuid Guid="a537c79f-58bd-4503-a8bd-4473e96020b3" />
<AcfElementGuid Guid="b5d70542-1b0d-4d1b-a308-ed6dc1bc31c3" />
<AcfElementGuid Guid="bc558758-c39a-435b-8a5c-c577f569ebd1" />
<AcfElementGuid Guid="bd263122-9333-474e-9301-63d7d2a0a248" />
<AcfElementGuid Guid="c345a0fc-70a0-459b-b07b-8ffd7729b5e8" />
<AcfElementGuid Guid="c3cea0dc-774b-4c44-8ed3-7396fc32fb4e" />
<AcfElementGuid Guid="db53599f-6f5d-4621-a1aa-5fa9a64c8ed3" />
<AcfElementGuid Guid="e4c03d62-78c9-4c67-b91a-65b1b7a2a87f" />
<AcfElementGuid Guid="fba58c7f-e0a2-4702-9181-c99a8ab6fd39" />
</ProjectElements>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectElements>
<AcfElementGuid Guid="22fb9760-076e-482b-bcbe-c8fd6362439b" />
<AcfElementGuid Guid="2e293809-2592-4360-9ef5-9e938bc7b980" />
<AcfElementGuid Guid="73aee734-b491-4716-bb8a-e114474b2e0b" />
<AcfElementGuid Guid="a537c79f-58bd-4503-a8bd-4473e96020b3" />
</ProjectElements>

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<ProjectElements>
<AcfElementGuid Guid="0665f1e9-fb03-48de-86da-7c7f08fe0360">
<File>ReadE300Param.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="22fb9760-076e-482b-bcbe-c8fd6362439b">
<File>E300Data.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="2e293809-2592-4360-9ef5-9e938bc7b980">
<File>Control.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="492b32e2-63c3-46f8-afeb-6d9e6b76da86">
<File>ReadE300IO.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="5352e95a-d9a5-447b-aa7a-7071ec0481c2">
<File>ReadE300TripReset.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="5c9551f1-c000-4c03-b505-8294f43771c9">
<File>USINT_TO_UDINT.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="634a5889-7131-459b-82bb-32669f70ba62">
<File>UDINT_TO_USINT.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="68211587-a34a-4aa0-bf4f-bd92fabbb652">
<File>SINT_TO_USINT.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="7fef2c64-8552-4a7b-bfcb-a81bf0653d28">
<File>ReadE300Config.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="825fba0c-a967-4905-b00b-13d3fe1ff759">
<File>WriteE300Config.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="9e116e82-db64-4872-bda1-ef7ada62d71b">
<File>RA_CIP_ELECTRICAL_ENERGY_OBJ.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="a537c79f-58bd-4503-a8bd-4473e96020b3">
<File>ReadDownholeData.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="b5d70542-1b0d-4d1b-a308-ed6dc1bc31c3">
<File>USINT_TO_UINT.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="bc558758-c39a-435b-8a5c-c577f569ebd1">
<File>WriteE300TripReset.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="bd263122-9333-474e-9301-63d7d2a0a248">
<File>USINT_TO_SINT.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="c345a0fc-70a0-459b-b07b-8ffd7729b5e8">
<File>RA_E300_OUTPUT_CONTROL.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="c3cea0dc-774b-4c44-8ed3-7396fc32fb4e">
<File>LinearScale.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="db53599f-6f5d-4621-a1aa-5fa9a64c8ed3">
<File>UINT_TO_USINT.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="e4c03d62-78c9-4c67-b91a-65b1b7a2a87f">
<File>USINT_TO_DINT.AcfMlge</File>
</AcfElementGuid>
<AcfElementGuid Guid="fba58c7f-e0a2-4702-9181-c99a8ab6fd39">
<File>DINT_TO_USINT.AcfMlge</File>
</AcfElementGuid>
</ProjectElements>