New Automation Technology - beckhoffautomation.ru · ,.Beckhoff KS2000 eroject Online Qptions Pos...

14

Transcript of New Automation Technology - beckhoffautomation.ru · ,.Beckhoff KS2000 eroject Online Qptions Pos...

  • http://beckhoffautomation.ru/downloads/training/BECKHOFF_LON_Step-by-step.pdfhttp://beckhoffautomation.ru/downloads/training/BECKHOFF_LON_Step-by-step.pdf

  • http://beckhoffautomation.ru/LONp4http://beckhoffautomation.ru/LONp4

  • http://beckhoffautomation.ru/downloads/training/BECKHOFF_First_steps_CX_TwinCAT.pdfhttp://beckhoffautomation.ru/downloads/training/BECKHOFF_First_steps_CX_TwinCAT.pdfhttp://beckhoffautomation.ru/downloads/training/BECKHOFF_KS2000_Step-by-step.pdfhttp://beckhoffautomation.ru/downloads/training/BECKHOFF_KS2000_Step-by-step.pdfhttp://beckhoffautomation.ru/downloads/training/BECKHOFF_LON_Step-by-step_examples.ziphttp://beckhoffautomation.ru/downloads/training/BECKHOFF_LON_Step-by-step_examples.zip

  • http://beckhoffautomation.ru/downloads/training/BECKHOFF_BA_programming_Step-by-step.pdfhttp://beckhoffautomation.ru/downloads/training/BECKHOFF_BA_programming_Step-by-step.pdf

    LON_1.tsm

    LON_1.pro

    CoDeSys+'@@2.3.9.31@/@uT +@jXS@oC:\TWINCAT\PLC\LIB\TcBase.lib@FW_ADSCLEAREVENTSSTAMP_IACCESSCNT_IBUSY_IERR_IERRID_IREAD_SAV_ITICKSTART_IsNetIdbClearnModetTimeoutbBusybErrornErrIduTFW_ADSLOGDINTnCtrlMasksMsgFmtnArgFW_AdsLogDINTuTFW_ADSLOGEVENTSTAMPREQ_ISTAMPRES_ISTAMPSIG_ISTAMPCON_IACCESSCNT_IAMSADDR_IEVENT_IFW_TcEventpTCEVENTSTREAM_ICBEVENTSTREAM_InSTATE_InSTATEREQ_InSTATERES_InSTATESIG_I nSTATECON_I!ERR_I"ERRID_I#bEVENT_SAV_I$bEVENTQUIT_SAV_I%TICKSTART_I&sNetIdnPortbEventbEventQuitstEventConfigDataFW_TcEventpEventDataAddress pointer cbEventDataLengthbFbCleanuptTimeoutnEventStatebErrornErrIdbQuituTFW_ADSLOGLREALnCtrlMasksMsgFmtfArgFW_AdsLogLREALuTFW_ADSLOGSTRnCtrlMasksMsgFmtsArgFW_AdsLogSTRuTFW_ADSRDWRTSTAMP_IACCESSCNT_IBUSY_IERR_IERRID_IWRTRD_SAV_IPDESTADDR_ITICKSTART_IsNetIdnPortnIdxGrpnIdxOffscbWriteLencbReadLenpWriteBuffpReadBuffbExecutetTimeoutbBusybErrornErrIdcbRead count of bytes actually read uTFW_ADSRDWRTINDCLEAR_IbClearbValidsNetIdnPortnInvokeIdnIdxGrpnIdxOffscbReadLencbWriteLenpWriteBuffuTFW_ADSRDWRTRESRESPOND_IsNetIdnPortnInvokeIdnErrIdcbReadLenpReadBuffbResponduTFW_ADSREADSTAMP_IACCESSCNT_IBUSY_IERR_IERRID_IREAD_SAV_ITICKSTART_IsNetIdnPortnIdxGrpnIdxOffscbReadLenpReadBuffbExecutetTimeoutbBusybErrornErrIdcbRead count of bytes actually read uTFW_ADSREADDEVICEINFOSTAMP_IACCESSCNT_IBUSY_IERR_IERRID_IRDINFO_SAV_ITICKSTART_IsNetIdnPortbExecutetTimeoutbBusybErrornErrIdsDevNamenDevVersionuTFW_ADSREADINDCLEAR_IbClearbValidsNetIdnPortnInvokeIdnIdxGrpnIdxOffscbReadLenuTFW_ADSREADRESRESPOND_IsNetIdnPortnInvokeIdnErrIdcbReadLenpReadBuffbResponduTFW_ADSREADSTATESTAMP_IACCESSCNT_IBUSY_IERR_IERRID_IRDSTATE_SAV_ITICKSTART_IsNetIdnPortbExecutetTimeoutbBusybErrornErrIdnAdsStatenDevStateuTFW_ADSWRITESTAMP_IACCESSCNT_IBUSY_IERR_IERRID_IWRITE_SAV_ITICKSTART_IsNetIdnPortnIdxGrpnIdxOffscbWriteLenpWriteBuffbExecutetTimeoutbBusybErrornErrIduTFW_ADSWRITECONTROLSTAMP_IACCESSCNT_IBUSY_IERR_IERRID_IWRITE_SAV_ITICKSTART_IsNetIdnPortnAdsStatenDevStatecbWriteLenpWriteBuffbExecutetTimeoutbBusybErrornErrIduTFW_ADSWRITEINDCLEAR_IbClearbValidsNetIdnPortnInvokeIdnIdxGrpnIdxOffscbWriteLenpWriteBuffuTFW_ADSWRITERESRESPOND_IsNetIdnPortnInvokeIdnErrIdbResponduTFW_DRANDFirstCall_iHoldRand_iR250_Buffer_iR250_IndexnSeedfRndNumuTFW_GETCPUACCOUNTdwCpuAccountuTFW_GETCPUCOUNTERdwCpuCntLodwCpuCntHiuTFW_GETCURTASKINDEXnIndexuTFW_GETSYSTEMTIMEdwTimeLodwTimeHiuTFW_GETVERSIONTCBASEnVersionElementFW_GetVersionTcBaseuTFW_LPTSIGNALnPortAddrnPinNobOnOffFW_LptSignaluTFW_MEMCMPpBuf1 First buffer pBuf2 Second buffer cbLen Number of characters FW_MemCmpuTFW_MEMCPYpDest New buffer pSrc Buffer to copy from cbLen Number of characters to copy FW_MemCpyuTFW_MEMMOVEpDest New buffer pSrc Buffer to copy from cbLen Number of characters to copy FW_MemMoveuTFW_MEMSETpDest Pointer to destination nFillByte Character to set cbLen Number of characters FW_MemSetuTFW_PORTREADnPortAddreNoOfByteFW_NoOfByteFW_PortReaduTFW_PORTWRITEnPortAddreNoOfByteFW_NoOfBytenValueFW_PortWriteuTqC:\TWINCAT\PLC\LIB\TcSystem.lib@PADSCLEAREVENTSfbAdsClearEventsFW_AdsClearEvents`NetIDT_AmsNetIdbCleariModetTimeoutbBusybErriErrIduT ADSLOGDINTmsgCtrlMaskmsgFmtStrT_MaxStringdintArgADSLOGDINTuT ADSLOGEVENTfbAdsLogEvent FW_AdsLogEvent`NETIDT_AmsNetIdPORTEventEventQuitEventConfigDataTcEventEventDataAddress pointer EventDataLengthFbCleanupTMOUTEventStateErrErrIdQuituT ADSLOGLREALmsgCtrlMaskmsgFmtStrT_MaxStringlrealArgADSLOGLREALuT ADSLOGSTRmsgCtrlMaskmsgFmtStrT_MaxStringstrArgT_MaxStringADSLOGSTRuT ADSRDDEVINFOfbAdsReadDeviceInfoFW_AdsReadDeviceInfoNETIDT_AmsNetIdPORTT_AmsPortRDINFOTMOUTBUSYERRERRIDDEVNAMEDEVVERuT ADSRDSTATEfbAdsReadStateFW_AdsReadStateNETIDT_AmsNetIdPORTT_AmsPortRDSTATETMOUTBUSYERRERRIDADSSTATEDEVSTATEuT ADSRDWRTfbAdsRdWrtFW_AdsRdWrtNETIDT_AmsNetIdPORTT_AmsPortIDXGRPIDXOFFSWRITELENREADLENSRCADDRDESTADDRWRTRDTMOUTBUSYERRERRIDuT ADSRDWRTEXfbAdsRdWrtFW_AdsRdWrtNETIDT_AmsNetIdPORTT_AmsPortIDXGRPIDXOFFSWRITELENREADLENSRCADDRDESTADDRWRTRDTMOUTBUSYERRERRIDCOUNT_R count of bytes actually read uT ADSRDWRTINDfbAdsRdWrtIndFW_AdsRdWrtIndCLEARVALIDNETIDT_AmsNetIdPORTT_AmsPortINVOKEIDIDXGRPIDXOFFSRDLENGTHWRTLENGTHDATAADDRuT ADSRDWRTRESfbAdsRdWrtResFW_AdsRdWrtResNETIDT_AmsNetIdPORTT_AmsPortINVOKEIDRESULTLENDATAADDRRESPONDuT ADSREADfbAdsReadFW_AdsReadNETIDT_AmsNetIdPORTT_AmsPortIDXGRPIDXOFFSLENDESTADDRREADTMOUTBUSYERRERRIDuT ADSREADEXfbAdsReadFW_AdsReadNETIDT_AmsNetIdPORTT_AmsPortIDXGRPIDXOFFSLENDESTADDRREADTMOUTBUSYERRERRIDCOUNT_R count of bytes actually read uT ADSREADINDfbAdsReadIndFW_AdsReadIndCLEARVALIDNETIDT_AmsNetIdPORTT_AmsPortINVOKEIDIDXGRPIDXOFFSLENGTHuT ADSREADRESfbAdsReadResFW_AdsReadResNETIDT_AmsNetIdPORTT_AmsPortINVOKEIDRESULTLENDATAADDRRESPONDuT ADSWRITEfbAdsWriteFW_AdsWriteNETIDT_AmsNetIdPORTT_AmsPortIDXGRPIDXOFFSLENSRCADDRWRITETMOUTBUSYERRERRIDuT ADSWRITEINDfbAdsWriteIndFW_AdsWriteIndCLEARVALIDNETIDT_AmsNetIdPORTT_AmsPortINVOKEIDIDXGRPIDXOFFSLENGTHDATAADDRuT ADSWRITERESfbAdsWriteResFW_AdsWriteResNETIDT_AmsNetIdPORTT_AmsPortINVOKEIDRESULTRESPONDuT ADSWRTCTLfbAdsWriteControlFW_AdsWriteControlNETIDT_AmsNetIdPORTT_AmsPortADSSTATEDEVSTATELENSRCADDRWRITETMOUTBUSYERRERRIDuT ANALYZEEXPRESSIONInputExpDoAnalyzeExpResultOutStringuT ANALYZEEXPRESSIONCOMBINEDIndexInputExpDoAnalyzeExpResultOutTableExpressionResultOutStringuT ANALYZEEXPRESSIONTABLEIndexInputExpDoAnalyzeExpResultOutTableExpressionResultuT APPENDERRORSTRINGstrOldstrNewAppendErrorStringuT BAVERSION_TO_DWORDnVersion`nRevision`nBuild`BAVERSION_TO_DWORDuT CLEARBIT32dwConst`inVal32bitNoCLEARBIT32uT CSETBIT32dwConst`inVal32bitNobitVal& value to which the bit should be set CSETBIT32uT DRANDfbDRandFW_DRand`SeedNumuT 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_CompareFwVersionuT F_CREATEAMSNETIDidx`nIdsT_AmsNetIdArr Ams Net ID as array of bytes. F_CreateAmsNetIdT_AmsNetIduT F_CREATEIPV4ADDRidx`nIdsT_IPv4AddrArr 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#AA0`iArrDis> 16#87, 16#87, 16#07, 16#08, 16#F6, 16#00, 16#30, 16#00, 16#AA0`tTimeOut; Watchdog TimeOut Time 1s..255s, disabled if tTimeOut < 1s bEnable Enable / Disable Watchdog bEnabled2 TRUE: Watchdog Enabled; FALSE: Watchdog Disabled bBusy FB still busy bError FB has error nErrId FB error ID uT FB_REMOVEDIRfbAdsRdWrt` ( nPort := AMSPORT_R3_SYSSERV, nIdxGrp := SYSTEMSERVICE_RMDIR, cbReadLen := 0, pReadBuff := 0 )'FW_AdsRdWrt`sNetIdT_AmsNetId ams net id sPathNameT_MaxString max filename length = 255 ePath PATH_GENERICE_OpenPath+ Default: Delete directory at generic path bExecute& rising edge starts command execution tTimeoutbBusybErrornErrIduT FB_SIMPLEADSLOGEVENTfbEvent9 ( NETID := '', PORT := AMSPORT_EVENTLOG, TMOUT:= t#15s )T_AmsNetIdn:ADSLOGEVENT`cfgEventTcEvent`bInit`SourceIDEventIDbSetEventbQuitErrIdErroruT FILECLOSEfbAdsWriteFW_AdsWriteNETIDT_AmsNetId ams net id HFILE) file handle obtained through 'FILEOPEN' CLOSE close control input TMOUTBUSYERRERRIDuT FILEOPENfbAdsWriteFW_AdsWriteRisingEdgeR_TRIGFallingEdgeF_TRIGNETIDT_AmsNetId ams net id FPATHNAMET_MaxString# default max filename length = 255 OPENMODE open mode flags OPEN open control input TMOUTBUSYERRERRIDHFILE file handle uT FILEREADfbAdsReadFW_AdsReadNETIDT_AmsNetId ams net id HFILE file handle BUFADDR buffer address for read COUNT count of bytes for read READ read control input TMOUTBUSYERRERRIDCOUNT_R count of bytes actually read uT FILESEEKfbAdsWriteFW_AdsWriteNETIDT_AmsNetId ams net id HFILE file handle SEEKPOS new seek pointer position SEEK seek control input TMOUTBUSYERRERRIDuT FILEWRITEfbAdsWriteFW_AdsWriteRisingEdgeR_TRIGFallingEdgeF_TRIGtmpCountNETIDT_AmsNetId ams net id HFILE file handle BUFADDR buffer address for write COUNT count of bytes for write WRITE write control input TMOUTBUSYERRERRIDCOUNT_W! count of bytes actually written uT FW_CALLGENERICFBfbCallw ( sNetID := '', nPort := 16#1234,bExecute := FALSE, tTimeout := T#0s,ACCESSCNT_I := 16#0000BEC1 )4FW_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 => errorcbReturned`, Number of successfully returned data bytes uT FW_CALLGENERICFUNfbCally ( sNetID := '', nPort := 16#1234,bExecute := FALSE, tTimeout := T#0s,ACCESSCNT_I := 16#0000BEC2 )4FW_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_CallGenericFunuT GETBIT32dwConst`inVal32bitNoGETBIT32uT GETCPUACCOUNTfbGetCpuAccountFW_GetCpuAccount`cpuAccountDWuT GETCPUCOUNTERfbGetCpuCounterFW_GetCpuCounter`cpuCntLoDWcpuCntHiDWuT GETCURTASKINDEXfbGetCurTaskIndexFW_GetCurTaskIndex`index Task index [1..4] uT GETSYSTEMTIMEfbGetSystemTimeFW_GetSystemTime`timeLoDWtimeHiDWuT GETTASKTIMEout`cbReturned`timeLoDWtimeHiDWuT LPTSIGNALPortAddrPinNoOnOffLPTSIGNALuT MEMCMPpBuf1 First buffer pBuf2 Second buffer n Number of characters MEMCMPuT MEMCPYdestAddr New buffer srcAddr Buffer to copy from n Number of characters to copy MEMCPYuT MEMMOVEdestAddr New buffer srcAddr Buffer to copy from n Number of characters to copy MEMMOVEuT MEMSETdestAddr Pointer to destination fillByte Character to set n Number of characters MEMSETuT ROL32inVal32nROL32uT ROR32inVal32nROR32uT SETBIT32dwConst`inVal32bitNoSETBIT32uT SFCACTIONCONTROLS_FFRSL_TMRTOND_TMRTONP_TRIGR_TRIGSD_TMRTONSD_FFRSDS_FFRSDS_TMRTONSL_FFRSSL_TMRTONNR0S0LDPSDDSSLTQuT SHL32inVal32nSHL32uT SHR32inVal32nSHR32uT 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 inT_ArgT Input data in PLC format (any data type, string, integer, floating point value...) bQMh 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_CSVFIELDuT BCD_TO_DECRisingEdgeR_TRIG`STARTBINBUSYERRERRIDDOUTError codes:0x00: No Errors0x0F: Parameter value NOT correct. Wrong BCD input value in Low Nibble.0xF0: Parameter value NOT correct. Wrong BCD input value in High Nibble.uT BE128_TO_HOSTinT_UHUGE_INTEGERBE128_TO_HOSTT_UHUGE_INTEGERuT BE16_TO_HOSTinBE16_TO_HOSTuT BE32_TO_HOSTparr`inBE32_TO_HOSTuT BE64_TO_HOSTinT_ULARGE_INTEGERBE64_TO_HOSTT_ULARGE_INTEGERuT BYTEARR_TO_MAXSTRINGinBYTEARR_TO_MAXSTRINGT_MaxStringuT 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 pInputG 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. outT_ArgU Output data in PLC format (any data type, string, integer, floating point value...) CSVFIELD_TO_ARGuT CSVFIELD_TO_STRINGcbField`inT_MaxString" Input string in CSV field format bQM\ TRUE => Remove enclosing quotation marks. FALSE => Don't remove enclosing quotation marks. CSVFIELD_TO_STRINGT_MaxStringuT DATA_TO_HEXSTRiCase`pCells`idx`pData Pointer to data buffer cbDataU Byte size of data buffer bLoCase9 Default: use "ABCDEF", if TRUE use "abcdef" characters. DATA_TO_HEXSTRT_MaxStringuT DCF77_TIME"DataBits Translate from local time to UTC, FALSE => Translate from UTC to local Time F_TranslateFileTimeBiasT_FILETIMEuT F_UDINTF_UDINTT_ArginuT F_UHUGEF_UHUGET_ArginT_UHUGE_INTEGERuT F_UINTF_UINTT_ArginuT F_ULARGEF_ULARGET_ArginT_ULARGE_INTEGERuT F_USINTF_USINTT_ArginuT F_WORDF_WORDT_ArginuT F_YEARISLEAPYEARwYearF_YearIsLeapYearuT FB_ADDROUTEENTRYfbAdsWriteP ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_ADDREMOTE, IDXOFFS := 0 )T_AmsPort!ADSWRITE`fbTriggerR_TRIG`state`dataEntryST_AmsRouteSystemEntry`sNetIDT_AmsNetID& TwinCAT network address (ams net id) stRouteST_AmsRouteEntry! Structure with route parameters bExecute- Rising edge starts function block execution tTimeout Max fb execution time bBusybErrornErrIDuT FB_AMSLOGGERfbAdsWrite[ ( PORT:= AMSPORT_AMSLOGGER, IDXGRP:= AMSLOGGER_IGR_GENERAL, IDXOFFS:= AMSLOGGER_IOF_MODE )T_AmsPortADSWRITE`fbTriggerR_TRIG`state`stReqST_AmsLoggerReq`sNetId ''T_AmsNetId& TwinCAT network address (ams net id) eMode AMSLOGGER_RUNE_AmsLoggerModesCfgFilePath ''T_MaxStringbExecute6 Rising edge on this input activates the fb execution tTimeout Max fb execution time bBusybErrornErrIduT FB_BASICPIDnERR_NOERROR no errornERR_INVALIDPARAM invalid parameternERR_INVALIDCYCLETIME invalid cycle timefE0.0 error inputfE_10.0! error input z^(-1)fY0.0" control outputfY_10.0# control output z^(-1)fYP0.0$ P-partfYI0.0% I-partfYI_10.0& I-part z^(-1)fYD0.0' D-T1-partfYD_10.0( D-T1-part z^(-1)bInit*% initialization flag for first cyclebIsIPart+ I-part active ?bIsDPart, D-part active ?fDi0.0. internal I paramfDd0.0/ internal D paramfCd0.00 internal D paramfCtrlCycleTimeOld0.02fKpOld0.03fTnOld0.04fTvOld0.05fTdOld0.06fSetpointValue setpoint valuefActualValue actual valuebReset 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 commandnErrorStatus1 controller error output (0: no error; >0:error)uT FB_BUFFEREDTEXTFILEWRITERfbFileFB_TextFileRingBuffer`closeTimerTON` 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_GENERICE_OpenPath` default: Open generic file bAppend`) TRUE = append lines, FALSE = not append tAutoClose`tTimeout`bBusy`bError`nErrID`fbBufferFB_StringRingBuffer` string ring buffer uT FB_CONNECTSCOPESERVERstRecordDescd (nRunMode:=0, nSopMode:=0, bStoreOnDisk:=FALSE, bUseLocalServer:=FALSE, bStartServerFromFile:=TRUE)#ST_ScopeServerRecordModeDescriptionnStatenErrorStatefbAdsWriteADSWRITEfbQueryRegistryFB_RegQueryValuesScopeServerDirsScopeServerPathfbStartServerNT_StartProcessfbWaitTON bTriggerServerStart!nDwellTimeCounter"nPort 27110T_AmsPort%Connect_IdxGrpu&0x7500sNetId ''T_AmsNetIdbExecutesConfigFileQQtTimeoutbBusybDonebErrornErrorIduT FB_CSVMEMBUFFERREADERstate`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_FirstE_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_MaxStringN If successfull then this output returns the first/next field value as string pValues 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 uT FB_CSVMEMBUFFERWRITERfbReaderFB_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_FirstE_EnumCmdType* Command type: write first or next field ?putValue ''T_MaxString& New first/next field value as string pValueC OPTIONAL: Pointer to external buffer containing field value data. cbValueF OPTIONAL: Byte size of external buffer containing field value data. bCRLF0 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 uT FB_DBGOUTPUTCTRLfbFormatFB_FormatString`fbBufferFB_StringRingBuffer`fbFile+ (ePath := PATH_BOOTPATH, bAppend := TRUE ) PATH_GENERICE_OpenPathFB_BufferedTextFileWriter`buffer'`state`nItems`k` bInit`! Hex logging i`$cells `%pCellsT_MaxString`&cbL1`'cbL2`'idx`'pSrc1`(pSrc2`(dwCtrl`& Debug message target: DBG_OUTPUT_LOG sFormat ''T_MaxString` Debug message format string arg1T_Arg` Format string argument arg2T_Arg`arg3T_Arg`arg4T_Arg`arg5T_Arg`arg6T_Arg`arg7T_Arg`arg8T_Arg`arg9T_Arg`arg10T_Arg`sFilter ''T_MaxString`bError`nError`nOverflow`uT FB_DISCONNECTSCOPESERVERfbAdsWriteADSWRITEnStatesNetIdT_AmsNetIdbExecutetTimeoutbBusybDonebErrornErrorIduT FB_ENUMFINDFILEENTRYfbAdsRdWrtB ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_FFILEFIND )T_AmsPortADSRDWRT`fbAdsWriteD ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_CLOSEHANDLE )T_AmsPortoADSWRITE`fbTriggerR_TRIG`state`dataEntryST_AmsFindFileSystemEntry`eFindCmdE_EnumCmdType`sNetIdT_AmsNetId& TwinCAT network address (ams net id) sPathNameT_MaxString% dir/path/file name, wildcards [*|?] eCmd eEnumCmd_FirstE_EnumCmdType Enumerator navigation command bExecute6 Rising edge on this input activates the fb execution tTimeout Max fb execution time bBusybErrornErrIDbEOE End of enumeration stFindFileST_FindFileEntry Find file entry uT FB_ENUMFINDFILELISTfbEnumFB_EnumFindFileEntry`fbTriggerR_TRIG`state`cbEntry`nEntries`pEntryST_FindFileEntry`sNetIdT_AmsNetId& TwinCAT network address (ams net id) sPathNameT_MaxString% dir/path/file name, wildcards [*|?] eCmd eEnumCmd_FirstE_EnumCmdType Enumerator navigation command pFindList& POINTER TO ARRAY OF ST_FindFileEntry cbFindList( Byte size of ARRAY OF ST_FindFileEntry bExecute6 Rising edge on this input activates the fb execution tTimeout Max fb execution time bBusybErrornErrIDbEOE End of enumeration nFindFiles Number of find files uT FB_ENUMROUTEENTRYfbAdsReadZ ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_ENUMREMOTE (*, IDXGRP := index *) )T_AmsPort#ADSREAD`fbTriggerR_TRIG`state`index`dataEntryST_AmsRouteSystemEntry`sNetIDT_AmsNetID' TwinCAT network address (ams net id ) eCmd eEnumCmd_FirstE_EnumCmdType Enumerator navigation command bExecute- Rising edge starts function block execution tTimeout Max fb execution time bBusybErrornErrIDbEOEl End of enumeration. This value is TRUE after the first read that attempts to read next non existing entry. stRouteST_AmsRouteEntry! Structure with route parameters uT FB_ENUMSTRINGNUMBERSpSrc`pDest`pNext`char`state`bEat`sSearchT_MaxString Source string eCmd eEnumCmd_FirstE_EnumCmdType Enumerator navigation command eType eNumGroup_FloatE_NumGroupTypes String number format type sNumberT_MaxString Found string number nPos) 0 => Next scan/search start position bEOS TRUE = End of string uT FB_FILERINGBUFFERfbOpenFB_FileOpen`fbCloseFB_FileClose`fbWriteFB_FileWrite`fbReadFB_FileRead` fbSeekFB_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_MaxString6 file buffer path name (max. length = 255 characters) ePath PATH_GENERICE_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 tTimeoutbBusybErrornErrID 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 bytesstHeaderST_FileRBufferHead buffer status uT FB_FILETIMETOTZSPECIFICLOCALTIMEfbBase! ( wStdYear := 0, wDldYear := 0 )"FB_TranslateUtcToLocalTimeByZoneID` Underlaid base function block inT_FILETIME Time to be converted (UTC, file time format), 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601tzInfoST_TimeZoneInformation Time zone settings outT_FILETIME* Converted time in local file time format eTzID eTimeZoneID_UnknownE_TimeZoneID" Daylight saving time information bB FALSE => A time, TRUE => B timeuT FB_FORMATSTRINGpFormat` pointer to the format string pOut` pointer to the result string iRemOutLen`$ Max remaining length of sOut bufferbValid`8 if set, the string character is valid format parameter stFmtST_FormatParameters`nArrayElem`nArgument`parArgsT_Arg`sArgStrT_MaxString`sFormatT_MaxStringarg1T_Argarg2T_Argarg3T_Argarg4T_Argarg5T_Argarg6T_Argarg7T_Argarg8T_Argarg9T_Argarg10T_ArgbErrornErrIdsOutT_MaxStringuT FB_GETADAPTERSINFOfbAdsReadf ( PORT:=AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_IPHELPERAPI, IDXOFFS:= IPHELPERAPI_ADAPTERSINFO )T_AmsPortADSREAD`fbRegQueryP ( sSubKey:= '\Software\Beckhoff\TwinCAT\Remote', sValName := 'DefaultAdapter' )T_MaxStringT_MaxStringFB_RegQueryValue`fbTriggerR_TRIG`state`cbInfo`idx`infoST_IP_ADAPTER_INFO` buffer for 12 entries pInfoST_IP_ADAPTER_INFO`nRealCount`sDefaultAT_MaxString`sNetIDT_AmsNetId& TwinCAT network address (ams net id) bExecute6 Rising edge on this input activates the fb execution tTimeout Max fb execution time bBusybErrornErrIDarrAdaptersST_IpAdapterInfonCount Max. number of found adapters nGet% Number of read adapter info entries uT FB_GETDEVICEIDENTIFICATIONiDataSize@`byTagStart` '>' byTagSlash/` '/' fbAdsReadADSREAD`bExecutePrev`iState`iData`strActPath`iLoopEndIdx`iStructSize`strHardwareCPU`strTags))`iTagsSize`iCurrTag(` iCurrTagDataP`!iPathSize`"iTagIdx`$iCurrTagIdx`%iDataIdx`&iCurrTagDataIdx`'k`(iMinCurrData`)iFirstIdx`*iLastIdx`+bTagStart`-bTagEnd`.bTagSlash`/bTagOpen`0bExecute6 Rising edge on this input activates the fb execution tTimeoutsNetIdT_AmsNetId ams net id of target system bBusybErrornErrorIDstDevIdentST_DeviceIdentification5 structure with available device identification data uT FB_GETDEVICEIDENTIFICATIONEXiDataSize@`byTagStart` '>' byTagSlash/` '/' fbAdsReadADSREAD`bExecutePrev`iState`iData`strActPath`iLoopEndIdx`iStructSize`strHardwareCPU`strTags))`iTagsSize`iCurrTag(` iCurrTagDataP`!iPathSize`"iTagIdx`$iCurrTagIdx`%iDataIdx`&iCurrTagDataIdx`'k`(iMinCurrData`)iFirstIdx`*iLastIdx`+bTagStart`-bTagEnd`.bTagSlash`/bTagOpen`0bExecute6 Rising edge on this input activates the fb execution tTimeoutsNetIdT_AmsNetId Ams net id of target system bBusybErrornErrorIDstDevIdentST_DeviceIdentificationEx5 structure with available device identification data uT FB_GETHOSTADDRBYNAMEfbAdsRWj ( PORT:= AMSPORT_R3_SYSSERV, IDXGRP:= SYSTEMSERVICE_IPHELPERAPI, IDXOFFS:= IPHELPERAPI_IPADDRBYHOSTNAME )T_AmsPortADSRDWRTEX`fbTriggerR_TRIG`state`sNetIDT_AmsNetId& TwinCAT network address (ams net id) sHostName ''T_MaxString1 String containing host name. E.g. 'DataServer1' bExecute6 Rising edge on this input activates the fb execution tTimeout Max fb execution time bBusybErrornErrIDsAddr ''T_IPv4AddrS String containing an (Ipv4) Internet Protocol dotted address. E.g. '172.16.7.199' arrAddr 0, 0, 0, 0T_IPv4AddrArrC Byte array containing an (Ipv4) Internet Protocol dotted address. uT FB_GETHOSTNAMEfbAdsReadR ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_IPHOSTNAME, IDXOFFS := 0 )T_AmsPortADSREAD`fbTriggerR_TRIG`state`sNetIDT_AmsNetId& TwinCAT network address (ams net id) bExecute6 Rising edge on this input activates the fb execution tTimeout Max fb execution time bBusybErrornErrIDsHostNameT_MaxString The local host name uT FB_GETLOCALAMSNETIDfbRegQueryValueW ( sNetId:= '', sSubKey := 'SOFTWARE\Beckhoff\TwinCAT\System', sValName := 'AmsNetId' )T_AmsNetIdT_MaxStringT_MaxStringFB_RegQueryValue`fbTriggerR_TRIG`state`tmpBytesT_AmsNetIdArr`bExecute6 Rising edge on this input activates the fb execution tTimeOut Max fb execution time bBusybErrornErrIdAddrString '0.0.0.0.0.0'T_AmsNetId- TwinCAT -specific network address as string AddrBytes 0,0,0,0,0,0T_AmsNetIdArr3 TwinCAT-specific network address as array of byte uT FB_GETROUTERSTATUSINFOfbAdsRead& ( PORT:= 1, IDXGRP:= 1, IDXOFFS:= 1 )T_AmsPortADSREAD`fbTriggerR_TRIG`state`adsRes`sNetId ''T_AmsNetID Ams net id bExecute6 Rising edge on this input activates the fb execution tTimeout Max fb execution time bBusybErrornErrIDinfoST_TcRouterStatusInfo# TwinCAT Router status information uT FB_GETTIMEZONEINFORMATIONfbAdsReadp ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_TIMESERVICES, IDXOFFS := TIMESERVICE_TIMEZONINFORMATION )T_AmsPortADSREAD`fbTriggerR_TRIG`state`resST_AmsGetTimeZoneInformation`sNetIDT_AmsNetID& TwinCAT network address (ams net id) bExecute6 Rising edge on this input activates the fb execution tTimeout Max fb execution time bBusybErrornErrIDtzIDE_TimeZoneIDtzInfoST_TimeZoneInformationuT FB_HASHTABLECTRLpT_HashTableEntry`nT_HashTableEntry`nHash`keyd Entry key: used by A_Lookup, A_Remove method, the key.lookup variable is also used by A_Add method putValue Entry value putPosPtrT_HashTableEntrybOk TRUE = success, FALSE = error getValuegetPosPtrT_HashTableEntryR returned by A_GetFirstEntry, A_GetNextEntry, A_Add, A_Lookup and A_Remove method hTableT_HHASHTABLE Hash table handle variable uT FB_LINKEDLISTCTRLpT_LinkedListEntry` Temp. previous node nT_LinkedListEntry` Temp. next node putValue Linked list node value putPosPtrT_LinkedListEntry Linked list node pointer bOk TRUE = success, FALSE = error getValue Linked list node value getPosPtrT_LinkedListEntry Linked list node pointer hListT_HLINKEDLIST Linked list table handle uT FB_LOCALSYSTEMTIMErtrigR_TRIG`state`fbNTNT_GetTime`fbTZFB_GetTimeZoneInformation`fbSETNT_SetTimeToRTCTime`fbRTCRTC_EX2`timerTON`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) dwCycleQ& Time synchronisation cycle (seconds) dwOptR Additional option flags: If bit 0 is set => Synchronize Windows Time to RTC time tTimeoutJ 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 systemTimeTIMESTRUCT" Local Windows System Time struct tzID eTimeZoneID_InvalidE_TimeZoneID) Daylight/standard time zone information uT FB_MEMBUFFERMERGEpDest`cbDest`eCmd eEnumCmd_FirstE_EnumCmdTypepBuffer 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)bOkM TRUE => Successfull, FALSE => End of enumeration or invalid input parameter cbSize Data buffer fill state uT FB_MEMBUFFERSPLITpSrc`cbSrc`eCmd eEnumCmd_FirstE_EnumCmdTypepBuffer Pointer to source data buffer cbBuffer! Byte size of source data buffer cbSize Max. segment byte size bOkN TRUE => Successfull, FALSE => End of segmentation or invalid input parameter pSegment Pointer to data segment cbSegment Byte size of data segment bEOS7 TRUE = End/last segment, FALSE = Next segment follows uT 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 bOkT 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) uT 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 bOkW 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 uT FB_MEMSTACKBUFFERpWrite 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 LIFO buffer data bytes cbBuffer max. LIFO buffer byte size bOkT TRUE = new entry added or removed succesfully, FALSE = LIFO overflow or LIFO empty nCount number of LIFO entries cbSize" current byte length of LIFO 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) uT FB_REGQUERYVALUEfbAdsRdWrtEx[ ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_REG_HKEYLOCALMACHINE, IDXOFFS := 0 )T_AmsPortADSRDWRTEX`fbTriggerR_TRIG`state`s1Len`s2Len`ptr`cbBuff`tmpBuffST_HKeySrvRead`sNetIdT_AmsNetId& TwinCAT network address (ams net id) sSubKeyT_MaxString# HKEY_LOCAL_MACHINE \ sub key name sValNameT_MaxString Value name cbData Number of data bytes to read pData$ Points to registry key data buffer bExecute6 Rising edge on this input activates the fb execution tTimeOut Max fb execution time bBusybErrornErrIdcbRead' Number of succesfully read data bytes uT FB_REGSETVALUEfbAdsWrite[ ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_REG_HKEYLOCALMACHINE, IDXOFFS := 0 )T_AmsPortADSWRITE`fbTriggerR_TRIG`state`s1Len`s2Len`s3Len`ptr`nType`cbBuff`cbRealWrite`tmpBuffST_HKeySrvWrite`sNetIdT_AmsNetId& TwinCAT network address (ams net id) sSubKeyT_MaxString# HKEY_LOCAL_MACHINE \ sub key name sValNameT_MaxString Value name eValTypeE_RegValueType Value type cbData Size of value data in bytes pData Pointer to value data bufferbExecute6 Rising edge on this input activates the fb execution tTimeOut Max fb execution time bBusybErrornErrIdcbWrite+ Number of successfully written data bytes uT FB_REMOVEROUTEENTRYfbAdsWriteP ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_DELREMOTE, IDXOFFS := 0 )T_AmsPort"ADSWRITE`sNetIDT_AmsNetID' TwinCAT network address (ams net id ) sName Route name as string bExecute- Rising edge starts function block execution tTimeout Max fb execution time bBusybErrornErrIDuT FB_RESETSCOPESERVERCONTROLfbAdsWriteADSWRITEnStatesNetIdT_AmsNetIdbExecutetTimeoutbBusybDonebErrornErrorIduT FB_SAVESCOPESERVERDATAnStatefbAdsWriteD ( PORT := AMSPORT_R3_SCOPESERVER, IDXGRP := 16#750E, IDXOFFS := 0 )T_AmsPortuADSWRITEsNetIdT_AmsNetIdbExecutesSaveFileQQtTimeoutbBusybDonebErrornErrorIduT FB_SCOPESERVERCONTROLeCurrentState SCOPE_SERVER_IDLEE_ScopeServerStatefbConnectFB_ConnectScopeServerfbStartFB_StartScopeServerfbStopFB_StopScopeServerfbSaveFB_SaveScopeServerDatafbDisconnectFB_DisconnectScopeServerfbResetFB_ResetScopeServerControl sNetIdT_AmsNetIdeReqStateE_ScopeServerStatesConfigFileQQsSaveFileQQtTimeoutbBusybDonebErrornErrorIduT FB_SETTIMEZONEINFORMATIONfbAdsWriteo ( PORT:= AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_TIMESERVICES, IDXOFFS:= TIMESERVICE_TIMEZONINFORMATION )T_AmsPortADSWRITE`fbTriggerR_TRIG`state`reqST_AmsGetTimeZoneInformation`sNetID ''T_AmsNetID& TwinCAT network address (ams net id) 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 TimeTIMESTRUCT W. Europe Daylight TimeTIMESTRUCTST_TimeZoneInformationbExecute6 Rising edge on this input activates the fb execution tTimeout Max fb execution time bBusybErrornErrIDuT FB_STARTSCOPESERVERnStatefbAdsWriteADSWRITEnDummy 0,0sNetIdT_AmsNetIdbExecutetTimeoutbBusybDonebErrornErrorIduT FB_STOPSCOPESERVERnStatefbAdsWriteADSWRITEnDummy 0,0sNetIdT_AmsNetIdbExecutetTimeoutbBusybDonebErrornErrorIduT FB_STRINGRINGBUFFERfbBufferFB_MemRingBuffer`4 Internal (low level) buffer control function block bOverwrite8 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 bOkT 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 uT "FB_SYSTEMTIMETOTZSPECIFICLOCALTIMEfbBase"FB_TranslateUtcToLocalTimeByZoneID` Underlaid base function block inTIMESTRUCTp Time to be converted (UTC, system time format). Structure that specifies the system time since January 1, 1601 tzInfoST_TimeZoneInformation Time zone settings outTIMESTRUCT, Converted time in local system time format eTzID eTimeZoneID_UnknownE_TimeZoneID" Daylight saving time information bB FALSE => A time, TRUE => B timeuT FB_TEXTFILERINGBUFFERfbOpenFB_FileOpen`fbCloseFB_FileClose`fbPutsFB_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_GENERICE_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`uT "FB_TRANSLATELOCALTIMETOUTCBYZONEIDinLocalTIMESTRUCT`9 Input time in local system time format (time structure) tziSommerTIMESTRUCT`A tzInfo.daylightDate transition time in local system time format tziWinterTIMESTRUCT`A tzInfo.standardDate transition time in local system time Format tziLocalSommerT_FILETIME`? tzInfo.daylightDate transition time in local file time format tziLocalWinterT_FILETIME`? tzInfo.standardDate transition time in local file time Format tziLocalSommerJumpT_FILETIME`tziLocalWinterJumpT_FILETIME`ui64LocalInT_ULARGE_INTEGER`( Local input time as unsigned 64 number ui64LocalSommerT_ULARGE_INTEGER`5 Local tzInfo.daylightDate as unsigned 64 bit number ui64LocalWinterT_ULARGE_INTEGER`5 Local tzInfo.standardDate as unsigned 64 bit number in_to_s` A time, TRUE => B timebias Bias value in minutes uT "FB_TRANSLATEUTCTOLOCALTIMEBYZONEIDinUtcTIMESTRUCT`7 Input time in UTC system time format (time structure) bInAsStruct`k TRUE => inUtc is valid/converted to UTC system time format, FALSE => inUtc is not valid/not converted yet tziSommerTIMESTRUCT`A tzInfo.daylightDate transition time in local system time format tziWinterTIMESTRUCT`A tzInfo.standardDate transition time in local system time Format tziLocalSommerT_FILETIME`? tzInfo.daylightDate transition time in local file time format tziLocalWinterT_FILETIME`? tzInfo.standardDate transition time in local file time Format tziUtcSommerT_FILETIME`= tzInfo.daylightDate transition time in UTC file time format tziUtcWinterT_FILETIME`= tzinfo.standardDate transition time in UTC file time format ui64UtcInT_ULARGE_INTEGER`& UTC input time as unsigned 64 number ui64UtcSommerT_ULARGE_INTEGER`3 UTC tzInfo.daylightDate as unsigned 64 bit number ui64UtcWinterT_ULARGE_INTEGER`3 UTC tzInfo.standardDate as unsigned 64 bit number in_to_s`8 Input time[UTC] to tzInfo.daylightDate[UTC] cmp result in_to_w`8 Input time[UTC] to tzInfo.standardDate[UTC] cmp result s_to_w` A tzInfo.daylightDate[UTC] to tzInfo.standardDate[UTC] cmp result out_to_s`!= Output time[local] to tzInfo.daylightDate[local] cmp result out_to_w`"= Output time[local] to tzInfo.standardDate[local] cmp result inT_FILETIME. Time to be converted (UTC, file time format) tzInfoST_TimeZoneInformation Time zone information wDldYearp Optional daylightDate.wYear value. If 0 => not used (default) else used only if tzInfo.daylightDate.wYear = 0. wStdYearp Optional standardDate.wYear value. If 0 => not used (default) else used only if tzInfo.standardDate.wYear = 0. outT_FILETIME( Converted time (local file time format)eTzID eTimeZoneID_UnknownE_TimeZoneID0 Detected daylight saving time/zone information bB FALSE => A time, TRUE => B timebias Bias value in minutes uT FB_TZSPECIFICLOCALTIMETOFILETIMEfbBase! ( wStdYear := 0, wDldYear := 0 )"FB_TranslateLocalTimeToUtcByZoneID` Underlaid base function block inT_FILETIME} Time zone's specific local file time. 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601tzInfoST_TimeZoneInformation Time zone settings outT_FILETIMEE Converted time in Coordinated Universal Time (UTC) file time format eTzID eTimeZoneID_UnknownE_TimeZoneID" Daylight saving time information bB FALSE => A time, TRUE => B timeuT "FB_TZSPECIFICLOCALTIMETOSYSTEMTIMEfbBase"FB_TranslateLocalTimeToUtcByZoneID` Underlaid base function block inTIMESTRUCTg Time zone's specific local system time. Structure that specifies the system time since January 1, 1601tzInfoST_TimeZoneInformation Time zone settings outTIMESTRUCT8 Coordinated Universal Time (UTC) in system time format eTzID eTimeZoneID_UnknownE_TimeZoneID" Daylight saving time information bB FALSE => A time, TRUE => B timeuT FB_WRITEPERSISTENTDATAfbAdsWrtCtl9 ( ADSSTATE := ADSSTATE_SAVECFG, LEN := 0, SRCADDR := 0 )ADSWRTCTL`NETIDT_AmsNetId& TwinCAT network address (ams net id) PORTl Contains the ADS port number of the PLC run-time system whose persistent data is to be stored (801, 811...)START6 Rising edge on this input activates the fb execution TMOUT Max fb execution time MODE SPDM_2PASSE_PersistentModeD =SPDM_2PASS: optimized boost; =SPDM_VAR_BOOST: boost per variable; BUSYERRERRIDuT FILETIME_TO_DTui64T_ULARGE_INTEGER`fileTimeT_FILETIME Windows file time. FILETIME_TO_DTuT FILETIME_TO_SYSTEMTIMED`M`Y`uiPastDaysT_ULARGE_INTEGER`uiPastYearsT_ULARGE_INTEGER`uiRemainderT_ULARGE_INTEGER`dwPastDays`dwPastYears`dwYearDays`fileTimeT_FILETIMEFILETIME_TO_SYSTEMTIMETIMESTRUCTuT FIX16_TO_LREALinT_FIX16FIX16_TO_LREALuT FIX16_TO_WORDinT_FIX16 16 bit fixed point number FIX16_TO_WORDuT FIX16ADDaugendT_FIX16addendT_FIX16FIX16AddT_FIX16uT FIX16ALIGNinT_FIX16# 16 bit signed fixed point number. n, Number of fractional bits (decimal places) FIX16AlignT_FIX16uT FIX16DIVtmpA`dividendT_FIX16divisorT_FIX16FIX16DivT_FIX16uT FIX16MULtmp`multiAT_FIX16multiBT_FIX16FIX16MulT_FIX16uT FIX16SUBminuendT_FIX16subtrahendT_FIX16FIX16SubT_FIX16uT GETREMOTEPCINFOfbAdsRead# ( PORT:=1, IDXGRP:=3, IDXOFFS:=1 )T_AmsPortADSREAD`fbTriggerR_TRIG`state`RouterInfocST_AmsRouterInfoEntry`iIndex`NETIDT_AmsNetIdD Target NetID, usually left as empty string for reading local infos START6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSY Ads busy ERR Ads error ERRID Ads Error RemotePCInfoREMOTEPCINFOSTRUCTN field with all NetIDs and PC names found in router, ordered as router gives uT HEXSTR_TO_DATApSrc`pDest`ascii`nibble`bAdd`bLN` hi/lo nibble sHexT_MaxString Hex string to convert pData Pointer to destination buffer cbData! Byte size of destination buffer HEXSTR_TO_DATAuT HOST_TO_BE128inT_UHUGE_INTEGERHOST_TO_BE128T_UHUGE_INTEGERuT HOST_TO_BE16inHOST_TO_BE16uT HOST_TO_BE32parr`inHOST_TO_BE32uT HOST_TO_BE64inT_ULARGE_INTEGERHOST_TO_BE64T_ULARGE_INTEGERuT INT64_TO_LREALinT_LARGE_INTEGERINT64_TO_LREALuT INT64ADD64bOV`i64aT_LARGE_INTEGERi64bT_LARGE_INTEGERInt64Add64T_LARGE_INTEGERuT INT64ADD64EXaugendT_LARGE_INTEGERaddendT_LARGE_INTEGERInt64Add64ExT_LARGE_INTEGERbOV3 TRUE => arithmetic overflow, FALSE => no overflow uT INT64CMP64i64aT_LARGE_INTEGERi64bT_LARGE_INTEGERInt64Cmp64uT INT64DIV64EXbIsNegative`sRemainderT_ULARGE_INTEGER`dividendT_LARGE_INTEGERdivisorT_LARGE_INTEGERInt64Div64ExT_LARGE_INTEGERremainderT_LARGE_INTEGERuT INT64ISZEROi64T_LARGE_INTEGERInt64IsZerouT INT64NEGATEi64T_LARGE_INTEGERInt64NegateT_LARGE_INTEGERuT INT64NOTi64T_LARGE_INTEGERInt64NotT_LARGE_INTEGERuT INT64SUB64i64aT_LARGE_INTEGER minuend i64bT_LARGE_INTEGER substrahend Int64Sub64T_LARGE_INTEGERuT ISFINITEptrDouble`ptrSingle`xT_ARGIsFiniteuT LARGE_INTEGERdwHighPartdwLowPartLARGE_INTEGERT_LARGE_INTEGERuT LARGE_TO_ULARGEinT_LARGE_INTEGERLARGE_TO_ULARGET_ULARGE_INTEGERuT LREAL_TO_FIX16in LREAL number to convert n, Number of fractional bits (decimal places) LREAL_TO_FIX16T_FIX16uT LREAL_TO_FMTSTRrecT_FloatRec`pOut`iStart`iEnd`i`iniPrecisionbRoundLREAL_TO_FMTSTRuT LREAL_TO_INT64inLREAL_TO_INT64T_LARGE_INTEGERuT LREAL_TO_UINT64tmp`inLREAL_TO_UINT64T_ULARGE_INTEGERuT MAXSTRING_TO_BYTEARRcbCopy`Index7001inT_MaxStringMAXSTRING_TO_BYTEARRuT NT_ABORTSHUTDOWNfbAdsWrtCtlN ( PORT := AMSPORT_R3_SYSSERV, ADSSTATE := ADSSTATE_POWERGOOD, DEVSTATE := 0 )T_AmsPortADSWRTCTL`NETIDT_AmsNetId& TwinCAT network address (ams net id) START6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDuT NT_GETTIMEfbAdsReadi ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := SYSTEMSERVICE_TIMESERVICES, IDXOFFS := TIMESERVICE_DATEANDTIME )T_AmsPortADSREAD`NETIDT_AmsNetId& TwinCAT network address (ams net id) START6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDTIMESTRTIMESTRUCT Local windows system time uT NT_REBOOTfbAdsWrtCtlM ( PORT := AMSPORT_R3_SYSSERV, ADSSTATE := ADSSTATE_SHUTDOWN, DEVSTATE := 1 )T_AmsPortADSWRTCTL`NETIDT_AmsNetId& TwinCAT network address (ams net id) DELAY Reboot delay time [seconds] START6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDuT NT_SETLOCALTIMEfbAdsWrited ( PORT:= AMSPORT_R3_SYSSERV, IDXGRP:= SYSTEMSERVICE_TIMESERVICES, IDXOFFS:=TIMESERVICE_DATEANDTIME)T_AmsPortADSWRITE`NETIDT_AmsNetId& TwinCAT network address (ams net id) TIMESTRTIMESTRUCT New local system time START6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDuT NT_SETTIMETORTCTIMEfbAdsWrite: ( PORT := AMSPORT_R3_SYSSERV, IDXGRP := 4, IDXOFFS := 0 )T_AmsPortADSWRITE`fbRegQueryK ( sSubKey := 'Software\Beckhoff\TwinCAT\System', sValName := 'NumOfCPUs' )T_MaxStringT_MaxStringFB_RegQueryValue`fbTriggerR_TRIG`bTmp`state`bInit`numOfCPUs`NETIDT_AmsNetId& TwinCAT network address (ams net id) SET6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDuT NT_SHUTDOWNfbAdsWrtCtlM ( PORT := AMSPORT_R3_SYSSERV, ADSSTATE := ADSSTATE_SHUTDOWN, DEVSTATE := 0 )T_AmsPortADSWRTCTL`NETIDT_AmsNetId& TwinCAT network address (ams net id) DELAY Shutdown delay time [seconds] START6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDuT NT_STARTPROCESSfbAdsWriteO ( PORT := AMSPORT_R3_SYSSERV, IDXGRP:=SYSTEMSERVICE_STARTPROCESS, IDXOFFS:=0 )T_AmsPortADSWRITE`fbTriggerR_TRIG`state`LenPath`LenDir`LenComLine`reqST_AmsStartProcessReq` data buffer NETIDT_AmsNetId& TwinCAT network address (ams net id) PATHSTRT_MaxStringDIRNAMET_MaxStringCOMNDLINET_MaxStringSTART6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDuT OTSTRUCT_TO_TIMEtmpMilli`OTINOTSTRUCTOTSTRUCT_TO_TIMEuT PBOOL_TO_BOOLinPBOOL_TO_BOOLuT PBYTE_TO_BYTEinPBYTE_TO_BYTEuT PDATE_TO_DATEinPDATE_TO_DATEuT PDINT_TO_DINTinPDINT_TO_DINTuT PDT_TO_DTinPDT_TO_DTuT PDWORD_TO_DWORDinPDWORD_TO_DWORDuT PHUGE_TO_HUGEinT_HUGE_INTEGERPHUGE_TO_HUGET_HUGE_INTEGERuT PINT_TO_INTinPINT_TO_INTuT PLARGE_TO_LARGEinT_LARGE_INTEGERPLARGE_TO_LARGET_LARGE_INTEGERuT PLC_READSYMINFOfbAdsRead3 ( IDXGRP := ADSIGRP_SYM_UPLOADINFO, IDXOFFS := 0 )ADSREAD`fbTriggerR_TRIG`state`SymInfoStruct`NETIDT_AmsNetId& TwinCAT network address (ams net id) PORTSTART6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDSYMCOUNTSYMSIZEuT PLC_READSYMINFOBYNAMEfbReadExPLC_ReadSymInfoByNameEx`NETIDT_AmsNetId& TwinCAT network address (ams net id) PORTSYMNAMET_MaxStringSTART6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDSYMINFOSYMINFOSTRUCTuT PLC_READSYMINFOBYNAMEEXfbAdsRdWrt5 ( IDXGRP := ADSIGRP_SYM_INFOBYNAMEEX, IDXOFFS := 0 )ADSRDWRT`fbTriggerR_TRIG`state`symInfoBufferST_AmsSymbolInfoEntry`nameLength`typeLength`commentLength`nameAdrOffset`typeAdrOffset`commentAdrOffset`nameCpyLength`typeCpyLength` commentCpyLength`!endOfBufAdrOffset`"NETIDT_AmsNetId& TwinCAT network address (ams net id) PORTSYMNAMET_MaxStringSTART6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDSYMINFOSYMINFOSTRUCTOVTYPE@ TRUE => Type name string length overflow, FALSE => no overflow OVCOMMENT> TRUE => Comment string length overflow, FALSE => no overflow uT PLC_RESETfbAdsWrtCtlF ( ADSSTATE := ADSSTATE_RESET, DEVSTATE := 0, LEN := 0, SRCADDR := 0 )ADSWRTCTL`NETIDT_AmsNetId& TwinCAT network address (ams net id) PORTRESET6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDuT PLC_STARTfbAdsWrtCtlD ( ADSSTATE := ADSSTATE_RUN, DEVSTATE := 0, LEN := 0, SRCADDR := 0 )ADSWRTCTL`NETIDT_AmsNetId& TwinCAT network address (ams net id) PORTSTART6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDuT PLC_STOPfbAdsWrtCtlE ( ADSSTATE := ADSSTATE_STOP, DEVSTATE := 0, LEN := 0, SRCADDR := 0 )ADSWRTCTL`NETIDT_AmsNetId& TwinCAT network address (ams net id) PORTSTOP6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDuT PLREAL_TO_LREALinPLREAL_TO_LREALuT PMAXSTRING_TO_MAXSTRINGinT_MaxStringPMAXSTRING_TO_MAXSTRINGT_MaxStringuT PREAL_TO_REALinPREAL_TO_REALuT PROFILERMAX_DATABUFF_SIZEd@RisingEdgeStartR_TRIG`RisingEdgeResetR_TRIG`FallingEdgeStartF_TRIG`GETCPUACCOUNT1GETCPUACCOUNT`OldCpuCntDW`MeasureDatad`TimeSum`MaxData`idx`START0rising edge starts measurement and falling stopsRESETBUSYDATAPROFILERSTRUCTuT PSINT_TO_SINTinPSINT_TO_SINTuT PSTRING_TO_STRINGinQQPSTRING_TO_STRINGQQuT PTIME_TO_TIMEinPTIME_TO_TIMEuT PTOD_TO_TODinPTOD_TO_TODuT PUDINT_TO_UDINTinPUDINT_TO_UDINTuT PUHUGE_TO_UHUGEinT_UHUGE_INTEGERPUHUGE_TO_UHUGET_UHUGE_INTEGERuT PUINT64_TO_UINT64inT_ULARGE_INTEGERPUINT64_TO_UINT64T_ULARGE_INTEGERuT PUINT_TO_UINTinPUINT_TO_UINTuT PULARGE_TO_ULARGEinT_ULARGE_INTEGERPULARGE_TO_ULARGET_ULARGE_INTEGERuT PUSINT_TO_USINTinPUSINT_TO_USINTuT PWORD_TO_WORDinPWORD_TO_WORDuT RAD_TO_DEGANGLERAD_TO_DEGuT ROUTETRANSPORT_TO_STRINGeTypeE_RouteTransportTypeROUTETRANSPORT_TO_STRINGQQuT RTCfbGetCpuCounterGETCPUCOUNTER`risingEdgeR_TRIG`oldTick`currTick`nanoDiff`nanoRest`secDiff`init`ENPDTQCDTuT RTC_EXfbGetCpuCounterGETCPUCOUNTER`risingEdgeR_TRIG`oldTick`currTick`nanoDiff`nanoRest`secDiff`init`ENPDTPMSEKQCDTCMSEKuT RTC_EX2fbGetCpuCounterGETCPUCOUNTER`risingEdgeR_TRIG`oldTick`currTick`nanoDiff`nanoRest`secDiff`dateTime`init`ENPDTTIMESTRUCTPMICROQCDT; ( wYear := 1970, wMonth := 1, wDay := 1, wDayOfWeek := 4 )TIMESTRUCTCMICROuT SCOPEASCIIEXPORTfbAdsWriteADSWRITEbExecutesFilePathT_MaxStringtTimeoutbBusybErroriErrorIduT SCOPEEXITfbAdsWriteADSWRITERisingEdgeR_TRIGstepfbDelayTONbExecute- Rising edge starts function block execution tTimeOut> Maximum time allowed for the execution of the function block bBusybErroriErrorIduT SCOPEGETRECORDLENfbAdsReadADSREADbExecutebBusybErroriErrorIdfRecordLenuT SCOPEGETSTATEfbAdsReadADSREADStatebExecutebBusybErroriErrorIdbOnlineuT SCOPELOADFILEfbAdsWriteADSWRITEbExecutesFilePathT_MaxStringtTimeoutbBusybErroriErrorIduT SCOPEMANUALTRIGGERfbAdsWriteADSWRITEbExecutebBusybErroriErrorIduT SCOPESAVEASRisingEdgeR_TRIG`fbAdsWriteD ( NETID := '', PORT := 14000, IDXGRP := 16#2000, IDXOFFS := 16#11 )T_AmsNetIdT_AmsPort ADSWRITE`step`bExecute- Rising edge starts function block execution sFilePathT_MaxString e.g. c:\Axis1.scptTimeout> Maximum time allowed for the execution of the function block bBusybErroriErrorIduT SCOPESETOFFLINEfbAdsWriteADSWRITEbExecutebBusybErroriErrorIduT SCOPESETONLINEfbAdsWriteADSWRITEbExecutebBusybErroriErrorIduT SCOPESETRECORDLENfbAdsWriteADSWRITEbExecutefRecordLenbBusybErroriErrorIduT SCOPEVIEWEXPORTfbAdsWriteADSWRITEbExecutesFilePathT_MaxStringtTimeoutbBusybErroriErrorIduT STRING_TO_CSVFIELDcbField`inT_MaxString! Input data in PLC string format bQMl TRUE => Enclose result string in quotation marks, FALSE => Don't enclose result string in quotation marks. STRING_TO_CSVFIELDT_MaxStringuT 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 )ATIMESTRUCT`n`bFmt`dwYears`dwDays`Index7001in1 Input string, format: '2007-03-05-17:35:09.223' STRING_TO_SYSTEMTIMETIMESTRUCTuT STRING_TO_UINT64ptr`constTen& ( dwHighPart := 0, dwLowPart := 10 )T_ULARGE_INTEGER`inSTRING_TO_UINT64T_ULARGE_INTEGERuT 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`Index7001TIMESTRTIMESTRUCTSYSTEMTIME_TO_DTuT SYSTEMTIME_TO_FILETIMEtmp1T_ULARGE_INTEGER`tmp2T_ULARGE_INTEGER`pastDays`i`systemTimeTIMESTRUCTSYSTEMTIME_TO_FILETIMET_FILETIMEuT 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`Index7001inTIMESTRUCTSYSTEMTIME_TO_STRINGuT TC_CONFIGfbAdsWrtCtle ( PORT := AMSPORT_R3_SYSSERV, ADSSTATE := ADSSTATE_RECONFIG, DEVSTATE := 0, LEN := 0, SRCADDR := 0 )T_AmsPortADSWRTCTL`NETIDT_AmsNetId& TwinCAT network address (ams net id) SET6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDuT TC_CPUUSAGEfbAdsRead5 ( PORT:= AMSPORT_R0_RTIME, IDXGRP:= 1, IDXOFFS:= 6 )T_AmsPortADSREAD`NETIDT_AmsNetId& TwinCAT network address (ams net id) START6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDUSAGEin %uT TC_RESTARTfbAdsWrtCtlb ( PORT := AMSPORT_R3_SYSSERV, ADSSTATE := ADSSTATE_RESET, DEVSTATE := 0, LEN := 0, SRCADDR := 0 )T_AmsPortADSWRTCTL`NETIDT_AmsNetId& TwinCAT network address (ams net id) RESTART6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDuT TC_STOPfbAdsWrtCtla ( PORT := AMSPORT_R3_SYSSERV, ADSSTATE := ADSSTATE_STOP, DEVSTATE := 0, LEN := 0, SRCADDR := 0 )T_AmsPortADSWRTCTL`NETIDT_AmsNetId& TwinCAT network address (ams net id) STOP6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDuT TC_SYSLATENCYfbAdsRead8 ( PORT := AMSPORT_R0_RTIME, IDXGRP := 1, IDXOFFS := 2 )T_AmsPortADSREAD`fbTriggerR_TRIG`state`tmpData`NETIDT_AmsNetId& TwinCAT network address (ams net id) START6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDACTUAL Actual latency in s MAXIMUM Maximum latency in s uT TIME_TO_OTSTRUCTtmpMilli`TINTIME_TO_OTSTRUCTOTSTRUCTuT UINT32X32TO64Tmp1`Tmp2`Tmp3`Tmp4`DW1`DW2`DW3`DW4`ui32aui32bUInt32x32To64T_ULARGE_INTEGERuT UINT64_TO_LREALinT_ULARGE_INTEGERUINT64_TO_LREALuT UINT64_TO_STRINGremainderT_ULARGE_INTEGER`constTen& ( dwHighPart := 0, dwLowPart := 10 )T_ULARGE_INTEGER`inT_ULARGE_INTEGERUINT64_TO_STRINGuT UINT64ADD64bOV`ui64aT_ULARGE_INTEGERui64bT_ULARGE_INTEGERUInt64Add64T_ULARGE_INTEGERuT UINT64ADD64EXaugendT_ULARGE_INTEGERaddendT_ULARGE_INTEGERUInt64Add64ExT_ULARGE_INTEGERbOV3 TRUE => arithmetic overflow, FALSE => no overflow uT UINT64ANDui64aT_ULARGE_INTEGERui64bT_ULARGE_INTEGERUInt64AndT_ULARGE_INTEGERuT UINT64CMP64ui64aT_ULARGE_INTEGERui64bT_ULARGE_INTEGERUInt64Cmp64uT UINT64DIV16EXpDividend`pResult`rest`dividendT_ULARGE_INTEGERdivisorUInt64Div16ExT_ULARGE_INTEGERremainderT_ULARGE_INTEGERuT UINT64DIV64remainderT_ULARGE_INTEGER`dividendT_ULARGE_INTEGERdivisorT_ULARGE_INTEGERUInt64Div64T_ULARGE_INTEGERuT UINT64DIV64EXmsBit/ ( dwHighPart := 16#80000000, dwLowPart := 0 )T_ULARGE_INTEGER`bitShift`cmp`inT_ULARGE_INTEGER`outT_ULARGE_INTEGER`cbReturned`Index7001dividendT_ULARGE_INTEGERdivisorT_ULARGE_INTEGERUInt64Div64ExT_ULARGE_INTEGERremainderT_ULARGE_INTEGERuT UINT64ISZEROui64T_ULARGE_INTEGERUInt64isZerouT UINT64LIMITui64minT_ULARGE_INTEGERui64inT_ULARGE_INTEGERui64maxT_ULARGE_INTEGERUInt64LimitT_ULARGE_INTEGERuT UINT64MAXui64aT_ULARGE_INTEGERui64bT_ULARGE_INTEGERUInt64MaxT_ULARGE_INTEGERuT UINT64MINui64aT_ULARGE_INTEGERui64bT_ULARGE_INTEGERUInt64MinT_ULARGE_INTEGERuT UINT64MOD64dividendT_ULARGE_INTEGERdivisorT_ULARGE_INTEGERUInt64Mod64T_ULARGE_INTEGERuT UINT64MUL64bOV`multiplicandT_ULARGE_INTEGERmultiplierT_ULARGE_INTEGERUInt64Mul64T_ULARGE_INTEGERuT UINT64MUL64EXbCarry`bSumCarry`n`m`multiplicandT_ULARGE_INTEGERmultiplierT_ULARGE_INTEGERUInt64Mul64ExT_ULARGE_INTEGERbOV3 TRUE => Arithmetic overflow, FALSE => no overflow uT UINT64NOTui64T_ULARGE_INTEGERUInt64NotT_ULARGE_INTEGERuT UINT64ORui64aT_ULARGE_INTEGERui64bT_ULARGE_INTEGERUInt64OrT_ULARGE_INTEGERuT UINT64ROLbMSB`ui64T_ULARGE_INTEGERnUInt64RolT_ULARGE_INTEGERuT UINT64RORbLSB`ui64T_ULARGE_INTEGERnUInt64RorT_ULARGE_INTEGERuT UINT64SHLui64T_ULARGE_INTEGERnUInt64ShlT_ULARGE_INTEGERuT UINT64SHRui64T_ULARGE_INTEGERnUInt64ShrT_ULARGE_INTEGERuT UINT64SUB64ui64aT_ULARGE_INTEGERui64bT_ULARGE_INTEGERUInt64Sub64T_ULARGE_INTEGERuT UINT64XORui64aT_ULARGE_INTEGERui64bT_ULARGE_INTEGERUInt64XorT_ULARGE_INTEGERuT ULARGE_INTEGERdwHighPartdwLowPartULARGE_INTEGERT_ULARGE_INTEGERuT ULARGE_TO_LARGEinT_ULARGE_INTEGERULARGE_TO_LARGET_LARGE_INTEGERuT WORD_TO_FIX16in 16 bit fixed point number n number of fractional bits WORD_TO_FIX16T_FIX16uT WRITEPERSISTENTDATAfbAdsWrtCtlH ( ADSSTATE := ADSSTATE_SAVECFG, DEVSTATE := 0, LEN := 0, SRCADDR := 0 )ADSWRTCTL`NETIDT_AmsNetId& TwinCAT network address (ams net id) PORTl Contains the ADS port number of the PLC run-time system whose persistent data is to be stored (801, 811...)START6 Rising edge on this input activates the fb execution TMOUT Max fb execution time BUSYERRERRIDuT nC:\TWINCAT\PLC\LIB\TcLON.lib@F_ARRAY_TO_SNVT_ALARMsiINarrINF_ARRAY_TO_SNVT_AlarmST_LON_SNVT_AlarmuT F_ARRAY_TO_SNVT_ALARM_2siTemparrINF_ARRAY_TO_SNVT_Alarm_2ST_LON_SNVT_Alarm_2uT F_ARRAY_TO_SNVT_CHLR_STATUSsiINarrINF_ARRAY_TO_SNVT_Chlr_statusST_LON_SNVT_Chlr_statusuT F_ARRAY_TO_SNVT_CLOTHES_W_AarrINF_ARRAY_TO_SNVT_Clothes_w_a"ST_LON_SNVT_Clothes_w_auT F_ARRAY_TO_SNVT_CLOTHES_W_CsiINarrINF_ARRAY_TO_SNVT_Clothes_w_cST_LON_SNVT_Clothes_w_cuT F_ARRAY_TO_SNVT_CLOTHES_W_MarrINF_ARRAY_TO_SNVT_Clothes_w_mST_LON_SNVT_Clothes_w_muT F_ARRAY_TO_SNVT_CLOTHES_W_SsiINarrINF_ARRAY_TO_SNVT_Clothes_w_sST_LON_SNVT_Clothes_w_suT F_ARRAY_TO_SNVT_COLORwInarrINF_ARRAY_TO_SNVT_ColorST_LON_SNVT_ColoruT F_ARRAY_TO_SNVT_COLOR_2siINwDataarrINF_ARRAY_TO_SNVT_Color_2ST_LON_SNVT_Color_2uT F_ARRAY_TO_SNVT_CTRL_REQarrINF_ARRAY_TO_SNVT_Ctrl_reqST_LON_SNVT_Ctrl_requT F_ARRAY_TO_SNVT_CTRL_RESPsiINarrINF_ARRAY_TO_SNVT_Ctrl_respST_LON_SNVT_Ctrl_respuT F_ARRAY_TO_SNVT_CURRENCYsiINarrINF_ARRAY_TO_SNVT_CurrencyST_LON_SNVT_CurrencyuT F_ARRAY_TO_SNVT_DATE_EVENTarrINF_ARRAY_TO_SNVT_Date_eventST_LON_SNVT_Date_eventuT F_ARRAY_TO_SNVT_DEV_FAULTsiTemparrINF_ARRAY_TO_SNVT_Dev_faultST_LON_SNVT_Dev_faultuT F_ARRAY_TO_SNVT_DEV_MAINTsiTemparrINF_ARRAY_TO_SNVT_Dev_maintST_LON_SNVT_Dev_maintuT F_ARRAY_TO_SNVT_DEV_STATUSsiTemparrINF_ARRAY_TO_SNVT_Dev_statusST_LON_SNVT_Dev_statusuT F_ARRAY_TO_SNVT_EARTH_POSuiTemparrINF_ARRAY_TO_SNVT_Earth_posST_LON_SNVT_Earth_posuT F_ARRAY_TO_SNVT_ELAPSED_TMarrINF_ARRAY_TO_SNVT_Elapsed_tmST_LON_SNVT_elapsed_tmuT F_ARRAY_TO_SNVT_ENT_STATUSsiINarrINF_ARRAY_TO_SNVT_Ent_statusST_LON_SNVT_Ent_statusuT F_ARRAY_TO_SNVT_ENVIRONMENTwDatadiDataarrINF_ARRAY_TO_SNVT_EnvironmentST_LON_SNVT_EnvironmentuT F_ARRAY_TO_SNVT_EX_CONTROLisiINarrINF_ARRAY_TO_SNVT_Ex_controlST_LON_SNVT_Ex_controluT F_ARRAY_TO_SNVT_FILE_POSarrINF_ARRAY_TO_SNVT_File_posST_LON_SNVT_File_posuT F_ARRAY_TO_SNVT_FILE_REQsiTempbyTestarrINF_ARRAY_TO_SNVT_File_reqST_LON_SNVT_File_requT F_ARRAY_TO_SNVT_FILE_STATUSsiINiarrINF_ARRAY_TO_SNVT_File_statusST_LON_SNVT_File_statusuT F_ARRAY_TO_SNVT_GEO_LOCdiDataarrINF_ARRAY_TO_SNVT_Geo_locST_LON_SNVT_Geo_locuT F_ARRAY_TO_SNVT_HVAC_OVERIDwINsiINarrINF_ARRAY_TO_SNVT_Hvac_overidST_LON_SNVT_Hvac_overiduT F_ARRAY_TO_SNVT_HVAC_SATSTSarrINF_ARRAY_TO_SNVT_Hvac_satstsST_LON_SNVT_Hvac_satstsuT F_ARRAY_TO_SNVT_HVAC_STATUSsiINwINarrINF_ARRAY_TO_SNVT_Hvac_statusST_LON_SNVT_Hvac_statusuT F_ARRAY_TO_SNVT_LAMP_STATUSarrINF_ARRAY_TO_SNVT_Lamp_statusST_LON_SNVT_Lamp_statusuT F_ARRAY_TO_SNVT_LOG_FX_REQUESTarrINF_ARRAY_TO_SNVT_Log_fx_requestST_LON_SNVT_Log_fx_requestuT F_ARRAY_TO_SNVT_LOG_FX_STATUSbyCompletearrINF_ARRAY_TO_SNVT_Log_fx_statusST_LON_SNVT_Log_fx_statusuT F_ARRAY_TO_SNVT_LOG_STATUSsiTemparrINF_ARRAY_TO_SNVT_Log_statusST_LON_SNVT_Log_statusuT F_ARRAY_TO_SNVT_MAGCARDijIndex7001arrINF_ARRAY_TO_SNVT_Magcard(uT F_ARRAY_TO_SNVT_MULDIVarrINF_ARRAY_TO_SNVT_MuldivST_LON_SNVT_MuldivuT F_ARRAY_TO_SNVT_NV_TYPEisiTemparrINF_ARRAY_TO_SNVT_Nv_typeST_LON_SNVT_Nv_typeuT F_ARRAY_TO_SNVT_OBJ_REQUESTsiINarrINF_ARRAY_TO_SNVT_Obj_requestST_LON_SNVT_Obj_requestuT F_ARRAY_TO_SNVT_OBJ_STATUSarrINF_ARRAY_TO_SNVT_Obj_statusST_LON_SNVT_Obj_statusuT F_ARRAY_TO_SNVT_POS_CTRLsiINwINarrINF_ARRAY_TO_SNVT_Pos_ctrlST_LON_SNVT_Pos_ctrluT F_ARRAY_TO_SNVT_PRESETsiINarrINF_ARRAY_TO_SNVT_PresetST_LON_SNVT_PresetuT F_ARRAY_TO_SNVT_PRIVACYZONEsiINarrINF_ARRAY_TO_SNVT_PrivacyzoneST_LON_SNVT_PrivacyzoneuT F_ARRAY_TO_SNVT_PTZsiINarrINF_ARRAY_TO_SNVT_PtzST_LON_SNVT_PtzuT F_ARRAY_TO_SNVT_PUMP_SENSORwINsiTemparrINF_ARRAY_TO_SNVT_Pump_sensorST_LON_SNVT_Pump_sensoruT F_ARRAY_TO_SNVT_PUMPSET_MNsiINarrINF_ARRAY_TO_SNVT_Pumpset_mnST_LON_SNVT_Pumpset_mnuT F_ARRAY_TO_SNVT_PUMPSET_SNwINsiTemparrINF_ARRAY_TO_SNVT_Pumpset_snST_LON_SNVT_Pumpset_snuT F_ARRAY_TO_SNVT_RAC_CTRLsiTemparrINF_ARRAY_TO_SNVT_Rac_ctrlST_LON_SNVT_Rac_ctrluT F_ARRAY_TO_SNVT_RAC_REQsiINarrINF_ARRAY_TO_SNVT_Rac_reqST_LON_SNVT_Rac_requT F_ARRAY_TO_SNVT_REG_VALsiTemparrINF_ARRAY_TO_SNVT_Reg_valST_LON_SNVT_Reg_valuT F_ARRAY_TO_SNVT_REG_VAL_TSsiTemparrINF_ARRAY_TO_SNVT_Reg_val_tsST_LON_SNVT_Reg_val_tsuT F_ARRAY_TO_SNVT_SBLND_STATEsiTempiTemparrINF_ARRAY_TO_SNVT_Sblnd_stateST_LON_SNVT_Sblnd_stateuT F_ARRAY_TO_SNVT_SCENEsiINarrINF_ARRAY_TO_SNVT_SceneST_LON_SNVT_SceneuT F_ARRAY_TO_SNVT_SCENE_CFGsiTempiTempuiTemparrINF_ARRAY_TO_SNVT_Scene_cfgST_LON_SNVT_Scene_cfguT F_ARRAY_TO_SNVT_SETTINGsiTempiTemparrINF_ARRAY_TO_SNVT_SettingST_LON_SNVT_SettinguT F_ARRAY_TO_SNVT_STATEiIndex7001arrINF_ARRAY_TO_SNVT_StateuT F_ARRAY_TO_SNVT_STATE_64iIndex7001arrINF_ARRAY_TO_SNVT_State_64?uT F_ARRAY_TO_SNVT_STR_INTiarrINF_ARRAY_TO_SNVT_Str_intST_LON_SNVT_Str_intuT F_ARRAY_TO_SNVT_SWITCHarrINF_ARRAY_TO_SNVT_SwitchST_LON_SNVT_SwitchuT F_ARRAY_TO_SNVT_SWITCH_2siINarrINF_ARRAY_TO_SNVT_Switch_2ST_LON_SNVT_Switch_2uT F_ARRAY_TO_SNVT_TEMP_SETPTiTemparrINF_ARRAY_TO_SNVT_Temp_setptST_LON_SNVT_Temp_setptuT F_ARRAY_TO_SNVT_TIME_STAMPwYeararrINF_ARRAY_TO_SNVT_Time_stampTIMESTRUCTuT F_ARRAY_TO_SNVT_TIME_STAMP_PdtTimestTimeStructTIMESTRUCTdwTimearrINF_ARRAY_TO_SNVT_Time_stamp_pTIMESTRUCTuT F_ARRAY_TO_SNVT_TIME_ZONEsiINarrINF_ARRAY_TO_SNVT_Time_zoneST_LON_SNVT_Time_zoneuT F_ARRAY_TO_SNVT_TOD_EVENTsiINarrINF_ARRAY_TO_SNVT_Tod_eventST_LON_SNVT_Tod_eventuT F_ARRAY_TO_SNVT_TRANS_TABLEiarrINF_ARRAY_TO_SNVT_Trans_tableST_LON_SNVT_Trans_tableuT F_ARRAY_TO_SNVT_ZEROSPANwINarrINF_ARRAY_TO_SNVT_ZerospanST_LON_SNVT_ZerospanuT F_CLEAR_LON_DATA_TABLEibTempBusyF_CLEAR_LON_DATA_TABLEstLON_ComST_LON_CommunicationuT F_GETVERSIONTCLONiVersionElementF_GetVersionTcLONuT F_LON_ARRAY_TO_DWORDarrINF_LON_ARRAY_TO_DWORDuT F_LON_ARRAY_TO_REALarrINF_LON_ARRAY_TO_REALuT F_LON_DWORD_TO_ARRAYIndex7001rINF_LON_DWORD_TO_ARRAYuT F_LON_DWORD_TO_UDINTdwINF_LON_DWORD_TO_UDINTuT F_LON_INT_TO_WORDiINF_LON_INT_TO_WORDuT F_LON_REAL_TO_ARRAYIndex7001rINF_LON_REAL_TO_ARRAYuT F_LON_REAL_TO_WORDwINrINF_LON_REAL_TO_WORDuT F_LON_SIGNEDLONG_TO_REALwTempwwINF_LON_SIGNEDLONG_TO_REALuT F_LON_UDINT_TO_DWORDudiINF_LON_UDINT_TO_DWORDuT F_LON_UINT_TO_WORDuiINF_LON_UINT_TO_WORDuT F_LON_WORD_TO_INTwINF_LON_WORD_TO_INTuT F_LON_WORD_TO_REALwTempwINF_LON_WORD_TO_REALuT F_LON_WORD_TO_UINTwINF_LON_WORD_TO_UINTuT F_SNVT_ALARM_2_TO_ARRAYIndex7001stINST_LON_SNVT_Alarm_2udiAdrErrorF_SNVT_Alarm_2_TO_ARRAYuT F_SNVT_ALARM_TO_ARRAYIndex7001stINST_LON_SNVT_AlarmudiAdrErrorF_SNVT_Alarm_TO_ARRAYuT F_SNVT_CHLR_STATUS_TO_ARRAYIndex7001stINST_LON_SNVT_Chlr_statusudiAdrErrorF_SNVT_Chlr_status_TO_ARRAYuT F_SNVT_CLOTHES_W_A_TO_ARRAYIndex7001stIN"ST_LON_SNVT_Clothes_w_audiAdrErrorF_SNVT_Clothes_w_a_TO_ARRAYuT F_SNVT_CLOTHES_W_C_TO_ARRAYIndex7001stINST_LON_SNVT_Clothes_w_cudiAdrErrorF_SNVT_Clothes_w_c_TO_ARRAYuT F_SNVT_CLOTHES_W_M_TO_ARRAYIndex7001stINST_LON_SNVT_Clothes_w_mudiAdrErrorF_SNVT_Clothes_w_m_TO_ARRAYuT F_SNVT_CLOTHES_W_S_TO_ARRAYIndex7001stINST_LON_SNVT_Clothes_w_sudiAdrErrorF_SNVT_Clothes_w_s_TO_ARRAYuT F_SNVT_COLOR_2_TO_ARRAYwDataIndex7001stINST_LON_SNVT_Color_2udiAdrErrorF_SNVT_Color_2_TO_ARRAYuT F_SNVT_COLOR_TO_ARRAYwINIndex7001stINST_LON_SNVT_ColorudiAdrErrorF_SNVT_Color_TO_ARRAYuT F_SNVT_CTRL_REQ_TO_ARRAYIndex7001stINST_LON_SNVT_Ctrl_requdiAdrErrorF_SNVT_Ctrl_req_TO_ARRAYuT F_SNVT_CTRL_RESP_TO_ARRAYIndex7001stINST_LON_SNVT_Ctrl_respudiAdrErrorF_SNVT_Ctrl_resp_TO_ARRAYuT F_SNVT_CURRENCY_TO_ARRAYIndex7001stINST_LON_SNVT_CurrencyudiAdrErrorF_SNVT_Currency_TO_ARRAYuT F_SNVT_DATE_EVENT_TO_ARRAYIndex7001stINST_LON_SNVT_Date_eventudiAdrErrorF_SNVT_Date_event_TO_ARRAYuT F_SNVT_DEV_FAULT_TO_ARRAYIndex7001stINST_LON_SNVT_Dev_faultudiAdrErrorF_SNVT_Dev_fault_TO_ARRAYuT F_SNVT_DEV_MAINT_TO_ARRAYIndex7001stINST_LON_SNVT_Dev_maintudiAdrErrorF_SNVT_Dev_maint_TO_ARRAYuT F_SNVT_DEV_STATUS_TO_ARRAYIndex7001stINST_LON_SNVT_Dev_statusudiAdrErrorF_SNVT_Dev_status_TO_ARRAYuT F_SNVT_EARTH_POS_TO_ARRAYuiTempIndex7001stINST_LON_SNVT_Earth_posudiAdrErrorF_SNVT_Earth_pos_TO_ARRAYuT F_SNVT_ELAPSED_TM_TO_ARRAYIndex7001stINST_LON_SNVT_elapsed_tmudiAdrErrorF_SNVT_Elapsed_tm_TO_ARRAYuT F_SNVT_ENT_STATUS_TO_ARRAYIndex7001stINST_LON_SNVT_Ent_statusudiAdrErrorF_SNVT_Ent_status_TO_ARRAYuT F_SNVT_ENVIRONMENT_TO_ARRAYwDatadiDataIndex7001stINST_LON_SNVT_EnvironmentudiAdrErrorF_SNVT_Environment_TO_ARRAYuT F_SNVT_EX_CONTROL_TO_ARRAYiIndex7001stINST_LON_SNVT_Ex_controludiAdrErrorF_SNVT_Ex_control_TO_ARRAYuT F_SNVT_FILE_POS_TO_ARRAYIndex7001stINST_LON_SNVT_File_posudiAdrErrorF_SNVT_File_pos_TO_ARRAYuT F_SNVT_FILE_REQ_TO_ARRAYbyTestIndex7001stINST_LON_SNVT_File_requdiAdrErrorF_SNVT_File_req_TO_ARRAYuT F_SNVT_FILE_STATUS_TO_ARRAYIndex7001stINST_LON_SNVT_File_statusudiAdrErrorF_SNVT_File_status_TO_ARRAYuT F_SNVT_GEO_LOC_TO_ARRAYlrDatadiDataIndex7001stINST_LON_SNVT_Geo_locudiAdrErrorF_SNVT_Geo_loc_TO_ARRAYuT F_SNVT_HVAC_OVERID_TO_ARRAYwINIndex7001stINST_LON_SNVT_Hvac_overidudiAdrErrorF_SNVT_Hvac_overid_TO_ARRAYuT F_SNVT_HVAC_SATSTS_TO_ARRAYIndex7001stINST_LON_SNVT_Hvac_satstsudiAdrErrorF_SNVT_Hvac_satsts_TO_ARRAYuT F_SNVT_HVAC_STATUS_TO_ARRAYwINIndex7001stINST_LON_SNVT_Hvac_statusudiAdrErrorF_SNVT_Hvac_status_TO_ARRAYuT F_SNVT_LAMP_STATUS_TO_ARRAYIndex7001stINST_LON_SNVT_Lamp_statusudiAdrErrorF_SNVT_Lamp_status_TO_ARRAYuT F_SNVT_LOG_FX_REQUEST_TO_ARRAYIndex7001stINST_LON_SNVT_Log_fx_requestudiAdrErrorF_SNVT_Log_fx_request_TO_ARRAYuT F_SNVT_LOG_FX_STATUS_TO_ARRAYbyCompleteIndex7001stINST_LON_SNVT_Log_fx_statusudiAdrErrorF_SNVT_Log_fx_status_TO_ARRAYuT F_SNVT_LOG_STATUS_TO_ARRAYIndex7001stINST_LON_SNVT_Log_statusudiAdrErrorF_SNVT_Log_status_TO_ARRAYuT F_SNVT_MAGCARD_TO_ARRAYjieLON_ERRORE_LON_ERRORIndex7001arrIN(udiAdrErrorF_SNVT_Magcard_TO_ARRAYuT F_SNVT_MULDIV_TO_ARRAYIndex7001stINST_LON_SNVT_MuldivudiAdrErrorF_SNVT_Muldiv_TO_ARRAYuT F_SNVT_NV_TYPE_TO_ARRAYiIndex7001stINST_LON_SNVT_Nv_typeudiAdrErrorF_SNVT_Nv_type_TO_ARRAYuT F_SNVT_OBJ_REQUEST_TO_ARRAYwINIndex7001stINST_LON_SNVT_Obj_requestudiAdrErrorF_SNVT_Obj_request_TO_ARRAYuT F_SNVT_OBJ_STATUS_TO_ARRAYwINIndex7001stINST_LON_SNVT_Obj_statusudiAdrErrorF_SNVT_Obj_status_TO_ARRAYuT F_SNVT_POS_CTRL_TO_ARRAYwDataIndex7001stINST_LON_SNVT_Pos_ctrludiAdrErrorF_SNVT_Pos_ctrl_TO_ARRAYuT F_SNVT_PRESET_TO_ARRAYIndex7001stINST_LON_SNVT_PresetudiAdrErrorF_SNVT_Preset_TO_ARRAYuT F_SNVT_PRIVACYZONE_TO_ARRAYIndex7001stINST_LON_SNVT_PrivacyzoneudiAdrErrorF_SNVT_Privacyzone_TO_ARRAYuT F_SNVT_PTZ_TO_ARRAYIndex7001stINST_LON_SNVT_PtzudiAdrErrorF_SNVT_Ptz_TO_ARRAYuT F_SNVT_PUMP_SENSOR_TO_ARRAYwDataIndex7001stINST_LON_SNVT_Pump_sensorudiAdrErrorF_SNVT_Pump_sensor_TO_ARRAYuT F_SNVT_PUMPSET_MN_TO_ARRAYIndex7001stINST_LON_SNVT_Pumpset_mnudiAdrErrorF_SNVT_Pumpset_mn_TO_ARRAYuT F_SNVT_PUMPSET_SN_TO_ARRAYwDataIndex7001stINST_LON_SNVT_Pumpset_snudiAdrErrorF_SNVT_Pumpset_sn_TO_ARRAYuT F_SNVT_RAC_CTRL_TO_ARRAYIndex7001stINST_LON_SNVT_Rac_ctrludiAdrErrorF_SNVT_Rac_ctrl_TO_ARRAYuT F_SNVT_RAC_REQ_TO_ARRAYIndex7001stINST_LON_SNVT_Rac_requdiAdrErrorF_SNVT_Rac_req_TO_ARRAYuT F_SNVT_REG_VAL_TO_ARRAYIndex7001stINST_LON_SNVT_Reg_valudiAdrErrorF_SNVT_Reg_val_TO_ARRAYuT F_SNVT_REG_VAL_TS_TO_ARRAYIndex7001stINST_LON_SNVT_Reg_val_tsudiAdrErrorF_SNVT_Reg_val_ts_TO_ARRAYuT F_SNVT_SBLND_STATE_TO_ARRAYbyTempiTempIndex7001stINST_LON_SNVT_Sblnd_stateudiAdrErrorF_SNVT_Sblnd_state_TO_ARRAYuT F_SNVT_SCENE_CFG_TO_ARRAYbyTempiTempuiTempIndex7001stINST_LON_SNVT_Scene_cfgudiAdrErrorF_SNVT_Scene_cfg_TO_ARRAYuT F_SNVT_SCENE_TO_ARRAYIndex7001stINST_LON_SNVT_SceneudiAdrErrorF_SNVT_Scene_TO_ARRAYuT F_SNVT_SETTING_TO_ARRAYbyTempiTempIndex7001stINST_LON_SNVT_SettingudiAdrErrorF_SNVT_Setting_TO_ARRAYuT F_SNVT_STATE_64_TO_ARRAYiIndex7001arrIN?F_SNVT_State_64_TO_ARRAYuT F_SNVT_STATE_TO_ARRAYiIndex7001arrINF_SNVT_State_TO_ARRAYuT F_SNVT_STR_INT_TO_ARRAYiIndex7001stINST_LON_SNVT_Str_intudiAdrErrorF_SNVT_Str_int_TO_ARRAYuT F_SNVT_SWITCH_2_TO_ARRAYIndex7001stINST_LON_SNVT_Switch_2udiAdrErrorF_SNVT_Switch_2_TO_ARRAYuT F_SNVT_SWITCH_TO_ARRAYIndex7001stINST_LON_SNVT_SwitchudiAdrErrorF_SNVT_Switch_TO_ARRAYuT F_SNVT_TEMP_SETPT_TO_ARRAYiTempIndex7001stINST_LON_SNVT_Temp_setptudiAdrErrorF_SNVT_Temp_setpt_TO_ARRAYuT F_SNVT_TIME_STAMP_P_TO_ARRAYdtTimedwTimeIndex7001stINTIMESTRUCTudiAdrErrorF_SNVT_Time_stamp_p_TO_ARRAYuT F_SNVT_TIME_STAMP_TO_ARRAYwYearIndex7001stINTIMESTRUCTudiAdrErrorF_SNVT_Time_stamp_TO_ARRAYuT F_SNVT_TIME_ZONE_TO_ARRAYIndex7001stINST_LON_SNVT_Time_zoneudiAdrErrorF_SNVT_Time_zone_TO_ARRAYuT F_SNVT_TOD_EVENT_TO_ARRAYIndex7001stINST_LON_SNVT_Tod_eventudiAdrErrorF_SNVT_Tod_event_TO_ARRAYuT F_SNVT_TRANS_TABLE_TO_ARRAYiIndex7001stINST_LON_SNVT_Trans_tableudiAdrErrorF_SNVT_Trans_table_TO_ARRAYuT F_SNVT_ZEROSPAN_TO_ARRAYwINIndex7001stINST_LON_SNVT_ZerospanudiAdrErrorF_SNVT_Zerospan_TO_ARRAYuT F_SWAP_DWORDptarrSwap_DWORDIndex7001AdrValueF_SWAP_DWORDuT F_WRITE_LON_DATAiwNVIndexudiAddressuiSizeOfudiAdrBusyudiAdrErrorKLF_WRITE_LON_DATAstLON_ComST_LON_CommunicationuT FB_LON_KL6401iStatefbReadWrite_OnChange_36B!FB_LON_ReadWrite_OnChange_36BjiStepWriteiTerminal wParameterControl!stPrm_OUTST_Prm"stPrm_INST_Prm#iError0$iError1%tonT1TON&rtrigResetMaxBufferR_TRIG'ftrigWriteF_TRIG(arrErrorData)wIndex* Index-number of LON-Slave. bTempBusy+tonDelayTON,bResetMaxBuffer Reset max buffer. bDisabled Disable FB. bReady Initialization ist ready. bBusyI As long as the sending of data is in process, this output will be TRUE. bTimeOut Timeout while Init. bError