CoDeSys+іŒ @@2.3.10.0@?@J‡гN +@>3I]Н@tC:\TWINCAT\PLC\LIB\TcUtilities.lib@шARG_TO_CSVFIELDpSrc`§џ Pointer to the source buffer pDest`§џ# Pointer to the destination buffer cbMax`§џ Max. number of input bytes cbScan`§џ Input stream data byte number cbReturn`§џ Number of result data bytes in T_Arg§џT Input data in PLC format (any data type, string, integer, floating point value...) bQM§џ h TRUE => Enclose result data in quotation marks, FALSE => Don't enclose result data in quotation marks. pOutput§џ / Address of output buffer (destination buffer) cbOutput§џ ! Max. byte size of output buffer ARG_TO_CSVFIELDєІFM€ џџџџ BCD_TO_DEC RisingEdge R_TRIG`§џSTART§џBIN§џBUSY§џERR§џERRID§џ DOUT§џ П Error codes: 0x00 : No Errors 0x0F : Parameter value NOT correct. Wrong BCD input value in Low Nibble. 0xF0 : Parameter value NOT correct. Wrong BCD input value in High Nibble. єІFM€ џџџџ BE128_TO_HOSTin T_UHUGE_INTEGER§џ BE128_TO_HOST T_UHUGE_INTEGERєІFM€ џџџџ BE16_TO_HOSTin§џ BE16_TO_HOSTєІFM€ џџџџ BE32_TO_HOSTparr `§џin§џ BE32_TO_HOSTєІFM€ џџџџ BE64_TO_HOSTin T_ULARGE_INTEGER§џ BE64_TO_HOST T_ULARGE_INTEGERєІFM€ џџџџBYTEARR_TO_MAXSTRINGin џ§џBYTEARR_TO_MAXSTRING  T_MaxStringєІFM€ џџџџCSVFIELD_TO_ARGpSrc`§џ Pointer to the source buffer pDest`§џ$ Pointer to the destination buffer cbMax`§џ Max. number of output bytes cbScan`§џ Input stream data byte number cbReturn`§џ Number of result data bytes bQMPrior`§џc TRUE => Previous character was quotation mark. FALSE => Previous character was not quotation mark pInput§џG Address of input buffer with data in CSV field format (source buffer )cbInput§џ  Byte size of input data bQM§џ \ TRUE => Remove enclosing quotation marks. FALSE => Don't remove enclosing quotation marks. out T_Arg§џ U Output data in PLC format (any data type, string, integer, floating point value...) CSVFIELD_TO_ARGєІFM€ џџџџCSVFIELD_TO_STRINGcbField`§џ in  T_MaxString§џ" Input string in CSV field format bQM§џ \ TRUE => Remove enclosing quotation marks. FALSE => Don't remove enclosing quotation marks. CSVFIELD_TO_STRING  T_MaxStringєІFM€ џџџџDATA_TO_HEXSTRiCase`§џ pCells џ`§џ idx`§џpData§џ Pointer to data buffer cbDataU§џ Byte size of data buffer bLoCase§џ9 Default: use "ABCDEF", if TRUE use "abcdef" characters. DATA_TO_HEXSTR  T_MaxStringєІFM€ џџџџ DCF77_TIME"DataBits <§џBitNo§џdtCurr§џdtNext§џtziCurr  E_TimeZoneID§џ6 Time zone information extracted from latest telegram tziPrev  E_TimeZoneID§џ8 Time zone information extracted from previous telegram tDiff§џ Two telegram time difference bCheck§џStep`§џ! StartEdge R_TRIG`§џ" RisingPulse R_TRIG`§џ$ FallingPulse F_TRIG`§џ% LongPulse TON`§џ& ShortPulse TON`§џ' DetectSync TOF`§џ( NoDCFSignal TON`§џ) DCFCycleLen TON`§џ* bIsRising`§џ, bIsFalling`§џ-bIsLong`§џ.bIsShort`§џ/Working`§џ0 DataValid`§џ2 ParitySum1`§џ3 ParitySum2`§џ4 ParitySum3`§џ5i`§џ7 DummyByte`§џ8 DummyStringQQ`§џ9Hour`§џ;Minute`§џ<Year`§џ=Month`§џ>Day`§џ? DCF_PULSE§џ DCF77 pulse: 101010101... RUN§џ* Enable/disable function block execution. BUSY§џ TRUE = Decoding in progress ERR§џ , Error flag: TRUE = Error, FALSE = No error ERRID§џ Error code ERRCNT§џ  Error counter READY§џ 1 TRUE => CDT is valid, FALSE => CDT is not valid CDT§џ  date and time information єІFM€ џџџџ DCF77_TIME_EX#DataBits <§џ Decoded data bits BitNo§џ Decoded bit number dtCurr§џ% Time extracted from latest telegram dtNext§џ  Supposed next time tziCurr  E_TimeZoneID§џ!6 Time zone information extracted from latest telegram tziPrev  E_TimeZoneID§џ"8 Time zone information extracted from previous telegram tDiff§џ#) Time difference of two latest telegrams bCheck§џ$H TRUE = Plausibility check over two telegrams enabled, FALSE = disabled Step`§џ& StartEdge R_TRIG`§џ' RisingPulse R_TRIG`§џ) FallingPulse F_TRIG`§џ* LongPulse TON`§џ+ ShortPulse TON`§џ, DetectSync TOF`§џ- NoDCFSignal TON`§џ. DCFCycleLen TON`§џ/ bIsRising`§џ1 bIsFalling`§џ2bIsLong`§џ3bIsShort`§џ4Working`§џ5 DataValid`§џ7 ParitySum1`§џ8 ParitySum2`§џ9 ParitySum3`§џ:i`§џ< DummyByte`§џ= DummyStringQQ`§џ>Hour`§џ@Minute`§џAYear`§џBMonth`§џCDay`§џD DayOfWeek`§џE DCF_PULSE§џ DCF77 pulse: 101010101... RUN§џ* Enable/disable function block execution. TLPŒ§џ Short/long pulse split point BUSY§џ  TRUE = Decoding in progress ERR§џ , Error flag: TRUE = Error, FALSE = No error ERRID§џ Error code ERRCNT§џ  Error counter READY§џ 1 TRUE => CDT is valid, FALSE => CDT is not valid CDT§џ date and time information DOW§џ0 ISO 8601 day of week: 1 = Monday.. 7 = Sunday TZI  E_TimeZoneID§џ time zone information ADVTZI§џ1 MEZ->MESZ or MESZ->MEZ time change notification LEAPSEC§џ TRUE = Leap second RAWDT <§џ Raw decoded data bits єІFM€ џџџџ DEC_TO_BCD RisingEdge R_TRIG`§џSTART§џDIN§џBUSY§џERR§џERRID§џ BOUT§џ h Error codes: 0x00 : No errors 0xFF : Parameter value NOT correct. Wrong DECIMAL input value. єІFM€ џџџџ DEG_TO_RADANGLE§џ DEG_TO_RADєІFM€ џџџџDINT_TO_DECSTRin§џ iPrecision§џ DINT_TO_DECSTR  T_MaxStringєІFM€ џџџџDT_TO_FILETIMEui64 T_ULARGE_INTEGER`§џDTIN§џDT_TO_FILETIME  T_FILETIMEєІFM€ џџџџDT_TO_SYSTEMTIMEsDT`§џnDay`§џb  24(16#30)0`§џTS  TIMESTRUCT`§џ Index7001DTIN§џDT_TO_SYSTEMTIME  TIMESTRUCTєІFM€ џџџџDWORD_TO_BINSTRbit  `§џ 6 array of ASCII characters (inclusive null delimiter) iSig`§џ  number of significant bits iPad`§џ number of padding zeros i`§џ Index7001in§џ iPrecision§џDWORD_TO_BINSTR  T_MaxStringєІFM€ џџџџDWORD_TO_DECSTRdec  `§џ 6 array of ASCII characters (inclusive null delimiter) iSig`§џ  number of significant nibbles iPad`§џ number of padding zeros i`§џdividerЪš;`§џnumber`§џ Index7001in§џ iPrecision§џDWORD_TO_DECSTR  T_MaxStringєІFM€ џџџџDWORD_TO_HEXSTRhex `§џ 6 array of ASCII characters (inclusive null delimiter) iSig`§џ number of significant nibbles iPad`§џ number of padding zeros i`§џ Index7001in§џ iPrecision§џbLoCase§џ 8Default: use "ABCDEF", if TRUE use "abcdef" characters. DWORD_TO_HEXSTR  T_MaxStringєІFM€ џџџџDWORD_TO_OCTSTRoct  `§џ 6 array of ASCII characters (inclusive null delimiter) iSig`§џ  number of significant nibbles iPad`§џ number of padding zeros i`§џ Index7001in§џ iPrecision§џDWORD_TO_OCTSTR  T_MaxStringєІFM€ џџџџF_ARGCMPtypeSafe§џ arg1 T_Arg§џ arg2 T_Arg§џ F_ARGCMPєІFM€ џџџџF_ARGCPYtypeSafe§џF_ARGCPYdest T_Arg§џ src T_Arg§џ єІFM€ џџџџ F_ARGISZEROarg T_Arg§џ F_ARGIsZeroєІFM€ џџџџ F_BIGTYPEpData§џ Address pointer of data buffer cbLen§џ Byte length of data buffer  F_BIGTYPE T_ArgєІFM€ џџџџF_BOOLF_BOOL T_Argin §џєІFM€ џџџџF_BYTEF_BYTE T_Argin §џєІFM€ џџџџF_BYTE_TO_CRC16_CCITTvalue§џ Data value crc§џ > Initial value (16#FFFF or 16#0000) or previous CRC-16 result F_BYTE_TO_CRC16_CCITTєІFM€ џџџџ F_CHECKSUM16 wChkSum_I`§џ % internal ChkSum dataWord`§џ % current data byte iIdx`§џ % current data buffer index ptrData`§џ % pointer to current data byte  dwSrcAddr§џ% address of data buffer cbLen§џ% length of data buffer wChkSum§џ% init value (16#0000) or last ChkSum  F_CheckSum16єІFM€ џџџџ F_CRC16_CCITTwCRC_I`§џ $ internal CRC dataWord`§џ $ current data byte iIdx`§џ $ current data buffer index ptrData`§џ $ pointer to current data byte  dwSrcAddr§џ$ address of data buffer cbLen§џ$ length of data buffer wLastCRC§џ$ init value (16#FFFF) or last CRC16  F_CRC16_CCITTєІFM€ џџџџF_CREATEHASHTABLEHNDp T_HashTableEntry`§џ i`§џ pEntries T_HashTableEntry§џC Pointer to the first entry of hash table database (element array) cbEntries§џ; Byte size (length) of hash table database (element array) F_CreateHashTableHndhTable  T_HHASHTABLE§џ Hash table handle єІFM€ џџџџF_CREATELINKEDLISTHNDp T_LinkedListEntry`§џ  Temp. previous node n T_LinkedListEntry`§џ  Temp. next node i`§џ loop iterator pEntries T_LinkedListEntry§џ@ Pointer to the first linked list node database (element array) cbEntries§џ< Byte size (length) of linked list database (element array) F_CreateLinkedListHndhList  T_HLINKEDLIST§џ Linked list handle єІFM€ џџџџF_DATA_TO_CRC16_CCITTi`§џpData§џ  Pointer to data cbData§џ  Length of data crc§џ > Initial value (16#FFFF or 16#0000) or previous CRC-16 result F_DATA_TO_CRC16_CCITTєІFM€ џџџџF_DINTF_DINT T_Argin §џєІFM€ џџџџF_DWORDF_DWORD T_Argin §џєІFM€ џџџџF_FORMATARGTOSTR pOut`§џlongword`§џdouble`§џsingle`§џshort`§џsmall`§џlongint`§џ iPaddingLen`§џiCurrLen`§џ bSign§џ Sign prefix flag bBlank§џ Blank prefix flag bNull§џ Null prefix flag bHash§џ Hash prefix flag bLAlign§џ4 FALSE => Right align (default), TRUE => Left align bWidth§џC FALSE => no width padding, TRUE => blank or zeros padding enabled iWidth§џ  Width length parameter iPrecision§џ  Precision length parameter eFmtType E_TypeFieldParam§џ  Format type field parameter arg T_Arg§џ  Format argument F_FormatArgToStrsOut T_MaxString§џєІFM€ џџџџF_GETDAYOFWEEKsysTime  TIMESTRUCT`§џ in§џF_GetDayOfWeekєІFM€ џџџџF_GETDOYOFYEARMONTHDAYbLY`§џ wYear§џ Year: 0..2xxx wMonth§џ Month 1..12 wDay§џ Day: 1..31 F_GetDOYOfYearMonthDayєІFM€ џџџџ F_GETFLOATREC ptrDouble §џfValue§џ fBegin§џ nBegin§џ fDiv§џ nDig§џnDigit§џ fMaxPrecision§џi§џ nLastDecDigit§џfVal§џ iPrecision§џbRound§џ F_GetFloatRec  T_FloatRecєІFM€ џџџџF_GETMAXMONTHDAYSwYear§џ wMonth§џ F_GetMaxMonthDaysєІFM€ џџџџF_GETMONTHOFDOYbLY`§џ wMonth`§џ wYear§џ Year: 0..2xxx wDOY§џ Year's day number: 1..366 F_GetMonthOfDOYєІFM€ џџџџF_GETVERSIONTCUTILITIESnVersionElement§џd Possible nVersionElement parameter: 1 : major number 2 : minor number 3 : revision number F_GetVersionTcUtilitiesєІFM€ џџџџF_GETWEEKOFTHEYEARdate_sec`§џ date seconds dow`§џ day of week year`§џ KWStart`§џ first€‚yG`§џ ff`§џ in§џF_GetWeekOfTheYearєІFM€ џџџџF_HUGEF_HUGE T_Argin T_HUGE_INTEGER§џєІFM€ џџџџF_INTF_INT T_Argin §џєІFM€ џџџџF_LARGEF_LARGE T_Argin T_LARGE_INTEGER§џєІFM€ џџџџF_LREALF_LREAL T_Argin §џєІFM€ џџџџF_LTRIMpChar`§џpStr T_MaxString`§џ in  T_MaxString§џF_LTrim  T_MaxStringєІFM€ џџџџF_REALF_REAL T_Argin §џєІFM€ џџџџF_RTRIMn`§џpChar`§џ in  T_MaxString§џF_RTrim  T_MaxStringєІFM€ џџџџF_SINTF_SINT T_Argin §џєІFM€ џџџџF_STRINGF_STRING T_Argin T_MaxString§џєІFM€ џџџџ F_SWAPREALpReal §џpResult §џfVal§џ F_SwapRealєІFM€ џџџџ F_SWAPREALEXpIN `§џwSave`§џ  F_SwapRealExfVal §џєІFM€ џџџџ F_TOLCASEpDest`§џidxMIN_SBCS_TABLEMAX_SBCS_TABLE`§џ in  T_MaxString§џ F_ToLCase  T_MaxStringєІFM€ џџџџ F_TOUCASEpDest`§џidxMIN_SBCS_TABLEMAX_SBCS_TABLE`§џ in  T_MaxString§џ F_ToUCase  T_MaxStringєІFM€ џџџџF_UDINTF_UDINT T_Argin §џєІFM€ џџџџF_UHUGEF_UHUGE T_Argin T_UHUGE_INTEGER§џєІFM€ џџџџF_UINTF_UINT T_Argin §џєІFM€ џџџџF_ULARGEF_ULARGE T_Argin T_ULARGE_INTEGER§џєІFM€ џџџџF_USINTF_USINT T_Argin §џєІFM€ џџџџF_WORDF_WORD T_Argin §џєІFM€ џџџџF_YEARISLEAPYEARwYear§џF_YearIsLeapYearєІFM€ џџџџFB_ADDROUTEENTRY fbAdsWrite ADSWRITE`§џfbRTrig R_TRIG`§џnStep`§џ dataEntry ST_AmsRouteSystemEntry`§џsNetID  T_AmsNetID§џ& TwinCAT network address (ams net id) stRoute ST_AmsRouteEntry§џ! Structure with route parameters bExecute§џ- Rising edge starts function block execution tTimeoutˆ§џbBusy§џ bError§џ nErrID§џ єІFM€ џџџџ FB_AMSLOGGER RisingEdge R_TRIG`§џ fbAdsWrite ADSWRITE`§џstReq ST_AmsLoggerReq`§џnLen`§џsNetId  '' T_AmsNetId§џeMode  AMSLOGGER_RUNE_AmsLoggerMode§џ sCfgFilePath  '' T_MaxString§џbExecute§џtTimeoutˆ§џbBusy§џ bError§џ nErrId§џ єІFM€ џџџџ FB_BASICPID nERR_NOERROR§џ no error nERR_INVALIDPARAM§џ invalid parameter nERR_INVALIDCYCLETIME§џ invalid cycle time fE0.0§џ  error input fE_10.0§џ! error input z^(-1) fY0.0§џ" control output fY_10.0§џ# control output z^(-1) fYP0.0§џ$ P-part fYI0.0§џ% I-part fYI_10.0§џ& I-part z^(-1) fYD0.0§џ' D-T1-part fYD_10.0§џ( D-T1-part z^(-1) bInit§џ*% initialization flag for first cycle bIsIPart§џ+ I-part active ? bIsDPart§џ, D-part active ? fDi0.0§џ. internal I param fDd0.0§џ/ internal D param fCd0.0§џ0 internal D param fCtrlCycleTimeOld0.0§џ2fKpOld0.0§џ3fTnOld0.0§џ4fTvOld0.0§џ5fTdOld0.0§џ6fSetpointValue§џ setpoint value fActualValue§џ actual value bReset§џ controller values fCtrlCycleTime§џ ( controller cycle time in seconds [s] fKp§џ proportional gain Kp (P) fTn§џ integral gain Tn (I) [s] fTv§џ" derivative gain Tv (D-T1) [s] fTd§џ( derivative damping time Td (D-T1) [s]  fCtrlOutput§џ controller output command nErrorStatus§џ1 controller error output (0: no error; >0:error) єІFM€ џџџџFB_BUFFEREDTEXTFILEWRITERfbFile FB_TextFileRingBuffer`§џ closeTimer TON`§џ auto close timer bRemove`§џnStep`§џsNetId  '' T_AmsNetId`§џ ams net id sPathName  'c:\Temp\data.dat' T_MaxString`§џ 6 file buffer path name (max. length = 255 characters) ePath  PATH_GENERIC E_OpenPath`§џ  default: Open generic file bAppend`§џ ) TRUE = append lines, FALSE = not append tAutoCloseˆ`§џ tTimeoutˆ`§џ bBusy`§џbError`§џnErrID`§џfbBuffer FB_StringRingBuffer`§џ string ring buffer єІFM€ џџџџFB_CONNECTSCOPESERVER stRecordDesc d (nRunMode:=0, nSopMode:=0, bStoreOnDisk:=FALSE, bUseLocalServer:=FALSE, bStartServerFromFile:=TRUE)#ST_ScopeServerRecordModeDescription§џnState§џ nErrorState§џ fbAdsWrite ADSWRITE§џfbQueryRegistry FB_RegQueryValue§џsScopeServerDir§џsScopeServerPath§џ fbStartServer NT_StartProcess§џfbWait TON§џ bTriggerServerStart§џ!nDwellTimeCounter§џ"nPort  27110 T_AmsPort§џ%Connect_IdxGrpu§џ&0x7500sNetId  '' T_AmsNetId§џ bExecute§џ sConfigFileQQ§џtTimeoutˆ§џbBusy§џbDone§џbError§џnErrorId§џєІFM€ џџџџFB_CSVMEMBUFFERREADER state`§џgetBufferIndex`§џscanPtr`§џscanSize`§џbField`§џcbCopied`§џ bFirstChar`§џbDQField`§џ bDQBefore`§џpField`§џU If successfull then this variable returns the address of the first/next field value cbField`§џW If successfull then this variable returns the byte size of the first/next field value bEOF`§џ TRUE => End of field found bBreak`§џeCmd  eEnumCmd_First E_EnumCmdType§џ) Command type: read first or next field ?pBuffer§џ# Address ( pointer) of data buffer cbBuffer§џ Max. byte size of data buffer bOk§џ & TRUE => Successfull, FALSE => Failed getValue  '' T_MaxString§џ N If successfull then this output returns the first/next field value as string pValue§џ s Pointer to the first value byte (HINT: String values are not null terminated. Empty string returns Null pointer ) cbValue§џ  Field value byte size bCRLF§џ . TRUE => End of record separator found (CRLF) cbRead§џ) Number of successfully parse data bytes єІFM€ џџџџFB_CSVMEMBUFFERWRITERfbReader FB_CSVMemBufferReader`§џtemp ,`§џ Temp buffer cbTemp`§џ% Number of data bytes in temp buffer cbCopied`§џ9 Number of data bytes copied to the external data buffer bNewLine`§џ TRUE => start with new line eCmd  eEnumCmd_First E_EnumCmdType§џ* Command type: write first or next field ?putValue  '' T_MaxString§џ& New first/next field value as string pValue§џC OPTIONAL: Pointer to external buffer containing field value data. cbValue§џF OPTIONAL: Byte size of external buffer containing field value data. bCRLF§џ0 TRUE = > Append end of record separator (CRLF) pBuffer§џ # Address ( pointer) of data buffer cbBuffer§џ  Max. byte size of data buffer bOk§џ & TRUE => Successfull, FALSE => Failed cbSize§џ Number fo used data bytes cbFree§џ Number of free data bytes nFields§џ Number of fields nRecords§џ Number of records cbWrite§џ+ Number of successfully written data bytes єІFM€ џџџџFB_DBGOUTPUTCTRLfbFormat FB_FormatString`§џfbBuffer FB_StringRingBuffer`§џfbFile + (ePath := PATH_BOOTPATH, bAppend := TRUE )  PATH_GENERIC E_OpenPathFB_BufferedTextFileWriter`§џbuffer '`§џstate`§џnItems`§џk`§џ bInit`§џ! Hex logging i`§џ$cells  `§џ%pCells T_MaxString`§џ&cbL1`§џ'cbL2`§џ'idx`§џ'pSrc1`§џ(pSrc2`§џ( dwCtrl`§џ& Debug message target: DBG_OUTPUT_LOG sFormat  '' T_MaxString`§џ Debug message format string arg1 T_Arg`§џ Format string argument arg2 T_Arg`§џarg3 T_Arg`§џ arg4 T_Arg`§џ arg5 T_Arg`§џ arg6 T_Arg`§џ arg7 T_Arg`§џ arg8 T_Arg`§џarg9 T_Arg`§џarg10 T_Arg`§џsFilter  '' T_MaxString`§џbError`§џnError`§џ nOverflow`§џєІFM€ џџџџFB_DISCONNECTSCOPESERVER fbAdsWrite ADSWRITE§џnState§џsNetId  T_AmsNetId§џbExecute§џtTimeoutˆ§џbBusy§џbDone§џ bError§џ nErrorId§џ єІFM€ џџџџFB_ENUMFINDFILEENTRYfbRTrig R_TRIG`§џnStep`§џ fbAdsRdWrt B ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_FFILEFIND )  T_AmsPort…ADSRDWRT`§џ fbAdsWrite D ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_CLOSEHANDLE )   T_AmsPortoADSWRITE`§џ dataEntry ST_FindFileSystemEntry`§џeFindCmd  E_EnumCmdType`§џsNetId  T_AmsNetId§џ sPathName  T_MaxString§џ% dir/path/file name, wildcards [*|?] eCmd  eEnumCmd_First E_EnumCmdType§џ Enumerator navigation command bExecute§џtTimeoutˆ§џbBusy§џ bError§џ nErrID§џ bEOE§џ End of enumeration stFindFile ST_FindFileEntry§џ Find file entry єІFM€ џџџџFB_ENUMFINDFILELISTfbRTrig R_TRIG`§џnStep`§џfbEnum FB_EnumFindFileEntry`§џcbEntry`§џnEntries`§џpEntry ST_FindFileEntry`§џsNetId  T_AmsNetId§џ sPathName  T_MaxString§џ% dir/path/file name, wildcards [*|?] eCmd  eEnumCmd_First E_EnumCmdType§џ Enumerator navigation command pFindList§џ& POINTER TO ARRAY OF ST_FindFileEntry cbFindList§џ( Byte size of ARRAY OF ST_FindFileEntry bExecute§џ tTimeoutˆ§џ bBusy§џ bError§џnErrID§џbEOE§џ End of enumeration nFindFiles§џ Number of find files єІFM€ џџџџFB_ENUMROUTEENTRY fbAdsRead ADSREAD`§џfbRTrig R_TRIG`§џnStep`§џindexџџџџ`§џ dataEntry ST_AmsRouteSystemEntry`§џsNetID  T_AmsNetID§џ' TwinCAT network address (ams net id ) eCmd  eEnumCmd_First E_EnumCmdType§џ Enumerator navigation command bExecute§џ- Rising edge starts function block execution tTimeoutˆ§џbBusy§џ bError§џ nErrID§џ bEOE§џ l End of enumeration. This value is TRUE after the first read that attempts to read next non existing entry. stRoute ST_AmsRouteEntry§џ! Structure with route parameters єІFM€ џџџџFB_ENUMSTRINGNUMBERSpSrc`§џpDest`§џpNext`§џchar`§џstate`§џbEat`§џsSearch  T_MaxString§џ Source string eCmd  eEnumCmd_First E_EnumCmdType§џ Enumerator navigation command eType  eNumGroup_FloatE_NumGroupTypes§џ String number format type sNumber  T_MaxString§џ Found string number nPos§џ ) <> 0 => Next scan/search start position bEOS§џ  TRUE = End of string єІFM€ џџџџFB_FILERINGBUFFERfbOpen  FB_FileOpen`§џfbClose  FB_FileClose`§џfbWrite  FB_FileWrite`§џfbRead  FB_FileRead`§џ fbSeek  FB_FileSeek`§џ!nStep`§џ"X 0=idle, 1=init, 10,11=open, 20,21=seek, 30,31=read, 40,41=write, 50,51=close, 100=exit bInit`§џ#5 TRUE=reading length chunk, FALSE=reading data chunk bExit`§џ$O FALSE=repeat reading/writing, TRUE=abort reading/writing, go to the exit step bReopen`§џ%t Open mode: TRUE=try to open existing file, FALSE=create new file, if open fails => try to create and open new file bOpen`§џ&% TRUE=file opened, FALSE=file closed bGet`§џ'$ TRUE=get entry, FALSE=remove entry bOW`§џ(b TRUE=removing oldest entry (bOverwrite=TRUE), FALSE=don't remove oldest entry (bOverwrite=FALSE) cbOW`§џ)/ Temp length of ovwerwritten length/data chunk cbMoved`§џ*= Number of successfully read/written length/data chunk bytes ptrSaved`§џ+M Seek pointer previous position (used by A_GetHead or read buffer underflow) ptrMax`§џ,D Seek pointer max. position = SIZEOF(ring buffer header) + cbBuffer eCmd  eFileRBuffer_NoneE_FileRBufferCmd`§џ-eOldCmd  eFileRBuffer_NoneE_FileRBufferCmd`§џ. sNetId  '' T_AmsNetId§џ ams net id sPathName  'c:\Temp\data.dat' T_MaxString§џ6 file buffer path name (max. length = 255 characters) ePath  PATH_GENERIC E_OpenPath§џ default: Open generic file nID§џ user defined version ID cbBuffer§џ max. file buffer byte size bOverwrite§џ : FALSE = don't overwrite, TRUE = overwrite oldest entries pWriteBuff§џ " pointer to external write buffer cbWriteLen§џ $ byte size of external write buffer pReadBuff§џ ! pointer to external read buffer cbReadLen§џ # byte size of external read buffer tTimeoutˆ§џbBusy§џbError§џnErrID§џх ADS or function specific error codes: 16#8000 = (File) buffer empty or overflow 16#8001 = (Application) buffer underflow (cbReadLen to small), 16#8002 = Buffer is not opened 16#8003 = Invalid input parameter value cbReturn§џ! number of recend read data bytesstHeader ST_FileRBufferHead§џ buffer status єІFM€ џџџџFB_FORMATSTRING pFormat`§џ pointer to the format string pOut`§џ pointer to the result string nRemOutLen`§џ$ Max remaining length of sOut bufferbValid`§џ8 if set, the string character is valid format parameter stFmt ST_FormatParameters`§џ nArrayElem`§џ nArgument`§џparArgs   T_Arg`§џsArgStr  T_MaxString`§џ sFormat  T_MaxString§џarg1 T_Arg§џarg2 T_Arg§џarg3 T_Arg§џarg4 T_Arg§џarg5 T_Arg§џarg6 T_Arg§џ arg7 T_Arg§џ arg8 T_Arg§џ arg9 T_Arg§џ arg10 T_Arg§џ bError§џnErrId§џsOut  T_MaxString§џєІFM€ џџџџFB_GETADAPTERSINFO fbAdsRead ADSREAD`§џ fbRegQuery FB_RegQueryValue`§џ fbTrigger R_TRIG`§џnState`§џcbInfo`§џidx`§џinfo  ST_IP_ADAPTER_INFO`§џ buffer for 12 entries pInfo ST_IP_ADAPTER_INFO`§џ nRealCount`§џ sDefaultA  T_MaxString`§џsNetID  T_AmsNetId§џbExecute§џtTimeoutˆ§џbBusy§џ bError§џ nErrID§џ arrAdapters  ST_IpAdapterInfo§џ nCount§џ  Max. number of found adapters nGet§џ% Number of read adapter info entries єІFM€ џџџџFB_GETDEVICEIDENTIFICATION iDataSize@`§џ byTagStart<`§џ '<' byTagEnd>`§џ '>' byTagSlash/`§џ '/' fbAdsRead ADSREAD`§џ bExecutePrev`§џiState`§џiData `§џ strActPath`§џ iLoopEndIdx`§џ iStructSize`§џstrHardwareCPU `§џstrTags  ))`§џ iTagsSize  `§џiCurrTag (`§џ iCurrTagData P`§џ! iPathSize`§џ"iTagIdx`§џ$ iCurrTagIdx`§џ%iDataIdx`§џ&iCurrTagDataIdx`§џ'k`§џ( iMinCurrData`§џ) iFirstIdx`§џ*iLastIdx`§џ+ bTagStart`§џ-bTagEnd`§џ. bTagSlash`§џ/bTagOpen`§џ0bExecute§џtTimeoutˆ§џsNetId  T_AmsNetId§џ ams net id of target system bBusy§џbError§џ nErrorID§џ stDevIdent ST_DeviceIdentification§џ 5 structure with available device identification data єІFM€ џџџџFB_GETDEVICEIDENTIFICATIONEX iDataSize@`§џ byTagStart<`§џ '<' byTagEnd>`§џ '>' byTagSlash/`§џ '/' fbAdsRead ADSREAD`§џ bExecutePrev`§џiState`§џiData `§џ strActPath`§џ iLoopEndIdx`§џ iStructSize`§џstrHardwareCPU `§џstrTags  ))`§џ iTagsSize  `§џiCurrTag (`§џ iCurrTagData P`§џ! iPathSize`§џ"iTagIdx`§џ$ iCurrTagIdx`§џ%iDataIdx`§џ&iCurrTagDataIdx`§џ'k`§џ( iMinCurrData`§џ) iFirstIdx`§џ*iLastIdx`§џ+ bTagStart`§џ-bTagEnd`§џ. bTagSlash`§џ/bTagOpen`§џ0bExecute§џtTimeoutˆ§џsNetId  T_AmsNetId§џ ams net id of target system bBusy§џbError§џ nErrorID§џ stDevIdent ST_DeviceIdentificationEx§џ 5 structure with available device identification data єІFM€ џџџџFB_GETHOSTADDRBYNAMEfbAdsRW  ADSRDWRTEX`§џ fbTrigger R_TRIG`§џnState`§џsNetID  T_AmsNetId§џ sHostName  '' T_MaxString§џ1 String containing host name. E.g. 'DataServer1' bExecute§џtTimeoutШЏ§џbBusy§џ bError§џ nErrID§џ sAddr  '' T_IPv4Addr§џ S String containing an (Ipv4) Internet Protocol dotted address. E.g. '172.16.7.199' arrAddr  0, 0, 0, 0 T_IPv4AddrArr§џC Byte array containing an (Ipv4) Internet Protocol dotted address. єІFM€ џџџџFB_GETHOSTNAME fbAdsRead ADSREAD`§џ fbTrigger R_TRIG`§џnState`§џsNetID  T_AmsNetId§џbExecute§џtTimeoutˆ§џbBusy§џ bError§џ nErrID§џ sHostName  T_MaxString§џ  The local host name єІFM€ џџџџFB_GETLOCALAMSNETID RisingEdge R_TRIG`§џ FallingEdge F_TRIG`§џfbRegQueryValue FB_RegQueryValue`§џtmpBytes  T_AmsNetIdArr`§џbExecute§џtTimeOutˆ§џbBusy§џbError§џnErrId§џ AddrString  '0.0.0.0.0.0' T_AmsNetId§џ AddrBytes  0,0,0,0,0,0 T_AmsNetIdArr§џ єІFM€ џџџџFB_GETROUTERSTATUSINFO risingEdge R_TRIG`§џstate`§џadsRes `§џ fbAdsRead ADSREAD`§џsNetId  '' T_AmsNetID§џbExecute§џtTimeoutˆ§џbBusy§џbError§џ nErrID§џ info ST_TcRouterStatusInfo§џ єІFM€ џџџџFB_GETTIMEZONEINFORMATION fbAdsRead ADSREAD`§џbOldTrig`§џstate`§џres ST_AmsGetTimeZoneInformation`§џsNetID  '' T_AmsNetID§џbExecute§џtTimeoutˆ§џbBusy§џbError§џ nErrID§џ tzID  E_TimeZoneID§џ tzInfo ST_TimeZoneInformation§џ єІFM€ џџџџFB_HASHTABLECTRLp T_HashTableEntry`§џn T_HashTableEntry`§џnHash`§џkey§џd Entry key: used by A_Lookup, A_Remove method, the key.lookup variable is also used by A_Add method putValue§џ Entry value putPosPtr T_HashTableEntry§џ bOk§џ  TRUE = success, FALSE = error getValue§џ getPosPtr T_HashTableEntry§џR returned by A_GetFirstEntry, A_GetNextEntry, A_Add, A_Lookup and A_Remove method hTable  T_HHASHTABLE§џ Hash table handle variable єІFM€ џџџџFB_LINKEDLISTCTRLp T_LinkedListEntry`§џ Temp. previous node n T_LinkedListEntry`§џ Temp. next node putValue§џ Linked list node value putPosPtr T_LinkedListEntry§џ Linked list node pointer bOk§џ  TRUE = success, FALSE = error getValue§џ  Linked list node value getPosPtr T_LinkedListEntry§џ  Linked list node pointer hList  T_HLINKEDLIST§џ Linked list table handle єІFM€ џџџџFB_LOCALSYSTEMTIME rtrig R_TRIG`§џstate`§џfbNT  NT_GetTime`§џfbTZ FB_GetTimeZoneInformation`§џfbSET NT_SetTimeToRTCTime`§џfbRTC RTC_EX2`§џtimer TON`§џnSync`§џbNotSup`§џsNetID  '' T_AmsNetID§џ+ The target TwinCAT system network address bEnable§џ` Enable/start cyclic time synchronisation (output is synchronized to Local Windows System Time) dwCycle€Q§џ& Time synchronisation cycle (seconds) dwOpt§џR Additional option flags: If bit 0 is set => Synchronize Windows Time to RTC time tTimeoutˆ§џJ Max. ADS function block execution time (internal communication timeout). bValid§џ \ TRUE => The systemTime and tzID output is valid, FALSE => systemTime and tzID is not valid systemTime  TIMESTRUCT§џ " Local Windows System Time struct tzID  eTimeZoneID_Invalid E_TimeZoneID§џ ) Daylight/standard time zone information єІFM€ џџџџFB_MEMBUFFERMERGEpDest`§џcbDest`§џeCmd  eEnumCmd_First E_EnumCmdType§џpBuffer§џ Pointer to destination buffer cbBuffer§џ& Max. byte size of destination buffer pSegment§џ. Pointer to data segment (optional, may be 0) cbSegment§џ- Number of data segments (optional, may be 0)bOk§џ M TRUE => Successfull, FALSE => End of enumeration or invalid input parameter cbSize§џ  Data buffer fill state єІFM€ џџџџFB_MEMBUFFERSPLITpSrc`§џcbSrc`§џeCmd  eEnumCmd_First E_EnumCmdType§џpBuffer§џ Pointer to source data buffer cbBuffer§џ! Byte size of source data buffer cbSize§џ Max. segment byte size bOk§џ N TRUE => Successfull, FALSE => End of segmentation or invalid input parameter pSegment§џ  Pointer to data segment cbSegment§џ  Byte size of data segment bEOS§џ 7 TRUE = End/last segment, FALSE = Next segment follows єІFM€ џџџџFB_MEMRINGBUFFERidxLast`§џ byte index of last buffer byte idxFirst`§џ" byte buffer of first buffer byte idxGet`§џpTmp`§џcbTmp`§џcbCopied`§џpWrite§џ pointer to write data cbWrite§џ byte size of write data pRead§џ  pointer to read data buffer cbRead§џ  byte size of read data buffer pBuffer§џ # pointer to ring buffer data bytes cbBuffer§џ  max. ring buffer byte size bOk§џT TRUE = new entry added or removed succesfully, FALSE = fifo overflow or fifo empty nCount§џ number of fifo entries cbSize§џ" current byte length of fifo data cbReturn§џО 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) єІFM€ џџџџFB_MEMRINGBUFFEREXidxLast`§џ* byte index of last (newest) buffer entry idxFirst`§џ+ byte index of first (oldest) buffer entry idxGet`§џ temporary index idxEnd`§џ" index of unused/free end segment cbEnd`§џ& byte size of unused/free end segment cbAdd`§џ!pWrite§џ  pointer to write data cbWrite§џ  byte size of write data pBuffer§џ# pointer to ring buffer data bytes cbBuffer§џ max. ring buffer byte size bOk§џW TRUE = new entry added or get, freed succesfully, FALSE = fifo overflow or fifo empty pRead§џ( A_GetHead returns pointer to read data cbRead§џ* A_GetHead returns byte size of read data nCount§џ number of fifo entries cbSize§џ" current byte length of fifo data cbFree§џ biggest available free segment єІFM€ џџџџFB_REGQUERYVALUE fbAdsRdWrtEx  ADSRDWRTEX`§џbExecOld`§џbBusyOld`§џs1Len`§џs2Len`§џptr`§џcbBuff`§џtmpBuff ST_HKeySrvRead`§џsNetId  T_AmsNetId§џ ams net id sSubKey  T_MaxString§џ sub key name sValName  T_MaxString§џ value name cbData§џ number of data bytes to read pData§џ$ points to registry key data buffer bExecute§џ control input tTimeOutˆ§џ bBusy§џ bError§џ nErrId§џcbRead§џ' number of succesfully read data bytes єІFM€ џџџџFB_REGSETVALUE fbAdsWrite ADSWRITE`§џbExecOld`§џbBusyOld`§џs1Len`§џs2Len`§џs3Len`§џptr`§џnType`§џcbBuff`§џ cbRealWrite`§џtmpBuff ST_HKeySrvWrite`§џsNetId  T_AmsNetId§џ ams net id sSubKey  T_MaxString§џsValName  T_MaxString§џ value name eValType E_RegValueType§џcbData§џ size of value data in bytes pData§џ pointer to value data bufferbExecute§џ  control input tTimeOutˆ§џ bBusy§џ bError§џnErrId§џcbWrite§џєІFM€ џџџџFB_REMOVEROUTEENTRY fbAdsWrite ADSWRITE`§џsNetID  T_AmsNetID§џ' TwinCAT network address (ams net id ) sName §џ Route name as string bExecute§џ- Rising edge starts function block execution tTimeoutˆ§џbBusy§џ bError§џ nErrID§џ єІFM€ џџџџFB_RESETSCOPESERVERCONTROL fbAdsWrite ADSWRITE§џnState§џsNetId  T_AmsNetId§џbExecute§џtTimeoutˆ§џbBusy§џbDone§џ bError§џ nErrorId§џ єІFM€ џџџџFB_SAVESCOPESERVERDATAnState§џ fbAdsWrite ADSWRITE§џsNetId  T_AmsNetId§џbExecute§џ sSaveFileQQ§џtTimeoutˆ§џbBusy§џ bDone§џ bError§џ nErrorId§џ єІFM€ џџџџFB_SCOPESERVERCONTROL eCurrentState  SCOPE_SERVER_IDLEE_ScopeServerState§џ fbConnect FB_ConnectScopeServer§џfbStart FB_StartScopeServer§џfbStop FB_StopScopeServer§џfbSave FB_SaveScopeServerData§џ fbDisconnect FB_DisconnectScopeServer§џfbReset FB_ResetScopeServerControl§џ sNetId  T_AmsNetId§џ eReqState E_ScopeServerState§џ sConfigFileQQ§џ sSaveFileQQ§џtTimeoutˆ§џbBusy§џbDone§џbError§џnErrorId§џєІFM€ џџџџFB_SETTIMEZONEINFORMATION fbAdsWrite ADSWRITE`§џbOldTrig`§џstate`§џreq ST_AmsGetTimeZoneInformation`§џsNetID  '' T_AmsNetID§џtzInfo ] ( (*West Euoropa Standard Time *) bias:=-60, standardName:='W. Europe Standard Time', standardDate:=(wYear:=0, wMonth:=10, wDayOfWeek:=0, wDay:=5, wHour:=3), standardBias:=0, daylightName:='W. Europe Daylight Time', daylightDate:=(wYear:=0, wMonth:=3, wDayOfWeek:=0, wDay:=5, wHour:=2), daylightBias:=-60 )Фџџџ W. Europe Standard Time  TIMESTRUCT  W. Europe Daylight Time  TIMESTRUCTФџџџST_TimeZoneInformation§џbExecute§џtTimeoutˆ§џbBusy§џbError§џnErrID§џєІFM€ џџџџFB_STARTSCOPESERVERnState§џ fbAdsWrite ADSWRITE§џnDummy  0,0§џsNetId  T_AmsNetId§џbExecute§џtTimeoutˆ§џbBusy§џbDone§џ bError§џ nErrorId§џ єІFM€ џџџџFB_STOPSCOPESERVERnState§џ fbAdsWrite ADSWRITE§џnDummy  0,0§џsNetId  T_AmsNetId§џbExecute§џtTimeoutˆ§џbBusy§џbDone§џ bError§џ nErrorId§џ єІFM€ џџџџFB_STRINGRINGBUFFERfbBuffer FB_MemRingBuffer`§џ4 Internal (low level) buffer control function block  bOverwrite§џ8 TRUE = overwrite oldest entry, FALSE = don't overwrite putValue  '' T_MaxString§џ% String to add (write) to the buffer pBuffer§џ # Pointer to ring buffer data bytes cbBuffer§џ  Max. ring buffer byte size bOk§џ T TRUE = new entry added or removed succesfully, FALSE = fifo overflow or fifo empty getValue  '' T_MaxString§џ# String removed (read) from buffer nCount§џ Number of fifo entries cbSize§џ" Current byte length of fifo data єІFM€ џџџџFB_TEXTFILERINGBUFFERfbOpen  FB_FileOpen`§џfbClose  FB_FileClose`§џfbPuts  FB_FilePuts`§џnStep`§џ@ 0=idle, 1=init, 10,11=open, 40,41=write, 50,51=close, 100=exit eCmd  eFileRBuffer_NoneE_FileRBufferCmd`§џsNetId  '' T_AmsNetId`§џ ams net id sPathName  'c:\Temp\data.dat' T_MaxString`§џ6 file buffer path name (max. length = 255 characters) ePath  PATH_GENERIC E_OpenPath`§џ default: Open generic file bAppend`§џ# TRUE = append, FALSE = not append putLine  '' T_MaxString`§џ cbBuffer`§џ 5 max. file buffer byte size(RESERVED for future use) tTimeoutˆ`§џ bBusy`§џbError`§џnErrID`§џbOpened`§џ) TRUE = file opened, FALSE = file closed getLine  '' T_MaxString`§џєІFM€ џџџџFB_WRITEPERSISTENTDATA ADSWRTCTL1  ADSWRTCTL`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џPORT§џSTART§џTMOUTˆ§џMODE E_PersistentMode§џD =SPDM_2PASS: optimized boost; =SPDM_VAR_BOOST: boost per variable; BUSY§џ ERR§џ ERRID§џ єІFM€ џџџџFILETIME_TO_DTui64 T_ULARGE_INTEGER`§џ fileTime  T_FILETIME§џ Windows file time. FILETIME_TO_DTєІFM€ џџџџFILETIME_TO_SYSTEMTIME D`§џM`§џY`§џ uiPastDays T_ULARGE_INTEGER`§џ uiPastYears T_ULARGE_INTEGER`§џ uiRemainder T_ULARGE_INTEGER`§џ dwPastDays`§џ dwPastYears`§џ dwYearDays`§џfileTime  T_FILETIME§џFILETIME_TO_SYSTEMTIME  TIMESTRUCTєІFM€ џџџџFIX16_TO_LREALin T_FIX16§џFIX16_TO_LREALєІFM€ џџџџ FIX16_TO_WORDin T_FIX16§џ 16 bit fixed point number  FIX16_TO_WORDєІFM€ џџџџFIX16ADDaugend T_FIX16§џaddend T_FIX16§џFIX16Add T_FIX16єІFM€ џџџџ FIX16ALIGNin T_FIX16§џ# 16 bit signed fixed point number. n§џ, Number of fractional bits (decimal places)  FIX16Align T_FIX16єІFM€ џџџџFIX16DIVtmpA`§џ dividend T_FIX16§џdivisor T_FIX16§џFIX16Div T_FIX16єІFM€ џџџџFIX16MULtmp`§џ multiA T_FIX16§џmultiB T_FIX16§џFIX16Mul T_FIX16єІFM€ џџџџFIX16SUBminuend T_FIX16§џ subtrahend T_FIX16§џFIX16Sub T_FIX16єІFM€ џџџџGETREMOTEPCINFOADSREAD1 ADSREAD`§џ RisingEdge R_TRIG`§џ FallingEdge F_TRIG`§џ RouterInfo c ROUTERINFOSTRUCT`§џiIndex`§џtmpNetId  T_AmsNetId`§џidx`§џNETID  T_AmsNetId§џD Target NetID, usually left as empty string for reading local infos START§џ Rising edge starts the FBTMOUTˆ§џ1 Set Timeout according to local or remote access BUSY§џ Ads busy ERR§џ Ads error ERRID§џ Ads Error RemotePCInfo REMOTEPCINFOSTRUCT§џ N field with all NetIDДs and PC names found in router, ordered as router gives єІFM€ џџџџHEXSTR_TO_DATApSrc`§џ pDest`§џ ascii`§џ nibble`§џ bAdd`§џbLN`§џ hi/lo nibble sHex  T_MaxString§џ Hex string to convert pData§џ Pointer to destination buffer cbData§џ! Byte size of destination buffer HEXSTR_TO_DATAєІFM€ џџџџ HOST_TO_BE128in T_UHUGE_INTEGER§џ HOST_TO_BE128 T_UHUGE_INTEGERєІFM€ џџџџ HOST_TO_BE16in§џ HOST_TO_BE16єІFM€ џџџџ HOST_TO_BE32parr `§џin§џ HOST_TO_BE32єІFM€ џџџџ HOST_TO_BE64in T_ULARGE_INTEGER§џ HOST_TO_BE64 T_ULARGE_INTEGERєІFM€ џџџџINT64_TO_LREALin T_LARGE_INTEGER§џINT64_TO_LREALєІFM€ џџџџ INT64ADD64bOV`§џ i64a T_LARGE_INTEGER§џi64b T_LARGE_INTEGER§џ Int64Add64 T_LARGE_INTEGERєІFM€ џџџџ INT64ADD64EXaugend T_LARGE_INTEGER§џaddend T_LARGE_INTEGER§џ Int64Add64Ex T_LARGE_INTEGERbOV §џ3 TRUE => arithmetic overflow, FALSE => no overflow єІFM€ џџџџ INT64CMP64i64a T_LARGE_INTEGER§џi64b T_LARGE_INTEGER§џ  Int64Cmp64єІFM€ џџџџ INT64DIV64EX bIsNegative`§џ sRemainder T_ULARGE_INTEGER`§џ dividend T_LARGE_INTEGER§џdivisor T_LARGE_INTEGER§џ Int64Div64Ex T_LARGE_INTEGER remainder T_LARGE_INTEGER§џєІFM€ џџџџ INT64ISZEROi64 T_LARGE_INTEGER§џ Int64IsZeroєІFM€ џџџџ INT64NEGATEi64 T_LARGE_INTEGER§џ Int64Negate T_LARGE_INTEGERєІFM€ џџџџINT64NOTi64 T_LARGE_INTEGER§џInt64Not T_LARGE_INTEGERєІFM€ џџџџ INT64SUB64i64a T_LARGE_INTEGER§џ minuend i64b T_LARGE_INTEGER§џ substrahend  Int64Sub64 T_LARGE_INTEGERєІFM€ џџџџISFINITE ptrDouble `§џ ptrSingle`§џ x T_ARG§џIsFiniteєІFM€ џџџџ LARGE_INTEGER dwHighPart§џ dwLowPart§џ LARGE_INTEGER T_LARGE_INTEGERєІFM€ џџџџLARGE_TO_ULARGEin T_LARGE_INTEGER§џLARGE_TO_ULARGE T_ULARGE_INTEGERєІFM€ џџџџLREAL_TO_FIX16in§џ LREAL number to convert n§џ, Number of fractional bits (decimal places) LREAL_TO_FIX16 T_FIX16єІFM€ џџџџLREAL_TO_FMTSTRrec  T_FloatRec`§џpOut`§џiStart`§џiEnd`§џi`§џin§џ iPrecision§џ bRound§џ LREAL_TO_FMTSTRџџєІFM€ џџџџLREAL_TO_INT64in§џLREAL_TO_INT64 T_LARGE_INTEGERєІFM€ џџџџLREAL_TO_UINT64tmp`§џin§џLREAL_TO_UINT64 T_ULARGE_INTEGERєІFM€ џџџџMAXSTRING_TO_BYTEARRcbCopy`§џ Index7001in  T_MaxString§џMAXSTRING_TO_BYTEARR џєІFM€ џџџџNT_ABORTSHUTDOWN ADSWRTCTL1  ADSWRTCTL`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џSTART§џTMOUTˆ§џBUSY§џERR§џ ERRID§џ єІFM€ џџџџ NT_GETTIMEADSREAD1 ADSREAD`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џSTART§џTMOUTˆ§џBUSY§џERR§џ ERRID§џ TIMESTR  TIMESTRUCT§џ єІFM€ џџџџ NT_REBOOT ADSWRTCTL1  ADSWRTCTL`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џDELAY§џSTART§џTMOUTˆ§џBUSY§џ ERR§џ ERRID§џ єІFM€ џџџџNT_SETLOCALTIME fbAdsWrite ADSWRITE`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џTIMESTR  TIMESTRUCT§џ new local system time START§џ4 rising edge activates the function block execution TMOUTˆ§џBUSY§џ ERR§џ ERRID§џ єІFM€ џџџџNT_SETTIMETORTCTIME fbAdsWrite ADSWRITE`§џ fbRegQuery FB_RegQueryValue`§џ RisingEdge R_TRIG`§џbTmp`§џstate`§џbInit`§џ numOfCPUs`§џNETID  T_AmsNetId§џSET§џ3 rising edge on this input starts the fb execution TMOUTˆ§џBUSY§џERR§џ ERRID§џ єІFM€ џџџџ NT_SHUTDOWN ADSWRTCTL1  ADSWRTCTL`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џDELAY§џSTART§џTMOUTˆ§џBUSY§џ ERR§џ ERRID§џ єІFM€ џџџџNT_STARTPROCESS ADSWRITE1 ADSWRITE`§џ RisingEdge R_TRIG`§џ FallingEdge F_TRIG`§џLenPath`§џLenDir`§џ LenComLine`§џpData STARTPROC_BUFFER`§џ data buffer NETID  T_AmsNetId§џPATHSTR  T_MaxString§џDIRNAME  T_MaxString§џ COMNDLINE  T_MaxString§џSTART§џTMOUTˆ§џBUSY§џ ERR§џ ERRID§џ єІFM€ џџџџOTSTRUCT_TO_TIMEtmpMilli`§џOTIN OTSTRUCT§џOTSTRUCT_TO_TIMEєІFM€ џџџџ PBOOL_TO_BOOLin§џ PBOOL_TO_BOOLєІFM€ џџџџ PBYTE_TO_BYTEin§џ PBYTE_TO_BYTEєІFM€ џџџџ PDATE_TO_DATEin§џ PDATE_TO_DATEєІFM€ џџџџ PDINT_TO_DINTin§џ PDINT_TO_DINTєІFM€ џџџџ PDT_TO_DTin§џ PDT_TO_DTєІFM€ џџџџPDWORD_TO_DWORDin§џPDWORD_TO_DWORDєІFM€ џџџџ PHUGE_TO_HUGEin T_HUGE_INTEGER§џ PHUGE_TO_HUGE T_HUGE_INTEGERєІFM€ џџџџ PINT_TO_INTin§џ PINT_TO_INTєІFM€ џџџџPLARGE_TO_LARGEin T_LARGE_INTEGER§џPLARGE_TO_LARGE T_LARGE_INTEGERєІFM€ џџџџPLC_READSYMINFOADSREAD1 ADSREAD`§џ RisingEdge R_TRIG`§џ SymInfoStruct `§џNETID  T_AmsNetId§џPORT§џSTART§џTMOUTˆ§џBUSY§џ ERR§џ ERRID§џ SYMCOUNT§џ SYMSIZE§џ єІFM€ џџџџPLC_READSYMINFOBYNAMEfbReadEx PLC_ReadSymInfoByNameEx`§џNETID  T_AmsNetId§џPORT§џSYMNAME  T_MaxString§џSTART§џTMOUTˆ§џ BUSY§џ ERR§џ ERRID§џSYMINFO  SYMINFOSTRUCT§џєІFM€ џџџџPLC_READSYMINFOBYNAMEEX ADSRDWRT1 ADSRDWRT`§џ RisingEdge R_TRIG`§џstate`§џ symInfoBuffer SYMINFO_BUFFER`§џ nameLength`§џ typeLength`§џ commentLength`§џ nameAdrOffset`§џ typeAdrOffset`§џcommentAdrOffset`§џ nameCpyLength`§џ typeCpyLength`§џ commentCpyLength`§џ!endOfBufAdrOffset`§џ"NETID  T_AmsNetId§џPORT§џSYMNAME  T_MaxString§џSTART§џTMOUTˆ§џ BUSY§џ ERR§џ ERRID§џSYMINFO  SYMINFOSTRUCT§џOVTYPE§џ@ TRUE => Type name string length overflow, FALSE => no overflow OVCOMMENT§џ> TRUE => Comment string length overflow, FALSE => no overflow єІFM€ џџџџ PLC_RESET ADSWRTCTL1  ADSWRTCTL`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џPORT§џRESET§џTMOUTˆ§џBUSY§џ ERR§џ ERRID§џ єІFM€ џџџџ PLC_START ADSWRTCTL1  ADSWRTCTL`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џPORT§џSTART§џTMOUTˆ§џBUSY§џ ERR§џ ERRID§џ єІFM€ џџџџPLC_STOP ADSWRTCTL1  ADSWRTCTL`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џPORT§џSTOP§џTMOUTˆ§џBUSY§џ ERR§џ ERRID§џ єІFM€ џџџџPLREAL_TO_LREALin§џPLREAL_TO_LREALєІFM€ џџџџPMAXSTRING_TO_MAXSTRINGin T_MaxString§џPMAXSTRING_TO_MAXSTRING  T_MaxStringєІFM€ џџџџ PREAL_TO_REALin§џ PREAL_TO_REALєІFM€ џџџџPROFILER MAX_DATABUFF_SIZEd@§џ RisingEdgeStart R_TRIG`§џRisingEdgeReset R_TRIG`§џFallingEdgeStart F_TRIG`§џGETCPUACCOUNT1  GETCPUACCOUNT`§џ OldCpuCntDW`§џ MeasureData d`§џTimeSum`§џMaxData`§џidx`§џSTART§џ0rising edge starts measurement and falling stopsRESET§џBUSY§џDATA PROFILERSTRUCT§џєІFM€ џџџџ PSINT_TO_SINTin§џ PSINT_TO_SINTєІFM€ џџџџPSTRING_TO_STRINGinQQ§џPSTRING_TO_STRINGQQєІFM€ џџџџ PTIME_TO_TIMEin§џ PTIME_TO_TIMEєІFM€ џџџџ PTOD_TO_TODin§џ PTOD_TO_TODєІFM€ џџџџPUDINT_TO_UDINTin§џPUDINT_TO_UDINTєІFM€ џџџџPUHUGE_TO_UHUGEin T_UHUGE_INTEGER§џPUHUGE_TO_UHUGE T_UHUGE_INTEGERєІFM€ џџџџPUINT64_TO_UINT64in T_ULARGE_INTEGER§џPUINT64_TO_UINT64 T_ULARGE_INTEGERєІFM€ џџџџ PUINT_TO_UINTin§џ PUINT_TO_UINTєІFM€ џџџџPULARGE_TO_ULARGEin T_ULARGE_INTEGER§џPULARGE_TO_ULARGE T_ULARGE_INTEGERєІFM€ џџџџPUSINT_TO_USINTin§џPUSINT_TO_USINTєІFM€ џџџџ PWORD_TO_WORDin§џ PWORD_TO_WORDєІFM€ џџџџ RAD_TO_DEGANGLE§џ RAD_TO_DEGєІFM€ џџџџROUTETRANSPORT_TO_STRINGeType E_RouteTransportType§џROUTETRANSPORT_TO_STRINGQQєІFM€ џџџџRTCfbGetCpuCounter  GETCPUCOUNTER`§џ risingEdge R_TRIG`§џoldTick`§џcurrTick`§џnanoDiff`§џnanoRest`§џsecDiff`§џinit`§џEN§џPDT§џQ§џCDT§џ єІFM€ џџџџRTC_EXfbGetCpuCounter  GETCPUCOUNTER`§џ risingEdge R_TRIG`§џoldTick`§џcurrTick`§џnanoDiff`§џnanoRest`§џsecDiff`§џinit`§џEN§џPDT§џPMSEK§џQ§џ CDT§џ CMSEK§џ єІFM€ џџџџRTC_EX2 fbGetCpuCounter  GETCPUCOUNTER`§џ risingEdge R_TRIG`§џoldTick`§џcurrTick`§џnanoDiff`§џnanoRest`§џsecDiff`§џdateTime`§џinit`§џEN§џPDT  TIMESTRUCT§џPMICRO§џQ§џ CDT ; ( wYear := 1970, wMonth := 1, wDay := 1, wDayOfWeek := 4 )В TIMESTRUCT§џ CMICRO§џ єІFM€ џџџџSCOPEASCIIEXPORT fbAdsWrite ADSWRITE§џ bExecute§џ sFilePath  T_MaxString§џtTimeoutˆ§џbBusy§џbError§џ iErrorId§џ єІFM€ џџџџ SCOPEEXIT fbAdsWrite ADSWRITE§џ RisingEdge R_TRIG§џ step§џfbDelay TON§џbExecute§џ- Rising edge starts function block execution tTimeOutˆ§џ> Maximum time allowed for the execution of the function block bBusy§џbError§џiErrorId§џ єІFM€ џџџџSCOPEGETRECORDLEN fbAdsRead ADSREAD§џ bExecute§џbBusy§џbError§џiErrorId§џ fRecordLen§џ єІFM€ џџџџ SCOPEGETSTATE fbAdsRead ADSREAD§џ State§џ bExecute§џbBusy§џbError§џiErrorId§џbOnline§џ єІFM€ џџџџ SCOPELOADFILE fbAdsWrite ADSWRITE§џ bExecute§џ sFilePath  T_MaxString§џtTimeoutˆ§џbBusy§џbError§џ iErrorId§џ єІFM€ џџџџSCOPEMANUALTRIGGER fbAdsWrite ADSWRITE§џ bExecute§џbBusy§џbError§џiErrorId§џєІFM€ џџџџ SCOPESAVEAS RisingEdge R_TRIG§џ fbAdsWrite ADSWRITE§џstep§џbExecute§џ- Rising edge starts function block execution sFilePath  T_MaxString§џ e.g. c:\Axis1.scptTimeoutˆ§џ> Maximum time allowed for the execution of the function block bBusy§џbError§џ iErrorId§џ єІFM€ џџџџSCOPESETOFFLINE fbAdsWrite ADSWRITE§џ bExecute§џbBusy§џbError§џiErrorId§џєІFM€ џџџџSCOPESETONLINE fbAdsWrite ADSWRITE§џ bExecute§џbBusy§џbError§џiErrorId§џєІFM€ џџџџSCOPESETRECORDLEN fbAdsWrite ADSWRITE§џ bExecute§џ fRecordLen§џbBusy§џbError§џiErrorId§џ єІFM€ џџџџSCOPEVIEWEXPORT fbAdsWrite ADSWRITE§џ bExecute§џ sFilePath  T_MaxString§џtTimeoutˆ§џbBusy§џbError§џ iErrorId§џ єІFM€ џџџџSTRING_TO_CSVFIELDcbField`§џ in  T_MaxString§џ! Input data in PLC string format bQM§џ l TRUE => Enclose result string in quotation marks, FALSE => Don't enclose result string in quotation marks. STRING_TO_CSVFIELD  T_MaxStringєІFM€ џџџџSTRING_TO_SYSTEMTIMEb ˆ 16#31, 16#36, 16#30, 16#31, (* year 1601 *) 16#2D(*-*), 16#30, 16#31(*01*), (* month *) 16#2D(*-*), 16#30, 16#31(*01*), (* day *) 16#2D(*-*), 16#30, 16#30(*00*), (* hour *) 16#3A(*:*), 16#30, 16#30(*00*), (* minute *) 16#3A(*:*), 16#30, 16#30(*00*), (* second *) 16#2E(*.*), 16#30, 16#30, 16#30(*000*), (* milliseconds *) 16#001601-01-01-00:00:00.000`§џ null delimiter ts * ( wYear := 1601, wMonth := 1, wDay := 1 )A TIMESTRUCT`§џn`§џbFmt`§џdwYears`§џdwDays`§џ Index7001in§џ1 Input string, format: '2007-03-05-17:35:09.223' STRING_TO_SYSTEMTIME  TIMESTRUCTєІFM€ џџџџSTRING_TO_UINT64ptr`§џconstTen & ( dwHighPart := 0, dwLowPart := 10 ) T_ULARGE_INTEGER`§џ in§џSTRING_TO_UINT64 T_ULARGE_INTEGERєІFM€ џџџџSYSTEMTIME_TO_DTb ќ 16#44, 16#54, 16#23(*DT#*), 16#31, 16#39, 16#37, 16#30(*1970*), 16#2D(*-*), 16#30, 16#31(*01*), 16#2D(*-*), 16#30, 16#31(*01*), 16#2D(*-*), 16#30, 16#30(*00*), 16#3A(*:*), 16#30, 16#30(*00*), 16#3A(*:*), 16#30, 16#30(*00*), 16#00DT#1970-01-01-00:00:00`§џstr`§џ nSeconds`§џ Index7001TIMESTR  TIMESTRUCT§џSYSTEMTIME_TO_DTєІFM€ џџџџSYSTEMTIME_TO_FILETIMEtmp1 T_ULARGE_INTEGER`§џ tmp2 T_ULARGE_INTEGER`§џ pastDays`§џ i`§џ  systemTime  TIMESTRUCT§џSYSTEMTIME_TO_FILETIME  T_FILETIMEєІFM€ џџџџSYSTEMTIME_TO_STRINGb Љ 16#31, 16#36, 16#30, 16#31(*1601*), (* year *) 16#2D(*-*), 16#30, 16#31(*01*), (* month *) 16#2D(*-*), 16#30, 16#31(*01*), (* day *) 16#2D(*-*), 16#30, 16#30(*00*), (* hour *) 16#3A(*:*), 16#30, 16#30(*00*), (* minute *) 16#3A(*:*), 16#30, 16#30(*00*), (* second *) 16#2E(*.*), 16#30, 16#30, 16#30(*000*), (* milliseconds *) 16#001601-01-01-00:00:00.000`§џ Index7001in  TIMESTRUCT§џ SYSTEMTIME_TO_STRINGєІFM€ џџџџ TC_CONFIG ADSWRTCTL1  ADSWRTCTL`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џSET§џTMOUTˆ§џBUSY§џERR§џ ERRID§џ єІFM€ џџџџ TC_CPUUSAGEADSREAD1 ADSREAD`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џSTART§џTMOUTˆ§џBUSY§џERR§џ ERRID§џ USAGE§џ in %єІFM€ џџџџ TC_RESTART ADSWRTCTL1  ADSWRTCTL`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џRESTART§џTMOUTˆ§џBUSY§џERR§џ ERRID§џ єІFM€ џџџџTC_STOP ADSWRTCTL1  ADSWRTCTL`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џSTOP§џTMOUTˆ§џBUSY§џERR§џ ERRID§џ єІFM€ џџџџ TC_SYSLATENCYADSREAD1 ADSREAD`§џ RisingEdge R_TRIG`§џ FallingEdge F_TRIG`§џtmpData `§џNETID  T_AmsNetId§џ Ams net id START§џ6 Rising edge on this input activates the fb execution TMOUTˆ§џ Max fb execution time BUSY§џ ERR§џ ERRID§џ ACTUAL§џ  Actual latency in Еs MAXIMUM§џ  Maximum latency in Еs єІFM€ џџџџTIME_TO_OTSTRUCTtmpMilli`§џTIN§џTIME_TO_OTSTRUCT OTSTRUCTєІFM€ џџџџ UINT32X32TO64Tmp1`§џ Tmp2`§џ Tmp3`§џ Tmp4`§џ DW1`§џ DW2`§џDW3`§џDW4`§џui32a§џui32b§џ UInt32x32To64 T_ULARGE_INTEGERєІFM€ џџџџUINT64_TO_LREALin T_ULARGE_INTEGER§џUINT64_TO_LREALєІFM€ џџџџUINT64_TO_STRING remainder T_ULARGE_INTEGER`§џconstTen & ( dwHighPart := 0, dwLowPart := 10 ) T_ULARGE_INTEGER`§џ in T_ULARGE_INTEGER§џUINT64_TO_STRINGєІFM€ џџџџ UINT64ADD64bOV`§џ ui64a T_ULARGE_INTEGER§џui64b T_ULARGE_INTEGER§џ UInt64Add64 T_ULARGE_INTEGERєІFM€ џџџџ UINT64ADD64EXaugend T_ULARGE_INTEGER§џaddend T_ULARGE_INTEGER§џ UInt64Add64Ex T_ULARGE_INTEGERbOV §џ3 TRUE => arithmetic overflow, FALSE => no overflow єІFM€ џџџџ UINT64ANDui64a T_ULARGE_INTEGER§џui64b T_ULARGE_INTEGER§џ UInt64And T_ULARGE_INTEGERєІFM€ џџџџ UINT64CMP64ui64a T_ULARGE_INTEGER§џui64b T_ULARGE_INTEGER§џ  UInt64Cmp64єІFM€ џџџџ UINT64DIV16EX pDividend `§џ pResult `§џ rest`§џ dividend T_ULARGE_INTEGER§џdivisor§џ UInt64Div16Ex T_ULARGE_INTEGER remainder T_ULARGE_INTEGER§џєІFM€ џџџџ UINT64DIV64 remainder T_ULARGE_INTEGER`§џ dividend T_ULARGE_INTEGER§џdivisor T_ULARGE_INTEGER§џ UInt64Div64 T_ULARGE_INTEGERєІFM€ џџџџ UINT64DIV64EXmsBit / ( dwHighPart := 16#80000000, dwLowPart := 0 )€T_ULARGE_INTEGER`§џ bitShift`§џ cmp`§џin  T_ULARGE_INTEGER`§џout  T_ULARGE_INTEGER`§џ cbReturned`§џ Index7001dividend T_ULARGE_INTEGER§џdivisor T_ULARGE_INTEGER§џ UInt64Div64Ex T_ULARGE_INTEGER remainder T_ULARGE_INTEGER§џєІFM€ џџџџ UINT64ISZEROui64 T_ULARGE_INTEGER§џ UInt64isZeroєІFM€ џџџџ UINT64LIMITui64min T_ULARGE_INTEGER§џui64in T_ULARGE_INTEGER§џui64max T_ULARGE_INTEGER§џ UInt64Limit T_ULARGE_INTEGERєІFM€ џџџџ UINT64MAXui64a T_ULARGE_INTEGER§џui64b T_ULARGE_INTEGER§џ UInt64Max T_ULARGE_INTEGERєІFM€ џџџџ UINT64MINui64a T_ULARGE_INTEGER§џui64b T_ULARGE_INTEGER§џ UInt64Min T_ULARGE_INTEGERєІFM€ џџџџ UINT64MOD64dividend T_ULARGE_INTEGER§џdivisor T_ULARGE_INTEGER§џ UInt64Mod64 T_ULARGE_INTEGERєІFM€ џџџџ UINT64MUL64bOV`§џ  multiplicand T_ULARGE_INTEGER§џ multiplier T_ULARGE_INTEGER§џ UInt64Mul64 T_ULARGE_INTEGERєІFM€ џџџџ UINT64MUL64EXbCarry`§џ bSumCarry`§џ n`§џm`§џ multiplicand T_ULARGE_INTEGER§џ multiplier T_ULARGE_INTEGER§џ UInt64Mul64Ex T_ULARGE_INTEGERbOV §џ3 TRUE => Arithmetic overflow, FALSE => no overflow єІFM€ џџџџ UINT64NOTui64 T_ULARGE_INTEGER§џ UInt64Not T_ULARGE_INTEGERєІFM€ џџџџUINT64ORui64a T_ULARGE_INTEGER§џui64b T_ULARGE_INTEGER§џUInt64Or T_ULARGE_INTEGERєІFM€ џџџџ UINT64ROLbMSB`§џ ui64 T_ULARGE_INTEGER§џn§џ UInt64Rol T_ULARGE_INTEGERєІFM€ џџџџ UINT64RORbLSB`§џ ui64 T_ULARGE_INTEGER§џn§џ UInt64Ror T_ULARGE_INTEGERєІFM€ џџџџ UINT64SHLui64 T_ULARGE_INTEGER§џn§џ UInt64Shl T_ULARGE_INTEGERєІFM€ џџџџ UINT64SHRui64 T_ULARGE_INTEGER§џn§џ UInt64Shr T_ULARGE_INTEGERєІFM€ џџџџ UINT64SUB64ui64a T_ULARGE_INTEGER§џui64b T_ULARGE_INTEGER§џ UInt64Sub64 T_ULARGE_INTEGERєІFM€ џџџџ UINT64XORui64a T_ULARGE_INTEGER§џui64b T_ULARGE_INTEGER§џ UInt64Xor T_ULARGE_INTEGERєІFM€ џџџџULARGE_INTEGER dwHighPart§џ dwLowPart§џULARGE_INTEGER T_ULARGE_INTEGERєІFM€ џџџџULARGE_TO_LARGEin T_ULARGE_INTEGER§џULARGE_TO_LARGE T_LARGE_INTEGERєІFM€ џџџџ WORD_TO_FIX16in§џ 16 bit fixed point number n§џ number of fractional bits  WORD_TO_FIX16 T_FIX16єІFM€ џџџџWRITEPERSISTENTDATA ADSWRTCTL1  ADSWRTCTL`§џ RisingEdge R_TRIG`§џNETID  T_AmsNetId§џPORT§џSTART§џTMOUTˆ§џBUSY§џ ERR§џ ERRID§џ єІFM€ џџџџoC:\TWINCAT\PLC\LIB\TcBase.lib@FW_ADSCLEAREVENTSSTAMP_I§џ ACCESSCNT_I§џBUSY_I§џERR_I§џERRID_I§џ READ_SAV_I§џ TICKSTART_I§џsNetId§џbClear§џnMode§џtTimeout§џbBusy§џ bError§џ nErrId§џ ав J€џџџџ FW_ADSLOGDINT nCtrlMask§џsMsgFmt§џnArg§џ FW_AdsLogDINTав J€џџџџFW_ADSLOGEVENT STAMPREQ_I§џ STAMPRES_I§џ STAMPSIG_I§џ STAMPCON_I§џ ACCESSCNT_I§џ AMSADDR_I §џEVENT_I  FW_TcEvent§џpTCEVENTSTREAM_I§џCBEVENTSTREAM_I§џnSTATE_I§џ nSTATEREQ_I§џ nSTATERES_I§џ nSTATESIG_I§џ nSTATECON_I§џ!ERR_I§џ"ERRID_I§џ# bEVENT_SAV_I§џ$bEVENTQUIT_SAV_I§џ% TICKSTART_I§џ& sNetId§џnPort§џbEvent§џ bEventQuit§џstEventConfigData  FW_TcEvent§џpEventDataAddress§џ pointer cbEventDataLength§џ bFbCleanup§џ tTimeout§џ  nEventState§џbError§џnErrId§џbQuit§џав J€џџџџFW_ADSLOGLREAL nCtrlMask§џsMsgFmt§џfArg§џFW_AdsLogLREALав J€џџџџ FW_ADSLOGSTR nCtrlMask§џsMsgFmt§џsArg§џ FW_AdsLogSTRав J€џџџџ FW_ADSRDWRTSTAMP_I§џ ACCESSCNT_I§џBUSY_I§џERR_I§џERRID_I§џ WRTRD_SAV_I§џ PDESTADDR_I§џ TICKSTART_I§џ sNetId§џnPort§џnIdxGrp§џnIdxOffs§џ cbWriteLen§џ cbReadLen§џ pWriteBuff§џ pReadBuff§џ bExecute§џ tTimeout§џ bBusy§џbError§џnErrId§џcbRead§џ count of bytes actually read ав J€џџџџFW_ADSRDWRTINDCLEAR_I§џbClear§џ bValid§џsNetId§џnPort§џ nInvokeId§џ nIdxGrp§џ nIdxOffs§џ cbReadLen§џ cbWriteLen§џ pWriteBuff§џав J€џџџџFW_ADSRDWRTRES RESPOND_I§џsNetId§џnPort§џ nInvokeId§џnErrId§џ cbReadLen§џ pReadBuff§џbRespond§џ ав J€џџџџ FW_ADSREADSTAMP_I§џ ACCESSCNT_I§џBUSY_I§џERR_I§џERRID_I§џ READ_SAV_I§џ TICKSTART_I§џsNetId§џnPort§џnIdxGrp§џnIdxOffs§џ cbReadLen§џ pReadBuff§џbExecute§џ tTimeout§џ bBusy§џ bError§џnErrId§џcbRead§џ count of bytes actually read ав J€џџџџFW_ADSREADDEVICEINFOSTAMP_I§џ ACCESSCNT_I§џBUSY_I§џERR_I§џERRID_I§џ RDINFO_SAV_I§џ TICKSTART_I§џsNetId§џnPort§џbExecute§џtTimeout§џbBusy§џ bError§џ nErrId§џ sDevName§џ nDevVersion§џ ав J€џџџџ FW_ADSREADINDCLEAR_I§џbClear§џbValid§џsNetId§џnPort§џ nInvokeId§џ nIdxGrp§џ nIdxOffs§џ cbReadLen§џ ав J€џџџџ FW_ADSREADRES RESPOND_I§џsNetId§џnPort§џ nInvokeId§џnErrId§џ cbReadLen§џ pReadBuff§џbRespond§џ ав J€џџџџFW_ADSREADSTATESTAMP_I§џ ACCESSCNT_I§џBUSY_I§џERR_I§џERRID_I§џ RDSTATE_SAV_I§џ TICKSTART_I§џsNetId§џnPort§џbExecute§џtTimeout§џbBusy§џ bError§џ nErrId§џ nAdsState§џ nDevState§џ ав J€џџџџ FW_ADSWRITESTAMP_I§џ ACCESSCNT_I§џBUSY_I§џERR_I§џERRID_I§џ WRITE_SAV_I§џ TICKSTART_I§џsNetId§џnPort§џnIdxGrp§џnIdxOffs§џ cbWriteLen§џ pWriteBuff§џbExecute§џ tTimeout§џ bBusy§џ bError§џnErrId§џав J€џџџџFW_ADSWRITECONTROLSTAMP_I§џ ACCESSCNT_I§џBUSY_I§џERR_I§џERRID_I§џ WRITE_SAV_I§џ TICKSTART_I§џsNetId§џnPort§џ nAdsState§џ nDevState§џ cbWriteLen§џ pWriteBuff§џbExecute§џ tTimeout§џ bBusy§џ bError§џnErrId§џав J€џџџџFW_ADSWRITEINDCLEAR_I§џbClear§џbValid§џsNetId§џnPort§џ nInvokeId§џ nIdxGrp§џ nIdxOffs§џ cbWriteLen§џ pWriteBuff§џ ав J€џџџџFW_ADSWRITERES RESPOND_I§џ sNetId§џnPort§џ nInvokeId§џnErrId§џbRespond§џав J€џџџџFW_DRAND FirstCall_i§џ HoldRand_i§џ R250_Buffer_i љ§џ R250_Index§џ nSeed§џfRndNum§џав J€џџџџFW_GETCPUACCOUNT dwCpuAccount§џав J€џџџџFW_GETCPUCOUNTER dwCpuCntLo§џ dwCpuCntHi§џав J€џџџџFW_GETCURTASKINDEXnIndex§џав J€џџџџFW_GETSYSTEMTIMEdwTimeLo§џdwTimeHi§џав J€џџџџFW_GETVERSIONTCBASEnVersionElement§џFW_GetVersionTcBaseав J€џџџџ FW_LPTSIGNAL nPortAddr§џnPinNo§џbOnOff§џ  FW_LptSignalав J€џџџџ FW_MEMCMPpBuf1§џ First buffer pBuf2§џ Second buffer cbLen§џ Number of characters  FW_MemCmpав J€џџџџ FW_MEMCPYpDest§џ New buffer pSrc§џ Buffer to copy from cbLen§џ Number of characters to copy  FW_MemCpyав J€џџџџ FW_MEMMOVEpDest§џ New buffer pSrc§џ Buffer to copy from cbLen§џ Number of characters to copy  FW_MemMoveав J€џџџџ FW_MEMSETpDest§џ Pointer to destination nFillByte§џ Character to set cbLen§џ Number of characters  FW_MemSetав J€џџџџ FW_PORTREAD nPortAddr§џ eNoOfByte  FW_NoOfByte§џ FW_PortReadав J€џџџџ FW_PORTWRITE nPortAddr§џ eNoOfByte  FW_NoOfByte§џnValue§џ FW_PortWriteав J€џџџџqC:\TWINCAT\PLC\LIB\TcSystem.lib@OADSCLEAREVENTSfbAdsClearEvents FW_AdsClearEvents§џNetID  T_AmsNetId§џbClear§џiMode§џtTimeoutˆ§џbBusy§џ bErr§џ iErrId§џ $^M€ џџџџ ADSLOGDINT msgCtrlMask§џ msgFmtStr  T_MaxString§џdintArg§џ ADSLOGDINT$^M€ џџџџ ADSLOGEVENT fbAdsLogEvent FW_AdsLogEvent§џ NETID  T_AmsNetId§џPORT§џEvent§џ EventQuit§џEventConfigData TcEvent§џEventDataAddress§џ pointer EventDataLength§џ FbCleanup§џ TMOUTˆ§џ  EventState§џErr§џErrId§џQuit§џ$^M€ џџџџ ADSLOGLREAL msgCtrlMask§џ msgFmtStr  T_MaxString§џlrealArg§џ ADSLOGLREAL$^M€ џџџџ ADSLOGSTR msgCtrlMask§џ msgFmtStr  T_MaxString§џstrArg  T_MaxString§џ ADSLOGSTR$^M€ џџџџ ADSRDDEVINFOfbAdsReadDeviceInfo FW_AdsReadDeviceInfo§џNETID  T_AmsNetId§џPORT  T_AmsPort§џRDINFO§џTMOUTˆ§џBUSY§џ ERR§џ ERRID§џ DEVNAME§џ DEVVER§џ $^M€ џџџџ ADSRDSTATEfbAdsReadState FW_AdsReadState§џNETID  T_AmsNetId§џPORT  T_AmsPort§џRDSTATE§џTMOUTˆ§џBUSY§џ ERR§џ ERRID§џ ADSSTATE§џ DEVSTATE§џ $^M€ џџџџADSRDWRT fbAdsRdWrt  FW_AdsRdWrt§џ NETID  T_AmsNetId§џPORT  T_AmsPort§џIDXGRP§џIDXOFFS§џWRITELEN§џREADLEN§џSRCADDR§џ DESTADDR§џ WRTRD§џ TMOUTˆ§џ BUSY§џERR§џERRID§џ$^M€ џџџџ ADSRDWRTEX fbAdsRdWrt  FW_AdsRdWrt§џ NETID  T_AmsNetId§џPORT  T_AmsPort§џIDXGRP§џIDXOFFS§џWRITELEN§џREADLEN§џSRCADDR§џ DESTADDR§џ WRTRD§џ TMOUTˆ§џ BUSY§џERR§џERRID§џCOUNT_R§џ count of bytes actually read $^M€ џџџџ ADSRDWRTIND fbAdsRdWrtInd FW_AdsRdWrtInd§џCLEAR§џ VALID§џNETID  T_AmsNetId§џPORT  T_AmsPort§џINVOKEID§џ IDXGRP§џ IDXOFFS§џ RDLENGTH§џ WRTLENGTH§џ DATAADDR§џ$^M€ џџџџ ADSRDWRTRES fbAdsRdWrtRes FW_AdsRdWrtRes§џNETID  T_AmsNetId§џPORT  T_AmsPort§џINVOKEID§џRESULT§џLEN§џDATAADDR§џRESPOND§џ $^M€ џџџџADSREAD fbAdsRead  FW_AdsRead§џNETID  T_AmsNetId§џPORT  T_AmsPort§џIDXGRP§џIDXOFFS§џLEN§џDESTADDR§џREAD§џ TMOUTˆ§џ BUSY§џ ERR§џERRID§џ$^M€ џџџџ ADSREADEX fbAdsRead  FW_AdsRead§џNETID  T_AmsNetId§џPORT  T_AmsPort§џIDXGRP§џIDXOFFS§џLEN§џDESTADDR§џREAD§џ TMOUTˆ§џ BUSY§џ ERR§џERRID§џCOUNT_R§џ count of bytes actually read $^M€ џџџџ ADSREADIND fbAdsReadInd  FW_AdsReadInd§џCLEAR§џVALID§џNETID  T_AmsNetId§џPORT  T_AmsPort§џINVOKEID§џ IDXGRP§џ IDXOFFS§џ LENGTH§џ $^M€ џџџџ ADSREADRES fbAdsReadRes  FW_AdsReadRes§џNETID  T_AmsNetId§џPORT  T_AmsPort§џINVOKEID§џRESULT§џLEN§џDATAADDR§џRESPOND§џ $^M€ џџџџADSWRITE fbAdsWrite  FW_AdsWrite§џNETID  T_AmsNetId§џPORT  T_AmsPort§џIDXGRP§џIDXOFFS§џLEN§џSRCADDR§џWRITE§џ TMOUTˆ§џ BUSY§џ ERR§џERRID§џ$^M€ џџџџ ADSWRITEIND fbAdsWriteInd FW_AdsWriteInd§џCLEAR§џVALID§џNETID  T_AmsNetId§џPORT  T_AmsPort§џINVOKEID§џ IDXGRP§џ IDXOFFS§џ LENGTH§џ DATAADDR§џ $^M€ џџџџ ADSWRITERES fbAdsWriteRes FW_AdsWriteRes§џ NETID  T_AmsNetId§џPORT  T_AmsPort§џINVOKEID§џRESULT§џRESPOND§џ$^M€ џџџџ ADSWRTCTLfbAdsWriteControl FW_AdsWriteControl§џNETID  T_AmsNetId§џPORT  T_AmsPort§џADSSTATE§џDEVSTATE§џLEN§џSRCADDR§џWRITE§џ TMOUTˆ§џ BUSY§џ ERR§џERRID§џ$^M€ џџџџANALYZEEXPRESSIONInputExp§џ DoAnalyze§џ ExpResult§џ OutString§џ$^M€ џџџџANALYZEEXPRESSIONCOMBINEDIndex§џ InputExp§џ DoAnalyze§џ ExpResult§џOutTable  ExpressionResult§џ OutString§џ $^M€ џџџџANALYZEEXPRESSIONTABLEIndex§џ InputExp§џ DoAnalyze§џ ExpResult§џOutTable  ExpressionResult§џ$^M€ џџџџAPPENDERRORSTRINGstrOld§џstrNew§џAppendErrorString$^M€ џџџџBAVERSION_TO_DWORDnVersion`§џ nRevision`§џ nBuild`§џ BAVERSION_TO_DWORD$^M€ џџџџ CLEARBIT32dwConst§џinVal32§џbitNo§џ CLEARBIT32$^M€ џџџџ CSETBIT32dwConst§џinVal32§џbitNo§џbitVal§џ& value to which the bit should be set  CSETBIT32$^M€ џџџџDRANDfbDRand FW_DRand§џ Seed§џNum§џ$^M€ џџџџF_COMPAREFWVERSIONsoll`§џist`§џmajor`§џ requiered major version minor`§џ  requiered minor version revision`§џ ) requiered revision/service pack version patch`§џ 0 required patch version (reserved, default = 0 )F_CompareFwVersion$^M€ џџџџF_CREATEAMSNETIDidx`§џnIds  T_AmsNetIdArr§џ Ams Net ID as array of bytes. F_CreateAmsNetId  T_AmsNetId$^M€ џџџџF_CREATEIPV4ADDRidx`§џnIds  T_IPv4AddrArr§џ< Internet Protocol dotted address (ipv4) as array of bytes. F_CreateIPv4Addr  T_IPv4Addr$^M€ џџџџF_GETVERSIONTCSYSTEMnVersionElement§џF_GetVersionTcSystem$^M€ џџџџ F_IOPORTREADnAddr§џ Port address eSize E_IOAccessSize§џ Number of bytes to read  F_IOPortRead$^M€ џџџџ F_IOPORTWRITEnAddr§џ Port address eSize E_IOAccessSize§џ Number of bytes to write nValue§џ Value to write  F_IOPortWrite$^M€ џџџџF_SCANAMSNETIDSpNetID`§џb  T_AmsNetIdArr`§џw`§џ id`§џ Index7001sNetID  T_AmsNetID§џ: String containing the Ams Net ID. E.g. '127.16.17.3.1.1' F_ScanAmsNetIds  T_AmsNetIdArr$^M€ џџџџF_SCANIPV4ADDRIDSb  T_AmsNetIdArr`§џ Index7001sIPv4  T_IPv4Addr§џM String containing the Internet Protocol dotted address. E.g. '172.16.7.199' F_ScanIPv4AddrIds  T_IPv4AddrArr$^M€ џџџџF_SPLITPATHNAMEpPath§џ pSlash§џ pDot§џp§џlength§џ sPathName  T_MaxString§џF_SplitPathNamesDrive §џsDir  T_MaxString§џ sFileName  T_MaxString§џsExt  T_MaxString§џ $^M€ џџџџF_TOASCpChar§џstrQQ§џF_ToASC$^M€ џџџџF_TOCHRpChar §џc§џF_ToCHRQQ$^M€ џџџџFB_BADEVICEIOCONTROLfbRW O ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_BADEVAPI, IDXOFFS := 0 )  T_AmsPortL ADSRDWRTEX`§џreq ST_AdsBaDevApiReq`§џstate`§џrtrig R_TRIG`§џ sNetID  '' T_AmsNetID`§џ Ams net id affinity  ( lower :=0, higher := 0 )T_U64KAFFINITY`§џ) Affinity mask (default = 0 = not used) nModifier`§џ+ Optional command modifier (0 == not used) nIdxGrp`§џ Api function group nIdxOffs`§џ Api function offset cbWriteLen`§џ  Input data byte size cbReadLen`§џ  Output data byte size pWriteBuff`§џ  Pointer to input data buffer pReadBuff`§џ  Pointer to output data buffer bExecute`§џ & Rising edge starts command execution tTimeoutˆ`§џbBusy`§џbError`§џnErrID`§џcbRead`§џ Count of bytes actually read $^M€ џџџџFB_BAGENGETVERSIONfbCtrl ˆ ( nModifier := 0, affinity := ( lower := 0, higher := 0 ), nIdxGrp := BADEVAPIIGRP_GENERAL, nIdxOffs := BADEVAPIIOFFS_GENERAL_VERSION )  ( lower :=0, higher := 0 )T_U64KAFFINITYFB_BaDeviceIoControl`§џrtrig R_TRIG`§џstate`§џrsp`§џsNetID  '' T_AmsNetID`§џ ams net id bExecute`§џ& rising edge starts command execution tTimeoutˆ`§џbBusy`§џ bError`§џ nErrID`§џ nVersion`§џ nRevision`§џ nBuild`§џ$^M€ џџџџ FB_CREATEDIR fbAdsRdWrt  FW_AdsRdWrt§џsNetId  T_AmsNetId§џ ams net id sPathName  T_MaxString§џ max directory length = 255 ePath  PATH_GENERIC E_OpenPath§џ+ Default: Create directory at generic path bExecute§џ% rising edge start command execution tTimeoutˆ§џbBusy§џ bError§џ nErrId§џ $^M€ џџџџFB_EOF fbAdsRdWrt  FW_AdsRdWrt§џnEOF§џ RisingEdge R_TRIG§џ FallingEdge F_TRIG§џsNetId  T_AmsNetId§џ ams net id hFile§џ file handle bExecute§џ control input tTimeoutˆ§џbBusy§џ bError§џ nErrId§џ bEOF§џ $^M€ џџџџ FB_FILECLOSE fbAdsRdWrt  FW_AdsRdWrt§џsNetId  T_AmsNetId§џ ams net id hFile§џ% file handle obtained through 'open' bExecute§џ close control input tTimeoutˆ§џbBusy§џ bError§џ nErrId§џ $^M€ џџџџ FB_FILEDELETE fbAdsRdWrt  FW_AdsRdWrt§џ tmpOpenMode§џsNetId  T_AmsNetId§џ ams net id sPathName  T_MaxString§џ file path and name ePath  PATH_GENERIC E_OpenPath§џ Default: Open generic file bExecute§џ open control input tTimeoutˆ§џbBusy§џ bError§џ nErrId§џ $^M€ џџџџ FB_FILEGETS fbAdsRdWrt  FW_AdsRdWrt§џ RisingEdge R_TRIG§џ FallingEdge F_TRIG§џsNetId  T_AmsNetId§џ ams net id hFile§џ file handle bExecute§џ control input tTimeoutˆ§џbBusy§џ bError§џ nErrId§џ sLine  T_MaxString§џ bEOF§џ $^M€ џџџџ FB_FILEOPEN fbAdsRdWrt  FW_AdsRdWrt§џ tmpOpenMode§џtmpHndl§џ RisingEdge R_TRIG§џ FallingEdge F_TRIG§џsNetId  T_AmsNetId§џ ams net id sPathName  T_MaxString§џ max filename length = 255 nMode§џ open mode flags ePath  PATH_GENERIC E_OpenPath§џ Default: Open generic file bExecute§џ open control input tTimeoutˆ§џbBusy§џ bError§џ nErrId§џ hFile§џ file handle $^M€ џџџџ FB_FILEPUTS fbAdsRdWrt  FW_AdsRdWrt§џ RisingEdge R_TRIG§џ FallingEdge F_TRIG§џsNetId  T_AmsNetId§џ ams net id hFile§џ file handle sLine  T_MaxString§џ string to write bExecute§џ control input tTimeoutˆ§џbBusy§џ bError§џ nErrId§џ $^M€ џџџџ FB_FILEREAD fbAdsRdWrt  FW_AdsRdWrt§џ RisingEdge R_TRIG§џ FallingEdge F_TRIG§џsNetId  T_AmsNetId§џ ams net id hFile§џ file handle pReadBuff§џ buffer address for read cbReadLen§џ count of bytes for read bExecute§џ read control input tTimeoutˆ§џbBusy§џ bError§џ nErrId§џ cbRead§џ count of bytes actually read bEOF§џ$^M€ џџџџ FB_FILERENAME fbAdsRdWrt  FW_AdsRdWrt§џ tmpOpenMode§џ sBothNames   T_MaxString§џ = SIZEOF( T_MaxString ) * 2 nOldLen§џnNewLen§џ RisingEdge R_TRIG§џ FallingEdge F_TRIG§џsNetId  T_AmsNetId§џ ams net id sOldName  T_MaxString§џ max filename length = 255 sNewName  T_MaxString§џ max filename length = 255 ePath  PATH_GENERIC E_OpenPath§џ Default: generic file pathbExecute§џ open control input tTimeoutˆ§џbBusy§џ bError§џ nErrId§џ $^M€ џџџџ FB_FILESEEK fbAdsRdWrt  FW_AdsRdWrt§џ tmpSeekPos §џsNetId  T_AmsNetId§џ ams net id hFile§џ file handle nSeekPos§џ  new seek pointer position eOrigin  SEEK_SET E_SeekOrigin§џ bExecute§џ  seek control input tTimeoutˆ§џ bBusy§џbError§џnErrId§џ$^M€ џџџџ FB_FILETELL fbAdsRdWrt  FW_AdsRdWrt§џsNetId  T_AmsNetId§џ ams net id hFile§џ file handle bExecute§џ control input tTimeoutˆ§џbBusy§џ bError§џ nErrId§џ nSeekPos§џ  On error, nSEEKPOS returns -1 $^M€ џџџџ FB_FILEWRITE fbAdsRdWrt  FW_AdsRdWrt§џ RisingEdge R_TRIG§џ FallingEdge F_TRIG§џsNetId  T_AmsNetId§џ ams net id hFile§џ file handle pWriteBuff§џ buffer address for write cbWriteLen§џ count of bytes for write bExecute§џ write control input tTimeoutˆ§џbBusy§џ bError§џ nErrId§џ cbWrite§џ! count of bytes actually written $^M€ џџџџ FB_PCWATCHDOGbRetVal§џ iTime§џiIdx§џiPortArr > 16#2E, 16#2E, 16#2E, 16#2F, 16#2E, 16#2F, 16#2E, 16#2F, 16#2E .../././.§џiArrEn > 16#87, 16#87, 16#07, 16#08, 16#F6, 16#05, 16#30, 16#01, 16#AA ‡‡і0Њ§џiArrDis > 16#87, 16#87, 16#07, 16#08, 16#F6, 16#00, 16#30, 16#00, 16#AA ‡‡і0Њ§џtTimeOut§џ; Watchdog TimeOut Time 1s..255s, disabled if tTimeOut < 1s bEnable§џ Enable / Disable Watchdog bEnabled§џ2 TRUE: Watchdog Enabled; FALSE: Watchdog Disabled bBusy§џ FB still busy bError§џ  FB has error nErrId§џ  FB error ID $^M€ џџџџ FB_REMOVEDIR fbAdsRdWrt  FW_AdsRdWrt§џsNetId  T_AmsNetId§џ ams net id sPathName  T_MaxString§џ max filename length = 255 ePath  PATH_GENERIC E_OpenPath§џ+ Default: Delete directory at generic path bExecute§џ& rising edge starts command execution tTimeoutˆ§џbBusy§џ bError§џ nErrId§џ $^M€ џџџџFB_SIMPLEADSLOGEVENTfbEvent  ADSLOGEVENT§џ cfgEvent TcEvent§џbInit§џSourceID§џEventID§џ bSetEvent§џbQuit§џErrId§џ Error§џ $^M€ џџџџ FILECLOSE fbAdsWrite  FW_AdsWrite§џNETID  T_AmsNetId§џ ams net id HFILE§џ) file handle obtained through 'FILEOPEN' CLOSE§џ close control input TMOUTˆ§џBUSY§џ ERR§џ ERRID§џ $^M€ џџџџFILEOPEN fbAdsWrite  FW_AdsWrite§џ RisingEdge R_TRIG§џ FallingEdge F_TRIG§џNETID  T_AmsNetId§џ ams net id FPATHNAME  T_MaxString§џ# default max filename length = 255 OPENMODE§џ open mode flags OPEN§џ open control input TMOUTˆ§џBUSY§џ ERR§џ ERRID§џ HFILE§џ file handle $^M€ џџџџFILEREAD fbAdsRead  FW_AdsRead§џNETID  T_AmsNetId§џ ams net id HFILE§џ file handle BUFADDR§џ buffer address for read COUNT§џ count of bytes for read READ§џ read control input TMOUTˆ§џBUSY§џ ERR§џ ERRID§џ COUNT_R§џ count of bytes actually read $^M€ џџџџFILESEEK fbAdsWrite  FW_AdsWrite§џNETID  T_AmsNetId§џ ams net id HFILE§џ file handle SEEKPOS§џ new seek pointer position SEEK§џ seek control input TMOUTˆ§џBUSY§џ ERR§џ ERRID§џ $^M€ џџџџ FILEWRITE fbAdsWrite  FW_AdsWrite§џ RisingEdge R_TRIG§џ FallingEdge F_TRIG§џtmpCount§џNETID  T_AmsNetId§џ ams net id HFILE§џ file handle BUFADDR§џ buffer address for write COUNT§џ count of bytes for write WRITE§џ write control input TMOUTˆ§џBUSY§џ ERR§џ ERRID§џ COUNT_W§џ! count of bytes actually written $^M€ џџџџFW_CALLGENERICFBfbCall w ( sNetID := '', nPort := 16#1234, bExecute := FALSE, tTimeout := T#0s, ACCESSCNT_I := 16#0000BEC1 )СО4 FW_AdsRdWrt`§џfunGrp`§џ# Function block group (identifier) funNum`§џ$ Function block number (identifier) pWrite`§џ+ Byte length of output parameter structure cbWrite`§џ* Byte length of input parameter structure pRead`§џ  Points ot output buffer cbRead`§џ  Points to input buffer nErrID`§џ  0 => no error, <> 0 => error cbReturned`§џ, Number of successfully returned data bytes $^M€ џџџџFW_CALLGENERICFUNfbCall y ( sNetID := '', nPort := 16#1234, bExecute := FALSE, tTimeout := T#0s, ACCESSCNT_I := 16#0000BEC2 )ТО4 FW_AdsRdWrt`§џ don't use it! funGrp`§џ Function group (identifier) funNum`§џ$ Function block number (identifier) pWrite`§џ+ Byte length of output parameter structure cbWrite`§џ * Byte length of input parameter structure pRead`§џ  Points ot output buffer cbRead`§џ  Points to input buffer pcbReturned`§џ , Number of successfully returned data bytes FW_CallGenericFun$^M€ џџџџGETBIT32dwConst§џinVal32§џbitNo§џGETBIT32$^M€ џџџџ GETCPUACCOUNTfbGetCpuAccount FW_GetCpuAccount§џ cpuAccountDW§џ$^M€ џџџџ GETCPUCOUNTERfbGetCpuCounter FW_GetCpuCounter§џ  cpuCntLoDW§џ cpuCntHiDW§џ$^M€ џџџџGETCURTASKINDEXfbGetCurTaskIndex FW_GetCurTaskIndex§џindex§џ$^M€ џџџџ GETSYSTEMTIMEfbGetSystemTime FW_GetSystemTime§џ timeLoDW§џtimeHiDW§џ$^M€ џџџџ GETTASKTIMEout `§џ cbReturned`§џ timeLoDW§џtimeHiDW§џ$^M€ џџџџ LPTSIGNALPortAddr§џPinNo§џOnOff§џ  LPTSIGNAL$^M€ џџџџMEMCMPpBuf1§џ First buffer pBuf2§џ Second buffer n§џ Number of characters MEMCMP$^M€ џџџџMEMCPYdestAddr§џ New buffer srcAddr§џ Buffer to copy from n§џ Number of characters to copy MEMCPY$^M€ џџџџMEMMOVEdestAddr§џ New buffer srcAddr§џ Buffer to copy from n§џ Number of characters to copy MEMMOVE$^M€ џџџџMEMSETdestAddr§џ Pointer to destination fillByte§џ Character to set n§џ Number of characters MEMSET$^M€ џџџџROL32inVal32§џn§џROL32$^M€ џџџџROR32inVal32§џn§џROR32$^M€ џџџџSETBIT32dwConst§џinVal32§џbitNo§џSETBIT32$^M€ џџџџSFCACTIONCONTROL S_FF RS§џL_TMR TON§џD_TMR TON§џP_TRIG R_TRIG§џSD_TMR TON§џSD_FF RS§џDS_FF RS§џDS_TMR TON§џSL_FF RS§џSL_TMR TON§џ N§џR0§џS0§џL§џD§џP§џSD§џ DS§џ SL§џ T§џ Q§џ$^M€ џџџџSHL32inVal32§џn§џSHL32$^M€ џџџџSHR32inVal32§џn§џSHR32$^M€ џџџџrC:\TWINCAT\PLC\LIB\TcFloatPC.lib@ BOOL_TO_FLOATIN§џ BOOL_TO_FLOATмJ€ џџџџ DINT_TO_FLOATIN§џ DINT_TO_FLOAT FLOATмJ€ џџџџF_GETVERSIONTCFLOATPCnVersionElement§џF_GetVersionTcFloatPCмJ€ џџџџ FLOAT_TO_BOOLIN§џ FLOAT_TO_BOOLмJ€ џџџџ FLOAT_TO_DINTIN FLOAT§џ FLOAT_TO_DINTмJ€ џџџџ FLOAT_TO_INTIN FLOAT§џ FLOAT_TO_INTмJ€ џџџџ FLOAT_TO_SINTIN FLOAT§џ FLOAT_TO_SINTмJ€ џџџџFLOAT_TO_STRINGIN FLOAT§џFLOAT_TO_STRINGQQмJ€ џџџџ FLOAT_TO_TIMEIN FLOAT§џ FLOAT_TO_TIMEмJ€ џџџџFLOAT_TO_UDINTIN FLOAT§џFLOAT_TO_UDINTмJ€ џџџџ FLOAT_TO_UINTIN FLOAT§џ FLOAT_TO_UINTмJ€ џџџџ FLOATISFINITE ptrDouble §џ ptrSingle§џx§џ FLOATIsFiniteмJ€ џџџџ INT_TO_FLOATIN§џ INT_TO_FLOAT FLOATмJ€ џџџџ SINT_TO_FLOATIN§џ SINT_TO_FLOAT FLOATмJ€ џџџџ TIME_TO_FLOATIN§џ TIME_TO_FLOAT FLOATмJ€ џџџџUDINT_TO_FLOATIN§џUDINT_TO_FLOAT FLOATмJ€ џџџџ UINT_TO_FLOATIN§џ UINT_TO_FLOAT FLOATмJ€ џџџџ|C:\TWINCAT\PLC\LIB\TcControllerToolbox.lib@=F_CTRL_SET_CYCLE_TIMESpTaskCycleTime FLOAT§џpCtrlCycleTime FLOAT§џtTaskCycleTime§џtCtrlCycleTime§џF_CTRL_SET_CYCLE_TIMESXмJ€ џџџџF_GETVERSIONTCCONTROLLERTOOLBOXnVersionElement§џF_GetVersionTcControllerToolboxXмJ€ џџџџFB_CTRL_2POINT stInternalParams ST_CTRL_2POINT_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џfE FLOAT§џ bSyncRequest§џbSyncValueInternal§џ internal state vars bOutInternal§џ" cycle counternCtrlCycleTicks§џ% 1Tick ... 30000Ticks nActCtrlCycleTick§џ& 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ) internal FB's fbR_TRIG R_TRIG§џ,fSetpointValue FLOAT§џ fActualValue FLOAT§џ bManSyncValue§џbSync§џeMode  E_CTRL_MODE§џbOut§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_2POINT_PARAMS§џXмJ€ џџџџFB_CTRL_2POINT_PWM_ADAPTIVEstInternalParams "ST_CTRL_2POINT_PWM_ADAPTIVE_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ stPWMParams ST_CTRL_PWM_OUT_PARAMS§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џfE FLOAT§џ bSyncRequest§џ fSyncValueInternal FLOAT§џ!bWait§џ"bValveOn§џ#eModePWM  E_CTRL_MODE§џ$ internal state vars bOutInternal§џ'fSetpointValueOld FLOAT§џ( cycle counternCtrlCycleTicks§џ+ 1Tick ... 30000Ticks nActCtrlCycleTick§џ, 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ/ internal FB's fbR_TRIG R_TRIG§џ2fbTON TON§џ3fbCTRL_PWM_OUT FB_CTRL_PWM_OUT§џ4fSetpointValue FLOAT§џ fActualValue FLOAT§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џbOut§џ fPWMDutyCycle FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џstParams "ST_CTRL_2POINT_PWM_ADAPTIVE_PARAMS§џXмJ€ џџџџ!FB_CTRL_3PHASE_SETPOINT_GENERATORIstInternalParams (ST_CTRL_3PHASE_SETPOINT_GENERATOR_PARAMS§џstBufferedParams (ST_CTRL_3PHASE_SETPOINT_GENERATOR_PARAMS§џstActualParams (ST_CTRL_3PHASE_SETPOINT_GENERATOR_PARAMS§џstCompareParams (ST_CTRL_3PHASE_SETPOINT_GENERATOR_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ internal vars fTaskCycleTime§џ!fCtrlCycleTime§џ"nCtrlCycleTicks§џ# 1Tick ... 30000Ticks nActCtrlCycleTick§џ$ 1Tick ... 30000Ticks bFatalError§џ% bInternalStop§џ&bInternalStopActive§џ'fGlobalStartPos§џ(fGlobalTargetPos§џ)fGlobalTargetVelo§џ* generator variables fbRTrig_Start R_TRIG§џ. bEndOfMotion§џ/ M_private_DoPre bExecIsInitialized§џ3 M_SetPhases bJumpOnTargetPos§џ7fLength0.0§џ9 fLengthUp0.0§џ: fLengthDown0.0§џ;fLocalVeloSetpoint§џ= fVelo_max§џ>ft0§џ@ft1§џAft2§џBfTemp_a0§џDfTemp_a1§џEfTemp_a2§џFfTemp_p§џGfTemp_q§џHfTemp§џIfv_max§џJfv_min§џK fCurrentPos§џMfCurrentVelocity§џN M_private_StatePropagator fdt§џRst3PState_StatePropagator !ST_CTRL_3PHASE_SETPOINT_GEN_STATE§џS" M_private_StateAndTimePropagator nPhase§џYstActualAbsoluteState !ST_CTRL_3PHASE_SETPOINT_GEN_STATE§џZstActualRelativeState !ST_CTRL_3PHASE_SETPOINT_GEN_STATE§џ[stExecRunTimeTabular ST_CTRL_3PHASE_SETPOINT_GEN_RTT§џ\fTime§џ] fLocalTime§џ^fActionStartTime§џ_bTargetPosIsNotReachable§џ` bZeroVelocity§џa M_private_DoStop bUserStopActive§џd fbRTrig_Stop R_TRIG§џestRunTimeTabularStop ST_CTRL_3PHASE_SETPOINT_GEN_RTT§џffStopDeceleration§џg M_private_NewInstruction bInstantRestartRequest§џjbNotInstantRestartRequest§џkbInstantRestartRequestWait§џlbNotInstantRestartRequestWait§џm M_private_Restart fLengthToEnd§џrnTemp§џs M_private_NewInstruction fAccStart§џvfLup§џwfLdn§џxfl§џystRunTimeTabularSetPhases ST_CTRL_3PHASE_SETPOINT_GEN_RTT§џz M_private_ActivateParameter pPointerToErrorFlag§џ} Override fOverrideOld§џ€bOverrideZeroStop§џbOverrideZeroActive§џ‚ bDisableOverrideChangeOnStopCall§џƒ debug bEnableLogMessages§џ†sTempMsgQQ§џ‡sTempArg§џˆfEPSILONэЕ їЦА>1E-6эЕ їЦА>§џ‹fMaxNumericalValueŒэЕ їЦB9.00719925474099E+009ŒэЕ їЦB§џŒ@ REAL : 1.677722e+007 *1e-6; LREAL: 9.00719925474099E+015 *1e-6 bStart§џbStop§џbReset§џ fOverrideY@100.0Y@§џ fSetPos§џ  generated setpoint position fSetVelo§џ  generated setpoint velocity fSetAcc§џ ! generated setpoint acceleration nSetDirection§џ generated direction [-1, 0, 1] bGeneratorActive§џ bCommandBuffered§џbDone§џbCommandAborted§џeErrorId E_CTRL_ERRORCODES§џbError§џstParams (ST_CTRL_3PHASE_SETPOINT_GENERATOR_PARAMS§џXмJ€ џџџџFB_CTRL_3POINTstInternalParams ST_CTRL_3POINT_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џ bSyncRequest§џnSyncValueInternal§џ internal state varsfE FLOAT§џ"bPosOutInternal§џ#bNegOutInternal§џ$ cycle counternCtrlCycleTicks§џ' 1Tick ... 30000Ticks nActCtrlCycleTick§џ( 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ+ internal FB's fbR_TRIG R_TRIG§џ.fSetpointValue FLOAT§џ fActualValue FLOAT§џ nManSyncValue§џbSync§џeMode  E_CTRL_MODE§џbPosOut§џ bNegOut§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џstParams ST_CTRL_3POINT_PARAMS§џXмJ€ џџџџFB_CTRL_3POINT_EXTstInternalParams ST_CTRL_3POINT_EXT_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џ bSyncRequest§џfSyncValueInternal FLOAT§џ internal state vars fOutInternal FLOAT§џ!fE FLOAT§џ"fE_1  0.0FLOAT§џ#* old controller input (deviation=error) fDeltaE_E_1  0.0FLOAT§џ$' actual minus old controller input nRealDirectionfE§џ'+ direction of controller input (-1, +1) nCtrlCycleTicks§џ+ 1Tick ... 30000Ticks nActCtrlCycleTick§џ, 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ/ internal FB's fbR_TRIG R_TRIG§џ2fSetpointValue FLOAT§џ fActualValue FLOAT§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џfOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_3POINT_EXT_PARAMS§џXмJ€ џџџџFB_CTRL_ACTUAL_VALUE_FILTERstInternalParams "ST_CTRL_ACTUAL_VALUE_FILTER_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џ internal state varsfE  0.0FLOAT§џfY  0.0FLOAT§џfY_1  0.0FLOAT§џ fY_2  0.0FLOAT§џ!fY_3  0.0FLOAT§џ"nOverLimitCounter§џ# cycle counternCtrlCycleTicks§џ& 1Tick ... 30000Ticks nActCtrlCycleTick§џ' 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ* internal FB's fIn FLOAT§џ fManValue FLOAT§џeMode  E_CTRL_MODE§џfOut FLOAT§џeState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams "ST_CTRL_ACTUAL_VALUE_FILTER_PARAMS§џXмJ€ џџџџFB_CTRL_ARITHMETIC_MEANstInternalParams ST_CTRL_ARITHMETIC_MEAN_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џ sync bSyncRequest§џ fSyncValueInternal FLOAT§џ! internal state varsfx  0.0FLOAT§џ$fx_n  0.0FLOAT§џ%fx_n_1  0.0FLOAT§џ&n§џ' cycle counternCtrlCycleTicks§џ* 1Tick ... 30000Ticks nActCtrlCycleTick§џ+ 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ. internal FB's fbR_TRIG R_TRIG§џ1fIn FLOAT§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џbHold§џfOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_ARITHMETIC_MEAN_PARAMS§џXмJ€ џџџџFB_CTRL_CHECK_IF_IN_BAND bFirstInit§џ init ? fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џstInternalParams ST_CTRL_CHECK_IF_IN_BAND_PARAMS§џ" internal parameter struct !stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ cycle counternCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks eState  E_CTRL_STATE§џ local FB instances fin FLOAT§џbInBand§џ bNotInBand§џeErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_CHECK_IF_IN_BAND_PARAMS§џ  parameter struct XмJ€ џџџџ FB_CTRL_DstInternalParams ST_CTRL_D_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џbFirstCallAfterAStateChange§џ discrete time coefficientsfD0 FLOAT§џfD1 FLOAT§џfC1 FLOAT§џ internal vars fTaskCycleTime FLOAT§џ fCtrlCycleTime FLOAT§џ!fHalfCtrlCycleTime FLOAT§џ" bSyncRequest§џ#fSyncValueInternal FLOAT§џ$fTd FLOAT§џ&fTv FLOAT§џ'fE  0.0FLOAT§џ)fE_1  0.0FLOAT§џ*fY  0.0FLOAT§џ+fY_1  0.0FLOAT§џ,nCtrlCycleTicks§џ. 1Tick ... 30000Ticks nActCtrlCycleTick§џ/ 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ1bMaxOrMinLimiterActive§џ3 internal FB's fbR_TRIG R_TRIG§џ6fIn FLOAT§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џfOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_D_PARAMS§џXмJ€ џџџџFB_CTRL_DEADBAND bFirstInit§џfCtrlCycleTime FLOAT§џ 0.002s ... 60.0s fTaskCycleTime FLOAT§џ' controller cycle time in seconds [s] nCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks stInternalParams ST_CTRL_DEADBAND_PARAMS§џ" internal parameter struct !stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џeState  E_CTRL_STATE§џfIn FLOAT§џfOut FLOAT§џbInIsUnderThreshold§џeErrorId E_CTRL_ERRORCODES§џbError§џ stParams ST_CTRL_DEADBAND_PARAMS§џ $ deadband parameter struct XмJ€ џџџџFB_CTRL_DIGITAL_FILTER fSizeFLOATVar FLOAT§џ nSizeFLOATVar§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џfHalfCtrlCycleTime FLOAT§џ bFirstInit§џ init ? stInternalParams ST_CTRL_DIGITAL_FILTER_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џnCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ!i§џ#pPointerToDATA_internal ST_CTRL_DIGITAL_FILTER_DATA§џ&pPointerToDATA_internal_1 ST_CTRL_DIGITAL_FILTER_DATA§џ' pPointerTo_a FLOAT§џ( pPointerTo_b FLOAT§џ)nSizeOfDataStruct§џ+nOffset§џ, fOutInternal FLOAT§џ.fIn FLOAT§џ fManValue FLOAT§џeMode  E_CTRL_MODE§џfOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џstParams ST_CTRL_DIGITAL_FILTER_PARAMS§џXмJ€ џџџџFB_CTRL_FLOW_TEMP_SETPOINT_GEN bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џstInternalParams %ST_CTRL_FLOW_TEMP_SETPOINT_GEN_PARAMS§џ" internal parameter struct !stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ fGradient FLOAT§џfOffset FLOAT§џ cycle counternCtrlCycleTicks§џ  1Tick ... 30000Ticks nActCtrlCycleTick§џ! 1Tick ... 30000Ticks eState  E_CTRL_STATE§џ$ local FB instances fbRTrig R_TRIG§џ'fAmbientTemperature FLOAT§џfOffsetTemperature FLOAT§џbLimitFlowTemp§џfOut FLOAT§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams %ST_CTRL_FLOW_TEMP_SETPOINT_GEN_PARAMS§џXмJ€ џџџџFB_CTRL_GET_SYSTEM_TIME fbGetTime  NT_GetTime§џ  Internal Variable bFirstInit§џfCtrlCycleTime FLOAT§џ 0.002s ... 60.0s fTaskCycleTime FLOAT§џ' controller cycle time in seconds [s] nCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks stInternalParams ST_CTRL_GET_SYSTEM_TIME_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џeState  E_CTRL_STATE§џ stSystemTime  TIMESTRUCT§џ resolution >= 10ms eErrorId E_CTRL_ERRORCODES§џbError§џstParams ST_CTRL_GET_SYSTEM_TIME_PARAMS§џ XмJ€ џџџџFB_CTRL_GET_TASK_CYCLETIME bFirstInit§џ internal vars nCpuCntLoDW§џ nCpuCntHiDW§џnLastcpuCntLoDW§џnLastcpuCntHiDW§џ nCycleTimeDW§џnCycleTimeDWold§џbFirstCallReady§џ internal function blocksfbGETCPUCOUNTER  GETCPUCOUNTER§џ function block state vars eMode_old  E_CTRL_MODE§џeMode  E_CTRL_MODE§џtTaskCycleTime§џ resolution 1msbCycleTimeValid§џeState  E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џ bError§џ XмJ€ џџџџFB_CTRL_HYSTERESIS stInternalParams ST_CTRL_HYSTERESIS_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џ bSyncRequest§џbSyncValueInternal§џ internal state vars bOutInternal§џ  cycle counternCtrlCycleTicks§џ# 1Tick ... 30000Ticks nActCtrlCycleTick§џ$ 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ' internal FB's fbR_TRIG R_TRIG§џ*fIn FLOAT§џ bManSyncValue§џbSync§џeMode  E_CTRL_MODE§џbOut§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_HYSTERESIS_PARAMS§џXмJ€ џџџџ FB_CTRL_IstInternalParams ST_CTRL_I_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џbFirstCallAfterAStateChange§џ discrete time coefficientsfD0 FLOAT§џfD1 FLOAT§џfC1 FLOAT§џ internal vars fTaskCycleTime FLOAT§џ"fCtrlCycleTime FLOAT§џ#fHalfCtrlCycleTime FLOAT§џ$fTi FLOAT§џ%fSyncValueInternal FLOAT§џ& internal state varsfE  0.0FLOAT§џ)fE_1  0.0FLOAT§џ*fY  0.0FLOAT§џ+fY_1  0.0FLOAT§џ, cycle counternCtrlCycleTicks§џ/ 1Tick ... 30000Ticks nActCtrlCycleTick§џ0 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ3 flags bMaxLimitReached§џ6bMinLimitReached§џ7 bSyncRequest§џ8 internal FB's fbR_TRIG R_TRIG§џ;fIn FLOAT§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џbHold§џfOut FLOAT§џ eState  E_CTRL_STATE§џ bARWactive§џ eErrorId E_CTRL_ERRORCODES§џ bError§џstParams ST_CTRL_I_PARAMS§џXмJ€ џџџџ FB_CTRL_I_WITH_DRIFTCOMPENSATIONstInternalParams 'ST_CTRL_I_WITH_DRIFTCOMPENSATION_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џ eMode_old  E_CTRL_MODE§џ cycle counternCtrlCycleTicks§џ! 1Tick ... 30000Ticks nActCtrlCycleTick§џ" 1Tick ... 30000Ticks fbCTRL_I " FB_CTRL_I§џ&fbCTRL_MOVING_AVERAGE FB_CTRL_MOVING_AVERAGE§џ' params of the internal FB'S stCTRL_I_Params ST_CTRL_I_PARAMS§џ*stCTRL_MOVING_AVERAGE_Params ST_CTRL_MOVING_AVERAGE_PARAMS§џ+ flags bMaxLimitReached§џ.bMinLimitReached§џ/fY FLOAT§џ1fIn FLOAT§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џbHold§џfOut FLOAT§џ eState  E_CTRL_STATE§џ bARWactive§џ eErrorId E_CTRL_ERRORCODES§џ bError§џstParams 'ST_CTRL_I_WITH_DRIFTCOMPENSATION_PARAMS§џ parameter struct XмJ€ џџџџFB_CTRL_LEAD_LAGstInternalParams ST_CTRL_LEAD_LAG_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џbFirstCallAfterAStateChange§џ discrete time coefficientsfD0 FLOAT§џfD1 FLOAT§џfC1 FLOAT§џ internal vars fTaskCycleTime FLOAT§џ!fCtrlCycleTime FLOAT§џ"fHalfCtrlCycleTime FLOAT§џ#fT1 FLOAT§џ$fT2 FLOAT§џ% sync bSyncRequest§џ(fSyncValueInternal FLOAT§џ) internal state varsfE  0.0FLOAT§џ,fE_1  0.0FLOAT§џ-fY  0.0FLOAT§џ.fY_1  0.0FLOAT§џ/ cycle counternCtrlCycleTicks§џ2 1Tick ... 30000Ticks nActCtrlCycleTick§џ3 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ6 internal FB's fbR_TRIG R_TRIG§џ9fIn FLOAT§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џbHold§џfOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_LEAD_LAG_PARAMS§џXмJ€ џџџџFB_CTRL_LIMITER bFirstInit§џfCtrlCycleTime FLOAT§џ 0.002s ... 60.0s fTaskCycleTime FLOAT§џ' controller cycle time in seconds [s] nCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks stInternalParams ST_CTRL_LIMITER_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џeState  E_CTRL_STATE§џfIn FLOAT§џfOut FLOAT§џ bMinLimit§џ bMaxLimit§џeErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_LIMITER_PARAMS§џ # LIMITER parameter struct XмJ€ џџџџFB_CTRL_LIN_INTERPOLATIONstInternalParams  ST_CTRL_LIN_INTERPOLATION_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џnCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ init flag bFirstInit§џ RefElement FLOAT§џ#% reference element to check the size nRefElementSize§џ$nMaxTableElementNumber§џ%fSamplingPoint_left FLOAT§џ'nSamplingPointRow_left§џ(pSamplingPointADR_left FLOAT§џ)fSamplingPoint_right FLOAT§џ+pSamplingPointADR_right FLOAT§џ,fDataPoint_left FLOAT§џ.pDataPointADR_left FLOAT§џ/fDataPoint_right FLOAT§џ1pDataPointADR_right FLOAT§џ2bRowOk§џ5nSamplingPointRow_left_old§џ6fIn_old FLOAT§џ7nSearchTurnCounter§џ8fIn FLOAT§џ fManValue FLOAT§џ bExtrapolate§џeMode  E_CTRL_MODE§џfOut FLOAT§џ bInIsGreaterThanMaxElement§џ bInIsLessThanMinElement§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џstParams  ST_CTRL_LIN_INTERPOLATION_PARAMS§џXмJ€ џџџџFB_CTRL_LOG_DATA#stInternalParams ST_CTRL_LOG_DATA_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џ fLogCycleTime FLOAT§џbWriteHeadingsOk§џnhFile§џStep§џi§џ sLogString§џ! nRowNumber§џ"fTime FLOAT§џ# bFileDeleted§џ$bIncrementTime§џ%bWait§џ& cycle counternLogCycleTicks§џ) 1Tick ... 30000Ticks nActLogCycleTick§џ* 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ- internal FB's fbFileClose  FB_FileClose§џ0 fbFileOpen  FB_FileOpen§џ1 fbFileWrite  FB_FileWrite§џ2 fbFileDelete  FB_FileDelete§џ3 fbNT_GetTime  NT_GetTime§џ4 buffer handling bUseExternalBuffer§џ7pLogBuffer_ADR§џ8nLogBuffer_SIZEOF§џ9 nBufferOffset§џ:fbR_TRIG R_TRIG§џ;InternalLogBuffer џ§џ< nLogStringLen§џ= NT time handling strAbsoluteTimeQQ§џ@strAbsoluteTimeTempQQ§џAbWaitOnNTGetTime§џB7 detection of address changes through an online change bAdrCheck§џEAdrCheck§џFfLogData T_CTRL_LOGGER_DATA§џeMode  E_CTRL_MODE§џeState  E_CTRL_STATE§џ bFileOpen§џ bFileClosed§џ bBusy§џ fBufferUsage FLOAT§џ * Buffer fill level in percent [0 ... 100] eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_LOG_DATA_PARAMS§џXмJ€ џџџџFB_CTRL_LOG_MAT_FILEBstInternalParams ST_CTRL_LOG_MAT_FILE_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џbFirstCallAfterAStateChange§џ internal vars fLogData_internal  §џfTaskCycleTime FLOAT§џ fLogCycleTime FLOAT§џbWriteFileHeaderOk§џ nhFile§џ!nWriteFileHeaderStep§џ"i§џ#j§џ# sLogString§џ$ nRowNumber§џ%fTime§џ& bFileDeleted§џ'bIncrementTime§џ(bWait§џ) cycle counternLogCycleTicks§џ, 1Tick ... 30000Ticks nActLogCycleTick§џ- 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ0 internal FB's fbFileClose  FB_FileClose§џ3 fbFileOpen  FB_FileOpen§џ4 fbFileWrite  FB_FileWrite§џ5 fbFileDelete  FB_FileDelete§џ6 fbFileSeek  FB_FileSeek§џ7 buffer handling bUseExternalBuffer§џ:pLogBuffer_ADR§џ;nLogBuffer_SIZEOF§џ< nBufferOffset§џ=fbR_TRIG R_TRIG§џ>InternalLogBuffer м§џ? don't reduce < 1300 bytes nLogStringLen§џAnLEN_MatrixName§џBnTemp§џCnRows§џDnDataPlusHeaderLength§џE nDataLength§џFnMakeFileValidStep§џHnWriteVarInfoStep§џI ADR_LogData§џJSizeOf_LogData§џK bFileValid§џLbWriteVarInfoOk§џMsInfoArrayName))§џNnLEN_InfoArrayName§џOnOffset§џPsInfoStrQQ§џQ nForLoopStart§џRbTypeCastNecessary§џSbFileOpenInProgress§џT7 detection of address changes through an online change bAdrCheck§џWAdrCheck§џXnOffset_DataPlusHeaderLength„§џ\nOffset_DataLengthД§џ]nOffset_MatrixRows §џ^nOffset_MatrixColumnsЄ§џ_ mxCELL_CLASS§џa mxCHAR_CLASS§џbmiINT8§џcmiINT32§џdmiUINT32§џemiDOUBLE §џfmiMATRIX§џgsDescriptiveText{4TwinCAT Controller Toolbox Matlab 5 Log. Version 1.0{§џjsInfoExtension_Info§џkfLogData T_CTRL_LOGGER_DATA§џeMode  E_CTRL_MODE§џeState  E_CTRL_STATE§џ bFileOpen§џ bFileClosed§џ bBusy§џ fBufferUsage FLOAT§џ * Buffer fill level in percent [0 ... 100] nLoggedColumns§џ eErrorId E_CTRL_ERRORCODES§џ bError§џstParams ST_CTRL_LOG_MAT_FILE_PARAMS§џXмJ€ џџџџFB_CTRL_LOOP_SCHEDULERstInternalParams ST_CTRL_LOOP_SCHEDULER_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џnCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ init flag bFirstInit§џ RefElement§џ% reference element to check the size nRefElementSize§џnLoopsToStartPerCycle§џ nOutputIndex§џ! pOutputADR§џ"n§џ# nManValue§џeMode  eCTRL_MODE_PASSIVE E_CTRL_MODE§џeState  eCTRL_STATE_PASSIVE E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џbError§џ stParams ST_CTRL_LOOP_SCHEDULER_PARAMS§џ XмJ€ џџџџFB_CTRL_MOVING_AVERAGEstInternalParams ST_CTRL_MOVING_AVERAGE_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џnCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ init flag bFirstInit§џfbR_TRIG R_TRIG§џ! bSyncRequest§џ"fSyncValueInternal FLOAT§џ# fRefElement FLOAT§џ%nCurrentIndexIn§џ&pCurrentIndexInADR FLOAT§џ'nCurrentIndexMean§џ(pCurrentIndexMeanADR FLOAT§џ)nRefElementSize§џ* nMaxIndex§џ+fSum FLOAT§џ,bSumCalcRequest§џ-fIn FLOAT§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џbHold§џfOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_MOVING_AVERAGE_PARAMS§џXмJ€ џџџџFB_CTRL_MULTIPLE_PWM_OUT fSizeFLOATVar FLOAT§џ nSizeFLOATVar§џ tSizeTIMEVar§џ nSizeTIMEVar§џ Internal Variable bFirstInit§џ init ? stInternalParams ST_CTRL_MULTIPLE_PWM_OUT_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ bNewPeriod§џ fTaskCycleTime FLOAT§џ fPWMPeriod FLOAT§џ# PWM cycle time in seconds [s] nPwmCycleTicks§џ 1Tick ... 30000Ticks nPwmActCycleTick§џ< 1Tick ... 30000Ticks [nPwmActCycleTick <= nPwmCycleTicks] nDeltaTicks§џnOutputsToTurnOn§џ eMode_old  E_CTRL_MODE§џ!i§џ#fbTON_internal TON§џ%pPointerToDATA_internal ST_CTRL_MULTIPLE_PWM_OUT_DATA§џ'pPointerToDATA_internal_2 ST_CTRL_MULTIPLE_PWM_OUT_DATA§џ(pPointerToOUTPUTS_internal  ST_CTRL_MULTIPLE_PWM_OUT_OUTPUTS§џ)pPointerToTIMES_internal ST_CTRL_MULTIPLE_PWM_OUT_TIMES§џ*pPointerToINPUTS_internal FLOAT§џ+nSizeOfDataStruct§џ- := 52;nSizeOfOutputStruct§џ. := 3;nSizeOfTimeStruct§џ/ := 12;fTemp FLOAT§џ0eMode  E_CTRL_MODE§џeState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_MULTIPLE_PWM_OUT_PARAMS§џXмJ€ џџџџFB_CTRL_NOISE_GENERATOR stInternalParams ST_CTRL_NOISE_GENERATOR_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џ internal function blocks fbDRAND DRAND§џ cycle counternCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ  1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ# fManSyncValue FLOAT§џeMode  E_CTRL_MODE§џfOut FLOAT§џeState  E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_NOISE_GENERATOR_PARAMS§џ XмJ€ џџџџFB_CTRL_NORMALIZEstInternalParams ST_CTRL_NORMALIZE_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џnCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ init flag bFirstInit§џ RefElement FLOAT§џ#% reference element to check the size nRefElementSize§џ$nMaxTableElementNumber§џ%fSamplingPoint_left FLOAT§џ'nSamplingPointRow_left§џ(pSamplingPointADR_left FLOAT§џ)fSamplingPoint_right FLOAT§џ+pSamplingPointADR_right FLOAT§џ,fDataPoint_left FLOAT§џ.pDataPointADR_left FLOAT§џ/fDataPoint_right FLOAT§џ1pDataPointADR_right FLOAT§џ2bRowOk§џ5nSamplingPointRow_left_old§џ6fIn_old FLOAT§џ7nSearchTurnCounter§џ8fIn FLOAT§џ fManValue FLOAT§џ bExtrapolate§џeMode  E_CTRL_MODE§џfOut FLOAT§џ bInIsGreaterThanMaxElement§џ bInIsLessThanMinElement§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џstParams ST_CTRL_NORMALIZE_PARAMS§џXмJ€ џџџџFB_CTRL_NOTCH_FILTERstInternalParams ST_CTRL_NOTCH_FILTER_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џ eMode_old  E_CTRL_MODE§џ cycle counternCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ  1Tick ... 30000Ticks fbCTRL_DIGITAL_FILTER FB_CTRL_DIGITAL_FILTER§џ$ params of the internal FB'S stCTRL_DIGITAL_FILTER_Params ST_CTRL_DIGITAL_FILTER_PARAMS§џ'+ coefficients array for the digital filter ar_CoefficientsArray_a  FLOAT§џ+ar_CoefficientsArray_b  FLOAT§џ,ar_stDigitalFilterData  ST_CTRL_DIGITAL_FILTER_DATA§џ-fOmega0  0.0FLOAT§џ.fTempDenominator FLOAT§џ/7 detection of address changes through an online change bAdrCheck§џ2AdrCheck§џ3fIn FLOAT§џ input value fManValue FLOAT§џ manual value eMode  E_CTRL_MODE§џ% sets the mode of the function block fOut FLOAT§џ output value eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ error code bError§џ # TRUE if an error situation exists stParams ST_CTRL_NOTCH_FILTER_PARAMS§џ parameter struct XмJ€ џџџџFB_CTRL_NPOINTstInternalParams ST_CTRL_nPOINT_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џnCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ init flag bFirstInit§џfE  0.0FLOAT§џ fE_old FLOAT§џ!bInIsGreaterOrEqualMaxElement§џ#bInIsLessThanMinElement§џ$ RefElement nPOINT_CTRL_TABLE_ELEMENT§џ&% reference element to check the size nRefElementSize§џ'nMaxTableElementNumber§џ(fSamplingPoint_left FLOAT§џ*nSamplingPointRow_left§џ+pSamplingPointADR_left nPOINT_CTRL_TABLE_ELEMENT§џ,fSamplingPoint_right FLOAT§џ.pSamplingPointADR_right nPOINT_CTRL_TABLE_ELEMENT§џ/fDataPoint_left FLOAT§џ1pDataPointADR_left nPOINT_CTRL_TABLE_ELEMENT§џ2fDataPoint_right FLOAT§џ4pDataPointADR_right nPOINT_CTRL_TABLE_ELEMENT§џ5pDataPointADR_LeftHalfPlane nPOINT_CTRL_TABLE_ELEMENT§џ7bRowOk§џ9nSamplingPointRow_left_old§џ:nSearchTurnCounter§џ;fSetpointValue FLOAT§џ fActualValue FLOAT§џ fManValue FLOAT§џeMode  E_CTRL_MODE§џfOut nPOINT_CTRL_TABLE_ELEMENT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_nPOINT_PARAMS§џXмJ€ џџџџ FB_CTRL_P stInternalParams ST_CTRL_P_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ discrete time coefficientsfD0 FLOAT§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џ internal state varsfE  0.0FLOAT§џfY  0.0FLOAT§џ  cycle counternCtrlCycleTicks§џ# 1Tick ... 30000Ticks nActCtrlCycleTick§џ$ 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ'fIn FLOAT§џeMode  E_CTRL_MODE§џfOut FLOAT§џeState  E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_P_PARAMS§џ XмJ€ џџџџFB_CTRL_PARAMETER_SWITCHstInternalParams ST_CTRL_PARAMETER_SWITCH_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џfE FLOAT§џ bSyncRequest§џ!nSyncValueInternal§џ" internal state varseParameterRecordInternal E_CTRL_PARAMETER_RECORD§џ% cycle counternCtrlCycleTicks§џ( 1Tick ... 30000Ticks nActCtrlCycleTick§џ) 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ, internal FB's fbR_TRIG R_TRIG§џ/fbTON_1 TON§џ0fbTON_2 TON§џ1fManipulatedVariable FLOAT§џ3 for example: fOut from the FB_CTRL_PID_SPLITRANGE bDisableHeating§џ! set TRUE to disable the range 1 bDisableCooling§џ! set TRUE to disable the range 2 nManSyncValue§џ5 input value for the manual mode or the sync request bSync§џ1 rising edge set the output to the nManSyncValue eMode  E_CTRL_MODE§џ% sets the mode of the function block eParameterRecord E_CTRL_PARAMETER_RECORD§џ . parameter record --> FB_CTRL_PID_SWITCHRANGE fOutMaxLimit FLOAT§џ 2 max limit wich can transferred to the controller fOutMinLimit FLOAT§џ 2 min limit wich can transferred to the controller eState  E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џ error code bError§џ# TRUE if an error situation exists stParams ST_CTRL_PARAMETER_SWITCH_PARAMS§џ parameter struct XмJ€ џџџџ FB_CTRL_PIstInternalParams ST_CTRL_PI_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џbFirstCallAfterAStateChange§џ discrete time coefficientsfD_I FLOAT§џ internal vars fTaskCycleTime FLOAT§џ!fCtrlCycleTime FLOAT§џ"fHalfCtrlCycleTime FLOAT§џ#fTn FLOAT§џ$ bIPartEnabled§џ%fSyncValueInternal FLOAT§џ& fLimitValue FLOAT§џ' internal state varsfE  0.0FLOAT§џ+fE_1  0.0FLOAT§џ,fY_I  0.0FLOAT§џ-fY_I_1  0.0FLOAT§џ.fY_P  0.0FLOAT§џ/fY  0.0FLOAT§џ0 cycle counternCtrlCycleTicks§џ3 1Tick ... 30000Ticks nActCtrlCycleTick§џ4 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ7 flags bMaxLimitReached§џ:bMinLimitReached§џ; bSyncRequest§џ< internal FB's fbR_TRIG R_TRIG§џ?fSetpointValue FLOAT§џ fActualValue FLOAT§џ fManSyncValue FLOAT§џ5 input value for the manual mode or the sync request bSync§џ1 rising edge set the output to the fManSyncValue eMode  E_CTRL_MODE§џ% sets the mode of the function block bHold§џ hold the internal integrator fOut FLOAT§џ " manipulated value to the process bARWactive§џ # fOut reached the max or min limit eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ error code bError§џ# TRUE if an error situation exists stParams ST_CTRL_PI_PARAMS§џ parameter struct XмJ€ џџџџFB_CTRL_PI_PIDstInternalParams ST_CTRL_PI_PID_PARAMS§џ$!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ% init flag bFirstInit§џ( internal vars fTaskCycleTime FLOAT§џ+fCtrlCycleTime FLOAT§џ,bHoldOuterLoopInternal§џ- cycle counternCtrlCycleTicks§џ0 1Tick ... 30000Ticks nActCtrlCycleTick§џ1 1Tick ... 30000Ticks eState  E_CTRL_STATE§џ4 internal FB's fbCTRL_PI % FB_CTRL_PI§џ7 fbCTRL_PID / FB_CTRL_PID§џ8fbCTRL_LIMITER FB_CTRL_LIMITER§џ9 params of the internal FB'S stCTRL_PI_Params ST_CTRL_PI_PARAMS§џ<stCTRL_LIMITER_Params ST_CTRL_LIMITER_PARAMS§џ=stCTRL_PID_Params ST_CTRL_PID_PARAMS§џ> fSetpointValue FLOAT§џ setpoint value fActualValueOuterLoop FLOAT§џ4 actual value from the process to the PI-controller fActualValueInnerLoop FLOAT§џ5 actual value from the process to the PID-controller fPreControl FLOAT§џ pre control value fManSyncValueInnerLoop FLOAT§џ5 input value for the manual mode or the sync request bSyncInnerLoop§џ 1 rising edge set the output to the fManSyncValue eModeInnerLoop  E_CTRL_MODE§џ % sets the mode of the function block bHoldInnerLoop§џ  hold the internal integrator fManSyncValueOuterLoop FLOAT§џ 5 input value for the manual mode or the sync request bSyncOuterLoop§џ1 rising edge set the output to the fManSyncValue eModeOuterLoop  E_CTRL_MODE§џ% sets the mode of the function block bHoldOuterLoop§џ hold the internal integrator fOut FLOAT§џ" manipulated value to the process eStateInnerLoop  E_CTRL_STATE§џbARWactiveInnerLoop§џeErrorIdInnerLoop E_CTRL_ERRORCODES§џ error code bErrorInnerLoop§џ# TRUE if an error situation exists eStateOuterLoop  E_CTRL_STATE§џbARWactiveOuterLoop§џeErrorIdOuterLoop E_CTRL_ERRORCODES§џ error code bErrorOuterLoop§џ# TRUE if an error situation exists stParams ST_CTRL_PI_PID_PARAMS§џ  parameter struct XмJ€ џџџџ FB_CTRL_PID#stInternalParams ST_CTRL_PID_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џbFirstCallAfterAStateChange§џ discrete time coefficientsfD_I FLOAT§џfC_D FLOAT§џ fD_D FLOAT§џ! internal vars fTaskCycleTime FLOAT§џ$fCtrlCycleTime FLOAT§џ%fHalfCtrlCycleTime FLOAT§џ&fTn FLOAT§џ'fTv FLOAT§џ(fTd FLOAT§џ) bIPartEnabled§џ* bDPartEnabled§џ+fSyncValueInternal FLOAT§џ, fLimitValue FLOAT§џ- internal state varsfE  0.0FLOAT§џ0fE_1  0.0FLOAT§џ1fY_P  0.0FLOAT§џ2fY_I  0.0FLOAT§џ3fY_I_1  0.0FLOAT§џ4fY_D  0.0FLOAT§џ5fY_D_1  0.0FLOAT§џ6fY  0.0FLOAT§џ7fY_1  0.0FLOAT§џ8fActVal  0.0FLOAT§џ9 fActVal_1  0.0FLOAT§џ: cycle counternCtrlCycleTicks§џ> 1Tick ... 30000Ticks nActCtrlCycleTick§џ? 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џB flags bMaxLimitReached§џEbMinLimitReached§џF bSyncRequest§џG internal FB's fbR_TRIG R_TRIG§џJfSetpointValue FLOAT§џ fActualValue FLOAT§џ fManSyncValue FLOAT§џ5 input value for the manual mode or the sync request bSync§џ1 rising edge set the output to the fManSyncValue eMode  E_CTRL_MODE§џ% sets the mode of the function block bHold§џ  hold the internal integrator fOut FLOAT§џ " manipulated value to the process bARWactive§џ # fOut reached the max or min limit eState  E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џ error code bError§џ# TRUE if an error situation exists stParams ST_CTRL_PID_PARAMS§џ parameter struct XмJ€ џџџџFB_CTRL_PID_EXT&fE  0.0FLOAT§џ% error input fE_1  0.0FLOAT§џ& error input z^(-1) fY  0.0FLOAT§џ' control output fY_1  0.0FLOAT§џ( control output z^(-1) fY_P  0.0FLOAT§џ) P-part fY_I  0.0FLOAT§џ* I-part fY_I_1  0.0FLOAT§џ+ I-part z^(-1) fY_D  0.0FLOAT§џ, D-T1-part fY_D_1  0.0FLOAT§џ- D-T1-part z^(-1) fLimitValue  0.0FLOAT§џ.fActVal  0.0FLOAT§џ/ fActVal_1  0.0FLOAT§џ0 Internal Parameter bFirstInit§џ4 is controller init done ? bFirstCallAfterAStateChange§џ5 bIPartEnabled§џ6 I-part active ? bDPartEnabled§џ7 D-part active ? bOuterWindowEnabled§џ9/ I-part active and outer window unequal zero ? bInnerWindowEnabled§џ:bDeadBandInputEnabled§џ;bDeadBandOutputEnabled§џ<fCtrlDeviation FLOAT§џ>0 controller deviation (setpoint - actual value) fD_I  0.0FLOAT§џ@ internal I param fD_D  0.0FLOAT§џA internal D param fC_D  0.0FLOAT§џB internal D param fTaskCycleTime  0.0FLOAT§џD FB/task cycle time [s] fCtrlCycleTime  0.0FLOAT§џE controller cycle time [s] fHalfCtrlCycleTime  0.0FLOAT§џF controller cycle time [s] /2 nCtrlCycleTicks§џH 1Tick ... 30000Ticks nActCtrlCycleTick§џI 1Tick ... 30000Ticks fTn FLOAT§џKfTv FLOAT§џLfTd FLOAT§џM eMode_Old  E_CTRL_MODE§џOstInternalParams ST_CTRL_PID_EXT_PARAMS§џP internal controller parameter !stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џQ bSyncRequest§џSfSyncValueInternal FLOAT§џT internal FB's fbR_TRIG R_TRIG§џWfSetpointValue FLOAT§џ fActualValue FLOAT§џ fManSyncValue FLOAT§џ5 input value for the manual mode or the sync request bSync§џ1 rising edge set the output to the fManSyncValue eMode  E_CTRL_MODE§џ % sets the mode of the function block bHold§џ  hold the internal integrator fOut FLOAT§џ" manipulated value to the process bMaxLimitReached§џ/ minimum limiting active ? [TRUE/FALSE] -> ARW bMinLimitReached§џ/ maximum limiting active ? [TRUE/FALSE] -> ARW bARWActive§џ, ARW actice ? [TRUE/FALSE] -> freeze I-part fCtrlDerivation FLOAT§џ% controller command derivation dy/dt eState  E_CTRL_STATE§џ/ controller mode: passive, activ, check, error bError§џ error flag eErrorId E_CTRL_ERRORCODES§џ error code stParams ST_CTRL_PID_EXT_PARAMS§џ  controller parameter XмJ€ џџџџFB_CTRL_PID_EXT_SPLITRANGE:stInternalParams !ST_CTRL_PID_EXT_SPLITRANGE_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џeInternalParameterRecord E_CTRL_PARAMETER_RECORD§џeParameterRecord_old E_CTRL_PARAMETER_RECORD§џ init flag bFirstInit§џ!bInitParameterChange§џ"bFirstCallAfterAStateChange§џ# discrete time coefficientsfD_I_r  FLOAT§џ&fC_D_r  FLOAT§џ'fD_D_r  FLOAT§џ(fKp_r  FLOAT§џ)fTd_r  FLOAT§џ*fTv_r  FLOAT§џ+bIPartEnabled_r §џ,bDPartEnabled_r §џ- fD_I_current FLOAT§џ0 fC_D_current FLOAT§џ1 fD_D_current FLOAT§џ2 fKp_current FLOAT§џ3 fTd_current FLOAT§џ4 fTv_current FLOAT§џ5bIPartEnabled_current§џ6bDPartEnabled_current§џ7 fIPartWeight  1FLOAT§џ8fSyncValueInternal FLOAT§џ9 fLimitValue FLOAT§џ: internal vars fTaskCycleTime FLOAT§џ>fCtrlCycleTime FLOAT§џ?fHalfCtrlCycleTime FLOAT§џ@ fTn_heating FLOAT§џA fTv_heating FLOAT§џB fTd_heating FLOAT§џC fTn_cooling FLOAT§џD fTv_cooling FLOAT§џE fTd_cooling FLOAT§џF internal state varsfE  0.0FLOAT§џJfE_1  0.0FLOAT§џKfY_P  0.0FLOAT§џLfY_I  0.0FLOAT§џMfY_I_1  0.0FLOAT§џNfY_D  0.0FLOAT§џOfY_D_1  0.0FLOAT§џPfY  0.0FLOAT§џQfY_1  0.0FLOAT§џRfActVal  0.0FLOAT§џS fActVal_1  0.0FLOAT§џT cycle counternCtrlCycleTicks§џX 1Tick ... 30000Ticks nActCtrlCycleTick§џY 1Tick ... 30000Ticks nParameterChangeCycleCounter§џZ function block state vars eMode_old  E_CTRL_MODE§џ] flags bMaxLimitReached§џ`bMinLimitReached§џa bSyncRequest§џbbIsOuterWindow§џcbIsInnerWindow§џdbIsDeadBandInput§џebIsDeadBandOutput§џf internal FB's fbR_TRIG R_TRIG§џjfSetpointValue FLOAT§џ fActualValue FLOAT§џeParameterRecord E_CTRL_PARAMETER_RECORD§џ' number of the active parameter record fManSyncValue FLOAT§џ5 input value for the manual mode or the sync request bSync§џ1 rising edge set the output to the fManSyncValue eMode  E_CTRL_MODE§џ% sets the mode of the function block bHold§џ  hold the internal integrator fOutPos FLOAT§џ H positive part of the manipulated value to the process [0 .. fMaxLimit] fOutNeg FLOAT§џ I negative part of the manipulated value to the process [fMinLimit ... 0] fOut FLOAT§џ" manipulated value to the process fOut_WithoutDeadband FLOAT§џ$ manipulated value without deadband bARWactive§џ# fOut reached the max or min limit bParameterChangeActive§џ$TRUE: parameter switching is active eState  E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џ error code bError§џ# TRUE if an error situation exists stParams !ST_CTRL_PID_EXT_SPLITRANGE_PARAMS§џ parameter struct XмJ€ џџџџFB_CTRL_PID_SPLITRANGE6stInternalParams ST_CTRL_PID_SPLITRANGE_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џeInternalParameterRecord E_CTRL_PARAMETER_RECORD§џeParameterRecord_old E_CTRL_PARAMETER_RECORD§џ init flag bFirstInit§џ bInitParameterChange§џ!bFirstCallAfterAStateChange§џ" discrete time coefficientsfD_I_r  FLOAT§џ%fC_D_r  FLOAT§џ&fD_D_r  FLOAT§џ'fKp_r  FLOAT§џ(fTd_r  FLOAT§џ)fTv_r  FLOAT§џ*bIPartEnabled_r §џ+bDPartEnabled_r §џ, fD_I_current FLOAT§џ/ fC_D_current FLOAT§џ0 fD_D_current FLOAT§џ1 fKp_current FLOAT§џ2 fTd_current FLOAT§џ3 fTv_current FLOAT§џ4bIPartEnabled_current§џ5bDPartEnabled_current§џ6 fIPartWeight  1FLOAT§џ7fSyncValueInternal FLOAT§џ8 fLimitValue FLOAT§џ9 internal vars fTaskCycleTime FLOAT§џ=fCtrlCycleTime FLOAT§џ>fHalfCtrlCycleTime FLOAT§џ? fTn_heating FLOAT§џ@ fTv_heating FLOAT§џA fTd_heating FLOAT§џB fTn_cooling FLOAT§џC fTv_cooling FLOAT§џD fTd_cooling FLOAT§џE internal state varsfE  0.0FLOAT§џIfE_1  0.0FLOAT§џJfY_P  0.0FLOAT§џKfY_I  0.0FLOAT§џLfY_I_1  0.0FLOAT§џMfY_D  0.0FLOAT§џNfY_D_1  0.0FLOAT§џOfY  0.0FLOAT§џPfY_1  0.0FLOAT§џQfActVal  0.0FLOAT§џR fActVal_1  0.0FLOAT§џS cycle counternCtrlCycleTicks§џW 1Tick ... 30000Ticks nActCtrlCycleTick§џX 1Tick ... 30000Ticks nParameterChangeCycleCounter§џY function block state vars eMode_old  E_CTRL_MODE§џ\ flags bMaxLimitReached§џ_bMinLimitReached§џ` bSyncRequest§џa internal FB's fbR_TRIG R_TRIG§џdfSetpointValue FLOAT§џ fActualValue FLOAT§џeParameterRecord E_CTRL_PARAMETER_RECORD§џ' number of the active parameter record fManSyncValue FLOAT§џ5 input value for the manual mode or the sync request bSync§џ1 rising edge set the output to the fManSyncValue eMode  E_CTRL_MODE§џ% sets the mode of the function block bHold§џ  hold the internal integrator fOutPos FLOAT§џ H positive part of the manipulated value to the process [0 .. fMaxLimit] fOutNeg FLOAT§џ I negative part of the manipulated value to the process [fMinLimit ... 0] fOut FLOAT§џ" manipulated value to the process bARWactive§џ# fOut reached the max or min limit bParameterChangeActive§џ$TRUE: parameter switching is active eState  E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џ error code bError§џ# TRUE if an error situation exists stParams ST_CTRL_PID_SPLITRANGE_PARAMS§џ parameter struct XмJ€ џџџџ FB_CTRL_PT1stInternalParams ST_CTRL_PT1_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џbFirstCallAfterAStateChange§џ discrete time coefficientsfD0 FLOAT§џfD1 FLOAT§џfC1 FLOAT§џ internal vars fTaskCycleTime FLOAT§џ!fCtrlCycleTime FLOAT§џ"fHalfCtrlCycleTime FLOAT§џ#fT1 FLOAT§џ$ sync bSyncRequest§џ'fSyncValueInternal FLOAT§џ( internal state varsfE  0.0FLOAT§џ+fE_1  0.0FLOAT§џ,fY  0.0FLOAT§џ-fY_1  0.0FLOAT§џ. cycle counternCtrlCycleTicks§џ1 1Tick ... 30000Ticks nActCtrlCycleTick§џ2 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ5 internal FB's fbR_TRIG R_TRIG§џ8fIn FLOAT§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џbHold§џfOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_PT1_PARAMS§џXмJ€ џџџџ FB_CTRL_PT2stInternalParams ST_CTRL_PT2_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џbFirstCallAfterAStateChange§џ discrete time coefficientsfD0 FLOAT§џfD1 FLOAT§џfD2 FLOAT§џfC1 FLOAT§џfC2 FLOAT§џ  internal vars fTaskCycleTime FLOAT§џ#fCtrlCycleTime FLOAT§џ$fHalfCtrlCycleTime FLOAT§џ%fT1 FLOAT§џ&fT2 FLOAT§џ'fSquareHalfCtrlCycleTime FLOAT§џ(fTempDenominator FLOAT§џ) internal state varsfE  0.0FLOAT§џ.fE_1  0.0FLOAT§џ/fE_2  0.0FLOAT§џ0fY  0.0FLOAT§џ1fY_1  0.0FLOAT§џ2fY_2  0.0FLOAT§џ3 cycle counternCtrlCycleTicks§џ6 1Tick ... 30000Ticks nActCtrlCycleTick§џ7 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ: internal FB's fIn FLOAT§џ fManValue FLOAT§џ bSync : BOOL;eMode  E_CTRL_MODE§џbHold§џfOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_PT2_PARAMS§џXмJ€ џџџџFB_CTRL_PT2OSCILLATIONstInternalParams ST_CTRL_PT2oscillation_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џbFirstCallAfterAStateChange§џ discrete time coefficientsfD0 FLOAT§џfD1 FLOAT§џfD2 FLOAT§џfC1 FLOAT§џfC2 FLOAT§џ  internal vars fTaskCycleTime FLOAT§џ#fCtrlCycleTime FLOAT§џ$fHalfCtrlCycleTime FLOAT§џ%fT0 FLOAT§џ&fTheta FLOAT§џ'fSquareHalfCtrlCycleTime FLOAT§џ(fTempDenominator FLOAT§џ) internal state varsfE  0.0FLOAT§џ.fE_1  0.0FLOAT§џ/fE_2  0.0FLOAT§џ0fY  0.0FLOAT§џ1fY_1  0.0FLOAT§џ2fY_2  0.0FLOAT§џ3 cycle counternCtrlCycleTicks§џ6 1Tick ... 30000Ticks nActCtrlCycleTick§џ7 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ: internal FB's fIn FLOAT§џ fManValue FLOAT§џ bSync : BOOL;eMode  E_CTRL_MODE§џbHold§џfOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_PT2oscillation_PARAMS§џXмJ€ џџџџ FB_CTRL_PT3#stInternalParams ST_CTRL_PT3_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џbFirstCallAfterAStateChange§џ discrete time coefficientsfD0 FLOAT§џfD1 FLOAT§џfD2 FLOAT§џfD3 FLOAT§џfC1 FLOAT§џ fC2 FLOAT§џ!fC3 FLOAT§џ" temp vars fTemp_a FLOAT§џ%fTemp_b FLOAT§џ&fTemp_c FLOAT§џ'fTemp_d FLOAT§џ(fTemp_e FLOAT§џ)fTemp_f FLOAT§џ* internal vars fTaskCycleTime FLOAT§џ-fCtrlCycleTime FLOAT§џ.fHalfCtrlCycleTime FLOAT§џ/fT1 FLOAT§џ0fT2 FLOAT§џ1fT3 FLOAT§џ2fTempDenominator FLOAT§џ3 internal state varsfE  0.0FLOAT§џ8fE_1  0.0FLOAT§џ9fE_2  0.0FLOAT§џ:fE_3  0.0FLOAT§џ;fY  0.0FLOAT§џ<fY_1  0.0FLOAT§џ=fY_2  0.0FLOAT§џ>fY_3  0.0FLOAT§џ? cycle counternCtrlCycleTicks§џB 1Tick ... 30000Ticks nActCtrlCycleTick§џC 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џF internal FB's fIn FLOAT§џ fManValue FLOAT§џ bSync : BOOL;eMode  E_CTRL_MODE§џbHold§џfOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_PT3_PARAMS§џXмJ€ џџџџ FB_CTRL_PTN nMaxOrder @§џ maximum system order stInternalParams ST_CTRL_PTn_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џbFirstCallAfterAStateChange§џ discrete time coefficientsfD0 FLOAT§џfD1 FLOAT§џ fC1 FLOAT§џ! internal vars nIdx§џ$fTaskCycleTime FLOAT§џ%fCtrlCycleTime FLOAT§џ&fHalfCtrlCycleTime FLOAT§џ'fT1 FLOAT§џ( internal state varsfE   FLOAT 0.0 §џ-fE_1   FLOAT 0.0 §џ.fY   FLOAT 0.0 §џ/fY_1   FLOAT 0.0 §џ0 cycle counternCtrlCycleTicks§џ3 1Tick ... 30000Ticks nActCtrlCycleTick§џ4 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ7 internal FB's fbR_TRIG R_TRIG§џ:fIn FLOAT§џ fManValue FLOAT§џ bSync : BOOL;eMode  E_CTRL_MODE§џbHold§џfOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_PTn_PARAMS§џXмJ€ џџџџ FB_CTRL_PTT nMaxIndexє@§џstInternalParams ST_CTRL_PTt_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ sync bSyncRequest§џfSyncValueInternal FLOAT§џ discrete time coefficientsfTaskCycleTime FLOAT§џ$fCtrlCycleTime FLOAT§џ%fTt FLOAT§џ&nCurrentInIndex§џ'nCurrentOutIndex§џ( nDeltaIndices§џ)nNecessaryTaskTicks§џ*n§џ+bClearArrayReady§џ, internal state varsfE_ є FLOAT 0.0є§џ0fY  0.0FLOAT§џ1 cycle counternCtrlCycleTicks§џ5 1Tick ... 30000Ticks nActCtrlCycleTick§џ6 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ9 internal FB's fbR_TRIG R_TRIG§џ<fIn FLOAT§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џfOut FLOAT§џ bSampleRateChanged§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_PTt_PARAMS§џXмJ€ џџџџFB_CTRL_PWM_OUT bFirstInit§џ bNewPeriod§џ nPwmCycleTicks§џ 1Tick ... 30000Ticks nPwmActCycleTick§џ< 1Tick ... 30000Ticks [nPwmActCycleTick <= nPwmCycleTicks] nPowerOnCycleTicks§џ 1Tick ... 30000Ticks nPowerOffCycleTicks§џ 1Tick ... 30000Ticks nPwmOutDirection§џfTaskCycleTime FLOAT§џ* controller cycle time in seconds [s] fPWMPeriod FLOAT§џ# PWM cycle time in seconds [s] stInternalParams ST_CTRL_PWM_OUT_PARAMS§џ& internal PWM parameter struct !stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ eMode_old  E_CTRL_MODE§џ fTemp FLOAT§џ! fPwmInput FLOAT§џ7 NEW: controller output = PMW input [-100.0 ... 100.0] eMode  E_CTRL_MODE§џ bPwmOutBitPos§џ PWM output bit bPwmOutBitNeg§џ PWM output bit eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_PWM_OUT_PARAMS§џ PWM parameter struct XмJ€ џџџџFB_CTRL_PWM_OUT_EXT bFirstInit§џ init ? stInternalParams ST_CTRL_PWM_OUT_EXT_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ bNewPeriod§џ fTaskCycleTime FLOAT§џ fPWMPeriod FLOAT§џnMinPwmOnTicks§џnMinPwmOffTicks§џnPwmCycleTicks§џ 1Tick ... 30000Ticks nPwmActCycleTick§џ< 1Tick ... 30000Ticks [nPwmActCycleTick <= nPwmCycleTicks] nPowerOnCycleTicks§џ 1Tick ... 30000Ticks nPowerOffCycleTicks§џ  1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ"fbTON_waitAfterPosOut TON§џ$fbTON_waitAfterNegOut TON§џ%bPwmOutBitPosWasSet§џ'bPwmOutBitNegWasSet§џ(fTemp FLOAT§џ) fPwmInput FLOAT§џ2 controller output = PMW input [-100.0 ... 100.0] eMode  E_CTRL_MODE§џ bPwmOutBitPos§џ  PWM output bit positive bPwmOutBitNeg§џ  PWM output bit negative bWaitTimeActive§џ  Wait time is active eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џbError§џstParams ST_CTRL_PWM_OUT_EXT_PARAMS§џXмJ€ џџџџFB_CTRL_RAMP_GENERATOR bFirstInit§џ init ? fLocal FLOAT§џ setpoint velocity [ 1/s ] fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џstInternalParams ST_CTRL_RAMP_GENERATOR_PARAMS§џ" internal parameter struct !stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ cycle counternCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ  1Tick ... 30000Ticks eState  E_CTRL_STATE§џ# eMode_old : E_CTRL_MODE;fbRTrig R_TRIG§џ'bEnable§џfStart FLOAT§џfTarget FLOAT§џ target value fOut FLOAT§џ fVeloOut FLOAT§џ bValueReached§џ eErrorId E_CTRL_ERRORCODES§џ bError§џstParams ST_CTRL_RAMP_GENERATOR_PARAMS§џ# RAMP_Generator parameter struct XмJ€ џџџџFB_CTRL_RAMP_GENERATOR_EXT fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џ fOutLocal FLOAT§џbGetStartValue§џstInternalParams !ST_CTRL_RAMP_GENERATOR_EXT_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ cycle counternCtrlCycleTicks§џ! 1Tick ... 30000Ticks nActCtrlCycleTick§џ" 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ% local FB instances bFirstInit§џ+ fStartValue FLOAT§џ fTargetValue FLOAT§џ target value fManValue FLOAT§џbHold§џeMode  E_CTRL_MODE§џ fOut FLOAT§џ fVeloOut FLOAT§џ bValueReached§џeState  E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џbError§џstParams !ST_CTRL_RAMP_GENERATOR_EXT_PARAMS§џ# RAMP_Generator parameter struct XмJ€ џџџџ FB_CTRL_SCALE bFirstInit§џfCtrlCycleTime FLOAT§џ 0.002s ... 60.0s fTaskCycleTime FLOAT§џ' controller cycle time in seconds [s] nCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks stInternalParams ST_CTRL_SCALE_PARAMS§џ" internal parameter struct !stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џeState  E_CTRL_STATE§џfSlope FLOAT§џfOffset FLOAT§џfIn FLOAT§џfOut FLOAT§џeErrorId E_CTRL_ERRORCODES§џbError§џstParams ST_CTRL_SCALE_PARAMS§џ  parameter struct XмJ€ џџџџFB_CTRL_SERVO_MOTOR_OUT' bFirstInit§џfCtrlCycleTime FLOAT§џ 0.002s ... 60.0s fTaskCycleTime FLOAT§џ' controller cycle time in seconds [s] nCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks fbR_TRIG_Sync R_TRIG§џ bSyncRequest§џfSyncValueInternal FLOAT§џbForceMovement§џfMinCtrtlDeltaToStartMovement FLOAT§џ nActCycleTicks§џ"fInLocal FLOAT§џ$fInOld FLOAT§џ% fMovingTime FLOAT§џ'tSignalExtension FLOAT§џ(fAdditionalMoveTimeAtLimits FLOAT§џ)nMovingCycleTicks§џ+nSignalExtensionCycleTicks§џ,nAdditionalMoveCycleTicks§џ-bMoveOnUpperLimitSwitch§џ/bMoveOnLowerLimitSwitch§џ0nRequestedInternalState§џ2nActualInternalState§џ3 nAdditionalMoveCycleTicksCounter§џ4bAdditionalMoveCycleTicksAcitve§џ5fbR_TRIG_LowerLimit R_TRIG§џ8fbF_TRIG_LowerLimit F_TRIG§џ9fbR_TRIG_UpperLimit R_TRIG§џ:fbF_TRIG_UpperLimit F_TRIG§џ;bOpen§џ=bClose§џ>fbTON_WaitAfterPos TON§џ@fbTON_WaitAfterNeg TON§џAstInternalParams ST_CTRL_SERVO_MOTOR_OUT_PARAMS§џC" internal parameter struct !stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џD eMode_old  E_CTRL_MODE§џF sync movement nSyncState§џI fbTON_Sync TON§џJW move on positive limit if nRequestedState >= nMovingCycleTicks * (1 - fSafetyFactor) fSafetyFactor  0.01FLOAT§џNfIn FLOAT§џ4 controller output = FB_CTRL_SERVO_MOTOR_OUT input bUpperLimitSwitch§џbLowerLimitSwitch§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џ bOutBitPos§џ  output bit pos bOutBitNeg§џ  output bit neg fActualState FLOAT§џ ) Actual state of the motor [ 0 ...100% ] eState  E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џbError§џstParams ST_CTRL_SERVO_MOTOR_OUT_PARAMS§џ parameter struct XмJ€ џџџџFB_CTRL_SERVO_MOTOR_SIMULATIONstInternalParams %ST_CTRL_SERVO_MOTOR_SIMULATION_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џ fMovingTime FLOAT§џ fDeltaPerTick FLOAT§џ! internal state varsfMotorPosInternal FLOAT§џ$ cycle counternCtrlCycleTicks§џ' 1Tick ... 30000Ticks nActCtrlCycleTick§џ( 1Tick ... 30000Ticks bSyncRequest§џ+fSyncValueInternal FLOAT§џ, function block state vars eMode_old  E_CTRL_MODE§џ/ internal FB's fbR_TRIG R_TRIG§џ2 fbTON_MovePos TON§џ3 fbTON_MoveNeg TON§џ4bMovePos§џbMoveNeg§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џ fMotorPositon FLOAT§џ ) [ fMovingRangeMin ... fMovingRangeMax ] fMotorState FLOAT§џ  [ 0 ... 100 ] bUpperLimitSwitch§џ bLowerLimitSwitch§џ eState  E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џbError§џstParams %ST_CTRL_SERVO_MOTOR_SIMULATION_PARAMS§џXмJ€ џџџџFB_CTRL_SETPOINT_GENERATORstInternalParams !ST_CTRL_SETPOINT_GENERATOR_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џnCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ init flag bFirstInit§џbStartUp§џnSetpointIndex_old§џ!nMaxTableElementNumber§џ"nRefElementSize§џ$ RefElement FLOAT§џ% fSetpoint FLOAT§џ' fSetpoint_old FLOAT§џ( pSetpointADR FLOAT§џ)fbCTRL_RAMP_GENERATOR FB_CTRL_RAMP_GENERATOR§џ+stRampGeneratorParams ST_CTRL_RAMP_GENERATOR_PARAMS§џ,nSetpointIndex§џ fManValue FLOAT§џeMode  E_CTRL_MODE§џfOut FLOAT§џ bValueReached§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams !ST_CTRL_SETPOINT_GENERATOR_PARAMS§џXмJ€ џџџџFB_CTRL_SIGNAL_GENERATOR stInternalParams ST_CTRL_SIGNAL_GENERATOR_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џfCycleDuration FLOAT§џ internal state vars fOutInternal FLOAT§џftime FLOAT§џftime_normalized FLOAT§џ cycle counternCtrlCycleTicks§џ" 1Tick ... 30000Ticks nActCtrlCycleTick§џ# 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ& internal FB's  fManValue FLOAT§џeMode  E_CTRL_MODE§џfOut FLOAT§џeState  E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_SIGNAL_GENERATOR_PARAMS§џ XмJ€ џџџџFB_CTRL_SPEED_ESTIMATIONstInternalParams ST_CTRL_SPEED_ESTIMATION_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џ eMode_old  E_CTRL_MODE§џ  cycle counternCtrlCycleTicks§џ# 1Tick ... 30000Ticks nActCtrlCycleTick§џ$ 1Tick ... 30000Ticks fbCTRL_PI % FB_CTRL_PI§џ( fbCTRL_PT1  FB_CTRL_PT1§џ)fbCTRL_I " FB_CTRL_I§џ*fbCTRL_CHECK_IF_IN_BAND FB_CTRL_CHECK_IF_IN_BAND§џ+fbR_TRIG R_TRIG§џ,fbTON TON§џ- params of the internal FB'S stCTRL_PI_Params ST_CTRL_PI_PARAMS§џ0stCTRL_PT1_PARAMS ST_CTRL_PT1_PARAMS§џ1stCTRL_I_PARAMS ST_CTRL_I_PARAMS§џ2stCTRL_CHECK_IF_IN_BAND_PARAMS ST_CTRL_CHECK_IF_IN_BAND_PARAMS§џ3fIn FLOAT§џ fManValue FLOAT§џeMode  E_CTRL_MODE§џ% sets the mode of the function block fOut FLOAT§џ fSpeed FLOAT§џ bInTheSpeedBand§џ bNotInTheSpeedBand§џ bSpeedAlarm§џ eState  E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џ error code bError§џ# TRUE if an error situation exists stParams ST_CTRL_SPEED_ESTIMATION_PARAMS§џ parameter struct XмJ€ џџџџFB_CTRL_SPLITRANGE bFirstInit§џfCtrlCycleTime FLOAT§џ 0.002s ... 60.0s fTaskCycleTime FLOAT§џ' controller cycle time in seconds [s] nCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks stInternalParams ST_CTRL_SPLITRANGE_PARAMS§џ" internal parameter struct !stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џeState  E_CTRL_STATE§џfIn FLOAT§џfOutPos FLOAT§џfOutNeg FLOAT§џbOutPosIsActive§џbOutNegIsActive§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams ST_CTRL_SPLITRANGE_PARAMS§џXмJ€ џџџџFB_CTRL_STEPPING_MOTOR_OUT bFirstInit§џfCtrlCycleTime FLOAT§џ 0.002s ... 60.0s fTaskCycleTime FLOAT§џ' controller cycle time in seconds [s] nCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ 1Tick ... 30000Ticks fbR_TRIG_Sync R_TRIG§џ bSyncRequest§џfSyncValueInternal FLOAT§џbForceMovement§џnTemp§џ nActCycleTicks§џ" nOnCycleTicks§џ# 1Tick ... 30000Ticks nOffCycleTicks§џ$ 1Tick ... 30000Ticks fOnTime FLOAT§џ%fOffTime FLOAT§џ&bMoveOnUpperLimitSwitch§џ(bMoveOnLowerLimitSwitch§џ)fbR_TRIG_PulseEnd R_TRIG§џ+fbF_TRIG_LowerLimit F_TRIG§џ,fbF_TRIG_UpperLimit F_TRIG§џ-nRequestedStep§џ/nRequestedInternalStep§џ0nActualInternalStep§џ1bOpen§џ4bClose§џ5stInternalParams !ST_CTRL_STEPPING_MOTOR_OUT_PARAMS§џ7" internal parameter struct !stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ8 eMode_old  E_CTRL_MODE§џ: sync movement nSyncState§џ=W move on positive limit if nRequestedState >= nMovingCycleTicks * (1 - fSafetyFactor) fSafetyFactor  0.01FLOAT§џAfIn FLOAT§џ/ controller output = STEPPING_MOTOR_OUT input bUpperLimitSwitch§џbLowerLimitSwitch§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џ bOutBitPos§џ  output bit pos bOutBitNeg§џ  output bit neg nActualStep§џ 6 Actual state of the motor [ 0 ... nMaxMovingPulses ] eState  E_CTRL_STATE§џeErrorId E_CTRL_ERRORCODES§џbError§џstParams !ST_CTRL_STEPPING_MOTOR_OUT_PARAMS§џ parameter struct XмJ€ џџџџFB_CTRL_TRANSFERFUNCTION_1 fSizeFLOATVar FLOAT§џ nSizeFLOATVar§џ tSizeTIMEVar§џ nSizeTIMEVar§џ Internal Variable fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џfHalfCtrlCycleTime FLOAT§џ bFirstInit§џ init ? stInternalParams !ST_CTRL_TRANSFERFUNCTION_1_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ bNewPeriod§џ nDeltaTicks§џ nOutputsToTurnOn§џ!nCtrlCycleTicks§џ# 1Tick ... 30000Ticks nActCtrlCycleTick§џ$ 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ&i§џ(pPointerToDATA_internal ST_CTRL_TRANSFERFUNCTION_2_DATA§џ+pPointerToDATA_internal_2 ST_CTRL_TRANSFERFUNCTION_2_DATA§џ,!pPointerToNumeratorArray_internal FLOAT§џ-#pPointerToNumeratorArray_internal_2 FLOAT§џ.#pPointerToDenominatorArray_internal FLOAT§џ/%pPointerToDenominatorArray_internal_2 FLOAT§џ0pPointerToINPUTS_internal FLOAT§џ1nSizeOfDataStruct§џ3 := 52;nOffset§џ4fTemp FLOAT§џ5fIn FLOAT§џeMode  E_CTRL_MODE§џfOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams !ST_CTRL_TRANSFERFUNCTION_1_PARAMS§џXмJ€ џџџџFB_CTRL_TRANSFERFUNCTION_2 fSizeFLOATVar FLOAT§џ nSizeFLOATVar§џ Internal Variable fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џfHalfCtrlCycleTime FLOAT§џ bFirstInit§џ init ? stInternalParams !ST_CTRL_TRANSFERFUNCTION_2_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џnCtrlCycleTicks§џ 1Tick ... 30000Ticks nActCtrlCycleTick§џ  1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ"i§џ$pPointerToDATA_internal ST_CTRL_TRANSFERFUNCTION_2_DATA§џ'pPointerToDATA_internal_2 ST_CTRL_TRANSFERFUNCTION_2_DATA§џ(!pPointerToNumeratorArray_internal FLOAT§џ)#pPointerToNumeratorArray_internal_2 FLOAT§џ*#pPointerToDenominatorArray_internal FLOAT§џ+%pPointerToDenominatorArray_internal_2 FLOAT§џ,pPointerToINPUTS_internal FLOAT§џ-nSizeOfDataStruct§џ/ := 52;nOffset§џ0fIn FLOAT§џ fManValue FLOAT§џeMode  E_CTRL_MODE§џfOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џstParams !ST_CTRL_TRANSFERFUNCTION_2_PARAMS§џXмJ€ џџџџ FB_CTRL_TUTG nMaxIndexє@§џstInternalParams ST_CTRL_TuTg_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ sync bSyncRequest§џfSyncValueInternal FLOAT§џ  discrete time coefficientsfD0 FLOAT§џ#fD1 FLOAT§џ$fC1 FLOAT§џ% internal vars fTaskCycleTime FLOAT§џ(fCtrlCycleTime FLOAT§џ)fHalfCtrlCycleTime FLOAT§џ*fTg FLOAT§џ+fTu FLOAT§џ-fTt_Out FLOAT§џ.nCurrentInIndex§џ/nCurrentOutIndex§џ0 nDeltaIndices§џ1nNecessaryTaskTicks§џ2n§џ3bClearArrayReady§џ4fE_ є FLOAT 0.0є§џ8 internal state varsfE  0.0FLOAT§џ<fE_1  0.0FLOAT§џ=fY  0.0FLOAT§џ>fY_1  0.0FLOAT§џ? cycle counternCtrlCycleTicks_PT1§џB 1Tick ... 30000Ticks nActCtrlCycleTick_PT1§џC 1Tick ... 30000Ticks nCtrlCycleTicks_Tt§џD 1Tick ... 30000Ticks nActCtrlCycleTick_Tt§џE 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џH internal FB's fbR_TRIG R_TRIG§џKfIn FLOAT§џ fManSyncValue FLOAT§џbSync§џeMode  E_CTRL_MODE§џbHold§џfOut FLOAT§џ bSampleRateChanged§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џstParams ST_CTRL_TuTg_PARAMS§џXмJ€ џџџџFB_CTRL_ZERO_ZONE_DAMPING stInternalParams  ST_CTRL_ZERO_ZONE_DAMPING_PARAMS§џ!stInternalCycleTimeInterpretation !ST_CTRL_CYCLE_TIME_INTERPRETATION§џ init flag bFirstInit§џ internal vars fTaskCycleTime FLOAT§џfCtrlCycleTime FLOAT§џfx FLOAT§џfTanh_x FLOAT§џfy FLOAT§џ cycle counternCtrlCycleTicks§џ" 1Tick ... 30000Ticks nActCtrlCycleTick§џ# 1Tick ... 30000Ticks eMode_old  E_CTRL_MODE§џ&fSetpointValue FLOAT§џ fActualValue FLOAT§џeMode  E_CTRL_MODE§џfSetpointValueOut FLOAT§џfActualValueOut FLOAT§џ eState  E_CTRL_STATE§џ eErrorId E_CTRL_ERRORCODES§џ bError§џ stParams  ST_CTRL_ZERO_ZONE_DAMPING_PARAMS§џXмJ€ џџџџqC:\TWINCAT\PLC\LIB\STANDARD.LIB@CONCATSTR1§џSTR2§џCONCATФн66€џџџџCTDM§џ Variable for CD Edge DetectionCD§џ Count Down on rising edge LOAD§џ Load Start Value PV§џ Start Value Q§џ  Counter reached 0 CV§џ  Current Counter Value Фн66€џџџџCTUM§џ Variable for CU Edge Detection CU§џ Count Up RESET§џ Reset Counter to 0 PV§џ Counter Limit Q§џ  Counter reached the Limit CV§џ  Current Counter Value Фн66€џџџџCTUDMU§џ Variable for CU Edge Detection MD§џ Variable for CD Edge Detection CU§џ Count Up CD§џ Count Down RESET§џ  Reset Counter to Null LOAD§џ  Load Start Value PV§џ  Start Value / Counter Limit QU§џ Counter reached Limit QD§џ Counter reached Null CV§џ Current Counter Value Фн66€џџџџDELETESTR§џLEN§џPOS§џDELETEФн66€џџџџF_TRIGM§џ CLK§џ Signal to detect Q§џ Edge detected Фн66€џџџџFINDSTR1§џSTR2§џFINDФн66€џџџџINSERTSTR1§џSTR2§џPOS§џINSERTФн66€џџџџLEFTSTR§џSIZE§џLEFTФн66€џџџџLENSTR§џLENФн66€џџџџMIDSTR§џLEN§џPOS§џMIDФн66€џџџџR_TRIGM§џ CLK§џ Signal to detect Q§џ Edge detected Фн66€џџџџREPLACESTR1§џSTR2§џL§џP§џREPLACEФн66€џџџџRIGHTSTR§џSIZE§џRIGHTФн66€џџџџRSSET§џRESET1§џQ1§џ Фн66€џџџџSEMAX§џCLAIM§џ RELEASE§џ BUSY§џ Фн66€џџџџSRSET1§џRESET§џQ1§џ Фн66€џџџџTOFM§џ  internal variable StartTime§џ internal variable IN§џ? starts timer with falling edge, resets timer with rising edge PT§џ time to pass, before Q is set Q§џ 2 is FALSE, PT seconds after IN had a falling edge ET§џ  elapsed time Фн66€џџџџTONM§џ  internal variable StartTime§џ internal variable IN§џ? starts timer with rising edge, resets timer with falling edge PT§џ time to pass, before Q is set Q§џ 0 is TRUE, PT seconds after IN had a rising edge ET§џ  elapsed time Фн66€џџџџTP StartTime§џ  internal variable IN§џ! Trigger for Start of the Signal PT§џ' The length of the High-Signal in 10ms Q§џ The pulse ET§џ & The current phase of the High-Signal Фн66€џџџџR@MAIN fSetpointGen FLOAT}fSetpointConst  50FLOAT}fSetpointValue  50FLOAT} fActualValue  10FLOAT} fManSyncValue  50FLOAT}bSync}fOut_PI FLOAT} bHold} stCTRL_PI_PARAMS ST_CTRL_PI_PARAMS} eErrorId E_CTRL_ERRORCODES}bError} bARWactive}bMode} hardware hwIn} hwInFix16 T_FIX16}hwOut } hwOutFix16 T_FIX16} controller fbCTRL_PI % FB_CTRL_PI}bInit} fbTON : TON; stCTRL_GEN_PARAMS ST_CTRL_SIGNAL_GENERATOR_PARAMS}" fbCTRL_GEN FB_CTRL_SIGNAL_GENERATOR}# eSinState  E_CTRL_STATE}$eGenMode  E_CTRL_MODE}% eSinErrorId E_CTRL_ERRORCODES}& bSinError}'§геI@џџџџ ї §џџџ}(`ОKnОK|ОKŠОKŸОЌО+КЛlocalhostуТСw *љ@№pлн”\Тwp РwџџџџуТСw>7ќћ*љ@џџ*љ@(РU@мЈПU\еЈПUАПUЊ”№јеџџеќйdмHмю|№‘|џџџџы‘|ќћ*љ@ќћ*љ@Ф)пЈSHџџџџнФ)пРSHџџџџнmво,,K@КгеIР/*BECKCONFI3*/ !=Ш@@€€3 Standard J‡гNVAR_GLOBAL END_VAR ",ж+Standard MAINџџџџџџџџ§геI$ћџџџt_S_P :=иJјIРK`LStandard>3I >3IhVшVXWШW §геIANPE :9,VAR_CONFIG END_VAR ',„ЎDМGlobal_VariablesКгеI КгеIT іVAR_GLOBAL END_VAR 'yod= LS TwinCAT_ConfigurationКгеI §геIyn nvts s‚(* Generated automatically by TwinCAT - (read only) *) VAR_CONFIG MAIN.hwIn AT %IB0 : INT; MAIN.hwOut AT %QB0 : INT; END_VAR' ,šЫZйVariable_ConfigurationКгеI КгеI eVAR_CONFIG END_VAR K|0|0@A@MS Sans Serif@ѓџџџХџџџџЬ3џџџџџџџDEFAULTSystemK|0|0@A@MS Sans Serif@ѓџџџ HH':'mm':'ssdd'-'MM'-'yyyy'},n‘.ŸMAIN§геI §геIи }PROGRAM MAIN VAR fSetpointGen : FLOAT; fSetpointConst : FLOAT := 50; fSetpointValue : FLOAT := 50; fActualValue : FLOAT := 10; fManSyncValue : FLOAT := 50; bSync : BOOL; fOut_PI : FLOAT; bHold : BOOL; stCTRL_PI_PARAMS : ST_CTRL_PI_PARAMS; eErrorId : E_CTRL_ERRORCODES; bError : BOOL; bARWactive : BOOL; bMode : BOOL := FALSE; (* hardware *) hwIn AT%I* : INT := 0; hwInFix16 :T_FIX16; hwOut AT%Q* : INT := 0; hwOutFix16 :T_FIX16; (* controller *) fbCTRL_PI : FB_CTRL_PI; bInit : BOOL := TRUE; (* fbTON : TON; *) (* SP generator *) stCTRL_GEN_PARAMS : ST_CTRL_SIGNAL_GENERATOR_PARAMS; fbCTRL_GEN : FB_CTRL_SIGNAL_GENERATOR; eSinState : E_CTRL_STATE; eGenMode : E_CTRL_MODE; eSinErrorId : E_CTRL_ERRORCODES; bSinError : BOOL; END_VAR \ (* Regulator PI dla obiektu cieplnego *) IF bInit THEN (* konfiguracja bloku regulatora FB_CTRL_PI *) stCTRL_PI_PARAMS.tCtrlCycleTime := T#10ms; stCTRL_PI_PARAMS.tTaskCycleTime := T#10ms; stCTRL_PI_PARAMS.tTn := T#130s; (* TUTAJ WSTAWIC wyliczone Ti *) stCTRL_PI_PARAMS.fKp := 11; (* TUTAJ WSTAWIC wyliczone Kp *) stCTRL_PI_PARAMS.fOutMaxLimit := 100; (* gorne ograniczenie wyjscia *) stCTRL_PI_PARAMS.fOutMinLimit := 0; (* dolne ograniczenie wyjscia *) (* konfiguracja generatora sygnalowego FB_CTRL_SIGNAL_GENERATOR *) stCTRL_GEN_PARAMS.tCtrlCycleTime := T#10ms; stCTRL_GEN_PARAMS.tTaskCycleTime := T#10ms; stCTRL_GEN_PARAMS.eSignalType := eCTRL_SINUS; (* wybor rodzaju przebiegu, wybrac odpowiednio: eCTRL_SINUS lub eCTRL_TRAINGLE *) stCTRL_GEN_PARAMS.fAmplitude := 15; (* amplituda *) stCTRL_GEN_PARAMS.fOffset := fSetpointConst; (* offset - skladowa stala *) stCTRL_GEN_PARAMS.tCylceDuration := T#300s; (* okres przebiegu *) stCTRL_GEN_PARAMS.tStart := T#0s; (* faza poczЙtkowa, odniesiona do okresu *) (* flaga inicjujaca - zerowana, aby inicjalizacja wykonana zostala jednorazowo *) bInit := FALSE; END_IF (* fbTON ( IN := TRUE, PT := T#6s ); IF fbTON.Q THEN fbTON ( IN := FALSE ); fSetpointValue := -1.0 * fSetpointValue; END_IF *) IF bMode THEN fSetpointValue := fSetpointGen; eGenMode := eCTRL_MODE_ACTIVE; ELSE fSetpointValue := fSetpointConst; eGenMode := eCTRL_MODE_MANUAL; END_IF (* *) fbCTRL_GEN ( fManValue := fSetpointConst, eMode := eGenMode, stParams := stCTRL_GEN_PARAMS, fOut => fSetpointGen, eState => eSinState, eErrorId => eSinErrorId, bError => bSinError ); hwInFix16.value := hwIn; hwInFix16.n := 0; fActualValue := 100.0 / 16#7FFF * FIX16_TO_LREAL(hwInFix16); (* call controller *) fbCTRL_PI( fSetpointValue := fSetpointValue, fActualValue := fActualValue, fManSyncValue := fManSyncValue, bSync := bSync, eMode := eCTRL_MODE_ACTIVE, bHold := bHold, stParams := stCTRL_PI_PARAMS, fOut => fOut_PI, bARWactive => bARWactive, eErrorId => eErrorId, bError => bError ); hwOutFix16 := LREAL_TO_FIX16(fOut_PI * 16#7FFF / 100.0, 0); hwOut := hwOutFix16.value; §џџџ,Ашpі&TcUtilities.lib 31.1.11 13:11:32@єІFM!TcBase.lib 14.5.09 11:14:08@№ю J#TcSystem.lib 18.2.11 16:15:48@$^M%TcFloatPC.lib 19.10.09 10:19:54@:/мJ/TcControllerToolbox.lib 19.10.09 09:34:00@x$мJ"STANDARD.LIB 5.6.98 11:03:02@VТw5пARG_TO_CSVFIELD@> ADSDATATYPEIDE_AmsLoggerMode E_ArgType E_DbgContextE_DbgDirection E_EnumCmdTypeE_FileRBufferCmdE_HashPrefixTypes E_MIB_IF_TypeE_NumGroupTypesE_PersistentModeE_PrefixFlagParamE_RegValueTypeE_RouteTransportType E_SBCSTypeE_ScopeServerState E_TimeZoneIDE_TypeFieldParamE_UTILITIES_ERRORCODESOTSTRUCTPROFILERSTRUCTREMOTEPCREMOTEPCINFOSTRUCTROUTERINFOSTRUCTST_AmsGetTimeZoneInformationST_AmsLoggerReqST_AmsRouteEntryST_AmsRouteEntryHeadST_AmsRouteSystemEntryST_DeviceIdentificationST_DeviceIdentificationExST_FileAttributesST_FileRBufferHeadST_FindFileEntryST_FindFileSystemEntryST_FormatParametersST_HKeySrvReadST_HKeySrvWriteST_IP_ADAPTER_INFOST_IP_ADDR_STRINGST_IPAdapterHwAddrST_IPAdapterInfo ST_SBCSTable#ST_ScopeServerRecordModeDescriptionST_TcRouterStatusInfoST_TimeZoneInformationSTARTPROC_BUFFERSYMINFO_BUFFER SYMINFOSTRUCTT_Arg T_FILETIMET_FIX16 T_FloatRecT_HashTableEntry T_HHASHTABLE T_HLINKEDLISTT_HUGE_INTEGERT_LARGE_INTEGERT_LinkedListEntryT_UHUGE_INTEGERT_ULARGE_INTEGER TIMESTRUCTBCD_TO_DEC@BE128_TO_HOST@BE16_TO_HOST@BE32_TO_HOST@BE64_TO_HOST@BYTEARR_TO_MAXSTRING@CSVFIELD_TO_ARG@CSVFIELD_TO_STRING@DATA_TO_HEXSTR@DCF77_TIME@DCF77_TIME_EX@DEC_TO_BCD@DEG_TO_RAD@DINT_TO_DECSTR@DT_TO_FILETIME@DT_TO_SYSTEMTIME@DWORD_TO_BINSTR@DWORD_TO_DECSTR@DWORD_TO_HEXSTR@DWORD_TO_OCTSTR@F_ARGCMP@F_ARGCPY@F_ARGIsZero@F_BIGTYPE@ F_BOOL@ F_BYTE@F_BYTE_TO_CRC16_CCITT@F_CheckSum16@F_CRC16_CCITT@F_CreateHashTableHnd@F_CreateLinkedListHnd@F_DATA_TO_CRC16_CCITT@ F_DINT@ F_DWORD@F_FormatArgToStr@F_GetDayOfWeek@F_GetDOYOfYearMonthDay@F_GetFloatRec@F_GetMaxMonthDays@F_GetMonthOfDOY@F_GetVersionTcUtilities@F_GetWeekOfTheYear@ F_HUGE@ F_INT@ F_LARGE@ F_LREAL@ F_LTrim@ F_REAL@ F_RTrim@ F_SINT@F_STRING@F_SwapReal@F_SwapRealEx@F_ToLCase@F_ToUCase@ F_UDINT@ F_UHUGE@ F_UINT@F_ULARGE@ F_USINT@ F_WORD@F_YearIsLeapYear@FB_AddRouteEntry@FB_AmsLogger@FB_BasicPID@FB_BufferedTextFileWriter@'FB_BufferedTextFileWriter.A_Reset@FB_ConnectScopeServer@FB_CSVMemBufferReader@FB_CSVMemBufferWriter@FB_DbgOutputCtrl@FB_DbgOutputCtrl.A_Log@FB_DbgOutputCtrl.A_LogHex@FB_DbgOutputCtrl.A_Reset@FB_DisconnectScopeServer@FB_EnumFindFileEntry@FB_EnumFindFileList@FB_EnumRouteEntry@FB_EnumStringNumbers@FB_FileRingBuffer@!FB_FileRingBuffer.A_AddTail@FB_FileRingBuffer.A_Close@ FB_FileRingBuffer.A_Create@!FB_FileRingBuffer.A_GetHead@FB_FileRingBuffer.A_Open@$FB_FileRingBuffer.A_RemoveHead@FB_FileRingBuffer.A_Reset@FB_FormatString@FB_GetAdaptersInfo@ FB_GetDeviceIdentification@"FB_GetDeviceIdentificationEx@FB_GetHostAddrByName@FB_GetHostName@FB_GetLocalAmsNetId@FB_GetRouterStatusInfo@FB_GetTimeZoneInformation@FB_HashTableCtrl@FB_HashTableCtrl.A_Add@!FB_HashTableCtrl.A_GetFirst@)FB_HashTableCtrl.A_GetIndexAtPosPtr@ FB_HashTableCtrl.A_GetNext@FB_HashTableCtrl.A_Lookup@FB_HashTableCtrl.A_Remove@"FB_HashTableCtrl.A_RemoveAll@$FB_HashTableCtrl.A_RemoveFirst@FB_HashTableCtrl.A_Reset@FB_LinkedListCtrl@&FB_LinkedListCtrl.A_AddHeadValue@&FB_LinkedListCtrl.A_AddTailValue@"FB_LinkedListCtrl.A_FindNext@"FB_LinkedListCtrl.A_FindPrev@!FB_LinkedListCtrl.A_GetHead@*FB_LinkedListCtrl.A_GetIndexAtPosPtr@!FB_LinkedListCtrl.A_GetNext@!FB_LinkedListCtrl.A_GetPrev@!FB_LinkedListCtrl.A_GetTail@)FB_LinkedListCtrl.A_RemoveHeadValue@)FB_LinkedListCtrl.A_RemoveTailValue@-FB_LinkedListCtrl.A_RemoveValueAtPosPtr@FB_LinkedListCtrl.A_Reset@*FB_LinkedListCtrl.A_SetValueAtPosPtr@FB_LocalSystemTime@FB_MemBufferMerge@FB_MemBufferSplit@FB_MemRingBuffer@ FB_MemRingBuffer.A_AddTail@ FB_MemRingBuffer.A_GetHead@#FB_MemRingBuffer.A_RemoveHead@FB_MemRingBuffer.A_Reset@FB_MemRingBufferEx@"FB_MemRingBufferEx.A_AddTail@#FB_MemRingBufferEx.A_FreeHead@&FB_MemRingBufferEx.A_GetFreeSize@"FB_MemRingBufferEx.A_GetHead@ FB_MemRingBufferEx.A_Reset@FB_RegQueryValue@FB_RegSetValue@FB_RemoveRouteEntry@ FB_ResetScopeServerControl@FB_SaveScopeServerData@FB_ScopeServerControl@FB_SetTimeZoneInformation@FB_StartScopeServer@FB_StopScopeServer@FB_StringRingBuffer@#FB_StringRingBuffer.A_AddTail@#FB_StringRingBuffer.A_GetHead@&FB_StringRingBuffer.A_RemoveHead@!FB_StringRingBuffer.A_Reset@FB_TextFileRingBuffer@%FB_TextFileRingBuffer.A_AddTail@#FB_TextFileRingBuffer.A_Close@"FB_TextFileRingBuffer.A_Open@#FB_TextFileRingBuffer.A_Reset@FB_WritePersistentData@FILETIME_TO_DT@FILETIME_TO_SYSTEMTIME@FIX16_TO_LREAL@FIX16_TO_WORD@FIX16Add@FIX16Align@FIX16Div@FIX16Mul@FIX16Sub@GetRemotePCInfo@HEXSTR_TO_DATA@HOST_TO_BE128@HOST_TO_BE16@HOST_TO_BE32@HOST_TO_BE64@INT64_TO_LREAL@Int64Add64@Int64Add64Ex@Int64Cmp64@Int64Div64Ex@Int64IsZero@Int64Negate@Int64Not@Int64Sub64@IsFinite@LARGE_INTEGER@LARGE_TO_ULARGE@LREAL_TO_FIX16@LREAL_TO_FMTSTR@LREAL_TO_INT64@LREAL_TO_UINT64@MAXSTRING_TO_BYTEARR@NT_AbortShutdown@NT_GetTime@NT_Reboot@NT_SetLocalTime@NT_SetTimeToRTCTime@NT_Shutdown@NT_StartProcess@OTSTRUCT_TO_TIME@PBOOL_TO_BOOL@PBYTE_TO_BYTE@PDATE_TO_DATE@PDINT_TO_DINT@PDT_TO_DT@PDWORD_TO_DWORD@PHUGE_TO_HUGE@PINT_TO_INT@PLARGE_TO_LARGE@PLC_ReadSymInfo@PLC_ReadSymInfoByName@PLC_ReadSymInfoByNameEx@PLC_Reset@PLC_Start@PLC_Stop@PLREAL_TO_LREAL@PMAXSTRING_TO_MAXSTRING@PREAL_TO_REAL@Profiler@PSINT_TO_SINT@PSTRING_TO_STRING@PTIME_TO_TIME@PTOD_TO_TOD@PUDINT_TO_UDINT@PUHUGE_TO_UHUGE@PUINT_TO_UINT@PUINT64_TO_UINT64@PULARGE_TO_ULARGE@PUSINT_TO_USINT@PWORD_TO_WORD@RAD_TO_DEG@ROUTETRANSPORT_TO_STRING@ RTC@ RTC_EX@ RTC_EX2@ScopeASCIIExport@ScopeExit@ScopeGetRecordLen@ScopeGetState@ScopeLoadFile@ScopeManualTrigger@ScopeSaveAs@ScopeSetOffline@ScopeSetOnline@ScopeSetRecordLen@ScopeViewExport@STRING_TO_CSVFIELD@STRING_TO_SYSTEMTIME@STRING_TO_UINT64@SYSTEMTIME_TO_DT@SYSTEMTIME_TO_FILETIME@SYSTEMTIME_TO_STRING@TC_Config@TC_CpuUsage@TC_Restart@ TC_Stop@TC_SysLatency@TIME_TO_OTSTRUCT@UInt32x32To64@UINT64_TO_LREAL@UINT64_TO_STRING@UInt64Add64@UInt64Add64Ex@UInt64And@UInt64Cmp64@UInt64Div16Ex@UInt64Div64@UInt64Div64Ex@UInt64isZero@UInt64Limit@UInt64Max@UInt64Min@UInt64Mod64@UInt64Mul64@UInt64Mul64Ex@UInt64Not@UInt64Or@UInt64Rol@UInt64Ror@UInt64Shl@UInt64Shr@UInt64Sub64@UInt64Xor@ULARGE_INTEGER@ULARGE_TO_LARGE@WORD_TO_FIX16@WritePersistentData@Global_Variables@zFW_AdsClearEvents@ FW_NoOfByteFW_SystemInfoTypeFW_SystemTaskInfoType FW_TcEventFW_AdsLogDINT@FW_AdsLogEvent@FW_AdsLogLREAL@FW_AdsLogSTR@FW_AdsRdWrt@FW_AdsRdWrtInd@FW_AdsRdWrtRes@FW_AdsRead@FW_AdsReadDeviceInfo@FW_AdsReadInd@FW_AdsReadRes@FW_AdsReadState@FW_AdsWrite@FW_AdsWriteControl@FW_AdsWriteInd@FW_AdsWriteRes@FW_DRand@FW_GetCpuAccount@FW_GetCpuCounter@FW_GetCurTaskIndex@FW_GetSystemTime@FW_GetVersionTcBase@FW_LptSignal@FW_MemCmp@FW_MemCpy@FW_MemMove@FW_MemSet@FW_PortRead@FW_PortWrite@O,ADSCLEAREVENTS@E_IOAccessSize E_OpenPath E_SeekOriginE_TcEventClassE_TcEventClearModesE_TcEventPriorityE_TcEventStreamTypeExpressionResult SFCActionType SFCStepTypeST_AdsBaDevApiHeadST_AdsBaDevApiIoCtlModifierST_AdsBaDevApiReq ST_AmsAddrSYSTEMINFOTYPESYSTEMTASKINFOTYPE T_AmsNetId T_AmsNetIdArr T_AmsPort T_IPv4Addr T_IPv4AddrArr T_MaxStringT_U64KAFFINITYTcEventADSLOGDINT@ADSLOGEVENT@ADSLOGLREAL@ADSLOGSTR@ADSRDDEVINFO@ADSRDSTATE@ADSRDWRT@ADSRDWRTEX@ADSRDWRTIND@ADSRDWRTRES@ ADSREAD@ADSREADEX@ADSREADIND@ADSREADRES@ADSWRITE@ADSWRITEIND@ADSWRITERES@ADSWRTCTL@AnalyzeExpression@AnalyzeExpressionCombined@AnalyzeExpressionTable@AppendErrorString@BAVERSION_TO_DWORD@CLEARBIT32@CSETBIT32@ DRAND@F_CompareFwVersion@F_CreateAmsNetId@F_CreateIPv4Addr@F_GetVersionTcSystem@F_IOPortRead@F_IOPortWrite@F_ScanAmsNetIds@F_ScanIPv4AddrIds@F_SplitPathName@ F_ToASC@ F_ToCHR@FB_BaDeviceIoControl@FB_BaGenGetVersion@FB_CreateDir@ FB_EOF@FB_FileClose@FB_FileDelete@FB_FileGets@FB_FileOpen@FB_FilePuts@FB_FileRead@FB_FileRename@FB_FileSeek@FB_FileTell@FB_FileWrite@FB_PcWatchdog@FB_RemoveDir@FB_SimpleAdsLogEvent@FILECLOSE@FILEOPEN@FILEREAD@FILESEEK@FILEWRITE@FW_CallGenericFb@FW_CallGenericFun@GETBIT32@GETCPUACCOUNT@GETCPUCOUNTER@GETCURTASKINDEX@GETSYSTEMTIME@GETTASKTIME@LPTSIGNAL@ MEMCMP@ MEMCPY@ MEMMOVE@ MEMSET@ ROL32@ ROR32@SETBIT32@SFCActionControl@ SHL32@ SHR32@Global_Variables@(BOOL_TO_FLOAT@FLOATDINT_TO_FLOAT@F_GetVersionTcFloatPC@FLOAT_TO_BOOL@FLOAT_TO_DINT@FLOAT_TO_INT@FLOAT_TO_SINT@FLOAT_TO_STRING@FLOAT_TO_TIME@FLOAT_TO_UDINT@FLOAT_TO_UINT@FLOATIsFinite@INT_TO_FLOAT@SINT_TO_FLOAT@TIME_TO_FLOAT@UDINT_TO_FLOAT@UINT_TO_FLOAT@Global_Variables@Ы? F_CTRL_SET_CYCLE_TIMES@LE_CTRL_ERRORCODES E_CTRL_MODEE_CTRL_NEW_PARAMETER_TYPEE_CTRL_PARAMETER_RECORDE_CTRL_SIGNAL_TYPE E_CTRL_STATE LOGGER_DATAnPOINT_CTRL_TABLE_ELEMENTST_CTRL_2POINT_PARAMS"ST_CTRL_2POINT_PWM_ADAPTIVE_PARAMSST_CTRL_3PHASE_SETPOINT_GEN_RTT!ST_CTRL_3PHASE_SETPOINT_GEN_STATE(ST_CTRL_3PHASE_SETPOINT_GENERATOR_PARAMSST_CTRL_3POINT_EXT_PARAMSST_CTRL_3POINT_PARAMS"ST_CTRL_ACTUAL_VALUE_FILTER_PARAMSST_CTRL_ARITHMETIC_MEAN_PARAMSST_CTRL_CHECK_IF_IN_BAND_PARAMS!ST_CTRL_CYCLE_TIME_INTERPRETATIONST_CTRL_D_PARAMSST_CTRL_DEADBAND_PARAMSST_CTRL_DIGITAL_FILTER_DATAST_CTRL_DIGITAL_FILTER_PARAMS%ST_CTRL_FLOW_TEMP_SETPOINT_GEN_PARAMSST_CTRL_GET_SYSTEM_TIME_PARAMSST_CTRL_HYSTERESIS_PARAMSST_CTRL_I_PARAMS'ST_CTRL_I_WITH_DRIFTCOMPENSATION_PARAMSST_CTRL_LEAD_LAG_PARAMSST_CTRL_LIMITER_PARAMS ST_CTRL_LIN_INTERPOLATION_PARAMSST_CTRL_LOG_DATA_PARAMSST_CTRL_LOG_MAT_FILE_PARAMSST_CTRL_LOOP_SCHEDULER_PARAMSST_CTRL_MOVING_AVERAGE_PARAMSST_CTRL_MULTIPLE_PWM_OUT_DATA ST_CTRL_MULTIPLE_PWM_OUT_OUTPUTSST_CTRL_MULTIPLE_PWM_OUT_PARAMSST_CTRL_MULTIPLE_PWM_OUT_TIMESST_CTRL_NOISE_GENERATOR_PARAMSST_CTRL_NORMALIZE_PARAMSST_CTRL_NOTCH_FILTER_PARAMSST_CTRL_nPOINT_PARAMSST_CTRL_P_PARAMSST_CTRL_PARAMETER_SWITCH_PARAMSST_CTRL_PI_PARAMSST_CTRL_PI_PID_PARAMSST_CTRL_PID_EXT_PARAMS!ST_CTRL_PID_EXT_SPLITRANGE_PARAMSST_CTRL_PID_PARAMSST_CTRL_PID_SPLITRANGE_PARAMSST_CTRL_PT1_PARAMSST_CTRL_PT2_PARAMSST_CTRL_PT2oscillation_PARAMSST_CTRL_PT3_PARAMSST_CTRL_PTn_PARAMSST_CTRL_PTt_PARAMSST_CTRL_PWM_OUT_EXT_PARAMSST_CTRL_PWM_OUT_PARAMS!ST_CTRL_RAMP_GENERATOR_EXT_PARAMSST_CTRL_RAMP_GENERATOR_PARAMSST_CTRL_SCALE_PARAMSST_CTRL_SERVO_MOTOR_OUT_PARAMS%ST_CTRL_SERVO_MOTOR_SIMULATION_PARAMS!ST_CTRL_SETPOINT_GENERATOR_PARAMSST_CTRL_SIGNAL_GENERATOR_PARAMSST_CTRL_SPEED_ESTIMATION_PARAMSST_CTRL_SPLITRANGE_PARAMS!ST_CTRL_STEPPING_MOTOR_OUT_PARAMSST_CTRL_TRANSFERFUNCTION_1_DATA!ST_CTRL_TRANSFERFUNCTION_1_PARAMSST_CTRL_TRANSFERFUNCTION_2_DATA!ST_CTRL_TRANSFERFUNCTION_2_PARAMSST_CTRL_TuTg_PARAMS ST_CTRL_ZERO_ZONE_DAMPING_PARAMST_CTRL_LOGGER_DATA%F_GetVersionTcControllerToolbox@FB_CTRL_2POINT@FB_CTRL_2POINT.M_Active@FB_CTRL_2POINT.M_Error@FB_CTRL_2POINT.M_Init@FB_CTRL_2POINT.M_Manual@FB_CTRL_2POINT.M_Passive@FB_CTRL_2POINT.M_Reset@"FB_CTRL_2POINT.M_StateChange@!FB_CTRL_2POINT_PWM_ADAPTIVE@*FB_CTRL_2POINT_PWM_ADAPTIVE.M_Active@)FB_CTRL_2POINT_PWM_ADAPTIVE.M_Error@(FB_CTRL_2POINT_PWM_ADAPTIVE.M_Init@*FB_CTRL_2POINT_PWM_ADAPTIVE.M_Manual@+FB_CTRL_2POINT_PWM_ADAPTIVE.M_Passive@)FB_CTRL_2POINT_PWM_ADAPTIVE.M_Reset@/FB_CTRL_2POINT_PWM_ADAPTIVE.M_StateChange@'FB_CTRL_3PHASE_SETPOINT_GENERATOR@;FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_ActivateParameter@0FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_Active@3FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_CheckData@EFB_CTRL_3PHASE_SETPOINT_GENERATOR.M_CheckIfTargetPosIsReachable@3FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_DoExecute@0FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_DoStop@/FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_Error@@FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_FromAbsoluteToRelative@6FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_GetDirection@.FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_Init@/FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_Reset@1FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_Restart@3FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_SetPhases@@FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_StateAndTimePropagator@9FB_CTRL_3PHASE_SETPOINT_GENERATOR.M_StatePropagator@FB_CTRL_3POINT@FB_CTRL_3POINT.M_Active@FB_CTRL_3POINT.M_Error@FB_CTRL_3POINT.M_Init@FB_CTRL_3POINT.M_Manual@FB_CTRL_3POINT.M_Passive@FB_CTRL_3POINT.M_Reset@"FB_CTRL_3POINT.M_StateChange@FB_CTRL_3POINT_EXT@!FB_CTRL_3POINT_EXT.M_Active@ FB_CTRL_3POINT_EXT.M_Error@FB_CTRL_3POINT_EXT.M_Init@!FB_CTRL_3POINT_EXT.M_Manual@"FB_CTRL_3POINT_EXT.M_Passive@ FB_CTRL_3POINT_EXT.M_Reset@&FB_CTRL_3POINT_EXT.M_StateChange@!FB_CTRL_ACTUAL_VALUE_FILTER@*FB_CTRL_ACTUAL_VALUE_FILTER.M_Active@)FB_CTRL_ACTUAL_VALUE_FILTER.M_Error@(FB_CTRL_ACTUAL_VALUE_FILTER.M_Init@*FB_CTRL_ACTUAL_VALUE_FILTER.M_Manual@+FB_CTRL_ACTUAL_VALUE_FILTER.M_Passive@)FB_CTRL_ACTUAL_VALUE_FILTER.M_Reset@/FB_CTRL_ACTUAL_VALUE_FILTER.M_StateChange@FB_CTRL_ARITHMETIC_MEAN@&FB_CTRL_ARITHMETIC_MEAN.M_Active@%FB_CTRL_ARITHMETIC_MEAN.M_Error@$FB_CTRL_ARITHMETIC_MEAN.M_Init@&FB_CTRL_ARITHMETIC_MEAN.M_Manual@'FB_CTRL_ARITHMETIC_MEAN.M_Passive@%FB_CTRL_ARITHMETIC_MEAN.M_Reset@+FB_CTRL_ARITHMETIC_MEAN.M_StateChange@FB_CTRL_CHECK_IF_IN_BAND@'FB_CTRL_CHECK_IF_IN_BAND.M_Active@&FB_CTRL_CHECK_IF_IN_BAND.M_Error@%FB_CTRL_CHECK_IF_IN_BAND.M_Init@FB_CTRL_D@FB_CTRL_D.M_Active@FB_CTRL_D.M_Error@FB_CTRL_D.M_Init@FB_CTRL_D.M_Manual@FB_CTRL_D.M_Passive@FB_CTRL_D.M_Reset@FB_CTRL_D.M_StateChange@FB_CTRL_DEADBAND@FB_CTRL_DEADBAND.M_Active@FB_CTRL_DEADBAND.M_Error@FB_CTRL_DEADBAND.M_Init@FB_CTRL_DIGITAL_FILTER@%FB_CTRL_DIGITAL_FILTER.M_Active@$FB_CTRL_DIGITAL_FILTER.M_Error@#FB_CTRL_DIGITAL_FILTER.M_Init@%FB_CTRL_DIGITAL_FILTER.M_Manual@&FB_CTRL_DIGITAL_FILTER.M_Passive@$FB_CTRL_DIGITAL_FILTER.M_Reset@*FB_CTRL_DIGITAL_FILTER.M_StateChange@$FB_CTRL_FLOW_TEMP_SETPOINT_GEN@-FB_CTRL_FLOW_TEMP_SETPOINT_GEN.M_Active@,FB_CTRL_FLOW_TEMP_SETPOINT_GEN.M_Error@+FB_CTRL_FLOW_TEMP_SETPOINT_GEN.M_Init@FB_CTRL_GET_SYSTEM_TIME@&FB_CTRL_GET_SYSTEM_TIME.M_Active@%FB_CTRL_GET_SYSTEM_TIME.M_Error@$FB_CTRL_GET_SYSTEM_TIME.M_Init@ FB_CTRL_GET_TASK_CYCLETIME@)FB_CTRL_GET_TASK_CYCLETIME.M_Active@'FB_CTRL_GET_TASK_CYCLETIME.M_Init@*FB_CTRL_GET_TASK_CYCLETIME.M_Passive@(FB_CTRL_GET_TASK_CYCLETIME.M_Reset@.FB_CTRL_GET_TASK_CYCLETIME.M_StateChange@FB_CTRL_HYSTERESIS@!FB_CTRL_HYSTERESIS.M_Active@ FB_CTRL_HYSTERESIS.M_Error@FB_CTRL_HYSTERESIS.M_Init@!FB_CTRL_HYSTERESIS.M_Manual@"FB_CTRL_HYSTERESIS.M_Passive@ FB_CTRL_HYSTERESIS.M_Reset@&FB_CTRL_HYSTERESIS.M_StateChange@FB_CTRL_I@FB_CTRL_I.M_Active@FB_CTRL_I.M_Error@FB_CTRL_I.M_Init@FB_CTRL_I.M_Manual@FB_CTRL_I.M_Passive@FB_CTRL_I.M_Reset@FB_CTRL_I.M_StateChange@&FB_CTRL_I_WITH_DRIFTCOMPENSATION@/FB_CTRL_I_WITH_DRIFTCOMPENSATION.M_Active@.FB_CTRL_I_WITH_DRIFTCOMPENSATION.M_Error@-FB_CTRL_I_WITH_DRIFTCOMPENSATION.M_Init@/FB_CTRL_I_WITH_DRIFTCOMPENSATION.M_Manual@0FB_CTRL_I_WITH_DRIFTCOMPENSATION.M_Passive@.FB_CTRL_I_WITH_DRIFTCOMPENSATION.M_Reset@4FB_CTRL_I_WITH_DRIFTCOMPENSATION.M_StateChange@FB_CTRL_LEAD_LAG@FB_CTRL_LEAD_LAG.M_Active@FB_CTRL_LEAD_LAG.M_Error@FB_CTRL_LEAD_LAG.M_Init@FB_CTRL_LEAD_LAG.M_Manual@ FB_CTRL_LEAD_LAG.M_Passive@FB_CTRL_LEAD_LAG.M_Reset@$FB_CTRL_LEAD_LAG.M_StateChange@FB_CTRL_LIMITER@FB_CTRL_LIMITER.M_Active@FB_CTRL_LIMITER.M_Error@FB_CTRL_LIMITER.M_Init@FB_CTRL_LIN_INTERPOLATION@(FB_CTRL_LIN_INTERPOLATION.M_Active@'FB_CTRL_LIN_INTERPOLATION.M_Error@&FB_CTRL_LIN_INTERPOLATION.M_Init@(FB_CTRL_LIN_INTERPOLATION.M_Manual@)FB_CTRL_LIN_INTERPOLATION.M_Passive@'FB_CTRL_LIN_INTERPOLATION.M_Reset@-FB_CTRL_LIN_INTERPOLATION.M_StateChange@FB_CTRL_LOG_DATA@*FB_CTRL_LOG_DATA.M_AddStringToBuffer@"FB_CTRL_LOG_DATA.M_CloseFile@FB_CTRL_LOG_DATA.M_Error@FB_CTRL_LOG_DATA.M_GetAdr@FB_CTRL_LOG_DATA.M_Init@!FB_CTRL_LOG_DATA.M_OpenFile@FB_CTRL_LOG_DATA.M_Reset@$FB_CTRL_LOG_DATA.M_StateChange@$FB_CTRL_LOG_DATA.M_WriteBuffer@5FB_CTRL_LOG_DATA.M_WriteHeadings_ExternalBuffer@5FB_CTRL_LOG_DATA.M_WriteHeadings_InternalBuffer@5FB_CTRL_LOG_DATA.M_WriteUserData_ExternalBuffer@5FB_CTRL_LOG_DATA.M_WriteUserData_InternalBuffer@FB_CTRL_LOG_MAT_FILE@,FB_CTRL_LOG_MAT_FILE.M_AddDataToBuffer@&FB_CTRL_LOG_MAT_FILE.M_CloseFile@"FB_CTRL_LOG_MAT_FILE.M_Error@#FB_CTRL_LOG_MAT_FILE.M_GetAdr@!FB_CTRL_LOG_MAT_FILE.M_Init@*FB_CTRL_LOG_MAT_FILE.M_MakeFileValid@%FB_CTRL_LOG_MAT_FILE.M_OpenFile@"FB_CTRL_LOG_MAT_FILE.M_Reset@(FB_CTRL_LOG_MAT_FILE.M_StateChange@%FB_CTRL_LOG_MAT_FILE.M_TypeCast@(FB_CTRL_LOG_MAT_FILE.M_WriteBuffer@;FB_CTRL_LOG_MAT_FILE.M_WriteFileHeader_ExternalBuffer@;FB_CTRL_LOG_MAT_FILE.M_WriteFileHeader_InternalBuffer@9FB_CTRL_LOG_MAT_FILE.M_WriteUserData_ExternalBuffer@9FB_CTRL_LOG_MAT_FILE.M_WriteUserData_InternalBuffer@)FB_CTRL_LOG_MAT_FILE.M_WriteVarInfo@FB_CTRL_LOOP_SCHEDULER@%FB_CTRL_LOOP_SCHEDULER.M_Active@$FB_CTRL_LOOP_SCHEDULER.M_Error@#FB_CTRL_LOOP_SCHEDULER.M_Init@%FB_CTRL_LOOP_SCHEDULER.M_Manual@&FB_CTRL_LOOP_SCHEDULER.M_Passive@$FB_CTRL_LOOP_SCHEDULER.M_Reset@*FB_CTRL_LOOP_SCHEDULER.M_StateChange@FB_CTRL_MOVING_AVERAGE@%FB_CTRL_MOVING_AVERAGE.M_Active@$FB_CTRL_MOVING_AVERAGE.M_Error@#FB_CTRL_MOVING_AVERAGE.M_Init@%FB_CTRL_MOVING_AVERAGE.M_Manual@&FB_CTRL_MOVING_AVERAGE.M_Passive@$FB_CTRL_MOVING_AVERAGE.M_Reset@*FB_CTRL_MOVING_AVERAGE.M_StateChange@FB_CTRL_MULTIPLE_PWM_OUT@'FB_CTRL_MULTIPLE_PWM_OUT.M_Active@&FB_CTRL_MULTIPLE_PWM_OUT.M_Error@%FB_CTRL_MULTIPLE_PWM_OUT.M_Init@(FB_CTRL_MULTIPLE_PWM_OUT.M_Passive@&FB_CTRL_MULTIPLE_PWM_OUT.M_Reset@,FB_CTRL_MULTIPLE_PWM_OUT.M_StateChange@FB_CTRL_NOISE_GENERATOR@&FB_CTRL_NOISE_GENERATOR.M_Active@%FB_CTRL_NOISE_GENERATOR.M_Error@$FB_CTRL_NOISE_GENERATOR.M_Init@&FB_CTRL_NOISE_GENERATOR.M_Manual@'FB_CTRL_NOISE_GENERATOR.M_Passive@%FB_CTRL_NOISE_GENERATOR.M_Reset@+FB_CTRL_NOISE_GENERATOR.M_StateChange@FB_CTRL_NORMALIZE@ FB_CTRL_NORMALIZE.M_Active@FB_CTRL_NORMALIZE.M_Error@FB_CTRL_NORMALIZE.M_Init@ FB_CTRL_NORMALIZE.M_Manual@!FB_CTRL_NORMALIZE.M_Passive@FB_CTRL_NORMALIZE.M_Reset@%FB_CTRL_NORMALIZE.M_StateChange@FB_CTRL_NOTCH_FILTER@#FB_CTRL_NOTCH_FILTER.M_Active@"FB_CTRL_NOTCH_FILTER.M_Error@#FB_CTRL_NOTCH_FILTER.M_GetAdr@!FB_CTRL_NOTCH_FILTER.M_Init@#FB_CTRL_NOTCH_FILTER.M_Manual@$FB_CTRL_NOTCH_FILTER.M_Passive@"FB_CTRL_NOTCH_FILTER.M_Reset@(FB_CTRL_NOTCH_FILTER.M_StateChange@FB_CTRL_nPOINT@FB_CTRL_nPOINT.M_Active@FB_CTRL_nPOINT.M_Error@FB_CTRL_nPOINT.M_Init@FB_CTRL_nPOINT.M_Manual@FB_CTRL_nPOINT.M_Passive@FB_CTRL_nPOINT.M_Reset@"FB_CTRL_nPOINT.M_StateChange@FB_CTRL_P@FB_CTRL_P.M_Active@FB_CTRL_P.M_Error@FB_CTRL_P.M_Init@FB_CTRL_P.M_Passive@FB_CTRL_P.M_Reset@FB_CTRL_P.M_StateChange@FB_CTRL_PARAMETER_SWITCH@'FB_CTRL_PARAMETER_SWITCH.M_Active@&FB_CTRL_PARAMETER_SWITCH.M_Error@%FB_CTRL_PARAMETER_SWITCH.M_Init@'FB_CTRL_PARAMETER_SWITCH.M_Manual@(FB_CTRL_PARAMETER_SWITCH.M_Passive@&FB_CTRL_PARAMETER_SWITCH.M_Reset@+FB_CTRL_PARAMETER_SWITCH.M_Set_Limits@,FB_CTRL_PARAMETER_SWITCH.M_StateChange@FB_CTRL_PI@FB_CTRL_PI.M_Active@FB_CTRL_PI.M_Error@FB_CTRL_PI.M_Init@FB_CTRL_PI.M_Manual@FB_CTRL_PI.M_Passive@FB_CTRL_PI.M_Reset@FB_CTRL_PI.M_StateChange@FB_CTRL_PI_PID@FB_CTRL_PI_PID.M_Active@FB_CTRL_PI_PID.M_Error@FB_CTRL_PI_PID.M_Init@FB_CTRL_PID@FB_CTRL_PID.M_Active@FB_CTRL_PID.M_Error@FB_CTRL_PID.M_Init@FB_CTRL_PID.M_Manual@FB_CTRL_PID.M_Passive@FB_CTRL_PID.M_Reset@FB_CTRL_PID.M_StateChange@FB_CTRL_PID_EXT@FB_CTRL_PID_EXT.M_Active@FB_CTRL_PID_EXT.M_Error@FB_CTRL_PID_EXT.M_Init@FB_CTRL_PID_EXT.M_Manual@FB_CTRL_PID_EXT.M_Passive@FB_CTRL_PID_EXT.M_Reset@#FB_CTRL_PID_EXT.M_StateChange@ FB_CTRL_PID_EXT_SPLITRANGE@)FB_CTRL_PID_EXT_SPLITRANGE.M_Active@(FB_CTRL_PID_EXT_SPLITRANGE.M_Error@'FB_CTRL_PID_EXT_SPLITRANGE.M_Init@)FB_CTRL_PID_EXT_SPLITRANGE.M_Manual@2FB_CTRL_PID_EXT_SPLITRANGE.M_ParameterChange@*FB_CTRL_PID_EXT_SPLITRANGE.M_Passive@(FB_CTRL_PID_EXT_SPLITRANGE.M_Reset@.FB_CTRL_PID_EXT_SPLITRANGE.M_StateChange@FB_CTRL_PID_SPLITRANGE@%FB_CTRL_PID_SPLITRANGE.M_Active@$FB_CTRL_PID_SPLITRANGE.M_Error@#FB_CTRL_PID_SPLITRANGE.M_Init@%FB_CTRL_PID_SPLITRANGE.M_Manual@.FB_CTRL_PID_SPLITRANGE.M_ParameterChange@&FB_CTRL_PID_SPLITRANGE.M_Passive@$FB_CTRL_PID_SPLITRANGE.M_Reset@*FB_CTRL_PID_SPLITRANGE.M_StateChange@FB_CTRL_PT1@FB_CTRL_PT1.M_Active@FB_CTRL_PT1.M_Error@FB_CTRL_PT1.M_Init@FB_CTRL_PT1.M_Manual@FB_CTRL_PT1.M_Passive@FB_CTRL_PT1.M_Reset@FB_CTRL_PT1.M_StateChange@FB_CTRL_PT2@FB_CTRL_PT2.M_Active@FB_CTRL_PT2.M_Error@FB_CTRL_PT2.M_Init@FB_CTRL_PT2.M_Manual@FB_CTRL_PT2.M_Passive@FB_CTRL_PT2.M_Reset@FB_CTRL_PT2.M_StateChange@FB_CTRL_PT2oscillation@%FB_CTRL_PT2oscillation.M_Active@$FB_CTRL_PT2oscillation.M_Error@#FB_CTRL_PT2oscillation.M_Init@%FB_CTRL_PT2oscillation.M_Manual@&FB_CTRL_PT2oscillation.M_Passive@$FB_CTRL_PT2oscillation.M_Reset@*FB_CTRL_PT2oscillation.M_StateChange@FB_CTRL_PT3@FB_CTRL_PT3.M_Active@FB_CTRL_PT3.M_Error@FB_CTRL_PT3.M_Init@FB_CTRL_PT3.M_Manual@FB_CTRL_PT3.M_Passive@FB_CTRL_PT3.M_Reset@FB_CTRL_PT3.M_StateChange@FB_CTRL_PTn@FB_CTRL_PTn.M_Active@FB_CTRL_PTn.M_Error@FB_CTRL_PTn.M_Init@FB_CTRL_PTn.M_Manual@FB_CTRL_PTn.M_Passive@FB_CTRL_PTn.M_Reset@FB_CTRL_PTn.M_StateChange@FB_CTRL_PTt@FB_CTRL_PTt.M_Active@FB_CTRL_PTt.M_Error@FB_CTRL_PTt.M_Init@FB_CTRL_PTt.M_Manual@FB_CTRL_PTt.M_Passive@FB_CTRL_PTt.M_Reset@FB_CTRL_PTt.M_StateChange@FB_CTRL_PWM_OUT@FB_CTRL_PWM_OUT.M_Active@FB_CTRL_PWM_OUT.M_Error@FB_CTRL_PWM_OUT.M_Init@FB_CTRL_PWM_OUT.M_Passive@FB_CTRL_PWM_OUT.M_Reset@#FB_CTRL_PWM_OUT.M_StateChange@FB_CTRL_PWM_OUT_EXT@"FB_CTRL_PWM_OUT_EXT.M_Active@!FB_CTRL_PWM_OUT_EXT.M_Error@ FB_CTRL_PWM_OUT_EXT.M_Init@#FB_CTRL_PWM_OUT_EXT.M_Passive@!FB_CTRL_PWM_OUT_EXT.M_Reset@'FB_CTRL_PWM_OUT_EXT.M_StateChange@FB_CTRL_RAMP_GENERATOR@%FB_CTRL_RAMP_GENERATOR.M_Active@$FB_CTRL_RAMP_GENERATOR.M_Error@#FB_CTRL_RAMP_GENERATOR.M_Init@ FB_CTRL_RAMP_GENERATOR_EXT@)FB_CTRL_RAMP_GENERATOR_EXT.M_Active@(FB_CTRL_RAMP_GENERATOR_EXT.M_Error@'FB_CTRL_RAMP_GENERATOR_EXT.M_Init@)FB_CTRL_RAMP_GENERATOR_EXT.M_Manual@*FB_CTRL_RAMP_GENERATOR_EXT.M_Passive@(FB_CTRL_RAMP_GENERATOR_EXT.M_Reset@.FB_CTRL_RAMP_GENERATOR_EXT.M_StateChange@FB_CTRL_SCALE@FB_CTRL_SCALE.M_Active@FB_CTRL_SCALE.M_Error@FB_CTRL_SCALE.M_Init@FB_CTRL_SERVO_MOTOR_OUT@&FB_CTRL_SERVO_MOTOR_OUT.M_Active@%FB_CTRL_SERVO_MOTOR_OUT.M_Error@$FB_CTRL_SERVO_MOTOR_OUT.M_Init@'FB_CTRL_SERVO_MOTOR_OUT.M_Passive@%FB_CTRL_SERVO_MOTOR_OUT.M_Reset@+FB_CTRL_SERVO_MOTOR_OUT.M_StateChange@-FB_CTRL_SERVO_MOTOR_OUT.M_Sync_Movement@$FB_CTRL_SERVO_MOTOR_SIMULATION@-FB_CTRL_SERVO_MOTOR_SIMULATION.M_Active@,FB_CTRL_SERVO_MOTOR_SIMULATION.M_Error@+FB_CTRL_SERVO_MOTOR_SIMULATION.M_Init@-FB_CTRL_SERVO_MOTOR_SIMULATION.M_Manual@.FB_CTRL_SERVO_MOTOR_SIMULATION.M_Passive@,FB_CTRL_SERVO_MOTOR_SIMULATION.M_Reset@2FB_CTRL_SERVO_MOTOR_SIMULATION.M_StateChange@ FB_CTRL_SETPOINT_GENERATOR@)FB_CTRL_SETPOINT_GENERATOR.M_Active@(FB_CTRL_SETPOINT_GENERATOR.M_Error@'FB_CTRL_SETPOINT_GENERATOR.M_Init@)FB_CTRL_SETPOINT_GENERATOR.M_Manual@*FB_CTRL_SETPOINT_GENERATOR.M_Passive@(FB_CTRL_SETPOINT_GENERATOR.M_Reset@*FB_CTRL_SETPOINT_GENERATOR.M_StartUp@.FB_CTRL_SETPOINT_GENERATOR.M_StateChange@FB_CTRL_SIGNAL_GENERATOR@'FB_CTRL_SIGNAL_GENERATOR.M_Active@&FB_CTRL_SIGNAL_GENERATOR.M_Error@%FB_CTRL_SIGNAL_GENERATOR.M_Init@'FB_CTRL_SIGNAL_GENERATOR.M_Manual@(FB_CTRL_SIGNAL_GENERATOR.M_Passive@&FB_CTRL_SIGNAL_GENERATOR.M_Reset@,FB_CTRL_SIGNAL_GENERATOR.M_StateChange@FB_CTRL_SPEED_ESTIMATION@'FB_CTRL_SPEED_ESTIMATION.M_Active@&FB_CTRL_SPEED_ESTIMATION.M_Error@%FB_CTRL_SPEED_ESTIMATION.M_Init@'FB_CTRL_SPEED_ESTIMATION.M_Manual@(FB_CTRL_SPEED_ESTIMATION.M_Passive@&FB_CTRL_SPEED_ESTIMATION.M_Reset@,FB_CTRL_SPEED_ESTIMATION.M_StateChange@FB_CTRL_SPLITRANGE@!FB_CTRL_SPLITRANGE.M_Active@ FB_CTRL_SPLITRANGE.M_Error@FB_CTRL_SPLITRANGE.M_Init@ FB_CTRL_STEPPING_MOTOR_OUT@)FB_CTRL_STEPPING_MOTOR_OUT.M_Active@(FB_CTRL_STEPPING_MOTOR_OUT.M_Error@'FB_CTRL_STEPPING_MOTOR_OUT.M_Init@*FB_CTRL_STEPPING_MOTOR_OUT.M_Passive@(FB_CTRL_STEPPING_MOTOR_OUT.M_Reset@.FB_CTRL_STEPPING_MOTOR_OUT.M_StateChange@0FB_CTRL_STEPPING_MOTOR_OUT.M_Sync_Movement@ FB_CTRL_TRANSFERFUNCTION_1@)FB_CTRL_TRANSFERFUNCTION_1.M_Active@(FB_CTRL_TRANSFERFUNCTION_1.M_Error@'FB_CTRL_TRANSFERFUNCTION_1.M_Init@*FB_CTRL_TRANSFERFUNCTION_1.M_Passive@(FB_CTRL_TRANSFERFUNCTION_1.M_Reset@.FB_CTRL_TRANSFERFUNCTION_1.M_StateChange@ FB_CTRL_TRANSFERFUNCTION_2@)FB_CTRL_TRANSFERFUNCTION_2.M_Active@(FB_CTRL_TRANSFERFUNCTION_2.M_Error@'FB_CTRL_TRANSFERFUNCTION_2.M_Init@)FB_CTRL_TRANSFERFUNCTION_2.M_Manual@*FB_CTRL_TRANSFERFUNCTION_2.M_Passive@(FB_CTRL_TRANSFERFUNCTION_2.M_Reset@.FB_CTRL_TRANSFERFUNCTION_2.M_StateChange@FB_CTRL_TuTg@FB_CTRL_TuTg.M_Active@FB_CTRL_TuTg.M_Error@FB_CTRL_TuTg.M_Init@FB_CTRL_TuTg.M_Manual@FB_CTRL_TuTg.M_Passive@FB_CTRL_TuTg.M_Reset@ FB_CTRL_TuTg.M_StateChange@FB_CTRL_ZERO_ZONE_DAMPING@(FB_CTRL_ZERO_ZONE_DAMPING.M_Active@'FB_CTRL_ZERO_ZONE_DAMPING.M_Error@&FB_CTRL_ZERO_ZONE_DAMPING.M_Idle@&FB_CTRL_ZERO_ZONE_DAMPING.M_Init@)FB_CTRL_ZERO_ZONE_DAMPING.M_Passive@'FB_CTRL_ZERO_ZONE_DAMPING.M_Reset@-FB_CTRL_ZERO_ZONE_DAMPING.M_StateChange@Global_Variables@/Global_Variables_CycleTime_Interpretation@CONCAT@ CTD@ CTU@ CTUD@ DELETE@ F_TRIG@ FIND@ INSERT@ LEFT@ LEN@ MID@ R_TRIG@ REPLACE@ RIGHT@RS@ SEMA@SR@ TOF@ TON@TP@Global Variables 0@s BC2џџџџџџџџџџџџџџџџ њџџџbo\PpiPrјџџџ.nmbOfmOPOUsMAIN}џџџџ Data typesџџџџVisualizationsџџџџGlobal VariablesGlobal_VariablesTwinCAT_ConfigurationyVariable_Configuration џџџџ>3I localhostP localhostP localhostP€•ъљ