Adds upgraded system

This commit is contained in:
Patrick McDonagh
2018-02-01 11:48:45 -06:00
parent d2ba4eeb11
commit 8d3ecb3d7c
250 changed files with 30041 additions and 10808 deletions

View File

@@ -9,7 +9,7 @@
<AssemblyName>MyAssemblyName</AssemblyName>
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
<CAMProjectFile>Controller\PrjLibrary.mdb</CAMProjectFile>
<CAMProjectVersion>5.50.3</CAMProjectVersion>
<CAMProjectVersion>5.50.5</CAMProjectVersion>
<UniqueProjectId>{77f0df20-21d3-4637-a6d8-d269e0a5c640}</UniqueProjectId>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Online' ">

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +0,0 @@
0::0021-0003::Checking database...
0::0047-0003::-------------------- Check project for resource(s) to pre-build: CONTROLLER --------------------
1::0002-0003::CONTROLLER: 0 error(s), 0 warning(s)
0::0021-0003::Checking database...
0::0007-0003::-------------------- Build project: CONTROLLER --------------------
1::0002-0003::CONTROLLER: 0 error(s), 0 warning(s)

View File

@@ -0,0 +1,390 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Name="Controller" ElementGuid="6f7046bc-5d44-4aab-b0b3-376a7079d3f9" FileVersion="200.00.003" Comment="" SingleTextLine="template" DbVersion="05.50.05" LibraryType="Project" LegacyBinding="true" Password="" ReadOnly="false">
<FileHeader CompanyName="Rockwell Automation Canada, Ltd." ProductName="CAM ISaGRAF 5" CompanyUrl="http://www.isagraf.com" ProductVersion="0" />
<Libraries />
<DefineWords>
<DefineWord Name="IRQ_UFR" Define="1" Comment="" Access="ReadOnly" />
<DefineWord Name="IRQ_UPM0" Define="524288" Comment="" Access="ReadOnly" />
<DefineWord Name="IRQ_UPM1" Define="1048576" Comment="" Access="ReadOnly" />
<DefineWord Name="IRQ_STI0" Define="32768" Comment="" Access="ReadOnly" />
<DefineWord Name="IRQ_STI1" Define="65536" Comment="" Access="ReadOnly" />
<DefineWord Name="DSET1" Define="1" Comment="" Access="ReadOnly" />
<DefineWord Name="DSET2" Define="2" Comment="" Access="ReadOnly" />
<DefineWord Name="DSET3" Define="3" Comment="" Access="ReadOnly" />
<DefineWord Name="DSET4" Define="4" Comment="" Access="ReadOnly" />
<DefineWord Name="DSET5" Define="5" Comment="" Access="ReadOnly" />
<DefineWord Name="DSET6" Define="6" Comment="" Access="ReadOnly" />
<DefineWord Name="DSET7" Define="7" Comment="" Access="ReadOnly" />
<DefineWord Name="DSET8" Define="8" Comment="" Access="ReadOnly" />
<DefineWord Name="DSET9" Define="9" Comment="" Access="ReadOnly" />
<DefineWord Name="DSET10" Define="10" Comment="" Access="ReadOnly" />
<DefineWord Name="RCP1" Define="1" Comment="" Access="ReadOnly" />
<DefineWord Name="RCP2" Define="2" Comment="" Access="ReadOnly" />
<DefineWord Name="RCP3" Define="3" Comment="" Access="ReadOnly" />
<DefineWord Name="RCP4" Define="4" Comment="" Access="ReadOnly" />
<DefineWord Name="RCP5" Define="5" Comment="" Access="ReadOnly" />
<DefineWord Name="RCP6" Define="6" Comment="" Access="ReadOnly" />
<DefineWord Name="RCP7" Define="7" Comment="" Access="ReadOnly" />
<DefineWord Name="RCP8" Define="8" Comment="" Access="ReadOnly" />
<DefineWord Name="RCP9" Define="9" Comment="" Access="ReadOnly" />
<DefineWord Name="RCP10" Define="10" Comment="" Access="ReadOnly" />
</DefineWords>
<DataTypes>
<DataType Name="CIPEEOBJ_ATTRIBS" Comment="" Access="UserDefined">
<Struct FieldOrder="0" Order="1">
<Variable Name="RealEnergyConsumedOdometer" DataType="LREAL" Comment="" StringSize="0" Order="1" />
<Variable Name="RealEnergyGeneratedOdometer" DataType="LREAL" Comment="" StringSize="0" Order="2" />
<Variable Name="RealEnergyNetOdometer" DataType="LREAL" Comment="" StringSize="0" Order="3" />
<Variable Name="ReactiveEnergyConsumedOdometer" DataType="LREAL" Comment="" StringSize="0" Order="4" />
<Variable Name="ReactiveEnergyGeneratedOdometer" DataType="LREAL" Comment="" StringSize="0" Order="5" />
<Variable Name="ReactiveEnergyNetOdometer" DataType="LREAL" Comment="" StringSize="0" Order="6" />
<Variable Name="ApparentEnergyOdometer" DataType="LREAL" Comment="" StringSize="0" Order="7" />
<Variable Name="KiloampereHoursOdometer" DataType="LREAL" Comment="" StringSize="0" Order="8" />
<Variable Name="LineFrequency" DataType="REAL" Comment="" StringSize="0" Order="9" />
<Variable Name="L1Current" DataType="REAL" Comment="" StringSize="0" Order="10" />
<Variable Name="L2Current" DataType="REAL" Comment="" StringSize="0" Order="11" />
<Variable Name="L3Current" DataType="REAL" Comment="" StringSize="0" Order="12" />
<Variable Name="AverageCurrent" DataType="REAL" Comment="" StringSize="0" Order="13" />
<Variable Name="PercentCurrentUnbalance" DataType="REAL" Comment="" StringSize="0" Order="14" />
<Variable Name="L1NVoltage" DataType="REAL" Comment="" StringSize="0" Order="15" />
<Variable Name="L2NVoltage" DataType="REAL" Comment="" StringSize="0" Order="16" />
<Variable Name="L3NVoltage" DataType="REAL" Comment="" StringSize="0" Order="17" />
<Variable Name="AverageLNVoltage" DataType="REAL" Comment="" StringSize="0" Order="18" />
<Variable Name="L1L2Voltage" DataType="REAL" Comment="" StringSize="0" Order="19" />
<Variable Name="L2L3Voltage" DataType="REAL" Comment="" StringSize="0" Order="20" />
<Variable Name="L3L1Voltage" DataType="REAL" Comment="" StringSize="0" Order="21" />
<Variable Name="AverageLLVoltage" DataType="REAL" Comment="" StringSize="0" Order="22" />
<Variable Name="PercentVoltageUnbalance" DataType="REAL" Comment="" StringSize="0" Order="23" />
<Variable Name="L1RealPower" DataType="REAL" Comment="" StringSize="0" Order="24" />
<Variable Name="L2RealPower" DataType="REAL" Comment="" StringSize="0" Order="25" />
<Variable Name="L3RealPower" DataType="REAL" Comment="" StringSize="0" Order="26" />
<Variable Name="TotalRealPower" DataType="REAL" Comment="" StringSize="0" Order="27" />
<Variable Name="L1ReactivePower" DataType="REAL" Comment="" StringSize="0" Order="28" />
<Variable Name="L2ReactivePower" DataType="REAL" Comment="" StringSize="0" Order="29" />
<Variable Name="L3ReactivePower" DataType="REAL" Comment="" StringSize="0" Order="30" />
<Variable Name="TotalReactivePower" DataType="REAL" Comment="" StringSize="0" Order="31" />
<Variable Name="L1ApparentPower" DataType="REAL" Comment="" StringSize="0" Order="32" />
<Variable Name="L2ApparentPower" DataType="REAL" Comment="" StringSize="0" Order="33" />
<Variable Name="L3ApparentPower" DataType="REAL" Comment="" StringSize="0" Order="34" />
<Variable Name="TotalApparentPower" DataType="REAL" Comment="" StringSize="0" Order="35" />
<Variable Name="L1TruePowerFactor" DataType="REAL" Comment="" StringSize="0" Order="36" />
<Variable Name="L2TruePowerFactor" DataType="REAL" Comment="" StringSize="0" Order="37" />
<Variable Name="L3TruePowerFactor" DataType="REAL" Comment="" StringSize="0" Order="38" />
<Variable Name="ThreePhaseTruePowerFactor" DataType="REAL" Comment="" StringSize="0" Order="39" />
<Variable Name="PhaseRotation" DataType="STRING" Comment="" StringSize="4" Order="40" />
</Struct>
</DataType>
<DataType Name="MODBUSLOCADDR" Comment="" Access="ReadOnly">
<Array Order="6" DataType="WORD" StringSize="0">
<Dimension Lower="1" Upper="125" />
</Array>
</DataType>
<DataType Name="MODBUS2NODEADDR" Comment="" Access="ReadOnly">
<Array Order="7" DataType="USINT" StringSize="0">
<Dimension Lower="0" Upper="3" />
</Array>
</DataType>
<DataType Name="IPADDR" Comment="" Access="ReadOnly">
<Array Order="8" DataType="USINT" StringSize="0">
<Dimension Lower="0" Upper="3" />
</Array>
</DataType>
<DataType Name="CIPMEMBERID" Comment="" Access="ReadOnly">
<Array Order="9" DataType="UINT" StringSize="0">
<Dimension Lower="0" Upper="2" />
</Array>
</DataType>
<DataType Name="ASCIILOCADDR" Comment="" Access="ReadOnly">
<Array Order="10" DataType="BYTE" StringSize="0">
<Dimension Lower="1" Upper="82" />
</Array>
</DataType>
<DataType Name="IRQSTI" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="27">
<Variable Name="AS" DataType="BOOL" Comment="Auto start" StringSize="0" Order="1" />
<Variable Name="ENABLED" DataType="BOOL" Comment="Function Enabled" StringSize="0" Order="2" />
<Variable Name="PE" DataType="BOOL" Comment="Pending User Interrupt" StringSize="0" Order="3" />
<Variable Name="LS" DataType="BOOL" Comment="Lost User Interrupt" StringSize="0" Order="4" />
<Variable Name="EX" DataType="BOOL" Comment="Executing User Interrupt" StringSize="0" Order="5" />
<Variable Name="SP" DataType="UINT" Comment="Number of milliseconds between interrupts" StringSize="0" Order="6" />
</Struct>
</DataType>
<DataType Name="DOYDATA" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="28">
<Variable Name="Enable" DataType="BOOL" Comment="Enable (TRUE:enable; FALSE:disable)" StringSize="0" Order="1" />
<Variable Name="YearlyCenturial" DataType="BOOL" Comment="Timer Flag (FALSE: Yearly timer; TRUE: Centurial timer)" StringSize="0" Order="2" />
<Variable Name="YearOn" DataType="UINT" Comment="Year On value (must be in set [2000...2098])" StringSize="0" Order="3" />
<Variable Name="MonthOn" DataType="USINT" Comment="Month On value (must be in set [1...12])" StringSize="0" Order="4" />
<Variable Name="DayOn" DataType="USINT" Comment="Day On value (must be in set [1...31], determined by &quot;MonthOn&quot; value)" StringSize="0" Order="5" />
<Variable Name="YearOff" DataType="UINT" Comment="Year Off value (must be in set [2000...2098])" StringSize="0" Order="6" />
<Variable Name="MonthOff" DataType="USINT" Comment="Month Off value (must be in set [1...12])" StringSize="0" Order="7" />
<Variable Name="DayOff" DataType="USINT" Comment="Day Off value (must be in set [1...31], determined by &quot;MonthOff&quot; value)" StringSize="0" Order="8" />
</Struct>
</DataType>
<DataType Name="AWAAWT" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="29">
<Variable Name="Channel" DataType="UINT" Comment="" StringSize="0" Order="1" />
<Variable Name="Length" DataType="UINT" Comment="" StringSize="0" Order="2" />
<Variable Name="Cancel" DataType="BOOL" Comment="" StringSize="0" Order="3" />
</Struct>
</DataType>
<DataType Name="GAIN_PID" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="30">
<Variable Name="DirectActing" DataType="BOOL" Comment="''" StringSize="0" Order="1" />
<Variable Name="ProportionalGain" DataType="REAL" Comment="''" StringSize="0" Order="2" />
<Variable Name="TimeIntegral" DataType="REAL" Comment="''" StringSize="0" Order="3" />
<Variable Name="TimeDerivative" DataType="REAL" Comment="''" StringSize="0" Order="4" />
<Variable Name="DerivativeGain" DataType="REAL" Comment="''" StringSize="0" Order="5" />
</Struct>
</DataType>
<DataType Name="AHLI" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="31">
<Variable Name="Channel" DataType="UINT" Comment="" StringSize="0" Order="1" />
<Variable Name="ClrRts" DataType="BOOL" Comment="" StringSize="0" Order="2" />
<Variable Name="SetRts" DataType="BOOL" Comment="" StringSize="0" Order="3" />
<Variable Name="Cancel" DataType="BOOL" Comment="" StringSize="0" Order="4" />
</Struct>
</DataType>
<DataType Name="MODBUSLOCPARA" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="32">
<Variable Name="Channel" DataType="UINT" Comment="" StringSize="0" Order="1" />
<Variable Name="TriggerType" DataType="USINT" Comment="" StringSize="0" Order="2" />
<Variable Name="Cmd" DataType="USINT" Comment="" StringSize="0" Order="3" />
<Variable Name="ElementCnt" DataType="UINT" Comment="" StringSize="0" Order="4" />
</Struct>
</DataType>
<DataType Name="MODBUSTARPARA" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="33">
<Variable Name="Addr" DataType="UDINT" Comment="" StringSize="0" Order="1" />
<Variable Name="Node" DataType="USINT" Comment="" StringSize="0" Order="2" />
</Struct>
</DataType>
<DataType Name="MODBUS2LOCPARA" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="34">
<Variable Name="Channel" DataType="UINT" Comment="Local Channel number" StringSize="0" Order="1" />
<Variable Name="TriggerType" DataType="UDINT" Comment="0 = Trigger once, n = Cyclic Trigger" StringSize="0" Order="2" />
<Variable Name="Cmd" DataType="USINT" Comment="Modbus command" StringSize="0" Order="3" />
<Variable Name="ElementCnt" DataType="UINT" Comment="No. of elements to Read/Write" StringSize="0" Order="4" />
</Struct>
</DataType>
<DataType Name="MODBUS2TARPARA" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="35">
<Variable Name="Addr" DataType="UDINT" Comment="Target's Modbus data address" StringSize="0" Order="1" />
<Variable Name="NodeAddress" DataType="MODBUS2NODEADDR" Comment="Target node address" StringSize="0" Order="2" />
<Variable Name="Port" DataType="UINT" Comment="Target TCP port number" StringSize="0" Order="3" />
<Variable Name="UnitId" DataType="USINT" Comment="Unit Identifier" StringSize="0" Order="4" />
<Variable Name="MsgTimeout" DataType="UDINT" Comment="Message time out (in milliseconds)" StringSize="0" Order="5" />
<Variable Name="ConnTimeout" DataType="UDINT" Comment="Connection timeout (in milliseconds)" StringSize="0" Order="6" />
<Variable Name="ConnClose" DataType="BOOL" Comment="Connection closing behavior" StringSize="0" Order="7" />
</Struct>
</DataType>
<DataType Name="CIPCONTROLCFG" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="36">
<Variable Name="Cancel" DataType="BOOL" Comment="Abort the execution of message" StringSize="0" Order="1" />
<Variable Name="TriggerType" DataType="UDINT" Comment="0 - Trigger once, n - Cyclic trigger" StringSize="0" Order="2" />
<Variable Name="StrMode" DataType="USINT" Comment="reserved parameter" StringSize="0" Order="3" />
</Struct>
</DataType>
<DataType Name="CIPTARGETCFG" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="37">
<Variable Name="Path" DataType="STRING" Comment="CIP destination path" StringSize="80" Order="1" />
<Variable Name="CipConnMode" DataType="USINT" Comment="0 - Unconnected, 1 - Class3 connection" StringSize="0" Order="2" />
<Variable Name="UcmmTimeout" DataType="UDINT" Comment="Unconnected message time out." StringSize="0" Order="3" />
<Variable Name="ConnMsgTimeout" DataType="UDINT" Comment="Connected message time out." StringSize="0" Order="4" />
<Variable Name="ConnClose" DataType="BOOL" Comment="TRUE: Close CIP connection upon message completion" StringSize="0" Order="5" />
</Struct>
</DataType>
<DataType Name="CIPAPPCFG" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="38">
<Variable Name="Service" DataType="USINT" Comment="CIP Service code: 1 - 127" StringSize="0" Order="1" />
<Variable Name="Class" DataType="UINT" Comment="CIP Class ID: 1 - 65535" StringSize="0" Order="2" />
<Variable Name="Instance" DataType="UDINT" Comment="CIP Instance ID: 0 - 0xFFFFFFFF" StringSize="0" Order="3" />
<Variable Name="Attribute" DataType="UINT" Comment="CIP Attribute: 1 - 65535, 0 - No attribute" StringSize="0" Order="4" />
<Variable Name="MemberCnt" DataType="USINT" Comment="CIP Member ID count: 1 - 3, 0 - None" StringSize="0" Order="5" />
<Variable Name="MemberId" DataType="CIPMEMBERID" Comment="CIP Member ID: 0 - 65535" StringSize="0" Order="6" />
</Struct>
</DataType>
<DataType Name="CIPSYMBOLICCFG" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="39">
<Variable Name="Service" DataType="USINT" Comment="0 - Read, 1 - Write" StringSize="0" Order="1" />
<Variable Name="Symbol" DataType="STRING" Comment="Symbol name to read / write" StringSize="80" Order="2" />
<Variable Name="Count" DataType="UINT" Comment="Num of variables to read/ write. 1 - 65535." StringSize="0" Order="3" />
<Variable Name="DataType" DataType="USINT" Comment="Symbol data type" StringSize="0" Order="4" />
<Variable Name="Offset" DataType="USINT" Comment="Byte offset of variable to read / write. 0 - 0xffffffff" StringSize="0" Order="5" />
</Struct>
</DataType>
<DataType Name="CIPSTATUS" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="40">
<Variable Name="Error" DataType="BOOL" Comment="TRUE: message execution error" StringSize="0" Order="1" />
<Variable Name="ErrorID" DataType="UINT" Comment="Error code" StringSize="0" Order="2" />
<Variable Name="SubErrorID" DataType="UINT" Comment="Sub Error code" StringSize="0" Order="3" />
<Variable Name="ExtErrorID" DataType="UINT" Comment="CIP extended status error code" StringSize="0" Order="4" />
<Variable Name="StatusBits" DataType="UINT" Comment="Message execution status." StringSize="0" Order="5" />
</Struct>
</DataType>
<DataType Name="ABLACB" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="41">
<Variable Name="Channel" DataType="UINT" Comment="" StringSize="0" Order="1" />
<Variable Name="TriggerType" DataType="USINT" Comment="" StringSize="0" Order="2" />
<Variable Name="Cancel" DataType="BOOL" Comment="" StringSize="0" Order="3" />
</Struct>
</DataType>
<DataType Name="ARDARL" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="42">
<Variable Name="Channel" DataType="UINT" Comment="" StringSize="0" Order="1" />
<Variable Name="Length" DataType="UINT" Comment="" StringSize="0" Order="2" />
<Variable Name="Cancel" DataType="BOOL" Comment="" StringSize="0" Order="3" />
</Struct>
</DataType>
<DataType Name="AT_PARAM" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="43">
<Variable Name="Load" DataType="REAL" Comment="" StringSize="0" Order="1" />
<Variable Name="Deviation" DataType="REAL" Comment="" StringSize="0" Order="2" />
<Variable Name="Step" DataType="REAL" Comment="" StringSize="0" Order="3" />
<Variable Name="ATDynaSet" DataType="REAL" Comment="" StringSize="0" Order="4" />
<Variable Name="ATReset" DataType="BOOL" Comment="" StringSize="0" Order="5" />
</Struct>
</DataType>
<DataType Name="IRQUPM" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="44">
<Variable Name="AS" DataType="BOOL" Comment="Auto start" StringSize="0" Order="1" />
<Variable Name="ENABLED" DataType="BOOL" Comment="Function Enabled" StringSize="0" Order="2" />
<Variable Name="PE" DataType="BOOL" Comment="Pending User Interrupt" StringSize="0" Order="3" />
<Variable Name="LS" DataType="BOOL" Comment="Lost User Interrupt" StringSize="0" Order="4" />
<Variable Name="EX" DataType="BOOL" Comment="Executing User Interrupt" StringSize="0" Order="5" />
</Struct>
</DataType>
<DataType Name="TOWDATA" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="45">
<Variable Name="Enable" DataType="BOOL" Comment="Enable (TRUE:Enable; FALSE:Disable)" StringSize="0" Order="1" />
<Variable Name="DailyWeekly" DataType="BOOL" Comment="Type of Timer (FALSE:daily timer; TRUE:weekly timer)" StringSize="0" Order="2" />
<Variable Name="DayOn" DataType="USINT" Comment="Day of Week On value (must be in set [0...6])" StringSize="0" Order="3" />
<Variable Name="HourOn" DataType="USINT" Comment="Hour On value (must be in set [0...23])" StringSize="0" Order="4" />
<Variable Name="MinOn" DataType="USINT" Comment="Minute On value (must be in set [0...59])" StringSize="0" Order="5" />
<Variable Name="DayOff" DataType="USINT" Comment="Day of Week Off value (must be in set [0...6])" StringSize="0" Order="6" />
<Variable Name="HourOff" DataType="USINT" Comment="Hour Off value (must be in set [0...23])" StringSize="0" Order="7" />
<Variable Name="MinOff" DataType="USINT" Comment="Minute Off value (must be in set [0...59])" StringSize="0" Order="8" />
</Struct>
</DataType>
<DataType Name="MMCATNUM" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="46">
<Variable Name="CatalogStr" DataType="STRING" Comment="" StringSize="16" Order="1" />
</Struct>
</DataType>
<DataType Name="RTC" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="47">
<Variable Name="Year" DataType="UINT" Comment="" StringSize="0" Order="1" />
<Variable Name="Month" DataType="UINT" Comment="" StringSize="0" Order="2" />
<Variable Name="Day" DataType="UINT" Comment="" StringSize="0" Order="3" />
<Variable Name="Hours" DataType="UINT" Comment="" StringSize="0" Order="4" />
<Variable Name="Minutes" DataType="UINT" Comment="" StringSize="0" Order="5" />
<Variable Name="Seconds" DataType="UINT" Comment="" StringSize="0" Order="6" />
<Variable Name="DayOfWeek" DataType="UINT" Comment="" StringSize="0" Order="7" />
</Struct>
</DataType>
<DataType Name="MMINFO" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="48">
<Variable Name="MMCatalog" DataType="MMCATNUM" Comment="" StringSize="0" Order="1" />
<Variable Name="Series" DataType="UINT" Comment="" StringSize="0" Order="2" />
<Variable Name="Revision" DataType="UINT" Comment="" StringSize="0" Order="3" />
<Variable Name="UPValid" DataType="BOOL" Comment="" StringSize="0" Order="4" />
<Variable Name="ModeBehavior" DataType="BOOL" Comment="" StringSize="0" Order="5" />
<Variable Name="LoadAlways" DataType="BOOL" Comment="" StringSize="0" Order="6" />
<Variable Name="LoadOnError" DataType="BOOL" Comment="" StringSize="0" Order="7" />
<Variable Name="FaultOverride" DataType="BOOL" Comment="" StringSize="0" Order="8" />
<Variable Name="MMPresent" DataType="BOOL" Comment="" StringSize="0" Order="9" />
</Struct>
</DataType>
<DataType Name="SYSINFO" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="49">
<Variable Name="BootMajRev" DataType="UINT" Comment="" StringSize="0" Order="1" />
<Variable Name="BootMinRev" DataType="UINT" Comment="" StringSize="0" Order="2" />
<Variable Name="OSSeries" DataType="UINT" Comment="" StringSize="0" Order="3" />
<Variable Name="OSMajRev" DataType="UINT" Comment="" StringSize="0" Order="4" />
<Variable Name="OSMinRev" DataType="UINT" Comment="" StringSize="0" Order="5" />
<Variable Name="ModeBehaviour" DataType="BOOL" Comment="" StringSize="0" Order="6" />
<Variable Name="FaultOverride" DataType="BOOL" Comment="" StringSize="0" Order="7" />
<Variable Name="StrtUpProtect" DataType="BOOL" Comment="" StringSize="0" Order="8" />
<Variable Name="MajErrHalted" DataType="BOOL" Comment="" StringSize="0" Order="9" />
<Variable Name="MajErrCode" DataType="UINT" Comment="" StringSize="0" Order="10" />
<Variable Name="MajErrUFR" DataType="BOOL" Comment="" StringSize="0" Order="11" />
<Variable Name="UFRPouNum" DataType="UINT" Comment="" StringSize="0" Order="12" />
<Variable Name="MMLoadAlways" DataType="BOOL" Comment="" StringSize="0" Order="13" />
<Variable Name="MMLoadOnError" DataType="BOOL" Comment="" StringSize="0" Order="14" />
<Variable Name="MMPwdMismatch" DataType="BOOL" Comment="" StringSize="0" Order="15" />
<Variable Name="FreeRunClock" DataType="UINT" Comment="" StringSize="0" Order="16" />
<Variable Name="ForcesInstall" DataType="BOOL" Comment="" StringSize="0" Order="17" />
<Variable Name="EmInFilterMod" DataType="BOOL" Comment="" StringSize="0" Order="18" />
</Struct>
</DataType>
<DataType Name="ACLI" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="50">
<Variable Name="Channel" DataType="UINT" Comment="" StringSize="0" Order="1" />
<Variable Name="RXBuffer" DataType="BOOL" Comment="" StringSize="0" Order="2" />
<Variable Name="TXBuffer" DataType="BOOL" Comment="" StringSize="0" Order="3" />
</Struct>
</DataType>
<DataType Name="SOCKADDR_CFG" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="51">
<Variable Name="Port" DataType="UINT" Comment="TCP or UDP Port Number" StringSize="0" Order="1" />
<Variable Name="IPAddress" DataType="IPADDR" Comment="IP Address e.g specify 192.168.1.100, [0] = 192, [1] = 168, [2] = 1, [3] = 100" StringSize="0" Order="2" />
</Struct>
</DataType>
<DataType Name="SOCK_STATUS" Comment="" Access="ReadOnly">
<Struct FieldOrder="1" Order="52">
<Variable Name="ErrorID" DataType="USINT" Comment="Error Code" StringSize="0" Order="1" />
<Variable Name="SubErrorID" DataType="UINT" Comment="Sub Error code" StringSize="0" Order="2" />
<Variable Name="StatusBits" DataType="UINT" Comment="Socket FBs Execution Status" StringSize="0" Order="3" />
</Struct>
</DataType>
</DataTypes>
<Networks>
<Network Name="HSD" SingleTextLine="" LocalNet="true" DistributedNet="false" Comment="" UsedForBinding="true" BindingService="false" AllowWorkbenchCommunications="true">
<Parameters />
<ConnectionParameters />
<ResourceParameters>
<Parameter Name="ValidityTime" Format="Long" Default="0" Access="UserDefined" SingleTextLine="Produced Variables validity time." LocalNet="false" DistributedNet="false" />
</ResourceParameters>
<VariableParameters />
</Network>
<Network Name="ETCP" SingleTextLine="" LocalNet="false" DistributedNet="true" Comment="" UsedForBinding="true" BindingService="false" AllowWorkbenchCommunications="true">
<Parameters />
<ConnectionParameters>
<Parameter Name="IPAddress" Format="String" Default="" Access="UserDefined" SingleTextLine="IP address or Computer name" LocalNet="false" DistributedNet="true" />
</ConnectionParameters>
<ResourceParameters>
<Parameter Name="TimeOut" Format="Long" Default="10000" Access="UserDefined" SingleTextLine="Maximum allowed time (in ms) to transport a variable" LocalNet="false" DistributedNet="false" />
</ResourceParameters>
<VariableParameters />
</Network>
<Network Name="ISARSI" SingleTextLine="" LocalNet="false" DistributedNet="true" Comment="" UsedForBinding="true" BindingService="false" AllowWorkbenchCommunications="true">
<Parameters>
<Parameter Name="Port" Format="String" Default="COM1" Access="UserDefined" SingleTextLine="Workbench communication port" LocalNet="false" DistributedNet="true" />
<Parameter Name="BaudRate" Format="Long" Default="115200" Access="UserDefined" SingleTextLine="Data transfer baud rate" LocalNet="false" DistributedNet="true" />
<Parameter Name="Parity" Format="Character" Default="N" Access="UserDefined" SingleTextLine="N: None, E: Even, O: Odd" LocalNet="false" DistributedNet="true" />
<Parameter Name="StopBit" Format="Word" Default="1" Access="UserDefined" SingleTextLine="1 or 2 Stop bits" LocalNet="false" DistributedNet="true" />
<Parameter Name="HardwareFlowControl" Format="Boolean" Default="FALSE" Access="UserDefined" SingleTextLine="TRUE when using hardware flow control" LocalNet="false" DistributedNet="true" />
</Parameters>
<ConnectionParameters />
<ResourceParameters />
<VariableParameters />
</Network>
<Network Name="CIPNetwork" SingleTextLine="" LocalNet="false" DistributedNet="true" Comment="" UsedForBinding="true" BindingService="false" AllowWorkbenchCommunications="true">
<Parameters />
<ConnectionParameters>
<Parameter Name="CipPath" Format="String" Default="&quot;&quot;" Access="UserDefined" SingleTextLine="" LocalNet="false" DistributedNet="true" />
</ConnectionParameters>
<ResourceParameters />
<VariableParameters />
</Network>
</Networks>
<NetworkInstances>
<NetworkInstance NetworkName="CIPNetwork" Name="CIPNetwork1" />
</NetworkInstances>
<Targets>
<Target Name="2080LC2020QWBI" />
</Targets>
<Configurations>
<Configuration Name="Micro820" ElementGuid="939ebd4d-03fd-401c-ab85-9cdf9558de18" />
</Configurations>
</Project>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<DevicePreferences xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Micro800ConnectionPath>DESKTOP-AGBV11S!Henry_Pump\10.20.4.5</Micro800ConnectionPath>
<Micro800ConnectionPath>PATRICKMCDO2139!Henry_Pump\10.20.4.5</Micro800ConnectionPath>
</DevicePreferences>

