2372 lines
164 KiB
XML
2372 lines
164 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Symbolconfiguration xmlns="http://www.3s-software.com/schemas/Symbolconfiguration.xsd">
|
|
<Header>
|
|
<Version>3.5.14.0</Version>
|
|
<SymbolConfigObject version="4.5.2.0" runtimeid="3.5.19.61" libversion="4.5.0.0" compiler="3.5.21.0" lmm="3.5.21.0" profile="CODESYS V3.5 SP21+" settings="SupportOPCUA, IncludeComments, IncludeTypeNodeAttributes, XmlIncludeComments, XmlIncludeTypeNodeAttributes, LayoutCalculator=OptimizedClientSideLayoutCalculator" />
|
|
<ProjectInfo name="cr_barn5_RECOVERED_2025-06-02T14-47-52" devicename="Device" appname="Application" />
|
|
</Header>
|
|
<TypeList>
|
|
<TypeSimple name="T_BOOL" size="1" swapsize="0" typeclass="Bool" iecname="BOOL" />
|
|
<TypeSimple name="T_DINT" size="4" swapsize="4" typeclass="DInt" iecname="DINT" />
|
|
<TypeSimple name="T_DWORD" size="4" swapsize="4" typeclass="DWord" iecname="DWORD" />
|
|
<TypeSimple name="T_INT" size="2" swapsize="2" typeclass="Int" iecname="INT" />
|
|
<TypeSimple name="T_REAL" size="4" swapsize="4" typeclass="Real" iecname="REAL" />
|
|
<TypeSimple name="T_STRING" size="81" swapsize="0" typeclass="String" iecname="STRING" />
|
|
<TypeSimple name="T_TIME" size="4" swapsize="4" typeclass="Time" iecname="TIME" />
|
|
<TypeSimple name="T_TIME_OF_DAY" size="4" swapsize="4" typeclass="TimeOfDay" iecname="TIME_OF_DAY" />
|
|
<TypeSimple name="T_UDINT" size="4" swapsize="4" typeclass="UDInt" iecname="UDINT" />
|
|
<TypeSimple name="T_UINT" size="2" swapsize="2" typeclass="UInt" iecname="UINT" />
|
|
<TypeSimple name="T_ULINT" size="8" swapsize="8" typeclass="ULInt" iecname="ULINT" />
|
|
<TypeArray name="T_ARRAY__0__27__OF_BOOL" size="28" nativesize="28" typeclass="Array" iecname="ARRAY [0..27] OF BOOL" basetype="T_BOOL">
|
|
<ArrayDim minrange="0" maxrange="27" />
|
|
</TypeArray>
|
|
<TypeArray name="T_ARRAY__0__99__OF_BOOL" size="100" nativesize="100" typeclass="Array" iecname="ARRAY [0..99] OF BOOL" basetype="T_BOOL">
|
|
<ArrayDim minrange="0" maxrange="99" />
|
|
</TypeArray>
|
|
<TypeArray name="T_ARRAY__0__99__OF_DINT" size="400" nativesize="400" typeclass="Array" iecname="ARRAY [0..99] OF DINT" basetype="T_DINT">
|
|
<ArrayDim minrange="0" maxrange="99" />
|
|
</TypeArray>
|
|
<TypeArray name="T_ARRAY__0__99__OF_REAL" size="400" nativesize="400" typeclass="Array" iecname="ARRAY [0..99] OF REAL" basetype="T_REAL">
|
|
<ArrayDim minrange="0" maxrange="99" />
|
|
</TypeArray>
|
|
<TypeUserDef name="T_F_TRIG" size="2" nativesize="16" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="F_TRIG">
|
|
<Comment> Detects a falling edge of a boolean signal
|
|
|
|
.. code-block:: codesys
|
|
|
|
(* Example declaration *)
|
|
FTRIGInst : F_TRIG ;
|
|
|
|
(* Example in ST *)
|
|
FTRIGInst(CLK := VarBOOL1);
|
|
VarBOOL2 := FTRIGInst.Q;
|
|
|
|
.. cds:ranges::
|
|
|
|
:CLK: [TRUE,FALSE]
|
|
:~CLK_OLD: [TRUE,FALSE]
|
|
:Q: [TRUE,FALSE]
|
|
</Comment>
|
|
<UserDefElement iecname="CLK" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Boolean signal to be checked</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="Q" type="T_BOOL" byteoffset="1" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> ``TRUE``: Falling edge detected</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeSimple name="T_POINTER_TO_atCurveKey" size="8" swapsize="8" typeclass="Pointer" iecname="POINTER TO atCurveKey" />
|
|
<TypeSimple name="T_POINTER_TO_atCurveREALData" size="8" swapsize="8" typeclass="Pointer" iecname="POINTER TO atCurveREALData" />
|
|
<TypeSimple name="T_POINTER_TO_atCurveTimeClockData" size="8" swapsize="8" typeclass="Pointer" iecname="POINTER TO atCurveTimeClockData" />
|
|
<TypeSimple name="T_POINTER_TO_atHistItemBase" size="8" swapsize="8" typeclass="Pointer" iecname="POINTER TO atHistItemBase" />
|
|
<TypeSimple name="T_POINTER_TO_atIngredient" size="8" swapsize="8" typeclass="Pointer" iecname="POINTER TO atIngredient" />
|
|
<TypeSimple name="T_POINTER_TO_atMachine" size="8" swapsize="8" typeclass="Pointer" iecname="POINTER TO atMachine" />
|
|
<TypeSimple name="T_REFERENCE_TO_BOOL_REF" size="1" swapsize="0" typeclass="Reference" iecname="REFERENCE TO BOOL_REF" basetype="T_BOOL" />
|
|
<TypeUserDef name="T_RS" size="3" nativesize="16" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="RS">
|
|
<Comment> Realizes a bistable reset-dominat latch
|
|
|
|
.. cds:ranges::
|
|
|
|
:SET: [TRUE,FALSE]
|
|
:RESET1: [TRUE,FALSE]
|
|
:~Q1_IN: [TRUE,FALSE]
|
|
:Q1: [TRUE,FALSE]
|
|
|
|
.. code-block:: codesys
|
|
|
|
(* Example declaration *)
|
|
RSInst : RS ;
|
|
|
|
(* Example in ST *)
|
|
RSInst(SET:= VarBOOL1 , RESET1:=VarBOOL2 );
|
|
VarBOOL3 := RSInst.Q1 ;
|
|
</Comment>
|
|
<UserDefElement iecname="SET" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Rising edge: Set ``Q1`` to ``TRUE`` </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="RESET1" type="T_BOOL" byteoffset="1" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="Q1" type="T_BOOL" byteoffset="2" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> Output value</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_RTS_SYSTIMEDATE" size="18" nativesize="18" typeclass="Userdef" pouclass="STRUCTURE" iecname="RTS_SYSTIMEDATE">
|
|
<Comment> <description>Time and date in structured</description></Comment>
|
|
<UserDefElement iecname="wYear" type="T_UINT" byteoffset="0" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wYear" type="IN">Year (e.g. 2006)</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wMonth" type="T_UINT" byteoffset="2" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wMonth" type="IN">Month (1..12: January = 1, December = 12)</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wDay" type="T_UINT" byteoffset="4" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wDay" type="IN">Day of month (1..31)</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wHour" type="T_UINT" byteoffset="6" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wHour" type="IN">Hours after midnight (0..23)</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wMinute" type="T_UINT" byteoffset="8" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wMinute" type="IN">Minutes after hour (0..59)</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wSecond" type="T_UINT" byteoffset="10" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wSecond" type="IN">Seconds after minute (0..59)</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wMilliseconds" type="T_UINT" byteoffset="12" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wMilliseconds" type="IN">Milliseconds after second (0..999). Optional!</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wDayOfWeek" type="T_UINT" byteoffset="14" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wDayOfWeek" type="IN">Day of week (1..7: Monday = 1, Sunday = 7</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wYday" type="T_UINT" byteoffset="16" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wYday" type="IN">Day of year (1..365): January 1 = 1, December 31 = 364/365</element> </Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_R_TRIG" size="2" nativesize="16" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="R_TRIG">
|
|
<Comment> Detects a rising edge of a boolean signal
|
|
|
|
.. code-block:: codesys
|
|
|
|
(* Example declaration *)
|
|
RTRIGInst : R_TRIG ;
|
|
|
|
(* Example in ST *)
|
|
RTRIGInst(CLK := VarBOOL1);
|
|
VarBOOL2 := RTRIGInst.Q;
|
|
|
|
.. cds:ranges::
|
|
|
|
:CLK: [TRUE,FALSE]
|
|
:~CLK_OLD: [TRUE,FALSE]
|
|
:Q: [TRUE,FALSE]
|
|
</Comment>
|
|
<UserDefElement iecname="CLK" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Boolean signal to be checked</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="Q" type="T_BOOL" byteoffset="1" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> ``TRUE``: Rising edge detected</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_TOF" size="16" nativesize="32" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="TOF">
|
|
<Comment> Implements a timer with a turn-off delay
|
|
|
|
.. code-block:: codesys
|
|
|
|
(* Example declaration *)
|
|
TOFInst : TOF ;
|
|
|
|
(* Example in ST *)
|
|
TOFInst(IN := VarBOOL1, PT:= T#5s);
|
|
VarBOOL2 := TOFInst.Q;
|
|
|
|
.. image:: @(Tof)
|
|
|
|
.. cds:ranges::
|
|
|
|
:IN: [TRUE,FALSE]
|
|
:PT: [0..255]
|
|
:~PT_OLD: [0..255]
|
|
:Q: [TRUE,FALSE]
|
|
:ET: [0..4294967295]
|
|
</Comment>
|
|
<UserDefElement iecname="IN" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> | Falling edge: starts delay counter
|
|
| Rising edge: resets delay counter</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="PT" type="T_TIME" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Time for the delay counter [ms]</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="Q" type="T_BOOL" byteoffset="8" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> | ``TRUE`` if ``IN`` is ``TRUE``
|
|
| ``FALSE`` if ``IN`` is ``FALSE`` and delay time ``PT`` elapsed</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="ET" type="T_TIME" byteoffset="12" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> Elapsed time since falling edge at ``IN``</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_TON" size="16" nativesize="32" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="TON">
|
|
<Comment> Implements a timer with a turn-on delay
|
|
|
|
.. code-block:: codesys
|
|
|
|
(* Example declaration *)
|
|
TONInst : TON ;
|
|
|
|
(* Example in ST *)
|
|
TONInst(IN := VarBOOL1, PT:= T#5s);
|
|
VarBOOL2 := TONInst.Q;
|
|
|
|
.. image:: @(Ton)
|
|
|
|
.. cds:ranges::
|
|
|
|
:IN: [TRUE,FALSE]
|
|
:PT: [0..255]
|
|
:~PT_OLD: [0..255]
|
|
:Q: [TRUE,FALSE]
|
|
:ET: [0..4294967295]
|
|
</Comment>
|
|
<UserDefElement iecname="IN" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> | Rising edge: starts delay counter
|
|
| Falling edge: resets delay counter</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="PT" type="T_TIME" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Time for the delay counter [ms] </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="Q" type="T_BOOL" byteoffset="8" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> | ``FALSE`` if ``IN`` is ``FALSE``
|
|
| ``TRUE`` if ``IN`` is ``TRUE`` and delay time ``PT`` elapsed</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="ET" type="T_TIME" byteoffset="12" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> Elapsed time since rising edge at ``IN``</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_TP" size="16" nativesize="32" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="TP">
|
|
<Comment> Implements a pulse timer
|
|
|
|
.. code-block:: codesys
|
|
|
|
(* Example declaration *)
|
|
TPInst : TP ;
|
|
|
|
(* Example in ST *)
|
|
TPInst(IN := VarBOOL1, PT:= T#5s);
|
|
VarBOOL2 := TPInst.Q;
|
|
|
|
.. image:: @(Tp)
|
|
|
|
.. cds:ranges::
|
|
|
|
:IN: [TRUE,FALSE]
|
|
:PT: [0..255]
|
|
:~PT_OLD: [0..255]
|
|
:Q: [TRUE,FALSE]
|
|
:ET: [0..4294967295]
|
|
</Comment>
|
|
<UserDefElement iecname="IN" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Rising edge starts the pulse timer and sets ``Q`` to ``TRUE``</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="PT" type="T_TIME" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Length of the pulse (high-signal) </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="Q" type="T_BOOL" byteoffset="8" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> Pulse signal, set to ``TRUE`` for ``PT`` milliseconds if ``EN`` has a rising edge</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="ET" type="T_TIME" byteoffset="12" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> Elapsed time since pulse timer started. It will then remain constant after ``PT`` is reached.</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_TemperatureUnitTypes" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="TemperatureUnitTypes" basetype="T_INT">
|
|
<UserDefElement type="T_TemperatureUnitTypes" iecname="Celsius" enumvalue="0" />
|
|
<UserDefElement type="T_TemperatureUnitTypes" iecname="Fahrenheit" enumvalue="1" />
|
|
</TypeUserDef>
|
|
<TypeSimple name="T_Util_RTS_IEC_RESULT" size="4" swapsize="4" typeclass="UDInt" iecname="Util.RTS_IEC_RESULT" aliasedtype="T_UDINT" aliasediecname="UDINT" />
|
|
<TypeUserDef name="T_WeightUnitType" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="WeightUnitType" basetype="T_INT">
|
|
<UserDefElement type="T_WeightUnitType" iecname="Kilograms" enumvalue="0" />
|
|
<UserDefElement type="T_WeightUnitType" iecname="Pounds" enumvalue="1" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atAlarmDefault" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="atAlarmDefault" basetype="T_INT">
|
|
<UserDefElement type="T_atAlarmDefault" iecname="unlatched" enumvalue="0" />
|
|
<UserDefElement type="T_atAlarmDefault" iecname="latched" enumvalue="1" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atAutoManOnOff" size="4" nativesize="16" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atAutoManOnOff">
|
|
<Comment>Auto / Manual - On/Off control</Comment>
|
|
<UserDefElement iecname="in_AutoOn" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>If in auto then on</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_Auto" type="T_BOOL" byteoffset="1" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Auto / manual mode</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_MainOn" type="T_BOOL" byteoffset="2" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>IF in manual then on</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out" type="T_BOOL" byteoffset="3" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>On output</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atCurveKey" size="8" nativesize="16" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atCurveKey">
|
|
<UserDefElement iecname="en" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Curve point is enabled </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="key" type="T_REAL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atCurveOutType" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="atCurveOutType" basetype="T_INT">
|
|
<UserDefElement type="T_atCurveOutType" iecname="stepped" enumvalue="0" />
|
|
<UserDefElement type="T_atCurveOutType" iecname="smooth" enumvalue="1" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atCurveREALData" size="4" nativesize="16" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atCurveREALData">
|
|
<UserDefElement iecname="value" type="T_REAL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atDQ" size="84" nativesize="96" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atDQ">
|
|
<UserDefElement iecname="in_invert" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Default to False but can be inverted if Need Be</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_raw" type="T_BOOL" byteoffset="1" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="2" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_val" type="T_BOOL" byteoffset="83" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atDebounce" size="13" nativesize="96" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atDebounce">
|
|
<UserDefElement iecname="in_raw" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_delOn" type="T_TIME" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_delOff" type="T_TIME" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_val" type="T_BOOL" byteoffset="12" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atDeviceList" size="14" nativesize="2520" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atDeviceList">
|
|
<UserDefElement iecname="inrushDelay" type="T_ULINT" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Inrush delay in ms, don't start until this time is in the past</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="deviceCnt" type="T_INT" byteoffset="8" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Number of devices in list</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="machineCnt" type="T_INT" byteoffset="10" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Number of machines in list</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="gadgetCnt" type="T_INT" byteoffset="12" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Number of gadgets in the list</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atDeviceStatus" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="atDeviceStatus" basetype="T_INT">
|
|
<UserDefElement type="T_atDeviceStatus" iecname="off" enumvalue="0" />
|
|
<UserDefElement type="T_atDeviceStatus" iecname="run" enumvalue="100" />
|
|
<UserDefElement type="T_atDeviceStatus" iecname="reqToRun" enumvalue="200" />
|
|
<UserDefElement type="T_atDeviceStatus" iecname="inrushDelay" enumvalue="300" />
|
|
<UserDefElement type="T_atDeviceStatus" iecname="startDel" enumvalue="400" />
|
|
<UserDefElement type="T_atDeviceStatus" iecname="stopDel" enumvalue="500" />
|
|
<UserDefElement type="T_atDeviceStatus" iecname="fault" enumvalue="600" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atFilter" size="12" nativesize="96" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atFilter">
|
|
<UserDefElement iecname="in_cv" type="T_REAL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> current value in</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_tau" type="T_TIME" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> filter time in seconds</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_filt" type="T_REAL" byteoffset="8" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> filtered value</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atHistItemBase" size="81" nativesize="96" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atHistItemBase">
|
|
<UserDefElement iecname="name" type="T_STRING" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Name of item</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atHistRealAggregateItem" size="12" nativesize="24" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atHistRealAggregateItem">
|
|
<UserDefElement iecname="avg" type="T_REAL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="high" type="T_REAL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="low" type="T_REAL" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atIngredientMode" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="atIngredientMode" basetype="T_INT">
|
|
<UserDefElement type="T_atIngredientMode" iecname="notSet" enumvalue="-1">
|
|
<Comment> The mode is not set, used to clear the setMode setting</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement type="T_atIngredientMode" iecname="off" enumvalue="0">
|
|
<Comment> Don't use this bin</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement type="T_atIngredientMode" iecname="onPremix" enumvalue="1">
|
|
<Comment> Primary premix</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement type="T_atIngredientMode" iecname="backup" enumvalue="2">
|
|
<Comment> Backup premix - used when the primary premix runs out</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement type="T_atIngredientMode" iecname="onWheat" enumvalue="3">
|
|
<Comment> Wheat</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atLimitType" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="atLimitType" basetype="T_INT">
|
|
<UserDefElement type="T_atLimitType" iecname="hi" enumvalue="0" />
|
|
<UserDefElement type="T_atLimitType" iecname="lo" enumvalue="1" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atMixerState" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="atMixerState" basetype="T_INT">
|
|
<UserDefElement type="T_atMixerState" iecname="idle" enumvalue="0" />
|
|
<UserDefElement type="T_atMixerState" iecname="calcWeight" enumvalue="1">
|
|
<Comment>Calculate target weight for the active ingredient</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement type="T_atMixerState" iecname="fill" enumvalue="2">
|
|
<Comment>Filling to target weight</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement type="T_atMixerState" iecname="waitForStable" enumvalue="3">
|
|
<Comment>Wait for stable after filling</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement type="T_atMixerState" iecname="nextIngredient" enumvalue="4">
|
|
<Comment>Move to next ingredient</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement type="T_atMixerState" iecname="waitForWeigherEmpty" enumvalue="5">
|
|
<Comment>Wait for weigh hopper to be empty</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement type="T_atMixerState" iecname="dump" enumvalue="6">
|
|
<Comment>Dump weigher</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement type="T_atMixerState" iecname="waitForDumpClose" enumvalue="7">
|
|
<Comment>Delay to allow dump to close</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atScaling" size="112" nativesize="120" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atScaling">
|
|
<UserDefElement iecname="in_raw" type="T_REAL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_rawMin" type="T_REAL" byteoffset="88" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_rawMax" type="T_REAL" byteoffset="92" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_euMin" type="T_REAL" byteoffset="96" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_euMax" type="T_REAL" byteoffset="100" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_clamp" type="T_BOOL" byteoffset="104" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Clamp output between outMin and outMax </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="titleIDX_AQ" type="T_INT" byteoffset="106" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_eu" type="T_REAL" byteoffset="108" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atScalingDINT" size="28" nativesize="40" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atScalingDINT">
|
|
<UserDefElement iecname="in_raw" type="T_DINT" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_rawMin" type="T_DINT" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_rawMax" type="T_DINT" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_euMin" type="T_DINT" byteoffset="12" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_euMax" type="T_DINT" byteoffset="16" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_clamp" type="T_BOOL" byteoffset="20" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Clamp output between outMin and outMax </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_eu" type="T_DINT" byteoffset="24" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atSeqCtl" size="44" nativesize="1248" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atSeqCtl">
|
|
<UserDefElement iecname="in_enable" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>System Enable, bypassed on disable</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_runDem" type="T_BOOL" byteoffset="1" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Demand given to run</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_runPerm" type="T_BOOL" byteoffset="2" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Has Permission to run</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_fault" type="T_BOOL" byteoffset="3" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> This is set from device fault.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_runStatus" type="T_BOOL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Motor is running, used for VFD to know when it has stopped</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_uts" type="T_BOOL" byteoffset="5" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Motor Up to Speed</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_parentPerm" type="T_BOOL" byteoffset="6" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Parent gives permission to run</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_startDly" type="T_TIME" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Delay after starting before ready</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_stopDly" type="T_TIME" byteoffset="12" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Delay after request to run removed before stopping</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_ready" type="T_BOOL" byteoffset="16" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Ready for product</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_run" type="T_BOOL" byteoffset="17" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Run output</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_strtDlyDn" type="T_BOOL" byteoffset="18" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Start delay done</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_stopDlyDn" type="T_BOOL" byteoffset="19" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Stop delay done</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_strtDlyET" type="T_TIME" byteoffset="20" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Start delay elapsed time</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_stpDlyET" type="T_TIME" byteoffset="24" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Stop delay elapsed time</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_reqToRunStat" type="T_BOOL" byteoffset="28" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Request to run status</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_strtDlyAct" type="T_BOOL" byteoffset="29" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Start delay is active</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_stopDlyAct" type="T_BOOL" byteoffset="30" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Stop delay is active</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_dlyAct" type="T_BOOL" byteoffset="31" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Start or stop delay active</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_runPerm" type="T_BOOL" byteoffset="32" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Sum of in_runPerm and dep.runPerm</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_depsRun" type="T_BOOL" byteoffset="33" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_runTime" type="T_DINT" byteoffset="36" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Tracks run time in seconds</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_TSS" type="T_DINT" byteoffset="40" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Tracks time since start in seconds</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atStageDevFixed" size="92" nativesize="104" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atStageDevFixed">
|
|
<UserDefElement iecname="ctrlEn" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>enable for various control schemes</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="1" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="ID" type="T_REAL" byteoffset="84" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="idx" type="T_INT" byteoffset="88" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="underRange" type="T_BOOL" byteoffset="90" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="autoRun" type="T_BOOL" byteoffset="91" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atStopWatch" size="20" nativesize="32" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atStopWatch">
|
|
<Comment> Running timer that can be reset</Comment>
|
|
<UserDefElement iecname="startTime" type="T_ULINT" byteoffset="0" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>System time when last reset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="ms" type="T_UDINT" byteoffset="8" vartype="VAR" propertytype="variable" access="Read">
|
|
<Comment>ms since timer reset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="sec" type="T_UDINT" byteoffset="12" vartype="VAR" propertytype="variable" access="Read">
|
|
<Comment>Whole seconds since timer reset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="secREAL" type="T_REAL" byteoffset="16" vartype="VAR" propertytype="variable" access="Read">
|
|
<Comment>REAL seconds since timer reset</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atSystemLog" size="169" nativesize="184" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atSystemLog">
|
|
<Comment>Write to system log
|
|
Needs Element Collections library</Comment>
|
|
<UserDefElement iecname="componentDescription" type="T_STRING" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>The text that will be in the Component column in the log. This is meant to only be set once and then left the same</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="enable" type="T_BOOL" byteoffset="81" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Used to only have the logger enabled at specific time, like when debugging</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="udiCmpId" type="T_UDINT" byteoffset="84" vartype="VAR" access="ReadWrite">
|
|
<Comment>Component Id</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="messageLast" type="T_STRING" byteoffset="88" vartype="VAR" access="ReadWrite">
|
|
<Comment>Message from last write</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atTODSettings" size="8" nativesize="8" typeclass="Userdef" pouclass="STRUCTURE" iecname="atTODSettings">
|
|
<UserDefElement iecname="TimeZoneOffset" type="T_INT" byteoffset="0" vartype="VAR" access="ReadWrite">
|
|
<Comment>Offset from UTC in minutes</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="RTCAdjustment" type="T_DINT" byteoffset="4" vartype="VAR" access="ReadWrite">
|
|
<Comment>Adjustment from hardware real time clock</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atTZss" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="atTZss" basetype="T_INT">
|
|
<UserDefElement type="T_atTZss" iecname="MST" enumvalue="0" />
|
|
<UserDefElement type="T_atTZss" iecname="MDT" enumvalue="1" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atVersion" size="8" nativesize="8" typeclass="Userdef" pouclass="STRUCTURE" iecname="atVersion">
|
|
<UserDefElement iecname="uiMajor" type="T_UINT" byteoffset="0" vartype="VAR" access="ReadWrite">
|
|
<Comment> The major version number. This is typically incremented for significant releases that may include major new features or changes.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="uiMinor" type="T_UINT" byteoffset="2" vartype="VAR" access="ReadWrite">
|
|
<Comment> The minor version number. This is incremented for releases that add smaller features or improvements and may include significant fixes.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="uiServicePack" type="T_UINT" byteoffset="4" vartype="VAR" access="ReadWrite">
|
|
<Comment> The service pack number. This is used to indicate updates that usually include bug fixes, performance improvements, and minor feature enhancements.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="uiPatch" type="T_UINT" byteoffset="6" vartype="VAR" access="ReadWrite">
|
|
<Comment> The patch number. This is incremented for very small changes or bug fixes that do not significantly alter the functionality.</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_litertoGalUnitType" size="2" nativesize="2" swapsize="2" typeclass="Enum" iecname="litertoGalUnitType" basetype="T_INT">
|
|
<UserDefElement type="T_litertoGalUnitType" iecname="Liter" enumvalue="0" />
|
|
<UserDefElement type="T_litertoGalUnitType" iecname="Gallon" enumvalue="1" />
|
|
</TypeUserDef>
|
|
<TypeArray name="T_ARRAY__0__15__OF_POINTER_TO_atHistItemBase" size="128" nativesize="128" typeclass="Array" iecname="ARRAY [0..15] OF POINTER TO atHistItemBase" basetype="T_POINTER_TO_atHistItemBase">
|
|
<ArrayDim minrange="0" maxrange="15" />
|
|
</TypeArray>
|
|
<TypeArray name="T_ARRAY__0__2__OF_atDebounce" size="48" nativesize="288" typeclass="Array" iecname="ARRAY [0..2] OF atDebounce" basetype="T_atDebounce">
|
|
<ArrayDim minrange="0" maxrange="2" />
|
|
</TypeArray>
|
|
<TypeArray name="T_ARRAY__0__5__OF_atStageDevFixed" size="552" nativesize="624" typeclass="Array" iecname="ARRAY [0..5] OF atStageDevFixed" basetype="T_atStageDevFixed">
|
|
<ArrayDim minrange="0" maxrange="5" />
|
|
</TypeArray>
|
|
<TypeArray name="T_ARRAY__0__99__OF_atHistRealAggregateItem" size="1200" nativesize="2400" typeclass="Array" iecname="ARRAY [0..99] OF atHistRealAggregateItem" basetype="T_atHistRealAggregateItem">
|
|
<ArrayDim minrange="0" maxrange="99" />
|
|
</TypeArray>
|
|
<TypeArray name="T_ARRAY__0__9__OF_atCurveKey" size="80" nativesize="160" typeclass="Array" iecname="ARRAY [0..9] OF atCurveKey" basetype="T_atCurveKey">
|
|
<ArrayDim minrange="0" maxrange="9" />
|
|
</TypeArray>
|
|
<TypeArray name="T_ARRAY__0__9__OF_atCurveREALData" size="40" nativesize="160" typeclass="Array" iecname="ARRAY [0..9] OF atCurveREALData" basetype="T_atCurveREALData">
|
|
<ArrayDim minrange="0" maxrange="9" />
|
|
</TypeArray>
|
|
<TypeUserDef name="T_BLINK" size="32" nativesize="56" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="BLINK">
|
|
<Comment> Simulates a blinking signal (turning on and off for specific durations)</Comment>
|
|
<UserDefElement iecname="ENABLE" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> | ``TRUE``: Starts blinking
|
|
| ``FALSE``: Stops blinking whereas ``OUT`` keeps its value</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="TIMELOW" type="T_TIME" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Time for ``OUT`` to be ``FALSE``</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="TIMEHIGH" type="T_TIME" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Time for ``OUT`` to be ``TRUE``</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="OUT" type="T_BOOL" byteoffset="12" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> Output value, starts with ``FALSE`` and switches between ``TRUE`` and ``FALSE`` for the given high and low times</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="CLOCK" type="T_TP" byteoffset="16" vartype="VAR" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeSimple name="T_REFERENCE_TO_atTODSettings_REF" size="8" swapsize="0" typeclass="Reference" iecname="REFERENCE TO atTODSettings_REF" basetype="T_atTODSettings" />
|
|
<TypeUserDef name="T_Util_SYSTIMEDATE" size="18" nativesize="18" typeclass="Userdef" pouclass="STRUCTURE" iecname="Util.SYSTIMEDATE" aliasedtype="T_RTS_SYSTIMEDATE" aliasediecname="RTS_SYSTIMEDATE">
|
|
<Comment> <description>Time and date in structured</description></Comment>
|
|
<UserDefElement iecname="wYear" type="T_UINT" byteoffset="0" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wYear" type="IN">Year (e.g. 2006)</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wMonth" type="T_UINT" byteoffset="2" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wMonth" type="IN">Month (1..12: January = 1, December = 12)</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wDay" type="T_UINT" byteoffset="4" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wDay" type="IN">Day of month (1..31)</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wHour" type="T_UINT" byteoffset="6" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wHour" type="IN">Hours after midnight (0..23)</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wMinute" type="T_UINT" byteoffset="8" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wMinute" type="IN">Minutes after hour (0..59)</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wSecond" type="T_UINT" byteoffset="10" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wSecond" type="IN">Seconds after minute (0..59)</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wMilliseconds" type="T_UINT" byteoffset="12" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wMilliseconds" type="IN">Milliseconds after second (0..999). Optional!</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wDayOfWeek" type="T_UINT" byteoffset="14" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wDayOfWeek" type="IN">Day of week (1..7: Monday = 1, Sunday = 7</element> </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wYday" type="T_UINT" byteoffset="16" vartype="VAR" access="ReadWrite">
|
|
<Comment> <element="wYday" type="IN">Day of year (1..365): January 1 = 1, December 31 = 364/365</element> </Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atAQ" size="312" nativesize="344" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atAQ">
|
|
<UserDefElement iecname="in_raw" type="T_REAL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="scalingRaw" type="T_atScaling" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="scalingEU" type="T_atScaling" byteoffset="116" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="228" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_eu" type="T_UINT" byteoffset="310" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atAlarm" size="19" nativesize="104" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atAlarm">
|
|
<UserDefElement iecname="in_raw" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="1" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_defaultType" type="T_atAlarmDefault" byteoffset="2" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_almIDX" type="T_INT" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_delOn" type="T_TIME" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_delOff" type="T_TIME" byteoffset="12" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_latched" type="T_BOOL" byteoffset="16" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Alarm will remain active until reset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_unlatched" type="T_BOOL" byteoffset="17" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Alarm will reset when source resets</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_default" type="T_BOOL" byteoffset="18" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Latched or unlatched as specified in the program</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atCurveGetKey" size="136" nativesize="160" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atCurveGetKey">
|
|
<UserDefElement iecname="keys" type="T_POINTER_TO_atCurveKey" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_key" type="T_REAL" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>input index</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_idxHi" type="T_INT" byteoffset="12" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>High output index</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_idxLo" type="T_INT" byteoffset="14" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Low output index</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_ratio" type="T_REAL" byteoffset="16" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Ratio between low and high </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="i" type="T_INT" byteoffset="20" vartype="VAR" access="ReadWrite">
|
|
<Comment>loop VAR</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="curveHi" type="T_INT" byteoffset="22" vartype="VAR" access="ReadWrite">
|
|
<Comment>Highest valid curve idx</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="scaling" type="T_atScaling" byteoffset="24" vartype="VAR" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atDevice" size="206" nativesize="2664" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atDevice">
|
|
<UserDefElement iecname="seq" type="T_atSeqCtl" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> This should not be set, but is an input to be able to set attributes of this.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_parentMachine" type="T_POINTER_TO_atMachine" byteoffset="48" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>This devices parent.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_fault" type="T_BOOL" byteoffset="56" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Motor Faulted - VFD fault or overload trip - this will not run in manual or auto</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_seqDisable" type="T_BOOL" byteoffset="57" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Disable sequence, for standalone device</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_autoRun" type="T_BOOL" byteoffset="58" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Demand to run in auto - normally set by seq controller.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="59" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="60" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Name of this device eg M03_01 Inc Drag</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_ratedPower" type="T_REAL" byteoffset="144" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Rated power in kw</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_pause" type="T_BOOL" byteoffset="148" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Pauses this device and its gadgets</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_autoRun" type="T_BOOL" byteoffset="149" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> Demand to run in auto, adds pause and inrush control to the in_autorun</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_run" type="T_BOOL" byteoffset="150" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Run output</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_runPerm" type="T_BOOL" byteoffset="151" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>In Auto from sequence, in manual TRUE</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_ready" type="T_BOOL" byteoffset="152" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_status" type="T_atDeviceStatus" byteoffset="154" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>In Auto from sequence, in manual TRUE</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_stateColor" type="T_DWORD" byteoffset="156" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Color used to indicate state</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_depsFault" type="T_BOOL" byteoffset="160" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>A depenedent has a fault</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_power" type="T_REAL" byteoffset="164" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> Power draw in watts</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_paused" type="T_BOOL" byteoffset="168" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>This device is pauses and won't start</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_inrushDelay" type="T_BOOL" byteoffset="169" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Device is waiting for inrush from another motor to decay before it starts</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_autoMode" type="T_BOOL" byteoffset="170" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Auto / manual</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_runTime" type="T_DINT" byteoffset="172" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Tracks run time in seconds</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_tss" type="T_DINT" byteoffset="176" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Tracks time since start in seconds</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="now" type="T_ULINT" byteoffset="184" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="devices" type="T_atDeviceList" byteoffset="192" access="ReadWrite">
|
|
<Comment>List of all devices</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atHistDint" size="484" nativesize="496" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atHistDint" basetype="T_atHistItemBase">
|
|
<UserDefElement iecname="name" type="T_STRING" byteoffset="0" vartype="VAR_INPUT" inherited_from="T_atHistItemBase" access="ReadWrite">
|
|
<Comment>Name of item</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="values" type="T_ARRAY__0__99__OF_DINT" byteoffset="84" vartype="VAR_INPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atHistReal" size="484" nativesize="496" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atHistReal" basetype="T_atHistItemBase">
|
|
<UserDefElement iecname="name" type="T_STRING" byteoffset="0" vartype="VAR_INPUT" inherited_from="T_atHistItemBase" access="ReadWrite">
|
|
<Comment>Name of item</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="values" type="T_ARRAY__0__99__OF_REAL" byteoffset="84" vartype="VAR_INPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atIngredient" size="132" nativesize="152" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atIngredient">
|
|
<Comment>One of many ingredients for a mixer</Comment>
|
|
<UserDefElement iecname="runCtl" type="T_atAutoManOnOff" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Output control</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="midnightReset" type="T_BOOL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Reset totals at midnight</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="name" type="T_STRING" byteoffset="5" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Display name for ingredient or bin</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="mode" type="T_atIngredientMode" byteoffset="86" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>The mode for this ingredient. DO NOT SET THIS DIRECTLY. Use the setMode variable</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="inventory" type="T_REAL" byteoffset="88" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Current amount in this bin (kg)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="fillTimeOut" type="T_BOOL" byteoffset="92" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>This ingredient timed out while filling</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="idx" type="T_INT" byteoffset="94" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>For Ingredient list on atom hmi</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="usedToday" type="T_REAL" byteoffset="96" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Amount used today (kg)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="setMode" type="T_atIngredientMode" byteoffset="100" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Desired mode for this ingredient</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="mixWhtPct" type="T_REAL" byteoffset="104" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Amount of mix desired in percent, this is the initial amount entered (kg)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="mixWhtDem" type="T_REAL" byteoffset="108" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Amount of mix desired in kg, converts the percent to kg based on the size of the mixing container (kg)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="mixWhtAdj" type="T_REAL" byteoffset="112" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Amount of mix desired including error correction for previous mix actual amount (kg)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="mixWhtStop" type="T_REAL" byteoffset="116" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Load cell weight at which to stop the auger (kg)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="mixWhtAct" type="T_REAL" byteoffset="120" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Mix weight actually added for this batch (kg)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="freefall" type="T_REAL" byteoffset="124" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Freefall from last fill (kg)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="accumulatedError" type="T_REAL" byteoffset="128" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Accumulated error from previous</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atMortality" size="40" nativesize="72" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atMortality">
|
|
<UserDefElement iecname="rollover" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Rollover pulse to clear today and update totals</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="addTd" type="T_BOOL" byteoffset="1" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="clear" type="T_BOOL" byteoffset="2" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="placed" type="T_DINT" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Number of birds placed</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="deadToday" type="T_DINT" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Number of birds dead today</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="addDeadToday" type="T_DINT" byteoffset="12" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="deadPrior" type="T_DINT" byteoffset="16" vartype="VAR" access="ReadWrite">
|
|
<Comment>Total dead since placed not counting today</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="rolloverTrig" type="T_R_TRIG" byteoffset="20" vartype="VAR" access="ReadWrite">
|
|
<Comment>Rollover trigger</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="addTdTrig" type="T_R_TRIG" byteoffset="22" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="totalDead" type="T_DINT" byteoffset="24" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="deadTotal" type="T_DINT" byteoffset="28" vartype="VAR" propertytype="call" access="Read" />
|
|
<UserDefElement iecname="mortRatio" type="T_REAL" byteoffset="32" vartype="VAR" propertytype="call" access="Read" />
|
|
<UserDefElement iecname="remaining" type="T_DINT" byteoffset="36" vartype="VAR" propertytype="call" access="Read" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atStageDevVari" size="228" nativesize="248" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atStageDevVari">
|
|
<UserDefElement iecname="ctrlEn" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>enable for various control schemes</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="minSP" type="T_REAL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Min Setpoint</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="maxSP" type="T_REAL" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Max Setpoint</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="ID" type="T_REAL" byteoffset="12" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="16" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_stageRatio" type="T_REAL" byteoffset="100" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="outputScaling" type="T_atScaling" byteoffset="104" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="idx" type="T_INT" byteoffset="216" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="runDem" type="T_BOOL" byteoffset="218" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Run Demand</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="underRange" type="T_BOOL" byteoffset="219" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Todo Future rename to outofRange to use for above or below (i.e Humidity ctl when top stage is active to deactivate hu control</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="autoRun" type="T_BOOL" byteoffset="220" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="autoSpeed" type="T_REAL" byteoffset="224" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeArray name="T_ARRAY__0__10__OF_atStageDevVari" size="2508" nativesize="2728" typeclass="Array" iecname="ARRAY [0..10] OF atStageDevVari" basetype="T_atStageDevVari">
|
|
<ArrayDim minrange="0" maxrange="10" />
|
|
</TypeArray>
|
|
<TypeArray name="T_ARRAY__0__2__OF_atIngredient" size="396" nativesize="456" typeclass="Array" iecname="ARRAY [0..2] OF atIngredient" basetype="T_atIngredient">
|
|
<ArrayDim minrange="0" maxrange="2" />
|
|
</TypeArray>
|
|
<TypeSimple name="T_REFERENCE_TO_atIngredient_REF" size="132" swapsize="0" typeclass="Reference" iecname="REFERENCE TO atIngredient_REF" basetype="T_atIngredient" />
|
|
<TypeUserDef name="T_atAiFault" size="96" nativesize="448" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atAiFault">
|
|
<UserDefElement iecname="under" type="T_atAlarm" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Channel input is underrange</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="over" type="T_atAlarm" byteoffset="20" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Channel input is overrange</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="card" type="T_atAlarm" byteoffset="40" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Card fault</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="chan" type="T_atAlarm" byteoffset="60" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Channel is faulted, underrange, overrange or card fault. </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="79" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Alarm reset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_raw" type="T_REAL" byteoffset="80" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Raw input</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_card" type="T_BOOL" byteoffset="84" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Comms, power supply, or card fault</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_overSP" type="T_REAL" byteoffset="88" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Channel overrange setpoint, used to manually calculate overrange</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_underSP" type="T_REAL" byteoffset="92" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Channel underrange setpoint. used to manually calculate underrange</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atCurveREAL" size="288" nativesize="344" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atCurveREAL">
|
|
<UserDefElement iecname="keys" type="T_POINTER_TO_atCurveKey" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Keys for curve</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="curve" type="T_POINTER_TO_atCurveREALData" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Data for curve</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_key" type="T_REAL" byteoffset="16" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Desired key at which to get the curve values</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_resultType" type="T_atCurveOutType" byteoffset="20" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Output type of the curve, stepped or smooth</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_manualSP" type="T_REAL" byteoffset="24" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Manual setpoint. Indicates the curve output when in auto</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_Auto" type="T_BOOL" byteoffset="28" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Auto/manual mode</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_value" type="T_REAL" byteoffset="32" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>output value, either from the curve or the manual setpoint</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_curve" type="T_REAL" byteoffset="36" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>output from the curve</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="getIdx" type="T_atCurveGetKey" byteoffset="40" vartype="VAR" access="ReadWrite">
|
|
<Comment>Function to get the to index values that surround the desired key value</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="scaling" type="T_atScaling" byteoffset="176" vartype="VAR" access="ReadWrite">
|
|
<Comment>scaling function for smooth result</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atDIFault" size="42" nativesize="224" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atDIFault">
|
|
<UserDefElement iecname="card" type="T_atAlarm" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Card fault</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="chan" type="T_atAlarm" byteoffset="20" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Channel is faulted, underrange, overrange or card fault. </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="39" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Alarm reset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_card" type="T_BOOL" byteoffset="40" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Comms, power supply, or card fault</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_chan" type="T_BOOL" byteoffset="41" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>channel fault</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atGadget" size="222" nativesize="3744" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atGadget" basetype="T_atDevice">
|
|
<UserDefElement iecname="seq" type="T_atSeqCtl" byteoffset="0" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> This should not be set, but is an input to be able to set attributes of this.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_parentMachine" type="T_POINTER_TO_atMachine" byteoffset="48" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>This devices parent.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_fault" type="T_BOOL" byteoffset="56" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Motor Faulted - VFD fault or overload trip - this will not run in manual or auto</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_seqDisable" type="T_BOOL" byteoffset="57" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Disable sequence, for standalone device</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_autoRun" type="T_BOOL" byteoffset="58" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Demand to run in auto - normally set by seq controller.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="59" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite" />
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="60" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Name of this device eg M03_01 Inc Drag</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_ratedPower" type="T_REAL" byteoffset="144" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Rated power in kw</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_pause" type="T_BOOL" byteoffset="148" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Pauses this device and its gadgets</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_autoRun" type="T_BOOL" byteoffset="149" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Demand to run in auto, adds pause and inrush control to the in_autorun</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_run" type="T_BOOL" byteoffset="150" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Run output</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_runPerm" type="T_BOOL" byteoffset="151" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>In Auto from sequence, in manual TRUE</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_ready" type="T_BOOL" byteoffset="152" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite" />
|
|
<UserDefElement iecname="out_status" type="T_atDeviceStatus" byteoffset="154" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>In Auto from sequence, in manual TRUE</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_stateColor" type="T_DWORD" byteoffset="156" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Color used to indicate state</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_depsFault" type="T_BOOL" byteoffset="160" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>A depenedent has a fault</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_power" type="T_REAL" byteoffset="164" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Power draw in watts</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_paused" type="T_BOOL" byteoffset="168" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>This device is pauses and won't start</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_inrushDelay" type="T_BOOL" byteoffset="169" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Device is waiting for inrush from another motor to decay before it starts</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_autoMode" type="T_BOOL" byteoffset="170" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Auto / manual</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_runTime" type="T_DINT" byteoffset="172" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Tracks run time in seconds</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_tss" type="T_DINT" byteoffset="176" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Tracks time since start in seconds</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="now" type="T_ULINT" byteoffset="184" vartype="VAR" inherited_from="T_atDevice" access="ReadWrite" />
|
|
<UserDefElement iecname="devices" type="T_atDeviceList" byteoffset="208" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>List of all devices</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_extUTS" type="T_BOOL" byteoffset="192" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Motor is up to speed. External input (e.g speed sensor) - Defaults true</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_manOnMaxSP" type="T_TIME" byteoffset="196" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Maximum manual on time</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_dlyTimeRem" type="T_TIME" byteoffset="200" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Delay time remaining for start or stop delay</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_dlyTimeAct" type="T_BOOL" byteoffset="204" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Delay timer is active </Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atHistData" size="724" nativesize="736" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atHistData">
|
|
<UserDefElement iecname="data" type="T_ARRAY__0__15__OF_POINTER_TO_atHistItemBase" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="name" type="T_STRING" byteoffset="128" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Name of index item. eg. Age</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="selectedIdx" type="T_INT" byteoffset="210" vartype="VAR" access="ReadWrite">
|
|
<Comment>The index of the first displayed row</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="usedRowCnt" type="T_INT" byteoffset="212" vartype="VAR" access="ReadWrite">
|
|
<Comment>Count of the rows that are currently in use</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="scrollBarMax" type="T_INT" byteoffset="214" vartype="VAR" access="ReadWrite">
|
|
<Comment>Max size for scroll bar</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="scrollBarPageSize" type="T_INT" byteoffset="216" vartype="VAR" access="ReadWrite">
|
|
<Comment>Page size for scroll bar</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="i" type="T_DINT" byteoffset="220" vartype="VAR" access="ReadWrite">
|
|
<Comment>Loop Var</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="values" type="T_ARRAY__0__99__OF_DINT" byteoffset="224" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="rowEn" type="T_ARRAY__0__99__OF_BOOL" byteoffset="624" vartype="VAR" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atHistRealAggregate" size="1296" nativesize="2552" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atHistRealAggregate" basetype="T_atHistItemBase">
|
|
<UserDefElement iecname="name" type="T_STRING" byteoffset="0" vartype="VAR_INPUT" inherited_from="T_atHistItemBase" access="ReadWrite">
|
|
<Comment>Name of item</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="values" type="T_ARRAY__0__99__OF_atHistRealAggregateItem" byteoffset="84" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="sum" type="T_REAL" byteoffset="1284" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="count" type="T_REAL" byteoffset="1288" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="valueIn" type="T_REAL" byteoffset="1292" vartype="VAR" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atLimit" size="56" nativesize="216" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atLimit">
|
|
<UserDefElement iecname="alm" type="T_atAlarm" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_val" type="T_REAL" byteoffset="20" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_type" type="T_atLimitType" byteoffset="24" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="26" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_procEn" type="T_BOOL" byteoffset="27" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Process controlled enable. eg only enable rpm lo when motor running</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_sp" type="T_REAL" byteoffset="28" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_hyst" type="T_REAL" byteoffset="32" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_en" type="T_BOOL" byteoffset="36" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_delOn" type="T_TIME" byteoffset="40" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>once running this will prevent a quick spike</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_delOff" type="T_TIME" byteoffset="44" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>allows machine to clean out before starting back up</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_procDelOn" type="T_TIME" byteoffset="48" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>process enable delay on</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_procDelOff" type="T_TIME" byteoffset="52" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>process enable delay off</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atMachine" size="222" nativesize="3848" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atMachine" basetype="T_atDevice">
|
|
<UserDefElement iecname="seq" type="T_atSeqCtl" byteoffset="0" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> This should not be set, but is an input to be able to set attributes of this.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_parentMachine" type="T_POINTER_TO_atMachine" byteoffset="48" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>This devices parent.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_fault" type="T_BOOL" byteoffset="56" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Motor Faulted - VFD fault or overload trip - this will not run in manual or auto</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_seqDisable" type="T_BOOL" byteoffset="57" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Disable sequence, for standalone device</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_autoRun" type="T_BOOL" byteoffset="58" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Demand to run in auto - normally set by seq controller.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="59" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite" />
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="60" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Name of this device eg M03_01 Inc Drag</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_ratedPower" type="T_REAL" byteoffset="144" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Rated power in kw</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_pause" type="T_BOOL" byteoffset="148" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Pauses this device and its gadgets</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_autoRun" type="T_BOOL" byteoffset="149" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Demand to run in auto, adds pause and inrush control to the in_autorun</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_run" type="T_BOOL" byteoffset="150" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Run output</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_runPerm" type="T_BOOL" byteoffset="151" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>In Auto from sequence, in manual TRUE</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_ready" type="T_BOOL" byteoffset="152" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite" />
|
|
<UserDefElement iecname="out_status" type="T_atDeviceStatus" byteoffset="154" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>In Auto from sequence, in manual TRUE</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_stateColor" type="T_DWORD" byteoffset="156" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Color used to indicate state</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_depsFault" type="T_BOOL" byteoffset="160" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>A depenedent has a fault</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_power" type="T_REAL" byteoffset="164" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Power draw in watts</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_paused" type="T_BOOL" byteoffset="168" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>This device is pauses and won't start</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_inrushDelay" type="T_BOOL" byteoffset="169" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Device is waiting for inrush from another motor to decay before it starts</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_autoMode" type="T_BOOL" byteoffset="170" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Auto / manual</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_runTime" type="T_DINT" byteoffset="172" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Tracks run time in seconds</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_tss" type="T_DINT" byteoffset="176" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Tracks time since start in seconds</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="now" type="T_ULINT" byteoffset="184" vartype="VAR" inherited_from="T_atDevice" access="ReadWrite" />
|
|
<UserDefElement iecname="devices" type="T_atDeviceList" byteoffset="208" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>List of all devices</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_manStart" type="T_BOOL" byteoffset="192" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Manual Start</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_manStop" type="T_BOOL" byteoffset="193" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Manual Stop</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_extUTS" type="T_BOOL" byteoffset="194" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Motor is up to speed. External input (e.g speed sensor) - Defaults true</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_manOnMaxSP" type="T_TIME" byteoffset="196" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Maximum manual on time</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_dlyTimeRem" type="T_TIME" byteoffset="200" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Delay time remaining for start or stop delay</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_dlyTimeAct" type="T_BOOL" byteoffset="204" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Delay timer is active</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_runStatus" type="T_BOOL" byteoffset="205" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_gadgetsFault" type="T_BOOL" byteoffset="206" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>A gadget has a fault</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atTODWithOffset" size="40" nativesize="32" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atTODWithOffset">
|
|
<UserDefElement iecname="in_fromRTC" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Gets the time from the real time clock</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="settings" type="T_atTODSettings" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>global settings</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="_utcMs" type="T_DINT" byteoffset="12" vartype="VAR" access="ReadWrite">
|
|
<Comment>UTC time of day in ms since midnight</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="localHour" type="T_INT" byteoffset="16" vartype="VAR" propertytype="call" access="ReadWrite" />
|
|
<UserDefElement iecname="localMinute" type="T_INT" byteoffset="18" vartype="VAR" propertytype="call" access="ReadWrite" />
|
|
<UserDefElement iecname="localMs" type="T_DINT" byteoffset="20" vartype="VAR" propertytype="call" access="ReadWrite" />
|
|
<UserDefElement iecname="localSecond" type="T_INT" byteoffset="24" vartype="VAR" propertytype="call" access="ReadWrite" />
|
|
<UserDefElement iecname="localTOD" type="T_TIME_OF_DAY" byteoffset="28" vartype="VAR" propertytype="call" access="ReadWrite">
|
|
<Comment>Local time of day</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="utcMs" type="T_DINT" byteoffset="32" vartype="VAR" propertytype="call" access="ReadWrite" />
|
|
<UserDefElement iecname="utcTOD" type="T_TIME_OF_DAY" byteoffset="36" vartype="VAR" propertytype="call" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeSimple name="T_REFERENCE_TO_atTODWithOffset_REF" size="40" swapsize="0" typeclass="Reference" iecname="REFERENCE TO atTODWithOffset_REF" basetype="T_atTODWithOffset" />
|
|
<TypeUserDef name="T_atCurveTimeClockData" size="80" nativesize="72" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atCurveTimeClockData">
|
|
<UserDefElement iecname="timeStart" type="T_atTODWithOffset" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="timeStop" type="T_atTODWithOffset" byteoffset="40" vartype="VAR_INPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atDI" size="167" nativesize="528" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atDI">
|
|
<UserDefElement iecname="in_raw" type="T_BOOL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Raw input</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="1" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Alarm reset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_ready" type="T_BOOL" byteoffset="2" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Indicates the the value at raw is now valid. Used at startup to delay updates until remote I/O has replied</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="faults" type="T_atDIFault" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>fault</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="alm" type="T_atAlarm" byteoffset="48" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> input used as an alarm</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="debounce" type="T_atDebounce" byteoffset="68" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_invert" type="T_BOOL" byteoffset="81" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Invert Function Defaults to False</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="82" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_raw" type="T_BOOL" byteoffset="163" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Raw input value</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_val" type="T_BOOL" byteoffset="164" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Debounced Input</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_ready" type="T_BOOL" byteoffset="165" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Output is valid. Used to delay using the value until startup overhead is complete, like waiting for remote I/O to respond</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="raw" type="T_BOOL" byteoffset="166" vartype="VAR" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atLimits" size="232" nativesize="880" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atLimits">
|
|
<UserDefElement iecname="in_val" type="T_REAL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="hihi" type="T_atLimit" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="hi" type="T_atLimit" byteoffset="64" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="lo" type="T_atLimit" byteoffset="120" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="lolo" type="T_atLimit" byteoffset="176" vartype="VAR_INPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atStage" size="3234" nativesize="3592" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atStage">
|
|
<UserDefElement iecname="hi" type="T_REAL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>top of stage</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="lo" type="T_REAL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>bottom of stage</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="center" type="T_REAL" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="variableDev" type="T_ARRAY__0__10__OF_atStageDevVari" byteoffset="12" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="fixedDev" type="T_ARRAY__0__5__OF_atStageDevFixed" byteoffset="2520" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="active" type="T_BOOL" byteoffset="3072" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="idx" type="T_INT" byteoffset="3074" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_cv" type="T_REAL" byteoffset="3076" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Current Temperature</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_singleStageEn" type="T_BOOL" byteoffset="3080" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>For Humidity to enable below and out_ctl</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_outOfRange" type="T_BOOL" byteoffset="3081" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>For Humidity ctl to disable fixed devices from running when below set Humidity range</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="i" type="T_INT" byteoffset="3082" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="stageRatioScaling" type="T_atScaling" byteoffset="3084" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="stageRatio" type="T_REAL" byteoffset="3196" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="belowTMR_On" type="T_TON" byteoffset="3200" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="belowTMR_Off" type="T_TOF" byteoffset="3216" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="below" type="T_BOOL" byteoffset="3232" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="out_ctl" type="T_BOOL" byteoffset="3233" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>For Humidity ctl to show when devices are being controlled via humidity stage</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atTemperatureCurve" size="524" nativesize="800" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atTemperatureCurve">
|
|
<UserDefElement iecname="keysREAL" type="T_ARRAY__0__9__OF_atCurveKey" byteoffset="0" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="curveREAL" type="T_ARRAY__0__9__OF_atCurveREALData" byteoffset="80" vartype="VAR" access="ReadWrite">
|
|
<Comment>data for curve</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="teCurveREAL" type="T_atCurveREAL" byteoffset="120" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="curveTeInREAL" type="T_REAL" byteoffset="408" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="curveTeOutREAL" type="T_REAL" byteoffset="412" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="teAutoTrig" type="T_F_TRIG" byteoffset="416" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="teSelected" type="T_REAL" byteoffset="420" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="curveTypeREAL" type="T_atCurveOutType" byteoffset="424" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="teAuto" type="T_BOOL" byteoffset="426" vartype="VAR" access="ReadWrite">
|
|
<Comment>Temperature auto / manual</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="teManSP" type="T_REAL" byteoffset="428" vartype="VAR" access="ReadWrite">
|
|
<Comment>Temperature manual setpoint</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_curveKey" type="T_REAL" byteoffset="432" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>The key to select the current curve index. Likely bird age</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="436" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_Te" type="T_REAL" byteoffset="520" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Temperature output</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeArray name="T_ARRAY__0__10__OF_atStage" size="35596" nativesize="39512" typeclass="Array" iecname="ARRAY [0..10] OF atStage" basetype="T_atStage">
|
|
<ArrayDim minrange="0" maxrange="10" />
|
|
</TypeArray>
|
|
<TypeArray name="T_ARRAY__0__9__OF_atCurveTimeClockData" size="800" nativesize="720" typeclass="Array" iecname="ARRAY [0..9] OF atCurveTimeClockData" basetype="T_atCurveTimeClockData">
|
|
<ArrayDim minrange="0" maxrange="9" />
|
|
</TypeArray>
|
|
<TypeSimple name="T_REFERENCE_TO_atCurveTimeClockData_REF" size="80" swapsize="0" typeclass="Reference" iecname="REFERENCE TO atCurveTimeClockData_REF" basetype="T_atCurveTimeClockData" />
|
|
<TypeSimple name="T_REFERENCE_TO_atStage_REF" size="3234" swapsize="0" typeclass="Reference" iecname="REFERENCE TO atStage_REF" basetype="T_atStage" />
|
|
<TypeUserDef name="T_atAI" size="680" nativesize="1800" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atAI">
|
|
<UserDefElement iecname="in_raw" type="T_REAL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Raw input</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_calMin" type="T_BOOL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Calibrate min value to current input level</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_calMax" type="T_BOOL" byteoffset="5" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Calibrate max value to current input level</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="6" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Alarm reset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_ready" type="T_BOOL" byteoffset="7" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Indicates the the value at raw is now valid. Used at startup to delay updates until remote I/O has replied</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="limits" type="T_atLimits" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Limit inputs</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="scalingRaw" type="T_atScaling" byteoffset="240" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Scaling Raw Input to percent</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="scalingEU" type="T_atScaling" byteoffset="352" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Scaling percent to EU</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="faults" type="T_atAiFault" byteoffset="464" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>fault inputs</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="filter" type="T_atFilter" byteoffset="560" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Filtering from the scaling EU</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_signal" type="T_REAL" byteoffset="572" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Signal value, depending on input type</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="576" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Name the atAI for HMI visualization</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="titleIDX_AI" type="T_INT" byteoffset="658" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> For using a text list in Webvisu if Persistant Variable Space is Limited (i.e. Using a Productivity PLC vs Raspberry)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_filterTim" type="T_DINT" byteoffset="660" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Converts to Ms DINT for easy HMI entry</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_scaled" type="T_REAL" byteoffset="664" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> Scaled value</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_eu" type="T_REAL" byteoffset="668" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> Filtered and scaled value</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_ready" type="T_BOOL" byteoffset="672" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment> Output is ready for use.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="ai" type="T_BOOL" byteoffset="673" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="filtered" type="T_REAL" byteoffset="676" vartype="VAR" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atTODWithOffsetIsBetween" size="156" nativesize="80" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atTODWithOffsetIsBetween">
|
|
<UserDefElement iecname="in_start" type="T_atTODWithOffset" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Start time with offset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_stop" type="T_atTODWithOffset" byteoffset="40" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Stop time with offset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_actual" type="T_atTODWithOffset" byteoffset="80" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Time to check if it is between the start and stop times</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_on" type="T_BOOL" byteoffset="120" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>On if actual is between start and stop</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_ratio" type="T_REAL" byteoffset="124" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>ratio if postition between start and stop</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="scale" type="T_atScalingDINT" byteoffset="128" vartype="VAR" access="ReadWrite">
|
|
<Comment>Function to scale transition</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeSimple name="T_REFERENCE_TO_atAI_REF" size="680" swapsize="0" typeclass="Reference" iecname="REFERENCE TO atAI_REF" basetype="T_atAI" />
|
|
<TypeUserDef name="T_atActuatorVtPls" size="1406" nativesize="7480" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atActuatorVtPls" basetype="T_atGadget">
|
|
<UserDefElement iecname="seq" type="T_atSeqCtl" byteoffset="0" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> This should not be set, but is an input to be able to set attributes of this.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_parentMachine" type="T_POINTER_TO_atMachine" byteoffset="48" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>This devices parent.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_fault" type="T_BOOL" byteoffset="56" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Motor Faulted - VFD fault or overload trip - this will not run in manual or auto</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_seqDisable" type="T_BOOL" byteoffset="57" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Disable sequence, for standalone device</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_autoRun" type="T_BOOL" byteoffset="58" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Demand to run in auto - normally set by seq controller.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="59" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite" />
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="60" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Name of this device eg M03_01 Inc Drag</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_ratedPower" type="T_REAL" byteoffset="144" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Rated power in kw</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_pause" type="T_BOOL" byteoffset="148" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Pauses this device and its gadgets</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_autoRun" type="T_BOOL" byteoffset="149" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Demand to run in auto, adds pause and inrush control to the in_autorun</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_run" type="T_BOOL" byteoffset="150" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Run output</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_runPerm" type="T_BOOL" byteoffset="151" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>In Auto from sequence, in manual TRUE</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_ready" type="T_BOOL" byteoffset="152" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite" />
|
|
<UserDefElement iecname="out_status" type="T_atDeviceStatus" byteoffset="154" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>In Auto from sequence, in manual TRUE</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_stateColor" type="T_DWORD" byteoffset="156" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Color used to indicate state</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_depsFault" type="T_BOOL" byteoffset="160" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>A depenedent has a fault</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_power" type="T_REAL" byteoffset="164" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment> Power draw in watts</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_paused" type="T_BOOL" byteoffset="168" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>This device is pauses and won't start</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_inrushDelay" type="T_BOOL" byteoffset="169" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Device is waiting for inrush from another motor to decay before it starts</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_autoMode" type="T_BOOL" byteoffset="170" vartype="VAR_INPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Auto / manual</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_runTime" type="T_DINT" byteoffset="172" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Tracks run time in seconds</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_tss" type="T_DINT" byteoffset="176" vartype="VAR_OUTPUT" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>Tracks time since start in seconds</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="now" type="T_ULINT" byteoffset="184" vartype="VAR" inherited_from="T_atDevice" access="ReadWrite" />
|
|
<UserDefElement iecname="devices" type="T_atDeviceList" byteoffset="1392" inherited_from="T_atDevice" access="ReadWrite">
|
|
<Comment>List of all devices</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_extUTS" type="T_BOOL" byteoffset="192" vartype="VAR_INPUT" inherited_from="T_atGadget" access="ReadWrite">
|
|
<Comment> Motor is up to speed. External input (e.g speed sensor) - Defaults true</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_manOnMaxSP" type="T_TIME" byteoffset="196" vartype="VAR_INPUT" inherited_from="T_atGadget" access="ReadWrite">
|
|
<Comment>Maximum manual on time</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_dlyTimeRem" type="T_TIME" byteoffset="200" vartype="VAR_OUTPUT" inherited_from="T_atGadget" access="ReadWrite">
|
|
<Comment>Delay time remaining for start or stop delay</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_dlyTimeAct" type="T_BOOL" byteoffset="204" vartype="VAR_OUTPUT" inherited_from="T_atGadget" access="ReadWrite">
|
|
<Comment>Delay timer is active </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_autoOffPos" type="T_REAL" byteoffset="208" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_autoPos" type="T_REAL" byteoffset="212" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>In auto position demand</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_manExtend" type="T_BOOL" byteoffset="216" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Extend Command</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_manRetract" type="T_BOOL" byteoffset="217" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Retract Command</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_manStop" type="T_BOOL" byteoffset="218" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Stop Manual Movement</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="ai" type="T_atAI" byteoffset="220" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_posDem" type="T_REAL" byteoffset="900" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Position demand</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="posDemScaled" type="T_atScaling" byteoffset="904" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="inletFanVar" type="T_atScaling" byteoffset="1016" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>For controlling inlet fans if applicable</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_stalReset" type="T_BOOL" byteoffset="1128" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_openLngPrs" type="T_BOOL" byteoffset="1129" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_closeLngPrs" type="T_BOOL" byteoffset="1130" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_manPos" type="T_REAL" byteoffset="1132" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Manual Position setting </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_posDly" type="T_TIME" byteoffset="1136" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Delay to allow for in position</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_motionDB" type="T_REAL" byteoffset="1140" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Motion deadband in percent / second</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_stallDelay" type="T_DINT" byteoffset="1144" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>How long before no motion triggers a stall</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="atPosDlyTim" type="T_TIME" byteoffset="1148" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Delay for at Position Timer </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_HMICycleTMOn" type="T_DINT" byteoffset="1152" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Pulse on Time MS</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_HMICycleTMOff" type="T_DINT" byteoffset="1156" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Pulse off Time MS</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="stalledEn" type="T_BOOL" byteoffset="1160" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Enable Stalled shutdown defaults to FALSE</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_open" type="T_BOOL" byteoffset="1161" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Open demand</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_close" type="T_BOOL" byteoffset="1162" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Close demand</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_atPos" type="T_BOOL" byteoffset="1163" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>At position confirmation</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_activeStat" type="T_BOOL" byteoffset="1164" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Position active or above zero position</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="stalled" type="T_atAlarm" byteoffset="1168" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Stalled alarm</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_PosDem" type="T_REAL" byteoffset="1188" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_inletFanVar" type="T_REAL" byteoffset="1192" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Inlet fan variable speed demand</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_inletFanRun" type="T_BOOL" byteoffset="1196" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Inlet fan fixed run command</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_ActPos" type="T_REAL" byteoffset="1200" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Actual Position </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_readyDev" type="T_BOOL" byteoffset="1204" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="tssSec" type="T_REAL" byteoffset="1208" vartype="VAR" access="ReadWrite">
|
|
<Comment>Time since start in seconds</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="deadBand" type="T_REAL" byteoffset="1212" vartype="VAR" access="ReadWrite">
|
|
<Comment> Allowed error margin</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="atPosDly" type="T_TON" byteoffset="1216" vartype="VAR" access="ReadWrite">
|
|
<Comment> Delay for minor adjustments before Declaring at Position</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="atPosRun" type="T_BOOL" byteoffset="1232" vartype="VAR" access="ReadWrite">
|
|
<Comment>Start At Position Delay Timer</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="req_open" type="T_BOOL" byteoffset="1233" vartype="VAR" access="ReadWrite">
|
|
<Comment> Toggles for out_open</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="req_close" type="T_BOOL" byteoffset="1234" vartype="VAR" access="ReadWrite">
|
|
<Comment> Toggles for out_close</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="lastPos" type="T_REAL" byteoffset="1236" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="traveling" type="T_BOOL" byteoffset="1240" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="stoppedTim" type="T_DINT" byteoffset="1244" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="reqOpen" type="T_BLINK" byteoffset="1248" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="reqClose" type="T_BLINK" byteoffset="1280" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="cycleTimeOn" type="T_TIME" byteoffset="1312" vartype="VAR" access="ReadWrite">
|
|
<Comment> Toggle duration (1 second)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="cycleTimeOff" type="T_TIME" byteoffset="1316" vartype="VAR" access="ReadWrite">
|
|
<Comment> Toggle duration (1 second)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="closeTmr" type="T_TON" byteoffset="1320" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="fastclose" type="T_BOOL" byteoffset="1336" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="extend" type="T_RS" byteoffset="1337" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="retract" type="T_RS" byteoffset="1340" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="trg" type="T_R_TRIG" byteoffset="1343" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="out_inletPos" type="T_REAL" byteoffset="1348" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="out_pos" type="T_REAL" byteoffset="1352" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="lngPrsTMR_open" type="T_TON" byteoffset="1356" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="lngPrsTMR_close" type="T_TON" byteoffset="1372" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="initialized" type="T_BOOL" byteoffset="1388" vartype="VAR" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atCurveTimeClock" size="364" nativesize="344" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atCurveTimeClock">
|
|
<UserDefElement iecname="keys" type="T_POINTER_TO_atCurveKey" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Keys for curve</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="curve" type="T_POINTER_TO_atCurveTimeClockData" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Data for curve</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="TODSettings" type="T_atTODSettings" byteoffset="16" vartype="VAR_IN_OUT" access="ReadWrite">
|
|
<Comment>Time zone settings </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_key" type="T_REAL" byteoffset="24" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Desired key at which to get the curve values</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_resultType" type="T_atCurveOutType" byteoffset="28" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Output type of the curve, stepped or smooth</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_value" type="T_atCurveTimeClockData" byteoffset="32" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>output value</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="i" type="T_DINT" byteoffset="112" vartype="VAR" access="ReadWrite">
|
|
<Comment>Loop variable</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="getIdx" type="T_atCurveGetKey" byteoffset="120" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="scaling" type="T_atScalingDINT" byteoffset="256" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="smoothOut" type="T_atCurveTimeClockData" byteoffset="284" vartype="VAR" access="ReadWrite">
|
|
<Comment>empty container for calculated values</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atLoadCell" size="804" nativesize="2056" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atLoadCell" basetype="T_atAI">
|
|
<UserDefElement iecname="in_raw" type="T_REAL" byteoffset="0" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Raw input</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_calMin" type="T_BOOL" byteoffset="4" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Calibrate min value to current input level</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_calMax" type="T_BOOL" byteoffset="5" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Calibrate max value to current input level</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="6" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Alarm reset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_ready" type="T_BOOL" byteoffset="7" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Indicates the the value at raw is now valid. Used at startup to delay updates until remote I/O has replied</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="limits" type="T_atLimits" byteoffset="8" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Limit inputs</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="scalingRaw" type="T_atScaling" byteoffset="240" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Scaling Raw Input to percent</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="scalingEU" type="T_atScaling" byteoffset="352" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Scaling percent to EU</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="faults" type="T_atAiFault" byteoffset="464" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>fault inputs</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="filter" type="T_atFilter" byteoffset="560" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Filtering from the scaling EU</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_signal" type="T_REAL" byteoffset="572" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment> Signal value, depending on input type</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="576" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Name the atAI for HMI visualization</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="titleIDX_AI" type="T_INT" byteoffset="658" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment> For using a text list in Webvisu if Persistant Variable Space is Limited (i.e. Using a Productivity PLC vs Raspberry)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_filterTim" type="T_DINT" byteoffset="660" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment> Converts to Ms DINT for easy HMI entry</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_scaled" type="T_REAL" byteoffset="664" vartype="VAR_OUTPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment> Scaled value</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_eu" type="T_REAL" byteoffset="668" vartype="VAR_OUTPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment> Filtered and scaled value</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_ready" type="T_BOOL" byteoffset="672" vartype="VAR_OUTPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment> Output is ready for use.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="ai" type="T_BOOL" byteoffset="673" vartype="VAR" inherited_from="T_atAI" access="ReadWrite" />
|
|
<UserDefElement iecname="filtered" type="T_REAL" byteoffset="676" vartype="VAR" inherited_from="T_atAI" access="ReadWrite" />
|
|
<UserDefElement iecname="in_stableDev" type="T_REAL" byteoffset="680" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_stableDly" type="T_DINT" byteoffset="684" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_mv_V" type="T_REAL" byteoffset="688" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_maxWeight" type="T_REAL" byteoffset="692" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_extVolt" type="T_REAL" byteoffset="696" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_mvOffset" type="T_REAL" byteoffset="700" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_autoZeroDly" type="T_DINT" byteoffset="704" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_autoZeroTol" type="T_REAL" byteoffset="708" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_kg_mv" type="T_REAL" byteoffset="712" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_mv" type="T_REAL" byteoffset="716" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_calWeight" type="T_REAL" byteoffset="720" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_cal" type="T_BOOL" byteoffset="724" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>User can calibrate loadcell if the three possible inputs have been populated</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_zero" type="T_BOOL" byteoffset="725" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>User can zero scale manually</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_autoZero" type="T_BOOL" byteoffset="726" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>If Enabled it will allow program to auto zero</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_stableSimIn" type="T_BOOL" byteoffset="727" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_stable" type="T_BOOL" byteoffset="728" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="euLast" type="T_REAL" byteoffset="732" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="dev" type="T_REAL" byteoffset="736" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="stabRaw" type="T_BOOL" byteoffset="740" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="stableTmr" type="T_TON" byteoffset="744" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="autoZeroTmr" type="T_TON" byteoffset="760" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="autoZeroed" type="T_BOOL" byteoffset="776" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="autoZero" type="T_BOOL" byteoffset="777" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="calc1" type="T_BOOL" byteoffset="778" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="caldone" type="T_R_TRIG" byteoffset="779" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="caldoneTMR" type="T_TON" byteoffset="784" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="weight" type="T_REAL" byteoffset="800" vartype="VAR" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atStageCtl" size="42132" nativesize="39608" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atStageCtl">
|
|
<UserDefElement iecname="in_stagesHi" type="T_REAL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Offset from setpoint to the top of the highest stage</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_stagesLo" type="T_REAL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Offset from setpoint to the bottom fo the lowest stage</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_cv" type="T_REAL" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Current temperature input</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="stages" type="T_ARRAY__0__10__OF_atStage" byteoffset="12" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="activeStage" type="T_atStage" byteoffset="35608" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="hmiStage" type="T_atStage" byteoffset="38844" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_offsetHi" type="T_REAL" byteoffset="42080" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_offsetLo" type="T_REAL" byteoffset="42084" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_stagesCnt" type="T_INT" byteoffset="42088" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Number of stages</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_stagesGap" type="T_REAL" byteoffset="42092" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Gap between stages where nothing changes</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_teSP" type="T_REAL" byteoffset="42096" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Setpoint</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="activeStageIdx" type="T_INT" byteoffset="42100" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="hmiIDX" type="T_INT" byteoffset="42102" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="i" type="T_INT" byteoffset="42104" vartype="VAR" access="ReadWrite">
|
|
<Comment>Loop variable</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="span" type="T_REAL" byteoffset="42108" vartype="VAR" access="ReadWrite">
|
|
<Comment>total span from bottom of first stage to top of last stage</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="stageStart" type="T_REAL" byteoffset="42112" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="stageInterval" type="T_REAL" byteoffset="42116" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="stageSize" type="T_REAL" byteoffset="42120" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="debug_hi" type="T_REAL" byteoffset="42124" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="debug_lo" type="T_REAL" byteoffset="42128" vartype="VAR" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atTeAI" size="692" nativesize="1816" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atTeAI" basetype="T_atAI">
|
|
<UserDefElement iecname="in_raw" type="T_REAL" byteoffset="0" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Raw input</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_calMin" type="T_BOOL" byteoffset="4" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Calibrate min value to current input level</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_calMax" type="T_BOOL" byteoffset="5" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Calibrate max value to current input level</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="6" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Alarm reset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_ready" type="T_BOOL" byteoffset="7" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Indicates the the value at raw is now valid. Used at startup to delay updates until remote I/O has replied</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="limits" type="T_atLimits" byteoffset="8" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Limit inputs</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="scalingRaw" type="T_atScaling" byteoffset="240" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Scaling Raw Input to percent</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="scalingEU" type="T_atScaling" byteoffset="352" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Scaling percent to EU</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="faults" type="T_atAiFault" byteoffset="464" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>fault inputs</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="filter" type="T_atFilter" byteoffset="560" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Filtering from the scaling EU</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_signal" type="T_REAL" byteoffset="572" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment> Signal value, depending on input type</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_name" type="T_STRING" byteoffset="576" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment>Name the atAI for HMI visualization</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="titleIDX_AI" type="T_INT" byteoffset="658" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment> For using a text list in Webvisu if Persistant Variable Space is Limited (i.e. Using a Productivity PLC vs Raspberry)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_filterTim" type="T_DINT" byteoffset="660" vartype="VAR_INPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment> Converts to Ms DINT for easy HMI entry</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_scaled" type="T_REAL" byteoffset="664" vartype="VAR_OUTPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment> Scaled value</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_eu" type="T_REAL" byteoffset="668" vartype="VAR_OUTPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment> Filtered and scaled value</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_ready" type="T_BOOL" byteoffset="672" vartype="VAR_OUTPUT" inherited_from="T_atAI" access="ReadWrite">
|
|
<Comment> Output is ready for use.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="ai" type="T_BOOL" byteoffset="673" vartype="VAR" inherited_from="T_atAI" access="ReadWrite" />
|
|
<UserDefElement iecname="filtered" type="T_REAL" byteoffset="676" vartype="VAR" inherited_from="T_atAI" access="ReadWrite" />
|
|
<UserDefElement iecname="in_thermType" type="T_INT" byteoffset="680" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Therm Type (i.e 1 = 3K)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_resVal" type="T_INT" byteoffset="682" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Resistor Value (i.e. 3267)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_supVlt" type="T_REAL" byteoffset="684" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>In Supply Voltage </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="te1_res" type="T_REAL" byteoffset="688" vartype="VAR" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeSimple name="T_REFERENCE_TO_atLoadCell_REF" size="804" swapsize="0" typeclass="Reference" iecname="REFERENCE TO atLoadCell_REF" basetype="T_atLoadCell" />
|
|
<TypeSimple name="T_REFERENCE_TO_atTeAI_REF" size="692" swapsize="0" typeclass="Reference" iecname="REFERENCE TO atTeAI_REF" basetype="T_atTeAI" />
|
|
<TypeUserDef name="T_atHSC" size="748" nativesize="472" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atHSC">
|
|
<UserDefElement iecname="in_rawCount" type="T_UDINT" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Raw count from IO</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment> Alarm reset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="ai" type="T_atAI" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="resetDay" type="T_BOOL" byteoffset="688" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Resets Current Day total</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_avgTime" type="T_INT" byteoffset="690" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Time Period for averaging</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_multiplier" type="T_REAL" byteoffset="692" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>To Convert Counts to Hz (eg. slip sensor with 4 targets = 4, pulse/liter to pulse/gal = 3.78)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_freq" type="T_REAL" byteoffset="696" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Cycles Per second</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="volSmlTotal" type="T_REAL" byteoffset="700" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="volSmlTotalInt" type="T_UDINT" byteoffset="704" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="trig" type="T_R_TRIG" byteoffset="708" vartype="VAR" access="ReadWrite">
|
|
<Comment>Used in Process DI </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="rst" type="T_TON" byteoffset="712" vartype="VAR" access="ReadWrite">
|
|
<Comment>Timer for long press to reset current day</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="rstTrig" type="T_R_TRIG" byteoffset="728" vartype="VAR" access="ReadWrite">
|
|
<Comment>trigger to force reset of current dailydelta if used as water meter etc.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="pulseTotal" type="T_UDINT" byteoffset="732" vartype="VAR" access="ReadWrite">
|
|
<Comment>Pulse Count from digital input</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="dayLastCnt" type="T_UDINT" byteoffset="736" vartype="VAR" access="ReadWrite">
|
|
<Comment>Last count of euTotal from day before</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="euTotal" type="T_UDINT" byteoffset="740" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="dailyDelta" type="T_UDINT" byteoffset="744" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atInletCntrl" size="752" nativesize="200" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atInletCntrl">
|
|
<UserDefElement iecname="in_sp" type="T_REAL" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Setpoint </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_mlply" type="T_REAL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Multiplier</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_rateMax" type="T_REAL" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Rate of Change Max Percent Per Minute</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_deadBand" type="T_REAL" byteoffset="12" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_spkDlySP" type="T_DINT" byteoffset="16" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Delay Prevents sudden spikes from demanding pos change</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_devPos" type="T_REAL" byteoffset="20" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Current Position of Device From (atActuator - in_PosAct)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_act" type="T_REAL" byteoffset="24" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Analog Input - in_act := out_eu;</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_flip" type="T_BOOL" byteoffset="28" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Flips the greater then and less then to reverse the demand direction</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_autoMode" type="T_BOOL" byteoffset="29" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="minSP" type="T_REAL" byteoffset="32" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="maxSp" type="T_REAL" byteoffset="36" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_staticPrs" type="T_atAI" byteoffset="40" vartype="VAR_IN_OUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_posDem" type="T_REAL" byteoffset="720" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Actuator Demand - in_autoPos := out_posDem;</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="error" type="T_REAL" byteoffset="724" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="extend" type="T_BOOL" byteoffset="728" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="retract" type="T_BOOL" byteoffset="729" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="posDem" type="T_BOOL" byteoffset="730" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="spkDly" type="T_TON" byteoffset="732" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="chgRate" type="T_REAL" byteoffset="748" vartype="VAR" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atLightClock" size="2024" nativesize="2032" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atLightClock">
|
|
<UserDefElement iecname="curveTypeTC" type="T_atCurveOutType" byteoffset="0" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="powerAuto" type="T_BOOL" byteoffset="2" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="intensityAuto" type="T_BOOL" byteoffset="3" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="intensityManSP" type="T_REAL" byteoffset="4" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="duskDawnTransTime" type="T_DINT" byteoffset="8" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="duskDawnEn" type="T_BOOL" byteoffset="12" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="duskDawnActive" type="T_BOOL" byteoffset="13" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="duskDawnIntensityTarget" type="T_REAL" byteoffset="16" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="intensityCurrent" type="T_REAL" byteoffset="20" vartype="VAR" access="ReadWrite">
|
|
<Comment> Ramping vars</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="intensityTarget" type="T_REAL" byteoffset="24" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="power" type="T_BOOL" byteoffset="28" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="in_curveKey" type="T_REAL" byteoffset="32" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_TODSettings" type="T_atTODSettings" byteoffset="36" vartype="VAR_IN_OUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_intensity" type="T_REAL" byteoffset="44" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_power" type="T_BOOL" byteoffset="48" vartype="VAR_OUTPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="curveTC" type="T_atCurveTimeClock" byteoffset="56" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="keysTC" type="T_ARRAY__0__9__OF_atCurveKey" byteoffset="420" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="curveTCData" type="T_ARRAY__0__9__OF_atCurveTimeClockData" byteoffset="500" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="curveOutTC" type="T_atCurveTimeClockData" byteoffset="1300" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="curveIntensity" type="T_atCurveREAL" byteoffset="1384" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="curveIntensityData" type="T_ARRAY__0__9__OF_atCurveREALData" byteoffset="1672" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="curveOutIntensity" type="T_REAL" byteoffset="1712" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="intensitySelected" type="T_REAL" byteoffset="1716" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="intensityHeld" type="T_REAL" byteoffset="1720" vartype="VAR" access="ReadWrite">
|
|
<Comment> Keeps last known intensity setpoint</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="powerAutoOn" type="T_BOOL" byteoffset="1724" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="dawnStart" type="T_atTODWithOffset" byteoffset="1728" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="duskEnd" type="T_atTODWithOffset" byteoffset="1768" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="transRatio" type="T_REAL" byteoffset="1808" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="isBetween" type="T_atTODWithOffsetIsBetween" byteoffset="1812" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="nowTOD" type="T_atTODWithOffset" byteoffset="1968" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="updateTimer" type="T_TON" byteoffset="2008" vartype="VAR" access="ReadWrite" />
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atMixerControl" size="1336" nativesize="992" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atMixerControl">
|
|
<Comment>Feed weigher / mixer</Comment>
|
|
<UserDefElement iecname="in_dumpCtl" type="T_atAutoManOnOff" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>dump mechanism control</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_midnightReset" type="T_BOOL" byteoffset="4" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Pulse to reset totals at midnight</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_dumpEn" type="T_BOOL" byteoffset="5" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Enable Dump normally on when weigh hopper is empty </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_start" type="T_BOOL" byteoffset="6" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Start mixing. Is reset to false immediatly</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_weigherCapacity" type="T_REAL" byteoffset="8" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Capacity of the scale. Recipes will use this to calculate amounts</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_dumpCloseDelay" type="T_REAL" byteoffset="12" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Delay time for dump to close (seconds)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_wheatPct" type="T_REAL" byteoffset="16" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Wheat demand in percent (0-100)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_enable" type="T_BOOL" byteoffset="20" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Mixer enable/disable. When disabled mixer alarms also disabled</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_loggerEn" type="T_BOOL" byteoffset="21" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>Logger enable. Turn on to enable logging to system log.</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_loadCell" type="T_atLoadCell" byteoffset="24" vartype="VAR_IN_OUT" access="ReadWrite">
|
|
<Comment>Reference to an at loadcell </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_ingredients" type="T_POINTER_TO_atIngredient" byteoffset="832" vartype="VAR_INPUT" access="ReadWrite">
|
|
<Comment>List of ingredients</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="in_reset" type="T_BOOL" byteoffset="840" vartype="VAR_IN_OUT" access="ReadWrite">
|
|
<Comment>Alarm reset</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="out_mixerEmpty" type="T_BOOL" byteoffset="841" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Mixer is empty</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="timeoutWhileFilling" type="T_atAlarm" byteoffset="844" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Alarm to indicate it took to long to fill the weigh hopper to the desired weight</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="timeoutWhileDumping" type="T_atAlarm" byteoffset="864" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Alarm to indicate it took to long for the weigh hopper to empty</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="noPremixIngredient" type="T_atAlarm" byteoffset="884" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Alarm to indicate there is no premix ingredient defined</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="totalToday" type="T_REAL" byteoffset="904" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Total amount mixed today (kg) </Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="state" type="T_atMixerState" byteoffset="908" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>State of the mixer</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="timeoutWhileFillingSP" type="T_REAL" byteoffset="912" vartype="VAR" access="ReadWrite">
|
|
<Comment>Delay time in seconds for timeout while filling alarm</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="timeoutWhileDumpingSP" type="T_REAL" byteoffset="916" vartype="VAR" access="ReadWrite">
|
|
<Comment>Delay time in seconds for timout while dumping alarm</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="activeIngIdx" type="T_INT" byteoffset="920" vartype="VAR" access="ReadWrite">
|
|
<Comment>Active ingredient index</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="i" type="T_DINT" byteoffset="924" vartype="VAR" access="ReadWrite">
|
|
<Comment>Loop variable</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="ub" type="T_DINT" byteoffset="928" vartype="VAR" access="ReadWrite">
|
|
<Comment>Array uppder bound</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="scaleZero" type="T_REAL" byteoffset="932" vartype="VAR" access="ReadWrite">
|
|
<Comment>Zero weight for the current batch</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="stateLast" type="T_atMixerState" byteoffset="936" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="stateTime" type="T_atStopWatch" byteoffset="944" vartype="VAR" access="ReadWrite">
|
|
<Comment>Time since this state became active</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="activeIng" type="T_atIngredient" byteoffset="964" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="logger" type="T_atSystemLog" byteoffset="1096" vartype="VAR" access="ReadWrite">
|
|
<Comment>System log writer</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="wheatEn" type="T_BOOL" byteoffset="1265" vartype="VAR" access="ReadWrite">
|
|
<Comment>Wheat is enabled</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="premixPct" type="T_REAL" byteoffset="1268" vartype="VAR" access="ReadWrite">
|
|
<Comment>Premix demand in percent (0-100)</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="timeoutWhileFillingReset" type="T_BOOL" byteoffset="1272" vartype="VAR" access="ReadWrite">
|
|
<Comment>Internal reset to</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="autoSwitchPending" type="T_BOOL" byteoffset="1273" vartype="VAR" access="ReadWrite">
|
|
<Comment>Auto switch to other bin is pending for the start of the next batch</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="timeoutWithBackup" type="T_BOOL" byteoffset="1274" vartype="VAR" access="ReadWrite">
|
|
<Comment>Fill timeout while there is a backup premix has occured</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="midnightResetTrig" type="T_R_TRIG" byteoffset="1275" vartype="VAR" access="ReadWrite">
|
|
<Comment>Midnight reset trigger</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="zSimWeighHopperWht" type="T_REAL" byteoffset="1280" vartype="VAR" access="ReadWrite">
|
|
<Comment>Weight in the weigh hopper that is under the weigher</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="zSimDumpWht" type="T_REAL" byteoffset="1284" vartype="VAR" access="ReadWrite">
|
|
<Comment>Amount of weight to remove from wheigher on each scan during dump</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="zSimFillDebounce" type="T_ARRAY__0__2__OF_atDebounce" byteoffset="1288" vartype="VAR" access="ReadWrite">
|
|
<Comment>used to add some some freefall to the ingredient fill</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
<TypeUserDef name="T_atMultiTeAvg" size="2808" nativesize="176" typeclass="Userdef" pouclass="FUNCTION_BLOCK" iecname="atMultiTeAvg">
|
|
<UserDefElement iecname="te1" type="T_atTeAI" byteoffset="0" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="te2" type="T_atTeAI" byteoffset="692" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="te3" type="T_atTeAI" byteoffset="1384" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="te4" type="T_atTeAI" byteoffset="2076" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="in_titleIDXd" type="T_REAL" byteoffset="2768" vartype="VAR_INPUT" access="ReadWrite" />
|
|
<UserDefElement iecname="out_eu" type="T_REAL" byteoffset="2772" vartype="VAR_OUTPUT" access="ReadWrite">
|
|
<Comment>Filtered output temperature</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="use1" type="T_BOOL" byteoffset="2776" vartype="VAR" access="ReadWrite">
|
|
<Comment>Use Sensor 1</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="use2" type="T_BOOL" byteoffset="2777" vartype="VAR" access="ReadWrite">
|
|
<Comment>Use Sensor 2</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="use3" type="T_BOOL" byteoffset="2778" vartype="VAR" access="ReadWrite">
|
|
<Comment>Use Sensor 3</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="use4" type="T_BOOL" byteoffset="2779" vartype="VAR" access="ReadWrite">
|
|
<Comment>Use Sensor 4</Comment>
|
|
</UserDefElement>
|
|
<UserDefElement iecname="te1_eu" type="T_REAL" byteoffset="2780" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="te2_eu" type="T_REAL" byteoffset="2784" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="te3_eu" type="T_REAL" byteoffset="2788" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="te4_eu" type="T_REAL" byteoffset="2792" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="validCount" type="T_REAL" byteoffset="2796" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="sum" type="T_REAL" byteoffset="2800" vartype="VAR" access="ReadWrite" />
|
|
<UserDefElement iecname="lastVal" type="T_REAL" byteoffset="2804" vartype="VAR" access="ReadWrite">
|
|
<Comment>Last value</Comment>
|
|
</UserDefElement>
|
|
</TypeUserDef>
|
|
</TypeList>
|
|
<NodeList>
|
|
<Node name="Application">
|
|
<Node name="AlarmManager">
|
|
<Node name="AlarmGlobals">
|
|
<Comment> This GVL must be initialized before GVL "GloballyForAlarmStorage", because this GVL
|
|
causes the initialization of the variable g_stApplicationName.
|
|
We only need the date and time format pattern for the converted code, therefore
|
|
we can (and must!) omit the rest from conversion
|
|
We must not use an attribute to hide this GVL, because there are some variables,
|
|
that a developer might use. Additionally it is necessary, that this GVL in considered
|
|
in the data server, but not visible for the user, because some variables of this GVL
|
|
are added to the data source selection implicitely and for this purpose it is necessary,
|
|
that this GVL is a part of the available items tree.</Comment>
|
|
<Node name="g_diAlarmStateTransitionCounter" type="T_DINT" access="Read">
|
|
<Comment> A global counter, that counts all the alarm state transitions, that occur.
|
|
Needed by the alarm table for optimized painting. If this counter doesn't
|
|
change during subsequent paint calls, the same alarms have been active and
|
|
in the same state.
|
|
Conditional show attribute must not be present for this variable, because
|
|
some architectural problems it can lead in a not correct regitration
|
|
CHECKED_OMIT</Comment>
|
|
</Node>
|
|
<Node name="g_diAlarmStorageCounter" type="T_DINT" access="Read">
|
|
<Comment> A similar counter, that will be incremented each time an alarm is written
|
|
into the alarm storage. This allows the alarm table to detect, whether
|
|
some kind of processing has to be done, because there exists a new alarm.
|
|
Conditional show attribute must not be present for this variable, because
|
|
some architectural problems it can lead in a not correct regitration
|
|
CHECKED_OMIT</Comment>
|
|
</Node>
|
|
<Node name="g_iAlarmStorageClear" type="T_INT" access="Read">
|
|
<Comment> Counts the times when the alarm table has been deleted.
|
|
CHECKED_OMIT</Comment>
|
|
</Node>
|
|
</Node>
|
|
</Node>
|
|
<Node name="atActuatorVtPls">
|
|
<Node name="devices" type="T_atDeviceList" access="ReadWrite">
|
|
<Comment>List of all devices</Comment>
|
|
</Node>
|
|
</Node>
|
|
<Node name="atDevice">
|
|
<Node name="devices" type="T_atDeviceList" access="ReadWrite">
|
|
<Comment>List of all devices</Comment>
|
|
</Node>
|
|
</Node>
|
|
<Node name="atGadget">
|
|
<Node name="devices" type="T_atDeviceList" access="ReadWrite">
|
|
<Comment>List of all devices</Comment>
|
|
</Node>
|
|
</Node>
|
|
<Node name="atGH">
|
|
<Node name="aiIdx" type="T_INT" access="ReadWrite" />
|
|
<Node name="aiVis" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="almAck" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="almAckAll" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="almActive" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="almCount" type="T_REAL" access="ReadWrite" />
|
|
<Node name="almHist" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="almScrollFrz" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="cycleActive" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="datacalEmty" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="datacalFull" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="dataClear" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="diIdx" type="T_INT" access="ReadWrite" />
|
|
<Node name="diVis" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="dqIdx" type="T_INT" access="ReadWrite" />
|
|
<Node name="dqVis" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="frameIDX" type="T_INT" access="ReadWrite" />
|
|
<Node name="idx" type="T_INT" access="ReadWrite" />
|
|
<Node name="litertoGalUnit" type="T_litertoGalUnitType" access="ReadWrite" />
|
|
<Node name="pageIDX" type="T_INT" access="ReadWrite" />
|
|
<Node name="passwrd" type="T_STRING" access="ReadWrite" />
|
|
<Node name="passwrdacpt" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="selecAI_IOIdx" type="T_INT" access="ReadWrite" />
|
|
<Node name="selecDi_IOIdx" type="T_INT" access="ReadWrite" />
|
|
<Node name="selecDQ_IOIdx" type="T_INT" access="ReadWrite" />
|
|
<Node name="selectStageIdx" type="T_INT" access="ReadWrite">
|
|
<Comment> For dialog box selection</Comment>
|
|
</Node>
|
|
<Node name="settings" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="srvcRmCtl" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="temperatureUnit" type="T_TemperatureUnitTypes" access="ReadWrite" />
|
|
<Node name="tzSet" type="T_atTZss" access="ReadWrite" />
|
|
<Node name="user" type="T_STRING" access="ReadWrite" />
|
|
<Node name="weightcal" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="weightUnit" type="T_WeightUnitType" access="ReadWrite" />
|
|
</Node>
|
|
<Node name="atGVL">
|
|
<Node name="hmiReset" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="reset" type="T_BOOL" access="ReadWrite">
|
|
<Comment> Alarm reset</Comment>
|
|
</Node>
|
|
<Node name="simEn" type="T_BOOL" access="ReadWrite">
|
|
<Comment> Enable simulator mode</Comment>
|
|
</Node>
|
|
<Node name="TODsettings" type="T_atTODSettings" access="ReadWrite">
|
|
<Comment>atTOD settings</Comment>
|
|
</Node>
|
|
<Node name="ver" type="T_atVersion" access="ReadWrite">
|
|
<Comment>Project Version</Comment>
|
|
</Node>
|
|
</Node>
|
|
<Node name="atMachine">
|
|
<Node name="devices" type="T_atDeviceList" access="ReadWrite">
|
|
<Comment>List of all devices</Comment>
|
|
</Node>
|
|
</Node>
|
|
<Node name="Feed">
|
|
<Node name="augerRun" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="augerRunTMR" type="T_TON" access="ReadWrite" />
|
|
<Node name="augerRunTMRset" type="T_RS" access="ReadWrite" />
|
|
<Node name="augerSet" type="T_RS" access="ReadWrite" />
|
|
<Node name="augerStartCnt" type="T_INT" access="ReadWrite" />
|
|
<Node name="augerStop" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="augStrtTrig" type="T_R_TRIG" access="ReadWrite" />
|
|
<Node name="in_augerEn" type="T_BOOL" access="ReadWrite">
|
|
<Comment>Auger enable</Comment>
|
|
</Node>
|
|
<Node name="in_augerOffDLY" type="T_DINT" access="ReadWrite" />
|
|
<Node name="in_augerOnDLY" type="T_DINT" access="ReadWrite" />
|
|
<Node name="in_augerRunTim" type="T_DINT" access="ReadWrite" />
|
|
<Node name="ingredients" type="T_ARRAY__0__2__OF_atIngredient" access="ReadWrite" />
|
|
<Node name="mixer" type="T_atMixerControl" access="ReadWrite" />
|
|
<Node name="out_wheatRate" type="T_REAL" access="ReadWrite">
|
|
<Comment>Wheat mix ration in percent (0-100)</Comment>
|
|
</Node>
|
|
<Node name="wheatCurve" type="T_atCurveREAL" access="ReadWrite" />
|
|
</Node>
|
|
<Node name="g">
|
|
<Node name="birdAge" type="T_DINT" access="ReadWrite">
|
|
<Comment>System</Comment>
|
|
</Node>
|
|
<Node name="birdSclLc" type="T_atLoadCell" access="ReadWrite" />
|
|
<Node name="chimFanVar" type="T_atAQ" access="ReadWrite" />
|
|
<Node name="circEn" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="circFan1_2Var" type="T_atAQ" access="ReadWrite" />
|
|
<Node name="circFan3_4Var" type="T_atAQ" access="ReadWrite" />
|
|
<Node name="crossAuger" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="crossAugerLimit" type="T_atDI" access="ReadWrite" />
|
|
<Node name="fan1_36N" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="fan2_36S" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="fan3_48N" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="fan4_48S" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="fdLn1" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="fdLn2" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="fdLn3" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="fdVlv1" type="T_atDQ" access="ReadWrite">
|
|
<Comment>Dq's</Comment>
|
|
</Node>
|
|
<Node name="fdVlv2" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="fdVlv3" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="fdVlv4" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="fdWghLc" type="T_atLoadCell" access="ReadWrite" />
|
|
<Node name="feedAuger1" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="feedMixEmpty" type="T_atDI" access="ReadWrite" />
|
|
<Node name="feedMixFull" type="T_atDI" access="ReadWrite" />
|
|
<Node name="feedWghDump" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="fv1Close" type="T_atDI" access="ReadWrite" />
|
|
<Node name="fv1Open" type="T_atDI" access="ReadWrite">
|
|
<Comment>DI's</Comment>
|
|
</Node>
|
|
<Node name="fv2Close" type="T_atDI" access="ReadWrite" />
|
|
<Node name="fv2Open" type="T_atDI" access="ReadWrite" />
|
|
<Node name="fv3Close" type="T_atDI" access="ReadWrite" />
|
|
<Node name="fv3Open" type="T_atDI" access="ReadWrite" />
|
|
<Node name="fv4Close" type="T_atDI" access="ReadWrite" />
|
|
<Node name="fv4Open" type="T_atDI" access="ReadWrite" />
|
|
<Node name="heat" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="humidity" type="T_atAI" access="ReadWrite">
|
|
<Comment>AI</Comment>
|
|
</Node>
|
|
<Node name="humidityCtl" type="T_atStage" access="ReadWrite">
|
|
<Comment>Humidity Control</Comment>
|
|
</Node>
|
|
<Node name="inletCtl" type="T_atInletCntrl" access="ReadWrite">
|
|
<Comment>Inlet Conrol</Comment>
|
|
</Node>
|
|
<Node name="lightClock" type="T_atLightClock" access="ReadWrite">
|
|
<Comment>Light Control</Comment>
|
|
</Node>
|
|
<Node name="lightDimmer" type="T_atAQ" access="ReadWrite">
|
|
<Comment>AQ</Comment>
|
|
</Node>
|
|
<Node name="lights" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="mortality" type="T_atMortality" access="ReadWrite">
|
|
<Comment>Mortality</Comment>
|
|
</Node>
|
|
<Node name="outTemp" type="T_atTeAI" access="ReadWrite" />
|
|
<Node name="pitFanN" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="pitFanVar" type="T_atAQ" access="ReadWrite" />
|
|
<Node name="pwrFailureLine" type="T_atDI" access="ReadWrite" />
|
|
<Node name="pwrFailureUPS" type="T_atDI" access="ReadWrite" />
|
|
<Node name="runTMRReset" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="stageCtl" type="T_atStageCtl" access="ReadWrite">
|
|
<Comment>Stage Control</Comment>
|
|
</Node>
|
|
<Node name="staticPrs" type="T_atAI" access="ReadWrite" />
|
|
<Node name="sumInletClose" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="sumInletDamper" type="T_atActuatorVtPls" access="ReadWrite">
|
|
<Comment>Devices</Comment>
|
|
</Node>
|
|
<Node name="sumInletOpen" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="teCurve" type="T_atTemperatureCurve" access="ReadWrite">
|
|
<Comment>Temperature Control</Comment>
|
|
</Node>
|
|
<Node name="temp" type="T_atMultiTeAvg" access="ReadWrite" />
|
|
<Node name="temp1" type="T_atTeAI" access="ReadWrite" />
|
|
<Node name="temp2" type="T_atTeAI" access="ReadWrite" />
|
|
<Node name="versionNum" type="T_STRING" access="ReadWrite" />
|
|
<Node name="water" type="T_atAI" access="ReadWrite" />
|
|
<Node name="waterMtr" type="T_atHSC" access="ReadWrite" />
|
|
<Node name="waterPressBlw" type="T_atDI" access="ReadWrite" />
|
|
<Node name="waterSol" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="wheatCurveData" type="T_ARRAY__0__9__OF_atCurveREALData" access="ReadWrite">
|
|
<Comment>Wheat curve data</Comment>
|
|
</Node>
|
|
<Node name="wheatCurveKeys" type="T_ARRAY__0__9__OF_atCurveKey" access="ReadWrite">
|
|
<Comment>Wheat curve base</Comment>
|
|
</Node>
|
|
<Node name="winInletClose" type="T_atDQ" access="ReadWrite" />
|
|
<Node name="winInletDamper" type="T_atActuatorVtPls" access="ReadWrite" />
|
|
<Node name="winInletOpen" type="T_atDQ" access="ReadWrite" />
|
|
</Node>
|
|
<Node name="Heat">
|
|
<Node name="HHTEalm" type="T_REAL" access="ReadWrite" />
|
|
<Node name="in_heatoffset" type="T_REAL" access="ReadWrite" />
|
|
<Node name="in_highTeAlmOffset" type="T_REAL" access="ReadWrite" />
|
|
<Node name="in_humidityoffset" type="T_REAL" access="ReadWrite" />
|
|
<Node name="in_lowTeAlmOffset" type="T_REAL" access="ReadWrite" />
|
|
<Node name="in_outsideTeOffset" type="T_REAL" access="ReadWrite" />
|
|
<Node name="LLTEalm" type="T_REAL" access="ReadWrite" />
|
|
<Node name="tb1" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="tb2" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="tb3" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="tb4" type="T_BOOL" access="ReadWrite" />
|
|
</Node>
|
|
<Node name="History">
|
|
<Node name="clear" type="T_BOOL" access="ReadWrite">
|
|
<Comment>Clear all log</Comment>
|
|
</Node>
|
|
<Node name="dataLoaded" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="DateTimeULINT" type="T_ULINT" access="ReadWrite" />
|
|
<Node name="day" type="T_INT" access="ReadWrite">
|
|
<Comment>day value for log</Comment>
|
|
</Node>
|
|
<Node name="deadTd" type="T_atHistDint" access="ReadWrite">
|
|
<Comment>Daily Dead Record</Comment>
|
|
</Node>
|
|
<Node name="hist" type="T_atHistData" access="ReadWrite" />
|
|
<Node name="hop1" type="T_atHistReal" access="ReadWrite">
|
|
<Comment>Hopper 1 Total</Comment>
|
|
</Node>
|
|
<Node name="hop2" type="T_atHistReal" access="ReadWrite">
|
|
<Comment>Hopper 2 Total </Comment>
|
|
</Node>
|
|
<Node name="hop3" type="T_atHistReal" access="ReadWrite">
|
|
<Comment>Hopper 3 Total </Comment>
|
|
</Node>
|
|
<Node name="hu" type="T_atHistRealAggregate" access="ReadWrite">
|
|
<Comment>Humidity log</Comment>
|
|
</Node>
|
|
<Node name="i" type="T_INT" access="ReadWrite" />
|
|
<Node name="mortRatio" type="T_atHistReal" access="ReadWrite">
|
|
<Comment>Mortality %</Comment>
|
|
</Node>
|
|
<Node name="remainTd" type="T_atHistDint" access="ReadWrite">
|
|
<Comment>Daily Remaining after Deads</Comment>
|
|
</Node>
|
|
<Node name="result" type="T_Util_RTS_IEC_RESULT" access="ReadWrite" />
|
|
<Node name="rtc" type="T_Util_SYSTIMEDATE" access="ReadWrite" />
|
|
<Node name="shiftTrig" type="T_R_TRIG" access="ReadWrite" />
|
|
<Node name="te" type="T_atHistRealAggregate" access="ReadWrite">
|
|
<Comment>Temperature log</Comment>
|
|
</Node>
|
|
<Node name="totalDead" type="T_atHistDint" access="ReadWrite">
|
|
<Comment>Total Dead not Including Today</Comment>
|
|
</Node>
|
|
<Node name="totalFeed" type="T_atHistReal" access="ReadWrite">
|
|
<Comment>Feed usage log</Comment>
|
|
</Node>
|
|
<Node name="water" type="T_atHistDint" access="ReadWrite">
|
|
<Comment>Water usage log</Comment>
|
|
</Node>
|
|
</Node>
|
|
<Node name="Stages">
|
|
<Node name="chimFan" type="T_REAL" access="ReadWrite" />
|
|
<Node name="chimFanHu" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="chimFanRun" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="circFan1_2" type="T_REAL" access="ReadWrite" />
|
|
<Node name="circFan1_2Hu" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="circFan1_2Run" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="circFan3_4" type="T_REAL" access="ReadWrite" />
|
|
<Node name="circFan3_4Hu" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="circFan3_4Run" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="fan1_36NRun" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="fan2_36SRun" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="fan3_48NRun" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="fan4_48SRun" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="heatHumCtl" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="heatStgCtl" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="lastHu" type="T_REAL" access="ReadWrite" />
|
|
<Node name="pitFan" type="T_REAL" access="ReadWrite" />
|
|
<Node name="pitFanHu" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="pitFanRun" type="T_BOOL" access="ReadWrite" />
|
|
</Node>
|
|
<Node name="System">
|
|
<Node name="alm" type="T_ARRAY__0__27__OF_BOOL" access="ReadWrite" />
|
|
<Node name="dataReset" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="i" type="T_INT" access="ReadWrite" />
|
|
<Node name="out_activeAlmCnt" type="T_REAL" access="ReadWrite" />
|
|
<Node name="reset" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="resetLatch" type="T_RS" access="ReadWrite" />
|
|
<Node name="resetRst" type="T_TON" access="ReadWrite" />
|
|
<Node name="resetTMR" type="T_TON" access="ReadWrite" />
|
|
</Node>
|
|
<Node name="Water">
|
|
<Node name="highFlow" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="highFlowTMR" type="T_TON" access="ReadWrite" />
|
|
<Node name="in_highFlowRate" type="T_REAL" access="ReadWrite" />
|
|
<Node name="in_highFlowTim" type="T_DINT" access="ReadWrite" />
|
|
<Node name="out_HighFlowALM" type="T_BOOL" access="ReadWrite" />
|
|
<Node name="out_waterGal" type="T_REAL" access="ReadWrite">
|
|
<Comment>For the graph on atom HMI</Comment>
|
|
</Node>
|
|
<Node name="out_waterGPM" type="T_REAL" access="ReadWrite">
|
|
<Comment>For the graph on atom HMI</Comment>
|
|
</Node>
|
|
</Node>
|
|
</Node>
|
|
</NodeList>
|
|
</Symbolconfiguration> |