337 lines
437 KiB
XML
337 lines
437 KiB
XML
<?xml version="1.0" encoding="utf-8"?><TcModuleClass xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2009/05/TcModuleClass" Hash="{04F4629B-B86A-5048-9DC5-4396BFF594C8}" GeneratedBy="TwinCAT XAE Plc"><DataTypes><DataType><Name GUID="{6F5942ED-BFA1-497D-8225-23C6DAAD0A09}" TcBaseType="true">ST_LibVersion</Name><BitSize>288</BitSize><SubItem><Name>iMajor</Name><Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type><BitSize>16</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>iMinor</Name><Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type><BitSize>16</BitSize><BitOffs>16</BitOffs></SubItem><SubItem><Name>iBuild</Name><Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type><BitSize>16</BitSize><BitOffs>32</BitOffs></SubItem><SubItem><Name>iRevision</Name><Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type><BitSize>16</BitSize><BitOffs>48</BitOffs></SubItem><SubItem><Name>nFlags</Name><Type GUID="{18071995-0000-0000-0000-000000000007}">DWORD</Type><BitSize>32</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>sVersion</Name><Type GUID="{18071995-0000-0000-0000-000100000017}">STRING(23)</Type><BitSize>192</BitSize><BitOffs>96</BitOffs></SubItem></DataType><DataType><Name Namespace="Tc2_System">E_WATCHDOG_TIME_CONFIG</Name><BitSize>16</BitSize><BaseType>INT</BaseType><EnumInfo><Text>eWATCHDOG_TIME_DISABLED</Text><Enum>0</Enum></EnumInfo><EnumInfo><Text>eWATCHDOG_TIME_SECONDS</Text><Enum>1</Enum></EnumInfo><EnumInfo><Text>eWATCHDOG_TIME_MINUTES</Text><Enum>2</Enum></EnumInfo></DataType><DataType><Name>INT (2..100)</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>LowerBorder</Name><Value>2</Value></Property><Property><Name>UpperBorder</Name><Value>100</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.Tc2_Utilities">E_HashPrefixTypes</Name><Comment><![CDATA[ Integer to string format prefixes ]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><EnumInfo><Text>HASHPREFIX_IEC</Text><Enum>0</Enum><Comment><![CDATA[ 2#, 8#, 16# ]]></Comment></EnumInfo><EnumInfo><Text>HASHPREFIX_STDC</Text><Enum>1</Enum><Comment><![CDATA[ 0 for octal type, 0x, 0X for hex else none ]]></Comment></EnumInfo></DataType><DataType><Name Namespace="BaseLib.Tc2_Utilities">E_SBCSType</Name><Comment><![CDATA[ Windows SBCS (Single Byte Character Set) Code Pages ]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><EnumInfo><Text>eSBCS_WesternEuropean</Text><Enum>1</Enum><Comment><![CDATA[ Windows 1252 (default) ]]></Comment></EnumInfo><EnumInfo><Text>eSBCS_CentralEuropean</Text><Enum>2</Enum><Comment><![CDATA[ Windows 1251 ]]></Comment></EnumInfo></DataType><DataType><Name Namespace="Tc2_System">T_AmsNetID</Name><Comment><![CDATA[ TwinCAT AMS netID address string. ]]></Comment><BitSize>192</BitSize><BaseType>STRING(23)</BaseType></DataType><DataType><Name Namespace="BaseLib.Tc2_Utilities">E_RouteTransportType</Name><Comment><![CDATA[ TwinCAT route transport types ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><EnumInfo><Text>eRouteTransport_None</Text><Enum>0</Enum></EnumInfo><EnumInfo><Text>eRouteTransport_TCP_IP</Text><Enum>1</Enum></EnumInfo><EnumInfo><Text>eRouteTransport_IIO_LIGHTBUS</Text><Enum>2</Enum></EnumInfo><EnumInfo><Text>eRouteTransport_PROFIBUS_DP</Text><Enum>3</Enum></EnumInfo><EnumInfo><Text>eRouteTransport_PCI_ISA_BUS</Text><Enum>4</Enum></EnumInfo><EnumInfo><Text>eRouteTransport_ADS_UDP</Text><Enum>5</Enum></EnumInfo><EnumInfo><Text>eRouteTransport_FATP_UDP</Text><Enum>6</Enum></EnumInfo><EnumInfo><Text>eRouteTransport_COM_PORT</Text><Enum>7</Enum></EnumInfo><EnumInfo><Text>eRouteTransport_USB</Text><Enum>8</Enum></EnumInfo><EnumInfo><Text>eRouteTransport_CAN_OPEN</Text><Enum>9</Enum></EnumInfo><EnumInfo><Text>eRouteTransport_DEVICE_NET</Text><Enum>10</Enum></EnumInfo><EnumInfo><Text>eRouteTransport_SSB</Text><Enum>11</Enum></EnumInfo><EnumInfo><Text>eRouteTransport_SOAP</Text><Enum>12</Enum></EnumInfo></DataType><DataType><Name Namespace="BaseLib.Tc2_Utilities">ST_AmsRouteEntry</Name><Comment><![CDATA[ TwinCAT AMS route entry struct ]]></Comment><BitSize>1184</BitSize><SubItem><Name>sName</Name><Type>STRING(31)</Type><Comment><![CDATA[ String containing route name ]]></Comment><BitSize>256</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>sNetID</Name><Type Namespace="Tc2_System">T_AmsNetID</Type><Comment><![CDATA[ TwinCAT network address (ams net id) ]]></Comment><BitSize>192</BitSize><BitOffs>256</BitOffs></SubItem><SubItem><Name>sAddress</Name><Type>STRING(79)</Type><Comment><![CDATA[ String containing route network Ipv4 address or host name. ]]></Comment><BitSize>640</BitSize><BitOffs>448</BitOffs></SubItem><SubItem><Name>eTransport</Name><Type Namespace="BaseLib.Tc2_Utilities">E_RouteTransportType</Type><Comment><![CDATA[ Route transport type ]]></Comment><BitSize>16</BitSize><BitOffs>1088</BitOffs></SubItem><SubItem><Name>tTimeout</Name><Type>TIME</Type><Comment><![CDATA[ Route timeout ]]></Comment><BitSize>32</BitSize><BitOffs>1120</BitOffs></SubItem><SubItem><Name>dwFlags</Name><Type>DWORD</Type><Comment><![CDATA[ Additional flags ]]></Comment><BitSize>32</BitSize><BitOffs>1152</BitOffs></SubItem></DataType><DataType><Name Namespace="BaseLib.Tc2_Utilities">E_ArgType</Name><Comment><![CDATA[ String format functions/fb's argument types ]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><EnumInfo><Text>ARGTYPE_UNKNOWN</Text><Enum>0</Enum></EnumInfo><EnumInfo><Text>ARGTYPE_BYTE</Text><Enum>1</Enum></EnumInfo><EnumInfo><Text>ARGTYPE_WORD</Text><Enum>2</Enum></EnumInfo><EnumInfo><Text>ARGTYPE_DWORD</Text><Enum>3</Enum></EnumInfo><EnumInfo><Text>ARGTYPE_REAL</Text><Enum>4</Enum></EnumInfo><EnumInfo><Text>ARGTYPE_LREAL</Text><Enum>5</Enum></EnumInfo><EnumInfo><Text>ARGTYPE_SINT</Text><Enum>6</Enum></EnumInfo><EnumInfo><Text>ARGTYPE_INT</Text><Enum>7</Enum></EnumInfo><EnumInfo><Text>ARGTYPE_DINT</Text><Enum>8</Enum></EnumInfo><EnumInfo><Text>ARGTYPE_USINT</Text><Enum>9</Enum></EnumInfo><EnumInfo><Text>ARGTYPE_UINT</Text><Enum>10</Enum></EnumInfo><EnumInfo><Text>ARGTYPE_UDINT</Text><Enum>11</Enum></EnumInfo><EnumInfo><Text>ARGTYPE_STRING</Text><Enum>12</Enum><Comment><![CDATA[ string of type T_MaxString! ]]></Comment></EnumInfo><EnumInfo><Text>ARGTYPE_BOOL</Text><Enum>13</Enum></EnumInfo><EnumInfo><Text>ARGTYPE_BIGTYPE</Text><Enum>14</Enum><Comment><![CDATA[ byte buffer ]]></Comment></EnumInfo><EnumInfo><Text>ARGTYPE_ULARGE</Text><Enum>15</Enum><Comment><![CDATA[ unsigned 64 bit ingeger (T_ULARGE_INTEGER, ULINT) ]]></Comment></EnumInfo><EnumInfo><Text>ARGTYPE_UHUGE</Text><Enum>16</Enum><Comment><![CDATA[ unsigned 128 bit integer (T_UHUGE_INTEGER) ]]></Comment></EnumInfo><EnumInfo><Text>ARGTYPE_LARGE</Text><Enum>17</Enum><Comment><![CDATA[ signed 64 bit integer (T_LARGE_INTEGER, LINT) ]]></Comment></EnumInfo><EnumInfo><Text>ARGTYPE_HUGE</Text><Enum>18</Enum><Comment><![CDATA[ signed 128 bit integer (T_HUGE_INTEGER) ]]></Comment></EnumInfo><EnumInfo><Text>ARGTYPE_LWORD</Text><Enum>19</Enum><Comment><![CDATA[ LWORD value]]></Comment></EnumInfo></DataType><DataType><Name Namespace="BaseLib.Tc2_Utilities">T_Arg</Name><Comment><![CDATA[ Argument type ]]></Comment><BitSize>128</BitSize><SubItem><Name>eType</Name><Type Namespace="BaseLib.Tc2_Utilities">E_ArgType</Type><Comment><![CDATA[ Argument data type ]]></Comment><BitSize>16</BitSize><BitOffs>0</BitOffs><Default><EnumText>E_ArgType.ARGTYPE_UNKNOWN</EnumText></Default></SubItem><SubItem><Name>cbLen</Name><Type>UDINT</Type><Comment><![CDATA[ Argument data byte length (if eType = ARGTYPE_STRING => cbLen = length of string + 1 (null delimiter). ]]></Comment><BitSize>32</BitSize><BitOffs>32</BitOffs><Default><Value>0</Value></Default></SubItem><SubItem><Name>pData</Name><Type GUID="{18071995-0000-0000-0000-000000000018}">PVOID</Type><Comment><![CDATA[ Pointer to first argument data byte ]]></Comment><BitSize>64</BitSize><BitOffs>64</BitOffs><Default><Value>0</Value></Default></SubItem></DataType><DataType><Name Namespace="BaseLib.Tc2_Utilities">T_ULARGE_INTEGER</Name><Comment><![CDATA[ 64 bit unsigned integer ]]></Comment><BitSize>64</BitSize><SubItem><Name>dwLowPart</Name><Type>DWORD</Type><Comment><![CDATA[ Lower double word ]]></Comment><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>dwHighPart</Name><Type>DWORD</Type><Comment><![CDATA[ Higher double word ]]></Comment><BitSize>32</BitSize><BitOffs>32</BitOffs></SubItem></DataType><DataType><Name Namespace="BaseLib.Tc2_Utilities">TIMESTRUCT</Name><Comment><![CDATA[ System Time Structure ]]></Comment><BitSize>128</BitSize><SubItem><Name>wYear</Name><Type>WORD</Type><Comment><![CDATA[ Year: 1970..2106 ]]></Comment><BitSize>16</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>wMonth</Name><Type>WORD</Type><Comment><![CDATA[ Month: 1..12 (January = 1, February = 2 and so on) ]]></Comment><BitSize>16</BitSize><BitOffs>16</BitOffs></SubItem><SubItem><Name>wDayOfWeek</Name><Type>WORD</Type><Comment><![CDATA[ Day of the week: 0..6 (Sunday = 0, Monday = 1, .. , Saturday = 6 and so on) ]]></Comment><BitSize>16</BitSize><BitOffs>32</BitOffs></SubItem><SubItem><Name>wDay</Name><Type>WORD</Type><Comment><![CDATA[ Day of the month: 1..31 ]]></Comment><BitSize>16</BitSize><BitOffs>48</BitOffs></SubItem><SubItem><Name>wHour</Name><Type>WORD</Type><Comment><![CDATA[ Hour: 0..23 ]]></Comment><BitSize>16</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>wMinute</Name><Type>WORD</Type><Comment><![CDATA[ Minute: 0..59 ]]></Comment><BitSize>16</BitSize><BitOffs>80</BitOffs></SubItem><SubItem><Name>wSecond</Name><Type>WORD</Type><Comment><![CDATA[ Second: 0..59 ]]></Comment><BitSize>16</BitSize><BitOffs>96</BitOffs></SubItem><SubItem><Name>wMilliseconds</Name><Type>WORD</Type><Comment><![CDATA[ Milliseconds: 0..999 ]]></Comment><BitSize>16</BitSize><BitOffs>112</BitOffs></SubItem></DataType><DataType><Name Namespace="BaseLib.Tc2_Utilities">ST_TimeZoneInformation</Name><BitSize>864</BitSize><SubItem><Name>bias</Name><Type>DINT</Type><Comment><![CDATA[ Specifies the current bias, in minutes, for local time translation on this computer.
|
|
The bias is the difference, in minutes, between Coordinated Universal Time (UTC) and local time.
|
|
UTC = local time + bias ]]></Comment><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>standardName</Name><Type>STRING(31)</Type><Comment><![CDATA[ Specifies a null-terminated string associated with standard time
|
|
on this operating system. ]]></Comment><BitSize>256</BitSize><BitOffs>32</BitOffs></SubItem><SubItem><Name>standardDate</Name><Type Namespace="BaseLib.Tc2_Utilities">TIMESTRUCT</Type><Comment><![CDATA[Specifies a SYSTEMTIME structure that contains a date and local time when the
|
|
transition from daylight saving time to standard time occurs on this operating system.]]></Comment><BitSize>128</BitSize><BitOffs>288</BitOffs></SubItem><SubItem><Name>standardBias</Name><Type>DINT</Type><Comment><![CDATA[ Specifies a bias value to be used during local time translations that occur during standard time. ]]></Comment><BitSize>32</BitSize><BitOffs>416</BitOffs></SubItem><SubItem><Name>daylightName</Name><Type>STRING(31)</Type><Comment><![CDATA[ Specifies a null-terminated string associated with daylight saving time on this operating system.
|
|
For example, this member could contain "PDT" to indicate Pacific Daylight Time.]]></Comment><BitSize>256</BitSize><BitOffs>448</BitOffs></SubItem><SubItem><Name>daylightDate</Name><Type Namespace="BaseLib.Tc2_Utilities">TIMESTRUCT</Type><Comment><![CDATA[ Specifies a SYSTEMTIME structure that contains a date and local time when the transition
|
|
from standard time to daylight saving time occurs on this operating system. ]]></Comment><BitSize>128</BitSize><BitOffs>704</BitOffs></SubItem><SubItem><Name>daylightBias</Name><Type>DINT</Type><Comment><![CDATA[ Specifies a bias value to be used during local time translations that occur during daylight saving time. ]]></Comment><BitSize>32</BitSize><BitOffs>832</BitOffs></SubItem></DataType><DataType><Name GUID="{B57D3F4A-0836-49B0-81C3-BED5F4817EC9}" TcBaseType="true" CName="TcEventSeverity*" RemovableEnumPrefix="TCEVENTSEVERITY_">TcEventSeverity</Name><BitSize>16</BitSize><BaseType GUID="{18071995-0000-0000-0000-000000000006}">INT</BaseType><EnumInfo><Text><![CDATA[TCEVENTSEVERITY_Verbose]]></Text><Enum>0</Enum></EnumInfo><EnumInfo><Text><![CDATA[TCEVENTSEVERITY_Info]]></Text><Enum>1</Enum></EnumInfo><EnumInfo><Text><![CDATA[TCEVENTSEVERITY_Warning]]></Text><Enum>2</Enum></EnumInfo><EnumInfo><Text><![CDATA[TCEVENTSEVERITY_Error]]></Text><Enum>3</Enum></EnumInfo><EnumInfo><Text><![CDATA[TCEVENTSEVERITY_Critical]]></Text><Enum>4</Enum></EnumInfo><Properties><Property><Name>plcAttribute_qualified_only</Name></Property><Property><Name>plcAttribute_strict</Name></Property></Properties><Hides><Hide GUID="{777FF09F-0B00-4AF2-BD7C-C1E2CE4A0947}" /><Hide GUID="{EC3C119D-4FEC-4197-96FB-DAE1B7C403FB}" /></Hides></DataType><DataType><Name GUID="{F00C83AD-DEC8-486E-AE99-5E0A75C26DE0}" TcBaseType="true" CName="TcEventEntry*">TcEventEntry</Name><BitSize>192</BitSize><SubItem><Name>uuidEventClass</Name><Type GUID="{18071995-0000-0000-0000-000000000021}">GUID</Type><BitSize>128</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>nEventId</Name><Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type><BitSize>32</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>eSeverity</Name><Type GUID="{B57D3F4A-0836-49B0-81C3-BED5F4817EC9}">TcEventSeverity</Type><BitSize>16</BitSize><BitOffs>160</BitOffs></SubItem></DataType><DataType><Name>UDINT (81..10000)</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Properties><Property><Name>LowerBorder</Name><Value>81</Value></Property><Property><Name>UpperBorder</Name><Value>10000</Value></Property></Properties></DataType><DataType><Name Namespace="Tc2_System">T_MaxString</Name><Comment><![CDATA[ TwinCAT PLC string of max. length of 255 bytes + 1 byte null delimiter. ]]></Comment><BitSize>2048</BitSize><BaseType>STRING(255)</BaseType></DataType><DataType><Name Namespace="Tc2_Standard">TOF</Name><BitSize>256</BitSize><SubItem><Name>IN</Name><Type>BOOL</Type><Comment><![CDATA[ starts timer with falling edge, resets timer with rising edge ]]></Comment><BitSize>8</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>PT</Name><Type>TIME</Type><Comment><![CDATA[ time to pass, before Q is set ]]></Comment><BitSize>32</BitSize><BitOffs>96</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>Q</Name><Type>BOOL</Type><Comment><![CDATA[ is FALSE, PT seconds after IN had a falling edge ]]></Comment><BitSize>8</BitSize><BitOffs>128</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>ET</Name><Type>TIME</Type><Comment><![CDATA[ elapsed time ]]></Comment><BitSize>32</BitSize><BitOffs>160</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>M</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>192</BitOffs></SubItem><SubItem><Name>StartTime</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>224</BitOffs></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestSuites)</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Properties><Property><Name>LowerBorder</Name><Value>0</Value></Property><Property><Name>UpperBorder</Name><Value>1000</Value></Property></Properties></DataType><DataType><Name>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Properties><Property><Name>LowerBorder</Name><Value>0</Value></Property><Property><Name>UpperBorder</Name><Value>100</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">E_AssertionType</Name><BitSize>8</BitSize><BaseType>BYTE</BaseType><EnumInfo><Text>Type_UNDEFINED</Text><Enum>0</Enum></EnumInfo><EnumInfo><Text>Type_ANY</Text><Enum>1</Enum></EnumInfo><EnumInfo><Text>Type_BOOL</Text><Enum>2</Enum><Comment><![CDATA[ Primitive types ]]></Comment></EnumInfo><EnumInfo><Text>Type_BYTE</Text><Enum>3</Enum></EnumInfo><EnumInfo><Text>Type_DATE</Text><Enum>4</Enum></EnumInfo><EnumInfo><Text>Type_DATE_AND_TIME</Text><Enum>5</Enum></EnumInfo><EnumInfo><Text>Type_DINT</Text><Enum>6</Enum></EnumInfo><EnumInfo><Text>Type_DWORD</Text><Enum>7</Enum></EnumInfo><EnumInfo><Text>Type_INT</Text><Enum>8</Enum></EnumInfo><EnumInfo><Text>Type_LINT</Text><Enum>9</Enum></EnumInfo><EnumInfo><Text>Type_LREAL</Text><Enum>10</Enum></EnumInfo><EnumInfo><Text>Type_LTIME</Text><Enum>11</Enum></EnumInfo><EnumInfo><Text>Type_LWORD</Text><Enum>12</Enum></EnumInfo><EnumInfo><Text>Type_REAL</Text><Enum>13</Enum></EnumInfo><EnumInfo><Text>Type_SINT</Text><Enum>14</Enum></EnumInfo><EnumInfo><Text>Type_STRING</Text><Enum>15</Enum></EnumInfo><EnumInfo><Text>Type_TIME</Text><Enum>16</Enum></EnumInfo><EnumInfo><Text>Type_TIME_OF_DAY</Text><Enum>17</Enum></EnumInfo><EnumInfo><Text>Type_UDINT</Text><Enum>18</Enum></EnumInfo><EnumInfo><Text>Type_UINT</Text><Enum>19</Enum></EnumInfo><EnumInfo><Text>Type_ULINT</Text><Enum>20</Enum></EnumInfo><EnumInfo><Text>Type_USINT</Text><Enum>21</Enum></EnumInfo><EnumInfo><Text>Type_WORD</Text><Enum>22</Enum></EnumInfo><EnumInfo><Text>Type_WSTRING</Text><Enum>23</Enum></EnumInfo><EnumInfo><Text>Type_Array2D_LREAL</Text><Enum>24</Enum><Comment><![CDATA[ Array types ]]></Comment></EnumInfo><EnumInfo><Text>Type_Array2D_REAL</Text><Enum>25</Enum></EnumInfo><EnumInfo><Text>Type_Array3D_LREAL</Text><Enum>26</Enum></EnumInfo><EnumInfo><Text>Type_Array3D_REAL</Text><Enum>27</Enum></EnumInfo><EnumInfo><Text>Type_Array_BOOL</Text><Enum>28</Enum></EnumInfo><EnumInfo><Text>Type_Array_BYTE</Text><Enum>29</Enum></EnumInfo><EnumInfo><Text>Type_Array_DINT</Text><Enum>30</Enum></EnumInfo><EnumInfo><Text>Type_Array_DWORD</Text><Enum>31</Enum></EnumInfo><EnumInfo><Text>Type_Array_INT</Text><Enum>32</Enum></EnumInfo><EnumInfo><Text>Type_Array_LINT</Text><Enum>33</Enum></EnumInfo><EnumInfo><Text>Type_Array_LREAL</Text><Enum>34</Enum></EnumInfo><EnumInfo><Text>Type_Array_LWORD</Text><Enum>35</Enum></EnumInfo><EnumInfo><Text>Type_Array_REAL</Text><Enum>36</Enum></EnumInfo><EnumInfo><Text>Type_Array_SINT</Text><Enum>37</Enum></EnumInfo><EnumInfo><Text>Type_Array_UDINT</Text><Enum>38</Enum></EnumInfo><EnumInfo><Text>Type_Array_UINT</Text><Enum>39</Enum></EnumInfo><EnumInfo><Text>Type_Array_ULINT</Text><Enum>40</Enum></EnumInfo><EnumInfo><Text>Type_Array_USINT</Text><Enum>41</Enum></EnumInfo><EnumInfo><Text>Type_Array_WORD</Text><Enum>42</Enum></EnumInfo><Properties><Property><Name>qualified_only</Name></Property><Property><Name>strict</Name></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">ST_TestCaseResult</Name><BitSize>6192</BitSize><SubItem><Name>TestName</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>TestClassName</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>2048</BitOffs></SubItem><SubItem><Name>TestIsFailed</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>4096</BitOffs></SubItem><SubItem><Name>TestIsSkipped</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>4104</BitOffs></SubItem><SubItem><Name>FailureMessage</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>4112</BitOffs></SubItem><SubItem><Name>FailureType</Name><Type Namespace="BaseLib.TcUnit">E_AssertionType</Type><BitSize>8</BitSize><BitOffs>6160</BitOffs></SubItem><SubItem><Name>NumberOfAsserts</Name><Type>UINT</Type><BitSize>16</BitSize><BitOffs>6176</BitOffs></SubItem></DataType><DataType><Name Namespace="BaseLib.TcUnit">ST_TestSuiteResult</Name><BitSize>621296</BitSize><SubItem><Name>Name</Name><Type Namespace="Tc2_System">T_MaxString</Type><Comment><![CDATA[ Full class name]]></Comment><BitSize>2048</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>Identity</Name><Type>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestSuites)</Type><Comment><![CDATA[ Should be 0..GVL_Param_TcUnit.MaxNumberOfTestSuites-1 but gives unknown compiler error]]></Comment><BitSize>16</BitSize><BitOffs>2048</BitOffs></SubItem><SubItem><Name>NumberOfTests</Name><Type>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Type><BitSize>16</BitSize><BitOffs>2064</BitOffs></SubItem><SubItem><Name>NumberOfFailedTests</Name><Type>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Type><BitSize>16</BitSize><BitOffs>2080</BitOffs></SubItem><SubItem><Name>TestCaseResults</Name><Type Namespace="BaseLib.TcUnit">ST_TestCaseResult</Type><ArrayInfo><LBound>1</LBound><Elements>100</Elements></ArrayInfo><BitSize>619200</BitSize><BitOffs>2096</BitOffs></SubItem></DataType><DataType><Name Namespace="BaseLib.TcUnit">ST_TestSuiteResults</Name><BitSize>621296064</BitSize><SubItem><Name>NumberOfTestSuites</Name><Type>UINT</Type><Comment><![CDATA[ The total number of test suites]]></Comment><BitSize>16</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>NumberOfTestCases</Name><Type>UINT</Type><Comment><![CDATA[ The total number of test cases (for all test suites)]]></Comment><BitSize>16</BitSize><BitOffs>16</BitOffs></SubItem><SubItem><Name>NumberOfSuccessfulTestCases</Name><Type>UINT</Type><Comment><![CDATA[ The total number of test cases that had all ASSERTS successful]]></Comment><BitSize>16</BitSize><BitOffs>32</BitOffs></SubItem><SubItem><Name>NumberOfFailedTestCases</Name><Type>UINT</Type><Comment><![CDATA[ The total number of test cases that had at least one ASSERT failed]]></Comment><BitSize>16</BitSize><BitOffs>48</BitOffs></SubItem><SubItem><Name>TestSuiteResults</Name><Type Namespace="BaseLib.TcUnit">ST_TestSuiteResult</Type><ArrayInfo><LBound>1</LBound><Elements>1000</Elements></ArrayInfo><Comment><![CDATA[ Test results for each individiual test suite ]]></Comment><BitSize>621296000</BitSize><BitOffs>64</BitOffs></SubItem></DataType><DataType><Name Namespace="BaseLib.TcUnit">I_TestResults</Name><BitSize>64</BitSize><ExtendsType GUID="{18071995-0000-0000-0000-000000000018}">PVOID</ExtendsType><Method><Name>GetAreTestResultsAvailable</Name><ReturnType>BOOL</ReturnType><ReturnBitSize>8</ReturnBitSize></Method><Method><Name>GetTestSuiteResults</Name><ReturnType Namespace="BaseLib.TcUnit" ReferenceTo="true">ST_TestSuiteResults</ReturnType><ReturnBitSize>64</ReturnBitSize></Method></DataType><DataType><Name>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Properties><Property><Name>LowerBorder</Name><Value>1</Value></Property><Property><Name>UpperBorder</Name><Value>1000</Value></Property></Properties></DataType><DataType><Name Namespace="Tc2_Standard">R_TRIG</Name><Comment><![CDATA[
|
|
Rising Edge detection.
|
|
]]></Comment><BitSize>128</BitSize><SubItem><Name>CLK</Name><Type>BOOL</Type><Comment><![CDATA[ Signal to detect ]]></Comment><BitSize>8</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>Q</Name><Type>BOOL</Type><Comment><![CDATA[ rising edge at signal detected ]]></Comment><BitSize>8</BitSize><BitOffs>72</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>M</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>80</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property><Property><Name>conditionalshow_all_locals</Name></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_TestResults</Name><Comment><![CDATA[ This function block holds results of the complete test run, i.e. results for all test suites ]]></Comment><BitSize>621296448</BitSize><Implements Namespace="BaseLib.TcUnit">I_TestResults</Implements><SubItem><Name>TestSuiteResults</Name><Type Namespace="BaseLib.TcUnit">ST_TestSuiteResults</Type><Comment><![CDATA[ Test results ]]></Comment><BitSize>621296064</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>StoringTestSuiteResultNumber</Name><Type>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)</Type><Comment><![CDATA[ Misc variables ]]></Comment><BitSize>16</BitSize><BitOffs>621296192</BitOffs></SubItem><SubItem><Name>StoringTestSuiteTrigger</Name><Type Namespace="Tc2_Standard">R_TRIG</Type><BitSize>128</BitSize><BitOffs>621296256</BitOffs></SubItem><SubItem><Name>StoredTestSuiteResults</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>621296384</BitOffs></SubItem><SubItem><Name>StoredGeneralTestResults</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>621296392</BitOffs></SubItem><SubItem><Name>NumberOfTestsToAnalyse</Name><Type>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)</Type><BitSize>16</BitSize><BitOffs>621296400</BitOffs></SubItem><Method><Name>GetAreTestResultsAvailable</Name><Comment><![CDATA[ Returns whether the storing of the test results is finished ]]></Comment><ReturnType>BOOL</ReturnType><ReturnBitSize>8</ReturnBitSize></Method><Method><Name>GetTestSuiteResults</Name><ReturnType Namespace="BaseLib.TcUnit" ReferenceTo="true">ST_TestSuiteResults</ReturnType><ReturnBitSize>64</ReturnBitSize></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">I_TestResultLogger</Name><BitSize>64</BitSize><ExtendsType GUID="{18071995-0000-0000-0000-000000000018}">PVOID</ExtendsType><Method><Name>LogTestSuiteResults</Name></Method></DataType><DataType><Name>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Properties><Property><Name>LowerBorder</Name><Value>1</Value></Property><Property><Name>UpperBorder</Name><Value>100</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_AdsTestResultLogger</Name><Comment><![CDATA[
|
|
This function block reports the results from the tests using the built-in ADSLOGSTR functionality
|
|
provided by the Tc2_System library. This sends the result using ADS, which is consumed by the "Error List"
|
|
of Visual Studio (which can print Errors, Warnings and Messages).
|
|
]]></Comment><BitSize>448</BitSize><Implements Namespace="BaseLib.TcUnit">I_TestResultLogger</Implements><SubItem><Name>TestResults</Name><Type Namespace="BaseLib.TcUnit">I_TestResults</Type><BitSize>64</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>PrintingTestSuiteResultNumber</Name><Type>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)</Type><BitSize>16</BitSize><BitOffs>192</BitOffs></SubItem><SubItem><Name>PrintingTestSuiteTrigger</Name><Type Namespace="Tc2_Standard">R_TRIG</Type><BitSize>128</BitSize><BitOffs>256</BitOffs></SubItem><SubItem><Name>PrintedFinalTestResults</Name><Type>BOOL</Type><Comment><![CDATA[ This flag is set once the final end result has printed ]]></Comment><BitSize>8</BitSize><BitOffs>384</BitOffs></SubItem><SubItem><Name>PrintedTestSuitesResults</Name><Type>BOOL</Type><Comment><![CDATA[ This flag is set once the test suites result have been printed ]]></Comment><BitSize>8</BitSize><BitOffs>392</BitOffs></SubItem><Method><Name>LogTestSuiteResults</Name><Local><Name>TcUnitTestResults</Name><Type Namespace="BaseLib.TcUnit" ReferenceTo="true">ST_TestSuiteResults</Type><BitSize>64</BitSize></Local><Local><Name>StringToPrint</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>TestsInTestSuiteCounter</Name><Type>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Type><BitSize>16</BitSize></Local><Local><Name>MaxNumberOfTestsToPrint</Name><Type>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Type><BitSize>16</BitSize></Local><Local><Name>TEST_STATUS_SKIP</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local><Local><Name>TEST_STATUS_PASS</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local><Local><Name>TEST_STATUS_FAIL</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit.SysDir.SysTypes">RTS_IEC_RESULT</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType></DataType><DataType><Name Namespace="BaseLib.TcUnit.SysFile">ACCESS_MODE</Name><Comment><![CDATA[ | Access mode
|
|
| File modes to open a file.
|
|
|
|
.. note::
|
|
For all ``*_PLUS`` modes be aware, that after reading from a file, writing can only be done after a call
|
|
to |SysFileGetPos| or |SysFileSetPos|! If you call |SysFileWrite| right after |SysFileRead|,
|
|
the file pointer could be on an invalid position!
|
|
|
|
Correct example::
|
|
|
|
SysFileRead();
|
|
SysFileGetPos();
|
|
SysFileWrite();]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><EnumInfo><Text>AM_READ</Text><Enum>0</Enum><Comment><![CDATA[ Open an existing file with Read access. If file does not exist, Open fails]]></Comment></EnumInfo><EnumInfo><Text>AM_WRITE</Text><Enum>1</Enum><Comment><![CDATA[ Create new file with Write access. If file does exist, content is discarded]]></Comment></EnumInfo><EnumInfo><Text>AM_APPEND</Text><Enum>2</Enum><Comment><![CDATA[ Open an existing file with Append (only write) access. If file does not exist, Open fails]]></Comment></EnumInfo><EnumInfo><Text>AM_READ_PLUS</Text><Enum>3</Enum><Comment><![CDATA[ Open an existing file with Read/Write access. If file does not exist, Open fails]]></Comment></EnumInfo><EnumInfo><Text>AM_WRITE_PLUS</Text><Enum>4</Enum><Comment><![CDATA[ Create new file with Read/Write access. If file does exist, content is discarded]]></Comment></EnumInfo><EnumInfo><Text>AM_APPEND_PLUS</Text><Enum>5</Enum><Comment><![CDATA[ Open an existing file with Append (read/write) access. If file does not exist, Open creates a new file]]></Comment></EnumInfo><Properties><Property><Name>external_name</Name><Value>RTS_ACCESS_MODE</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit.SysDir.SysTypes">RTS_IEC_SIZE</Name><BitSize>64</BitSize><BaseType PointerTo="1">BYTE</BaseType></DataType><DataType><Name Namespace="BaseLib.TcUnit.SysDir.SysTypes">RTS_IEC_HANDLE</Name><BitSize>64</BitSize><BaseType PointerTo="1">BYTE</BaseType></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_FileControl</Name><Comment><![CDATA[
|
|
This functionblock can open, close, read, write and delete files on the local filesystem
|
|
]]></Comment><BitSize>192</BitSize><SubItem><Name>FileAccessMode</Name><Type Namespace="BaseLib.TcUnit.SysFile">ACCESS_MODE</Type><Comment><![CDATA[ Append_Plus creates the file if it doesn't exist yet. ]]></Comment><BitSize>32</BitSize><BitOffs>64</BitOffs><Default><EnumText>ACCESS_MODE.AM_APPEND_PLUS</EnumText></Default></SubItem><SubItem><Name>FileHandle</Name><Type Namespace="BaseLib.TcUnit.SysDir.SysTypes">RTS_IEC_HANDLE</Type><BitSize>64</BitSize><BitOffs>128</BitOffs></SubItem><Method><Name>Read</Name><Comment><![CDATA[
|
|
Reads a file from disk into the buffer
|
|
]]></Comment><ReturnType Namespace="BaseLib.TcUnit.SysDir.SysTypes">RTS_IEC_RESULT</ReturnType><ReturnBitSize>32</ReturnBitSize><Parameter><Name>BufferPointer</Name><Comment><![CDATA[ Call with ADR();]]></Comment><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Size</Name><Comment><![CDATA[ Call with SIZEOF(); ]]></Comment><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>FileSize</Name><Type Namespace="BaseLib.TcUnit.SysDir.SysTypes">RTS_IEC_SIZE</Type><BitSize>64</BitSize><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></Parameter></Method><Method><Name>Close</Name><Comment><![CDATA[
|
|
Closes the currently opened file.
|
|
]]></Comment><ReturnType Namespace="BaseLib.TcUnit.SysDir.SysTypes">RTS_IEC_RESULT</ReturnType><ReturnBitSize>32</ReturnBitSize></Method><Method><Name>Open</Name><Comment><![CDATA[
|
|
Opens a file
|
|
]]></Comment><ReturnType Namespace="BaseLib.TcUnit.SysDir.SysTypes">RTS_IEC_RESULT</ReturnType><ReturnBitSize>32</ReturnBitSize><Parameter><Name>FileName</Name><Comment><![CDATA[ File name can contain an absolute or relative path to the file. Path entries must be separated with a Slash (/)]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>FileAccessMode</Name><Type Namespace="BaseLib.TcUnit.SysFile">ACCESS_MODE</Type><BitSize>32</BitSize></Parameter></Method><Method><Name>Delete</Name><Comment><![CDATA[
|
|
Deletes a file specified by name, if it exists.
|
|
]]></Comment><ReturnType Namespace="BaseLib.TcUnit.SysDir.SysTypes">RTS_IEC_RESULT</ReturnType><ReturnBitSize>32</ReturnBitSize><Parameter><Name>FileName</Name><Comment><![CDATA[ File name can contain an absolute or relative path to the file. Path entries must be separated with a forward slash (/) ]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter></Method><Method><Name>Write</Name><Comment><![CDATA[
|
|
Writes the contents of the buffer into a file.
|
|
]]></Comment><ReturnType Namespace="BaseLib.TcUnit.SysDir.SysTypes">RTS_IEC_RESULT</ReturnType><ReturnBitSize>32</ReturnBitSize><Parameter><Name>BufferPointer</Name><Comment><![CDATA[ Call with ADR();]]></Comment><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Size</Name><Comment><![CDATA[ Call with SIZEOF();]]></Comment><Type>UDINT</Type><BitSize>32</BitSize></Parameter></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">E_XmlError</Name><BitSize>8</BitSize><BaseType>BYTE</BaseType><EnumInfo><Text>Ok</Text><Enum>0</Enum></EnumInfo><EnumInfo><Text>ErrorMaxBufferLen</Text><Enum>1</Enum></EnumInfo><EnumInfo><Text>ErrorStringLen</Text><Enum>2</Enum></EnumInfo><EnumInfo><Text>Error</Text><Enum>3</Enum></EnumInfo><Properties><Property><Name>qualified_only</Name></Property><Property><Name>strict</Name></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_StreamBuffer</Name><Comment><![CDATA[
|
|
This functionblock acts as a stream buffer for use with FB_XmlControl
|
|
]]></Comment><BitSize>192</BitSize><SubItem><Name>_PointerToStringBuffer</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>_BufferSize</Name><Type>UDINT</Type><BitSize>32</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>_Length</Name><Type>UDINT</Type><BitSize>32</BitSize><BitOffs>160</BitOffs></SubItem><Method><Name>CutOff</Name><ReturnType Namespace="Tc2_System">T_MaxString</ReturnType><ReturnBitSize>2048</ReturnBitSize><Parameter><Name>StartPos</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>CutLen</Name><Type>UDINT</Type><BitSize>32</BitSize><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></Parameter><Parameter><Name>XmlError</Name><Type Namespace="BaseLib.TcUnit">E_XmlError</Type><BitSize>8</BitSize><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></Parameter><Local><Name>Loop</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Local><Name>PointerToByteToCut</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Local><Local><Name>PointerToByteBuffer</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Local></Method><Method><Name>Find</Name><Comment><![CDATA[
|
|
Find a searchstring in the buffer and returns its position.
|
|
It's possible to add a preffered startposition within buffer
|
|
]]></Comment><ReturnType>UDINT</ReturnType><ReturnBitSize>32</ReturnBitSize><Parameter><Name>SearchString</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Parameter><Parameter><Name>StartPos</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Local><Name>Loop</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Local><Name>Search</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Local><Name>PointerToBuffer</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Local><Local><Name>PointerToSearch</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Local></Method><Method><Name>FindBack</Name><ReturnType>UDINT</ReturnType><ReturnBitSize>32</ReturnBitSize><Parameter><Name>SearchString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Loop</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Local><Name>Search</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Local><Name>PointerToBuffer</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Local><Local><Name>PointerToSearch</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Local></Method><Method><Name>__getLength</Name><Comment><![CDATA[
|
|
Gets/Sets the current length (in bytes) of the streambuffer
|
|
]]></Comment><ReturnType>UDINT</ReturnType><ReturnBitSize>32</ReturnBitSize><Local><Name>Length</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Properties><Property><Name>property</Name></Property></Properties></Method><Method><Name>Clear</Name><Comment><![CDATA[
|
|
Clears the buffer and sets the length to 0
|
|
]]></Comment><Local><Name>Count</Name><Type>UDINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>__setAppend</Name><Comment><![CDATA[
|
|
Appends a string to the buffer
|
|
]]></Comment><Parameter><Name>Append</Name><Comment><![CDATA[
|
|
Appends a string to the buffer
|
|
]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>ByteIn</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Local><Local><Name>ByteBuffer</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Local><Properties><Property><Name>property</Name></Property></Properties></Method><Method><Name>__getBufferSize</Name><Comment><![CDATA[
|
|
Read current Buffersize
|
|
]]></Comment><ReturnType>UDINT</ReturnType><ReturnBitSize>32</ReturnBitSize><Local><Name>BufferSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Properties><Property><Name>property</Name></Property></Properties></Method><Method><Name>__setLength</Name><Comment><![CDATA[
|
|
Gets/Sets the current length (in bytes) of the streambuffer
|
|
]]></Comment><Parameter><Name>Length</Name><Comment><![CDATA[
|
|
Gets/Sets the current length (in bytes) of the streambuffer
|
|
]]></Comment><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Properties><Property><Name>property</Name></Property></Properties></Method><Method><Name>SetBuffer</Name><ReturnType>BOOL</ReturnType><ReturnBitSize>8</ReturnBitSize><Parameter><Name>PointerToBufferAddress</Name><Comment><![CDATA[ Set buffer address (ADR ...)]]></Comment><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>SizeOfBuffer</Name><Comment><![CDATA[ Set buffer size (SIZEOF ...)]]></Comment><Type>UDINT</Type><BitSize>32</BitSize></Parameter></Method><Method><Name>Copy</Name><Comment><![CDATA[
|
|
Copies a string from the character buffer
|
|
]]></Comment><ReturnType Namespace="Tc2_System">T_MaxString</ReturnType><ReturnBitSize>2048</ReturnBitSize><Parameter><Name>StartPos</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>EndPos</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>CopyLen</Name><Type>UDINT</Type><BitSize>32</BitSize><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></Parameter><Parameter><Name>XmlError</Name><Type Namespace="BaseLib.TcUnit">E_XmlError</Type><BitSize>8</BitSize><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></Parameter><Local><Name>Loop</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Local><Name>PointerToByteToCopy</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Local><Local><Name>PointerToBuffer</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Local><Local><Name>CurPos</Name><Type>UDINT</Type><BitSize>32</BitSize></Local></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_XmlControl</Name><Comment><![CDATA[
|
|
Organizes parsing and composing of XML data. Data can be treated as STRING or char array.
|
|
Buffer size of file can be set via GVL_Param_TcUnit (xUnitBufferSize)
|
|
]]></Comment><BitSize>6016</BitSize><SubItem><Name>XmlBuffer</Name><Type Namespace="BaseLib.TcUnit">FB_StreamBuffer</Type><BitSize>192</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>TagListBuffer</Name><Type Namespace="BaseLib.TcUnit">FB_StreamBuffer</Type><BitSize>192</BitSize><BitOffs>256</BitOffs></SubItem><SubItem><Name>Tags</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>448</BitOffs></SubItem><SubItem><Name>TagListSeekBuffer</Name><Type Namespace="BaseLib.TcUnit">FB_StreamBuffer</Type><BitSize>192</BitSize><BitOffs>2496</BitOffs></SubItem><SubItem><Name>TagsSeek</Name><Type>STRING(80)</Type><BitSize>648</BitSize><BitOffs>2688</BitOffs></SubItem><SubItem><Name>TagBuffer</Name><Type Namespace="BaseLib.TcUnit">FB_StreamBuffer</Type><BitSize>192</BitSize><BitOffs>3392</BitOffs></SubItem><SubItem><Name>Tag</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>3584</BitOffs></SubItem><SubItem><Name>TagOpen</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>5632</BitOffs></SubItem><SubItem><Name>Select</Name><Type>UDINT</Type><BitSize>32</BitSize><BitOffs>5664</BitOffs></SubItem><SubItem><Name>SearchPosition</Name><Type>UDINT</Type><BitSize>32</BitSize><BitOffs>5696</BitOffs></SubItem><SubItem><Name>TAG_OPEN</Name><Type>STRING(1)</Type><BitSize>16</BitSize><BitOffs>5728</BitOffs><Default><String><</String></Default></SubItem><SubItem><Name>TAG_CLOSE</Name><Type>STRING(1)</Type><BitSize>16</BitSize><BitOffs>5744</BitOffs><Default><String>></String></Default></SubItem><SubItem><Name>END_TAG_CLOSE</Name><Type>STRING(2)</Type><BitSize>24</BitSize><BitOffs>5760</BitOffs><Default><String>/></String></Default></SubItem><SubItem><Name>SPACE</Name><Type>STRING(1)</Type><BitSize>16</BitSize><BitOffs>5784</BitOffs><Default><String> </String></Default></SubItem><SubItem><Name>EQUALS</Name><Type>STRING(1)</Type><BitSize>16</BitSize><BitOffs>5800</BitOffs><Default><String>=</String></Default></SubItem><SubItem><Name>QUOTE</Name><Type>STRING(1)</Type><BitSize>16</BitSize><BitOffs>5816</BitOffs><Default><String>"</String></Default></SubItem><SubItem><Name>BACK_SLASH</Name><Type>STRING(1)</Type><BitSize>16</BitSize><BitOffs>5832</BitOffs><Default><String>\</String></Default></SubItem><SubItem><Name>FORWARD_SLASH</Name><Type>STRING(1)</Type><BitSize>16</BitSize><BitOffs>5848</BitOffs><Default><String>/</String></Default></SubItem><SubItem><Name>OPEN_COMMENT</Name><Type>STRING(5)</Type><BitSize>48</BitSize><BitOffs>5864</BitOffs><Default><String><!-- </String></Default></SubItem><SubItem><Name>CLOSE_COMMENT</Name><Type>STRING(4)</Type><BitSize>40</BitSize><BitOffs>5912</BitOffs><Default><String> --></String></Default></SubItem><SubItem><Name>TAB</Name><Type>STRING(2)</Type><BitSize>24</BitSize><BitOffs>5952</BitOffs><Default><String> </String></Default></SubItem><SubItem><Name>CR_LF</Name><Type>STRING(4)</Type><BitSize>40</BitSize><BitOffs>5976</BitOffs><Default><String>
|
|
</String></Default></SubItem><Method><Name>NewParameter</Name><Comment><![CDATA[
|
|
Must be called after opening a new tag
|
|
|
|
XML.NewParameter(Name: = 'ParaName', Value: = 'Value');
|
|
]]></Comment><Parameter><Name>Name</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>Value</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter></Method><Method><Name>NewTag</Name><Comment><![CDATA[
|
|
Creates a new Tag:
|
|
XML: <MyTag>
|
|
|
|
XML.NewTag(Name: = 'MyTag');
|
|
]]></Comment><Parameter><Name>Name</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter></Method><Method><Name>CloseTag</Name><Comment><![CDATA[
|
|
Closes a Tag:
|
|
XML: <MyTag />'
|
|
|
|
Method: XML.CloseTag();
|
|
]]></Comment><ReturnType Namespace="Tc2_System">T_MaxString</ReturnType><ReturnBitSize>2048</ReturnBitSize><Local><Name>ClosedTag</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local></Method><Method><Name>WriteDocumentHeader</Name><Comment><![CDATA[
|
|
Add your own preffered fileheader like:
|
|
XML: <?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
Start with calling this method before appending any other tags!
|
|
|
|
XML.WriteDocumentHeader('<?xml version="1.0" encoding="UTF-8"?>');
|
|
]]></Comment><Parameter><Name>Header</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter></Method><Method><Name>NewComment</Name><Comment><![CDATA[
|
|
Adds a comment
|
|
XML: <!-- MyComment -->
|
|
|
|
XML.NewComment(Comment: = 'MyComment');
|
|
]]></Comment><Parameter><Name>Comment</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter></Method><Method><Name>__getLength</Name><ReturnType>UDINT</ReturnType><ReturnBitSize>32</ReturnBitSize><Local><Name>Length</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Properties><Property><Name>property</Name></Property></Properties></Method><Method><Name>NewTagData</Name><Parameter><Name>Data</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter></Method><Method><Name>SetBuffer</Name><Parameter><Name>PointerToBuffer</Name><Comment><![CDATA[ ADR(..)]]></Comment><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>SizeOfBuffer</Name><Comment><![CDATA[ SIZEOF(..)]]></Comment><Type>UDINT</Type><BitSize>32</BitSize></Parameter></Method><Method><Name>ClearBuffer</Name><Comment><![CDATA[
|
|
Clears the contents of the entire buffer.
|
|
]]></Comment></Method><Method><Name>ToStartBuffer</Name><Comment><![CDATA[
|
|
Jump to the beginning of the XML data
|
|
XML.ToStartBuffer();
|
|
]]></Comment></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_xUnitXmlPublisher</Name><Comment><![CDATA[
|
|
Publishes test results into an xUnit compatible Xml file
|
|
]]></Comment><BitSize>530944</BitSize><Implements Namespace="BaseLib.TcUnit">I_TestResultLogger</Implements><SubItem><Name>TestResults</Name><Type Namespace="BaseLib.TcUnit">I_TestResults</Type><Comment><![CDATA[ Dependancy Injection via FB_Init]]></Comment><BitSize>64</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>AccessMode</Name><Type Namespace="BaseLib.TcUnit.SysFile">ACCESS_MODE</Type><Comment><![CDATA[ File access mode]]></Comment><BitSize>32</BitSize><BitOffs>192</BitOffs><Default><EnumText>ACCESS_MODE.AM_WRITE_PLUS</EnumText></Default></SubItem><SubItem><Name>File</Name><Type Namespace="BaseLib.TcUnit">FB_FileControl</Type><BitSize>192</BitSize><BitOffs>256</BitOffs></SubItem><SubItem><Name>Xml</Name><Type Namespace="BaseLib.TcUnit">FB_XmlControl</Type><BitSize>6016</BitSize><BitOffs>448</BitOffs></SubItem><SubItem><Name>BufferInitialised</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>6464</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>Buffer</Name><Type>BYTE</Type><ArrayInfo><LBound>0</LBound><Elements>65535</Elements></ArrayInfo><BitSize>524280</BitSize><BitOffs>6472</BitOffs></SubItem><SubItem><Name>WritingTestSuiteResultNumber</Name><Type>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)</Type><BitSize>16</BitSize><BitOffs>530752</BitOffs></SubItem><SubItem><Name>PublishTrigger</Name><Type Namespace="Tc2_Standard">R_TRIG</Type><BitSize>128</BitSize><BitOffs>530816</BitOffs></SubItem><Method><Name>DeleteOpenWriteClose</Name><Comment><![CDATA[
|
|
Deletes the former file (if it exists).
|
|
Opens the file, writes the buffer and closes it.
|
|
]]></Comment><ReturnType Namespace="BaseLib.TcUnit.SysDir.SysTypes">RTS_IEC_RESULT</ReturnType><ReturnBitSize>32</ReturnBitSize></Method><Method><Name>LogTestSuiteResults</Name><Comment><![CDATA[
|
|
This method is responsible for the entire generation of the output file.
|
|
The output of the xml writer is NOT beautified.
|
|
|
|
When new data is available, feel free to add it to the report
|
|
]]></Comment><Local><Name>UnitTestResults</Name><Type Namespace="BaseLib.TcUnit" ReferenceTo="true">ST_TestSuiteResults</Type><BitSize>64</BitSize></Local><Local><Name>CurrentSuiteNumber</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>CurrentTestCount</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>TEST_STATUS_SKIP</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local><Local><Name>TEST_STATUS_PASS</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local><Local><Name>TEST_STATUS_FAIL</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local></Method><Method><Name>Initialised</Name><ReturnType>BOOL</ReturnType><ReturnBitSize>8</ReturnBitSize></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_TcUnitRunner</Name><Comment><![CDATA[
|
|
This function block is responsible for holding track of the tests and executing them.
|
|
]]></Comment><BitSize>621828480</BitSize><SubItem><Name>AllTestSuitesFinished</Name><Type>BOOL</Type><Comment><![CDATA[ Indication of whether all test suites have reported that they are finished ]]></Comment><BitSize>8</BitSize><BitOffs>64</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>TestResults</Name><Type Namespace="BaseLib.TcUnit">FB_TestResults</Type><Comment><![CDATA[ Test result information ]]></Comment><BitSize>621296448</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>AdsTestResultLogger</Name><Type Namespace="BaseLib.TcUnit">FB_AdsTestResultLogger</Type><Comment><![CDATA[ Prints the results to ADS so that Visual Studio can display the results.
|
|
This test result formatter can be replaced with something else than ADS ]]></Comment><BitSize>448</BitSize><BitOffs>621296576</BitOffs><Properties><Property><Name>old_input_assignments</Name></Property></Properties></SubItem><SubItem><Name>TestResultLogger</Name><Type Namespace="BaseLib.TcUnit">I_TestResultLogger</Type><BitSize>64</BitSize><BitOffs>621297024</BitOffs></SubItem><SubItem><Name>AbortRunningTestSuites</Name><Type>BOOL</Type><Comment><![CDATA[ If this flag is set, it means that some external event triggered the
|
|
request to abort running the test suites ]]></Comment><BitSize>8</BitSize><BitOffs>621297088</BitOffs></SubItem><SubItem><Name>xUnitXmlPublisher</Name><Type Namespace="BaseLib.TcUnit">FB_xUnitXmlPublisher</Type><Comment><![CDATA[ Publishes a xUnit compatible XML file ]]></Comment><BitSize>530944</BitSize><BitOffs>621297152</BitOffs><Properties><Property><Name>old_input_assignments</Name></Property></Properties></SubItem><SubItem><Name>XmlTestResultPublisher</Name><Type Namespace="BaseLib.TcUnit">I_TestResultLogger</Type><BitSize>64</BitSize><BitOffs>621828096</BitOffs></SubItem><SubItem><Name>__FB_TCUNITRUNNER__RUNTESTSUITETESTSINSEQUENCE__CURRENTLYRUNNINGTESTSUITE</Name><Type>UINT</Type><Comment><![CDATA[ This variable holds which current test suite is being called, as we are running
|
|
each one in a sequence (one by one) ]]></Comment><BitSize>16</BitSize><BitOffs>621828160</BitOffs><Default><Value>1</Value></Default></SubItem><SubItem><Name>__FB_TCUNITRUNNER__RUNTESTSUITETESTSINSEQUENCE__TIMERBETWEENEXECUTIONOFTESTSUITES</Name><Type Namespace="Tc2_Standard">TOF</Type><BitSize>256</BitSize><BitOffs>621828224</BitOffs></SubItem><Method><Name>AbortRunningTestSuiteTests</Name><Comment><![CDATA[ This function sets a flag which makes the runner stop running the tests
|
|
in the test suites ]]></Comment></Method><Method><Name>RunTestSuiteTestsInSequence</Name><Comment><![CDATA[ This runs all the test suites in sequence (one after the other) ]]></Comment><Parameter><Name>TimeBetweenTestSuitesExecution</Name><Comment><![CDATA[ Time delay between a test suite is finished and the next test suite starts]]></Comment><Type>TIME</Type><BitSize>32</BitSize></Parameter><Local><Name>BusyPrinting</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>NumberOfTestSuitesFinished</Name><Comment><![CDATA[ We need to hold a temporary state of the statistics
|
|
as we don't consider the tests to be completely finished until all test suites have executed completely.
|
|
The reason we want to do it this way is because a test suite can run over several cycles. Only once all tests
|
|
are finished (which might take many cycles), do we gather correct statistics ]]></Comment><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>CurrentlyRunningTestSuite</Name><Comment><![CDATA[ This variable holds which current test suite is being called, as we are running
|
|
each one in a sequence (one by one) ]]></Comment><Type>UINT</Type><BitSize>16</BitSize><Properties><Property><Name>uselocation</Name><Value>__FB_TCUNITRUNNER__RUNTESTSUITETESTSINSEQUENCE__CURRENTLYRUNNINGTESTSUITE</Value></Property></Properties></Local><Local><Name>TimerBetweenExecutionOfTestSuites</Name><Type Namespace="Tc2_Standard">TOF</Type><BitSize>256</BitSize><Properties><Property><Name>uselocation</Name><Value>__FB_TCUNITRUNNER__RUNTESTSUITETESTSINSEQUENCE__TIMERBETWEENEXECUTIONOFTESTSUITES</Value></Property></Properties></Local></Method><Method><Name>RunTestSuiteTests</Name><Comment><![CDATA[ This runs all the test suites in parallel ]]></Comment><Local><Name>Counter</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>BusyPrinting</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>NumberOfTestSuitesFinished</Name><Comment><![CDATA[ We need to hold a temporary state of the statistics
|
|
as we don't consider the tests to be completely finished until all test suites have executed completely.
|
|
The reason we want to do it this way is because a test suite can run over several cycles. Only once all tests
|
|
are finished (which might take many cycles), do we gather correct statistics ]]></Comment><Type>UINT</Type><BitSize>16</BitSize></Local></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_Test</Name><Comment><![CDATA[
|
|
This function block holds all data that defines a test.
|
|
]]></Comment><BitSize>4224</BitSize><SubItem><Name>TestName</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>TestIsFinished</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>2112</BitOffs></SubItem><SubItem><Name>TestIsSkipped</Name><Type>BOOL</Type><Comment><![CDATA[ This is set to true, if test is disabled (by putting the string "disabled_" in front of the test name]]></Comment><BitSize>8</BitSize><BitOffs>2120</BitOffs></SubItem><SubItem><Name>NumberOfAssertions</Name><Type>UINT</Type><BitSize>16</BitSize><BitOffs>2128</BitOffs></SubItem><SubItem><Name>TestOrderNumber</Name><Type>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Type><Comment><![CDATA[ In which order/sequence relative to the order tests should this test be executed/evaluated.
|
|
A value of 0 means it is not defined by TEST_ORDERED() but by un-ordered test (TEST()).
|
|
A value <> 0 tells in which order this test will be executed/evaluated. The lower the number, the earlier it will execute. ]]></Comment><BitSize>16</BitSize><BitOffs>2144</BitOffs></SubItem><SubItem><Name>TestIsFailed</Name><Type>BOOL</Type><Comment><![CDATA[ Indication of whether this test has at least one failed assert]]></Comment><BitSize>8</BitSize><BitOffs>2160</BitOffs></SubItem><SubItem><Name>AssertionMessage</Name><Type Namespace="Tc2_System">T_MaxString</Type><Comment><![CDATA[ Assertion message for the first assertion in this test]]></Comment><BitSize>2048</BitSize><BitOffs>2168</BitOffs></SubItem><SubItem><Name>AssertionType</Name><Type Namespace="BaseLib.TcUnit">E_AssertionType</Type><Comment><![CDATA[ Assertion type for the first assertion in this test]]></Comment><BitSize>8</BitSize><BitOffs>4216</BitOffs></SubItem><Method><Name>GetAssertionType</Name><ReturnType Namespace="BaseLib.TcUnit">E_AssertionType</ReturnType><ReturnBitSize>8</ReturnBitSize></Method><Method><Name>SetFailed</Name></Method><Method><Name>SetName</Name><Parameter><Name>Name</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter></Method><Method><Name>GetName</Name><ReturnType Namespace="Tc2_System">T_MaxString</ReturnType><ReturnBitSize>2048</ReturnBitSize></Method><Method><Name>SetNumberOfAssertions</Name><Parameter><Name>NoOfAssertions</Name><Type>UINT</Type><BitSize>16</BitSize></Parameter></Method><Method><Name>SetTestOrder</Name><Comment><![CDATA[ Sets in which order/sequence relative to the order tests should this test be executed/evaluated. ]]></Comment><Parameter><Name>OrderNumber</Name><Type>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Type><BitSize>16</BitSize></Parameter></Method><Method><Name>IsSkipped</Name><ReturnType>BOOL</ReturnType><ReturnBitSize>8</ReturnBitSize></Method><Method><Name>GetNumberOfAssertions</Name><ReturnType>UINT</ReturnType><ReturnBitSize>16</ReturnBitSize></Method><Method><Name>SetFinished</Name><ReturnType>BOOL</ReturnType><ReturnBitSize>8</ReturnBitSize></Method><Method><Name>GetAssertionMessage</Name><ReturnType Namespace="Tc2_System">T_MaxString</ReturnType><ReturnBitSize>2048</ReturnBitSize></Method><Method><Name>SetSkipped</Name><Comment><![CDATA[ Sets the test case to skipped ]]></Comment></Method><Method><Name>SetAssertionMessage</Name><Comment><![CDATA[ Sets the assertion message. If one already exists, it's not overwritten as we keep the first assertion in the test ]]></Comment><Parameter><Name>AssertMessage</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter></Method><Method><Name>SetAssertionType</Name><Comment><![CDATA[ Sets the assertion type. If one already exists, it's not overwritten as we keep the first assertion in the test ]]></Comment><Parameter><Name>AssertType</Name><Type Namespace="BaseLib.TcUnit">E_AssertionType</Type><BitSize>8</BitSize></Parameter></Method><Method><Name>IsFinished</Name><ReturnType>BOOL</ReturnType><ReturnBitSize>8</ReturnBitSize></Method><Method><Name>GetTestOrder</Name><Comment><![CDATA[ Gets in which order/sequence relative to the order tests should this test be executed/evaluated. ]]></Comment><ReturnType>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</ReturnType><ReturnBitSize>16</ReturnBitSize></Method><Method><Name>IsFailed</Name><ReturnType>BOOL</ReturnType><ReturnBitSize>8</ReturnBitSize></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name>UINT (1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Properties><Property><Name>LowerBorder</Name><Value>1</Value></Property><Property><Name>UpperBorder</Name><Value>100</Value></Property></Properties></DataType><DataType><Name>TYPE_CLASS</Name><BitSize>32</BitSize><BaseType>DWORD</BaseType><EnumInfo><Text>TYPE_BOOL</Text><Enum>0</Enum></EnumInfo><EnumInfo><Text>TYPE_BIT</Text><Enum>1</Enum></EnumInfo><EnumInfo><Text>TYPE_BYTE</Text><Enum>2</Enum></EnumInfo><EnumInfo><Text>TYPE_WORD</Text><Enum>3</Enum></EnumInfo><EnumInfo><Text>TYPE_DWORD</Text><Enum>4</Enum></EnumInfo><EnumInfo><Text>TYPE_LWORD</Text><Enum>5</Enum></EnumInfo><EnumInfo><Text>TYPE_SINT</Text><Enum>6</Enum></EnumInfo><EnumInfo><Text>TYPE_INT</Text><Enum>7</Enum></EnumInfo><EnumInfo><Text>TYPE_DINT</Text><Enum>8</Enum></EnumInfo><EnumInfo><Text>TYPE_LINT</Text><Enum>9</Enum></EnumInfo><EnumInfo><Text>TYPE_USINT</Text><Enum>10</Enum></EnumInfo><EnumInfo><Text>TYPE_UINT</Text><Enum>11</Enum></EnumInfo><EnumInfo><Text>TYPE_UDINT</Text><Enum>12</Enum></EnumInfo><EnumInfo><Text>TYPE_ULINT</Text><Enum>13</Enum></EnumInfo><EnumInfo><Text>TYPE_REAL</Text><Enum>14</Enum></EnumInfo><EnumInfo><Text>TYPE_LREAL</Text><Enum>15</Enum></EnumInfo><EnumInfo><Text>TYPE_STRING</Text><Enum>16</Enum></EnumInfo><EnumInfo><Text>TYPE_WSTRING</Text><Enum>17</Enum></EnumInfo><EnumInfo><Text>TYPE_TIME</Text><Enum>18</Enum></EnumInfo><EnumInfo><Text>TYPE_DATE</Text><Enum>19</Enum></EnumInfo><EnumInfo><Text>TYPE_DATEANDTIME</Text><Enum>20</Enum></EnumInfo><EnumInfo><Text>TYPE_TIMEOFDAY</Text><Enum>21</Enum></EnumInfo><EnumInfo><Text>TYPE_POINTER</Text><Enum>22</Enum></EnumInfo><EnumInfo><Text>TYPE_REFERENCE</Text><Enum>23</Enum></EnumInfo><EnumInfo><Text>TYPE_SUBRANGE</Text><Enum>24</Enum></EnumInfo><EnumInfo><Text>TYPE_ENUM</Text><Enum>25</Enum></EnumInfo><EnumInfo><Text>TYPE_ARRAY</Text><Enum>26</Enum></EnumInfo><EnumInfo><Text>TYPE_PARAMS</Text><Enum>27</Enum></EnumInfo><EnumInfo><Text>TYPE_USERDEF</Text><Enum>28</Enum></EnumInfo><EnumInfo><Text>TYPE_NONE</Text><Enum>29</Enum></EnumInfo><EnumInfo><Text>TYPE_ANY</Text><Enum>30</Enum></EnumInfo><EnumInfo><Text>TYPE_ANYBIT</Text><Enum>31</Enum></EnumInfo><EnumInfo><Text>TYPE_ANYDATE</Text><Enum>32</Enum></EnumInfo><EnumInfo><Text>TYPE_ANYINT</Text><Enum>33</Enum></EnumInfo><EnumInfo><Text>TYPE_ANYNUM</Text><Enum>34</Enum></EnumInfo><EnumInfo><Text>TYPE_ANYREAL</Text><Enum>35</Enum></EnumInfo><EnumInfo><Text>TYPE_LAZY</Text><Enum>36</Enum></EnumInfo><EnumInfo><Text>TYPE_LTIME</Text><Enum>37</Enum></EnumInfo><EnumInfo><Text>TYPE_BITCONST</Text><Enum>38</Enum></EnumInfo><Properties><Property><Name>qualified_only</Name></Property><Property><Name>m4export_hide</Name></Property><Property><Name>generate_implicit_init_function</Name></Property></Properties></DataType><DataType><Name>AnyType</Name><BitSize>128</BitSize><SubItem><Name>pValue</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>diSize</Name><Type>DINT</Type><BitSize>32</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>TypeClass</Name><Type>TYPE_CLASS</Type><BitSize>32</BitSize><BitOffs>96</BitOffs></SubItem><Properties><Property><Name>linkalways</Name></Property></Properties></DataType><DataType><Name Namespace="Tc2_System">FW_GetCurTaskIndex</Name><BitSize>128</BitSize><SubItem><Name>nIndex</Name><Type>BYTE</Type><BitSize>8</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property><Property><Name>conditionalshow</Name></Property></Properties></DataType><DataType><Name Namespace="Tc2_System">GETCURTASKINDEX</Name><Comment><![CDATA[ This function block GETCURTASKINDEX finds the task index of the task from which it is called. ]]></Comment><BitSize>256</BitSize><SubItem><Name>index</Name><Type>BYTE</Type><Comment><![CDATA[ Returns the current task index of the calling task. ]]></Comment><BitSize>8</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>fbGetCurTaskIndex</Name><Type Namespace="Tc2_System">FW_GetCurTaskIndex</Type><BitSize>128</BitSize><BitOffs>128</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property><Property><Name>conditionalshow_all_locals</Name></Property></Properties></DataType><DataType><Name Namespace="BaseLib.Tc2_Utilities">E_TypeFieldParam</Name><Comment><![CDATA[ String format argument types ]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><EnumInfo><Text>TYPEFIELD_UNKNOWN</Text><Enum>0</Enum><Comment><![CDATA[ Unknown/not set ]]></Comment></EnumInfo><EnumInfo><Text>TYPEFIELD_B</Text><Enum>1</Enum><Comment><![CDATA[ b or B: binary number ]]></Comment></EnumInfo><EnumInfo><Text>TYPEFIELD_O</Text><Enum>2</Enum><Comment><![CDATA[ o or O: octal number ]]></Comment></EnumInfo><EnumInfo><Text>TYPEFIELD_U</Text><Enum>3</Enum><Comment><![CDATA[ u or U: unsigned decimal number ]]></Comment></EnumInfo><EnumInfo><Text>TYPEFIELD_C</Text><Enum>4</Enum><Comment><![CDATA[ c or C: one ASCII character ]]></Comment></EnumInfo><EnumInfo><Text>TYPEFIELD_F</Text><Enum>5</Enum><Comment><![CDATA[ f or F: float number ( normalized format )]]></Comment></EnumInfo><EnumInfo><Text>TYPEFIELD_D</Text><Enum>6</Enum><Comment><![CDATA[ d or D: signed decimal number ]]></Comment></EnumInfo><EnumInfo><Text>TYPEFIELD_S</Text><Enum>7</Enum><Comment><![CDATA[ s or S: string ]]></Comment></EnumInfo><EnumInfo><Text>TYPEFIELD_XU</Text><Enum>8</Enum><Comment><![CDATA[ X: hecadecimal number (upper case characters )]]></Comment></EnumInfo><EnumInfo><Text>TYPEFIELD_XL</Text><Enum>9</Enum><Comment><![CDATA[ x: hecadecimal number (lower case characters )]]></Comment></EnumInfo><EnumInfo><Text>TYPEFIELD_EU</Text><Enum>10</Enum><Comment><![CDATA[ E: float number ( scientific format ) ]]></Comment></EnumInfo><EnumInfo><Text>TYPEFIELD_EL</Text><Enum>11</Enum><Comment><![CDATA[ e: float number ( scientific format ) ]]></Comment></EnumInfo></DataType><DataType><Name Namespace="BaseLib.Tc2_Utilities">ST_FormatParameters</Name><BitSize>160</BitSize><SubItem><Name>bPercent</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>bFlags</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>8</BitOffs></SubItem><SubItem><Name>bWidth</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>16</BitOffs></SubItem><SubItem><Name>bDot</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>24</BitOffs></SubItem><SubItem><Name>bPrecision</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>32</BitOffs></SubItem><SubItem><Name>bType</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>40</BitOffs></SubItem><SubItem><Name>bAlign</Name><Type>BOOL</Type><Comment><![CDATA[ Default :Right align ]]></Comment><BitSize>8</BitSize><BitOffs>48</BitOffs></SubItem><SubItem><Name>bSign</Name><Type>BOOL</Type><Comment><![CDATA[ Default: Sign only for negative values ]]></Comment><BitSize>8</BitSize><BitOffs>56</BitOffs></SubItem><SubItem><Name>bNull</Name><Type>BOOL</Type><Comment><![CDATA[ Default: No padding ]]></Comment><BitSize>8</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>bBlank</Name><Type>BOOL</Type><Comment><![CDATA[ Default: No blanks]]></Comment><BitSize>8</BitSize><BitOffs>72</BitOffs></SubItem><SubItem><Name>bHash</Name><Type>BOOL</Type><Comment><![CDATA[ Default: No blanks ]]></Comment><BitSize>8</BitSize><BitOffs>80</BitOffs></SubItem><SubItem><Name>iWidth</Name><Type>INT</Type><BitSize>16</BitSize><BitOffs>96</BitOffs></SubItem><SubItem><Name>iPrecision</Name><Type>INT</Type><BitSize>16</BitSize><BitOffs>112</BitOffs></SubItem><SubItem><Name>bWidthAsterisk</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>bPrecisionAsterisk</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>136</BitOffs></SubItem><SubItem><Name>eType</Name><Type Namespace="BaseLib.Tc2_Utilities">E_TypeFieldParam</Type><Comment><![CDATA[ format type parameter ]]></Comment><BitSize>16</BitSize><BitOffs>144</BitOffs></SubItem><Properties><Property><Name>conditionalshow</Name></Property></Properties></DataType><DataType><Name Namespace="BaseLib.Tc2_Utilities">FB_FormatString</Name><Comment><![CDATA[ Converts and formats up to 10 T_Arg values to string ]]></Comment><BitSize>8576</BitSize><SubItem><Name>sFormat</Name><Type Namespace="Tc2_System">T_MaxString</Type><Comment><![CDATA[ Format string ]]></Comment><BitSize>2048</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>arg1</Name><Type Namespace="BaseLib.Tc2_Utilities">T_Arg</Type><Comment><![CDATA[ Format argument 1, use F_INT, F_UINT; F_WORD, F_DWORD, F_LREAL... functions to initialize the argument inputs ]]></Comment><BitSize>128</BitSize><BitOffs>2112</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>arg2</Name><Type Namespace="BaseLib.Tc2_Utilities">T_Arg</Type><Comment><![CDATA[ Format argument 2 ]]></Comment><BitSize>128</BitSize><BitOffs>2240</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>arg3</Name><Type Namespace="BaseLib.Tc2_Utilities">T_Arg</Type><Comment><![CDATA[ Format argument 3 ]]></Comment><BitSize>128</BitSize><BitOffs>2368</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>arg4</Name><Type Namespace="BaseLib.Tc2_Utilities">T_Arg</Type><Comment><![CDATA[ Format argument 4 ]]></Comment><BitSize>128</BitSize><BitOffs>2496</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>arg5</Name><Type Namespace="BaseLib.Tc2_Utilities">T_Arg</Type><Comment><![CDATA[ Format argument 5 ]]></Comment><BitSize>128</BitSize><BitOffs>2624</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>arg6</Name><Type Namespace="BaseLib.Tc2_Utilities">T_Arg</Type><Comment><![CDATA[ Format argument 6 ]]></Comment><BitSize>128</BitSize><BitOffs>2752</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>arg7</Name><Type Namespace="BaseLib.Tc2_Utilities">T_Arg</Type><Comment><![CDATA[ Format argument 7 ]]></Comment><BitSize>128</BitSize><BitOffs>2880</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>arg8</Name><Type Namespace="BaseLib.Tc2_Utilities">T_Arg</Type><Comment><![CDATA[ Format argument 8 ]]></Comment><BitSize>128</BitSize><BitOffs>3008</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>arg9</Name><Type Namespace="BaseLib.Tc2_Utilities">T_Arg</Type><Comment><![CDATA[ Format argument 9 ]]></Comment><BitSize>128</BitSize><BitOffs>3136</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>arg10</Name><Type Namespace="BaseLib.Tc2_Utilities">T_Arg</Type><Comment><![CDATA[ Format argument 10 ]]></Comment><BitSize>128</BitSize><BitOffs>3264</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>bError</Name><Type>BOOL</Type><Comment><![CDATA[ TRUE => error, FALSE => no error ]]></Comment><BitSize>8</BitSize><BitOffs>3392</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>nErrId</Name><Type>UDINT</Type><Comment><![CDATA[ Error code ]]></Comment><BitSize>32</BitSize><BitOffs>3424</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>sOut</Name><Type Namespace="Tc2_System">T_MaxString</Type><Comment><![CDATA[ Output stirng ]]></Comment><BitSize>2048</BitSize><BitOffs>3456</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>pFormat</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize><BitOffs>5504</BitOffs><Default><Value>0</Value></Default><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><SubItem><Name>pOut</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize><BitOffs>5568</BitOffs><Default><Value>0</Value></Default><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><SubItem><Name>iRemOutLen</Name><Type>INT</Type><BitSize>16</BitSize><BitOffs>5632</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><SubItem><Name>bValid</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>5648</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><SubItem><Name>stFmt</Name><Type Namespace="BaseLib.Tc2_Utilities">ST_FormatParameters</Type><BitSize>160</BitSize><BitOffs>5664</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><SubItem><Name>nArrayElem</Name><Type>INT</Type><BitSize>16</BitSize><BitOffs>5824</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><SubItem><Name>nArgument</Name><Type>UDINT</Type><BitSize>32</BitSize><BitOffs>5856</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><SubItem><Name>parArgs</Name><Type Namespace="BaseLib.Tc2_Utilities" PointerTo="1">T_Arg</Type><ArrayInfo><LBound>1</LBound><Elements>10</Elements></ArrayInfo><BitSize>640</BitSize><BitOffs>5888</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><SubItem><Name>sArgStr</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>6528</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property><Property><Name>conditionalshow_all_locals</Name></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Name><BitSize>16</BitSize><BaseType>INT</BaseType><EnumInfo><Text>TYPE_BOOL</Text><Enum>0</Enum></EnumInfo><EnumInfo><Text>TYPE_BIT</Text><Enum>1</Enum></EnumInfo><EnumInfo><Text>TYPE_BYTE</Text><Enum>2</Enum></EnumInfo><EnumInfo><Text>TYPE_WORD</Text><Enum>3</Enum></EnumInfo><EnumInfo><Text>TYPE_DWORD</Text><Enum>4</Enum></EnumInfo><EnumInfo><Text>TYPE_LWORD</Text><Enum>5</Enum></EnumInfo><EnumInfo><Text>TYPE_SINT</Text><Enum>6</Enum></EnumInfo><EnumInfo><Text>TYPE_INT</Text><Enum>7</Enum></EnumInfo><EnumInfo><Text>TYPE_DINT</Text><Enum>8</Enum></EnumInfo><EnumInfo><Text>TYPE_LINT</Text><Enum>9</Enum></EnumInfo><EnumInfo><Text>TYPE_USINT</Text><Enum>10</Enum></EnumInfo><EnumInfo><Text>TYPE_UINT</Text><Enum>11</Enum></EnumInfo><EnumInfo><Text>TYPE_UDINT</Text><Enum>12</Enum></EnumInfo><EnumInfo><Text>TYPE_ULINT</Text><Enum>13</Enum></EnumInfo><EnumInfo><Text>TYPE_REAL</Text><Enum>14</Enum></EnumInfo><EnumInfo><Text>TYPE_LREAL</Text><Enum>15</Enum></EnumInfo><EnumInfo><Text>TYPE_STRING</Text><Enum>16</Enum></EnumInfo><EnumInfo><Text>TYPE_WSTRING</Text><Enum>17</Enum></EnumInfo><EnumInfo><Text>TYPE_TIME</Text><Enum>18</Enum></EnumInfo><EnumInfo><Text>TYPE_DATE</Text><Enum>19</Enum></EnumInfo><EnumInfo><Text>TYPE_DATEANDTIME</Text><Enum>20</Enum></EnumInfo><EnumInfo><Text>TYPE_TIMEOFDAY</Text><Enum>21</Enum></EnumInfo><EnumInfo><Text>TYPE_POINTER</Text><Enum>22</Enum></EnumInfo><EnumInfo><Text>TYPE_REFERENCE</Text><Enum>23</Enum></EnumInfo><EnumInfo><Text>TYPE_SUBRANGE</Text><Enum>24</Enum></EnumInfo><EnumInfo><Text>TYPE_ENUM</Text><Enum>25</Enum></EnumInfo><EnumInfo><Text>TYPE_ARRAY</Text><Enum>26</Enum></EnumInfo><EnumInfo><Text>TYPE_PARAMS</Text><Enum>27</Enum></EnumInfo><EnumInfo><Text>TYPE_USERDEF</Text><Enum>28</Enum></EnumInfo><EnumInfo><Text>TYPE_NONE</Text><Enum>29</Enum></EnumInfo><EnumInfo><Text>TYPE_ANY</Text><Enum>30</Enum></EnumInfo><EnumInfo><Text>TYPE_ANYBIT</Text><Enum>31</Enum></EnumInfo><EnumInfo><Text>TYPE_ANYDATE</Text><Enum>32</Enum></EnumInfo><EnumInfo><Text>TYPE_ANYINT</Text><Enum>33</Enum></EnumInfo><EnumInfo><Text>TYPE_ANYNUM</Text><Enum>34</Enum></EnumInfo><EnumInfo><Text>TYPE_ANYREAL</Text><Enum>35</Enum></EnumInfo><EnumInfo><Text>TYPE_LAZY</Text><Enum>36</Enum></EnumInfo><EnumInfo><Text>TYPE_LTIME</Text><Enum>37</Enum></EnumInfo><EnumInfo><Text>TYPE_BITCONST</Text><Enum>38</Enum></EnumInfo><EnumInfo><Text>TYPE_INTERFACE</Text><Enum>-4096</Enum></EnumInfo><Properties><Property><Name>compatibility_id</Name><Value>52A6FD6D-031C-41c0-A818-0F45FE19AF8F</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">U_ExpectedOrActual</Name><BitSize>4096</BitSize><SubItem><Name>boolExpectedOrActual</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>bitExpectedOrActual</Name><Type>BIT</Type><BitSize>8</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>byteExpectedOrActual</Name><Type>BYTE</Type><BitSize>8</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>sintExpectedOrActual</Name><Type>SINT</Type><BitSize>8</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>usintExpectedOrActual</Name><Type>USINT</Type><BitSize>8</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>intExpectedOrActual</Name><Type>INT</Type><BitSize>16</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>uintExpectedOrActual</Name><Type>UINT</Type><BitSize>16</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>wordExpectedOrActual</Name><Type>WORD</Type><BitSize>16</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>dwordExpectedOrActual</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>dateandtimeExpectedOrActual</Name><Type>DATE_AND_TIME</Type><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>dintExpectedOrActual</Name><Type>DINT</Type><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>realExpectedOrActual</Name><Type>REAL</Type><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>timeExpectedOrActual</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>dateExpectedOrActual</Name><Type>DATE</Type><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>udintExpectedOrActual</Name><Type>UDINT</Type><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>timeofdayExpectedOrActual</Name><Type>TIME_OF_DAY</Type><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>lwordExpectedOrActual</Name><Type>LWORD</Type><BitSize>64</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>lintExpectedOrActual</Name><Type>LINT</Type><BitSize>64</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>ulintExpectedOrActual</Name><Type>ULINT</Type><BitSize>64</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>lrealExpectedOrActual</Name><Type>LREAL</Type><BitSize>64</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>ltimeExpectedOrActual</Name><Type>LTIME</Type><BitSize>64</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>stringExpectedOrActual</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>wstringExpectedOrActual</Name><Type>WSTRING(255)</Type><BitSize>4096</BitSize><BitOffs>0</BitOffs></SubItem></DataType><DataType><Name Namespace="BaseLib.TcUnit">ST_AssertResult</Name><BitSize>12288</BitSize><SubItem><Name>Expected</Name><Type Namespace="BaseLib.TcUnit">U_ExpectedOrActual</Type><BitSize>4096</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>Actual</Name><Type Namespace="BaseLib.TcUnit">U_ExpectedOrActual</Type><BitSize>4096</BitSize><BitOffs>4096</BitOffs></SubItem><SubItem><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>8192</BitOffs></SubItem><SubItem><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>10240</BitOffs></SubItem></DataType><DataType><Name Namespace="BaseLib.TcUnit">ST_AssertResultInstances</Name><BitSize>12352</BitSize><SubItem><Name>AssertResult</Name><Type Namespace="BaseLib.TcUnit">ST_AssertResult</Type><BitSize>12288</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>DetectionCount</Name><Type>UINT</Type><Comment><![CDATA[ Number of instances of the "AssertResult"]]></Comment><BitSize>16</BitSize><BitOffs>12288</BitOffs></SubItem><SubItem><Name>DetectionCountThisCycle</Name><Type>UINT</Type><Comment><![CDATA[ Number of instance of the "AssertResult" in this specific PLC-cycle]]></Comment><BitSize>16</BitSize><BitOffs>12304</BitOffs></SubItem></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_AssertResultStatic</Name><Comment><![CDATA[
|
|
This function block is responsible for keeping track of which asserts that have been made. The reason we need to
|
|
keep track of these is because if the user does the same assert twice (because of running a test suite over several
|
|
PLC-cycles) we want to know it so we don't print several times (if the assert fails).
|
|
An instance of an assert is keyed/identified with the following parameters as key:
|
|
- Value of expected
|
|
- Value of actual
|
|
- Message (string)
|
|
- Test instance path (string)
|
|
]]></Comment><BitSize>24640448</BitSize><SubItem><Name>AssertResults</Name><Type Namespace="BaseLib.TcUnit">ST_AssertResult</Type><ArrayInfo><LBound>1</LBound><Elements>1000</Elements></ArrayInfo><Comment><![CDATA[ The total number of instances of each of the "AssertResults" ]]></Comment><BitSize>12288000</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>TotalAsserts</Name><Type>UINT</Type><Comment><![CDATA[ The total number of unique asserts ]]></Comment><BitSize>16</BitSize><BitOffs>12288064</BitOffs><Default><Value>0</Value></Default></SubItem><SubItem><Name>GetCurrentTaskIndex</Name><Type Namespace="Tc2_System">GETCURTASKINDEX</Type><Comment><![CDATA[ Function block to get the current task cycle ]]></Comment><BitSize>256</BitSize><BitOffs>12288128</BitOffs></SubItem><SubItem><Name>AssertResultInstances</Name><Type Namespace="BaseLib.TcUnit">ST_AssertResultInstances</Type><ArrayInfo><LBound>1</LBound><Elements>1000</Elements></ArrayInfo><Comment><![CDATA[ The total number of instances of each of the "AssertResults" ]]></Comment><BitSize>12352000</BitSize><BitOffs>12288384</BitOffs></SubItem><SubItem><Name>CycleCount</Name><Type>UDINT</Type><Comment><![CDATA[ The last PLC cycle count ]]></Comment><BitSize>32</BitSize><BitOffs>24640384</BitOffs></SubItem><SubItem><Name>FirstCycleExecuted</Name><Type>BOOL</Type><Comment><![CDATA[ Only run first cycle ]]></Comment><BitSize>8</BitSize><BitOffs>24640416</BitOffs></SubItem><Method><Name>CopyDetectionCountAndResetDetectionCountInThisCycle</Name><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local></Method><Method><Name>GetNumberOfAssertsForTest</Name><ReturnType>UINT</ReturnType><ReturnBitSize>16</ReturnBitSize><Parameter><Name>CompleteTestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Counter</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>NumberOfAsserts</Name><Type>UINT</Type><BitSize>16</BitSize></Local></Method><Method><Name>CreateAssertResultInstance</Name><Parameter><Name>ExpectedSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ExpectedTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ExpectedValue</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>ActualSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ActualTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ActualValue</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local></Method><Method><Name>GetDetectionCountThisCycle</Name><ReturnType>UINT</ReturnType><ReturnBitSize>16</ReturnBitSize><Parameter><Name>ExpectedSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ExpectedTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ExpectedValue</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>ActualSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ActualTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ActualValue</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local></Method><Method><Name>GetDetectionCount</Name><ReturnType>UINT</ReturnType><ReturnBitSize>16</ReturnBitSize><Parameter><Name>ExpectedSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ExpectedTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ExpectedValue</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>ActualSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ActualTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ActualValue</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local></Method><Method><Name>ReportResult</Name><Comment><![CDATA[
|
|
This method is called in every assert and returns whether this particular assert has already been called.
|
|
The reason one would like to know whether this assert has already been reported or not is to not report it several
|
|
times to any logging service. Because a test-suite can consist of several tests, and certain tests can require the
|
|
test to run over several cycles it means that certain asserts could be called several times and thus we need to
|
|
keep track of which asserts we've already reported. The user of the framework should not need to care for any of
|
|
this and he/she should be able to call the asserts in any way they find suitable.
|
|
|
|
To know what assert this is we need to check for the total combination of:
|
|
- Test message
|
|
- Test instance path
|
|
- Expected value
|
|
- Actual value
|
|
Theoretically we can have a situation where a test has three different asserts, each and one with the same test
|
|
message/test instance path/actual value/expected value but called within the same or different cycles. In order for
|
|
us to handle all situations we need a simple algorithm that works according to:
|
|
- Keep track of how many instances the combination of test message/test instance path/expected value/actual value
|
|
we have. So for example, if we have called Assert(Exp := 5, Act := 5, 'Hello there', 'PRG.InstanceTestSuite.Test')
|
|
two times in one cycle, we have two instances of that combination. This is done according to:
|
|
- Iterate all existing reports.
|
|
- If we have a new PLC-cycle, set the current detection-count to zero.
|
|
- If new report does not match in any of the above fields, create it (together with current PLC-cycle).
|
|
Also store the information that we have one instance of this combination and +1 on the detection-count.
|
|
- If new report matches in all of the above, +1 in the detection-count. If this detection-count is larger than
|
|
the stored detection-count for this combination, create a new report and add +1 to the storage of
|
|
the detection-count.
|
|
]]></Comment><Parameter><Name>ExpectedSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ExpectedTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ExpectedValue</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>ActualSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ActualTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ActualValue</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></Parameter><Local><Name>LocationIndex</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>DataTypesNotEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>DataSizeNotEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>DataContentNotEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>CurrentCycleCount</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>DetectionCountTemp</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>FoundOne</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>AdditionalIdenticalAssert</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AddAssertResult</Name><Parameter><Name>ExpectedSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ExpectedTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ExpectedValue</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>ActualSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ActualTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ActualValue</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">ST_AssertArrayResult</Name><BitSize>4224</BitSize><SubItem><Name>ExpectedsSize</Name><Type>UDINT</Type><Comment><![CDATA[ Size in bytes of the expecteds-array]]></Comment><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>ExpectedsTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><Comment><![CDATA[ The data type of the expecteds-array]]></Comment><BitSize>16</BitSize><BitOffs>32</BitOffs></SubItem><SubItem><Name>ActualsSize</Name><Type>UDINT</Type><Comment><![CDATA[ Size in bytes of the actuals-array]]></Comment><BitSize>32</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>ActualsTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><Comment><![CDATA[ The data type of the actuals-array]]></Comment><BitSize>16</BitSize><BitOffs>96</BitOffs></SubItem><SubItem><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>112</BitOffs></SubItem><SubItem><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>2160</BitOffs></SubItem></DataType><DataType><Name Namespace="BaseLib.TcUnit">ST_AssertArrayResultInstances</Name><BitSize>4256</BitSize><SubItem><Name>AssertArrayResult</Name><Type Namespace="BaseLib.TcUnit">ST_AssertArrayResult</Type><BitSize>4224</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>DetectionCount</Name><Type>UINT</Type><Comment><![CDATA[ Number of instances of the "AssertArrayResult"]]></Comment><BitSize>16</BitSize><BitOffs>4224</BitOffs></SubItem><SubItem><Name>DetectionCountThisCycle</Name><Type>UINT</Type><Comment><![CDATA[ Number of instance of the "AssertArrayResult" in this specific PLC-cycle]]></Comment><BitSize>16</BitSize><BitOffs>4240</BitOffs></SubItem></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_AssertArrayResultStatic</Name><Comment><![CDATA[
|
|
This function block is responsible for keeping track of which array-asserts that have been made.
|
|
The reason we need to keep track of these is because if the user does the same assert twice
|
|
(because of running a test suite over several PLC-cycles) we want to know it so we don't print several times
|
|
(if the assert fails). An instance of an array-assert is keyed/identified with the following parameters as key:
|
|
- Array-size (in bytes) of the expecteds
|
|
- Datatype of the expecteds
|
|
- Array-size (in bytes) of the actuals
|
|
- Datatype of the actuals
|
|
- Message (string)
|
|
- Test instance path (string)
|
|
]]></Comment><BitSize>8480448</BitSize><SubItem><Name>AssertArrayResults</Name><Type Namespace="BaseLib.TcUnit">ST_AssertArrayResult</Type><ArrayInfo><LBound>1</LBound><Elements>1000</Elements></ArrayInfo><Comment><![CDATA[ The total number of instances of each of the "AssertArrayResults" ]]></Comment><BitSize>4224000</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>TotalArrayAsserts</Name><Type>UINT</Type><Comment><![CDATA[ The total number of unique asserts ]]></Comment><BitSize>16</BitSize><BitOffs>4224064</BitOffs><Default><Value>0</Value></Default></SubItem><SubItem><Name>GetCurrentTaskIndex</Name><Type Namespace="Tc2_System">GETCURTASKINDEX</Type><Comment><![CDATA[ Function block to get the current task cycle ]]></Comment><BitSize>256</BitSize><BitOffs>4224128</BitOffs></SubItem><SubItem><Name>AssertArrayResultInstances</Name><Type Namespace="BaseLib.TcUnit">ST_AssertArrayResultInstances</Type><ArrayInfo><LBound>1</LBound><Elements>1000</Elements></ArrayInfo><Comment><![CDATA[ The total number of instances of each of the "AssertArrayResults" ]]></Comment><BitSize>4256000</BitSize><BitOffs>4224384</BitOffs></SubItem><SubItem><Name>CycleCount</Name><Type>UDINT</Type><Comment><![CDATA[ The last PLC cycle count ]]></Comment><BitSize>32</BitSize><BitOffs>8480384</BitOffs></SubItem><SubItem><Name>FirstCycleExecuted</Name><Type>BOOL</Type><Comment><![CDATA[ Only run first cycle ]]></Comment><BitSize>8</BitSize><BitOffs>8480416</BitOffs></SubItem><Method><Name>CreateAssertResultInstance</Name><Parameter><Name>ExpectedsSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ExpectedsTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ActualsSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ActualsTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local></Method><Method><Name>GetDetectionCountThisCycle</Name><ReturnType>UINT</ReturnType><ReturnBitSize>16</ReturnBitSize><Parameter><Name>ExpectedsSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ExpectedsTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ActualsSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ActualsTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local></Method><Method><Name>GetDetectionCount</Name><ReturnType>UINT</ReturnType><ReturnBitSize>16</ReturnBitSize><Parameter><Name>ExpectedsSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ExpectedsTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ActualsSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ActualsTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local></Method><Method><Name>ReportResult</Name><Comment><![CDATA[
|
|
This method is called in every assert and returns whether this particular assert has already been called.
|
|
The reason one would like to know whether this assert has already been reported or not is to not report it several
|
|
times to any logging service. Because a test-suite can consist of several tests, and certain tests can require the
|
|
test to run over several cycles it means that certain asserts could be called several times and thus we need to
|
|
keep track of which asserts we've already reported. The user of the framework should not need to care for any of
|
|
this and he/she should be able to call the asserts in any way they find suitable.
|
|
|
|
To know what assert this is we need to check for the total combination of:
|
|
- Test message
|
|
- Test instance path
|
|
- Expecteds size (in bytes)
|
|
- Actuals size (in bytes)
|
|
- Expecteds datatype
|
|
- Actuals datatype
|
|
Theoretically we can have a situation where a test has three different asserts, each and one with the same test
|
|
message/test instance path/actuals size&datatype/expecteds size&datatype but called within the same or different
|
|
cycles. In order for us to handle all situations we need a simple algorithm that works according to:
|
|
- Keep track of how many instances the combination of test message/test instance path/expecteds size&datatype/
|
|
actuals size&datatype we have. So for example, if we have called
|
|
Assert(Exp := [5,4,3], Act := [5,4,3], 'Hello there', 'PRG.InstanceTestSuite.Test')
|
|
two times in one cycle, we have two instances of that combination. This is done according to:
|
|
- Iterate all existing reports.
|
|
- If we have a new PLC-cycle, set the current detection-count to zero.
|
|
- If new report does not match in any of the above fields, create it (together with current PLC-cycle).
|
|
Also store the information that we have one instance of this combination and +1 on the detection-count.
|
|
- If new report matches in all of the above, +1 in the detection-count. If this detection-count is larger than
|
|
the stored detection-count for this combination, create a new report and add +1 to the storage of
|
|
the detection-count.
|
|
]]></Comment><Parameter><Name>ExpectedsSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ExpectedsTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ActualsSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ActualsTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></Parameter><Local><Name>LocationIndex</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>DataTypesNotEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>DataSizeNotEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>DataContentNotEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>CurrentCycleCount</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>DetectionCountTemp</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>FoundOne</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>AdditionalIdenticalAssert</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>GetNumberOfArrayAssertsForTest</Name><ReturnType>UINT</ReturnType><ReturnBitSize>16</ReturnBitSize><Parameter><Name>CompleteTestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Counter</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>NumberOfArrayAsserts</Name><Type>UINT</Type><BitSize>16</BitSize></Local></Method><Method><Name>CopyDetectionCountAndResetDetectionCountInThisCycle</Name><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local></Method><Method><Name>AddAssertArrayResult</Name><Parameter><Name>ExpectedsSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ExpectedsTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>ActualsSize</Name><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>ActualsTypeClass</Name><Type Namespace="BaseLib.TcUnit.IBaseLibrary">TypeClass</Type><BitSize>16</BitSize></Parameter><Parameter><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">I_AssertMessageFormatter</Name><BitSize>64</BitSize><ExtendsType GUID="{18071995-0000-0000-0000-000000000018}">PVOID</ExtendsType><Method><Name>LogAssertFailure</Name><Parameter><Name>Expected</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>Actual</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter></Method></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_AdjustAssertFailureMessageToMax253CharLength</Name><Comment><![CDATA[
|
|
This function block is responsible for making sure that the asserted test instance path and test message are not
|
|
loo long. The total printed message can not be more than 253 characters long.
|
|
]]></Comment><BitSize>11648</BitSize><SubItem><Name>MsgFmtString</Name><Type Namespace="Tc2_System">T_MaxString</Type><Comment><![CDATA[ Test instance path]]></Comment><BitSize>2048</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>StringArg</Name><Type Namespace="Tc2_System">T_MaxString</Type><Comment><![CDATA[ Test message]]></Comment><BitSize>2048</BitSize><BitOffs>2112</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>MsgFmtStringProcessed</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>4160</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>StringArgProcessed</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>6208</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>MsgFmtStringTemp</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>8256</BitOffs></SubItem><SubItem><Name>TestNameTooLong</Name><Type>STRING(80)</Type><BitSize>648</BitSize><BitOffs>10304</BitOffs><Default><String>...TestName too long</String></Default></SubItem><SubItem><Name>TestMsgTooLong</Name><Type>STRING(80)</Type><BitSize>648</BitSize><BitOffs>10952</BitOffs><Default><String>...TestMsg too long</String></Default></SubItem><SubItem><Name>MSG_FMT_STRING_MAX_NUMBER_OF_CHARACTERS</Name><Type>INT</Type><Comment><![CDATA[ This is actually 254, but if StrArg-argument is used (which it is in TcUnit) it is 253.]]></Comment><BitSize>16</BitSize><BitOffs>11600</BitOffs><Default><Value>253</Value></Default></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_AdsAssertMessageFormatter</Name><Comment><![CDATA[
|
|
This function block is responsible for printing the results of the assertions using the built-in
|
|
ADSLOGSTR functionality provided by the Tc2_System library. This sends the result using ADS, which
|
|
is consumed by the error list of Visual Studio.
|
|
]]></Comment><BitSize>128</BitSize><Implements Namespace="BaseLib.TcUnit">I_AssertMessageFormatter</Implements><Method><Name>LogAssertFailure</Name><Parameter><Name>Expected</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>Actual</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>Message</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>AdjustAssertFailureMessageToMax253CharLength</Name><Type Namespace="BaseLib.TcUnit">FB_AdjustAssertFailureMessageToMax253CharLength</Type><BitSize>11648</BitSize></Local><Local><Name>TestInstancePathCleaned</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>TestInstancePathFinal</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ReturnValue</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>TestInstancePathProcessed</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>MessageProcessed</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_TestSuite</Name><Comment><![CDATA[ This function block is responsible for holding the internal state of the test suite.
|
|
Every test suite can have one or more tests, and every test can do one or more asserts.
|
|
It's also responsible for providing all the assert-methods for asserting different data types.
|
|
Only failed assertions are recorded.
|
|
]]></Comment><BitSize>33561984</BitSize><SubItem><Name>InstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>instance-path</Name></Property><Property><Name>noinit</Name></Property></Properties></SubItem><SubItem><Name>GetCurrentTaskIndex</Name><Type Namespace="Tc2_System">GETCURTASKINDEX</Type><Comment><![CDATA[ We need to have access to specific information of the current task that this test suite
|
|
is executed in. This is for instance necessary when we need to know whether a test is
|
|
defined already. The definition of a test that is defined already is that we call on it
|
|
with the same name twice in the same cycle ]]></Comment><BitSize>256</BitSize><BitOffs>2112</BitOffs></SubItem><SubItem><Name>NumberOfTests</Name><Type>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Type><BitSize>16</BitSize><BitOffs>2368</BitOffs><Default><Value>0</Value></Default></SubItem><SubItem><Name>Tests</Name><Type Namespace="BaseLib.TcUnit">FB_Test</Type><ArrayInfo><LBound>1</LBound><Elements>100</Elements></ArrayInfo><BitSize>422400</BitSize><BitOffs>2432</BitOffs></SubItem><SubItem><Name>TestDuplicateNameTrigger</Name><Type Namespace="Tc2_Standard">R_TRIG</Type><ArrayInfo><LBound>1</LBound><Elements>100</Elements></ArrayInfo><Comment><![CDATA[ Rising trigger of whether we have already notified the user of that the test name pointed to by the current
|
|
position is a duplicate ]]></Comment><BitSize>12800</BitSize><BitOffs>424832</BitOffs></SubItem><SubItem><Name>TestCycleCountIndex</Name><Type>UDINT</Type><ArrayInfo><LBound>1</LBound><Elements>100</Elements></ArrayInfo><Comment><![CDATA[ Last cycle count index for a specific test. Used to detect whether this test has already been defined in the
|
|
current test suite ]]></Comment><BitSize>3200</BitSize><BitOffs>437632</BitOffs></SubItem><SubItem><Name>AssertResults</Name><Type Namespace="BaseLib.TcUnit">FB_AssertResultStatic</Type><BitSize>24640448</BitSize><BitOffs>440832</BitOffs></SubItem><SubItem><Name>AssertArrayResults</Name><Type Namespace="BaseLib.TcUnit">FB_AssertArrayResultStatic</Type><BitSize>8480448</BitSize><BitOffs>25081280</BitOffs></SubItem><SubItem><Name>AdsAssertMessageFormatter</Name><Type Namespace="BaseLib.TcUnit">FB_AdsAssertMessageFormatter</Type><Comment><![CDATA[ Prints the failed asserts to ADS so that Visual Studio can display the assert message.
|
|
This assert formatter can be replaced with something else than ADS ]]></Comment><BitSize>128</BitSize><BitOffs>33561728</BitOffs></SubItem><SubItem><Name>AssertMessageFormatter</Name><Type Namespace="BaseLib.TcUnit">I_AssertMessageFormatter</Type><BitSize>64</BitSize><BitOffs>33561856</BitOffs></SubItem><SubItem><Name>HasStartedRunning</Name><Type>BOOL</Type><Comment><![CDATA[ Indication whether this test suite has started running its tests ]]></Comment><BitSize>8</BitSize><BitOffs>33561920</BitOffs></SubItem><SubItem><Name>NumberOfOrderedTests</Name><Type>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Type><Comment><![CDATA[ Number of ordered tests (created by TEST_ORDERED()) that this test suite contains ]]></Comment><BitSize>16</BitSize><BitOffs>33561936</BitOffs></SubItem><Method><Name>AssertEquals_LINT</Name><Comment><![CDATA[
|
|
Asserts that two LINTs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ LINT expected value]]></Comment><Type>LINT</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ LINT actual value]]></Comment><Type>LINT</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>GetNumberOfSuccessfulTests</Name><ReturnType>UINT</ReturnType><ReturnBitSize>16</ReturnBitSize></Method><Method><Name>AssertArrayEquals_ULINT</Name><Comment><![CDATA[
|
|
Asserts that two ULINT arrays are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ ULINT array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">ULINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ ULINT array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">ULINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>FindTestSuiteInstancePath</Name><Comment><![CDATA[ Searches for the instance path of the calling function block ]]></Comment><ReturnType Namespace="Tc2_System">T_MaxString</ReturnType><ReturnBitSize>2048</ReturnBitSize></Method><Method><Name>AssertEquals_TIME</Name><Comment><![CDATA[
|
|
Asserts that two TIMEs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ TIME expected value]]></Comment><Type>TIME</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ TIME actual value]]></Comment><Type>TIME</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertEquals_TIME_OF_DAY</Name><Comment><![CDATA[
|
|
Asserts that two TIME_OF_DAYs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ TIME_OF_DAY expected value]]></Comment><Type>TIME_OF_DAY</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ TIME_OF_DAY actual value]]></Comment><Type>TIME_OF_DAY</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertEquals_BYTE</Name><Comment><![CDATA[
|
|
Asserts that two BYTEs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ BYTE expected value]]></Comment><Type>BYTE</Type><BitSize>8</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ BYTE actual value]]></Comment><Type>BYTE</Type><BitSize>8</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>GetNumberOfFailedTests</Name><ReturnType>UINT</ReturnType><ReturnBitSize>16</ReturnBitSize><Local><Name>Counter</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>FailedTestsCount</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>NumberOfTestsToAnalyse</Name><Type>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)</Type><BitSize>16</BitSize></Local><Local><Name>NumberOfTestOverArrayLimit</Name><Type>UINT</Type><BitSize>16</BitSize></Local></Method><Method><Name>AssertEquals_DATE_AND_TIME</Name><Comment><![CDATA[
|
|
Asserts that two DATE_AND_TIMEs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ DATE_AND_TIME expected value]]></Comment><Type>DATE_AND_TIME</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ DATE_AND_TIME actual value]]></Comment><Type>DATE_AND_TIME</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>GetTestByPosition</Name><Comment><![CDATA[ This method returns the test at the n'th position, ranging from 1.. NumberOfTests ]]></Comment><ReturnType Namespace="BaseLib.TcUnit">FB_Test</ReturnType><ReturnBitSize>4224</ReturnBitSize><Parameter><Name>Position</Name><Type>UINT (1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Type><BitSize>16</BitSize></Parameter></Method><Method><Name>AssertArrayEquals_BOOL</Name><Comment><![CDATA[
|
|
Asserts that two BOOL arrays are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ BOOL array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">BOOL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ BOOL array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">BOOL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AssertArrayEquals_BYTE</Name><Comment><![CDATA[
|
|
Asserts that two BYTE arrays are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ BYTE array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">BYTE</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ BYTE array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">BYTE</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedByteString</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local><Local><Name>ActualByteString</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AssertEquals_DATE</Name><Comment><![CDATA[
|
|
Asserts that two DATEs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ DATE expected value]]></Comment><Type>DATE</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ DATE actual value]]></Comment><Type>DATE</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertEquals_WORD</Name><Comment><![CDATA[
|
|
Asserts that two WORDs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ WORD expected value]]></Comment><Type>WORD</Type><BitSize>16</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ WORD actual value]]></Comment><Type>WORD</Type><BitSize>16</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertArrayEquals_LINT</Name><Comment><![CDATA[
|
|
Asserts that two LINT arrays are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ LINT array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">LINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ LINT array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">LINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AssertEquals_LTIME</Name><Comment><![CDATA[
|
|
Asserts that two LTIMEs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ LTIME expected value]]></Comment><Type>LTIME</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ LTIME actual value]]></Comment><Type>LTIME</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertArrayEquals_UINT</Name><Comment><![CDATA[
|
|
Asserts that two UINT arrays are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ UINT array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">UINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ UINT array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">UINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AssertEquals_LREAL</Name><Comment><![CDATA[
|
|
Asserts that two LREALs are equal to within a positive delta. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ LREAL expected value]]></Comment><Type>LREAL</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ LREAL actual value]]></Comment><Type>LREAL</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Delta</Name><Comment><![CDATA[ The maximum delta between the absolute value of expected and actual for which both numbers are still considered equal]]></Comment><Type>LREAL</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertArrayEquals_LWORD</Name><Comment><![CDATA[
|
|
Asserts that two LWORD arrays are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ LWORD array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">LWORD</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ LWORD array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">LWORD</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedLWordString</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local><Local><Name>ActualLWordString</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AssertEquals</Name><Comment><![CDATA[
|
|
Asserts that two objects (of any type) are equal. If they are not, an assertion error is created.
|
|
For REAL and LREAL it's recommended to use the AssertEquals_REAL or AssertEquals_LREAL respectively
|
|
as these give the possibility to specify a delta between the expected and actual value.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ Expected value]]></Comment><Type>AnyType</Type><BitSize>128</BitSize><Properties><Property><Name>anytypeclass</Name><Value>ANY</Value></Property></Properties></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ The value to check against expected]]></Comment><Type>AnyType</Type><BitSize>128</BitSize><Properties><Property><Name>anytypeclass</Name><Value>ANY</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Count</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedDataString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualDataString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>boolExpected</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>boolActual</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>byteExpected</Name><Type>BYTE</Type><BitSize>8</BitSize></Local><Local><Name>byteActual</Name><Type>BYTE</Type><BitSize>8</BitSize></Local><Local><Name>dateExpected</Name><Type>DATE</Type><BitSize>32</BitSize></Local><Local><Name>dateActual</Name><Type>DATE</Type><BitSize>32</BitSize></Local><Local><Name>dateAndTimeExpected</Name><Type>DATE_AND_TIME</Type><BitSize>32</BitSize></Local><Local><Name>dateAndTimeActual</Name><Type>DATE_AND_TIME</Type><BitSize>32</BitSize></Local><Local><Name>dintExpected</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>dintActual</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>dwordExpected</Name><Type>DWORD</Type><BitSize>32</BitSize></Local><Local><Name>dwordActual</Name><Type>DWORD</Type><BitSize>32</BitSize></Local><Local><Name>intExpected</Name><Type>INT</Type><BitSize>16</BitSize></Local><Local><Name>intActual</Name><Type>INT</Type><BitSize>16</BitSize></Local><Local><Name>lintExpected</Name><Type>LINT</Type><BitSize>64</BitSize></Local><Local><Name>lintActual</Name><Type>LINT</Type><BitSize>64</BitSize></Local><Local><Name>lrealExpected</Name><Type>LREAL</Type><BitSize>64</BitSize></Local><Local><Name>lrealActual</Name><Type>LREAL</Type><BitSize>64</BitSize></Local><Local><Name>ltimeExpected</Name><Type>LTIME</Type><BitSize>64</BitSize></Local><Local><Name>ltimeActual</Name><Type>LTIME</Type><BitSize>64</BitSize></Local><Local><Name>lwordExpected</Name><Type>LWORD</Type><BitSize>64</BitSize></Local><Local><Name>lwordActual</Name><Type>LWORD</Type><BitSize>64</BitSize></Local><Local><Name>realExpected</Name><Type>REAL</Type><BitSize>32</BitSize></Local><Local><Name>realActual</Name><Type>REAL</Type><BitSize>32</BitSize></Local><Local><Name>sintExpected</Name><Type>SINT</Type><BitSize>8</BitSize></Local><Local><Name>sintActual</Name><Type>SINT</Type><BitSize>8</BitSize></Local><Local><Name>stringExpected</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>stringActual</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>wstringExpected</Name><Type>WSTRING(255)</Type><BitSize>4096</BitSize></Local><Local><Name>wstringActual</Name><Type>WSTRING(255)</Type><BitSize>4096</BitSize></Local><Local><Name>timeExpected</Name><Type>TIME</Type><BitSize>32</BitSize></Local><Local><Name>timeActual</Name><Type>TIME</Type><BitSize>32</BitSize></Local><Local><Name>timeOfDayExpected</Name><Type>TIME_OF_DAY</Type><BitSize>32</BitSize></Local><Local><Name>timeOfDayActual</Name><Type>TIME_OF_DAY</Type><BitSize>32</BitSize></Local><Local><Name>udintExpected</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Local><Name>udintActual</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Local><Name>uintExpected</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>uintActual</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>ulintExpected</Name><Type>ULINT</Type><BitSize>64</BitSize></Local><Local><Name>ulintActual</Name><Type>ULINT</Type><BitSize>64</BitSize></Local><Local><Name>usintExpected</Name><Type>USINT</Type><BitSize>8</BitSize></Local><Local><Name>usintActual</Name><Type>USINT</Type><BitSize>8</BitSize></Local><Local><Name>wordExpected</Name><Type>WORD</Type><BitSize>16</BitSize></Local><Local><Name>wordActual</Name><Type>WORD</Type><BitSize>16</BitSize></Local><Local><Name>DataTypesNotEquals</Name><Comment><![CDATA[ The data type of the two ANY input parameters are not equal]]></Comment><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>DataSizeNotEquals</Name><Comment><![CDATA[ The data size of the two ANY input parameters are not equal]]></Comment><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>DataContentNotEquals</Name><Comment><![CDATA[ The data content of the two ANY input parameters are not equal]]></Comment><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>IteratorCounter</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Properties><Property><Name>hasanytype</Name></Property></Properties></Method><Method><Name>AssertFalse</Name><Comment><![CDATA[
|
|
Asserts that a condition is false. If it is not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Condition</Name><Comment><![CDATA[ Condition to be checked]]></Comment><Type>BOOL</Type><BitSize>8</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter></Method><Method><Name>AssertEquals_SINT</Name><Comment><![CDATA[
|
|
Asserts that two SINTs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ SINT expected value]]></Comment><Type>SINT</Type><BitSize>8</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ SINT actual value]]></Comment><Type>SINT</Type><BitSize>8</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertArray2dEquals_LREAL</Name><Comment><![CDATA[
|
|
Asserts that two LREAL 2D-arrays are equal to within a positive delta. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ LREAL 2d array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="2">LREAL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>2</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ LREAL 2d array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="2">LREAL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>2</Value></Property></Properties></Parameter><Parameter><Name>Delta</Name><Comment><![CDATA[ The maximum delta between the value of expected and actual for which both numbers are still considered equal, proportional to the expected value in that array cell]]></Comment><Type>LREAL</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>DimensionIndex</Name><Comment><![CDATA[ Index when looping through Dimensions]]></Comment><Type>USINT</Type><BitSize>8</BitSize></Local><Local><Name>LowerBoundExpecteds</Name><Comment><![CDATA[ Lower bounds of Expecteds array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>UpperBoundExpecteds</Name><Comment><![CDATA[ Upper bounds of Expecteds array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>LowerBoundActuals</Name><Comment><![CDATA[ Lower bounds of Actuals array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>UpperBoundActuals</Name><Comment><![CDATA[ Upper bounds of Actuals array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Comment><![CDATA[ Size of Expecteds array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>SizeOfActuals</Name><Comment><![CDATA[ Size of Actuals array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>Offset</Name><Comment><![CDATA[ Current Array index offsets from Lower Bound in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>ExpectedArrayIndex</Name><Comment><![CDATA[ Array of current Expected array indexes when looping through arrays]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>ActualArrayIndex</Name><Comment><![CDATA[ Array of current Actual array indexes when looping through arrays]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>Expected</Name><Comment><![CDATA[ Single expected value]]></Comment><Type>LREAL</Type><BitSize>64</BitSize></Local><Local><Name>Actual</Name><Comment><![CDATA[ Single actual value]]></Comment><Type>LREAL</Type><BitSize>64</BitSize></Local><Local><Name>__Index__0</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AssertEquals_ULINT</Name><Comment><![CDATA[
|
|
Asserts that two ULINTs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ ULINT expected value]]></Comment><Type>ULINT</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ ULINT actual value]]></Comment><Type>ULINT</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertEquals_BOOL</Name><Comment><![CDATA[
|
|
Asserts that two BOOLs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ BOOL expected value]]></Comment><Type>BOOL</Type><BitSize>8</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ BOOL actual value]]></Comment><Type>BOOL</Type><BitSize>8</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local></Method><Method><Name>AssertEquals_USINT</Name><Comment><![CDATA[
|
|
Asserts that two USINTs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ USINT expected value]]></Comment><Type>USINT</Type><BitSize>8</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ USINT actual value]]></Comment><Type>USINT</Type><BitSize>8</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local></Method><Method><Name>AssertEquals_LWORD</Name><Comment><![CDATA[
|
|
Asserts that two LWORDs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ LWORD expected value]]></Comment><Type>LWORD</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ LWORD actual value]]></Comment><Type>LWORD</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertArrayEquals_USINT</Name><Comment><![CDATA[
|
|
Asserts that two USINT arrays are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ USINT array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">USINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ USINT array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">USINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>SetHasStartedRunning</Name></Method><Method><Name>SetTestFailed</Name><Parameter><Name>AssertionType</Name><Type Namespace="BaseLib.TcUnit">E_AssertionType</Type><BitSize>8</BitSize></Parameter><Parameter><Name>AssertionMessage</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>NumberOfTestsToAnalyse</Name><Type>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Type><BitSize>16</BitSize></Local></Method><Method><Name>GetInstancePath</Name><ReturnType Namespace="Tc2_System">T_MaxString</ReturnType><ReturnBitSize>2048</ReturnBitSize></Method><Method><Name>GetTestOrderNumber</Name><ReturnType>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</ReturnType><ReturnBitSize>16</ReturnBitSize><Parameter><Name>TestName</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>NumberOfTestsToAnalyse</Name><Type>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)</Type><BitSize>16</BitSize></Local></Method><Method><Name>GetNumberOfTests</Name><ReturnType>UINT</ReturnType><ReturnBitSize>16</ReturnBitSize></Method><Method><Name>AssertArrayEquals_DWORD</Name><Comment><![CDATA[
|
|
Asserts that two DWORD arrays are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ DWORD array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">DWORD</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ DWORD array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">DWORD</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedDWordString</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local><Local><Name>ActualDWordString</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>GetHasStartedRunning</Name><ReturnType>BOOL</ReturnType><ReturnBitSize>8</ReturnBitSize></Method><Method><Name>AssertArrayEquals_LREAL</Name><Comment><![CDATA[
|
|
Asserts that two LREAL arrays are equal to within a positive delta. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ LREAL array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">LREAL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ LREAL array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">LREAL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Delta</Name><Comment><![CDATA[ The maximum delta between the value of expected and actual for which both numbers are still considered equal, proportional to the expected value in that array cell]]></Comment><Type>LREAL</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AssertEquals_WSTRING</Name><Comment><![CDATA[
|
|
Asserts that two WSTRINGs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ WSTRING expected value]]></Comment><Type>WSTRING(255)</Type><BitSize>4096</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ WSTRING actual value]]></Comment><Type>WSTRING(255)</Type><BitSize>4096</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>IsTestFinished</Name><ReturnType>BOOL</ReturnType><ReturnBitSize>8</ReturnBitSize><Parameter><Name>TestName</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>NumberOfTestsToAnalyse</Name><Type>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Type><BitSize>16</BitSize></Local></Method><Method><Name>AssertArrayEquals_REAL</Name><Comment><![CDATA[
|
|
Asserts that two REAL arrays are equal to within a positive delta. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ REAL array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">REAL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ REAL array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">REAL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Delta</Name><Comment><![CDATA[ The maximum delta between the value of expected and actual for which both numbers are still considered equal, proportional to the expected value in that array cell]]></Comment><Type>REAL</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AssertEquals_DINT</Name><Comment><![CDATA[
|
|
Asserts that two DINTs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ DINT expected value]]></Comment><Type>DINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ DINT actual value]]></Comment><Type>DINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertArrayEquals_DINT</Name><Comment><![CDATA[
|
|
Asserts that two DINT arrays are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ DINT array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">DINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ DINT array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">DINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AssertEquals_STRING</Name><Comment><![CDATA[
|
|
Asserts that two STRINGs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ STRING expected value]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ STRING actual value]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>SetTestFinished</Name><Comment><![CDATA[ Marks the test as finished in this testsuite.
|
|
Returns TRUE if test was found, and FALSE if a test with this name was not found in this testsuite
|
|
]]></Comment><ReturnType>BOOL</ReturnType><ReturnBitSize>8</ReturnBitSize><Parameter><Name>TestName</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>NumberOfTestsToAnalyse</Name><Type>UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</Type><BitSize>16</BitSize></Local></Method><Method><Name>AreAllTestsFinished</Name><ReturnType>BOOL</ReturnType><ReturnBitSize>8</ReturnBitSize><Local><Name>Counter</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>GetCurTaskIndex</Name><Type Namespace="Tc2_System">GETCURTASKINDEX</Type><BitSize>256</BitSize></Local><Local><Name>NumberOfTestsToAnalyse</Name><Type>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)</Type><BitSize>16</BitSize></Local></Method><Method><Name>AssertArrayEquals_WORD</Name><Comment><![CDATA[
|
|
Asserts that two WORD arrays are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ WORD array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">WORD</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ WORD array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">WORD</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedDWordString</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local><Local><Name>ActualDWordString</Name><Type>STRING(80)</Type><BitSize>648</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AssertArray3dEquals_LREAL</Name><Comment><![CDATA[
|
|
Asserts that two LREAL 3D-arrays are equal to within a positive delta. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ LREAL 3d array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="3">LREAL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>3</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ LREAL 3d array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="3">LREAL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>3</Value></Property></Properties></Parameter><Parameter><Name>Delta</Name><Comment><![CDATA[ The maximum delta between the value of expected and actual for which both numbers are still considered equal, proportional to the expected value in that array cell]]></Comment><Type>LREAL</Type><BitSize>64</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>DimensionIndex</Name><Comment><![CDATA[ Index when looping through Dimensions]]></Comment><Type>USINT</Type><BitSize>8</BitSize></Local><Local><Name>LowerBoundExpecteds</Name><Comment><![CDATA[ Lower bounds of Expecteds array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>UpperBoundExpecteds</Name><Comment><![CDATA[ Upper bounds of Expecteds array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>LowerBoundActuals</Name><Comment><![CDATA[ Lower bounds of Actuals array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>UpperBoundActuals</Name><Comment><![CDATA[ Upper bounds of Actuals array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Comment><![CDATA[ Size of Expecteds array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>SizeOfActuals</Name><Comment><![CDATA[ Size of Actuals array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>Offset</Name><Comment><![CDATA[ Current Array index offsets from Lower Bound in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>ExpectedArrayIndex</Name><Comment><![CDATA[ Array of current Expected array indexes when looping through arrays]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>ActualArrayIndex</Name><Comment><![CDATA[ Array of current Actual array indexes when looping through arrays]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>Expected</Name><Comment><![CDATA[ Single expected value]]></Comment><Type>LREAL</Type><BitSize>64</BitSize></Local><Local><Name>Actual</Name><Comment><![CDATA[ Single actual value]]></Comment><Type>LREAL</Type><BitSize>64</BitSize></Local><Local><Name>__Index__0</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AssertArrayEquals_INT</Name><Comment><![CDATA[
|
|
Asserts that two INT arrays are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ INT array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">INT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ INT array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">INT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>CalculateAndSetNumberOfAssertsForTest</Name><Parameter><Name>TestName</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>TotalNumberOfAsserts</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>NumberOfAsserts</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>NumberOfArrayAsserts</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local></Method><Method><Name>GetNumberOfSkippedTests</Name><ReturnType>UINT</ReturnType><ReturnBitSize>16</ReturnBitSize><Local><Name>Counter</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>SkippedTestsCount</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>NumberOfTestsToAnalyse</Name><Type>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)</Type><BitSize>16</BitSize></Local></Method><Method><Name>AssertEquals_DWORD</Name><Comment><![CDATA[
|
|
Asserts that two DWORDs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ DWORD expected value]]></Comment><Type>DWORD</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ DWORD actual value]]></Comment><Type>DWORD</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertTrue</Name><Comment><![CDATA[
|
|
Asserts that a condition is true. If it is not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Condition</Name><Comment><![CDATA[ Condition to be checked]]></Comment><Type>BOOL</Type><BitSize>8</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter></Method><Method><Name>AssertEquals_INT</Name><Comment><![CDATA[
|
|
Asserts that two INTs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ INT expected value]]></Comment><Type>INT</Type><BitSize>16</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ INT actual value]]></Comment><Type>INT</Type><BitSize>16</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertEquals_UINT</Name><Comment><![CDATA[
|
|
Asserts that two UINTs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ UINT expected value]]></Comment><Type>UINT</Type><BitSize>16</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ UINT actual value]]></Comment><Type>UINT</Type><BitSize>16</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertArray2dEquals_REAL</Name><Comment><![CDATA[
|
|
Asserts that two REAL 2D-arrays are equal to within a positive delta. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ REAL 2d array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="2">REAL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>2</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ REAL 2d array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="2">REAL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>2</Value></Property></Properties></Parameter><Parameter><Name>Delta</Name><Comment><![CDATA[ The maximum delta between the value of expected and actual for which both numbers are still considered equal, proportional to the expected value in that array cell]]></Comment><Type>REAL</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>DimensionIndex</Name><Comment><![CDATA[ Index when looping through Dimensions]]></Comment><Type>USINT</Type><BitSize>8</BitSize></Local><Local><Name>LowerBoundExpecteds</Name><Comment><![CDATA[ Lower bounds of Expecteds array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>UpperBoundExpecteds</Name><Comment><![CDATA[ Upper bounds of Expecteds array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>LowerBoundActuals</Name><Comment><![CDATA[ Lower bounds of Actuals array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>UpperBoundActuals</Name><Comment><![CDATA[ Upper bounds of Actuals array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Comment><![CDATA[ Size of Expecteds array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>SizeOfActuals</Name><Comment><![CDATA[ Size of Actuals array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>Offset</Name><Comment><![CDATA[ Current Array index offsets from Lower Bound in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>ExpectedArrayIndex</Name><Comment><![CDATA[ Array of current Expected array indexes when looping through arrays]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>ActualArrayIndex</Name><Comment><![CDATA[ Array of current Actual array indexes when looping through arrays]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>2</Elements></ArrayInfo><BitSize>64</BitSize></Local><Local><Name>Expected</Name><Comment><![CDATA[ Single expected value]]></Comment><Type>REAL</Type><BitSize>32</BitSize></Local><Local><Name>Actual</Name><Comment><![CDATA[ Single actual value]]></Comment><Type>REAL</Type><BitSize>32</BitSize></Local><Local><Name>__Index__0</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AddTest</Name><Parameter><Name>TestName</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>IsTestOrdered</Name><Type>BOOL</Type><BitSize>8</BitSize></Parameter><Local><Name>IteratorCounter</Name><Type>UINT</Type><BitSize>16</BitSize></Local><Local><Name>ErrorMessage</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>FunctionCallResult</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>CycleCount</Name><Type>UDINT</Type><BitSize>32</BitSize></Local><Local><Name>TestWithThisNameAlreadyExists</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>LowerCasedTestName</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>TrimmedTestName</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>IgnoreCurrentTestCase</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>NumberOfTestsToAnalyse</Name><Type>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)</Type><BitSize>16</BitSize></Local></Method><Method><Name>AssertArray3dEquals_REAL</Name><Comment><![CDATA[
|
|
Asserts that two REAL 3D-arrays are equal to within a positive delta. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ REAL 3d array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="3">REAL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>3</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ REAL 3d array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="3">REAL</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>3</Value></Property></Properties></Parameter><Parameter><Name>Delta</Name><Comment><![CDATA[ The maximum delta between the value of expected and actual for which both numbers are still considered equal, proportional to the expected value in that array cell]]></Comment><Type>REAL</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>DimensionIndex</Name><Comment><![CDATA[ Index when looping through Dimensions]]></Comment><Type>USINT</Type><BitSize>8</BitSize></Local><Local><Name>LowerBoundExpecteds</Name><Comment><![CDATA[ Lower bounds of Expecteds array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>UpperBoundExpecteds</Name><Comment><![CDATA[ Upper bounds of Expecteds array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>LowerBoundActuals</Name><Comment><![CDATA[ Lower bounds of Actuals array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>UpperBoundActuals</Name><Comment><![CDATA[ Upper bounds of Actuals array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Comment><![CDATA[ Size of Expecteds array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>SizeOfActuals</Name><Comment><![CDATA[ Size of Actuals array in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>Offset</Name><Comment><![CDATA[ Current Array index offsets from Lower Bound in each dimension]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>ExpectedArrayIndex</Name><Comment><![CDATA[ Array of current Expected array indexes when looping through arrays]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>ActualArrayIndex</Name><Comment><![CDATA[ Array of current Actual array indexes when looping through arrays]]></Comment><Type>DINT</Type><ArrayInfo><LBound>1</LBound><Elements>3</Elements></ArrayInfo><BitSize>96</BitSize></Local><Local><Name>Expected</Name><Comment><![CDATA[ Single expected value]]></Comment><Type>REAL</Type><BitSize>32</BitSize></Local><Local><Name>Actual</Name><Comment><![CDATA[ Single actual value]]></Comment><Type>REAL</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedValueString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualValueString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>FormatString</Name><Comment><![CDATA[ String formatter for output messages]]></Comment><Type Namespace="BaseLib.Tc2_Utilities">FB_FormatString</Type><BitSize>8576</BitSize></Local><Local><Name>__Index__0</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AddTestNameToInstancePath</Name><ReturnType Namespace="Tc2_System">T_MaxString</ReturnType><ReturnBitSize>2048</ReturnBitSize><Parameter><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>CompleteTestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local></Method><Method><Name>AssertEquals_UDINT</Name><Comment><![CDATA[
|
|
Asserts that two UDINTs are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ UDINT expected value]]></Comment><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ UDINT actual value]]></Comment><Type>UDINT</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertEquals_REAL</Name><Comment><![CDATA[
|
|
Asserts that two REALs are equal to within a positive delta. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expected</Name><Comment><![CDATA[ REAL expected value]]></Comment><Type>REAL</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Actual</Name><Comment><![CDATA[ REAL actual value]]></Comment><Type>REAL</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Delta</Name><Comment><![CDATA[ The maximum delta between the absolute value of expected and actual for which both numbers are still considered equal]]></Comment><Type>REAL</Type><BitSize>32</BitSize></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local></Method><Method><Name>AssertArrayEquals_SINT</Name><Comment><![CDATA[
|
|
Asserts that two SINT arrays are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ SINT array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">SINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ SINT array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">SINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Method><Name>AssertArrayEquals_UDINT</Name><Comment><![CDATA[
|
|
Asserts that two UDINT arrays are equal. If they are not, an assertion error is created.
|
|
]]></Comment><Parameter><Name>Expecteds</Name><Comment><![CDATA[ UDINT array with expected values]]></Comment><Type PointerTo="1" RpcArrayDim="1">UDINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Actuals</Name><Comment><![CDATA[ UDINT array with actual values]]></Comment><Type PointerTo="1" RpcArrayDim="1">UDINT</Type><BitSize>64</BitSize><Properties><Property><Name>variable_length_array</Name></Property><Property><Name>Dimensions</Name><Value>1</Value></Property></Properties></Parameter><Parameter><Name>Message</Name><Comment><![CDATA[ The identifying message for the assertion error]]></Comment><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Local><Name>Equals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>SizeEquals</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>Index</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>ActualString</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>AlreadyReported</Name><Type>BOOL</Type><BitSize>8</BitSize></Local><Local><Name>TestInstancePath</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Local><Local><Name>SizeOfExpecteds</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>SizeOfActuals</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ExpectedsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local><Local><Name>ActualsIndex</Name><Type>DINT</Type><BitSize>32</BitSize></Local></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property><Property><Name>call_after_init</Name></Property><Property><Name>reflection</Name></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">ST_AdsLogStringMessage</Name><BitSize>4128</BitSize><SubItem><Name>MsgCtrlMask</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>MsgFmtStr</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>32</BitOffs></SubItem><SubItem><Name>StrArg</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize><BitOffs>2080</BitOffs></SubItem><Properties><Property><Name>pack_mode</Name><Value>1</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.Tc2_Utilities">FB_MemRingBuffer</Name><Comment><![CDATA[ This function block implements ring buffer fifo functionality.
|
|
A_AddTail adds new entry,
|
|
A_GetHead gets first (oldest) entry
|
|
A_RemoveHead gets and removes first (oldest) entry. Use A_Reset to clear all fifo data. ]]></Comment><BitSize>768</BitSize><SubItem><Name>pWrite</Name><Type PointerTo="1">BYTE</Type><Comment><![CDATA[ Pointer to write data ]]></Comment><BitSize>64</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>cbWrite</Name><Type>UDINT</Type><Comment><![CDATA[ Byte size of write data ]]></Comment><BitSize>32</BitSize><BitOffs>128</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>pRead</Name><Type PointerTo="1">BYTE</Type><Comment><![CDATA[ Pointer to read data buffer ]]></Comment><BitSize>64</BitSize><BitOffs>192</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>cbRead</Name><Type>UDINT</Type><Comment><![CDATA[ Byte size of read data buffer ]]></Comment><BitSize>32</BitSize><BitOffs>256</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>pBuffer</Name><Type PointerTo="1">BYTE</Type><Comment><![CDATA[ Pointer to ring buffer data bytes ]]></Comment><BitSize>64</BitSize><BitOffs>320</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>cbBuffer</Name><Type>UDINT</Type><Comment><![CDATA[ Max. ring buffer byte size ]]></Comment><BitSize>32</BitSize><BitOffs>384</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>bOk</Name><Type>BOOL</Type><Comment><![CDATA[ TRUE = new entry added or removed succesfully, FALSE = fifo overflow or fifo empty ]]></Comment><BitSize>8</BitSize><BitOffs>416</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>nCount</Name><Type>UDINT</Type><Comment><![CDATA[ Number of fifo entries ]]></Comment><BitSize>32</BitSize><BitOffs>448</BitOffs><Default><Value>0</Value></Default><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>cbSize</Name><Type>UDINT</Type><Comment><![CDATA[ Current byte length of fifo data ]]></Comment><BitSize>32</BitSize><BitOffs>480</BitOffs><Default><Value>0</Value></Default><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>cbReturn</Name><Type>UDINT</Type><Comment><![CDATA[ If bOk == TRUE => Number of recend realy returned (removed or get) data bytes
|
|
If bOk == FALSE and cbReturn <> 0 => Number of required read buffer data bytes (cbRead underflow) ]]></Comment><BitSize>32</BitSize><BitOffs>512</BitOffs><Default><Value>0</Value></Default><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>idxLast</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>544</BitOffs><Default><Value>0</Value></Default><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><SubItem><Name>idxFirst</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>576</BitOffs><Default><Value>0</Value></Default><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><SubItem><Name>idxGet</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>608</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><SubItem><Name>pTmp</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize><BitOffs>640</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><SubItem><Name>cbTmp</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>704</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><SubItem><Name>cbCopied</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>736</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><Action><Name>A_Reset</Name></Action><Action><Name>A_AddTail</Name></Action><Action><Name>A_RemoveHead</Name></Action><Action><Name>A_GetHead</Name></Action><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property><Property><Name>conditionalshow_all_locals</Name></Property></Properties></DataType><DataType><Name Namespace="Tc2_Standard">TON</Name><BitSize>256</BitSize><SubItem><Name>IN</Name><Type>BOOL</Type><Comment><![CDATA[ starts timer with rising edge, resets timer with falling edge ]]></Comment><BitSize>8</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>PT</Name><Type>TIME</Type><Comment><![CDATA[ time to pass, before Q is set ]]></Comment><BitSize>32</BitSize><BitOffs>96</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>Q</Name><Type>BOOL</Type><Comment><![CDATA[ gets TRUE, delay time (PT) after a rising edge at IN ]]></Comment><BitSize>8</BitSize><BitOffs>128</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>ET</Name><Type>TIME</Type><Comment><![CDATA[ elapsed time ]]></Comment><BitSize>32</BitSize><BitOffs>160</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>M</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>192</BitOffs></SubItem><SubItem><Name>StartTime</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>224</BitOffs></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib.TcUnit">FB_AdsLogStringMessageFifoQueue</Name><Comment><![CDATA[ This function block is responsible for making sure that the ADSLOGSTR-messages to the ADS-router are transmitted
|
|
cyclically and not in a burst. The reason this is necessary is because that if too many messages are sent at the
|
|
same time some get lost and are never printed to the error list output
|
|
]]></Comment><BitSize>8321152</BitSize><SubItem><Name>ArrayBuffer</Name><Type>BYTE</Type><ArrayInfo><LBound>0</LBound><Elements>1040000</Elements></ArrayInfo><BitSize>8320000</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>MemRingBuffer</Name><Type Namespace="BaseLib.Tc2_Utilities">FB_MemRingBuffer</Type><BitSize>768</BitSize><BitOffs>8320064</BitOffs></SubItem><SubItem><Name>TimerBetweenMessages</Name><Type Namespace="Tc2_Standard">TON</Type><BitSize>256</BitSize><BitOffs>8320832</BitOffs><Default><SubItem><Name>.IN</Name><Bool>true</Bool></SubItem><SubItem><Name>.PT</Name><DateTime>T#10MS</DateTime></SubItem></Default></SubItem><SubItem><Name>MEM_RING_BUFFER_INTERNAL_USE_PER_DATA_RECORD</Name><Type>USINT</Type><BitSize>8</BitSize><BitOffs>8321088</BitOffs><Default><Value>4</Value></Default></SubItem><SubItem><Name>TIME_BETWEEN_MESSAGES</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>8321120</BitOffs><Default><DateTime>T#10MS</DateTime></Default></SubItem><Method><Name>GetLogCount</Name><ReturnType>UDINT</ReturnType><ReturnBitSize>32</ReturnBitSize></Method><Method><Name>WriteLog</Name><Comment><![CDATA[ Writes a new data set into the ring buffer ]]></Comment><Parameter><Name>MsgCtrlMask</Name><Type>DWORD</Type><BitSize>32</BitSize></Parameter><Parameter><Name>MsgFmtStr</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>StrArg</Name><Type Namespace="Tc2_System">T_MaxString</Type><BitSize>2048</BitSize></Parameter><Parameter><Name>Error</Name><Comment><![CDATA[ Buffer overflow]]></Comment><Type>BOOL</Type><BitSize>8</BitSize><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></Parameter><Local><Name>AdsLogStringMessage</Name><Type Namespace="BaseLib.TcUnit">ST_AdsLogStringMessage</Type><BitSize>4128</BitSize></Local></Method><Method><Name>GetAndRemoveLogFromQueue</Name><Comment><![CDATA[ Reads and removes the oldest message ]]></Comment><Parameter><Name>AdsLogStringMessage</Name><Type Namespace="BaseLib.TcUnit">ST_AdsLogStringMessage</Type><BitSize>4128</BitSize><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></Parameter><Parameter><Name>Error</Name><Comment><![CDATA[ Buffer empty]]></Comment><Type>BOOL</Type><BitSize>8</BitSize><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></Parameter></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name>ST_UNIT_ERROR</Name><BitSize>176</BitSize><SubItem><Name>xErrorHighPressurePosolytSegmentInlet</Name><Type>BOOL</Type><Comment><![CDATA[ Error high posolyt]]></Comment><BitSize>8</BitSize><BitOffs>0</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorHighPressurePosolytTankInlet</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>8</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorHighTempPosolyt</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>16</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorHighPressureNegolytSegmentInlet</Name><Type>BOOL</Type><Comment><![CDATA[ Error high negolyt]]></Comment><BitSize>8</BitSize><BitOffs>24</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorHighPressureNegolytTankInlet</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>32</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorHighTempNegolyt</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>40</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorLowPressurePosolytSegmentInlet</Name><Type>BOOL</Type><Comment><![CDATA[ Error low posolyt]]></Comment><BitSize>8</BitSize><BitOffs>48</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorLowPressurePosolytTankInlet</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>56</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorLowTempPosolyt</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>64</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorLowPressureNegolytSegmentInlet</Name><Type>BOOL</Type><Comment><![CDATA[ Error low negolyt]]></Comment><BitSize>8</BitSize><BitOffs>72</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorLowPressureNegolytTankInlet</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>80</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorLowTempNegolyt</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>88</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorOpenValvePosolyt</Name><Type>BOOL</Type><Comment><![CDATA[ Error valve posolyt]]></Comment><BitSize>8</BitSize><BitOffs>96</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorCloseValvePosolyt</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>104</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorOpenValveNegolyt</Name><Type>BOOL</Type><Comment><![CDATA[ Error valve negolyt]]></Comment><BitSize>8</BitSize><BitOffs>112</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorCloseValveNegolyt</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>120</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorHighVoltageSegment</Name><Type>BOOL</Type><Comment><![CDATA[ Error voltage segment]]></Comment><BitSize>8</BitSize><BitOffs>128</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xErrorLowVoltageSegment</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>136</BitOffs><Default><Bool>false</Bool></Default></SubItem><SubItem><Name>xMCBOkPumpPosolyt</Name><Type>BOOL</Type><Comment><![CDATA[ MCB ok pump posolyt]]></Comment><BitSize>8</BitSize><BitOffs>144</BitOffs><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>xRepairSwitchOkPumpPosolyt</Name><Type>BOOL</Type><Comment><![CDATA[ Repair switch ok pump posolyt]]></Comment><BitSize>8</BitSize><BitOffs>152</BitOffs><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>xMCBOkPumpNegolyt</Name><Type>BOOL</Type><Comment><![CDATA[ MCB ok pump negolyt]]></Comment><BitSize>8</BitSize><BitOffs>160</BitOffs><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>xRepairSwitchOkPumpNegolyt</Name><Type>BOOL</Type><Comment><![CDATA[ Repair switch ok pump negolyt]]></Comment><BitSize>8</BitSize><BitOffs>168</BitOffs><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties></SubItem></DataType><DataType><Name>ST_MODULE_ERROR</Name><BitSize>704</BitSize><SubItem><Name>astUnitErrors</Name><Type>ST_UNIT_ERROR</Type><ArrayInfo><LBound>0</LBound><Elements>4</Elements></ArrayInfo><Comment><![CDATA[ Unit error array]]></Comment><BitSize>704</BitSize><BitOffs>0</BitOffs></SubItem></DataType><DataType><Name>ST_STRING_ERROR</Name><BitSize>2112</BitSize><SubItem><Name>stModuleError</Name><Type>ST_MODULE_ERROR</Type><ArrayInfo><LBound>0</LBound><Elements>3</Elements></ArrayInfo><Comment><![CDATA[ Module error array]]></Comment><BitSize>2112</BitSize><BitOffs>0</BitOffs></SubItem></DataType><DataType><Name>FB_ValveMockup</Name><BitSize>640</BitSize><SubItem><Name>xOpenValve</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>xCloseValve</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>72</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>xErrorOpen</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>80</BitOffs><Default><Bool>false</Bool></Default><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>xErrorClose</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>88</BitOffs><Default><Bool>false</Bool></Default><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>xOpenFeedback</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>96</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>xCloseFeedback</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>104</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>_tonOpen</Name><Type Namespace="Tc2_Standard">TON</Type><BitSize>256</BitSize><BitOffs>128</BitOffs><Default><SubItem><Name>.PT</Name><DateTime>T#2S</DateTime></SubItem></Default></SubItem><SubItem><Name>_tonClose</Name><Type Namespace="Tc2_Standard">TON</Type><BitSize>256</BitSize><BitOffs>384</BitOffs><Default><SubItem><Name>.PT</Name><DateTime>T#2S</DateTime></SubItem></Default></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib">FB_RampGenerator</Name><Comment><![CDATA[ Must only be called once per cycle!
|
|
Otherwise the Interpolation is wrong]]></Comment><BitSize>704</BitSize><SubItem><Name>rTarget</Name><Type>REAL</Type><Comment><![CDATA[ Current target value]]></Comment><BitSize>32</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>rTargetMin</Name><Type>REAL</Type><Comment><![CDATA[ Minimum target value]]></Comment><BitSize>32</BitSize><BitOffs>96</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>rTargetMax</Name><Type>REAL</Type><Comment><![CDATA[ Maximum target value]]></Comment><BitSize>32</BitSize><BitOffs>128</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>timRampUp</Name><Type>TIME</Type><Comment><![CDATA[ Ramp up time (min to max)]]></Comment><BitSize>32</BitSize><BitOffs>160</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>timRampDown</Name><Type>TIME</Type><Comment><![CDATA[ Ramp down time (max to min)]]></Comment><BitSize>32</BitSize><BitOffs>192</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>rSetpoint</Name><Type>REAL</Type><BitSize>32</BitSize><BitOffs>224</BitOffs><Default><Value>0</Value></Default><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>xInTarget</Name><Type>BOOL</Type><Comment><![CDATA[ Indicates that the target value has been reached]]></Comment><BitSize>8</BitSize><BitOffs>256</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>_rCycleTime</Name><Type>REAL</Type><Comment><![CDATA[ Cycle time in ms]]></Comment><BitSize>32</BitSize><BitOffs>288</BitOffs></SubItem><SubItem><Name>_rRampUpSpeed</Name><Type>REAL</Type><Comment><![CDATA[ Ramp up speed per cycle
|
|
Units per ms]]></Comment><BitSize>32</BitSize><BitOffs>320</BitOffs></SubItem><SubItem><Name>_rRampDownSpeed</Name><Type>REAL</Type><Comment><![CDATA[ Ramp down speed per cycle
|
|
Units per ms]]></Comment><BitSize>32</BitSize><BitOffs>352</BitOffs></SubItem><SubItem><Name>_rDistanceToGo</Name><Type>REAL</Type><Comment><![CDATA[ Distance left to go]]></Comment><BitSize>32</BitSize><BitOffs>384</BitOffs></SubItem><SubItem><Name>_xFirstCycle</Name><Type>BOOL</Type><Comment><![CDATA[ First cycle]]></Comment><BitSize>8</BitSize><BitOffs>416</BitOffs><Default><Bool>true</Bool></Default></SubItem><SubItem><Name>_fbGetCurTaskIdx</Name><Type Namespace="Tc2_System">GETCURTASKINDEX</Type><BitSize>256</BitSize><BitOffs>448</BitOffs></SubItem><Method><Name>SetStart</Name><Parameter><Name>rStartpoint</Name><Type>REAL</Type><BitSize>32</BitSize></Parameter></Method><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="BaseLib">ST_ANALOG_IO_CONFIG</Name><BitSize>768</BitSize><SubItem><Name>iAIMax</Name><Type>INT</Type><Comment><![CDATA[ Maximum analog value]]></Comment><BitSize>16</BitSize><BitOffs>0</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>iAIMin</Name><Type>INT</Type><Comment><![CDATA[ Minimum analog value]]></Comment><BitSize>16</BitSize><BitOffs>16</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>rPVMax</Name><Type>REAL</Type><Comment><![CDATA[ Maximum process value]]></Comment><BitSize>32</BitSize><BitOffs>32</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>rPVMin</Name><Type>REAL</Type><Comment><![CDATA[ Minimum process value]]></Comment><BitSize>32</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>sUnit</Name><Type>STRING(80)</Type><Comment><![CDATA[ Process unit (V, A, P, U/min, %, rpm etc)]]></Comment><BitSize>648</BitSize><BitOffs>96</BitOffs></SubItem><SubItem><Name>xUsed</Name><Type>BOOL</Type><Comment><![CDATA[ Analog IO is used]]></Comment><BitSize>8</BitSize><BitOffs>744</BitOffs><Default><Bool>true</Bool></Default><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem></DataType><DataType><Name Namespace="BaseLib">ST_ANALOG_EW_LEVELS</Name><BitSize>128</BitSize><SubItem><Name>rErrorMin</Name><Type>REAL</Type><BitSize>32</BitSize><BitOffs>0</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>rWarningMin</Name><Type>REAL</Type><BitSize>32</BitSize><BitOffs>32</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>rWarningMax</Name><Type>REAL</Type><BitSize>32</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>rErrorMax</Name><Type>REAL</Type><BitSize>32</BitSize><BitOffs>96</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem></DataType><DataType><Name Namespace="BaseLib">ST_ANALOG_EW_DELAYS</Name><BitSize>320</BitSize><SubItem><Name>timHardwareSignalLevelOn</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>0</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>timHardwareSignalLevelOff</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>32</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>timErrorLowOn</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>timErrorLowOff</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>96</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>timWarningLowOn</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>128</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>timWarningLowOff</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>160</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>timWarningHighOn</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>192</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>timWarningHighOff</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>224</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>timErrorHighOn</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>256</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem><SubItem><Name>timErrorHighOff</Name><Type>TIME</Type><BitSize>32</BitSize><BitOffs>288</BitOffs><Properties><Property><Name>OPC.UA.DA</Name><Value>1</Value></Property></Properties></SubItem></DataType><DataType><Name>FB_MotorMockup</Name><BitSize>54016</BitSize><SubItem><Name>xEnable</Name><Type>BOOL</Type><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>iSetpoint</Name><Type>INT</Type><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BitOffs>80</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>iMotorSpeedFeedback</Name><Type>INT</Type><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BitOffs>112</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>_iInternalSetpoint</Name><Type>INT</Type><BitSize>16</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>_fbRampGenerator</Name><Type Namespace="BaseLib">FB_RampGenerator</Type><BitSize>704</BitSize><BitOffs>192</BitOffs></SubItem><SubItem><Name>_stAnalogScaling</Name><Type Namespace="BaseLib">ST_ANALOG_IO_CONFIG</Type><BitSize>768</BitSize><BitOffs>44992</BitOffs><Default><SubItem><Name>.iAIMax</Name><Value>32767</Value></SubItem><SubItem><Name>.iAIMin</Name><Value>0</Value></SubItem><SubItem><Name>.rPVMax</Name><Value>100</Value></SubItem><SubItem><Name>.rPVMin</Name><Value>0</Value></SubItem></Default></SubItem><SubItem><Name>_stAnalogEWConfig</Name><Type Namespace="BaseLib">ST_ANALOG_EW_LEVELS</Type><BitSize>128</BitSize><BitOffs>45760</BitOffs></SubItem><SubItem><Name>_stAnalogEWDelays</Name><Type Namespace="BaseLib">ST_ANALOG_EW_DELAYS</Type><BitSize>320</BitSize><BitOffs>45888</BitOffs></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name>FB_AnalogSensorMockup</Name><BitSize>9088</BitSize><SubItem><Name>xEnable</Name><Type>BOOL</Type><Comment><![CDATA[ Raise sensor level from min to max]]></Comment><BitSize>8</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>xErrorHigh</Name><Type>BOOL</Type><Comment><![CDATA[ Switch to error high]]></Comment><BitSize>8</BitSize><BitOffs>72</BitOffs><Default><Bool>false</Bool></Default><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>xErrorLow</Name><Type>BOOL</Type><Comment><![CDATA[ Switch to error low]]></Comment><BitSize>8</BitSize><BitOffs>80</BitOffs><Default><Bool>false</Bool></Default><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>rOnValue</Name><Type>REAL</Type><Comment><![CDATA[ Sensor value when enabled]]></Comment><BitSize>32</BitSize><BitOffs>96</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>rOffValue</Name><Type>REAL</Type><Comment><![CDATA[ Sensor value when dissabled]]></Comment><BitSize>32</BitSize><BitOffs>128</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>rErrorLowValue</Name><Type>REAL</Type><Comment><![CDATA[ Sensor value error high]]></Comment><BitSize>32</BitSize><BitOffs>160</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>rErrorHighValue</Name><Type>REAL</Type><Comment><![CDATA[ Sensor value error high]]></Comment><BitSize>32</BitSize><BitOffs>192</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>rNoise</Name><Type>REAL</Type><Comment><![CDATA[ Sensor noise value]]></Comment><BitSize>32</BitSize><BitOffs>224</BitOffs><Default><Value>0</Value></Default><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>stAnalogScaling</Name><Type Namespace="BaseLib">ST_ANALOG_IO_CONFIG</Type><Comment><![CDATA[ Analog output scaling]]></Comment><BitSize>768</BitSize><BitOffs>256</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>iAnalogValue</Name><Type>INT</Type><BitSize>16</BitSize><BitOffs>1024</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>_rTargetValue</Name><Type>REAL</Type><Comment><![CDATA[ Internal target value]]></Comment><BitSize>32</BitSize><BitOffs>1056</BitOffs></SubItem><SubItem><Name>_lrTmp</Name><Type>LREAL</Type><Comment><![CDATA[ Temp variable]]></Comment><BitSize>64</BitSize><BitOffs>1088</BitOffs></SubItem><SubItem><Name>_rFilterParam</Name><Type>REAL</Type><Comment><![CDATA[ Filter data]]></Comment><BitSize>32</BitSize><BitOffs>1152</BitOffs><Default><Value>0.005</Value></Default></SubItem><SubItem><Name>_rFilterParam2</Name><Type>REAL</Type><BitSize>32</BitSize><BitOffs>1184</BitOffs></SubItem><SubItem><Name>_rValue</Name><Type>REAL</Type><Comment><![CDATA[ Calculated value]]></Comment><BitSize>32</BitSize><BitOffs>1216</BitOffs></SubItem><SubItem><Name>_rPrevValue</Name><Type>REAL</Type><Comment><![CDATA[ Last calculated value]]></Comment><BitSize>32</BitSize><BitOffs>1248</BitOffs><Default><Value>0</Value></Default></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name>FB_UnitMockup</Name><BitSize>173120</BitSize><SubItem><Name>stUnitError</Name><Type ReferenceTo="true">ST_UNIT_ERROR</Type><BitSize>64</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>_fbPosolytValveTankOutlet</Name><Type>FB_ValveMockup</Type><Comment><![CDATA[ Valves posolyt]]></Comment><BitSize>640</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>_fbNegolytValveTankOutlet</Name><Type>FB_ValveMockup</Type><Comment><![CDATA[ Valves negolyt]]></Comment><BitSize>640</BitSize><BitOffs>768</BitOffs></SubItem><SubItem><Name>_fbPosolytPumpInlet</Name><Type>FB_MotorMockup</Type><Comment><![CDATA[ Pumps posolyt]]></Comment><BitSize>54016</BitSize><BitOffs>1408</BitOffs></SubItem><SubItem><Name>_fbNegolytPumpInlet</Name><Type>FB_MotorMockup</Type><Comment><![CDATA[ Pumps negolyt]]></Comment><BitSize>54016</BitSize><BitOffs>55424</BitOffs></SubItem><SubItem><Name>_fbPressurePosolytSegmentInlet</Name><Type>FB_AnalogSensorMockup</Type><Comment><![CDATA[ Pressure sensors posolyt]]></Comment><BitSize>9088</BitSize><BitOffs>109440</BitOffs></SubItem><SubItem><Name>_fbPressurePosolytTankInlet</Name><Type>FB_AnalogSensorMockup</Type><BitSize>9088</BitSize><BitOffs>118528</BitOffs></SubItem><SubItem><Name>_fbPressureNegolytSegmentInlet</Name><Type>FB_AnalogSensorMockup</Type><Comment><![CDATA[ Pressure sensors negolyt]]></Comment><BitSize>9088</BitSize><BitOffs>127616</BitOffs></SubItem><SubItem><Name>_fbPressureNegolytTankInlet</Name><Type>FB_AnalogSensorMockup</Type><BitSize>9088</BitSize><BitOffs>136704</BitOffs></SubItem><SubItem><Name>_fbTemperatureSensorPosolyt</Name><Type>FB_AnalogSensorMockup</Type><Comment><![CDATA[ Temperature sensors]]></Comment><BitSize>9088</BitSize><BitOffs>145792</BitOffs></SubItem><SubItem><Name>_fbTemperatureSensorNegolyt</Name><Type>FB_AnalogSensorMockup</Type><BitSize>9088</BitSize><BitOffs>154880</BitOffs></SubItem><SubItem><Name>_fbVoltageSegment</Name><Type>FB_AnalogSensorMockup</Type><Comment><![CDATA[ Segment Voltage]]></Comment><BitSize>9088</BitSize><BitOffs>163968</BitOffs></SubItem><SubItem><Name>_xFlowThroughtSegmentPosolyt</Name><Type>BOOL</Type><Comment><![CDATA[ Helping variables]]></Comment><BitSize>8</BitSize><BitOffs>173056</BitOffs></SubItem><SubItem><Name>_xFlowThroughtBypassPosolyt</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>173064</BitOffs></SubItem><SubItem><Name>_xFlowThroughtSegmentNegolyt</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>173072</BitOffs></SubItem><SubItem><Name>_xFlowThroughtBypassNegolyt</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>173080</BitOffs></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name>FB_ModuleMockup</Name><BitSize>692672</BitSize><SubItem><Name>stModuleError</Name><Type ReferenceTo="true">ST_MODULE_ERROR</Type><BitSize>64</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>afbUnits</Name><Type>FB_UnitMockup</Type><ArrayInfo><LBound>0</LBound><Elements>4</Elements></ArrayInfo><Comment><![CDATA[ Unit array]]></Comment><BitSize>692480</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>i</Name><Type>INT</Type><BitSize>16</BitSize><BitOffs>692608</BitOffs></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name>FB_StringMockup</Name><BitSize>2078208</BitSize><SubItem><Name>stStringError</Name><Type ReferenceTo="true">ST_STRING_ERROR</Type><BitSize>64</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>afbModules</Name><Type>FB_ModuleMockup</Type><ArrayInfo><LBound>0</LBound><Elements>3</Elements></ArrayInfo><BitSize>2078016</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>i</Name><Type>INT</Type><BitSize>16</BitSize><BitOffs>2078144</BitOffs></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property></Properties></DataType><DataType><Name Namespace="Tc2_System">FW_DRand</Name><BitSize>4288</BitSize><SubItem><Name>nSeed</Name><Type>INT</Type><BitSize>16</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>fRndNum</Name><Type>LREAL</Type><BitSize>64</BitSize><BitOffs>128</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>FirstCall_i</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>192</BitOffs></SubItem><SubItem><Name>HoldRand_i</Name><Type>DINT</Type><BitSize>32</BitSize><BitOffs>224</BitOffs></SubItem><SubItem><Name>R250_Buffer_i</Name><Type>UINT</Type><ArrayInfo><LBound>0</LBound><Elements>250</Elements></ArrayInfo><BitSize>4000</BitSize><BitOffs>256</BitOffs></SubItem><SubItem><Name>R250_Index</Name><Type>INT</Type><BitSize>16</BitSize><BitOffs>4256</BitOffs></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property><Property><Name>conditionalshow</Name></Property></Properties></DataType><DataType><Name Namespace="Tc2_System">DRAND</Name><Comment><![CDATA[ Random number generator. ]]></Comment><BitSize>4480</BitSize><SubItem><Name>Seed</Name><Type>INT</Type><Comment><![CDATA[ Start value ]]></Comment><BitSize>16</BitSize><BitOffs>64</BitOffs><Properties><Property><Name>ItemType</Name><Value>Input</Value></Property></Properties></SubItem><SubItem><Name>Num</Name><Type>LREAL</Type><Comment><![CDATA[ Random value ]]></Comment><BitSize>64</BitSize><BitOffs>128</BitOffs><Properties><Property><Name>ItemType</Name><Value>Output</Value></Property></Properties></SubItem><SubItem><Name>fbDRand</Name><Type Namespace="Tc2_System">FW_DRand</Type><BitSize>4288</BitSize><BitOffs>192</BitOffs><Properties><Property><Name>conditionalshow</Name></Property></Properties></SubItem><Properties><Property><Name>PouType</Name><Value>FunctionBlock</Value></Property><Property><Name>conditionalshow_all_locals</Name></Property></Properties></DataType><DataType><Name>VERSION</Name><BitSize>64</BitSize><SubItem><Name>uiMajor</Name><Type>UINT</Type><BitSize>16</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>uiMinor</Name><Type>UINT</Type><BitSize>16</BitSize><BitOffs>16</BitOffs></SubItem><SubItem><Name>uiServicePack</Name><Type>UINT</Type><BitSize>16</BitSize><BitOffs>32</BitOffs></SubItem><SubItem><Name>uiPatch</Name><Type>UINT</Type><BitSize>16</BitSize><BitOffs>48</BitOffs></SubItem></DataType><DataType><Name GUID="{4591E628-DBCE-4E33-AE0B-7EB853AA256E}" Namespace="PLC" TcBaseType="true">EPlcPersistentStatus</Name><BitSize>8</BitSize><BaseType GUID="{18071995-0000-0000-0000-000000000002}">USINT</BaseType><EnumInfo><Text><![CDATA[PS_None]]></Text><Enum>0</Enum></EnumInfo><EnumInfo><Text><![CDATA[PS_All]]></Text><Enum>1</Enum></EnumInfo><EnumInfo><Text><![CDATA[PS_Partial]]></Text><Enum>2</Enum></EnumInfo></DataType><DataType><Name GUID="{941FDF6E-37CE-4C30-AA23-3236AFA461E2}" Namespace="PLC" TcBaseType="true">PlcAppSystemInfo</Name><BitSize>2048</BitSize><SubItem><Name>ObjId</Name><Type GUID="{18071995-0000-0000-0000-00000000000F}">OTCID</Type><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>TaskCnt</Name><Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type><BitSize>32</BitSize><BitOffs>32</BitOffs></SubItem><SubItem><Name>OnlineChangeCnt</Name><Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type><BitSize>32</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>Flags</Name><Type GUID="{18071995-0000-0000-0000-000000000007}">DWORD</Type><BitSize>32</BitSize><BitOffs>96</BitOffs></SubItem><SubItem><Name>AdsPort</Name><Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type><BitSize>16</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>BootDataLoaded</Name><Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type><BitSize>8</BitSize><BitOffs>144</BitOffs></SubItem><SubItem><Name>OldBootData</Name><Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type><BitSize>8</BitSize><BitOffs>152</BitOffs></SubItem><SubItem><Name>AppTimestamp</Name><Type GUID="{18071995-0000-0000-0000-00000000004C}">DT</Type><BitSize>32</BitSize><BitOffs>160</BitOffs></SubItem><SubItem><Name>KeepOutputsOnBP</Name><Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type><BitSize>8</BitSize><BitOffs>192</BitOffs></SubItem><SubItem><Name>ShutdownInProgress</Name><Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type><BitSize>8</BitSize><BitOffs>200</BitOffs></SubItem><SubItem><Name>LicensesPending</Name><Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type><BitSize>8</BitSize><BitOffs>208</BitOffs></SubItem><SubItem><Name>BSODOccured</Name><Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type><BitSize>8</BitSize><BitOffs>216</BitOffs></SubItem><SubItem><Name>LoggedIn</Name><Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type><BitSize>8</BitSize><BitOffs>224</BitOffs></SubItem><SubItem><Name>PersistentStatus</Name><Type GUID="{4591E628-DBCE-4E33-AE0B-7EB853AA256E}" Namespace="PLC">EPlcPersistentStatus</Type><BitSize>8</BitSize><BitOffs>232</BitOffs></SubItem><SubItem><Name>TComSrvPtr</Name><Type GUID="{00000030-0000-0000-E000-000000000064}">ITComObjectServer</Type><BitSize X64="64">32</BitSize><BitOffs>256</BitOffs><Properties><Property><Name>TcComInterface</Name></Property></Properties></SubItem><SubItem><Name>AppName</Name><Type GUID="{18071995-0000-0000-0000-00010000003F}">STRING(63)</Type><BitSize>512</BitSize><BitOffs>512</BitOffs></SubItem><SubItem><Name>ProjectName</Name><Type GUID="{18071995-0000-0000-0000-00010000003F}">STRING(63)</Type><BitSize>512</BitSize><BitOffs>1024</BitOffs></SubItem><Hides><Hide GUID="{D91E046A-A488-4D27-8D43-0F3C40ED5081}" /><Hide GUID="{5DCEB2BC-E196-43AD-80B7-EBACF31A430B}" /><Hide GUID="{1B9FDDE4-B3B7-4F0F-AB14-24EDC2F643E7}" /><Hide GUID="{C1C52E30-BC0B-44CA-BF39-E2FE7F2D145C}" /><Hide GUID="{5C8FF47F-7F83-4493-8D21-F1FF8A08F75A}" /></Hides></DataType><DataType><Name GUID="{56294066-FFF7-46F3-8206-FA06A30B13BA}" Namespace="PLC" TcBaseType="true">PlcTaskSystemInfo</Name><BitSize>1024</BitSize><SubItem><Name>ObjId</Name><Type GUID="{18071995-0000-0000-0000-00000000000F}">OTCID</Type><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>CycleTime</Name><Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type><BitSize>32</BitSize><BitOffs>32</BitOffs></SubItem><SubItem><Name>Priority</Name><Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type><BitSize>16</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>AdsPort</Name><Type GUID="{18071995-0000-0000-0000-000000000005}">UINT</Type><BitSize>16</BitSize><BitOffs>80</BitOffs></SubItem><SubItem><Name>CycleCount</Name><Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type><BitSize>32</BitSize><BitOffs>96</BitOffs></SubItem><SubItem><Name>DcTaskTime</Name><Type GUID="{18071995-0000-0000-0000-00000000000C}">LINT</Type><BitSize>64</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>LastExecTime</Name><Type GUID="{18071995-0000-0000-0000-000000000008}">UDINT</Type><BitSize>32</BitSize><BitOffs>192</BitOffs></SubItem><SubItem><Name>FirstCycle</Name><Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type><BitSize>8</BitSize><BitOffs>224</BitOffs></SubItem><SubItem><Name>CycleTimeExceeded</Name><Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type><BitSize>8</BitSize><BitOffs>232</BitOffs></SubItem><SubItem><Name>InCallAfterOutputUpdate</Name><Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type><BitSize>8</BitSize><BitOffs>240</BitOffs></SubItem><SubItem><Name>RTViolation</Name><Type GUID="{18071995-0000-0000-0000-000000000030}">BOOL</Type><BitSize>8</BitSize><BitOffs>248</BitOffs></SubItem><SubItem><Name>TaskName</Name><Type GUID="{18071995-0000-0000-0000-00010000003F}">STRING(63)</Type><BitSize>512</BitSize><BitOffs>512</BitOffs></SubItem><Hides><Hide GUID="{6A76D020-03A2-465C-A678-C341951E9EF3}" /><Hide GUID="{6F7D679F-72A0-4831-A7F1-085F839743ED}" /></Hides></DataType><DataType><Name>_Implicit_KindOfTask</Name><BitSize>16</BitSize><BaseType>INT</BaseType><EnumInfo><Text>_implicit_cyclic</Text><Enum>0</Enum></EnumInfo><EnumInfo><Text>_implicit_event</Text><Enum>1</Enum></EnumInfo><EnumInfo><Text>_implicit_external</Text><Enum>2</Enum></EnumInfo><EnumInfo><Text>_implicit_freewheeling</Text><Enum>3</Enum></EnumInfo><Properties><Property><Name>hide</Name></Property><Property><Name>generate_implicit_init_function</Name></Property></Properties></DataType><DataType><Name>_Implicit_Jitter_Distribution</Name><BitSize>48</BitSize><SubItem><Name>wRangeMax</Name><Type>WORD</Type><BitSize>16</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>wCountJitterNeg</Name><Type>WORD</Type><BitSize>16</BitSize><BitOffs>16</BitOffs></SubItem><SubItem><Name>wCountJitterPos</Name><Type>WORD</Type><BitSize>16</BitSize><BitOffs>32</BitOffs></SubItem><Properties><Property><Name>hide</Name></Property></Properties></DataType><DataType><Name>_Implicit_Task_Info</Name><BitSize>896</BitSize><SubItem><Name>dwVersion</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>0</BitOffs></SubItem><SubItem><Name>pszName</Name><Type PointerTo="1">STRING(80)</Type><BitSize>64</BitSize><BitOffs>64</BitOffs></SubItem><SubItem><Name>nPriority</Name><Type>INT</Type><BitSize>16</BitSize><BitOffs>128</BitOffs></SubItem><SubItem><Name>KindOf</Name><Type>_Implicit_KindOfTask</Type><BitSize>16</BitSize><BitOffs>144</BitOffs></SubItem><SubItem><Name>bWatchdog</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>160</BitOffs></SubItem><SubItem><Name>bProfilingTask</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>168</BitOffs></SubItem><SubItem><Name>dwEventFunctionPointer</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize><BitOffs>192</BitOffs></SubItem><SubItem><Name>pszExternalEvent</Name><Type PointerTo="1">STRING(80)</Type><BitSize>64</BitSize><BitOffs>256</BitOffs></SubItem><SubItem><Name>dwTaskEntryFunctionPointer</Name><Type PointerTo="1">BYTE</Type><BitSize>64</BitSize><BitOffs>320</BitOffs></SubItem><SubItem><Name>dwWatchdogSensitivity</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>384</BitOffs></SubItem><SubItem><Name>dwInterval</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>416</BitOffs></SubItem><SubItem><Name>dwWatchdogTime</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>448</BitOffs></SubItem><SubItem><Name>dwLastCycleTime</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>480</BitOffs></SubItem><SubItem><Name>dwAverageCycleTime</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>512</BitOffs></SubItem><SubItem><Name>dwMaxCycleTime</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>544</BitOffs></SubItem><SubItem><Name>dwMinCycleTime</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>576</BitOffs></SubItem><SubItem><Name>diJitter</Name><Type>DINT</Type><BitSize>32</BitSize><BitOffs>608</BitOffs></SubItem><SubItem><Name>diJitterMin</Name><Type>DINT</Type><BitSize>32</BitSize><BitOffs>640</BitOffs></SubItem><SubItem><Name>diJitterMax</Name><Type>DINT</Type><BitSize>32</BitSize><BitOffs>672</BitOffs></SubItem><SubItem><Name>dwCycleCount</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>704</BitOffs></SubItem><SubItem><Name>wTaskStatus</Name><Type>WORD</Type><BitSize>16</BitSize><BitOffs>736</BitOffs></SubItem><SubItem><Name>wNumOfJitterDistributions</Name><Type>WORD</Type><BitSize>16</BitSize><BitOffs>752</BitOffs></SubItem><SubItem><Name>pJitterDistribution</Name><Type PointerTo="1">_Implicit_Jitter_Distribution</Type><BitSize>64</BitSize><BitOffs>768</BitOffs></SubItem><SubItem><Name>bWithinSPSTimeSlicing</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>832</BitOffs></SubItem><SubItem><Name>byDummy</Name><Type>BYTE</Type><BitSize>8</BitSize><BitOffs>840</BitOffs></SubItem><SubItem><Name>bShouldBlock</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>848</BitOffs></SubItem><SubItem><Name>bActive</Name><Type>BOOL</Type><BitSize>8</BitSize><BitOffs>856</BitOffs></SubItem><SubItem><Name>dwIECCycleCount</Name><Type>DWORD</Type><BitSize>32</BitSize><BitOffs>864</BitOffs></SubItem><Properties><Property><Name>hide</Name></Property></Properties></DataType><DataType><Name GUID="{0B767148-8FC5-4340-B6EB-6151E49FC9FF}">AnalogInput</Name><DisplayName TxtId=""><![CDATA[EventClass2_DisplayText]]></DisplayName><EventId><Name Id="1">AIOpenCircuit</Name><DisplayName TxtId=""><![CDATA[{0} input open circuit]]></DisplayName><Severity>Error</Severity></EventId><EventId><Name Id="2">AICardFailure</Name><DisplayName TxtId=""><![CDATA[Analog Input {0} card error]]></DisplayName><Severity>Error</Severity></EventId><EventId><Name Id="3">AIShortCircuit</Name><DisplayName TxtId=""><![CDATA[Analog Input {0} short circuit]]></DisplayName><Severity>Error</Severity></EventId><EventId><Name Id="4">AIConfigError</Name><DisplayName TxtId=""><![CDATA[Analog Input {0} configuration error]]></DisplayName><Severity>Error</Severity></EventId><EventId><Name Id="5">ErrorLow</Name><DisplayName TxtId=""><![CDATA[Analog Input {0}: Input Value below error limit ({1})]]></DisplayName><Severity>Error</Severity></EventId><EventId><Name Id="6">WarningLow</Name><DisplayName TxtId=""><![CDATA[Analog Input {0}: Input Value below warning limit ({1})]]></DisplayName><Severity>Warning</Severity></EventId><EventId><Name Id="7">WarningHigh</Name><DisplayName TxtId=""><![CDATA[Analog Input {0}: Input Value above warning limit ({1})]]></DisplayName><Severity>Warning</Severity></EventId><EventId><Name Id="8">ErrorHigh</Name><DisplayName TxtId=""><![CDATA[Analog Input {0}: Input Value above error limit ({1})]]></DisplayName><Severity>Error</Severity></EventId><Hides><Hide GUID="{CFDBCB17-E009-47CB-8A48-51761620D915}" /><Hide GUID="{5E91174A-345C-4D54-8553-597C5E766BAF}" /><Hide GUID="{86CD9907-35FF-480E-984B-6EFADE355DCD}" /><Hide GUID="{BC062530-6B1F-4820-A83D-33A4FB6C0C84}" /><Hide GUID="{44250485-E247-49CF-9C69-8B4A83218CB2}" /><Hide GUID="{D3C401D7-7A06-4D3C-B4ED-7DC241738A86}" /><Hide GUID="{491585E4-F904-46E4-8B7A-9E2E09D0776D}" /><Hide GUID="{E651709D-C546-4D1A-AAF4-C04C86D8BBCC}" /><Hide GUID="{C86A293A-2791-4AD8-8B78-23D947BEEC89}" /><Hide GUID="{C77DE3ED-386D-4374-B6DC-C8CB11D67580}" /><Hide GUID="{38F14EC9-A62F-4644-93C3-CA6A2EE67BF5}" /></Hides></DataType><DataType><Name>ST_AnalogInput</Name><BitSize>1536</BitSize><SubItem><Name>AIOpenCircuit</Name><Type GUID="{F00C83AD-DEC8-486E-AE99-5E0A75C26DE0}">TcEventEntry</Type><BitSize>192</BitSize><BitOffs>0</BitOffs><Default><SubItem><Name>.uuidEventClass.Data1</Name><Value>192311624</Value></SubItem><SubItem><Name>.uuidEventClass.Data2</Name><Value>36805</Value></SubItem><SubItem><Name>.uuidEventClass.Data3</Name><Value>17216</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[0]</Name><Value>182</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[1]</Name><Value>235</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[2]</Name><Value>97</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[3]</Name><Value>81</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[4]</Name><Value>228</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[5]</Name><Value>159</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[6]</Name><Value>201</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[7]</Name><Value>255</Value></SubItem><SubItem><Name>.nEventID</Name><EnumText>E_AnalogInput.AIOpenCircuit</EnumText></SubItem><SubItem><Name>.eSeverity</Name><EnumText>TcEventSeverity.Error</EnumText></SubItem></Default></SubItem><SubItem><Name>AICardFailure</Name><Type GUID="{F00C83AD-DEC8-486E-AE99-5E0A75C26DE0}">TcEventEntry</Type><BitSize>192</BitSize><BitOffs>192</BitOffs><Default><SubItem><Name>.uuidEventClass.Data1</Name><Value>192311624</Value></SubItem><SubItem><Name>.uuidEventClass.Data2</Name><Value>36805</Value></SubItem><SubItem><Name>.uuidEventClass.Data3</Name><Value>17216</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[0]</Name><Value>182</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[1]</Name><Value>235</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[2]</Name><Value>97</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[3]</Name><Value>81</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[4]</Name><Value>228</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[5]</Name><Value>159</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[6]</Name><Value>201</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[7]</Name><Value>255</Value></SubItem><SubItem><Name>.nEventID</Name><EnumText>E_AnalogInput.AICardFailure</EnumText></SubItem><SubItem><Name>.eSeverity</Name><EnumText>TcEventSeverity.Error</EnumText></SubItem></Default></SubItem><SubItem><Name>AIShortCircuit</Name><Type GUID="{F00C83AD-DEC8-486E-AE99-5E0A75C26DE0}">TcEventEntry</Type><BitSize>192</BitSize><BitOffs>384</BitOffs><Default><SubItem><Name>.uuidEventClass.Data1</Name><Value>192311624</Value></SubItem><SubItem><Name>.uuidEventClass.Data2</Name><Value>36805</Value></SubItem><SubItem><Name>.uuidEventClass.Data3</Name><Value>17216</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[0]</Name><Value>182</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[1]</Name><Value>235</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[2]</Name><Value>97</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[3]</Name><Value>81</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[4]</Name><Value>228</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[5]</Name><Value>159</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[6]</Name><Value>201</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[7]</Name><Value>255</Value></SubItem><SubItem><Name>.nEventID</Name><EnumText>E_AnalogInput.AIShortCircuit</EnumText></SubItem><SubItem><Name>.eSeverity</Name><EnumText>TcEventSeverity.Error</EnumText></SubItem></Default></SubItem><SubItem><Name>AIConfigError</Name><Type GUID="{F00C83AD-DEC8-486E-AE99-5E0A75C26DE0}">TcEventEntry</Type><BitSize>192</BitSize><BitOffs>576</BitOffs><Default><SubItem><Name>.uuidEventClass.Data1</Name><Value>192311624</Value></SubItem><SubItem><Name>.uuidEventClass.Data2</Name><Value>36805</Value></SubItem><SubItem><Name>.uuidEventClass.Data3</Name><Value>17216</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[0]</Name><Value>182</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[1]</Name><Value>235</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[2]</Name><Value>97</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[3]</Name><Value>81</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[4]</Name><Value>228</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[5]</Name><Value>159</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[6]</Name><Value>201</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[7]</Name><Value>255</Value></SubItem><SubItem><Name>.nEventID</Name><EnumText>E_AnalogInput.AIConfigError</EnumText></SubItem><SubItem><Name>.eSeverity</Name><EnumText>TcEventSeverity.Error</EnumText></SubItem></Default></SubItem><SubItem><Name>ErrorLow</Name><Type GUID="{F00C83AD-DEC8-486E-AE99-5E0A75C26DE0}">TcEventEntry</Type><BitSize>192</BitSize><BitOffs>768</BitOffs><Default><SubItem><Name>.uuidEventClass.Data1</Name><Value>192311624</Value></SubItem><SubItem><Name>.uuidEventClass.Data2</Name><Value>36805</Value></SubItem><SubItem><Name>.uuidEventClass.Data3</Name><Value>17216</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[0]</Name><Value>182</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[1]</Name><Value>235</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[2]</Name><Value>97</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[3]</Name><Value>81</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[4]</Name><Value>228</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[5]</Name><Value>159</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[6]</Name><Value>201</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[7]</Name><Value>255</Value></SubItem><SubItem><Name>.nEventID</Name><EnumText>E_AnalogInput.ErrorLow</EnumText></SubItem><SubItem><Name>.eSeverity</Name><EnumText>TcEventSeverity.Error</EnumText></SubItem></Default></SubItem><SubItem><Name>WarningLow</Name><Type GUID="{F00C83AD-DEC8-486E-AE99-5E0A75C26DE0}">TcEventEntry</Type><BitSize>192</BitSize><BitOffs>960</BitOffs><Default><SubItem><Name>.uuidEventClass.Data1</Name><Value>192311624</Value></SubItem><SubItem><Name>.uuidEventClass.Data2</Name><Value>36805</Value></SubItem><SubItem><Name>.uuidEventClass.Data3</Name><Value>17216</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[0]</Name><Value>182</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[1]</Name><Value>235</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[2]</Name><Value>97</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[3]</Name><Value>81</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[4]</Name><Value>228</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[5]</Name><Value>159</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[6]</Name><Value>201</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[7]</Name><Value>255</Value></SubItem><SubItem><Name>.nEventID</Name><EnumText>E_AnalogInput.WarningLow</EnumText></SubItem><SubItem><Name>.eSeverity</Name><EnumText>TcEventSeverity.Warning</EnumText></SubItem></Default></SubItem><SubItem><Name>WarningHigh</Name><Type GUID="{F00C83AD-DEC8-486E-AE99-5E0A75C26DE0}">TcEventEntry</Type><BitSize>192</BitSize><BitOffs>1152</BitOffs><Default><SubItem><Name>.uuidEventClass.Data1</Name><Value>192311624</Value></SubItem><SubItem><Name>.uuidEventClass.Data2</Name><Value>36805</Value></SubItem><SubItem><Name>.uuidEventClass.Data3</Name><Value>17216</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[0]</Name><Value>182</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[1]</Name><Value>235</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[2]</Name><Value>97</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[3]</Name><Value>81</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[4]</Name><Value>228</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[5]</Name><Value>159</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[6]</Name><Value>201</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[7]</Name><Value>255</Value></SubItem><SubItem><Name>.nEventID</Name><EnumText>E_AnalogInput.WarningHigh</EnumText></SubItem><SubItem><Name>.eSeverity</Name><EnumText>TcEventSeverity.Warning</EnumText></SubItem></Default></SubItem><SubItem><Name>ErrorHigh</Name><Type GUID="{F00C83AD-DEC8-486E-AE99-5E0A75C26DE0}">TcEventEntry</Type><BitSize>192</BitSize><BitOffs>1344</BitOffs><Default><SubItem><Name>.uuidEventClass.Data1</Name><Value>192311624</Value></SubItem><SubItem><Name>.uuidEventClass.Data2</Name><Value>36805</Value></SubItem><SubItem><Name>.uuidEventClass.Data3</Name><Value>17216</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[0]</Name><Value>182</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[1]</Name><Value>235</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[2]</Name><Value>97</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[3]</Name><Value>81</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[4]</Name><Value>228</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[5]</Name><Value>159</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[6]</Name><Value>201</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[7]</Name><Value>255</Value></SubItem><SubItem><Name>.nEventID</Name><EnumText>E_AnalogInput.ErrorHigh</EnumText></SubItem><SubItem><Name>.eSeverity</Name><EnumText>TcEventSeverity.Error</EnumText></SubItem></Default></SubItem><Properties><Property><Name>TcTypeSystem</Name></Property><Property><Name>signature_flag</Name><Value>33554432</Value></Property><Property><Name>checksuperglobal</Name></Property><Property><Name>show</Name></Property><Property><Name>no-analysis</Name></Property><Property><Name>TcEventClass</Name><Value>AnalogInput</Value></Property></Properties></DataType><DataType><Name GUID="{8BFB4FDD-3EEC-40D7-987E-004CDA8B9B54}">AnalogOutput</Name><DisplayName TxtId=""><![CDATA[EventClass3_DisplayText]]></DisplayName><EventId><Name Id="1">ConfigError</Name><DisplayName TxtId=""><![CDATA[Analog output {0} config error]]></DisplayName><Severity>Error</Severity></EventId><Hides><Hide GUID="{54E80CE6-E875-4F9C-8D39-994706A44F88}" /></Hides></DataType><DataType><Name>ST_AnalogOutput</Name><BitSize>192</BitSize><SubItem><Name>ConfigError</Name><Type GUID="{F00C83AD-DEC8-486E-AE99-5E0A75C26DE0}">TcEventEntry</Type><BitSize>192</BitSize><BitOffs>0</BitOffs><Default><SubItem><Name>.uuidEventClass.Data1</Name><Value>2348503005</Value></SubItem><SubItem><Name>.uuidEventClass.Data2</Name><Value>16108</Value></SubItem><SubItem><Name>.uuidEventClass.Data3</Name><Value>16599</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[0]</Name><Value>152</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[1]</Name><Value>126</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[2]</Name><Value>0</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[3]</Name><Value>76</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[4]</Name><Value>218</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[5]</Name><Value>139</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[6]</Name><Value>155</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[7]</Name><Value>84</Value></SubItem><SubItem><Name>.nEventID</Name><EnumText>E_AnalogOutput.ConfigError</EnumText></SubItem><SubItem><Name>.eSeverity</Name><EnumText>TcEventSeverity.Error</EnumText></SubItem></Default></SubItem><Properties><Property><Name>TcTypeSystem</Name></Property><Property><Name>signature_flag</Name><Value>33554432</Value></Property><Property><Name>checksuperglobal</Name></Property><Property><Name>show</Name></Property><Property><Name>no-analysis</Name></Property><Property><Name>TcEventClass</Name><Value>AnalogOutput</Value></Property></Properties></DataType></DataTypes><Modules><Module GUID="{38921A44-C50C-41E2-854B-4368E8BBAC4C}" TcSmClass="TComPlcObjDef" TargetPlatform="TwinCAT RT (x64)"><Name>PLC_SIM</Name><CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID><Licenses /><Contexts><Context><Id NeedCalleeCall="true">0</Id><Name>PlcTask</Name><ManualConfig><OTCID>#x02010040</OTCID></ManualConfig></Context></Contexts><Parameters /><DataAreas><DataArea><AreaNo AreaType="InputDst" CreateSymbols="true">0</AreaNo><Name>PlcTask Inputs</Name><ContextId>0</ContextId><ByteSize>79953920</ByteSize><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbPosolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633562112</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbPosolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633562120</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbNegolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633562752</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbNegolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633562760</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbPosolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633563392</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbPosolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633563408</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbNegolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633617408</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbNegolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633617424</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbPosolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633735232</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbPosolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633735240</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbNegolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633735872</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbNegolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633735880</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbPosolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633736512</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbPosolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633736528</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbNegolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633790528</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbNegolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633790544</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbPosolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633908352</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbPosolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633908360</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbNegolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633908992</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbNegolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633909000</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbPosolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633909632</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbPosolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633909648</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbNegolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633963648</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbNegolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>633963664</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbPosolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634081472</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbPosolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634081480</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbNegolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634082112</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbNegolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634082120</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbPosolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634082752</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbPosolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634082768</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbNegolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634136768</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbNegolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634136784</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbPosolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634254784</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbPosolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634254792</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbNegolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634255424</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbNegolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634255432</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbPosolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634256064</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbPosolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634256080</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbNegolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634310080</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbNegolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634310096</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbPosolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634427904</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbPosolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634427912</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbNegolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634428544</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbNegolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634428552</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbPosolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634429184</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbPosolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634429200</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbNegolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634483200</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbNegolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634483216</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbPosolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634601024</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbPosolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634601032</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbNegolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634601664</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbNegolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634601672</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbPosolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634602304</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbPosolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634602320</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbNegolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634656320</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbNegolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634656336</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbPosolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634774144</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbPosolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634774152</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbNegolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634774784</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbNegolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634774792</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbPosolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634775424</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbPosolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634775440</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbNegolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634829440</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbNegolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634829456</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbPosolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634947456</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbPosolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634947464</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbNegolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634948096</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbNegolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634948104</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbPosolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634948736</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbPosolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>634948752</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbNegolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635002752</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbNegolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635002768</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbPosolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635120576</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbPosolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635120584</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbNegolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635121216</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbNegolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635121224</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbPosolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635121856</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbPosolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635121872</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbNegolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635175872</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbNegolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635175888</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbPosolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635293696</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbPosolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635293704</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbNegolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635294336</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbNegolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635294344</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbPosolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635294976</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbPosolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635294992</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbNegolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635348992</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbNegolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635349008</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbPosolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635466816</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbPosolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635466824</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbNegolytValveTankOutlet.xOpenValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635467456</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbNegolytValveTankOutlet.xCloseValve</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635467464</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbPosolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635468096</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbPosolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635468112</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbNegolytPumpInlet.xEnable</Name><Comment><![CDATA[ Enable motor]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635522112</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbNegolytPumpInlet.iSetpoint</Name><Comment><![CDATA[ Motor setpoint]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Input</Value></Property></Properties><BitOffs>635522128</BitOffs></Symbol></DataArea><DataArea><AreaNo AreaType="OutputSrc" CreateSymbols="true">1</AreaNo><Name>PlcTask Outputs</Name><ContextId>0</ContextId><ByteSize>79953920</ByteSize><Symbol><Name>GVL_GLOBAL.xEmergencyStopOk</Name><Comment><![CDATA[ Emergency stop ok]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3286888</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbPosolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633562144</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbPosolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633562152</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbNegolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633562784</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbNegolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633562792</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbPosolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633563440</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbNegolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633617456</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbPressurePosolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633672384</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbPressurePosolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633681472</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbPressureNegolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633690560</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbPressureNegolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633699648</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbTemperatureSensorPosolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633708736</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbTemperatureSensorNegolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633717824</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[0]._fbVoltageSegment.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633726912</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbPosolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633735264</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbPosolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633735272</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbNegolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633735904</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbNegolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633735912</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbPosolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633736560</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbNegolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633790576</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbPressurePosolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633845504</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbPressurePosolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633854592</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbPressureNegolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633863680</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbPressureNegolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633872768</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbTemperatureSensorPosolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633881856</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbTemperatureSensorNegolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633890944</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[1]._fbVoltageSegment.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633900032</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbPosolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633908384</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbPosolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633908392</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbNegolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633909024</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbNegolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633909032</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbPosolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633909680</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbNegolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>633963696</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbPressurePosolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634018624</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbPressurePosolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634027712</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbPressureNegolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634036800</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbPressureNegolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634045888</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbTemperatureSensorPosolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634054976</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbTemperatureSensorNegolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634064064</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[2]._fbVoltageSegment.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634073152</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbPosolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634081504</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbPosolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634081512</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbNegolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634082144</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbNegolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634082152</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbPosolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634082800</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbNegolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634136816</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbPressurePosolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634191744</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbPressurePosolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634200832</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbPressureNegolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634209920</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbPressureNegolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634219008</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbTemperatureSensorPosolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634228096</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbTemperatureSensorNegolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634237184</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[0].afbUnits[3]._fbVoltageSegment.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634246272</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbPosolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634254816</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbPosolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634254824</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbNegolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634255456</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbNegolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634255464</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbPosolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634256112</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbNegolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634310128</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbPressurePosolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634365056</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbPressurePosolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634374144</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbPressureNegolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634383232</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbPressureNegolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634392320</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbTemperatureSensorPosolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634401408</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbTemperatureSensorNegolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634410496</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[0]._fbVoltageSegment.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634419584</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbPosolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634427936</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbPosolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634427944</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbNegolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634428576</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbNegolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634428584</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbPosolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634429232</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbNegolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634483248</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbPressurePosolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634538176</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbPressurePosolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634547264</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbPressureNegolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634556352</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbPressureNegolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634565440</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbTemperatureSensorPosolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634574528</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbTemperatureSensorNegolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634583616</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[1]._fbVoltageSegment.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634592704</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbPosolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634601056</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbPosolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634601064</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbNegolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634601696</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbNegolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634601704</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbPosolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634602352</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbNegolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634656368</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbPressurePosolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634711296</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbPressurePosolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634720384</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbPressureNegolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634729472</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbPressureNegolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634738560</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbTemperatureSensorPosolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634747648</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbTemperatureSensorNegolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634756736</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[2]._fbVoltageSegment.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634765824</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbPosolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634774176</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbPosolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634774184</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbNegolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634774816</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbNegolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634774824</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbPosolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634775472</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbNegolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634829488</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbPressurePosolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634884416</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbPressurePosolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634893504</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbPressureNegolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634902592</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbPressureNegolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634911680</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbTemperatureSensorPosolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634920768</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbTemperatureSensorNegolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634929856</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[1].afbUnits[3]._fbVoltageSegment.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634938944</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbPosolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634947488</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbPosolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634947496</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbNegolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634948128</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbNegolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634948136</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbPosolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>634948784</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbNegolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635002800</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbPressurePosolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635057728</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbPressurePosolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635066816</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbPressureNegolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635075904</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbPressureNegolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635084992</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbTemperatureSensorPosolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635094080</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbTemperatureSensorNegolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635103168</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[0]._fbVoltageSegment.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635112256</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbPosolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635120608</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbPosolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635120616</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbNegolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635121248</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbNegolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635121256</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbPosolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635121904</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbNegolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635175920</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbPressurePosolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635230848</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbPressurePosolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635239936</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbPressureNegolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635249024</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbPressureNegolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635258112</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbTemperatureSensorPosolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635267200</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbTemperatureSensorNegolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635276288</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[1]._fbVoltageSegment.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635285376</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbPosolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635293728</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbPosolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635293736</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbNegolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635294368</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbNegolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635294376</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbPosolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635295024</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbNegolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635349040</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbPressurePosolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635403968</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbPressurePosolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635413056</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbPressureNegolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635422144</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbPressureNegolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635431232</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbTemperatureSensorPosolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635440320</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbTemperatureSensorNegolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635449408</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[2]._fbVoltageSegment.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635458496</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbPosolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635466848</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbPosolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635466856</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbNegolytValveTankOutlet.xOpenFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635467488</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbNegolytValveTankOutlet.xCloseFeedback</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635467496</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbPosolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635468144</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbNegolytPumpInlet.iMotorSpeedFeedback</Name><Comment><![CDATA[ Motor speed feedback]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635522160</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbPressurePosolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635577088</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbPressurePosolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635586176</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbPressureNegolytSegmentInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635595264</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbPressureNegolytTankInlet.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635604352</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbTemperatureSensorPosolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635613440</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbTemperatureSensorNegolyt.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635622528</BitOffs></Symbol><Symbol><Name>MAIN.fbString.afbModules[2].afbUnits[3]._fbVoltageSegment.iAnalogValue</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635631616</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[0].xMCBOkPumpPosolyt</Name><Comment><![CDATA[ MCB ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635646800</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[0].xRepairSwitchOkPumpPosolyt</Name><Comment><![CDATA[ Repair switch ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635646808</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[0].xMCBOkPumpNegolyt</Name><Comment><![CDATA[ MCB ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635646816</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[0].xRepairSwitchOkPumpNegolyt</Name><Comment><![CDATA[ Repair switch ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635646824</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[1].xMCBOkPumpPosolyt</Name><Comment><![CDATA[ MCB ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635646976</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[1].xRepairSwitchOkPumpPosolyt</Name><Comment><![CDATA[ Repair switch ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635646984</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[1].xMCBOkPumpNegolyt</Name><Comment><![CDATA[ MCB ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635646992</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[1].xRepairSwitchOkPumpNegolyt</Name><Comment><![CDATA[ Repair switch ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647000</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[2].xMCBOkPumpPosolyt</Name><Comment><![CDATA[ MCB ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647152</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[2].xRepairSwitchOkPumpPosolyt</Name><Comment><![CDATA[ Repair switch ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647160</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[2].xMCBOkPumpNegolyt</Name><Comment><![CDATA[ MCB ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647168</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[2].xRepairSwitchOkPumpNegolyt</Name><Comment><![CDATA[ Repair switch ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647176</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[3].xMCBOkPumpPosolyt</Name><Comment><![CDATA[ MCB ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647328</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[3].xRepairSwitchOkPumpPosolyt</Name><Comment><![CDATA[ Repair switch ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647336</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[3].xMCBOkPumpNegolyt</Name><Comment><![CDATA[ MCB ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647344</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[0].astUnitErrors[3].xRepairSwitchOkPumpNegolyt</Name><Comment><![CDATA[ Repair switch ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647352</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[0].xMCBOkPumpPosolyt</Name><Comment><![CDATA[ MCB ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647504</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[0].xRepairSwitchOkPumpPosolyt</Name><Comment><![CDATA[ Repair switch ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647512</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[0].xMCBOkPumpNegolyt</Name><Comment><![CDATA[ MCB ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647520</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[0].xRepairSwitchOkPumpNegolyt</Name><Comment><![CDATA[ Repair switch ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647528</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[1].xMCBOkPumpPosolyt</Name><Comment><![CDATA[ MCB ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647680</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[1].xRepairSwitchOkPumpPosolyt</Name><Comment><![CDATA[ Repair switch ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647688</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[1].xMCBOkPumpNegolyt</Name><Comment><![CDATA[ MCB ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647696</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[1].xRepairSwitchOkPumpNegolyt</Name><Comment><![CDATA[ Repair switch ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647704</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[2].xMCBOkPumpPosolyt</Name><Comment><![CDATA[ MCB ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647856</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[2].xRepairSwitchOkPumpPosolyt</Name><Comment><![CDATA[ Repair switch ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647864</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[2].xMCBOkPumpNegolyt</Name><Comment><![CDATA[ MCB ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647872</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[2].xRepairSwitchOkPumpNegolyt</Name><Comment><![CDATA[ Repair switch ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635647880</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[3].xMCBOkPumpPosolyt</Name><Comment><![CDATA[ MCB ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648032</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[3].xRepairSwitchOkPumpPosolyt</Name><Comment><![CDATA[ Repair switch ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648040</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[3].xMCBOkPumpNegolyt</Name><Comment><![CDATA[ MCB ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648048</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[1].astUnitErrors[3].xRepairSwitchOkPumpNegolyt</Name><Comment><![CDATA[ Repair switch ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648056</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[0].xMCBOkPumpPosolyt</Name><Comment><![CDATA[ MCB ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648208</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[0].xRepairSwitchOkPumpPosolyt</Name><Comment><![CDATA[ Repair switch ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648216</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[0].xMCBOkPumpNegolyt</Name><Comment><![CDATA[ MCB ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648224</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[0].xRepairSwitchOkPumpNegolyt</Name><Comment><![CDATA[ Repair switch ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648232</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[1].xMCBOkPumpPosolyt</Name><Comment><![CDATA[ MCB ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648384</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[1].xRepairSwitchOkPumpPosolyt</Name><Comment><![CDATA[ Repair switch ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648392</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[1].xMCBOkPumpNegolyt</Name><Comment><![CDATA[ MCB ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648400</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[1].xRepairSwitchOkPumpNegolyt</Name><Comment><![CDATA[ Repair switch ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648408</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[2].xMCBOkPumpPosolyt</Name><Comment><![CDATA[ MCB ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648560</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[2].xRepairSwitchOkPumpPosolyt</Name><Comment><![CDATA[ Repair switch ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648568</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[2].xMCBOkPumpNegolyt</Name><Comment><![CDATA[ MCB ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648576</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[2].xRepairSwitchOkPumpNegolyt</Name><Comment><![CDATA[ Repair switch ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648584</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[3].xMCBOkPumpPosolyt</Name><Comment><![CDATA[ MCB ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648736</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[3].xRepairSwitchOkPumpPosolyt</Name><Comment><![CDATA[ Repair switch ok pump posolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648744</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[3].xMCBOkPumpNegolyt</Name><Comment><![CDATA[ MCB ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648752</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError.stModuleError[2].astUnitErrors[3].xRepairSwitchOkPumpNegolyt</Name><Comment><![CDATA[ Repair switch ok pump negolyt]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcAddressType</Name><Value>Output</Value></Property></Properties><BitOffs>635648760</BitOffs></Symbol></DataArea><DataArea><AreaNo AreaType="Internal" CreateSymbols="true">3</AreaNo><Name>PlcTask Internal</Name><ContextId>0</ContextId><ByteSize>79953920</ByteSize><Symbol><Name>GVL_TYPE_CONST.INT_MIN</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Default><Value>-32768</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072000</BitOffs></Symbol><Symbol><Name>GVL_TYPE_CONST.INT_MAX</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Default><Value>32767</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072016</BitOffs></Symbol><Symbol><Name>GVL_TYPE_CONST.UINT_MAX</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>65535</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072032</BitOffs></Symbol><Symbol><Name>GVL_TYPE_CONST.UINT_MIN</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>0</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072048</BitOffs></Symbol><Symbol><Name>GVL_TYPE_CONST.DINT_MAX</Name><BitSize>32</BitSize><BaseType>DINT</BaseType><Default><Value>2147483647</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072064</BitOffs></Symbol><Symbol><Name>GVL_TYPE_CONST.DINT_MIN</Name><BitSize>32</BitSize><BaseType>DINT</BaseType><Default><Value>-2147483648</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072096</BitOffs></Symbol><Symbol><Name>GVL_TYPE_CONST.UDINT_MAX</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>4294967295</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072128</BitOffs></Symbol><Symbol><Name>GVL_TYPE_CONST.UDINT_MIN</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>0</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072160</BitOffs></Symbol><Symbol><Name>GVL_TYPE_CONST.REAL_MAX</Name><BitSize>32</BitSize><BaseType>REAL</BaseType><Default><Value>3.042823E+38</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072192</BitOffs></Symbol><Symbol><Name>GVL_TYPE_CONST.REAL_MIN</Name><BitSize>32</BitSize><BaseType>REAL</BaseType><Default><Value>1E-44</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072224</BitOffs></Symbol><Symbol><Name>GVL_VALVE.MAX_INTERLOCKS</Name><Comment><![CDATA[ Maximum number of different interlock conditions for one valve
|
|
Since an interlock is defined as a WORD (size 16 BIT),
|
|
we have 16 interlocks ]]></Comment><BitSize>8</BitSize><BaseType>USINT</BaseType><Default><Value>16</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072256</BitOffs></Symbol><Symbol><Name>Global_Variables.BOOTDATAFLAGS_RETAIN_LOADED</Name><Comment><![CDATA[ Retain data loaded ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>1</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072264</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_LOGGER</Name><Comment><![CDATA[ Logger ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>100</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072272</BitOffs></Symbol><Symbol><Name>Global_Version.stLibVersion_BaseLib</Name><BitSize>288</BitSize><BaseType GUID="{6F5942ED-BFA1-497D-8225-23C6DAAD0A09}">ST_LibVersion</BaseType><Default><SubItem><Name>.iMajor</Name><Value>1</Value></SubItem><SubItem><Name>.iMinor</Name><Value>0</Value></SubItem><SubItem><Name>.iBuild</Name><Value>1</Value></SubItem><SubItem><Name>.iRevision</Name><Value>0</Value></SubItem><SubItem><Name>.nFlags</Name><Value>0</Value></SubItem><SubItem><Name>.sVersion</Name><String>1.0.1</String></SubItem></Default><Properties><Property><Name>const_non_replaced</Name></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072288</BitOffs></Symbol><Symbol><Name>Global_Version.stLibVersion_Tc2_Standard</Name><BitSize>288</BitSize><BaseType GUID="{6F5942ED-BFA1-497D-8225-23C6DAAD0A09}">ST_LibVersion</BaseType><Default><SubItem><Name>.iMajor</Name><Value>3</Value></SubItem><SubItem><Name>.iMinor</Name><Value>3</Value></SubItem><SubItem><Name>.iBuild</Name><Value>3</Value></SubItem><SubItem><Name>.iRevision</Name><Value>0</Value></SubItem><SubItem><Name>.nFlags</Name><Value>0</Value></SubItem><SubItem><Name>.sVersion</Name><String>3.3.3.0</String></SubItem></Default><Properties><Property><Name>const_non_replaced</Name></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072576</BitOffs></Symbol><Symbol><Name>Global_Version.stLibVersion_Tc2_System</Name><BitSize>288</BitSize><BaseType GUID="{6F5942ED-BFA1-497D-8225-23C6DAAD0A09}">ST_LibVersion</BaseType><Default><SubItem><Name>.iMajor</Name><Value>3</Value></SubItem><SubItem><Name>.iMinor</Name><Value>5</Value></SubItem><SubItem><Name>.iBuild</Name><Value>3</Value></SubItem><SubItem><Name>.iRevision</Name><Value>0</Value></SubItem><SubItem><Name>.nFlags</Name><Value>1</Value></SubItem><SubItem><Name>.sVersion</Name><String>3.5.3.0</String></SubItem></Default><Properties><Property><Name>const_non_replaced</Name></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3072864</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_EVENTLOG</Name><Comment><![CDATA[ Event logger ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>110</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073152</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_RTIME</Name><Comment><![CDATA[ R0 Real time ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>200</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073168</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_IO</Name><Comment><![CDATA[ I/O Driver ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>300</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073184</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_NC</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>500</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073200</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_NCSAF</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>501</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073216</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_NCSVB</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>511</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073232</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_ISG</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>550</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073248</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_CNC</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>600</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073264</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_LINE</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>700</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073280</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_PLC</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>800</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073296</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_PLC_RTS1</Name><Comment><![CDATA[ TwinCAT v2.xx first PLC runtime system ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>801</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073312</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_PLC_RTS2</Name><Comment><![CDATA[ TwinCAT v2.xx second PLC runtime system ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>811</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073328</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_PLC_RTS3</Name><Comment><![CDATA[ TwinCAT v2.xx third PLC runtime system ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>821</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073344</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_PLC_RTS4</Name><Comment><![CDATA[ TwinCAT v2.xx fourth PLC runtime system ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>831</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073360</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_CAM</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>900</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073376</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R0_CAMTOOL</Name><Comment><![CDATA[ Camming tool ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>950</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073392</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R3_SYSSERV</Name><Comment><![CDATA[ TwinCAT System Service ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>10000</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073408</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_R3_SCOPESERVER</Name><Comment><![CDATA[ TwinCAT Scope Server ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>14001</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073424</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_INVALID</Name><Comment><![CDATA[ Invalid ADS state ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>0</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073440</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_IDLE</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>1</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073456</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_RESET</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>2</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073472</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_INIT</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>3</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073488</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_START</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>4</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073504</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_RUN</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>5</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073520</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_STOP</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>6</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073536</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_SAVECFG</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>7</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073552</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_LOADCFG</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>8</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073568</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_POWERFAILURE</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>9</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073584</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_POWERGOOD</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>10</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073600</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_ERROR</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>11</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073616</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_SHUTDOWN</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>12</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073632</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_SUSPEND</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>13</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073648</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_RESUME</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>14</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073664</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_CONFIG</Name><Comment><![CDATA[ System is in config mode ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>15</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073680</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_RECONFIG</Name><Comment><![CDATA[ System should restart in config mode ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>16</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073696</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_STOPPING</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>17</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073712</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_INCOMPATIBLE</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>18</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073728</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_EXCEPTION</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>19</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073744</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSSTATE_MAXSTATES</Name><Comment><![CDATA[ Max. number of available ads states ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>20</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073760</BitOffs></Symbol><Symbol><Name>Global_Variables.BOOTDATAFLAGS_RETAIN_INVALID</Name><Comment><![CDATA[ Retain data is invalid ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>2</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073776</BitOffs></Symbol><Symbol><Name>Global_Variables.BOOTDATAFLAGS_RETAIN_REQUESTED</Name><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>4</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073784</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYMTAB</Name><Comment><![CDATA[ Symbol table ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61440</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073792</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYMNAME</Name><Comment><![CDATA[ Symbol name ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61441</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073824</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYMVAL</Name><Comment><![CDATA[ Symbol value ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61442</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073856</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYM_HNDBYNAME</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61443</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073888</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYM_VALBYNAME</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61444</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073920</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYM_VALBYHND</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61445</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073952</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYM_RELEASEHND</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61446</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3073984</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYM_INFOBYNAME</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61447</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074016</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYM_VERSION</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61448</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074048</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYM_INFOBYNAMEEX</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61449</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074080</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYM_DOWNLOAD</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61450</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074112</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYM_UPLOAD</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61451</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074144</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYM_UPLOADINFO</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61452</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074176</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_SYMNOTE</Name><Comment><![CDATA[ Notification of named handle ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61456</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074208</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_IOIMAGE_RWIB</Name><Comment><![CDATA[ Read/write input BYTE(S) ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61472</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074240</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_IOIMAGE_RWIX</Name><Comment><![CDATA[ Read/write input bit ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61473</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074272</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_IOIMAGE_RISIZE</Name><Comment><![CDATA[ Read input size (in BYTE) ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61477</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074304</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_IOIMAGE_RWOB</Name><Comment><![CDATA[ Read/write output BYTE(S) ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61488</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074336</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_IOIMAGE_RWOX</Name><Comment><![CDATA[ Read/write output bit ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61489</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074368</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_IOIMAGE_ROSIZE</Name><Comment><![CDATA[ Read/write output bit ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61493</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074400</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_IOIMAGE_CLEARI</Name><Comment><![CDATA[ Write inputs TO null ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61504</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074432</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_IOIMAGE_CLEARO</Name><Comment><![CDATA[ Write outputs TO null ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61520</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074464</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_IOIMAGE_RWIOB</Name><Comment><![CDATA[ Read input AND write output BYTE(S) ADS-READWRITE ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61536</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074496</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIGRP_DEVICE_DATA</Name><Comment><![CDATA[ State, name, etc... ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>61696</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074528</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIOFFS_DEVDATA_ADSSTATE</Name><Comment><![CDATA[ Ads state OF device ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>0</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074560</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSIOFFS_DEVDATA_DEVSTATE</Name><Comment><![CDATA[ Device state ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>2</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074592</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_OPENCREATE</Name><Comment><![CDATA[ Open and if not existing create ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>100</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074624</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_OPENREAD</Name><Comment><![CDATA[ Open existing for read access ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>101</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074656</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_OPENWRITE</Name><Comment><![CDATA[ Open existing for write access ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>102</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074688</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_CREATEFILE</Name><Comment><![CDATA[ Create ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>110</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074720</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_CLOSEHANDLE</Name><Comment><![CDATA[ Close ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>111</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074752</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FOPEN</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>120</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074784</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FCLOSE</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>121</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074816</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FREAD</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>122</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074848</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FWRITE</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>123</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074880</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FSEEK</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>124</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074912</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FTELL</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>125</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074944</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FGETS</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>126</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3074976</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FPUTS</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>127</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075008</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FSCANF</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>128</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075040</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FPRINTF</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>129</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075072</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FEOF</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>130</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075104</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FDELETE</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>131</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075136</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FRENAME</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>132</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075168</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_MKDIR</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>138</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075200</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_RMDIR</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>139</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075232</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_REG_HKEYLOCALMACHINE</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>200</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075264</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_SENDEMAIL</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>300</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075296</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_TIMESERVICES</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>400</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075328</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_STARTPROCESS</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>500</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075360</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_CHANGENETID</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>600</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075392</BitOffs></Symbol><Symbol><Name>Global_Variables.TIMESERVICE_DATEANDTIME</Name><Comment><![CDATA[ Date/time ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>1</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075424</BitOffs></Symbol><Symbol><Name>Global_Variables.TIMESERVICE_SYSTEMTIMES</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>2</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075456</BitOffs></Symbol><Symbol><Name>Global_Variables.TIMESERVICE_RTCTIMEDIFF</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>3</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075488</BitOffs></Symbol><Symbol><Name>Global_Variables.TIMESERVICE_ADJUSTTIMETORTC</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>4</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075520</BitOffs></Symbol><Symbol><Name>Global_Variables.TIMESERVICE_TIMEZONINFORMATION</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>6</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075552</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSLOG_MSGTYPE_HINT</Name><Comment><![CDATA[ Hint icon ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>1</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075584</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSLOG_MSGTYPE_WARN</Name><Comment><![CDATA[ Warning icon ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>2</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075616</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSLOG_MSGTYPE_ERROR</Name><Comment><![CDATA[ Error icon ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>4</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075648</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSLOG_MSGTYPE_LOG</Name><Comment><![CDATA[ Write message to log file ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>16</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075680</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSLOG_MSGTYPE_MSGBOX</Name><Comment><![CDATA[ View message in message box ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>32</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075712</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSLOG_MSGTYPE_RESOURCE</Name><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>64</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075744</BitOffs></Symbol><Symbol><Name>Global_Variables.ADSLOG_MSGTYPE_STRING</Name><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>128</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075776</BitOffs></Symbol><Symbol><Name>Global_Variables.BOOTDATAFLAGS_PERSISTENT_LOADED</Name><Comment><![CDATA[ Persistent data loaded ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>16</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075808</BitOffs></Symbol><Symbol><Name>Global_Variables.BOOTDATAFLAGS_PERSISTENT_INVALID</Name><Comment><![CDATA[ Persistent data is invalid ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>32</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075816</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSTATEFLAGS_BSOD</Name><Comment><![CDATA[ Blue screen of death ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>1</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075824</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSTATEFLAGS_RTVIOLATION</Name><Comment><![CDATA[ Realtime violation - latency time ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>2</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075832</BitOffs></Symbol><Symbol><Name>Global_Variables.FOPEN_MODEREAD</Name><Comment><![CDATA["r": Opens for reading. If the file does not exist or cannot be found, the call fails.]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>1</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075840</BitOffs></Symbol><Symbol><Name>Global_Variables.FOPEN_MODEWRITE</Name><Comment><![CDATA["w": Opens an empty file for writing. If the given file exists, its contents are destroyed.]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>2</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075872</BitOffs></Symbol><Symbol><Name>Global_Variables.FOPEN_MODEAPPEND</Name><Comment><![CDATA["a": Opens for writing at the end of the file (appending) without removing the EOF marker before writing new data to the file; creates the file first if it doesnot exist.]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>4</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075904</BitOffs></Symbol><Symbol><Name>Global_Variables.FOPEN_MODEPLUS</Name><Comment><![CDATA["+": Opens for reading and writing]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>8</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075936</BitOffs></Symbol><Symbol><Name>Global_Variables.FOPEN_MODEBINARY</Name><Comment><![CDATA["b": Open in binary (untranslated) mode.]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>16</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3075968</BitOffs></Symbol><Symbol><Name>Global_Variables.FOPEN_MODETEXT</Name><Comment><![CDATA["t": Open in text (translated) mode.]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>32</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076000</BitOffs></Symbol><Symbol><Name>Global_Variables.TCEVENTFLAG_PRIOCLASS</Name><Comment><![CDATA[ Event class/priority through textformatter]]></Comment><BitSize>16</BitSize><BaseType>WORD</BaseType><Default><Value>16</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076256</BitOffs></Symbol><Symbol><Name>Global_Variables.TCEVENTFLAG_FMTSELF</Name><Comment><![CDATA[ Format in message ]]></Comment><BitSize>16</BitSize><BaseType>WORD</BaseType><Default><Value>32</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076272</BitOffs></Symbol><Symbol><Name>Global_Variables.TCEVENTFLAG_LOG</Name><Comment><![CDATA[ Write to log file ]]></Comment><BitSize>16</BitSize><BaseType>WORD</BaseType><Default><Value>64</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076288</BitOffs></Symbol><Symbol><Name>Global_Variables.TCEVENTFLAG_MSGBOX</Name><Comment><![CDATA[ Display message box ]]></Comment><BitSize>16</BitSize><BaseType>WORD</BaseType><Default><Value>128</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076304</BitOffs></Symbol><Symbol><Name>Global_Variables.TCEVENTFLAG_SRCID</Name><Comment><![CDATA[ Src id instead of source name ]]></Comment><BitSize>16</BitSize><BaseType>WORD</BaseType><Default><Value>256</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076320</BitOffs></Symbol><Symbol><Name>Global_Variables.TCEVENTFLAG_AUTOFMTALL</Name><BitSize>16</BitSize><BaseType>WORD</BaseType><Default><Value>4096</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076336</BitOffs></Symbol><Symbol><Name>Global_Variables.TCEVENTSTATE_INVALID</Name><Comment><![CDATA[ Event object is not initialized ]]></Comment><BitSize>16</BitSize><BaseType>WORD</BaseType><Default><Value>0</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076352</BitOffs></Symbol><Symbol><Name>Global_Variables.TCEVENTSTATE_SIGNALED</Name><Comment><![CDATA[ Event object is in a signaled state ]]></Comment><BitSize>16</BitSize><BaseType>WORD</BaseType><Default><Value>1</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076368</BitOffs></Symbol><Symbol><Name>Global_Variables.TCEVENTSTATE_RESET</Name><Comment><![CDATA[ Event object is in a reset state ]]></Comment><BitSize>16</BitSize><BaseType>WORD</BaseType><Default><Value>2</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076384</BitOffs></Symbol><Symbol><Name>Global_Variables.TCEVENTSTATE_CONFIRMED</Name><Comment><![CDATA[ Event object is confirmed but not reset ]]></Comment><BitSize>16</BitSize><BaseType>WORD</BaseType><Default><Value>16</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076400</BitOffs></Symbol><Symbol><Name>Global_Variables.TCEVENTSTATE_RESETCON</Name><Comment><![CDATA[ Event object is confirmed and reset ]]></Comment><BitSize>16</BitSize><BaseType>WORD</BaseType><Default><Value>18</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076416</BitOffs></Symbol><Symbol><Name>Global_Variables.TCEVENT_SRCNAMESIZE</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Default><Value>15</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076432</BitOffs></Symbol><Symbol><Name>Global_Variables.TCEVENT_FMTPRGSIZE</Name><BitSize>16</BitSize><BaseType>INT</BaseType><Default><Value>31</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076448</BitOffs></Symbol><Symbol><Name>Global_Variables.eWatchdogConfig</Name><BitSize>16</BitSize><BaseType Namespace="Tc2_System">E_WATCHDOG_TIME_CONFIG</BaseType><Default><EnumText>E_WATCHDOG_TIME_CONFIG.eWATCHDOG_TIME_DISABLED</EnumText></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076464</BitOffs></Symbol><Symbol><Name>Global_Variables.PI</Name><BitSize>64</BitSize><BaseType>LREAL</BaseType><Default><Value>3.14159265358979</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076480</BitOffs></Symbol><Symbol><Name>Global_Variables.DEFAULT_ADS_TIMEOUT</Name><Comment><![CDATA[ Default ADS timeout value ]]></Comment><BitSize>32</BitSize><BaseType>TIME</BaseType><Default><DateTime>5000</DateTime></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076544</BitOffs></Symbol><Symbol><Name>Global_Variables.MAX_STRING_LENGTH</Name><Comment><![CDATA[ Max. length of T_MaxString (inclusive null delimiter) ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>255</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3076576</BitOffs></Symbol><Symbol><Name>Global_Variables.nWatchdogTime</Name><Comment><![CDATA[ Watchdog time. Depending of g_WatchdogConfig : seconds or minutes ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3077120</BitOffs></Symbol><Symbol><Name>Global_Variables.GLOBAL_DCF77_SEQUENCE_CHECK</Name><Comment><![CDATA[ TRUE = Enable DCF77 telegram plausibility check (two telegrams are checked), FALSE = Disable check ]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>false</Bool></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3077128</BitOffs></Symbol><Symbol><Name>Global_Variables.MAX_AVERAGE_MEASURES</Name><Comment><![CDATA[ Max. number of measures used in the profiler function block: 2..100 ]]></Comment><BitSize>16</BitSize><BaseType>INT (2..100)</BaseType><Default><Value>10</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3077136</BitOffs></Symbol><Symbol><Name>Global_Version.stLibVersion_Tc3_Module</Name><BitSize>288</BitSize><BaseType GUID="{6F5942ED-BFA1-497D-8225-23C6DAAD0A09}">ST_LibVersion</BaseType><Default><SubItem><Name>.iMajor</Name><Value>3</Value></SubItem><SubItem><Name>.iMinor</Name><Value>3</Value></SubItem><SubItem><Name>.iBuild</Name><Value>23</Value></SubItem><SubItem><Name>.iRevision</Name><Value>0</Value></SubItem><SubItem><Name>.nFlags</Name><Value>1</Value></SubItem><SubItem><Name>.sVersion</Name><String>3.3.23.0</String></SubItem></Default><Properties><Property><Name>const_non_replaced</Name></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3077152</BitOffs></Symbol><Symbol><Name>.TCPADS_MAXUDP_BUFFSIZE</Name><Comment><![CDATA[ Max. byte size of UDP send/receive buffer ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>8192</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3077728</BitOffs></Symbol><Symbol><Name>.TCPADS_TLS_HOSTNAME_SIZE</Name><Comment><![CDATA[ Max. length of the host name string (without null delimiter) ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>255</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3077824</BitOffs></Symbol><Symbol><Name>.TCPADS_TLS_CERTIFICATE_PATH_SIZE</Name><Comment><![CDATA[ Max. length of the certificate path string (without null delimiter) ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>255</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3077856</BitOffs></Symbol><Symbol><Name>.TCPADS_TLS_KEY_PASSWORD_SIZE</Name><Comment><![CDATA[ Max. length of certificate password string (without null delimiter) ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>255</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3077888</BitOffs></Symbol><Symbol><Name>.TCPADS_TLS_PSK_IDENTITY_SIZE</Name><Comment><![CDATA[ Max. PSK identity string length (without null delimiter) ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>255</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3077920</BitOffs></Symbol><Symbol><Name>.TCPADS_TLS_MAX_PSK_KEY_SIZE</Name><Comment><![CDATA[ Max. PSK key byte size ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>128</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3077952</BitOffs></Symbol><Symbol><Name>Global_Version.stLibVersion_Tc2_TcpIp</Name><BitSize>288</BitSize><BaseType GUID="{6F5942ED-BFA1-497D-8225-23C6DAAD0A09}">ST_LibVersion</BaseType><Default><SubItem><Name>.iMajor</Name><Value>3</Value></SubItem><SubItem><Name>.iMinor</Name><Value>3</Value></SubItem><SubItem><Name>.iBuild</Name><Value>10</Value></SubItem><SubItem><Name>.iRevision</Name><Value>0</Value></SubItem><SubItem><Name>.nFlags</Name><Value>1</Value></SubItem><SubItem><Name>.sVersion</Name><String>3.3.10.0</String></SubItem></Default><Properties><Property><Name>const_non_replaced</Name></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3077984</BitOffs></Symbol><Symbol><Name>Global_Version.stLibVersion_Tc2_Utilities</Name><BitSize>288</BitSize><BaseType GUID="{6F5942ED-BFA1-497D-8225-23C6DAAD0A09}">ST_LibVersion</BaseType><Default><SubItem><Name>.iMajor</Name><Value>3</Value></SubItem><SubItem><Name>.iMinor</Name><Value>4</Value></SubItem><SubItem><Name>.iBuild</Name><Value>8</Value></SubItem><SubItem><Name>.iRevision</Name><Value>0</Value></SubItem><SubItem><Name>.nFlags</Name><Value>1</Value></SubItem><SubItem><Name>.sVersion</Name><String>3.4.8.0</String></SubItem></Default><Properties><Property><Name>const_non_replaced</Name></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3078272</BitOffs></Symbol><Symbol><Name>Global_Variables.GLOBAL_FORMAT_HASH_PREFIX_TYPE</Name><Comment><![CDATA[ Global hash prefix type constant used for binary, octal or hexadecimal string format type ]]></Comment><BitSize>16</BitSize><BaseType Namespace="BaseLib.Tc2_Utilities">E_HashPrefixTypes</BaseType><Default><EnumText>E_HashPrefixTypes.HASHPREFIX_IEC</EnumText></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3078560</BitOffs></Symbol><Symbol><Name>Global_Variables.GLOBAL_SBCS_TABLE</Name><Comment><![CDATA[Windows SBCS (Single Byte Character Set) Code Page Table ]]></Comment><BitSize>16</BitSize><BaseType Namespace="BaseLib.Tc2_Utilities">E_SBCSType</BaseType><Default><EnumText>E_SBCSType.eSBCS_WesternEuropean</EnumText></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3078576</BitOffs></Symbol><Symbol><Name>Global_Variables.GLOBAL_DCF77_PULSE_SPLIT</Name><Comment><![CDATA[ Default DCF77 short/long pulse split time value. Bit == 0 => pulse < 140ms, Bit == 1 => pulse >= 140ms ]]></Comment><BitSize>32</BitSize><BaseType>TIME</BaseType><Default><DateTime>140</DateTime></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3078592</BitOffs></Symbol><Symbol><Name>Global_Variables.DEFAULT_CSV_FIELD_SEP</Name><Comment><![CDATA[ Default CSV-file field separator character. Semicolon (;) := 16#3B => german field separator, comma (,) := 16#2C => US field separator ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>59</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3078624</BitOffs></Symbol><Symbol><Name>Global_Variables.MAX_ROUTE_NAME_LEN</Name><Comment><![CDATA[ Max. TwinCAT router route name length ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>31</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3078632</BitOffs></Symbol><Symbol><Name>Global_Variables.MAX_REMOTE_PCS</Name><Comment><![CDATA[ Max. number of TwinCAT remote systems/PC's ]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Default><Value>99</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3078640</BitOffs></Symbol><Symbol><Name>Global_Variables.MAX_ADAPTER_NAME_LENGTH</Name><Comment><![CDATA[ Max. System Service local adapter name length (256 + 4 inkl. \0) ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>259</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140128</BitOffs></Symbol><Symbol><Name>Global_Variables.MAX_ADAPTER_DESCRIPTION_LENGTH</Name><Comment><![CDATA[ Max. System Service local adapter descirpion length (128 + 4 inkl. \0) ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>131</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140160</BitOffs></Symbol><Symbol><Name>Global_Variables.MAX_ADAPTER_ADDRESS_LENGTH</Name><Comment><![CDATA[ Max. System Service local adapter physical address length (bytes[0..7]) ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>7</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140192</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_IPHELPERAPI</Name><Comment><![CDATA[ IPHELPERAPI index group ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>701</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140224</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_IPHOSTNAME</Name><Comment><![CDATA[ IPHOSTNAME index group ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>702</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140256</BitOffs></Symbol><Symbol><Name>Global_Variables.IPHELPERAPI_ADAPTERSINFO</Name><Comment><![CDATA[ IPHELPERAPI index offset ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>1</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140288</BitOffs></Symbol><Symbol><Name>Global_Variables.IPHELPERAPI_IPADDRBYHOSTNAME</Name><Comment><![CDATA[ IPHELPERAPI index offset ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>4</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140320</BitOffs></Symbol><Symbol><Name>Global_Variables.MAX_LOCAL_ADAPTERS</Name><Comment><![CDATA[ Max. number of local network adapters ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>5</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140352</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_ADDREMOTE</Name><Comment><![CDATA[ System Service route function: Add route ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>801</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140384</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_DELREMOTE</Name><Comment><![CDATA[ System Service route function: Delete route ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>802</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140416</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_ENUMREMOTE</Name><Comment><![CDATA[ System Service route function: Enumerater route ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>803</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140448</BitOffs></Symbol><Symbol><Name>Global_Variables.ROUTE_FLAG_TEMPORARY</Name><Comment><![CDATA[ TwinCAT route flag: Temporary ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>1</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140480</BitOffs></Symbol><Symbol><Name>Global_Variables.ROUTE_FLAG_DYNAMIC</Name><Comment><![CDATA[ TwinCAT route flag: Hostname instead OF IP address ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>2</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140512</BitOffs></Symbol><Symbol><Name>Global_Variables.ROUTE_FLAG_NOOVERRIDE</Name><Comment><![CDATA[ TwinCAT route flag: No override ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>4</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140544</BitOffs></Symbol><Symbol><Name>Global_Variables.MAX_ROUTE_ADDR_LEN</Name><Comment><![CDATA[ Max. TwinCAT router route address length ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>79</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140576</BitOffs></Symbol><Symbol><Name>Global_Variables.MIN_ROUTE_TRANSPORT</Name><Comment><![CDATA[ Min. route type: eRouteTransport_None ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>0</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140584</BitOffs></Symbol><Symbol><Name>Global_Variables.MAX_ROUTE_TRANSPORT</Name><Comment><![CDATA[ Max. route type: eRouteTransport_SOAP ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>12</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140592</BitOffs></Symbol><Symbol><Name>Global_Variables.DEFAULT_CSV_FIELD_DOUBLE_QUOTE</Name><Comment><![CDATA[ CSV separator constant: double-quote (") => used to enclose special characters like line breaks, double-quotes, commas... ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>34</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140600</BitOffs></Symbol><Symbol><Name>Global_Variables.EMPTY_ROUTE_ENTRY</Name><Comment><![CDATA[eTransport := eRouteTransport_None see Workitem 7547]]></Comment><BitSize>1184</BitSize><BaseType Namespace="BaseLib.Tc2_Utilities">ST_AmsRouteEntry</BaseType><Default><SubItem><Name>.sName</Name><String /></SubItem><SubItem><Name>.sNetID</Name><String /></SubItem><SubItem><Name>.sAddress</Name><String /></SubItem><SubItem><Name>.tTimeout</Name><DateTime>0</DateTime></SubItem><SubItem><Name>.dwFlags</Name><Value>0</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3140608</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMSERVICE_FFILEFIND</Name><Comment><![CDATA[ System Service file find function number ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>133</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3141792</BitOffs></Symbol><Symbol><Name>Global_Variables.HKEY_MAX_BINARY_DATA_SIZE</Name><Comment><![CDATA[ Max. byte size of binary registry value data ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>500</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3141824</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSLOGGER_IGR_GENERAL</Name><Comment><![CDATA[ TwinCAT Ams Logger general index group ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>4096</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3141856</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSLOGGER_IOF_MODE</Name><Comment><![CDATA[ TwinCAT Ams Logger mode ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>1</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3141888</BitOffs></Symbol><Symbol><Name>Global_Variables.AMSPORT_AMSLOGGER</Name><Comment><![CDATA[ TwinCAT Ams Logger port number ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>10502</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3141920</BitOffs></Symbol><Symbol><Name>Global_Variables.FORMAT_MAX_ARGS</Name><Comment><![CDATA[ Format string constant: Max. number of format arguments in FB_FormatString ]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Default><Value>10</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3141936</BitOffs></Symbol><Symbol><Name>Global_Variables.FLOATREC_EXP_IS_NAN</Name><Comment><![CDATA[ T_FloatRec type and F_GetFloatRec function constant: The value is #NAN or -#NAN ]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Default><Value>-32768</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3141952</BitOffs></Symbol><Symbol><Name>Global_Variables.FLOATREC_EXP_IS_INF</Name><Comment><![CDATA[ T_FloatRec type and F_GetFloatRec function constant: The value is #INF or -#INF ]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Default><Value>32767</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3141968</BitOffs></Symbol><Symbol><Name>Global_Variables.FLOATREC_MAX_DIGITS</Name><Comment><![CDATA[ T_FloatRec type and F_GetFloatRec function constant: Max. number of significant digits. Note: double precision floats have max. 15 significant digits ]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Default><Value>20</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3141984</BitOffs></Symbol><Symbol><Name>Global_Variables.FLOATREC_MAX_PRECISION</Name><Comment><![CDATA[ T_FloatRec type and F_GetFloatRec function constant: Max. floating point precision (1e-307) ]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Default><Value>307</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142000</BitOffs></Symbol><Symbol><Name>Global_Variables.FLOATREC_MIN_PRECISION</Name><Comment><![CDATA[ T_FloatRec type and F_GetFloatRec function constant: Min. floating point precision ]]></Comment><BitSize>16</BitSize><BaseType>INT</BaseType><Default><Value>0</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142016</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_NOERROR</Name><Comment><![CDATA[ FB_FormatString function block error code: No error ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>0</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142048</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_PERCENTSIGNPOSITION</Name><Comment><![CDATA[ FB_FormatString function block error code: Percent sign (%) at invalid position ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>16</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142080</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_ASTERISKPOSITION</Name><Comment><![CDATA[ FB_FormatString function block error code: Asterisk parameter at invalid position ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>32</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142112</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_WIDTHVALUE</Name><Comment><![CDATA[ FB_FormatString function block error code: Invalid width field value ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>64</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142144</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_PRECISIONVALUE</Name><Comment><![CDATA[ FB_FormatString function block error code: Invalid precision field value ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>128</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142176</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_FLAGPOSITION</Name><Comment><![CDATA[ FB_FormatString function block error code: One of the flags at invalid position ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>256</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142208</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_WIDTHPRECISIONVALPOS</Name><Comment><![CDATA[ FB_FormatString function block error code: The width or precision field value at invalid position]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>512</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142240</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_PRECISIONDOTPOSITION</Name><Comment><![CDATA[ FB_FormatString function block error code: Dot "." sign of precision field at invalid position ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>1024</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142272</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_TYPEFIELDVALUE</Name><Comment><![CDATA[ FB_FormatString function block error code: Invalid (unsupported) type field value ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>2048</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142304</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_ARGTYPEINVALID</Name><Comment><![CDATA[ FB_FormatString function block error code: Different type field and argument parameter]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>4096</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142336</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_UNACCEPTEDPARAMETER</Name><Comment><![CDATA[ FB_FormatString function block error code: Invalid format string parameters ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>8192</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142368</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_INSUFFICIENTARGS</Name><Comment><![CDATA[ FB_FormatString function block error code: To much arguments in format string ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>16384</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142400</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_DESTBUFFOVERFLOW</Name><Comment><![CDATA[ FB_FormatString function block error code: Destination string buffer overflow (formatted string is to long ) ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>32768</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142432</BitOffs></Symbol><Symbol><Name>Global_Variables.FMTERR_INVALIDPOINTERINPUT</Name><Comment><![CDATA[ FB_FormatString function block error code: Invalid pointer input ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>65536</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142464</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMTIME_DATEDELTA_OFFSET</Name><Comment><![CDATA[ Number of past days since year zero until 1 January 1601 ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>584389</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142496</BitOffs></Symbol><Symbol><Name>Global_Variables.EMPTY_ARG_VALUE</Name><Comment><![CDATA[ T_Arg empty value ]]></Comment><BitSize>128</BitSize><BaseType Namespace="BaseLib.Tc2_Utilities">T_Arg</BaseType><Default><SubItem><Name>.eType</Name><EnumText>E_ArgType.ARGTYPE_UNKNOWN</EnumText></SubItem><SubItem><Name>.cbLen</Name><Value>0</Value></SubItem><SubItem><Name>.pData</Name><Value>0</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142528</BitOffs></Symbol><Symbol><Name>Global_Variables.FORMAT_HEXASC_CODES</Name><BitSize>256</BitSize><BaseType>BYTE</BaseType><ArrayInfo><LBound>0</LBound><Elements>2</Elements></ArrayInfo><ArrayInfo><LBound>0</LBound><Elements>16</Elements></ArrayInfo><Default><SubItem><Name>[0,0]</Name><Value>48</Value></SubItem><SubItem><Name>[0,1]</Name><Value>49</Value></SubItem><SubItem><Name>[0,2]</Name><Value>50</Value></SubItem><SubItem><Name>[0,3]</Name><Value>51</Value></SubItem><SubItem><Name>[0,4]</Name><Value>52</Value></SubItem><SubItem><Name>[0,5]</Name><Value>53</Value></SubItem><SubItem><Name>[0,6]</Name><Value>54</Value></SubItem><SubItem><Name>[0,7]</Name><Value>55</Value></SubItem><SubItem><Name>[0,8]</Name><Value>56</Value></SubItem><SubItem><Name>[0,9]</Name><Value>57</Value></SubItem><SubItem><Name>[0,10]</Name><Value>97</Value></SubItem><SubItem><Name>[0,11]</Name><Value>98</Value></SubItem><SubItem><Name>[0,12]</Name><Value>99</Value></SubItem><SubItem><Name>[0,13]</Name><Value>100</Value></SubItem><SubItem><Name>[0,14]</Name><Value>101</Value></SubItem><SubItem><Name>[0,15]</Name><Value>102</Value></SubItem><SubItem><Name>[1,0]</Name><Value>48</Value></SubItem><SubItem><Name>[1,1]</Name><Value>49</Value></SubItem><SubItem><Name>[1,2]</Name><Value>50</Value></SubItem><SubItem><Name>[1,3]</Name><Value>51</Value></SubItem><SubItem><Name>[1,4]</Name><Value>52</Value></SubItem><SubItem><Name>[1,5]</Name><Value>53</Value></SubItem><SubItem><Name>[1,6]</Name><Value>54</Value></SubItem><SubItem><Name>[1,7]</Name><Value>55</Value></SubItem><SubItem><Name>[1,8]</Name><Value>56</Value></SubItem><SubItem><Name>[1,9]</Name><Value>57</Value></SubItem><SubItem><Name>[1,10]</Name><Value>65</Value></SubItem><SubItem><Name>[1,11]</Name><Value>66</Value></SubItem><SubItem><Name>[1,12]</Name><Value>67</Value></SubItem><SubItem><Name>[1,13]</Name><Value>68</Value></SubItem><SubItem><Name>[1,14]</Name><Value>69</Value></SubItem><SubItem><Name>[1,15]</Name><Value>70</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142656</BitOffs></Symbol><Symbol><Name>Global_Variables.FORMAT_DECASC_CODES</Name><Comment><![CDATA[ ASCII to decimal and decimal digits to ASCII codes ]]></Comment><BitSize>80</BitSize><BaseType>BYTE</BaseType><ArrayInfo><LBound>0</LBound><Elements>10</Elements></ArrayInfo><Default><SubItem><Name>[0]</Name><Value>48</Value></SubItem><SubItem><Name>[1]</Name><Value>49</Value></SubItem><SubItem><Name>[2]</Name><Value>50</Value></SubItem><SubItem><Name>[3]</Name><Value>51</Value></SubItem><SubItem><Name>[4]</Name><Value>52</Value></SubItem><SubItem><Name>[5]</Name><Value>53</Value></SubItem><SubItem><Name>[6]</Name><Value>54</Value></SubItem><SubItem><Name>[7]</Name><Value>55</Value></SubItem><SubItem><Name>[8]</Name><Value>56</Value></SubItem><SubItem><Name>[9]</Name><Value>57</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3142912</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMTIME_MAX_MONTHDAYS</Name><BitSize>384</BitSize><BaseType>WORD</BaseType><ArrayInfo><LBound>0</LBound><Elements>2</Elements></ArrayInfo><ArrayInfo><LBound>1</LBound><Elements>12</Elements></ArrayInfo><Default><SubItem><Name>[0,1]</Name><Value>31</Value></SubItem><SubItem><Name>[0,2]</Name><Value>28</Value></SubItem><SubItem><Name>[0,3]</Name><Value>31</Value></SubItem><SubItem><Name>[0,4]</Name><Value>30</Value></SubItem><SubItem><Name>[0,5]</Name><Value>31</Value></SubItem><SubItem><Name>[0,6]</Name><Value>30</Value></SubItem><SubItem><Name>[0,7]</Name><Value>31</Value></SubItem><SubItem><Name>[0,8]</Name><Value>31</Value></SubItem><SubItem><Name>[0,9]</Name><Value>30</Value></SubItem><SubItem><Name>[0,10]</Name><Value>31</Value></SubItem><SubItem><Name>[0,11]</Name><Value>30</Value></SubItem><SubItem><Name>[0,12]</Name><Value>31</Value></SubItem><SubItem><Name>[1,1]</Name><Value>31</Value></SubItem><SubItem><Name>[1,2]</Name><Value>29</Value></SubItem><SubItem><Name>[1,3]</Name><Value>31</Value></SubItem><SubItem><Name>[1,4]</Name><Value>30</Value></SubItem><SubItem><Name>[1,5]</Name><Value>31</Value></SubItem><SubItem><Name>[1,6]</Name><Value>30</Value></SubItem><SubItem><Name>[1,7]</Name><Value>31</Value></SubItem><SubItem><Name>[1,8]</Name><Value>31</Value></SubItem><SubItem><Name>[1,9]</Name><Value>30</Value></SubItem><SubItem><Name>[1,10]</Name><Value>31</Value></SubItem><SubItem><Name>[1,11]</Name><Value>30</Value></SubItem><SubItem><Name>[1,12]</Name><Value>31</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3148400</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMTIME_MAX_YEARSDAY</Name><BitSize>448</BitSize><BaseType>WORD</BaseType><ArrayInfo><LBound>0</LBound><Elements>2</Elements></ArrayInfo><ArrayInfo><LBound>0</LBound><Elements>14</Elements></ArrayInfo><Default><SubItem><Name>[0,0]</Name><Value>0</Value></SubItem><SubItem><Name>[0,1]</Name><Value>31</Value></SubItem><SubItem><Name>[0,2]</Name><Value>59</Value></SubItem><SubItem><Name>[0,3]</Name><Value>90</Value></SubItem><SubItem><Name>[0,4]</Name><Value>120</Value></SubItem><SubItem><Name>[0,5]</Name><Value>151</Value></SubItem><SubItem><Name>[0,6]</Name><Value>181</Value></SubItem><SubItem><Name>[0,7]</Name><Value>212</Value></SubItem><SubItem><Name>[0,8]</Name><Value>243</Value></SubItem><SubItem><Name>[0,9]</Name><Value>273</Value></SubItem><SubItem><Name>[0,10]</Name><Value>304</Value></SubItem><SubItem><Name>[0,11]</Name><Value>334</Value></SubItem><SubItem><Name>[0,12]</Name><Value>365</Value></SubItem><SubItem><Name>[0,13]</Name><Value>396</Value></SubItem><SubItem><Name>[1,0]</Name><Value>0</Value></SubItem><SubItem><Name>[1,1]</Name><Value>31</Value></SubItem><SubItem><Name>[1,2]</Name><Value>60</Value></SubItem><SubItem><Name>[1,3]</Name><Value>91</Value></SubItem><SubItem><Name>[1,4]</Name><Value>121</Value></SubItem><SubItem><Name>[1,5]</Name><Value>152</Value></SubItem><SubItem><Name>[1,6]</Name><Value>182</Value></SubItem><SubItem><Name>[1,7]</Name><Value>213</Value></SubItem><SubItem><Name>[1,8]</Name><Value>244</Value></SubItem><SubItem><Name>[1,9]</Name><Value>274</Value></SubItem><SubItem><Name>[1,10]</Name><Value>305</Value></SubItem><SubItem><Name>[1,11]</Name><Value>335</Value></SubItem><SubItem><Name>[1,12]</Name><Value>366</Value></SubItem><SubItem><Name>[1,13]</Name><Value>397</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3148784</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMTIME_TICKSPERMSEC</Name><Comment><![CDATA[ Number of 100ns ticks per millisecond ]]></Comment><BitSize>64</BitSize><BaseType Namespace="BaseLib.Tc2_Utilities">T_ULARGE_INTEGER</BaseType><Default><SubItem><Name>.dwHighPart</Name><Value>0</Value></SubItem><SubItem><Name>.dwLowPart</Name><Value>10000</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3149248</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMTIME_TICKSPERSEC</Name><Comment><![CDATA[ Number of 100ns ticks per second ]]></Comment><BitSize>64</BitSize><BaseType Namespace="BaseLib.Tc2_Utilities">T_ULARGE_INTEGER</BaseType><Default><SubItem><Name>.dwHighPart</Name><Value>0</Value></SubItem><SubItem><Name>.dwLowPart</Name><Value>10000000</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3149312</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMTIME_TICKSPERDAY</Name><Comment><![CDATA[ Number of 100ns ticks per day ]]></Comment><BitSize>64</BitSize><BaseType Namespace="BaseLib.Tc2_Utilities">T_ULARGE_INTEGER</BaseType><Default><SubItem><Name>.dwHighPart</Name><Value>201</Value></SubItem><SubItem><Name>.dwLowPart</Name><Value>711573504</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3149376</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMTIME_DATE_AND_TIME_MIN</Name><Comment><![CDATA[ Min. DT value as file time DT#1970-01-01-00:00:00 ]]></Comment><BitSize>64</BitSize><BaseType Namespace="BaseLib.Tc2_Utilities">T_ULARGE_INTEGER</BaseType><Default><SubItem><Name>.dwHighPart</Name><Value>27111902</Value></SubItem><SubItem><Name>.dwLowPart</Name><Value>3577643008</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3149440</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMTIME_DATE_AND_TIME_MAX</Name><Comment><![CDATA[ Max. DT value as file time DT#2106-02-06-06:28:15 ]]></Comment><BitSize>64</BitSize><BaseType Namespace="BaseLib.Tc2_Utilities">T_ULARGE_INTEGER</BaseType><Default><SubItem><Name>.dwHighPart</Name><Value>37111701</Value></SubItem><SubItem><Name>.dwLowPart</Name><Value>2856069504</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3149504</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMTIME_TICKSPERMSEC64</Name><Comment><![CDATA[ Number of 100ns ticks per millisecond ]]></Comment><BitSize>64</BitSize><BaseType>ULINT</BaseType><Default><Value>10000</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3149568</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMTIME_TICKSPERSEC64</Name><Comment><![CDATA[ Number of 100ns ticks per second ]]></Comment><BitSize>64</BitSize><BaseType>ULINT</BaseType><Default><Value>10000000</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3149632</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMTIME_TICKSPERDAY64</Name><Comment><![CDATA[ Number of 100ns ticks per day ]]></Comment><BitSize>64</BitSize><BaseType>ULINT</BaseType><Default><Value>864000000000</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3149696</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMTIME_DATE_AND_TIME_MIN64</Name><Comment><![CDATA[ Min. DT value as file time DT#1970-01-01-00:00:00 ]]></Comment><BitSize>64</BitSize><BaseType>ULINT</BaseType><Default><Value>116444736000000000</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3149760</BitOffs></Symbol><Symbol><Name>Global_Variables.SYSTEMTIME_DATE_AND_TIME_MAX64</Name><Comment><![CDATA[ Max. DT value as file time DT#2106-02-06-06:28:15 ]]></Comment><BitSize>64</BitSize><BaseType>ULINT</BaseType><Default><Value>159393544950000000</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3149824</BitOffs></Symbol><Symbol><Name>Global_Variables.WEST_EUROPE_TZI</Name><BitSize>864</BitSize><BaseType Namespace="BaseLib.Tc2_Utilities">ST_TimeZoneInformation</BaseType><Default><SubItem><Name>.bias</Name><Value>-60</Value></SubItem><SubItem><Name>.standardName</Name><String>W. Europe Standard Time</String></SubItem><SubItem><Name>.standardDate.wYear</Name><Value>0</Value></SubItem><SubItem><Name>.standardDate.wMonth</Name><Value>10</Value></SubItem><SubItem><Name>.standardDate.wDayOfWeek</Name><Value>0</Value></SubItem><SubItem><Name>.standardDate.wDay</Name><Value>5</Value></SubItem><SubItem><Name>.standardDate.wHour</Name><Value>3</Value></SubItem><SubItem><Name>.standardBias</Name><Value>0</Value></SubItem><SubItem><Name>.daylightName</Name><String>W. Europe Daylight Time</String></SubItem><SubItem><Name>.daylightDate.wYear</Name><Value>0</Value></SubItem><SubItem><Name>.daylightDate.wMonth</Name><Value>3</Value></SubItem><SubItem><Name>.daylightDate.wDayOfWeek</Name><Value>0</Value></SubItem><SubItem><Name>.daylightDate.wDay</Name><Value>5</Value></SubItem><SubItem><Name>.daylightDate.wHour</Name><Value>2</Value></SubItem><SubItem><Name>.daylightBias</Name><Value>-60</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3149888</BitOffs></Symbol><Symbol><Name>Global_Variables.DATE_AND_TIME_SECPERDAY</Name><Comment><![CDATA[ Number of seconds per day ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>86400</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3154848</BitOffs></Symbol><Symbol><Name>Global_Variables.DATE_AND_TIME_SECPERWEEK</Name><Comment><![CDATA[ Number of seconds per week ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>604800</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3154880</BitOffs></Symbol><Symbol><Name>Global_Variables.DBG_OUTPUT_NONE</Name><Comment><![CDATA[ Disabled (no debug oputput) ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>0</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3161088</BitOffs></Symbol><Symbol><Name>Global_Variables.DBG_OUTPUT_LOG</Name><Comment><![CDATA[ Enabled, TwinCAT System Manager Log ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>1</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3161120</BitOffs></Symbol><Symbol><Name>Global_Variables.DBG_OUTPUT_FILE</Name><Comment><![CDATA[ Enabled, text file ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>2</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3161152</BitOffs></Symbol><Symbol><Name>Global_Variables.DBG_OUTPUT_VISU</Name><Comment><![CDATA[ reserved ]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>4</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3161184</BitOffs></Symbol><Symbol><Name>Global_Variables.DEFAULT_CSV_RECORD_SEP_CR</Name><Comment><![CDATA[ CSV separator constant: cariage return => record separator (first character) ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>13</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3280016</BitOffs></Symbol><Symbol><Name>Global_Variables.DEFAULT_CSV_RECORD_SEP_LF</Name><Comment><![CDATA[ CSV separator constant: line feed => record separator (second character) ]]></Comment><BitSize>8</BitSize><BaseType>BYTE</BaseType><Default><Value>10</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3280024</BitOffs></Symbol><Symbol><Name>Global_Variables.EMPTY_GUID_STRUCT</Name><BitSize>128</BitSize><BaseType GUID="{18071995-0000-0000-0000-000000000021}">GUID</BaseType><Default><SubItem><Name>.Data1</Name><Value>0</Value></SubItem><SubItem><Name>.Data2</Name><Value>0</Value></SubItem><SubItem><Name>.Data3</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[0]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[1]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[2]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[3]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[4]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[5]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[6]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[7]</Name><Value>0</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3282720</BitOffs></Symbol><Symbol><Name>Global_Variables.EMPTY_GUID_STRING</Name><BitSize>296</BitSize><BaseType>STRING(36)</BaseType><Default><String>00000000-0000-0000-0000-000000000000</String></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3282848</BitOffs></Symbol><Symbol><Name>Global_Variables.EMPTY_GUID_REGSTRING</Name><BitSize>312</BitSize><BaseType>STRING(38)</BaseType><Default><String>{00000000-0000-0000-0000-000000000000}</String></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3283144</BitOffs></Symbol><Symbol><Name>Global_Constants.EMPTY_SEVERITY</Name><BitSize>16</BitSize><BaseType GUID="{B57D3F4A-0836-49B0-81C3-BED5F4817EC9}">TcEventSeverity</BaseType><Default><EnumText>TcEventSeverity.Verbose</EnumText></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3283536</BitOffs></Symbol><Symbol><Name>Global_Constants.EMPTY_EVENT_CLASS</Name><BitSize>128</BitSize><BaseType GUID="{18071995-0000-0000-0000-000000000021}">GUID</BaseType><Default><SubItem><Name>.Data1</Name><Value>0</Value></SubItem><SubItem><Name>.Data2</Name><Value>0</Value></SubItem><SubItem><Name>.Data3</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[0]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[1]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[2]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[3]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[4]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[5]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[6]</Name><Value>0</Value></SubItem><SubItem><Name>.Data4[7]</Name><Value>0</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3283552</BitOffs></Symbol><Symbol><Name>Global_Constants.EMPTY_EVENT_ID</Name><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>0</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3283680</BitOffs></Symbol><Symbol><Name>Global_Constants.SUCCESS_EVENT</Name><BitSize>192</BitSize><BaseType GUID="{F00C83AD-DEC8-486E-AE99-5E0A75C26DE0}">TcEventEntry</BaseType><Default><SubItem><Name>.uuidEventClass.Data1</Name><Value>0</Value></SubItem><SubItem><Name>.uuidEventClass.Data2</Name><Value>0</Value></SubItem><SubItem><Name>.uuidEventClass.Data3</Name><Value>0</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[0]</Name><Value>0</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[1]</Name><Value>0</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[2]</Name><Value>0</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[3]</Name><Value>0</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[4]</Name><Value>0</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[5]</Name><Value>0</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[6]</Name><Value>0</Value></SubItem><SubItem><Name>.uuidEventClass.Data4[7]</Name><Value>0</Value></SubItem><SubItem><Name>.nEventID</Name><Value>0</Value></SubItem><SubItem><Name>.eSeverity</Name><EnumText>Global_Constants.EMPTY_SEVERITY</EnumText></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3283712</BitOffs></Symbol><Symbol><Name>GVL.nLangId_OnlineMonitoring</Name><Comment><![CDATA[ language id for online monitoring; English(US)=1033 ; German(Germany)=1031]]></Comment><BitSize>32</BitSize><BaseType>DINT</BaseType><Default><Value>1033</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3283904</BitOffs></Symbol><Symbol><Name>ParameterList.cSourceNameSize</Name><Comment><![CDATA[ size [bytes] for source names (recommended is a size between 128 and 512)]]></Comment><BitSize>32</BitSize><BaseType>UDINT (81..10000)</BaseType><Default><Value>256</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3283936</BitOffs></Symbol><Symbol><Name>Global_Version.stLibVersion_Tc3_EventLogger</Name><BitSize>288</BitSize><BaseType GUID="{6F5942ED-BFA1-497D-8225-23C6DAAD0A09}">ST_LibVersion</BaseType><Default><SubItem><Name>.iMajor</Name><Value>3</Value></SubItem><SubItem><Name>.iMinor</Name><Value>1</Value></SubItem><SubItem><Name>.iBuild</Name><Value>33</Value></SubItem><SubItem><Name>.iRevision</Name><Value>0</Value></SubItem><SubItem><Name>.nFlags</Name><Value>1</Value></SubItem><SubItem><Name>.sVersion</Name><String>3.1.33.0</String></SubItem></Default><Properties><Property><Name>const_non_replaced</Name></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3283968</BitOffs></Symbol><Symbol><Name>GVL_INTERNAL.UNINITIALIZED_CLASS_GUID</Name><Comment><![CDATA[ {E7A4B1E0-F4CF-4733-95D5-73DF084B60F8}]]></Comment><BitSize>128</BitSize><BaseType GUID="{18071995-0000-0000-0000-000000000021}">GUID</BaseType><Default><SubItem><Name>.Data1</Name><Value>3886330336</Value></SubItem><SubItem><Name>.Data2</Name><Value>62671</Value></SubItem><SubItem><Name>.Data3</Name><Value>18227</Value></SubItem><SubItem><Name>.Data4[0]</Name><Value>149</Value></SubItem><SubItem><Name>.Data4[1]</Name><Value>213</Value></SubItem><SubItem><Name>.Data4[2]</Name><Value>115</Value></SubItem><SubItem><Name>.Data4[3]</Name><Value>223</Value></SubItem><SubItem><Name>.Data4[4]</Name><Value>8</Value></SubItem><SubItem><Name>.Data4[5]</Name><Value>75</Value></SubItem><SubItem><Name>.Data4[6]</Name><Value>96</Value></SubItem><SubItem><Name>.Data4[7]</Name><Value>248</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3284256</BitOffs></Symbol><Symbol><Name>Global_Version.stLibVersion_Tc3_JsonXml</Name><BitSize>288</BitSize><BaseType GUID="{6F5942ED-BFA1-497D-8225-23C6DAAD0A09}">ST_LibVersion</BaseType><Default><SubItem><Name>.iMajor</Name><Value>3</Value></SubItem><SubItem><Name>.iMinor</Name><Value>3</Value></SubItem><SubItem><Name>.iBuild</Name><Value>19</Value></SubItem><SubItem><Name>.iRevision</Name><Value>0</Value></SubItem><SubItem><Name>.nFlags</Name><Value>1</Value></SubItem><SubItem><Name>.sVersion</Name><String>3.3.19.0</String></SubItem></Default><Properties><Property><Name>const_non_replaced</Name></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3284384</BitOffs></Symbol><Symbol><Name>GVL_Param_TcUnit.MaxNumberOfTestSuites</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>1000</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3284672</BitOffs></Symbol><Symbol><Name>GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>100</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3284688</BitOffs></Symbol><Symbol><Name>GVL_Param_TcUnit.MaxNumberOfAssertsForEachTestSuite</Name><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>1000</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3284704</BitOffs></Symbol><Symbol><Name>GVL_Param_TcUnit.LogExtendedResults</Name><Comment><![CDATA[ TcUnit logs complete test results. These include:
|
|
- Number of test suites
|
|
- Number of tests
|
|
- Number of successful tests
|
|
- Number of failed tests
|
|
- Any eventual failed assertion (with the expected & actual value plus an user defined message)
|
|
These are all printed to the ADS logger (Visual Studio error list) marked with ERROR criticality
|
|
|
|
On top of this TcUnit also reports some statistics/extended information with HINT/INFO criticality.
|
|
These statistics are more detailed results of the tests. This information is used when results are
|
|
being collected by an external software (such as TcUnit-Runner) to do for example Jenkins integration.
|
|
This extra information however takes time to print, so by setting the following parameter to FALSE
|
|
it will speed up TcUnit finishing. ]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3284720</BitOffs></Symbol><Symbol><Name>GVL_Param_TcUnit.xUnitEnablePublish</Name><Comment><![CDATA[ Enable (TRUE) or disable (FALSE) publishing of the xUnit Xml report ]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>false</Bool></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3284728</BitOffs></Symbol><Symbol><Name>GVL_Param_TcUnit.xUnitBufferSize</Name><Comment><![CDATA[ Default reserved PLC memory buffer used for composition of the xUnit xml file (64 kb default) ]]></Comment><BitSize>32</BitSize><BaseType>UDINT</BaseType><Default><Value>65535</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3284736</BitOffs></Symbol><Symbol><Name>GVL_Param_TcUnit.xUnitFilePath</Name><Comment><![CDATA[ Default path and filename for the xunit testresults e.g.: for use with jenkins ]]></Comment><BitSize>2048</BitSize><BaseType Namespace="Tc2_System">T_MaxString</BaseType><Default><String>C:\tcunit_xunit_testresults.xml</String></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3284768</BitOffs></Symbol><Symbol><Name>GVL_Param_TcUnit.AdsLogMessageFifoRingBufferSize</Name><Comment><![CDATA[ This is the maximum number of ADS-messages that can be stored for reporting at the same time.
|
|
Having a size of 2000 means that it's possible to report up to ~400 test cases in one single
|
|
PLC cycle. Each entry consumes around 500 bytes, so with an example of a ring buffer size of
|
|
2000 it means that TcUnit will consume around 1 MB of router memory. ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>2000</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3286816</BitOffs></Symbol><Symbol><Name>GVL_TcUnit.TestSuiteIsRegistered</Name><Comment><![CDATA[ Indication of whether the last instantiated test suite has an assert instance created ]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3286832</BitOffs></Symbol><Symbol><Name>GVL_TcUnit.CurrentTestIsFinished</Name><Comment><![CDATA[ Whether or not the current test being called has finished running ]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3286840</BitOffs></Symbol><Symbol><Name>GVL_Param_TcUnit.TimeBetweenTestSuitesExecution</Name><Comment><![CDATA[ Time delay between a test suite is finished and the execution of the next test suite starts
|
|
if using RUN_IN_SEQUENCE() ]]></Comment><BitSize>32</BitSize><BaseType>TIME</BaseType><Default><DateTime>T#0MS</DateTime></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3286848</BitOffs></Symbol><Symbol><Name>GVL_TcUnit.IgnoreCurrentTest</Name><Comment><![CDATA[ This is a flag that indicates that the current test should be ignored, and
|
|
thus that all assertions under it should be ignored as well. A test can be ignored either
|
|
because the user has requested so, or because the test is a duplicate name ]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3286880</BitOffs></Symbol><Symbol><Name>GVL_TcUnit.NumberOfInitializedTestSuites</Name><Comment><![CDATA[ The assert function block instance should be 1:1 mapped to
|
|
the test suite instance path. ]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>0</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3286896</BitOffs></Symbol><Symbol><Name>GVL_TcUnit.TcUnitRunner</Name><BitSize>621828480</BitSize><BaseType Namespace="BaseLib.TcUnit">FB_TcUnitRunner</BaseType><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>3286912</BitOffs></Symbol><Symbol><Name>GVL_TcUnit.CurrentTestSuiteBeingCalled</Name><Comment><![CDATA[ Pointer to current test suite being called ]]></Comment><BitSize>64</BitSize><BaseType PointerTo="1" Namespace="BaseLib.TcUnit">FB_TestSuite</BaseType><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>625115392</BitOffs></Symbol><Symbol><Name>GVL_TcUnit.CurrentTestNameBeingCalled</Name><Comment><![CDATA[ Current name of test being called ]]></Comment><BitSize>2048</BitSize><BaseType Namespace="Tc2_System">T_MaxString</BaseType><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>625115456</BitOffs></Symbol><Symbol><Name>GVL_TcUnit.TestSuiteAddresses</Name><BitSize>64000</BitSize><BaseType PointerTo="1" Namespace="BaseLib.TcUnit">FB_TestSuite</BaseType><ArrayInfo><LBound>1</LBound><Elements>1000</Elements></ArrayInfo><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>625117504</BitOffs></Symbol><Symbol><Name>GVL_TcUnit.CurrentlyRunningOrderedTestInTestSuite</Name><Comment><![CDATA[ If the user is utilizing the TEST_ORDERED(), we need to keep track of which ordered test is currently running.
|
|
We do this by defining an array, in where we can see which current TEST_ORDERED() is the one to be handled right now.
|
|
The below array is only used for TEST_ORDERED()-tests. ]]></Comment><BitSize>16000</BitSize><BaseType>UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)</BaseType><ArrayInfo><LBound>1</LBound><Elements>1000</Elements></ArrayInfo><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>625181504</BitOffs></Symbol><Symbol><Name>GVL_TcUnit.AdsMessageQueue</Name><Comment><![CDATA[ Buffered ADS message queue for output to the error list ]]></Comment><BitSize>8321152</BitSize><BaseType Namespace="BaseLib.TcUnit">FB_AdsLogStringMessageFifoQueue</BaseType><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>625197504</BitOffs></Symbol><Symbol><Name>Global_Version.stLibVersion_TcUnit</Name><BitSize>288</BitSize><BaseType GUID="{6F5942ED-BFA1-497D-8225-23C6DAAD0A09}">ST_LibVersion</BaseType><Default><SubItem><Name>.iMajor</Name><Value>1</Value></SubItem><SubItem><Name>.iMinor</Name><Value>2</Value></SubItem><SubItem><Name>.iBuild</Name><Value>0</Value></SubItem><SubItem><Name>.iRevision</Name><Value>0</Value></SubItem><SubItem><Name>.sVersion</Name><String>1.2.0.0</String></SubItem></Default><Properties><Property><Name>const_non_replaced</Name></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>633518656</BitOffs></Symbol><Symbol><Name>Constants.bLittleEndian</Name><Comment><![CDATA[ Does the target support multiple cores?]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>633518952</BitOffs></Symbol><Symbol><Name>Constants.bSimulationMode</Name><Comment><![CDATA[ Does the target support multiple cores?]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>false</Bool></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>633518960</BitOffs></Symbol><Symbol><Name>Constants.bFPUSupport</Name><Comment><![CDATA[ Does the target support multiple cores?]]></Comment><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>true</Bool></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>633518968</BitOffs></Symbol><Symbol><Name>MAIN.fbString</Name><Comment><![CDATA[ String mockup]]></Comment><BitSize>2078208</BitSize><BaseType>FB_StringMockup</BaseType><BitOffs>633561664</BitOffs></Symbol><Symbol><Name>GVL_CONFIG.stPressureSensorConfig</Name><BitSize>768</BitSize><BaseType Namespace="BaseLib">ST_ANALOG_IO_CONFIG</BaseType><Default><SubItem><Name>.iAIMax</Name><Value>32767</Value></SubItem><SubItem><Name>.iAIMin</Name><Value>0</Value></SubItem><SubItem><Name>.rPVMax</Name><Value>1500</Value></SubItem><SubItem><Name>.rPVMin</Name><Value>-1000</Value></SubItem><SubItem><Name>.sUnit</Name><String>mbar</String></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635639872</BitOffs></Symbol><Symbol><Name>GVL_CONFIG.stTempSensorConfig</Name><BitSize>768</BitSize><BaseType Namespace="BaseLib">ST_ANALOG_IO_CONFIG</BaseType><Default><SubItem><Name>.iAIMax</Name><Value>32767</Value></SubItem><SubItem><Name>.iAIMin</Name><Value>-32768</Value></SubItem><SubItem><Name>.rPVMax</Name><Value>3276.7</Value></SubItem><SubItem><Name>.rPVMin</Name><Value>-3276.8</Value></SubItem><SubItem><Name>.sUnit</Name><String>°C</String></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635640640</BitOffs></Symbol><Symbol><Name>GVL_CONFIG.stVoltageSensorconfig</Name><BitSize>768</BitSize><BaseType Namespace="BaseLib">ST_ANALOG_IO_CONFIG</BaseType><Default><SubItem><Name>.iAIMax</Name><Value>32767</Value></SubItem><SubItem><Name>.iAIMin</Name><Value>0</Value></SubItem><SubItem><Name>.rPVMax</Name><Value>150</Value></SubItem><SubItem><Name>.rPVMin</Name><Value>0</Value></SubItem><SubItem><Name>.sUnit</Name><String>V</String></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635641408</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.fbRandom</Name><Comment><![CDATA[ Random number generator]]></Comment><BitSize>4480</BitSize><BaseType Namespace="Tc2_System">DRAND</BaseType><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635642176</BitOffs></Symbol><Symbol><Name>GVL_GLOBAL.astStringError</Name><Comment><![CDATA[ String error array]]></Comment><BitSize>2112</BitSize><BaseType>ST_STRING_ERROR</BaseType><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635646656</BitOffs></Symbol><Symbol><Name>Constants.RuntimeVersion</Name><Comment><![CDATA[ Does the target support multiple cores?]]></Comment><BitSize>64</BitSize><BaseType>VERSION</BaseType><Default><SubItem><Name>.uiMajor</Name><Value>3</Value></SubItem><SubItem><Name>.uiMinor</Name><Value>5</Value></SubItem><SubItem><Name>.uiServicePack</Name><Value>13</Value></SubItem><SubItem><Name>.uiPatch</Name><Value>0</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635648768</BitOffs></Symbol><Symbol><Name>Constants.CompilerVersion</Name><Comment><![CDATA[ Does the target support multiple cores?]]></Comment><BitSize>64</BitSize><BaseType>VERSION</BaseType><Default><SubItem><Name>.uiMajor</Name><Value>3</Value></SubItem><SubItem><Name>.uiMinor</Name><Value>5</Value></SubItem><SubItem><Name>.uiServicePack</Name><Value>13</Value></SubItem><SubItem><Name>.uiPatch</Name><Value>40</Value></SubItem></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635648832</BitOffs></Symbol><Symbol><Name>Constants.nRegisterSize</Name><Comment><![CDATA[ Does the target support multiple cores?]]></Comment><BitSize>16</BitSize><BaseType>WORD</BaseType><Default><Value>64</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635648896</BitOffs></Symbol><Symbol><Name>Constants.nPackMode</Name><Comment><![CDATA[ Does the target support multiple cores?]]></Comment><BitSize>16</BitSize><BaseType>UINT</BaseType><Default><Value>8</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635648912</BitOffs></Symbol><Symbol><Name>Constants.RuntimeVersionNumeric</Name><Comment><![CDATA[ Does the target support multiple cores?]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>50662656</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635648928</BitOffs></Symbol><Symbol><Name>Constants.CompilerVersionNumeric</Name><Comment><![CDATA[ Does the target support multiple cores?]]></Comment><BitSize>32</BitSize><BaseType>DWORD</BaseType><Default><Value>50662696</Value></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635648960</BitOffs></Symbol><Symbol><Name>Constants.bMulticoreSupport</Name><BitSize>8</BitSize><BaseType>BOOL</BaseType><Default><Bool>false</Bool></Default><Properties><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635648992</BitOffs></Symbol><Symbol><Name>TwinCAT_SystemInfoVarList._AppInfo</Name><BitSize>2048</BitSize><BaseType GUID="{941FDF6E-37CE-4C30-AA23-3236AFA461E2}">PlcAppSystemInfo</BaseType><Properties><Property><Name>no_init</Name></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635649024</BitOffs></Symbol><Symbol><Name>TwinCAT_SystemInfoVarList._TaskInfo</Name><BitSize>1024</BitSize><BaseType GUID="{56294066-FFF7-46F3-8206-FA06A30B13BA}">PlcTaskSystemInfo</BaseType><ArrayInfo><LBound>1</LBound><Elements>1</Elements></ArrayInfo><Properties><Property><Name>no_init</Name></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635651072</BitOffs></Symbol><Symbol><Name>TwinCAT_SystemInfoVarList._TaskPouOid_PlcTask</Name><BitSize>32</BitSize><BaseType GUID="{18071995-0000-0000-0000-00000000000F}">OTCID</BaseType><Properties><Property><Name>no_init</Name></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635652096</BitOffs></Symbol><Symbol><Name>TwinCAT_SystemInfoVarList._TaskOid_PlcTask</Name><BitSize>32</BitSize><BaseType GUID="{18071995-0000-0000-0000-00000000000F}">OTCID</BaseType><Properties><Property><Name>no_init</Name></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635652128</BitOffs></Symbol><Symbol><Name>TwinCAT_SystemInfoVarList.__PlcTask</Name><BitSize>896</BitSize><BaseType>_Implicit_Task_Info</BaseType><Default><SubItem><Name>.dwVersion</Name><Value>2</Value></SubItem></Default><Properties><Property><Name>TcContextName</Name><Value>PlcTask</Value></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635652160</BitOffs></Symbol><Symbol><Name>TC_EVENTS.AnalogInput</Name><Comment><![CDATA[ ST_AnalogInput]]></Comment><BitSize>1536</BitSize><BaseType>ST_AnalogInput</BaseType><Properties><Property><Name>tc_no_symbol</Name><Value>unused</Value></Property><Property><Name>const_non_replaced</Name></Property><Property><Name>init_on_onlchange</Name></Property><Property><Name>suppress_warning_0</Name><Value>C0228</Value></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635705728</BitOffs></Symbol><Symbol><Name>TC_EVENTS.AnalogOutput</Name><Comment><![CDATA[ ST_AnalogOutput]]></Comment><BitSize>192</BitSize><BaseType>ST_AnalogOutput</BaseType><Properties><Property><Name>tc_no_symbol</Name><Value>unused</Value></Property><Property><Name>const_non_replaced</Name></Property><Property><Name>init_on_onlchange</Name></Property><Property><Name>suppress_warning_0</Name><Value>C0228</Value></Property><Property><Name>TcVarGlobal</Name></Property></Properties><BitOffs>635707264</BitOffs></Symbol></DataArea></DataAreas><Deployment /><EventClasses><EventClass><Type GUID="{0B767148-8FC5-4340-B6EB-6151E49FC9FF}">AnalogInput</Type></EventClass><EventClass><Type GUID="{8BFB4FDD-3EEC-40D7-987E-004CDA8B9B54}">AnalogOutput</Type></EventClass><EventClass><Type GUID="{C1141D67-F77A-4C56-9A6D-82359097C6E6}">SafetyDoor</Type></EventClass></EventClasses><Properties><Property><Name>ApplicationName</Name><Value>Port_852</Value></Property><Property><Name>ChangeDate</Name><Value>2024-03-20T16:10:26</Value></Property><Property><Name>GeneratedCodeSize</Name><Value>376832</Value></Property><Property><Name>GlobalDataSize</Name><Value>79097856</Value></Property></Properties></Module></Modules></TcModuleClass> |