View File

@@ -28,7 +28,7 @@
</DLGRCP_VarVA>
<DLGRCP_VarVA>
<ArrayLength>1</ArrayLength>
<VirtualAddress>2209</VirtualAddress>
<VirtualAddress>2213</VirtualAddress>
<Name>DH_DownholeStatus</Name>
<Index>3</Index>
<ISaDataType>STRING</ISaDataType>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<Configuration FileVersion="200.00.003" Name="Micro820" ElementGuid="939ebd4d-03fd-401c-ab85-9cdf9558de18" onlineBehavior="Always" TargetName="2080LC2020QWBI" Comment="" SingleTextLine="" Password="" IsEnhanced="false" IsEnhancedTarget="true" IsIsagraf3="false">
<Connections>
<Connection NetworkName="CIPNetwork1">
<Parameter Name="CipPath" Value="&quot;&quot;" />
</Connection>
</Connections>
<Resource Name="Micro820" ElementGuid="73aee734-b491-4716-bb8a-e114474b2e0b" />
</Configuration>

View File

@@ -0,0 +1,409 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="Control" ElementGuid="2e293809-2592-4360-9ef5-9e938bc7b980" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<Program />
<LocalVars>
<Variable Name="Pressure_Switch_OK" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="LinearScale_Pressure" DataType="LinearScale" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="TEST_started" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="cmd_AutoModeTimerStart" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="RTrig_AutoMode" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="Time_Until_Startup_Min" DataType="DINT" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="Time_Until_Startup_Sec" DataType="DINT" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="LinearScale_Flow" DataType="LinearScale" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="UNSTICK_STARTCOMMAND" DataType="TON" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="StartCommandTime" DataType="TIME" InitialValue="T#4s" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
</LocalVars>
<PouBody><![CDATA[PROGRAM Control
(* CURRENT TIME IN SECONDS... this doesn't really correlate to anything other than a second counter *)
(* time_CurrentTime := ANY_TO_DINT( __SYSVA_CYCLEDATE) / 1000;*)
CurrentTimeRTC(TRUE);
time_CurrentTime := ANY_TO_DINT(CurrentTimeRTC.Epoch);
(*IO Mapping*)
IF NOT Test_Mode THEN
Contactor_Status := DigitalInput_Status_0;
Start_Button := DigitalInput_Status_1;
Auto_Mode := DigitalInput_Status_2;
Hand_Mode := DigitalInput_Status_3;
LinearScale_Pressure(13107.0, 65535.0, Pressure_EU_Min, Pressure_EU_Max, ANY_TO_REAL(_IO_P1_AI_00));
LinearScale_Flow(13107.0, 65535.0, Flow_EU_Min, Flow_EU_Max, ANY_TO_REAL(_IO_P1_AI_01));
Pressure_In := LinearScale_Pressure.EU_Out;
Flowrate := LinearScale_Flow.EU_Out;
ELSE
Contactor_Status := cmd_Run;
VoltageOK := TRUE;
END_IF;
(* First Scan Variable Setting*)
IF (__SYSVA_FIRST_SCAN) THEN
Shutdown_Time := time_CurrentTime;
Device_Status:= 'Startup';
Device_Status_INT := 1;
Restart_Command := FALSE;
Restart_Allowed := FALSE;
Run_Permissive := FALSE;
Start_Permissive := FALSE;
cfg_READ := TRUE;
sts_TimerRunTimeSet := FALSE;
sts_TimerWaitTimeSet := FALSE;
sts_TimerCycleActive := FALSE;
sts_TripCountIncreased := FALSE;
val_OverloadTripCount := 0;
val_TripCount := 0;
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]) - 14.0;
DH_NumChannels := Modbus_Read0[10];
DH_ToolVoltage := Modbus_Read0[11];
DH_MaxIntakeTemperature_Startup := ANY_TO_REAL(Modbus_Read0[40]) / 10.0;
DH_MaxIntakePressure_Startup := Modbus_Read0[41];
DH_DownholeStatus_INT := Modbus_Read0[99];
DH_Fluid_Level := DH_IntakePressure * (1.0 / 0.433) * (1.0 / cfg_SpecificGravity) + cfg_DHSensorDistToIntake;
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;
IF Pressure_Transducer_Enabled AND
Contactor_Status AND
Run_Time > Pressure_Alarm_Startup_Delay 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;
alarm_TubingPressure := NOT Pressure_OK;
(* Start Permissive Status *)
SP_Pressure := (NOT Pressure_Startup_Enabled) OR (DH_IntakePressure > Pressure_Startup);
SP_Temperature := (NOT Temp_Startup_Enabled) OR (DH_IntakeTemperature < Temp_Startup);
SP_Mode := Hand_Mode OR Auto_Mode OR Test_Mode;
SP_Trip := NOT TripStatus;
SP_Voltage := VoltageOK;
(* Pressure should be above the startup pressure setpoint and temperature should be below the startup temp setpoint to begin*)
Start_Permissive := (SP_Pressure AND SP_Temperature AND SP_Mode AND SP_Trip AND SP_Voltage);
IF NOT Start_Permissive AND NOT cmd_Run THEN
Device_Status := 'Not ready to start';
Device_Status_INT := 2;
END_IF;
IF Device_Status = 'Not ready to start' AND Start_Permissive AND NOT cmd_Run THEN
Device_Status := 'Ready to start';
Device_Status_INT := 3;
END_IF;
(* Run Permissive Status *)
RP_Pressure := (NOT Pressure_Shutdown_Enabled) OR (DH_IntakePressure > Pressure_Shutdown);
RP_Temperature := (NOT Temp_Shutdown_Enabled) OR (DH_IntakeTemperature < Temp_Shutdown);
RP_Mode := Hand_Mode OR Auto_Mode OR Test_Mode;
RP_Trip := NOT TripStatus;
RP_TubingPressure := Pressure_OK;
(* Pressure should be be above the shutdown pressure and temperature should be below shutdown temp setpoint to continue to run *)
Run_Permissive := (RP_Pressure AND RP_Temperature AND RP_Mode AND RP_Trip AND RP_TubingPressure);
alarm_DHPressure := NOT RP_Pressure AND Contactor_Status;
alarm_DHTemperature := NOT RP_Temperature AND Contactor_Status;
IF (NOT Run_Permissive AND cmd_Run) THEN
Device_Status := 'Lost Run Permissive';
Device_Status_INT := 4;
Shutdown_Time := time_CurrentTime;
IF NOT sts_TripCountIncreased THEN
IF OverloadTrip THEN
val_OverloadTripCount := val_OverloadTripCount + 1;
ELSE
val_TripCount := val_TripCount + 1;
END_IF;
sts_TripCountIncreased := TRUE;
END_IF;
END_IF;
IF val_OverloadTripCount > cfg_OverloadTripCountLimit THEN
Restart_Allowed := FALSE;
Device_Status := 'Not able to restart - Overload Limit';
Device_Status_INT := 5;
sts_TripLimitOLReached := TRUE;
ELSE
sts_TripLimitOLReached := FALSE;
END_IF;
IF val_TripCount > cfg_TripCountLimit THEN
Restart_Allowed := FALSE;
Device_Status := 'Not able to restart - Trip Limit';
Device_Status_INT := 6;
sts_TripLimitReached := TRUE;
ELSE
sts_TripLimitReached := FALSE;
END_IF;
(* If the pump hasn't been started by the user, don't allow it to auto-restart *)
IF (Start_Command OR Start_Button) AND Start_Permissive THEN
TEST_started := TRUE;
Restart_Allowed := TRUE;
IF cfg_TimerModeEnabled THEN
sts_TimerCycleActive := TRUE;
cmd_TimerRun := TRUE;
END_IF;
END_IF;
(* If run permissive goes false, do not allow a restart for a specified amount of time *)
IF (Auto_Mode AND
(NOT OverloadTrip) AND
(NOT cmd_Run) AND
((sts_TimerCycleActive AND cmd_TimerRun) OR (NOT sts_TimerCycleActive)) AND
Restart_Allowed) THEN
IF (time_CurrentTime - Shutdown_Time) > Downtime_Time_Parameter THEN
IF (NOT Restart_Command) THEN
TripResetCmd := TRUE;
Restart_Command := TRUE;
IF cfg_TimerModeEnabled THEN
cmd_TimerRun := TRUE;
sts_TimerCycleActive := TRUE;
END_IF;
END_IF;
ELSE
IF cfg_TimerModeEnabled THEN
cmd_TimerRun := FALSE;
END_IF;
sts_TimerCycleActive := FALSE;
Restart_Command := FALSE;
Time_Until_Startup := Downtime_Time_Parameter - (time_CurrentTime - Shutdown_Time);
Time_Until_Startup_Min := Time_Until_Startup / 60;
Time_Until_Startup_Sec := Time_Until_Startup - (Time_Until_Startup_Min * 60);
Time_Until_Startup_String := ANY_TO_STRING(Time_Until_Startup_Min) + ':' + RIGHT('0' + ANY_TO_STRING(Time_Until_Startup_Sec),2);
IF Auto_Mode THEN
Device_Status := 'Waiting to attempt restart: ' + Time_Until_Startup_String;
Device_Status_INT := 7;
END_IF;
END_IF;
ELSIF (Auto_Mode AND
OverloadTrip AND
(NOT cmd_Run) AND
Restart_Allowed) THEN
IF (time_CurrentTime - Shutdown_Time) > Downtime_Time_Parameter_OL THEN
IF (NOT Restart_Command) THEN
Restart_Command := True;
IF cfg_TimerModeEnabled THEN
cmd_TimerRun := TRUE;
sts_TimerCycleActive := TRUE;
END_IF;
END_IF;
ELSE
IF cfg_TimerModeEnabled THEN
cmd_TimerRun := FALSE;
END_IF;
sts_TimerCycleActive := FALSE;
Restart_Command := FALSE;
Time_Until_Startup := Downtime_Time_Parameter_OL - (time_CurrentTime - Shutdown_Time);
Time_Until_Startup_Min := Time_Until_Startup / 60;
Time_Until_Startup_Sec := Time_Until_Startup - (Time_Until_Startup_Min * 60);
Time_Until_Startup_String := ANY_TO_STRING(Time_Until_Startup_Min) + ':' + RIGHT('0' + ANY_TO_STRING(Time_Until_Startup_Sec),2);
IF Auto_Mode THEN
Device_Status := 'Waiting to restart (OL Timer):' + Time_Until_Startup_String;
Device_Status_INT := 8;
END_IF;
END_IF;
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 cmd_TimerRun OR (Restart_Allowed AND Restart_Command)) AND Start_Permissive) OR cmd_Run) AND
(NOT Stop_Command) AND (cmd_TimerRun OR NOT cfg_TimerModeEnabled) AND Run_Permissive) THEN
cmd_Run := TRUE;
Restart_Command:= FALSE;
IF NOT Start_Time_Set THEN
Start_Time := time_CurrentTime;
Start_Time_Set := TRUE;
Device_Status := 'Running';
Device_Status_INT := 9;
sts_TripCountIncreased := FALSE;
END_IF;
IF Contactor_Status THEN
Run_Time := time_CurrentTime - Start_Time;
END_IF;
ELSE
cmd_Run := FALSE;
END_IF;
UNSTICK_STARTCOMMAND(Start_Command, StartCommandTime);
IF UNSTICK_STARTCOMMAND.Q THEN
Start_Command := FALSE;
END_IF;
IF cmd_Run AND NOT Contactor_Status THEN
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 Contactor_Status AND (Run_Time > cfg_ClearTripCountAfter) THEN
val_OverloadTripCount := 0;
val_TripCount := 0;
END_IF;
IF NOT Auto_Mode THEN
Restart_Command := FALSE;
Restart_Allowed := FALSE;
END_IF;
(* Start up automatically if powering up in auto mode *)
RTrig_AutoMode(Auto_Mode);
IF RTrig_AutoMode.Q THEN
Restart_Allowed := TRUE;
Shutdown_Time := time_CurrentTime;
END_IF;
IF Stop_Command THEN
Restart_Allowed := FALSE;
Device_Status := 'User Stopped';
Device_Status_INT := 10;
sts_TimerCycleActive := FALSE;
val_OverloadTripCount := 0;
val_TripCount := 0;
cmd_TimerRun := FALSE;
sts_TimerRunTimeSet := FALSE;
IF NOT Contactor_Status THEN
Stop_Command := FALSE;
END_IF;
END_IF;
IF (NOT Hand_Mode) AND (NOT Auto_Mode) THEN
val_OverloadTripCount := 0;
val_TripCount := 0;
cmd_TimerRun := FALSE;
sts_TimerCycleActive := FALSE;
sts_TimerRunTimeSet := FALSE;
(*Restart_Allowed := FALSE;*)
END_IF;
IF NOT Contactor_Status THEN
Start_Time_Set := FALSE;
END_IF;
(* TIMER MODE *)
IF cfg_TimerModeEnabled AND sts_TimerCycleActive THEN
IF cmd_TimerRun THEN
IF NOT sts_TimerRunTimeSet THEN
sts_TimerRunTimeSet := TRUE;
time_TimerRunTime := time_CurrentTime;
END_IF;
timer_RunTimeLeft := (cfg_TimerRunTime * 60) - (time_CurrentTime - time_TimerRunTime);
IF timer_RunTimeLeft <= 0 THEN
cmd_TimerRun := FALSE;
sts_TimerRunTimeSet := FALSE;
END_IF;
time_RunTimeLeftMin := timer_RunTimeLeft / 60;
time_RunTimeLeftSec := timer_RunTimeLeft - (time_RunTimeLeftMin * 60);
ELSE
IF NOT sts_TimerWaitTimeSet THEN
sts_TimerWaitTimeSet := TRUE;
time_TimerWaitTime := time_CurrentTime;
Device_Status := 'Waiting to start (Timer Mode)';
Device_Status_INT := 11;
END_IF;
timer_WaitTimeLeft := (cfg_TimerWaitTime * 60) - (time_CurrentTime - time_TimerWaitTime);
IF timer_WaitTimeLeft <= 0 THEN
cmd_TimerRun := TRUE;
sts_TimerWaitTimeSet := FALSE;
END_IF;
time_WaitTimeLeftMin := timer_WaitTimeLeft / 60;
time_WaitTimeLeftSec := timer_WaitTimeLeft - (time_WaitTimeLeftMin * 60);
END_IF;
END_IF;
IF NOT cfg_TimerModeEnabled OR Stop_Command THEN
cmd_TimerRun := FALSE;
sts_TimerRunTimeSet := FALSE;
sts_TimerWaitTimeSet := FALSE;
END_IF;
IF TripStatus OR OverloadTrip THEN
IF MOD(time_CurrentTime, cfg_ResetCycle) = 0 THEN
TripResetCmd := TRUE;
END_IF;
END_IF;
END_PROGRAM]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="DINT_TO_USINT" ElementGuid="fba58c7f-e0a2-4702-9181-c99a8ab6fd39" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="INP_DINT" DataType="DINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="OUT_SINT_1" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="OUT_SINT_2" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="OUT_SINT_3" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="OUT_SINT_4" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="Epoch_Time" ElementGuid="1f8f8d8a-87f5-4e34-b071-ff772e5f5dfd" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="RTC_READ_ENABLED" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="Epoch" DataType="ULINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="year" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="month" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="day" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="hour" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="minute" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="second" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="RTC_READ_1" DataType="RTC_READ" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="prev_months_days" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="year_seconds" DataType="ULINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="day_seconds" DataType="ULINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="min_seconds" DataType="ULINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="hour_seconds" DataType="ULINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[FUNCTION_BLOCK Epoch_Time
RTC_READ_1(RTC_READ_ENABLED);
CASE RTC_READ_1.RTCData.Month OF
1: prev_months_days := 0;
2: prev_months_days := 31;
3: prev_months_days := 59;
4: prev_months_days := 90;
5: prev_months_days := 121;
6: prev_months_days := 151;
7: prev_months_days := 181;
8: prev_months_days := 212;
9: prev_months_days := 243;
10: prev_months_days := 273;
11: prev_months_days := 304;
12: prev_months_days := 334;
END_CASE;
IF MOD(ANY_TO_DINT(RTC_READ_1.RTCData.Year), 4) = 0 THEN
IF RTC_READ_1.RTCData.Month > 2 THEN
prev_months_days := prev_months_days + 1;
END_IF;
END_IF;
year_seconds := ANY_TO_ULINT(RTC_READ_1.RTCData.Year - ANY_TO_UINT(1970)) * ANY_TO_ULINT(31556926);
day_seconds := ANY_TO_ULINT((prev_months_days + RTC_READ_1.RTCData.Day) * ANY_TO_UINT(86400));
hour_seconds := ANY_TO_ULINT(RTC_READ_1.RTCData.Hours * 3600);
min_seconds := ANY_TO_ULINT(RTC_READ_1.RTCData.Minutes * 60);
Epoch := year_seconds + day_seconds + hour_Seconds + min_seconds + ANY_TO_ULINT(RTC_READ_1.RTCData.Seconds);
END_FUNCTION_BLOCK]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="FlowTotalizer" ElementGuid="88be61f4-7c0b-465f-9894-13192a9bfa6f" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<Program />
<LocalVars>
<Variable Name="TON_Totalizer" DataType="TON" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="COP_1" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
</LocalVars>
<PouBody><![CDATA[PROGRAM FlowTotalizer
TON_Totalizer(NOT(TON_Totalizer.Q), T#10s);
IF TON_Totalizer.Q THEN
Flow_Today := Flow_Today + (Flowrate * (10.0 / 60.0));
END_IF;
IF ((CurrentTimeRTC.hour = 0) AND (CurrentTimeRTC.minute = 0) AND (CurrentTimeRTC.second = 0)) THEN
Flow_Yesterday := Flow_Today;
Flow_Today := 0.0;
END_IF;
END_PROGRAM]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="LinearScale" ElementGuid="c3cea0dc-774b-4c44-8ed3-7396fc32fb4e" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="Raw_Min" DataType="REAL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="Raw_Max" DataType="REAL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="EU_Min" DataType="REAL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="EU_Max" DataType="REAL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="Raw_Inp" DataType="REAL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="EU_Out" DataType="REAL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="m" DataType="REAL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="b" DataType="REAL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -1,51 +0,0 @@
0::0046-0003::-------------------- Pre-build resource: MICRO820 Configuration: MICRO820 --------------
0::0044-0003::Pre-compiling for 2080LC2020QWBI
0::0000-0003::RA_CIP_ELECTRICAL_ENERGY_OBJ
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\RA_CIP_ELECTRICAL_ENERGY_OBJ:0000-0003::RA_E300_OUTPUT_CONTROL
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\RA_E300_OUTPUT_CONTROL:0000-0003::READE300IO
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300IO:0000-0003::READE300CONFIG
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300CONFIG:0000-0003::READE300TRIPRESET
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300TRIPRESET:0000-0003::READE300PARAM
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300PARAM:0000-0003::USINT_TO_UDINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_UDINT:0000-0003::USINT_TO_DINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_DINT:0000-0003::USINT_TO_UINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_UINT:0000-0003::USINT_TO_SINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_SINT:0000-0003::UDINT_TO_USINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\UDINT_TO_USINT:0000-0003::DINT_TO_USINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\DINT_TO_USINT:0000-0003::UINT_TO_USINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\UINT_TO_USINT:0000-0003::SINT_TO_USINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\SINT_TO_USINT:0000-0003::WRITEE300CONFIG
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\WRITEE300CONFIG:0000-0003::WRITEE300TRIPRESET
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\WRITEE300TRIPRESET:0000-0003::LINEARSCALE
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\LINEARSCALE:0000-0003::EPOCH_TIME
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\EPOCH_TIME:0000-0003::READDOWNHOLEDATA
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READDOWNHOLEDATA:0000-0003::E300DATA
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\E300DATA:0000-0003::CONTROL
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\CONTROL:0000-0003::FLOWTOTALIZER
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\FLOWTOTALIZER:0002-0003::MICRO820: 0 error(s), 0 warning(s)
0::0006-0003::-------------------- Build resource: MICRO820 Configuration: MICRO820 --------------
0::0001-0003::Compiling for 2080LC2020QWBI
0::0000-0003::RA_CIP_ELECTRICAL_ENERGY_OBJ
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\RA_CIP_ELECTRICAL_ENERGY_OBJ:0000-0003::RA_E300_OUTPUT_CONTROL
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\RA_E300_OUTPUT_CONTROL:0000-0003::READE300IO
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300IO:0000-0003::READE300CONFIG
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300CONFIG:0000-0003::READE300TRIPRESET
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300TRIPRESET:0000-0003::READE300PARAM
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READE300PARAM:0000-0003::USINT_TO_UDINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_UDINT:0000-0003::USINT_TO_DINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_DINT:0000-0003::USINT_TO_UINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_UINT:0000-0003::USINT_TO_SINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\USINT_TO_SINT:0000-0003::UDINT_TO_USINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\UDINT_TO_USINT:0000-0003::DINT_TO_USINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\DINT_TO_USINT:0000-0003::UINT_TO_USINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\UINT_TO_USINT:0000-0003::SINT_TO_USINT
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\SINT_TO_USINT:0000-0003::WRITEE300CONFIG
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\WRITEE300CONFIG:0000-0003::WRITEE300TRIPRESET
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\WRITEE300TRIPRESET:0000-0003::LINEARSCALE
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\LINEARSCALE:0000-0003::EPOCH_TIME
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\EPOCH_TIME:0000-0003::READDOWNHOLEDATA
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\READDOWNHOLEDATA:0000-0003::E300DATA
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\E300DATA:0000-0003::CONTROL
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\CONTROL:0000-0003::FLOWTOTALIZER
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\FLOWTOTALIZER:0003-0003::Linking for 2080LC2020QWBI
0:C:\USERS\PATRI\DOCUMENTS\HENRY_PUMP\E300-IPP\CONTROLLER\CONTROLLER\MICRO820\MICRO820\FLOWTOTALIZER:0002-0003::MICRO820: 0 error(s), 0 warning(s)

View File

@@ -1,10 +1,10 @@
[MEMORY]
Offset0=0x4550
Offset1=0x5550
Offset2=0x5550
Offset3=0x5550
Offset0=0x4568
Offset1=0x5568
Offset2=0x5568
Offset3=0x5568
Memory Usage Estimate(Code)=0xA1C0
Memory Usage Estimate(Data)=0x9E30
Memory Usage Estimate(Data)=0x9E48
Memory Usage Estimate(Retain)=0x50
Memory Usage Estimate(Temporary variables)=0x28D4
Memory Usage Estimate(Temporary variables)=0x28DC
Offset4=0x414

View File

@@ -1,10 +1,10 @@
[MEMORY]
Offset0=0x4550
Offset1=0x5550
Offset2=0x5550
Offset3=0x5550
Offset0=0x4568
Offset1=0x5568
Offset2=0x5568
Offset3=0x5568
Memory Usage Estimate(Code)=0xA1C0
Memory Usage Estimate(Data)=0x9E30
Memory Usage Estimate(Data)=0x9E48
Memory Usage Estimate(Retain)=0x50
Memory Usage Estimate(Temporary variables)=0x28D4
Memory Usage Estimate(Temporary variables)=0x28DC
Offset4=0x414

View File

@@ -1,28 +1,16 @@
[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
ON_LINE=N
TBL_CONF=Y
CRC_ORG=0x590030C1
CRC_OLD=0x590030C1
CRC_NEW=0xDE6DAC1E
DAT_ORG=1474998356
DAT_OLD=1474998356
DAT_NEW=1474999559
VER_ORG=94
VER_OLD=94
VER_NEW=95
CRC_ALL_OLD=0xE5A92824
CRC_ALL_NEW=0x068EF11D
CRC_ORG=0x0
CRC_OLD=
CRC_NEW=0x58B81350
DAT_ORG=0
DAT_OLD=0
DAT_NEW=1495230898
VER_ORG=0
VER_OLD=0
VER_NEW=96
CRC_ALL_OLD=
CRC_ALL_NEW=0xC63B4F28

View File

@@ -1,9 +1,9 @@
[MEMORY]
Memory Usage Estimate(Temporary variables)=0x28DC
Biggest online change user variable memory block size=0x800
Currently added user variables=0x18
Currently added user variables=0x0
Total data size=0x6E44
User variables size=0x4568
Maximum size for temporary variables=0x48DC
Memory Usage Estimate(Data)=0x9E2C
Free memory for user variables=0xFE8
Memory Usage Estimate(Data)=0x9E44
Free memory for user variables=0x1000

View File

@@ -1,9 +1,9 @@
[MEMORY]
Memory Usage Estimate(Temporary variables)=0x28DC
Biggest online change user variable memory block size=0x800
Currently added user variables=0x18
Currently added user variables=0x0
Total data size=0x6E44
User variables size=0x4568
Maximum size for temporary variables=0x48DC
Memory Usage Estimate(Data)=0x9E2C
Free memory for user variables=0xFE8
Memory Usage Estimate(Data)=0x9E44
Free memory for user variables=0x1000

View File

@@ -0,0 +1,515 @@
<?xml version="1.0" encoding="utf-8"?>
<Resource FileVersion="200.00.003" Name="Micro820" ResourceNb="1" ElementGuid="73aee734-b491-4716-bb8a-e114474b2e0b" Address="@1" Comment="" SingleTextLine="" GenDebugInfo="false" Password="" ReadOnly="false" UsePrjPassword="false" Code="TicCode">
<Properties Test="true" TrigCycle="false" CyTiming="0" DeErrors="true" NbStErrors="16" ExecMode="true" EmbedTable="true" TypeEmbedTable="1" EmbedSource="true" TypeEmbedSource="0" SimulationCode="false" SfcGain="8" SfcOffset="18" EmbeddedSfc="false" ReadableImage="false" RealImage="false" LocExp="true" unlab="false" AriOpe="true" BooOpe="true" BooExp="true" GloExp="true" VarCpy="true" Uncod="true" MapFile="false" DumpPou="false" DumpConfig="false" DumpNetwork="false" CompileIncrementally="true" LinkIncrementally="true" CheckArray="true" ArrStr="true" OnlineMemory="112000" OnlineMemoryVariable="4096" MemRetain="RETAIN" FunctionInternalStateEnable="true" FbdBehaviorMode="1" OnlineMaxExtraPous="20" OnlineMemorySfc="20" CyUsTiming="0" IsDisableAccessFBLocalVar="true" EnableCVT="false" ReduceBooleanExpressionEvaluation="false" IsIndirectBitAccessValidation="true" />
<Pous>
<FunctionBlock Name="RA_CIP_ELECTRICAL_ENERGY_OBJ" ElementGuid="9e116e82-db64-4872-bda1-ef7ada62d71b" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="RA_E300_OUTPUT_CONTROL" ElementGuid="c345a0fc-70a0-459b-b07b-8ffd7729b5e8" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="ReadE300IO" ElementGuid="492b32e2-63c3-46f8-afeb-6d9e6b76da86" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="ReadE300Config" ElementGuid="7fef2c64-8552-4a7b-bfcb-a81bf0653d28" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="ReadE300TripReset" ElementGuid="5352e95a-d9a5-447b-aa7a-7071ec0481c2" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="ReadE300Param" ElementGuid="0665f1e9-fb03-48de-86da-7c7f08fe0360" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="USINT_TO_UDINT" ElementGuid="5c9551f1-c000-4c03-b505-8294f43771c9" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="USINT_TO_DINT" ElementGuid="e4c03d62-78c9-4c67-b91a-65b1b7a2a87f" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="USINT_TO_UINT" ElementGuid="b5d70542-1b0d-4d1b-a308-ed6dc1bc31c3" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="USINT_TO_SINT" ElementGuid="bd263122-9333-474e-9301-63d7d2a0a248" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="UDINT_TO_USINT" ElementGuid="634a5889-7131-459b-82bb-32669f70ba62" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="DINT_TO_USINT" ElementGuid="fba58c7f-e0a2-4702-9181-c99a8ab6fd39" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="UINT_TO_USINT" ElementGuid="db53599f-6f5d-4621-a1aa-5fa9a64c8ed3" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="SINT_TO_USINT" ElementGuid="68211587-a34a-4aa0-bf4f-bd92fabbb652" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="WriteE300Config" ElementGuid="825fba0c-a967-4905-b00b-13d3fe1ff759" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="WriteE300TripReset" ElementGuid="bc558758-c39a-435b-8a5c-c577f569ebd1" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="LinearScale" ElementGuid="c3cea0dc-774b-4c44-8ed3-7396fc32fb4e" Language="ST" CustomFbd="0" Is1499="false" />
<FunctionBlock Name="Epoch_Time" ElementGuid="1f8f8d8a-87f5-4e34-b071-ff772e5f5dfd" Language="ST" CustomFbd="0" Is1499="false" />
<Program Name="ReadDownholeData" ElementGuid="a537c79f-58bd-4503-a8bd-4473e96020b3" Language="LD" CustomFbd="0" Is1499="false" />
<Program Name="E300Data" ElementGuid="22fb9760-076e-482b-bcbe-c8fd6362439b" Language="ST" CustomFbd="0" Is1499="false" />
<Program Name="Control" ElementGuid="2e293809-2592-4360-9ef5-9e938bc7b980" Language="ST" CustomFbd="0" Is1499="false" />
<Program Name="FlowTotalizer" ElementGuid="88be61f4-7c0b-465f-9894-13192a9bfa6f" Language="ST" CustomFbd="0" Is1499="false" />
</Pous>
<NetworkParameterValues>
<NetworkParameterValue NetworkName="HSD" Name="ValidityTime" Value="0" />
<NetworkParameterValue NetworkName="ETCP" Name="TimeOut" Value="10000" />
</NetworkParameterValues>
<GlobalVars>
<Variable Name="__SYSVA_TCYWDG" DataType="UDINT" InitialValue="2000" Comment="Software Watchdog" Address="" Modifier="NonRetain" Kind="VarGlobal" Alias="" AccessRights="ReadWrite" Attributes="32501" />
<Variable Name="__SYSVA_USER_DATA_LOST" DataType="BOOL" InitialValue="FALSE" Comment="User data lost" Address="" Modifier="NonRetain" Kind="VarGlobal" Alias="" AccessRights="ReadWrite" Attributes="32501" />
<Variable Name="DH_IntakeTemperature" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_IntakePressure" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_WindingTemperature" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_DischargeTemperature" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_DischargePressure" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_VibrationX" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_VibrationY" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_DownholeStatus" DataType="STRING" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="ModbusCycleTime" DataType="TIME" InitialValue="T#20s" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="ModbusCycleTimeElapsed" DataType="TIME" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_IP_ADDRESS" DataType="STRING" InitialValue="'192.168.1.9'" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_SCAN_RATE" DataType="UINT" InitialValue="1000" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_OUTPUT_NUMBER" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cmd_Run" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_OUTPUT_SET_CORRECTLY" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300" DataType="CIPEEOBJ_ATTRIBS" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_SELECTED_OUTPUT" DataType="STRING" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DigitalInput_Status_0" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DigitalInput_Status_1" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DigitalInput_Status_2" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DigitalInput_Status_3" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Start_Command" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Stop_Command" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Start_Permissive" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Run_Permissive" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Enable_IO_Read" DataType="BOOL" InitialValue="TRUE" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DigitalInput_Status_5" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DigitalInput_Status_4" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Temp_Shutdown" DataType="REAL" InitialValue="75.0" Comment="Temperature at which to stop the pump" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Temp_Startup" DataType="REAL" InitialValue="75.0" Comment="Temperature at which to startup the pump" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Temp_Shutdown_Enabled" DataType="BOOL" InitialValue="TRUE" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Temp_Startup_Enabled" DataType="BOOL" InitialValue="TRUE" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_Shutdown" DataType="REAL" InitialValue="" Comment="Pressure at which to shutdown the pump" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_Startup" DataType="REAL" InitialValue="" Comment="Pressure at which to startup the pump" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_Shutdown_Enabled" DataType="BOOL" InitialValue="TRUE" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_Startup_Enabled" DataType="BOOL" InitialValue="TRUE" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Downtime_Timer" DataType="TON" InitialValue=",,,T#0s" Comment="Time to remain shutdown after permissive goes false" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Downtime_Time_Parameter" DataType="DINT" InitialValue="600" Comment="Number of seconds to remain shutdown" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Device_Status" DataType="STRING" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Shutdown_Time" DataType="DINT" InitialValue="" Comment="Time when the unit stopped" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Restart_Command" DataType="BOOL" InitialValue="" Comment="It has been enough time that the device is ready to start up" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Time_Until_Startup" DataType="DINT" InitialValue="" Comment="Time Until the unit can restart" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Restart_Allowed" DataType="BOOL" InitialValue="" Comment="Set by the program. Resetting automatically is allowed" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_kWh" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_kWh_Regen" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Modbus_Read0" DataType="MODBUSLOCADDR" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Modbus_Read1000" DataType="MODBUSLOCADDR" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_NumChannels" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_ToolVoltage" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_MaxIntakeTemperature_Startup" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_MaxIntakePressure_Startup" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_ToolType" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_PSIRating" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_MaxIntakeTemperature_Forever" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_MaxIntakePressure_Forever" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_DownholeStatus_INT" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Hand_Mode" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Auto_Mode" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Start_Button" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Contactor_Status" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_C_FLASetting" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_TCU_TripClass" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_TCU_OLResetLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_TCU_OLWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_TripEnableCurrent" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_TripEnableVoltage" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_TripEnablePower" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_C_TripEnableControl" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_WarningEnableCurrent" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_WarningEnableVoltage" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_WarningEnablePower" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_C_WarningEnableControl" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_PL_PhaseLossInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_PL_PhaseLossTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_GF_GroundFaultInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_GF_GroundFaultTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_GF_GroundFaultTripLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_GF_GroundFaultWarningDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_GF_GroundFaultWarningLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_StallEnabledTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_StallTripLevel" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_JamInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_JamTripDelay" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_JamTripLevel" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_JamWarningLevel" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_UnderloadInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_UnderloadTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_UnderloadTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_UnderloadWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_CurrentImbalanceInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_CurrentImbalanceTripDelay" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_CurrentImbalanceTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_CurrentImbalanceWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_CTPrimary" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_CTSecondary" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_UndercurrentInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L1_UndercurrentTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L1_UndercurrentTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L1_UndercurrentWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L2_UndercurrentTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L2_UndercurrentTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L2_UndercurrentWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L3_UndercurrentTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L3_UndercurrentTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L3_UndercurrentWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_OvercurrentInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L1_OvercurrentTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L1_OvercurrentTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L1_OvercurrentWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L2_OvercurrentTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L2_OvercurrentTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L2_OvercurrentWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L3_OvercurrentTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L3_OvercurrentTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L3_OvercurrentWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_LineLossInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L1LossTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L2LossTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_L3LossTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_VoltageMode" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_PTPrimary" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_PTSecondary" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_UndervoltageInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_UndervoltageTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_UndervoltageTripLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_UndervoltageWarningLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_OvervoltageInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_OvervoltageTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_OvervoltageTripLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_OvervoltageWarningLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_PhaseRotationInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_PhaseRotationTripType" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_VoltageImbalanceInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_VoltageImbalanceTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_VoltageImbalanceTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_VoltageImbalanceWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_UnderfrequencyInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_UnderfrequencyTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_UnderfrequencyTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_UnderfrequencyWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_OverfrequencyInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_OverfrequencyTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_OverfrequencyTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_V_OverfrequencyWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderRealPowerInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderRealPowerTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderRealPowerTripLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderRealPowerWarningLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverRealPowerInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverRealPowerTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverRealPowerTripLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverRealPowerWarningLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderReactiveConsumedInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderReactiveConsumedTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderReactiveConsumedTripLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderReactiveConsumedWarningLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverReactiveConsumedInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverReactiveConsumedTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverReactiveConsumedTripLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverReactiveConsumedWarningLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderReactiveGeneratedInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderReactiveGeneratedTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderReactiveGeneratedTripLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderReactiveGeneratedWarningLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverReactiveGeneratedInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverReactiveGeneratedTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverReactiveGeneratedTripLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverReactiveGeneratedWarningLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderApparentPowerInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderApparentPowerTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderApparentPowerTripLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderApparentPowerWarningLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverApparentPowerInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverApparentPowerTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverApparentPowerTripLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverApparentPowerWarningLevel" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderPowerFactorLagInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderPowerFactorLagTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderPowerFactorLagTripLevel" DataType="SINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderPowerFactorLagWarningLevel" DataType="SINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverPowerFactorLagInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverPowerFactorLagTripDelay" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverPowerFactorLagTripLevel" DataType="SINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverPowerFactorLagWarningLevel" DataType="SINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderPowerFactorLeadInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderPowerFactorLeadTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderPowerFactorLeadTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_UnderPowerFactorLeadWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverPowerFactorLeadInhibitTime" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverPowerFactorLeadTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverPowerFactorLeadTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_P_OverPowerFactorLeadWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_Config_Buffer" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="">
<Dimension Lower="1" Upper="409" />
</Variable>
<Variable Name="cfg_READ" DataType="BOOL" InitialValue="" Comment="Read the configuration data from the E300" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_WRITE" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripResetWriteStatus" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripResetCmd" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripStatusCurrent" DataType="STRING" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripStatusVoltage" DataType="STRING" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripStatusPower" DataType="STRING" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripStatusControl" DataType="STRING" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningStatusCurrent" DataType="STRING" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningStatusVoltage" DataType="STRING" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningStatusPower" DataType="STRING" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningStatusControl" DataType="STRING" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="OverloadTrip" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripStatus" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningStatus" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripStatusCurrent_INT" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripStatusVoltage_INT" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripStatusPower_INT" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripStatusControl_INT" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningStatusCurrent_INT" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningStatusVoltage_INT" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningStatusPower_INT" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningStatusControl_INT" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Downtime_Time_Parameter_OL" DataType="DINT" InitialValue="600" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Time_Until_Startup_String" DataType="STRING" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Test_Mode" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_UndercurrentTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_UndercurrentTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_UndercurrentWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_OvercurrentTripLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_OvercurrentWarningLevel" DataType="USINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_LineLossTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_I_OvercurrentTripDelay" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="VoltageOK" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnabled_I_Overload" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnabled_I_GroundFault" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnabled_I_Stall" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnabled_I_Jam" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnabled_I_Underload" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnabled_I_CurrentImbalance" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnabled_I_PhaseLoss" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnabled_I_Undercurrent" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnabled_I_Overcurrent" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnabled_I_Overload" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnabled_I_GroundFault" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnabled_I_Stall" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnabled_I_Jam" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnabled_I_Underload" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnabled_I_CurrentImbalance" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnabled_I_PhaseLoss" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnabled_I_Undercurrent" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnabled_I_Overcurrent" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnabled_I_LineLoss" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnable_V_Undervoltage" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnable_V_Overvoltage" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnable_V_VoltageUnbalance" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnable_V_PhaseRotation" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnable_V_Underfrequency" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnable_V_Overfrequency" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnable_V_Undervoltage" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnable_V_Overvoltage" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnable_V_VoltageUnbalance" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnable_V_PhaseRotation" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnable_V_Underfrequency" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="WarningEnable_V_Overfrequency" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="TripEnabled_I_LineLoss" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_Switch_Enabled" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Downhole_Tool_Enabled" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Clear_Trip_Cycle" DataType="TIME" InitialValue="T#15s" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_LineFrequency" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L1Current" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L2Current" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L3Current" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_AverageCurrent" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_PercentCurrentUnbalance" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L1NVoltage" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L2NVoltage" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L3NVoltage" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_AverageLNVoltage" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L1L2Voltage" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L2L3Voltage" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L3L1Voltage" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_AverageLLVoltage" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_PercentVoltageUnbalance" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L1RealPower" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L2RealPower" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L3RealPower" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_TotalRealPower" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L1ReactivePower" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L2ReactivePower" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L3ReactivePower" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_TotalReactivePower" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L1ApparentPower" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L2ApparentPower" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L3ApparentPower" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_TotalApparentPower" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L1TruePowerFactor" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L2TruePowerFactor" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_L3TruePowerFactor" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_ThreePhaseTruePowerFactor" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_Transducer_Enabled" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_In" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_Hi" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_Lo" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_Hi_SP" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_Lo_SP" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Start_Time" DataType="DINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_Alarm_Startup_Delay" DataType="DINT" InitialValue="30" Comment="in seconds" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_OK" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_OOT_Scans" DataType="UDINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_OOT_Seconds" DataType="UDINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_Alarm_Delay" DataType="UDINT" InitialValue="15" Comment="in Sec" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Run_Time" DataType="DINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_EU_Min" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Pressure_EU_Max" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Start_Time_Set" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="DH_Fluid_Level" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="SP_Pressure" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="SP_Temperature" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="SP_Voltage" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="SP_Trip" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="SP_Mode" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="RP_TubingPressure" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="RP_Pressure" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="RP_Temperature" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="RP_Trip" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="RP_Mode" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_Output_Enable" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_SpecificGravity" DataType="REAL" InitialValue="1.0" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="time_CurrentTime" DataType="DINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="E300_Output_Toggled" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="sts_TimerCycleActive" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_TimerModeEnabled" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_TimerRunTime" DataType="DINT" InitialValue="45" Comment="in Minutes" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="timer_RunTimeLeft" DataType="DINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_TimerWaitTime" DataType="DINT" InitialValue="15" Comment="in Minutes" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="timer_WaitTimeLeft" DataType="DINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cmd_TimerRun" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="sts_TimerRunTimeSet" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="time_TimerRunTime" DataType="DINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="sts_TimerWaitTimeSet" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="time_TimerWaitTime" DataType="DINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="sts_TripCountIncreased" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="val_OverloadTripCount" DataType="DINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="val_TripCount" DataType="DINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_OverloadTripCountLimit" DataType="DINT" InitialValue="0" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_TripCountLimit" DataType="DINT" InitialValue="5" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_ClearTripCountAfter" DataType="DINT" InitialValue="60" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_ResetCycle" DataType="DINT" InitialValue="10" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="time_WaitTimeLeftMin" DataType="DINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="time_WaitTimeLeftSec" DataType="DINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="time_RunTimeLeftMin" DataType="DINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="time_RunTimeLeftSec" DataType="DINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="cfg_DHSensorDistToIntake" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="alarm_E300" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="alarm_DHPressure" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="alarm_DHTemperature" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="alarm_TubingPressure" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="alarm_E300_Message" DataType="STRING" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="80" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="sts_TripLimitReached" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="sts_TripLimitOLReached" DataType="BOOL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Flow_EU_Min" DataType="REAL" InitialValue="0.0" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Flow_EU_Max" DataType="REAL" InitialValue="400.0" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Flowrate" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Flow_Today" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Flow_Yesterday" DataType="REAL" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="CurrentTimeRTC" DataType="Epoch_Time" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
<Variable Name="Device_Status_INT" DataType="UINT" InitialValue="" Comment="" Address="1" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="4" GroupName="" />
</GlobalVars>
<Devices>
<Device PackageName="AB_" DriverName="OPTIMUS_" Name="IO_Base" Index="0" NbChannels="0" IsVirtual="false" Order="1" Alias="" Comment="">
<IOSymbols AllIOSymbols="true" />
<DeviceList>
<Device Index="0" NbChannels="7" Order="0" SimpleOfComplexOrder="0">
<IOSymbols AllIOSymbols="true">
<IOSymbol GainA="1" GainB="1" Offset="1" Order="0" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="0" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DO_00">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="1" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="1" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DO_01">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="2" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="2" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DO_02">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="3" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="3" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DO_03">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="4" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="4" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DO_04">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="5" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="5" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DO_05">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="6" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="6" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DO_06">
<ChannelParameterInstances />
</IOSymbol>
</IOSymbols>
</Device>
<Device Index="0" NbChannels="12" Order="0" SimpleOfComplexOrder="1">
<IOSymbols AllIOSymbols="true">
<IOSymbol GainA="1" GainB="1" Offset="1" Order="0" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="0" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DI_00">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="1" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="1" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DI_01">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="2" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="2" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DI_02">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="3" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="3" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DI_03">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="4" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="4" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DI_04">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="5" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="5" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DI_05">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="6" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="6" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DI_06">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="7" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="7" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DI_07">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="8" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="8" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DI_08">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="9" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="9" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DI_09">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="10" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="10" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DI_10">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="11" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="11" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_DI_11">
<ChannelParameterInstances />
</IOSymbol>
</IOSymbols>
</Device>
<Device Index="0" NbChannels="4" Order="0" SimpleOfComplexOrder="2">
<IOSymbols AllIOSymbols="true">
<IOSymbol GainA="1" GainB="1" Offset="1" Order="0" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="0" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_AI_00">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="1" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="1" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_AI_01">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="2" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="2" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_AI_02">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="1" Order="3" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="3" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_AI_03">
<ChannelParameterInstances />
</IOSymbol>
</IOSymbols>
</Device>
<Device Index="0" NbChannels="1" Order="0" SimpleOfComplexOrder="3">
<IOSymbols AllIOSymbols="true">
<IOSymbol GainA="1" GainB="1" Offset="1" Order="0" GainAf="1" GainBf="1" OffsetF="1" PhysicalOrder="0" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_EM_AO_00">
<ChannelParameterInstances />
</IOSymbol>
</IOSymbols>
</Device>
</DeviceList>
</Device>
<Device PackageName="AB_" DriverName="OPTIMUS_" Name="IOUP_Analog" Index="101" NbChannels="0" IsVirtual="false" Order="2" Alias="" Comment="">
<IOSymbols AllIOSymbols="true" />
<DeviceList>
<Device Index="101" NbChannels="0" Order="0" SimpleOfComplexOrder="0">
<IOSymbols AllIOSymbols="true" />
</Device>
<Device Index="101" NbChannels="2" Order="0" SimpleOfComplexOrder="1">
<IOSymbols AllIOSymbols="true">
<IOSymbol GainA="1" GainB="1" Offset="0" Order="0" GainAf="1" GainBf="1" OffsetF="0" PhysicalOrder="0" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_P1_AI_00">
<ChannelParameterInstances />
</IOSymbol>
<IOSymbol GainA="1" GainB="1" Offset="0" Order="1" GainAf="1" GainBf="1" OffsetF="0" PhysicalOrder="1" Alias="" Comment="" Address="1" IsComplexMember="false" ConvFunctio="" SymbolName="_IO_P1_AI_01">
<ChannelParameterInstances />
</IOSymbol>
</IOSymbols>
</Device>
</DeviceList>
</Device>
</Devices>
<ExportedGroups />
<ImportedGroups />
<Groups />
</Resource>

View File

@@ -0,0 +1,265 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="RA_CIP_ELECTRICAL_ENERGY_OBJ" ElementGuid="9e116e82-db64-4872-bda1-ef7ada62d71b" Comment="" SingleTextLine="Read the CIP Electrical Energy Object Attributes from a compatible device using Explicit Messaging" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="FBEN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="IPAddress" DataType="STRING" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="80" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="UpdateRate_ms" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="FBENO" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="CIPErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="ProductName" DataType="STRING" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="80" Direction="Output" CommentFields="" Attributes="0">
<Dimension Lower="1" Upper="1" />
</Variable>
<Variable Name="EEObjAttributes" DataType="CIPEEOBJ_ATTRIBS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="EnergyINTArray" DataType="INT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0">
<Dimension Lower="0" Upper="40" />
</Variable>
<Variable Name="MeteringREALArray" DataType="REAL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0">
<Dimension Lower="0" Upper="30" />
</Variable>
<Variable Name="MSGObjRead" DataType="MSG_CIPGENERIC" InitialValue=",,,,,,,2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_EN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadCtrlCfg" DataType="CIPCONTROLCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadAppCfg" DataType="CIPAPPCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadTargetCfg" DataType="CIPTARGETCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadResData" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0">
<Dimension Lower="0" Upper="219" />
</Variable>
<Variable Name="FBEN_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Q_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Err_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="NoErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="INT_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="REAL_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="Phase_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ZeroedAttributes" DataType="CIPEEOBJ_ATTRIBS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="i" DataType="DINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="FBEN_FTRIG" DataType="F_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ProdNameAppCfg" DataType="CIPAPPCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ProdNameTargetCfg" DataType="CIPTARGETCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGProdName" DataType="MSG_CIPGENERIC" InitialValue=",,,,,,,2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGProdName_EN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGProdName_Q_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGProdName_Err_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ProdNameCtrlCfg" DataType="CIPCONTROLCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ProdNameResData" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0">
<Dimension Lower="0" Upper="31" />
</Variable>
<Variable Name="ProdName_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,172 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="RA_E300_OUTPUT_CONTROL" ElementGuid="c345a0fc-70a0-459b-b07b-8ffd7729b5e8" Comment="" SingleTextLine="Control E300 Control Module and Digital Expansion Module output points using Explicit Messaging" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="FBEN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="IPAddress" DataType="STRING" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="80" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="OutputNumber" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="OutputSetting" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="FBENO" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="CIPErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="ProductName" DataType="STRING" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="80" Direction="Output" CommentFields="" Attributes="0">
<Dimension Lower="1" Upper="1" />
</Variable>
<Variable Name="OutputName" DataType="STRING" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="80" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="SettingApplied" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="MSGWriteOutput" DataType="MSG_CIPGENERIC" InitialValue=",,,,,,,2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGWriteOutput_EN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="WriteOutputCtrlCfg" DataType="CIPCONTROLCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="WriteOutputAppCfg" DataType="CIPAPPCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="WriteOutputTargetCfg" DataType="CIPTARGETCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="FBEN_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGWriteOutput_Q_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGWriteOutput_Err_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="NoErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ZeroedAttributes" DataType="CIPEEOBJ_ATTRIBS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="FBEN_FTRIG" DataType="F_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ProdNameAppCfg" DataType="CIPAPPCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ProdNameTargetCfg" DataType="CIPTARGETCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGProdName" DataType="MSG_CIPGENERIC" InitialValue=",,,,,,,2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGProdName_EN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGProdName_Q_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGProdName_Err_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ProdNameCtrlCfg" DataType="CIPCONTROLCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ProdNameResData" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0">
<Dimension Lower="0" Upper="31" />
</Variable>
<Variable Name="ProdName_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="WriteOutputReqData" DataType="USINT" InitialValue="1" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0">
<Dimension Lower="1" Upper="1" />
</Variable>
<Variable Name="OutputSetting_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="OutputSetting_FTRIG" DataType="F_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="ReadDownholeData" ElementGuid="a537c79f-58bd-4503-a8bd-4473e96020b3" Comment="" SingleTextLine="" Language="LD" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<Program />
<LocalVars>
<Variable Name="Cancel" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="LocalCfgData" DataType="MODBUSLOCPARA" InitialValue="2,0,3,100" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="TargetCfgData0" DataType="MODBUSTARPARA" InitialValue="0,1" Comment="" Address="" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="FALSE,TRUE" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="LocalAddrData" DataType="MODBUSLOCADDR" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="ModbusErrorData" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="ErrorCodeData" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="ModbusCycleTimer" DataType="TON" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="LocalCfgStatus" DataType="MODBUSLOCPARA" InitialValue="2,0,3,1" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="TargetCfgStatus" DataType="MODBUSTARPARA" InitialValue="97,1" Comment="" Address="" Modifier="Retain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="FALSE,TRUE" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="LocalAddrStatus" DataType="MODBUSLOCADDR" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="ModbusErrorStatus" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="ErrorCodeStatus" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="ModbusData_1000" DataType="MSG_MODBUS" InitialValue="2(),,,,0" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="ModbusData_0" DataType="MSG_MODBUS" InitialValue="2(),,,,0" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
<Variable Name="TargetCfgData1000" DataType="MODBUSTARPARA" InitialValue="1000,1" Comment="" Address="" Modifier="NonRetain" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" RetainFlags="" CommentFields="" Attributes="0" GroupName="" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="ReadE300Config" ElementGuid="7fef2c64-8552-4a7b-bfcb-a81bf0653d28" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="FBEN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="IPAddress" DataType="STRING" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="80" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="UpdateRate_ms" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="FBENO" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="CIPErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="Output" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0">
<Dimension Lower="1" Upper="409" />
</Variable>
<Variable Name="MSGObjRead" DataType="MSG_CIPGENERIC" InitialValue=",,,,,,,2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_EN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadCtrlCfg" DataType="CIPCONTROLCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadAppCfg" DataType="CIPAPPCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadTargetCfg" DataType="CIPTARGETCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadResData" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0">
<Dimension Lower="1" Upper="1" />
</Variable>
<Variable Name="FBEN_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Q_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Err_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="NoErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="INT_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="REAL_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="Phase_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="i" DataType="DINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="FBEN_FTRIG" DataType="F_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,113 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="ReadE300IO" ElementGuid="492b32e2-63c3-46f8-afeb-6d9e6b76da86" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="FBEN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="IPAddress" DataType="STRING" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="80" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="UpdateRate_ms" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="ChannelNumber" DataType="UDINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="FBENO" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="CIPErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="IOStatus" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead" DataType="MSG_CIPGENERIC" InitialValue=",,,,,,,2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_EN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadCtrlCfg" DataType="CIPCONTROLCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadAppCfg" DataType="CIPAPPCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadTargetCfg" DataType="CIPTARGETCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadResData" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0">
<Dimension Lower="0" Upper="3" />
</Variable>
<Variable Name="FBEN_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Q_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Err_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="NoErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="INT_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="REAL_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="Phase_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ZeroedAttributes" DataType="CIPEEOBJ_ATTRIBS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="i" DataType="DINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="FBEN_FTRIG" DataType="F_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="ReadE300Param" ElementGuid="0665f1e9-fb03-48de-86da-7c7f08fe0360" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="FBEN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="IPAddress" DataType="STRING" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="80" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="UpdateRate_ms" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="ParamNumber" DataType="UDINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="FBENO" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="CIPErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="Output" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0">
<Dimension Lower="1" Upper="4" />
</Variable>
<Variable Name="MSGObjRead" DataType="MSG_CIPGENERIC" InitialValue=",,,,,,,2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_EN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadCtrlCfg" DataType="CIPCONTROLCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadAppCfg" DataType="CIPAPPCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadTargetCfg" DataType="CIPTARGETCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="FBEN_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Q_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Err_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="NoErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="INT_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="REAL_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="Phase_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="i" DataType="DINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="FBEN_FTRIG" DataType="F_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="ReadE300TripReset" ElementGuid="5352e95a-d9a5-447b-aa7a-7071ec0481c2" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="FBEN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="IPAddress" DataType="STRING" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="80" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="UpdateRate_ms" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="FBENO" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="CIPErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="Output" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0">
<Dimension Lower="1" Upper="1" />
</Variable>
<Variable Name="MSGObjRead" DataType="MSG_CIPGENERIC" InitialValue=",,,,,,,2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_EN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadCtrlCfg" DataType="CIPCONTROLCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadAppCfg" DataType="CIPAPPCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadTargetCfg" DataType="CIPTARGETCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="FBEN_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Q_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Err_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="NoErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="INT_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="REAL_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="Phase_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="i" DataType="DINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="FBEN_FTRIG" DataType="F_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="SINT_TO_USINT" ElementGuid="68211587-a34a-4aa0-bf4f-bd92fabbb652" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="INP_INT" DataType="SINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="OUT_SINT_1" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="UDINT_TO_USINT" ElementGuid="634a5889-7131-459b-82bb-32669f70ba62" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="INP_DINT" DataType="UDINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="OUT_SINT_1" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="OUT_SINT_2" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="OUT_SINT_3" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="OUT_SINT_4" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="UINT_TO_USINT" ElementGuid="db53599f-6f5d-4621-a1aa-5fa9a64c8ed3" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="INP_INT" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="OUT_SINT_1" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="OUT_SINT_2" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="USINT_TO_DINT" ElementGuid="e4c03d62-78c9-4c67-b91a-65b1b7a2a87f" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="SINT_SRC_1" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="SINT_SRC_2" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="SINT_SRC_3" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="SINT_SRC_4" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="DINT_OUT" DataType="DINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="USINT_TO_SINT" ElementGuid="bd263122-9333-474e-9301-63d7d2a0a248" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="SINT_SRC_1" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="INT_OUT" DataType="SINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="USINT_TO_UDINT" ElementGuid="5c9551f1-c000-4c03-b505-8294f43771c9" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="SINT_SRC_1" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="SINT_SRC_2" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="SINT_SRC_3" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="SINT_SRC_4" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="DINT_OUT" DataType="UDINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="USINT_TO_UINT" ElementGuid="b5d70542-1b0d-4d1b-a308-ed6dc1bc31c3" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="SINT_SRC_1" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="SINT_SRC_2" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="INT_OUT" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="WriteE300Config" ElementGuid="825fba0c-a967-4905-b00b-13d3fe1ff759" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="FBEN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="IPAddress" DataType="STRING" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="80" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="UpdateRate_ms" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="Input" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0">
<Dimension Lower="1" Upper="409" />
</Variable>
<Variable Name="CIPErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="FBENO" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead" DataType="MSG_CIPGENERIC" InitialValue=",,,,,,,2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_EN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadCtrlCfg" DataType="CIPCONTROLCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadAppCfg" DataType="CIPAPPCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadTargetCfg" DataType="CIPTARGETCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadResData" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0">
<Dimension Lower="1" Upper="1" />
</Variable>
<Variable Name="FBEN_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Q_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Err_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="NoErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="INT_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="REAL_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="Phase_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="i" DataType="DINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="FBEN_FTRIG" DataType="F_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

View File

@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="utf-8"?>
<Pou FileVersion="200.00.003" Name="WriteE300TripReset" ElementGuid="bc558758-c39a-435b-8a5c-c577f569ebd1" Comment="" SingleTextLine="" Language="ST" CustomFbd="0" Localization="Prj" GroupName="(User defined)" GenDebugInfo="false" UseResPassword="true" GenerateSymbMon="true" Is1499="false">
<FunctionBlock IdentifierNb="0" Keyword="" InitInstance="false" SymbMonExtraBytes="128" />
<LocalVars>
<Variable Name="FBEN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="IPAddress" DataType="STRING" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="80" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="UpdateRate_ms" DataType="UINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="Enable" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0" />
<Variable Name="Input" DataType="USINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarInput" Alias="" AccessRights="Read" StringSize="0" Direction="Input" CommentFields="" Attributes="0">
<Dimension Lower="1" Upper="1" />
</Variable>
<Variable Name="CIPErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="FBENO" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="VarOutput" Alias="" AccessRights="Write" StringSize="0" Direction="Output" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead" DataType="MSG_CIPGENERIC" InitialValue=",,,,,,,2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_EN" DataType="BOOL" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadCtrlCfg" DataType="CIPCONTROLCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadAppCfg" DataType="CIPAPPCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="ObjReadTargetCfg" DataType="CIPTARGETCFG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="FBEN_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Q_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="MSGObjRead_Err_RTRIG" DataType="R_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="NoErrorStatus" DataType="CIPSTATUS" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="INT_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="REAL_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="Phase_COP" DataType="COP" InitialValue=",,,,2(),,2(0),2(0)" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="i" DataType="DINT" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
<Variable Name="FBEN_FTRIG" DataType="F_TRIG" InitialValue="" Comment="" Address="" Modifier="Constant" Kind="Var" Alias="" AccessRights="ReadWrite" StringSize="0" Direction="Local" CommentFields="" Attributes="0" />
</LocalVars>
<PouBody><![CDATA[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]]></PouBody>
<PouUIProperties>
<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>
</PouUIProperties>
</Pou>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

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