From 4e38df3848656906d9d38cdde528db6a6241fecc Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Wed, 26 Jul 2023 10:51:14 -0700 Subject: [PATCH 1/3] Removed M10 Axis that was causing issues when building IOC. Updated Makefile to latest ads-ioc version --- iocBoot/ioc-lamp-motion/Makefile | 2 +- lamp_motion_scope/VSSettings/.vsm | 16 +- .../_Config/PLC/lamp_motion.xti | 201 +--------------- .../lamp_motion/POUs/Main.TcPOU | 39 +--- .../lamp_motion/lamp_motion.tmc | 219 ++++++++---------- 5 files changed, 125 insertions(+), 352 deletions(-) diff --git a/iocBoot/ioc-lamp-motion/Makefile b/iocBoot/ioc-lamp-motion/Makefile index 8128b88..b8d2eb6 100644 --- a/iocBoot/ioc-lamp-motion/Makefile +++ b/iocBoot/ioc-lamp-motion/Makefile @@ -1,4 +1,4 @@ -IOC_TOP = /reg/g/pcds/epics/ioc/common/ads-ioc/R0.4.1 +IOC_TOP = /reg/g/pcds/epics/ioc/common/ads-ioc/R0.6.1 IOC_INSTANCE_PATH := $(shell pwd) diff --git a/lamp_motion_scope/VSSettings/.vsm b/lamp_motion_scope/VSSettings/.vsm index ebf5937..6b1056c 100644 --- a/lamp_motion_scope/VSSettings/.vsm +++ b/lamp_motion_scope/VSSettings/.vsm @@ -5,12 +5,12 @@ Scope YT NC Project - False - C:\Users\tongju\github-repo\tmo\lcls-plc-lamp-motion\lamp_motion_scope\Scope YT NC Project.tcscopex + True + C:\Users\jozamudi\Documents\TcXaeShell\TMO\lcls-plc-lamp-motion\lamp_motion_scope\Scope YT NC Project.tcscopex DataPool - False + True @@ -65,12 +65,12 @@ NC Axis 1 - False + True GasJetZPosition - False + True @@ -89,7 +89,7 @@ SamplePaddleXPosition - False + True @@ -108,7 +108,7 @@ SamplePaddleZPosition - False + True @@ -127,7 +127,7 @@ SamplePaddleYPositiion - False + True diff --git a/lcls-plc-lamp-motion/_Config/PLC/lamp_motion.xti b/lcls-plc-lamp-motion/_Config/PLC/lamp_motion.xti index dcf1938..54f7a2d 100644 --- a/lcls-plc-lamp-motion/_Config/PLC/lamp_motion.xti +++ b/lcls-plc-lamp-motion/_Config/PLC/lamp_motion.xti @@ -1,24 +1,6 @@ - - AMSNETID - 48 - BYTE - - 0 - 6 - - - %d.%d.%d.%d.%d.%d - [0] - [1] - [2] - [3] - [4] - [5] - - NCTOPLC_AXIS_REF_STATE 32 @@ -903,13 +885,6 @@ External Setpoint Generation: {08500001-0000-0000-F000-000000000064} PlcTask Inputs - - lcls_twincat_motion.LCLS_General.DefaultGlobals.stSys.I_EcatMaster1 - - - - AMSNETID - Main.M1.Axis.NcToPlc NCTOPLC_AXIS_REF @@ -1792,104 +1767,6 @@ External Setpoint Generation: INT - - Main.M10.Axis.NcToPlc - NCTOPLC_AXIS_REF - - AxisState - - - - - - HomingState - - - - - - CoupleState - - - - - - - Main.M10.bLimitForwardEnable - - - - BOOL - - - Main.M10.bLimitBackwardEnable - - - - BOOL - - - Main.M10.bHome - - - - BOOL - - - Main.M10.bHardwareEnable - - - - BOOL - - - Main.M10.nRawEncoderULINT - - - - ULINT - - - Main.M10.nRawEncoderUINT - - - - UINT - - - Main.M10.nRawEncoderINT - - - - INT - Main.fbMotionStageM1.fbDriveVirtual.MasterAxis.NcToPlc NCTOPLC_AXIS_REF @@ -2327,55 +2204,6 @@ External Setpoint Generation: 1: axis is a master axis 2: axis is master and slave 3: axis is a slave axis -]]> - - - - - Main.fbMotionStageM10.fbDriveVirtual.MasterAxis.NcToPlc - NCTOPLC_AXIS_REF - - AxisState - - - - - - HomingState - - - - - - CoupleState - - @@ -2482,17 +2310,6 @@ External Setpoint Generation: BOOL - - Main.M10.Axis.PlcToNc - PLCTONC_AXIS_REF - - - Main.M10.bBrakeRelease - - - - BOOL - Main.fbMotionStageM1.fbDriveVirtual.MasterAxis.PlcToNc PLCTONC_AXIS_REF @@ -2529,10 +2346,6 @@ External Setpoint Generation: Main.fbMotionStageM9.fbDriveVirtual.MasterAxis.PlcToNc PLCTONC_AXIS_REF - - Main.fbMotionStageM10.fbDriveVirtual.MasterAxis.PlcToNc - PLCTONC_AXIS_REF - PlcTask Retains @@ -2558,6 +2371,14 @@ External Setpoint Generation: 7 + + + + + + + + @@ -2570,16 +2391,14 @@ External Setpoint Generation: - - + + - - diff --git a/lcls-plc-lamp-motion/lamp_motion/POUs/Main.TcPOU b/lcls-plc-lamp-motion/lamp_motion/POUs/Main.TcPOU index f6b9893..0f69513 100644 --- a/lcls-plc-lamp-motion/lamp_motion/POUs/Main.TcPOU +++ b/lcls-plc-lamp-motion/lamp_motion/POUs/Main.TcPOU @@ -85,15 +85,6 @@ VAR '} M9 : DUT_MotionStage := (bPowerSelf:=TRUE); // Sample Paddle Z - {attribute 'TcLinkTo' := '.bLimitForwardEnable:=TIIB[GasNeedleX-EL7041]^STM Status^Status^Digital input 1; - .bLimitBackwardEnable:=TIIB[GasNeedleX-EL7041]^STM Status^Status^Digital input 2'} - {attribute 'pytmc' := ' - pv: TMO:LAMP:MMS:10 - '} - M10 : DUT_MotionStage := (bPowerSelf:=TRUE, - nEnableMode:=ENUM_StageEnableMode.DURING_MOTION, -// nEnableMode:=ENUM_StageEnableMode.ALWAYS, - nHomingMode := ENUM_EpicsHomeCmd.ABSOLUTE_SET); // M10 fbMotionStageM1 : FB_MotionStage; fbMotionStageM2 : FB_MotionStage; @@ -104,7 +95,6 @@ VAR fbMotionStageM7 : FB_MotionStage; fbMotionStageM8 : FB_MotionStage; fbMotionStageM9 : FB_MotionStage; - fbMotionStageM10 : FB_MotionStage; END_VAR]]> M1.bHardwareEnable := TRUE; M2.bHardwareEnable := TRUE; M3.bHardwareEnable := TRUE; -// Gas Needle -M4.bHardwareEnable := TRUE; -M5.bHardwareEnable := TRUE; -M6.bHardwareEnable := TRUE; -// Sample Paddle -//M7.bHardwareEnable := TRUE; -//M8.bHardwareEnable := TRUE; -//M9.bHardwareEnable := TRUE; - -//Extra -M10.bHardwareEnable := TRUE; - -// fbMotionStage -// Gas Jet + fbMotionStageM1(stMotionStage:=M1); fbMotionStageM2(stMotionStage:=M2); fbMotionStageM3(stMotionStage:=M3); + // Gas Needle +M4.bHardwareEnable := TRUE; +M5.bHardwareEnable := TRUE; +M6.bHardwareEnable := TRUE; + fbMotionStageM4(stMotionStage:=M4); fbMotionStageM5(stMotionStage:=M5); fbMotionStageM6(stMotionStage:=M6); + // Sample Paddle +//M7.bHardwareEnable := TRUE; +//M8.bHardwareEnable := TRUE; +//M9.bHardwareEnable := TRUE; + //fbMotionStageM7(stMotionStage:=M7); //fbMotionStageM8(stMotionStage:=M8); //fbMotionStageM9(stMotionStage:=M9); -//Extra -fbMotionStageM10(stMotionStage:=M10); ]]> - + \ No newline at end of file diff --git a/lcls-plc-lamp-motion/lamp_motion/lamp_motion.tmc b/lcls-plc-lamp-motion/lamp_motion/lamp_motion.tmc index 3118a73..bc8e0e0 100644 --- a/lcls-plc-lamp-motion/lamp_motion/lamp_motion.tmc +++ b/lcls-plc-lamp-motion/lamp_motion/lamp_motion.tmc @@ -1,4 +1,4 @@ -ST_PMPS_Attenuator_IO64nTranREAL320xAttOKUINT1632ST_PMPS_Attenuator64ST_PMPS_Attenuator_IOST_PMPS_Aperture_IO96WidthREAL320plcAttribute_pytmcpv: Width +ST_PMPS_Attenuator_IO64nTranREAL320xAttOKUINT1632ST_PMPS_Attenuator64ST_PMPS_Attenuator_IOST_PMPS_Aperture_IO96WidthREAL320plcAttribute_pytmcpv: Width io: i field: EGU mmHeightREAL3232plcAttribute_pytmcpv: Height io: i @@ -11,7 +11,7 @@ nRateUDINT32320pytmcpv: Rate io: i field: EGU Hz - neVRangeDWORD32640pytmcpv: PhotonEnergyRanges + neVRangeDWORD32640pytmcpv: eVRanges io: i field: EGU eVdisplaymodebinaryneVREAL32960pytmcpv: PhotonEnergy io: i @@ -20,7 +20,7 @@ io: inMachineModeUSINT81523pytmcpv: MachineMode io: iastAttenuatorsST_PMPS_Attenuator1161024160pytmcpv: AuxAtt io: iaVetoDevicesBOOL1161281184pytmcpv: Veto - io: iastAperturesST_PMPS_Aperture143841312[1].Width1000[1].Height1000[2].Width1000[2].Height1000[3].Width1000[3].Height1000[4].Width1000[4].Height1000pytmcpv: Apertures + io: iastAperturesST_PMPS_Aperture143841312[1].Width1000[1].Height1000[2].Width1000[2].Height1000[3].Width1000[3].Height1000[4].Width1000[4].Height1000pytmcpv: Apt io: ixValidToggleBOOL81696xValidBOOL81704pytmcpv: Valid io: inCohortIntUDINT321728pytmcpv: Cohort io: i @@ -72,11 +72,11 @@ field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if this is a real state - bUseRawCountsBOOL81112bUpdatedBOOL81120stBeamParamsST_BeamParams17601152nRequestAssertionIDUDINT322912AMSNETID48BYTE06%d.%d.%d.%d.%d.%d[0][1][2][3][4][5]ST_System88xSwAlmRstBOOL80xAtVacuumBOOL88xFirstScanBOOL816xOverrideModeBOOL824xIOStateBOOL832I_EcatMaster1AMSNETID4840namingomitTcAddressTypeInputT_MaxString2048STRING(255)TcEventSeverity16INT01234plcAttribute_qualified_onlyplcAttribute_strictE_Subsystem16WORDNILVALUE0VACUUM1MPS2MOTION3FIELDBUS4SDS5OPTICS6I_ArgumentsChangeListener32PVOIDOnArgumentsChangedITcAsyncResult32ITcUnknownGetIsBusyHRESULT32bIsBusyBOOL3232GetHasErrorHRESULT32bErrorBOOL3232GetErrorCodeHRESULT32hresultHRESULT32FB_AsyncStrResult64bBusyBOOL879749888bErrorBOOL879749924hrErrorCodeHRESULT3279749932nStringSizeUDINT3279749912sResultSTRING(255)204879749928__getbBusyBOOL8bBusyBOOL8b32IsBusyBOOL3232propertymonitoringcallInitipResultITcAsyncStringResult32conditionalshowGetStringBOOL8sResultSTRING(80)32nResultUDINT32__getnStringSizeUDINT32nStringSizeUDINT32pEmptySTRING(80)32propertymonitoringcallClear__getbErrorBOOL8bErrorBOOL8b32HasErrorBOOL3232propertymonitoringcall__getsResultSTRING(255)2048sResultSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__gethrErrorCodeHRESULT32hrErrorCodeHRESULT32hrErrorHRESULT32propertymonitoringcallPouTypeFunctionBlockenable_dynamic_creationconditionalshow_all_localsno_explicit_calldo not call this POU directlyTcSourceInfoType32UDINT0124plcAttribute_qualified_onlyplcAttribute_strictTcSerializedSourceInfoType96eTypeTcSourceInfoType320obDataUDINT3232cbDataUDINT3264ITcSourceInfo32ITcUnknownGetNumTypesHRESULT32nCountUDINT32GetTypesHRESULT32ppSourceInfoTypesTcSerializedSourceInfoType32GetDataSizeHRESULT32cbDataUDINT32GetDataHRESULT32ppDataPVOID32ITcEvent32ITcUnknownGetEventClassHRESULT32eventClassGUID32GetEventIdHRESULT32eventIdUDINT32GetSeverityHRESULT32severityTcEventSeverity32GetSourceInfoHRESULT32pipSourceInfoITcSourceInfo32GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32nJsonAttributeUDINT32GetTextHRESULT32nLangIdDINT32pipResultITcAsyncStringResult32GetEventClassNameHRESULT32nLangIdDINT32pipResultITcAsyncStringResult32I_TcSourceInfo32PVOID__getguidGUID128property__getipDataITcSourceInfo32propertyconditionalshow__getnIdUDINT32propertymonitoringcall__getsNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8EqualsToBOOL8ipOtherI_TcSourceInfo32TcEventEntry192uuidEventClassGUID1280nEventIdUDINT32128eSeverityTcEventSeverity16160I_TcEventBase32PVOID__geteSeverityTcEventSeverity16propertymonitoringcall__getEventClassGUID128property__getipSourceInfoI_TcSourceInfo32propertymonitoringcall__getnEventIdUDINT32propertymonitoringcall__getsEventClassNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getsEventTextSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getstEventEntryTcEventEntry192propertyEqualsToBOOL8ipOtherI_TcEventBase32EqualsToEventClassBOOL8OtherEventClassGUID128EqualsToEventEntryBOOL8OtherEventClassGUID128nOtherEventIDUDINT32eOtherSeverityTcEventSeverity16EqualsToEventEntryExBOOL8stOtherTcEventEntry192GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32nJsonAttributeUDINT32RequestEventClassNameBOOL8nLangIdDINT32sResultSTRING(80)32nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputRequestEventTextBOOL8nLangIdDINT32sResultSTRING(80)32nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputIQueryInterface32PVOID__GetInterfacePointerBOOL8pRefDWORD32__GetInterfaceReferenceBOOL8nInterfaceIdDINT32pRefDWORD32TcEventArgumentType16INT012345678910111213141516171819plcAttribute_qualified_onlyplcAttribute_strictITcArguments32ITcUnknownCountHRESULT32nCountUDINT32AddArgumentHRESULT32eTypeTcEventArgumentType16pDataPVOID32cbDataUDINT32GetHRESULT32nIndexUDINT32eTypeTcEventArgumentType32ppDataPVOID32ClearHRESULT32GetArgumentTypesHRESULT32pArgumentTypesTcEventArgumentType32GetDataSizeHRESULT32cbDataUDINT32GetDataHRESULT32pDataBYTE32I_TcArguments32IQueryInterface__getipDataITcArguments32propertyconditionalshow__getnCountUDINT32propertyAddBlobI_TcArguments32pDataPVOID32cbDataUINT16AddBoolI_TcArguments32valueBOOL8AddByteI_TcArguments32valueBYTE8AddDIntI_TcArguments32valueDINT32AddDWordI_TcArguments32valueDWORD32AddEventReferenceExI_TcArguments32stEventEntryTcEventEntry192AddEventReferenceIdI_TcArguments32nEventIdUDINT32AddEventReferenceIdGuidI_TcArguments32nEventIdUDINT32EventClassGUID128AddIntI_TcArguments32valueINT16AddLIntI_TcArguments32valueLINT64AddLRealI_TcArguments32valueLREAL64AddRealI_TcArguments32valueREAL32AddSIntI_TcArguments32valueSINT8AddStringI_TcArguments32valueSTRING(80)32ItemTypeInOutAddStringByValueI_TcArguments32valueT_MaxString2048AddUDIntI_TcArguments32valueUDINT32AddUIntI_TcArguments32valueUINT16AddULIntI_TcArguments32valueULINT64AddUSIntI_TcArguments32valueUSINT8AddUtf8EncodedStringI_TcArguments32valueSTRING(80)32ItemTypeInOutAddWordI_TcArguments32valueWORD16AddWStringI_TcArguments32valueWSTRING(80)32ItemTypeInOutAddWStringByValueI_TcArguments32valueWSTRING(255)4096ClearI_TcArguments32ITcEventUniqueIdProvider32ITcUnknownGetUniqueIdHRESULT32idUDINT32FB_TcSourceInfo2848I_TcSourceInfonIdUDINT327974982879749852sNameSTRING(255)20487974986879749880ExtendNameBOOL8sExtensionSTRING(255)2048__getipDataITcSourceInfo32ipDataITcSourceInfo32propertyconditionalshow__getnIdUDINT32nIdUDINT32propertymonitoringcallResetToDefaultHRESULT32Clear__setnIdnIdUDINT32monitoringcallpropertymonitoringcall__setguidguidGUID128propertyEqualsToBOOL8ipOtherI_TcSourceInfo32__getguidGUID128guidGUID128property__getsNameSTRING(255)2048sNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__setsNamesNameSTRING(255)2048monitoringcallTcEncodingUTF-8propertymonitoringcallTcEncodingUTF-8PouTypeFunctionBlockno_explicit_calldo not call this POU directlyFB_TcEventBase3424I_ArgumentsChangeListenerfbSourceInfoFB_TcSourceInfo2848256conditionalshow__REQUESTEVENTCLASSNAME__FBRESULTFB_AsyncStrResult643232conditionalshow__REQUESTEVENTCLASSNAME__BBUSYBOOL83296conditionalshow__REQUESTEVENTTEXT__FBRESULTFB_AsyncStrResult643328conditionalshow__REQUESTEVENTTEXT__BBUSYBOOL83392conditionalshoweSeverityTcEventSeverity1679749980ipSourceInfoI_TcSourceInfo3279749960nEventIdUDINT3279750048nUniqueIdUDINT3279750052sEventClassNameSTRING(255)204879750008sEventTextSTRING(255)204879750056EqualsToEventClassBOOL8OtherEventClassGUID128_EventClassGUID128GetEventClassNameHRESULT32nLangIdDINT32fbResultFB_AsyncStrResult32ItemTypeInOutipTmpEventITcEvent32ipResultITcAsyncStringResult32hrHRESULT32ReleaseHRESULT32UpdateLangId__getipSourceInfoI_TcSourceInfo32ipSourceInfoI_TcSourceInfo32propertymonitoringcallEqualsToBOOL8ipOtherI_TcEventBase32__getipEventITcEvent32ipEventITcEvent32propertyconditionalshow__getEventClassGUID128EventClassGUID128ipTmpEventITcEvent32property__geteSeverityTcEventSeverity16eSeverityTcEventSeverity16ipTmpEventITcEvent32propertymonitoringcall__getstEventEntryTcEventEntry192stEventEntryTcEventEntry192propertyOnCreateHRESULT32EqualsToEventEntryBOOL8OtherEventClassGUID128nOtherEventIDUDINT32eOtherSeverityTcEventSeverity16RequestEventTextBOOL8nLangIdDINT32sResultSTRING(80)32nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputfbResultFB_AsyncStrResult64uselocation__REQUESTEVENTTEXT__FBRESULTbBusyBOOL8uselocation__REQUESTEVENTTEXT__BBUSYOnArgumentsChanged__getsEventClassNameSTRING(255)2048sEventClassNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getipArgumentsI_TcArguments32ipArgumentsI_TcArguments32propertyGetEventTextHRESULT32nLangIdDINT32fbResultFB_AsyncStrResult32ItemTypeInOutipTmpEventITcEvent32ipResultITcAsyncStringResult32hrHRESULT32GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32nJsonAttributeUDINT32ipTmpEventITcEvent32RequestEventClassNameBOOL8nLangIdDINT32sResultSTRING(80)32nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputfbResultFB_AsyncStrResult64uselocation__REQUESTEVENTCLASSNAME__FBRESULTbBusyBOOL8uselocation__REQUESTEVENTCLASSNAME__BBUSYEqualsToEventEntryExBOOL8stOtherTcEventEntry192__getnEventIdUDINT32nEventIdUDINT32ipTmpEventITcEvent32propertymonitoringcall__getnUniqueIdUDINT32nUniqueIdUDINT32ipTmpEventITcEvent32ipProviderITcEventUniqueIdProvider32propertymonitoringcall__getsEventTextSTRING(255)2048sEventTextSTRING(255)2048propertymonitoringcallTcEncodingUTF-8PouTypeFunctionBlockconditionalshow_all_localsno_explicit_calldo not call this POU directlyI_TcMessage32I_TcEventBaseSendHRESULT32nTimeStampULINT64ITcMessage32ITcEventSetJsonAttributeHRESULT32sJsonAttributePCCH32GetArgumentsHRESULT32pipArgumentsITcArguments32SendHRESULT32timeStampULINT64ITcMessage232ITcMessageGetTimeSentHRESULT32timeStampULINT32FB_TcMessage3488FB_TcEventBaseI_TcMessagenTimeSentULINT6479750080SetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32ItemTypeInOutCreateExHRESULT32stEventEntryTcEventEntry192ipSourceInfoI_TcSourceInfo32InitipMessageITcMessage32ipArgumentsITcArguments32ipSourceInfoITcSourceInfo32conditionalshow__getnTimeSentULINT64nTimeSentULINT64ipMessage2ITcMessage232nTimeStampULINT64propertymonitoringcallTcDisplayTypeGUID18071995-0000-0000-0000-000000000046CreateHRESULT32eventClassGUID128nEventIdUDINT32eSeverityTcEventSeverity16ipSourceInfoI_TcSourceInfo32hrHRESULT32ipArgumentsITcArguments32__getipEventITcEvent32ipEventITcEvent32propertyconditionalshowSendHRESULT32nTimeStampULINT64ReleaseHRESULT32PouTypeFunctionBlockreflectionconditionalshow_all_localsno_explicit_calldo not call this POU directlyF_TRIGbUseRawCountsBOOL81112bUpdatedBOOL81120stBeamParamsST_BeamParams17601152nRequestAssertionIDUDINT322912ST_System40xSwAlmRstBOOL80xAtVacuumBOOL88xFirstScanBOOL816xOverrideModeBOOL824xIOStateBOOL832analysis-33T_MaxString2048STRING(255)TcEventSeverity16INT01234plcAttribute_qualified_onlyplcAttribute_strictE_Subsystem16WORDNILVALUE0VACUUM1MPS2MOTION3FIELDBUS4SDS5OPTICS6I_ArgumentsChangeListener32PVOIDOnArgumentsChangedITcAsyncResult32ITcUnknownGetIsBusyHRESULT32bIsBusyBOOL3232GetHasErrorHRESULT32bErrorBOOL3232GetErrorCodeHRESULT32hresultHRESULT32FB_AsyncStrResult64bBusyBOOL879709800bErrorBOOL879709836hrErrorCodeHRESULT3279709844nStringSizeUDINT3279709824sResultSTRING(255)204879709840__getbBusyBOOL8bBusyBOOL8b32IsBusyBOOL3232propertymonitoringcallInitipResultITcAsyncStringResult32conditionalshowGetStringBOOL8sResultSTRING(80)32nResultUDINT32__getnStringSizeUDINT32nStringSizeUDINT32pEmptySTRING(80)32propertymonitoringcallClear__getbErrorBOOL8bErrorBOOL8b32HasErrorBOOL3232propertymonitoringcall__getsResultSTRING(255)2048sResultSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__gethrErrorCodeHRESULT32hrErrorCodeHRESULT32hrErrorHRESULT32propertymonitoringcallPouTypeFunctionBlockenable_dynamic_creationconditionalshow_all_localsno_explicit_calldo not call this POU directlyTcSourceInfoType32UDINT0124plcAttribute_qualified_onlyplcAttribute_strictTcSerializedSourceInfoType96eTypeTcSourceInfoType320obDataUDINT3232cbDataUDINT3264ITcSourceInfo32ITcUnknownGetNumTypesHRESULT32nCountUDINT32GetTypesHRESULT32ppSourceInfoTypesTcSerializedSourceInfoType32GetDataSizeHRESULT32cbDataUDINT32GetDataHRESULT32ppDataPVOID32ITcEvent32ITcUnknownGetEventClassHRESULT32eventClassGUID32GetEventIdHRESULT32eventIdUDINT32GetSeverityHRESULT32severityTcEventSeverity32GetSourceInfoHRESULT32pipSourceInfoITcSourceInfo32GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32nJsonAttributeUDINT32GetTextHRESULT32nLangIdDINT32pipResultITcAsyncStringResult32GetEventClassNameHRESULT32nLangIdDINT32pipResultITcAsyncStringResult32I_TcSourceInfo32PVOID__getguidGUID128property__getipDataITcSourceInfo32propertyconditionalshow__getnIdUDINT32propertymonitoringcall__getsNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8EqualsToBOOL8ipOtherI_TcSourceInfo32TcEventEntry192uuidEventClassGUID1280nEventIdUDINT32128eSeverityTcEventSeverity16160I_TcEventBase32PVOID__geteSeverityTcEventSeverity16propertymonitoringcall__getEventClassGUID128property__getipSourceInfoI_TcSourceInfo32propertymonitoringcall__getnEventIdUDINT32propertymonitoringcall__getsEventClassNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getsEventTextSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getstEventEntryTcEventEntry192propertyEqualsToBOOL8ipOtherI_TcEventBase32EqualsToEventClassBOOL8OtherEventClassGUID128EqualsToEventEntryBOOL8OtherEventClassGUID128nOtherEventIDUDINT32eOtherSeverityTcEventSeverity16EqualsToEventEntryExBOOL8stOtherTcEventEntry192GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32nJsonAttributeUDINT32RequestEventClassNameBOOL8nLangIdDINT32sResultSTRING(80)32nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputRequestEventTextBOOL8nLangIdDINT32sResultSTRING(80)32nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputIQueryInterface32PVOID__GetInterfacePointerBOOL8pRefDWORD32__GetInterfaceReferenceBOOL8nInterfaceIdDINT32pRefDWORD32TcEventArgumentType16INT012345678910111213141516171819plcAttribute_qualified_onlyplcAttribute_strictITcArguments32ITcUnknownCountHRESULT32nCountUDINT32AddArgumentHRESULT32eTypeTcEventArgumentType16pDataPVOID32cbDataUDINT32GetHRESULT32nIndexUDINT32eTypeTcEventArgumentType32ppDataPVOID32ClearHRESULT32GetArgumentTypesHRESULT32pArgumentTypesTcEventArgumentType32GetDataSizeHRESULT32cbDataUDINT32GetDataHRESULT32pDataBYTE32I_TcArguments32IQueryInterface__getipDataITcArguments32propertyconditionalshow__getnCountUDINT32propertyAddBlobI_TcArguments32pDataPVOID32cbDataUINT16AddBoolI_TcArguments32valueBOOL8AddByteI_TcArguments32valueBYTE8AddDIntI_TcArguments32valueDINT32AddDWordI_TcArguments32valueDWORD32AddEventReferenceExI_TcArguments32stEventEntryTcEventEntry192AddEventReferenceIdI_TcArguments32nEventIdUDINT32AddEventReferenceIdGuidI_TcArguments32nEventIdUDINT32EventClassGUID128AddIntI_TcArguments32valueINT16AddLIntI_TcArguments32valueLINT64AddLRealI_TcArguments32valueLREAL64AddRealI_TcArguments32valueREAL32AddSIntI_TcArguments32valueSINT8AddStringI_TcArguments32valueSTRING(80)32ItemTypeInOutAddStringByValueI_TcArguments32valueT_MaxString2048AddUDIntI_TcArguments32valueUDINT32AddUIntI_TcArguments32valueUINT16AddULIntI_TcArguments32valueULINT64AddUSIntI_TcArguments32valueUSINT8AddUtf8EncodedStringI_TcArguments32valueSTRING(80)32ItemTypeInOutAddWordI_TcArguments32valueWORD16AddWStringI_TcArguments32valueWSTRING(80)32ItemTypeInOutAddWStringByValueI_TcArguments32valueWSTRING(255)4096ClearI_TcArguments32ITcEventUniqueIdProvider32ITcUnknownGetUniqueIdHRESULT32idUDINT32FB_TcSourceInfo2848I_TcSourceInfonIdUDINT327970974079709764sNameSTRING(255)20487970978079709792ExtendNameBOOL8sExtensionSTRING(255)2048__getipDataITcSourceInfo32ipDataITcSourceInfo32propertyconditionalshow__getnIdUDINT32nIdUDINT32propertymonitoringcallResetToDefaultHRESULT32Clear__setnIdnIdUDINT32monitoringcallpropertymonitoringcall__setguidguidGUID128propertyEqualsToBOOL8ipOtherI_TcSourceInfo32__getguidGUID128guidGUID128property__getsNameSTRING(255)2048sNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__setsNamesNameSTRING(255)2048monitoringcallTcEncodingUTF-8propertymonitoringcallTcEncodingUTF-8PouTypeFunctionBlockno_explicit_calldo not call this POU directlyFB_TcEventBase3424I_ArgumentsChangeListenerfbSourceInfoFB_TcSourceInfo2848256conditionalshow__REQUESTEVENTCLASSNAME__FBRESULTFB_AsyncStrResult643232conditionalshow__REQUESTEVENTCLASSNAME__BBUSYBOOL83296conditionalshow__REQUESTEVENTTEXT__FBRESULTFB_AsyncStrResult643328conditionalshow__REQUESTEVENTTEXT__BBUSYBOOL83392conditionalshoweSeverityTcEventSeverity1679709892ipSourceInfoI_TcSourceInfo3279709872nEventIdUDINT3279709960nUniqueIdUDINT3279709964sEventClassNameSTRING(255)204879709920sEventTextSTRING(255)204879709968EqualsToEventClassBOOL8OtherEventClassGUID128_EventClassGUID128GetEventClassNameHRESULT32nLangIdDINT32fbResultFB_AsyncStrResult32ItemTypeInOutipTmpEventITcEvent32ipResultITcAsyncStringResult32hrHRESULT32ReleaseHRESULT32UpdateLangId__getipSourceInfoI_TcSourceInfo32ipSourceInfoI_TcSourceInfo32propertymonitoringcallEqualsToBOOL8ipOtherI_TcEventBase32__getipEventITcEvent32ipEventITcEvent32propertyconditionalshow__getEventClassGUID128EventClassGUID128ipTmpEventITcEvent32property__geteSeverityTcEventSeverity16eSeverityTcEventSeverity16ipTmpEventITcEvent32propertymonitoringcall__getstEventEntryTcEventEntry192stEventEntryTcEventEntry192propertyOnCreateHRESULT32EqualsToEventEntryBOOL8OtherEventClassGUID128nOtherEventIDUDINT32eOtherSeverityTcEventSeverity16RequestEventTextBOOL8nLangIdDINT32sResultSTRING(80)32nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputfbResultFB_AsyncStrResult64uselocation__REQUESTEVENTTEXT__FBRESULTbBusyBOOL8uselocation__REQUESTEVENTTEXT__BBUSYOnArgumentsChanged__getsEventClassNameSTRING(255)2048sEventClassNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getipArgumentsI_TcArguments32ipArgumentsI_TcArguments32propertyGetEventTextHRESULT32nLangIdDINT32fbResultFB_AsyncStrResult32ItemTypeInOutipTmpEventITcEvent32ipResultITcAsyncStringResult32hrHRESULT32GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32nJsonAttributeUDINT32ipTmpEventITcEvent32RequestEventClassNameBOOL8nLangIdDINT32sResultSTRING(80)32nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputfbResultFB_AsyncStrResult64uselocation__REQUESTEVENTCLASSNAME__FBRESULTbBusyBOOL8uselocation__REQUESTEVENTCLASSNAME__BBUSYEqualsToEventEntryExBOOL8stOtherTcEventEntry192__getnEventIdUDINT32nEventIdUDINT32ipTmpEventITcEvent32propertymonitoringcall__getnUniqueIdUDINT32nUniqueIdUDINT32ipTmpEventITcEvent32ipProviderITcEventUniqueIdProvider32propertymonitoringcall__getsEventTextSTRING(255)2048sEventTextSTRING(255)2048propertymonitoringcallTcEncodingUTF-8PouTypeFunctionBlockconditionalshow_all_localsno_explicit_calldo not call this POU directlyI_TcMessage32I_TcEventBaseSendHRESULT32nTimeStampULINT64ITcMessage32ITcEventSetJsonAttributeHRESULT32sJsonAttributePCCH32GetArgumentsHRESULT32pipArgumentsITcArguments32SendHRESULT32timeStampULINT64ITcMessage232ITcMessageGetTimeSentHRESULT32timeStampULINT32FB_TcMessage3488FB_TcEventBaseI_TcMessagenTimeSentULINT6479709992SetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32ItemTypeInOutCreateExHRESULT32stEventEntryTcEventEntry192ipSourceInfoI_TcSourceInfo32InitipMessageITcMessage32ipArgumentsITcArguments32ipSourceInfoITcSourceInfo32conditionalshow__getnTimeSentULINT64nTimeSentULINT64ipMessage2ITcMessage232nTimeStampULINT64propertymonitoringcallTcDisplayTypeGUID18071995-0000-0000-0000-000000000046CreateHRESULT32eventClassGUID128nEventIdUDINT32eSeverityTcEventSeverity16ipSourceInfoI_TcSourceInfo32hrHRESULT32ipArgumentsITcArguments32__getipEventITcEvent32ipEventITcEvent32propertyconditionalshowSendHRESULT32nTimeStampULINT64ReleaseHRESULT32PouTypeFunctionBlockreflectionconditionalshow_all_localsno_explicit_calldo not call this POU directlyF_TRIG64CLKBOOL832ItemTypeInputQBOOL840ItemTypeOutputMBOOL8481conditionalshowPouTypeFunctionBlockconditionalshow_all_localsR_TRIG64CLKBOOL832ItemTypeInputQBOOL840ItemTypeOutputMBOOL848conditionalshowPouTypeFunctionBlockconditionalshow_all_localsFB_LogMessage81984sMsgT_MaxString204832ItemTypeInputeSevrTcEventSeverity1620800ItemTypeInputeSubsystemE_Subsystem162096ItemTypeInputsJsonSTRING(7000)560082112{}ItemTypeInputnMinTimeViolationAcceptableINT16581285ItemTypeInputnLocalTripThresholdTIME32581441ItemTypeInputnTrickleTripThresholdTIME> LocalTripThreshold]]>3258176100ItemTypeInputnTripResetPeriodTIME3258208600000ItemTypeInputbEnableAutoResetBOOL8582401ItemTypeInputbInitializedBOOL8582480bInitFailedBOOL8582560sSubsystemSourceSTRING(80)64858264fbMessageFB_TcMessage3258912fbMessagesFB_TcMessage051744058944fbSourceFB_TcSourceInfo284876384ipResultMessageI_TcMessage3279232hrHRESULT3279264hrLastInternalErrorHRESULT3279296eTraceLevelTcEventSeverity16793280bFirstCallBOOL8793441sPathT_MaxString204879352instance-pathnoinitnTotalEventsUINT1681408nTimesViolatedINT1681424LastCallTimeULINT6481472CurrentCallTimeULINT6481536DeltaSinceLastCallULINT6481600WhenTripsClearedULINT6481664ftTrippedReleasedF_TRIG6481728bLocalTrickleTrippedBOOL881792bLocalTrippedBOOL881800bTrippedBOOL881808pytmc +]]>64CLKBOOL832ItemTypeInputQBOOL840ItemTypeOutputMBOOL848conditionalshowPouTypeFunctionBlockconditionalshow_all_localsFB_LogMessage81984sMsgT_MaxString204832ItemTypeInputeSevrTcEventSeverity1620800ItemTypeInputeSubsystemE_Subsystem162096ItemTypeInputsJsonSTRING(7000)560082112{}ItemTypeInputnMinTimeViolationAcceptableINT16581285ItemTypeInputnLocalTripThresholdTIME32581441ItemTypeInputnTrickleTripThresholdTIME> LocalTripThreshold]]>3258176100ItemTypeInputnTripResetPeriodTIME3258208600000ItemTypeInputbEnableAutoResetBOOL8582401ItemTypeInputbInitializedBOOL8582480bInitFailedBOOL8582560sSubsystemSourceSTRING(80)64858264fbMessageFB_TcMessage3258912fbMessagesFB_TcMessage051744058944fbSourceFB_TcSourceInfo284876384ipResultMessageI_TcMessage3279232hrHRESULT3279264hrLastInternalErrorHRESULT3279296eTraceLevelTcEventSeverity16793280bFirstCallBOOL8793441sPathT_MaxString204879352instance-pathnoinitnTimesViolatedINT1681408LastCallTimeULINT6481472CurrentCallTimeULINT6481536DeltaSinceLastCallULINT6481600WhenTripsClearedULINT6481664ftTrippedReleasedF_TRIG6481728bLocalTrickleTrippedBOOL881792bLocalTrippedBOOL881800bTrippedBOOL881808pytmc pv: Tripped io: i field: DESC Log message FB tripped @@ -210,7 +210,7 @@ External Setpoint Generation: 1: axis is a master axis 2: axis is master and slave 3: axis is a slave axis -]]>32160SvbEntriesUDINT32192SafEntriesUDINT32224AxisIdUDINT32256OpModeDWordNCTOPLC_AXIS_REF_OPMODE32288ActPosLREAL64320ModuloActPosLREAL64384ActiveControlLoopIndexUINT16448ControlLoopIndexUINT16464ModuloActTurnsDINT32480ActVeloLREAL64512PosDiffLREAL64576SetPosLREAL64640SetVeloLREAL64704SetAccLREAL64768TargetPosLREAL64832ModuloSetPosLREAL64896ModuloSetTurnsDINT32960CmdNoUINT16992CmdStateUINT161008SetJerkLREAL641024SetTorqueLREAL641088ActTorqueLREAL641152StateDWord2NCTOPLC_AXIS_REF_STATE2321216StateDWord3DWORD321248TouchProbeStateDWORD321280TouchProbeCounterDWORD321312CamCouplingStateNCTOPLC_AXIS_REF_CAMCOUPLINGSTATE08641344CamCouplingTableIDUINTARR81281408ActTorqueDerivativeLREAL641536SetTorqueDerivativeLREAL641600ActPosWithoutPosCorrectionLREAL641792ActAccLREAL641856DcTimeStampUDINT321920NcStructType2NCAXLESTRUCT_TOPLCNCAXLESTRUCT_TOPLC2NCAXLESTRUCT_TOPLC3NCAXLESTRUCT_TOPLC4ST_AdsAddress224NetIdSTRING(23)1920PortUINT16192ChannelUINT16208MC_AxisStates16INTMC_AXISSTATE_UNDEFINED0MC_AXISSTATE_DISABLED1MC_AXISSTATE_STANDSTILL2MC_AXISSTATE_ERRORSTOP3MC_AXISSTATE_STOPPING4MC_AXISSTATE_HOMING5MC_AXISSTATE_DISCRETEMOTION6MC_AXISSTATE_CONTINOUSMOTION7MC_AXISSTATE_SYNCHRONIZEDMOTION8ST_AxisOpModes136PositionAreaMonitoringBOOL80TargetPositionMonitoringBOOL88LoopModeBOOL816MotionMonitoringBOOL824PEHTimeMonitoringBOOL832BacklashCompensationBOOL840DelayedErrorReactionBOOL848ModuloBOOL856SimulationAxisBOOL864StopMonitoringBOOL872PositionLagMonitoringBOOL880VelocityLagMonitoringBOOL888SoftLimitMinMonitoringBOOL896SoftLimitMaxMonitoringBOOL8104PositionCorrectionBOOL8112AllowSlaveCommandsBOOL8120AllowExtSetAxisCommandsBOOL8128ST_AxisStatus768UpdateTaskIndexBYTE80UpdateCycleTimeLREAL6464CycleCounterUDINT32128NcCycleCounterUDINT32160MotionStateMC_AxisStates16192ErrorBOOL8208ErrorIDUDINT32224displaymodehexErrorStopBOOL8256DisabledBOOL8264StoppingBOOL8272StandStillBOOL8280DiscreteMotionBOOL8288ContinuousMotionBOOL8296SynchronizedMotionBOOL8304HomingBOOL8312ConstantVelocityBOOL8320AcceleratingBOOL8328DeceleratingBOOL8336OperationalBOOL8344ControlLoopClosedBOOL8352HasJobBOOL8360HasBeenStoppedBOOL8368NewTargetPositionBOOL8376InPositionAreaBOOL8384InTargetPositionBOOL8392ProtectedModeBOOL8400HomedBOOL8408HomingBusyBOOL8416MotionCommandsLockedBOOL8424SoftLimitMinExceededBOOL8432SoftLimitMaxExceededBOOL8440MovingBOOL8448PositiveDirectionBOOL8456NegativeDirectionBOOL8464NotMovingBOOL8472CompensatingBOOL8480ExtSetPointGenEnabledBOOL8488PhasingActiveBOOL8496ExternalLatchValidBOOL8504CamDataQueuedBOOL8512CamTableQueuedBOOL8520CamScalingPendingBOOL8528CmdBufferedBOOL8536PTPmodeBOOL8544DriveDeviceErrorBOOL8552IoDataInvalidBOOL8560ErrorPropagationDelayedBOOL8568DriveLimitActiveBOOL8576CoupledBOOL8584OpModeST_AxisOpModes136592NcApplicationRequestBOOL8728T_AmsNetIdArr48AMSNETIDE_NcDriveType32DWORDNcDriveType_undefined0NcDriveType_M2400_DAC11NcDriveType_M2400_DAC22NcDriveType_M2400_DAC33NcDriveType_M2400_DAC44NcDriveType_KL4XXX5NcDriveType_KL4XXX_NonLinear6NcDriveType_Discete_TwoSpeed7NcDriveType_Stepper8NcDriveType_Sercos9NcDriveType_KL505110NcDriveType_AX2000_B20011NcDriveType_ProfiDrive12NcDriveType_Universal13NcDriveType_NcBackplane14NcDriveType_CANopen_Lenze15NcDriveType_CANopen_DS402_MDP74216NcDriveType_AX2000_B90017NcDriveType_KL2531_Stepper20NcDriveType_KL2532_DC21NcDriveType_TCOM22 Interface to Soft Drive]]>NcDriveType_MDP_73323NcDriveType_MDP_70324E_NcEncoderType32DWORDNcEncoderType_undefined0NcEncoderType_Simulation1NcEncoderType_ABS_M30002NcEncoderType_INC_M31X03NcEncoderType_INC_KL51014NcEncoderType_ABS_KL5001_SSI5NcEncoderType_INC_KL50516NcEncoderType_ABS_KL30XX7NcEncoderType_INC_Sercos_P8NcEncoderType_INC_Sercos_PV9NcEncoderType_INC_Binary10NcEncoderType_ABS_M251011NcEncoderType_ABS_FOX5012NcEncoderType_ABS_HYDRAULIC_FORCE13NcEncoderType_INC_AX2000_B20014NcEncoderType_INC_PROFIDRIVE15NcEncoderType_INC_UNIVERSAL16NcEncoderType_INC_NCBACKPLANE17NcEncoderType_INC_CANOPEN_LENZE18NcEncoderType_INC_CANOPEN_DS402_MDP513_MDP74219NcEncoderType_INC_AX2000_B90020NcEncoderType_INC_KL515121NcEncoderType_INC_IP520924NcEncoderType_INC_KL2531_Stepper25NcEncoderType_INC_KL2532_DC26NcEncoderType_INC_TIMEBASEGENERATOR27NcEncoderType_INC_TCOM28 Interface to Soft Drive Encoder]]>NcEncoderType_INC_CANOPEN_MDP513_64BIT29NcEncoderType_SPECIFIC100E_NcAxisType32DWORDNcAxisType_undefined0NcAxisType_Continious1NcAxisType_Discrete_TwoSpeed2NcAxisType_LowCostStepper_DigIO3NcAxisType_Encoder5NcAxisType_Hydraulic6NcAxisType_TimeGenerator7NcAxisType_Specific100ST_DriveAddress672NetIDT_AmsNetID1920NetIdBytesT_AmsNetIdArr48192SlaveAddressT_AmsPort16240ChannelBYTE8256NcDriveIdDWORD32288NcDriveIndexDWORD32320NcDriveTypeE_NcDriveType32352NcEncoderIdDWORD32384NcEncoderIndexDWORD32416NcEncoderTypeE_NcEncoderType32448NcAxisIdDWORD32480NcAxisTypeE_NcAxisType32512TcSoftDriveObjectIdOTCID32544conditionalshowTcDriveObjectIdOTCID32576TcEncoderObjectIdOTCID32608TcAxisObjectIdOTCID32640_E_PhasingState16INTPhasingInactive0PhasingActivated1PhasingAborted2_InternalAxisRefData128NcCycleCounterAvailableBOOL80NcCycleCounter_AtReadStatusCallUDINT3232LastTaskIndex_AtReadStatusCallBYTE864CounterSameTaskIndex_AtReadStatusCallUINT1680PhasingState_E_PhasingState1696conditionalshowAXIS_REF32160SvbEntriesUDINT32192SafEntriesUDINT32224AxisIdUDINT32256OpModeDWordNCTOPLC_AXIS_REF_OPMODE32288ActPosLREAL64320ModuloActPosLREAL64384ActiveControlLoopIndexUINT16448ControlLoopIndexUINT16464ModuloActTurnsDINT32480ActVeloLREAL64512PosDiffLREAL64576SetPosLREAL64640SetVeloLREAL64704SetAccLREAL64768TargetPosLREAL64832ModuloSetPosLREAL64896ModuloSetTurnsDINT32960CmdNoUINT16992CmdStateUINT161008SetJerkLREAL641024SetTorqueLREAL641088ActTorqueLREAL641152StateDWord2NCTOPLC_AXIS_REF_STATE2321216StateDWord3DWORD321248TouchProbeStateDWORD321280TouchProbeCounterDWORD321312CamCouplingStateNCTOPLC_AXIS_REF_CAMCOUPLINGSTATE08641344CamCouplingTableIDUINTARR81281408ActTorqueDerivativeLREAL641536SetTorqueDerivativeLREAL641600ActPosWithoutPosCorrectionLREAL641792ActAccLREAL641856DcTimeStampUDINT321920NcStructType2NCAXLESTRUCT_TOPLCNCAXLESTRUCT_TOPLC2NCAXLESTRUCT_TOPLC3NCAXLESTRUCT_TOPLC4ST_AdsAddress224NetIdSTRING(23)1920PortUINT16192ChannelUINT16208MC_AxisStates16INTMC_AXISSTATE_UNDEFINED0MC_AXISSTATE_DISABLED1MC_AXISSTATE_STANDSTILL2MC_AXISSTATE_ERRORSTOP3MC_AXISSTATE_STOPPING4MC_AXISSTATE_HOMING5MC_AXISSTATE_DISCRETEMOTION6MC_AXISSTATE_CONTINOUSMOTION7MC_AXISSTATE_SYNCHRONIZEDMOTION8ST_AxisOpModes136PositionAreaMonitoringBOOL80TargetPositionMonitoringBOOL88LoopModeBOOL816MotionMonitoringBOOL824PEHTimeMonitoringBOOL832BacklashCompensationBOOL840DelayedErrorReactionBOOL848ModuloBOOL856SimulationAxisBOOL864StopMonitoringBOOL872PositionLagMonitoringBOOL880VelocityLagMonitoringBOOL888SoftLimitMinMonitoringBOOL896SoftLimitMaxMonitoringBOOL8104PositionCorrectionBOOL8112AllowSlaveCommandsBOOL8120AllowExtSetAxisCommandsBOOL8128ST_AxisStatus768UpdateTaskIndexBYTE80UpdateCycleTimeLREAL6464CycleCounterUDINT32128NcCycleCounterUDINT32160MotionStateMC_AxisStates16192ErrorBOOL8208ErrorIDUDINT32224displaymodehexErrorStopBOOL8256DisabledBOOL8264StoppingBOOL8272StandStillBOOL8280DiscreteMotionBOOL8288ContinuousMotionBOOL8296SynchronizedMotionBOOL8304HomingBOOL8312ConstantVelocityBOOL8320AcceleratingBOOL8328DeceleratingBOOL8336OperationalBOOL8344ControlLoopClosedBOOL8352HasJobBOOL8360HasBeenStoppedBOOL8368NewTargetPositionBOOL8376InPositionAreaBOOL8384InTargetPositionBOOL8392ProtectedModeBOOL8400HomedBOOL8408HomingBusyBOOL8416MotionCommandsLockedBOOL8424SoftLimitMinExceededBOOL8432SoftLimitMaxExceededBOOL8440MovingBOOL8448PositiveDirectionBOOL8456NegativeDirectionBOOL8464NotMovingBOOL8472CompensatingBOOL8480ExtSetPointGenEnabledBOOL8488PhasingActiveBOOL8496ExternalLatchValidBOOL8504CamDataQueuedBOOL8512CamTableQueuedBOOL8520CamScalingPendingBOOL8528CmdBufferedBOOL8536PTPmodeBOOL8544DriveDeviceErrorBOOL8552IoDataInvalidBOOL8560ErrorPropagationDelayedBOOL8568DriveLimitActiveBOOL8576CoupledBOOL8584OpModeST_AxisOpModes136592NcApplicationRequestBOOL8728AMSNETID48BYTE06%d.%d.%d.%d.%d.%d[0][1][2][3][4][5]T_AmsNetIdArr48AMSNETIDE_NcDriveType32DWORDNcDriveType_undefined0NcDriveType_M2400_DAC11NcDriveType_M2400_DAC22NcDriveType_M2400_DAC33NcDriveType_M2400_DAC44NcDriveType_KL4XXX5NcDriveType_KL4XXX_NonLinear6NcDriveType_Discete_TwoSpeed7NcDriveType_Stepper8NcDriveType_Sercos9NcDriveType_KL505110NcDriveType_AX2000_B20011NcDriveType_ProfiDrive12NcDriveType_Universal13NcDriveType_NcBackplane14NcDriveType_CANopen_Lenze15NcDriveType_CANopen_DS402_MDP74216NcDriveType_AX2000_B90017NcDriveType_KL2531_Stepper20NcDriveType_KL2532_DC21NcDriveType_TCOM22 Interface to Soft Drive]]>NcDriveType_MDP_73323NcDriveType_MDP_70324E_NcEncoderType32DWORDNcEncoderType_undefined0NcEncoderType_Simulation1NcEncoderType_ABS_M30002NcEncoderType_INC_M31X03NcEncoderType_INC_KL51014NcEncoderType_ABS_KL5001_SSI5NcEncoderType_INC_KL50516NcEncoderType_ABS_KL30XX7NcEncoderType_INC_Sercos_P8NcEncoderType_INC_Sercos_PV9NcEncoderType_INC_Binary10NcEncoderType_ABS_M251011NcEncoderType_ABS_FOX5012NcEncoderType_ABS_HYDRAULIC_FORCE13NcEncoderType_INC_AX2000_B20014NcEncoderType_INC_PROFIDRIVE15NcEncoderType_INC_UNIVERSAL16NcEncoderType_INC_NCBACKPLANE17NcEncoderType_INC_CANOPEN_LENZE18NcEncoderType_INC_CANOPEN_DS402_MDP513_MDP74219NcEncoderType_INC_AX2000_B90020NcEncoderType_INC_KL515121NcEncoderType_INC_IP520924NcEncoderType_INC_KL2531_Stepper25NcEncoderType_INC_KL2532_DC26NcEncoderType_INC_TIMEBASEGENERATOR27NcEncoderType_INC_TCOM28 Interface to Soft Drive Encoder]]>NcEncoderType_INC_CANOPEN_MDP513_64BIT29NcEncoderType_SPECIFIC100E_NcAxisType32DWORDNcAxisType_undefined0NcAxisType_Continious1NcAxisType_Discrete_TwoSpeed2NcAxisType_LowCostStepper_DigIO3NcAxisType_Encoder5NcAxisType_Hydraulic6NcAxisType_TimeGenerator7NcAxisType_Specific100ST_DriveAddress672NetIDT_AmsNetID1920NetIdBytesT_AmsNetIdArr48192SlaveAddressT_AmsPort16240ChannelBYTE8256NcDriveIdDWORD32288NcDriveIndexDWORD32320NcDriveTypeE_NcDriveType32352NcEncoderIdDWORD32384NcEncoderIndexDWORD32416NcEncoderTypeE_NcEncoderType32448NcAxisIdDWORD32480NcAxisTypeE_NcAxisType32512TcSoftDriveObjectIdOTCID32544conditionalshowTcDriveObjectIdOTCID32576TcEncoderObjectIdOTCID32608TcAxisObjectIdOTCID32640_E_PhasingState16INTPhasingInactive0PhasingActivated1PhasingAborted2_InternalAxisRefData128NcCycleCounterAvailableBOOL80NcCycleCounter_AtReadStatusCallUDINT3232LastTaskIndex_AtReadStatusCallBYTE864CounterSameTaskIndex_AtReadStatusCallUINT1680PhasingState_E_PhasingState1696conditionalshowAXIS_REF6446848-99999999BWD_STARTLREAL644691299999999PouTypeFunctionBlockFB_EncSaveRestore2880stMotionStageDUT_MotionStage3232ItemTypeInOutbEnableBOOL864ItemTypeInputfbSetPosMC_SetPosition1984128timerTON2242112bInitBOOL82336bLoadBOOL82344nLatchErrorUDINT322368bEncErrorBOOL82400tRetryDelayTIME3224321000nMaxRetriesUINT16246410nCurrTriesUINT1624800bWaitRetryBOOL82496tonRetryTON2242528bSavedBOOL82752TcPersistentfPositionLREAL642816TcPersistentPouTypeFunctionBlockFB_LogMotionError83136stMotionStageDUT_MotionStage3232ItemTypeInOutbEnableBOOL864ItemTypeInputfbLogMessageFB_LogMessage81984128rtNewErrorR_TRIG6482112bChangedErrorBOOL882176sPrevErrSTRING(80)64882184fbJsonFB_JsonSaxWriter25682848PouTypeFunctionBlockFB_SetEnables64stMotionStageDUT_MotionStage3232ItemTypeInOutPouTypeFunctionBlockFB_EncoderValue64stMotionStageDUT_MotionStage3232ItemTypeInOutPouTypeFunctionBlockMC_ReadParameterSet1600ParameterST_AxisParameterSet3232ItemTypeInOutAxisAXIS_REF3264ItemTypeInOutExecuteBOOL896ItemTypeInputDoneBOOL8104ItemTypeOutputBusyBOOL8112ItemTypeOutputErrorBOOL8120ItemTypeOutputErrorIDUDINT32128ItemTypeOutputdisplaymodehexTriggerExecuteR_TRIG64160state_E_TcMC_STATES16224100fbAdsReadADSREAD1248256SizeofPayloadDataUDINT321504SizeofPayloadData64ULINT641536ActGetSizeOfParameterSetPouTypeFunctionBlockFB_MotionStageNCParams2112stMotionStageDUT_MotionStage3232ItemTypeInOutbEnableBOOL864ItemTypeInputtRefreshDelayTIME3296ItemTypeInputbErrorBOOL8128ItemTypeOutputmcReadParamsMC_ReadParameterSet1600192timerTON2241792bExecuteBOOL820161nLatchErrIdUDINT322048PouTypeFunctionBlockFB_MotionStage299392stMotionStageDUT_MotionStage3232ItemTypeInOutfbDriveVirtualFB_DriveVirtual16345664fbMotionHomeFB_MotionHoming46976163520fbSaveRestoreFB_EncSaveRestore2880210496fbLogErrorFB_LogMotionError83136213376bExecuteBOOL8296512bExecMoveBOOL8296520bExecHomeBOOL8296528bFwdHitBOOL8296536bBwdHitBOOL8296544ftExecF_TRIG64296576rtExecR_TRIG64296640rtUserExecR_TRIG64296704rtTargetR_TRIG64296768rtHomedR_TRIG64296832fbSetEnablesFB_SetEnables64296896bPosGoalBOOL8296960bNegGoalBOOL8296968fbEncoderValueFB_EncoderValue64296992fbNCParamsFB_MotionStageNCParams2112297088bNewMoveReqBOOL8299200bPrepareDisableBOOL8299208bMoveCmdBOOL8299216rtMoveCmdShortcutR_TRIG64299232rtHomeCmdShortcutR_TRIG64299296PouTypeFunctionBlockVERSION64uiMajorUINT160uiMinorUINT1616uiServicePackUINT1632uiPatchUINT1648PlcAppSystemInfo2048ObjIdOTCID320TaskCntUDINT3232OnlineChangeCntUDINT3264FlagsDWORD3296AdsPortUINT16128BootDataLoadedBOOL8144OldBootDataBOOL8152AppTimestampDT32160KeepOutputsOnBPBOOL8192ShutdownInProgressBOOL8200LicensesPendingBOOL8208BSODOccuredBOOL8216LoggedInBOOL8224TComSrvPtrITComObjectServer32256TcComInterfaceAppNameSTRING(63)512512ProjectNameSTRING(63)5121024PlcTaskSystemInfo1024ObjIdOTCID320CycleTimeUDINT3232PriorityUINT1664AdsPortUINT1680CycleCountUDINT3296DcTaskTimeLINT64128LastExecTimeUDINT32192FirstCycleBOOL8224CycleTimeExceededBOOL8232InCallAfterOutputUpdateBOOL8240RTViolationBOOL8248TaskNameSTRING(63)512512_Implicit_KindOfTask16INT_implicit_cyclic0_implicit_event1_implicit_external2_implicit_freewheeling3_Implicit_Jitter_Distribution48wRangeMaxWORD160wCountJitterNegWORD1616wCountJitterPosWORD1632hide_Implicit_Task_Info704dwVersionDWORD320pszNameSTRING(80)3232nPriorityINT1664KindOf_Implicit_KindOfTask1680bWatchdogBOOL896bProfilingTaskBOOL8104dwEventFunctionPointerBYTE32128pszExternalEventSTRING(80)32160dwTaskEntryFunctionPointerBYTE32192dwWatchdogSensitivityDWORD32224dwIntervalDWORD32256dwWatchdogTimeDWORD32288dwLastCycleTimeDWORD32320dwAverageCycleTimeDWORD32352dwMaxCycleTimeDWORD32384dwMinCycleTimeDWORD32416diJitterDINT32448diJitterMinDINT32480diJitterMaxDINT32512dwCycleCountDWORD32544wTaskStatusWORD16576wNumOfJitterDistributionsWORD16592pJitterDistribution_Implicit_Jitter_Distribution32608bWithinSPSTimeSlicingBOOL8640byDummyBYTE8648bShouldBlockBOOL8656bActiveBOOL8664dwIECCycleCountDWORD32672hideLCLSGeneralEventClassCriticalCriticalErrorErrorWarningWarningInfoInfoVerboseVerboselamp_motion{08500001-0000-0000-F000-000000000064}0PlcTask#x020100300PlcTask Inputs080281600lcls_twincat_motion.LCLS_General.DefaultGlobals.stSys.I_EcatMaster148AMSNETIDnamingomitTcAddressTypeInput4101944Main.M1.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634650624Main.M1.bLimitForwardEnable8BOOLpytmc + ]]>6446848-99999999BWD_STARTLREAL644691299999999PouTypeFunctionBlockFB_EncSaveRestore2880stMotionStageDUT_MotionStage3232ItemTypeInOutbEnableBOOL864ItemTypeInputfbSetPosMC_SetPosition1984128timerTON2242112bInitBOOL82336bLoadBOOL82344nLatchErrorUDINT322368bEncErrorBOOL82400tRetryDelayTIME3224321000nMaxRetriesUINT16246410nCurrTriesUINT1624800bWaitRetryBOOL82496tonRetryTON2242528bSavedBOOL82752TcPersistentfPositionLREAL642816TcPersistentPouTypeFunctionBlockFB_LogMotionError83136stMotionStageDUT_MotionStage3232ItemTypeInOutbEnableBOOL864ItemTypeInputfbLogMessageFB_LogMessage81984128rtNewErrorR_TRIG6482112bChangedErrorBOOL882176sPrevErrSTRING(80)64882184fbJsonFB_JsonSaxWriter25682848PouTypeFunctionBlockFB_SetEnables64stMotionStageDUT_MotionStage3232ItemTypeInOutPouTypeFunctionBlockFB_EncoderValue64stMotionStageDUT_MotionStage3232ItemTypeInOutPouTypeFunctionBlockMC_ReadParameterSet1600ParameterST_AxisParameterSet3232ItemTypeInOutAxisAXIS_REF3264ItemTypeInOutExecuteBOOL896ItemTypeInputDoneBOOL8104ItemTypeOutputBusyBOOL8112ItemTypeOutputErrorBOOL8120ItemTypeOutputErrorIDUDINT32128ItemTypeOutputdisplaymodehexTriggerExecuteR_TRIG64160state_E_TcMC_STATES16224100fbAdsReadADSREAD1248256SizeofPayloadDataUDINT321504SizeofPayloadData64ULINT641536ActGetSizeOfParameterSetPouTypeFunctionBlockFB_MotionStageNCParams2112stMotionStageDUT_MotionStage3232ItemTypeInOutbEnableBOOL864ItemTypeInputtRefreshDelayTIME3296ItemTypeInputbErrorBOOL8128ItemTypeOutputmcReadParamsMC_ReadParameterSet1600192timerTON2241792bExecuteBOOL820161nLatchErrIdUDINT322048PouTypeFunctionBlockFB_MotionStage299392stMotionStageDUT_MotionStage3232ItemTypeInOutfbDriveVirtualFB_DriveVirtual16345664fbMotionHomeFB_MotionHoming46976163520fbSaveRestoreFB_EncSaveRestore2880210496fbLogErrorFB_LogMotionError83136213376bExecuteBOOL8296512bExecMoveBOOL8296520bExecHomeBOOL8296528bFwdHitBOOL8296536bBwdHitBOOL8296544ftExecF_TRIG64296576rtExecR_TRIG64296640rtUserExecR_TRIG64296704rtTargetR_TRIG64296768rtHomedR_TRIG64296832fbSetEnablesFB_SetEnables64296896bPosGoalBOOL8296960bNegGoalBOOL8296968fbEncoderValueFB_EncoderValue64296992fbNCParamsFB_MotionStageNCParams2112297088bNewMoveReqBOOL8299200bPrepareDisableBOOL8299208bMoveCmdBOOL8299216rtMoveCmdShortcutR_TRIG64299232rtHomeCmdShortcutR_TRIG64299296PouTypeFunctionBlockVERSION64uiMajorUINT160uiMinorUINT1616uiServicePackUINT1632uiPatchUINT1648EPlcPersistentStatus8USINT012PlcAppSystemInfo2048ObjIdOTCID320TaskCntUDINT3232OnlineChangeCntUDINT3264FlagsDWORD3296AdsPortUINT16128BootDataLoadedBOOL8144OldBootDataBOOL8152AppTimestampDT32160KeepOutputsOnBPBOOL8192ShutdownInProgressBOOL8200LicensesPendingBOOL8208BSODOccuredBOOL8216LoggedInBOOL8224PersistentStatusEPlcPersistentStatus8232TComSrvPtrITComObjectServer32256TcComInterfaceAppNameSTRING(63)512512ProjectNameSTRING(63)5121024PlcTaskSystemInfo1024ObjIdOTCID320CycleTimeUDINT3232PriorityUINT1664AdsPortUINT1680CycleCountUDINT3296DcTaskTimeLINT64128LastExecTimeUDINT32192FirstCycleBOOL8224CycleTimeExceededBOOL8232InCallAfterOutputUpdateBOOL8240RTViolationBOOL8248TaskNameSTRING(63)512512_Implicit_KindOfTask16INT_implicit_cyclic0_implicit_event1_implicit_external2_implicit_freewheeling3_Implicit_Jitter_Distribution48wRangeMaxWORD160wCountJitterNegWORD1616wCountJitterPosWORD1632hide_Implicit_Task_Info704dwVersionDWORD320pszNameSTRING(80)3232nPriorityINT1664KindOf_Implicit_KindOfTask1680bWatchdogBOOL896bProfilingTaskBOOL8104dwEventFunctionPointerBYTE32128pszExternalEventSTRING(80)32160dwTaskEntryFunctionPointerBYTE32192dwWatchdogSensitivityDWORD32224dwIntervalDWORD32256dwWatchdogTimeDWORD32288dwLastCycleTimeDWORD32320dwAverageCycleTimeDWORD32352dwMaxCycleTimeDWORD32384dwMinCycleTimeDWORD32416diJitterDINT32448diJitterMinDINT32480diJitterMaxDINT32512dwCycleCountDWORD32544wTaskStatusWORD16576wNumOfJitterDistributionsWORD16592pJitterDistribution_Implicit_Jitter_Distribution32608bWithinSPSTimeSlicingBOOL8640byDummyBYTE8648bShouldBlockBOOL8656bActiveBOOL8664dwIECCycleCountDWORD32672hideLCLSGeneralEventClassCriticalCriticalErrorErrorWarningWarningInfoInfoVerboseVerboselamp_motion{08500001-0000-0000-F000-000000000064}0PlcTask#x020100300PlcTask Inputs080281600Main.M1.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634650560Main.M1.bLimitForwardEnable8BOOLpytmc pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634658624Main.M1.bLimitBackwardEnable8BOOLpytmc + TcAddressTypeInput634658560Main.M1.bLimitBackwardEnable8BOOLpytmc pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634658632Main.M1.bHome8BOOLpytmc + TcAddressTypeInput634658568Main.M1.bHome8BOOLpytmc pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634658640Main.M1.bHardwareEnable8BOOLpytmc + TcAddressTypeInput634658576Main.M1.bHardwareEnable8BOOLpytmc pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634658656Main.M1.nRawEncoderULINT64ULINTTcAddressTypeInput634658688Main.M1.nRawEncoderUINT16UINTTcAddressTypeInput634658752Main.M1.nRawEncoderINT16INTTcAddressTypeInput634658768Main.M2.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634671872Main.M2.bLimitForwardEnable8BOOLpytmc + TcAddressTypeInput634658592Main.M1.nRawEncoderULINT64ULINTTcAddressTypeInput634658624Main.M1.nRawEncoderUINT16UINTTcAddressTypeInput634658688Main.M1.nRawEncoderINT16INTTcAddressTypeInput634658704Main.M2.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634671808Main.M2.bLimitForwardEnable8BOOLpytmc pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634679872Main.M2.bLimitBackwardEnable8BOOLpytmc + TcAddressTypeInput634679808Main.M2.bLimitBackwardEnable8BOOLpytmc pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634679880Main.M2.bHome8BOOLpytmc + TcAddressTypeInput634679816Main.M2.bHome8BOOLpytmc pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634679888Main.M2.bHardwareEnable8BOOLpytmc + TcAddressTypeInput634679824Main.M2.bHardwareEnable8BOOLpytmc pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634679904Main.M2.nRawEncoderULINT64ULINTTcAddressTypeInput634679936Main.M2.nRawEncoderUINT16UINTTcAddressTypeInput634680000Main.M2.nRawEncoderINT16INTTcAddressTypeInput634680016Main.M3.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634693120Main.M3.bLimitForwardEnable8BOOLpytmc + TcAddressTypeInput634679840Main.M2.nRawEncoderULINT64ULINTTcAddressTypeInput634679872Main.M2.nRawEncoderUINT16UINTTcAddressTypeInput634679936Main.M2.nRawEncoderINT16INTTcAddressTypeInput634679952Main.M3.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634693056Main.M3.bLimitForwardEnable8BOOLpytmc pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634701120Main.M3.bLimitBackwardEnable8BOOLpytmc + TcAddressTypeInput634701056Main.M3.bLimitBackwardEnable8BOOLpytmc pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634701128Main.M3.bHome8BOOLpytmc + TcAddressTypeInput634701064Main.M3.bHome8BOOLpytmc pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634701136Main.M3.bHardwareEnable8BOOLpytmc + TcAddressTypeInput634701072Main.M3.bHardwareEnable8BOOLpytmc pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634701152Main.M3.nRawEncoderULINT64ULINTTcAddressTypeInput634701184Main.M3.nRawEncoderUINT16UINTTcAddressTypeInput634701248Main.M3.nRawEncoderINT16INTTcAddressTypeInput634701264Main.M4.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634714368Main.M4.bLimitForwardEnable8BOOLpytmc + TcAddressTypeInput634701088Main.M3.nRawEncoderULINT64ULINTTcAddressTypeInput634701120Main.M3.nRawEncoderUINT16UINTTcAddressTypeInput634701184Main.M3.nRawEncoderINT16INTTcAddressTypeInput634701200Main.M4.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634714304Main.M4.bLimitForwardEnable8BOOLpytmc pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634722368Main.M4.bLimitBackwardEnable8BOOLpytmc + TcAddressTypeInput634722304Main.M4.bLimitBackwardEnable8BOOLpytmc pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634722376Main.M4.bHome8BOOLpytmc + TcAddressTypeInput634722312Main.M4.bHome8BOOLpytmc pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634722384Main.M4.bHardwareEnable8BOOLpytmc + TcAddressTypeInput634722320Main.M4.bHardwareEnable8BOOLpytmc pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634722400Main.M4.nRawEncoderULINT64ULINTTcAddressTypeInput634722432Main.M4.nRawEncoderUINT16UINTTcAddressTypeInput634722496Main.M4.nRawEncoderINT16INTTcAddressTypeInput634722512Main.M5.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634735616Main.M5.bLimitForwardEnable8BOOLpytmc + TcAddressTypeInput634722336Main.M4.nRawEncoderULINT64ULINTTcAddressTypeInput634722368Main.M4.nRawEncoderUINT16UINTTcAddressTypeInput634722432Main.M4.nRawEncoderINT16INTTcAddressTypeInput634722448Main.M5.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634735552Main.M5.bLimitForwardEnable8BOOLpytmc pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634743616Main.M5.bLimitBackwardEnable8BOOLpytmc + TcAddressTypeInput634743552Main.M5.bLimitBackwardEnable8BOOLpytmc pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634743624Main.M5.bHome8BOOLpytmc + TcAddressTypeInput634743560Main.M5.bHome8BOOLpytmc pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634743632Main.M5.bHardwareEnable8BOOLpytmc + TcAddressTypeInput634743568Main.M5.bHardwareEnable8BOOLpytmc pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634743648Main.M5.nRawEncoderULINT64ULINTTcAddressTypeInput634743680Main.M5.nRawEncoderUINT16UINTTcAddressTypeInput634743744Main.M5.nRawEncoderINT16INTTcAddressTypeInput634743760Main.M6.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634756864Main.M6.bLimitForwardEnable8BOOLpytmc + TcAddressTypeInput634743584Main.M5.nRawEncoderULINT64ULINTTcAddressTypeInput634743616Main.M5.nRawEncoderUINT16UINTTcAddressTypeInput634743680Main.M5.nRawEncoderINT16INTTcAddressTypeInput634743696Main.M6.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634756800Main.M6.bLimitForwardEnable8BOOLpytmc pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634764864Main.M6.bLimitBackwardEnable8BOOLpytmc + TcAddressTypeInput634764800Main.M6.bLimitBackwardEnable8BOOLpytmc pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634764872Main.M6.bHome8BOOLpytmc + TcAddressTypeInput634764808Main.M6.bHome8BOOLpytmc pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634764880Main.M6.bHardwareEnable8BOOLpytmc + TcAddressTypeInput634764816Main.M6.bHardwareEnable8BOOLpytmc pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634764896Main.M6.nRawEncoderULINT64ULINTTcAddressTypeInput634764928Main.M6.nRawEncoderUINT16UINTTcAddressTypeInput634764992Main.M6.nRawEncoderINT16INTTcAddressTypeInput634765008Main.M7.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634778112Main.M7.bLimitForwardEnable8BOOLpytmc + TcAddressTypeInput634764832Main.M6.nRawEncoderULINT64ULINTTcAddressTypeInput634764864Main.M6.nRawEncoderUINT16UINTTcAddressTypeInput634764928Main.M6.nRawEncoderINT16INTTcAddressTypeInput634764944Main.M7.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634778048Main.M7.bLimitForwardEnable8BOOLpytmc pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634786112Main.M7.bLimitBackwardEnable8BOOLpytmc + TcAddressTypeInput634786048Main.M7.bLimitBackwardEnable8BOOLpytmc pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634786120Main.M7.bHome8BOOLpytmc + TcAddressTypeInput634786056Main.M7.bHome8BOOLpytmc pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634786128Main.M7.bHardwareEnable8BOOLpytmc + TcAddressTypeInput634786064Main.M7.bHardwareEnable8BOOLpytmc pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634786144Main.M7.nRawEncoderULINT64ULINTTcAddressTypeInput634786176Main.M7.nRawEncoderUINT16UINTTcAddressTypeInput634786240Main.M7.nRawEncoderINT16INTTcAddressTypeInput634786256Main.M8.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634799360Main.M8.bLimitForwardEnable8BOOLpytmc + TcAddressTypeInput634786080Main.M7.nRawEncoderULINT64ULINTTcAddressTypeInput634786112Main.M7.nRawEncoderUINT16UINTTcAddressTypeInput634786176Main.M7.nRawEncoderINT16INTTcAddressTypeInput634786192Main.M8.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634799296Main.M8.bLimitForwardEnable8BOOLpytmc pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634807360Main.M8.bLimitBackwardEnable8BOOLpytmc + TcAddressTypeInput634807296Main.M8.bLimitBackwardEnable8BOOLpytmc pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634807368Main.M8.bHome8BOOLpytmc + TcAddressTypeInput634807304Main.M8.bHome8BOOLpytmc pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634807376Main.M8.bHardwareEnable8BOOLpytmc + TcAddressTypeInput634807312Main.M8.bHardwareEnable8BOOLpytmc pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634807392Main.M8.nRawEncoderULINT64ULINTTcAddressTypeInput634807424Main.M8.nRawEncoderUINT16UINTTcAddressTypeInput634807488Main.M8.nRawEncoderINT16INTTcAddressTypeInput634807504Main.M9.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634820608Main.M9.bLimitForwardEnable8BOOLpytmc + TcAddressTypeInput634807328Main.M8.nRawEncoderULINT64ULINTTcAddressTypeInput634807360Main.M8.nRawEncoderUINT16UINTTcAddressTypeInput634807424Main.M8.nRawEncoderINT16INTTcAddressTypeInput634807440Main.M9.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634820544Main.M9.bLimitForwardEnable8BOOLpytmc pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634828608Main.M9.bLimitBackwardEnable8BOOLpytmc + TcAddressTypeInput634828544Main.M9.bLimitBackwardEnable8BOOLpytmc pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634828616Main.M9.bHome8BOOLpytmc + TcAddressTypeInput634828552Main.M9.bHome8BOOLpytmc pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634828624Main.M9.bHardwareEnable8BOOLpytmc + TcAddressTypeInput634828560Main.M9.bHardwareEnable8BOOLpytmc pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634828640Main.M9.nRawEncoderULINT64ULINTTcAddressTypeInput634828672Main.M9.nRawEncoderUINT16UINTTcAddressTypeInput634828736Main.M9.nRawEncoderINT16INTTcAddressTypeInput634828752Main.M10.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634841856Main.M10.bLimitForwardEnable8BOOLpytmc - pv: PLC:bLimitForwardEnable - io: i - field: ZNAM FALSE - field: ONAM TRUE - field: DESC FALSE if forward limit hit - TcAddressTypeInput634849856Main.M10.bLimitBackwardEnable8BOOLpytmc - pv: PLC:bLimitBackwardEnable - io: i - field: ZNAM FALSE - field: ONAM TRUE - field: DESC FALSE if reverse limit hit - TcAddressTypeInput634849864Main.M10.bHome8BOOLpytmc - pv: PLC:bHome - io: i - field: ZNAM FALSE - field: ONAM TRUE - field: DESC TRUE if at homing switch - TcAddressTypeInput634849872Main.M10.bHardwareEnable8BOOLpytmc - pv: PLC:bHardwareEnable - io: i - field: ZNAM FALSE - field: ONAM TRUE - field: DESC TRUE if STO not hit - TcAddressTypeInput634849888Main.M10.nRawEncoderULINT64ULINTTcAddressTypeInput634849920Main.M10.nRawEncoderUINT16UINTTcAddressTypeInput634849984Main.M10.nRawEncoderINT16INTTcAddressTypeInput634850000Main.fbMotionStageM1.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634864512Main.fbMotionStageM2.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput635163904Main.fbMotionStageM3.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput635463296Main.fbMotionStageM4.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput635762688Main.fbMotionStageM5.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput636062080Main.fbMotionStageM6.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput636361472Main.fbMotionStageM7.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput636660864Main.fbMotionStageM8.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput636960256Main.fbMotionStageM9.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput637259648Main.fbMotionStageM10.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput6375590401PlcTask Outputs080281600Main.M1.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634649600Main.M1.bBrakeRelease8BOOLpytmc - pv: PLC:bBrakeRelease - io: i - field: ZNAM FALSE - field: ONAM TRUE - field: DESC TRUE if brake released - TcAddressTypeOutput634658648Main.M2.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634670848Main.M2.bBrakeRelease8BOOLpytmc + TcAddressTypeInput634828576Main.M9.nRawEncoderULINT64ULINTTcAddressTypeInput634828608Main.M9.nRawEncoderUINT16UINTTcAddressTypeInput634828672Main.M9.nRawEncoderINT16INTTcAddressTypeInput634828688Main.fbMotionStageM1.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634843200Main.fbMotionStageM2.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput635142592Main.fbMotionStageM3.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput635441984Main.fbMotionStageM4.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput635741376Main.fbMotionStageM5.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput636040768Main.fbMotionStageM6.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput636340160Main.fbMotionStageM7.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput636639552Main.fbMotionStageM8.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput636938944Main.fbMotionStageM9.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput6372383361PlcTask Outputs080281600Main.M1.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634649536Main.M1.bBrakeRelease8BOOLpytmc pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634679896Main.M3.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634692096Main.M3.bBrakeRelease8BOOLpytmc + TcAddressTypeOutput634658584Main.M2.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634670784Main.M2.bBrakeRelease8BOOLpytmc pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634701144Main.M4.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634713344Main.M4.bBrakeRelease8BOOLpytmc + TcAddressTypeOutput634679832Main.M3.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634692032Main.M3.bBrakeRelease8BOOLpytmc pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634722392Main.M5.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634734592Main.M5.bBrakeRelease8BOOLpytmc + TcAddressTypeOutput634701080Main.M4.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634713280Main.M4.bBrakeRelease8BOOLpytmc pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634743640Main.M6.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634755840Main.M6.bBrakeRelease8BOOLpytmc + TcAddressTypeOutput634722328Main.M5.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634734528Main.M5.bBrakeRelease8BOOLpytmc pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634764888Main.M7.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634777088Main.M7.bBrakeRelease8BOOLpytmc + TcAddressTypeOutput634743576Main.M6.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634755776Main.M6.bBrakeRelease8BOOLpytmc pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634786136Main.M8.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634798336Main.M8.bBrakeRelease8BOOLpytmc + TcAddressTypeOutput634764824Main.M7.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634777024Main.M7.bBrakeRelease8BOOLpytmc pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634807384Main.M9.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634819584Main.M9.bBrakeRelease8BOOLpytmc + TcAddressTypeOutput634786072Main.M8.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634798272Main.M8.bBrakeRelease8BOOLpytmc pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634828632Main.M10.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634840832Main.M10.bBrakeRelease8BOOLpytmc + TcAddressTypeOutput634807320Main.M9.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634819520Main.M9.bBrakeRelease8BOOLpytmc pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634849880Main.fbMotionStageM1.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634863488Main.fbMotionStageM2.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput635162880Main.fbMotionStageM3.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput635462272Main.fbMotionStageM4.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput635761664Main.fbMotionStageM5.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput636061056Main.fbMotionStageM6.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput636360448Main.fbMotionStageM7.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput636659840Main.fbMotionStageM8.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput636959232Main.fbMotionStageM9.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput637258624Main.fbMotionStageM10.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput6375580163PlcTask Internal080281600MOTION_GVL.stUnknownState2944DUT_PositionState.sNameUnknownTcVarGlobal4096000MOTION_GVL.stInvalidState2944DUT_PositionStateTcVarGlobal4098944MOTION_GVL.MAX_STATES16INT15TcVarGlobal4101888DefaultGlobals.stSys88ST_SystemTcVarGlobal4101904GVL_Logger.bTrickleTripped8BOOLpytmc + TcAddressTypeOutput634828568Main.fbMotionStageM1.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634842176Main.fbMotionStageM2.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput635141568Main.fbMotionStageM3.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput635440960Main.fbMotionStageM4.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput635740352Main.fbMotionStageM5.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput636039744Main.fbMotionStageM6.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput636339136Main.fbMotionStageM7.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput636638528Main.fbMotionStageM8.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput636937920Main.fbMotionStageM9.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput6372373123PlcTask Internal080281600MOTION_GVL.stUnknownState2944DUT_PositionState.sNameUnknownTcVarGlobal4096000MOTION_GVL.stInvalidState2944DUT_PositionStateTcVarGlobal4098944MOTION_GVL.MAX_STATES16INT15TcVarGlobal4101888DefaultGlobals.stSys40ST_SystemTcVarGlobal4101904GVL_Logger.bTrickleTripped8BOOLpytmc pv: @(PREFIX)LCLSGeneral:GlobalLogTrickleTrip io: i field: DESC Tripped by overall log count - TcVarGlobal4101992GeneralConstants.MAX_STATES16INT15TcVarGlobal4102000DefaultGlobals.fTimeStamp64LREALTcVarGlobal4102016GVL_Logger.cLogHostTcVarGlobal4101944DefaultGlobals.fTimeStamp64LREALTcVarGlobal4101952GeneralConstants.MAX_STATES16UINT15TcVarGlobal4102016GVL_Logger.cLogHostTcVarGlobal4102080GVL_Logger.iLogPort16UINT54321pytmc + TcVarGlobal4102032GVL_Logger.iLogPort16UINT54321pytmc pv: @(PREFIX)LCLSGeneral:LogPort io: io field: DESC The log host UDP port - TcVarGlobal4102208GVL_Logger.sIpTidbit56STRING(6)172.21TcVarGlobal4102224Global_Variables.BOOTDATAFLAGS_RETAIN_LOADED8BYTE1TcVarGlobal4102280GVL_Logger.nMinTimeViolationAcceptable16INT5TcVarGlobal4102288GVL_Logger.nLocalTripThreshold32TIME1TcVarGlobal4102304GVL_Logger.nLocalTrickleTripThreshold32TIME100TcVarGlobal4102336GVL_Logger.nTrickleTripTime32TIME10000TcVarGlobal4102368GVL_Logger.nTripResetPeriod32TIME600000TcVarGlobal4102400GVL_Logger.sPlcHostname648STRING(80)unknownTcVarGlobal4102432Global_Variables.BOOTDATAFLAGS_RETAIN_INVALID8BYTE2TcVarGlobal4103080Global_Variables.AMSPORT_LOGGER16UINT100TcVarGlobal4103088GVL_Logger.TCPADS_MAXUDP_BUFFSIZETcVarGlobal4102160GVL_Logger.sIpTidbit56STRING(6)172.21TcVarGlobal4102176Global_Variables.BOOTDATAFLAGS_RETAIN_LOADED8BYTE1TcVarGlobal4102232GVL_Logger.nLocalTripThreshold32TIME1TcVarGlobal4102240GVL_Logger.nMinTimeViolationAcceptable16INT5TcVarGlobal4102272Global_Variables.AMSPORT_LOGGER16UINT100TcVarGlobal4102288GVL_Logger.nLocalTrickleTripThreshold32TIME100TcVarGlobal4102304GVL_Logger.nTrickleTripTime32TIME10000TcVarGlobal4102336GVL_Logger.nTripResetPeriod32TIME600000TcVarGlobal4102368GVL_Logger.sPlcHostname648STRING(80)unknownTcVarGlobal4102400Global_Variables.BOOTDATAFLAGS_RETAIN_INVALID8BYTE2TcVarGlobal4103048Global_Variables.AMSPORT_EVENTLOG16UINT110TcVarGlobal4103056GVL_Logger.TCPADS_MAXUDP_BUFFSIZE"Project->Options...->Build" dialog window. - ]]>32UDINT10000TcVarGlobal4103104GVL_Logger.nGlobAccEvents32UDINTpytmc + ]]>32UDINT10000analysis-33TcVarGlobal4103072GVL_Logger.fbRootLogger81984FB_LogMessageTcVarGlobal4103104GVL_Logger.nGlobAccEvents32UDINTpytmc pv: @(PREFIX)LCLSGeneral:LogMessageCount io: i field: DESC Total log messages on the last cycle - TcVarGlobal4103136GVL_Logger.fbRootLogger81984FB_LogMessageTcVarGlobal4103168GVL_Logger.nTrickleThreshold32UDINT2TcVarGlobal4185152Global_Version.stLibVersion_Tc2_EtherCAT288ST_LibVersion.iMajor3.iMinor3.iBuild21.iRevision0.nFlags1.sVersion3.3.21.0const_non_replacedTcVarGlobal4185184Global_Version.stLibVersion_Tc2_Standard288ST_LibVersion.iMajor3.iMinor3.iBuild3.iRevision0.nFlags0.sVersion3.3.3.0const_non_replacedTcVarGlobal4185472Global_Version.stLibVersion_Tc2_System288ST_LibVersion.iMajor3.iMinor4.iBuild26.iRevision0.nFlags1.sVersion3.4.26.0const_non_replacedTcVarGlobal4185760Global_Variables.AMSPORT_EVENTLOG16UINT110TcVarGlobal4186048Global_Variables.AMSPORT_R0_RTIME16UINT200TcVarGlobal4186064Global_Variables.AMSPORT_R0_IO16UINT300TcVarGlobal4186080Global_Variables.AMSPORT_R0_NC16UINT500TcVarGlobal4186096Global_Variables.AMSPORT_R0_NCSAF16UINT501TcVarGlobal4186112Global_Variables.AMSPORT_R0_NCSVB16UINT511TcVarGlobal4186128Global_Variables.AMSPORT_R0_ISG16UINT550TcVarGlobal4186144Global_Variables.AMSPORT_R0_CNC16UINT600TcVarGlobal4186160Global_Variables.AMSPORT_R0_LINE16UINT700TcVarGlobal4186176Global_Variables.AMSPORT_R0_PLC16UINT800TcVarGlobal4186192Global_Variables.AMSPORT_R0_PLC_RTS116UINT801TcVarGlobal4186208Global_Variables.AMSPORT_R0_PLC_RTS216UINT811TcVarGlobal4186224Global_Variables.AMSPORT_R0_PLC_RTS316UINT821TcVarGlobal4186240Global_Variables.AMSPORT_R0_PLC_RTS416UINT831TcVarGlobal4186256Global_Variables.AMSPORT_R0_CAM16UINT900TcVarGlobal4186272Global_Variables.AMSPORT_R0_CAMTOOL16UINT950TcVarGlobal4186288Global_Variables.AMSPORT_R3_SYSSERV16UINT10000TcVarGlobal4186304Global_Variables.AMSPORT_R3_SCOPESERVER16UINT14001TcVarGlobal4186320Global_Variables.ADSSTATE_INVALID16UINT0TcVarGlobal4186336Global_Variables.ADSSTATE_IDLE16UINT1TcVarGlobal4186352Global_Variables.ADSSTATE_RESET16UINT2TcVarGlobal4186368Global_Variables.ADSSTATE_INIT16UINT3TcVarGlobal4186384Global_Variables.ADSSTATE_START16UINT4TcVarGlobal4186400Global_Variables.ADSSTATE_RUN16UINT5TcVarGlobal4186416Global_Variables.ADSSTATE_STOP16UINT6TcVarGlobal4186432Global_Variables.ADSSTATE_SAVECFG16UINT7TcVarGlobal4186448Global_Variables.ADSSTATE_LOADCFG16UINT8TcVarGlobal4186464Global_Variables.ADSSTATE_POWERFAILURE16UINT9TcVarGlobal4186480Global_Variables.ADSSTATE_POWERGOOD16UINT10TcVarGlobal4186496Global_Variables.ADSSTATE_ERROR16UINT11TcVarGlobal4186512Global_Variables.ADSSTATE_SHUTDOWN16UINT12TcVarGlobal4186528Global_Variables.ADSSTATE_SUSPEND16UINT13TcVarGlobal4186544Global_Variables.ADSSTATE_RESUME16UINT14TcVarGlobal4186560Global_Variables.ADSSTATE_CONFIG16UINT15TcVarGlobal4186576Global_Variables.ADSSTATE_RECONFIG16UINT16TcVarGlobal4186592Global_Variables.ADSSTATE_STOPPING16UINT17TcVarGlobal4186608Global_Variables.ADSSTATE_INCOMPATIBLE16UINT18TcVarGlobal4186624Global_Variables.ADSSTATE_EXCEPTION16UINT19TcVarGlobal4186640Global_Variables.ADSSTATE_MAXSTATES16UINT20TcVarGlobal4186656Global_Variables.BOOTDATAFLAGS_RETAIN_REQUESTED8BYTE4TcVarGlobal4186672Global_Variables.BOOTDATAFLAGS_PERSISTENT_LOADED8BYTE16TcVarGlobal4186680Global_Variables.ADSIGRP_SYMTAB32UDINT61440TcVarGlobal4186688Global_Variables.ADSIGRP_SYMNAME32UDINT61441TcVarGlobal4186720Global_Variables.ADSIGRP_SYMVAL32UDINT61442TcVarGlobal4186752Global_Variables.ADSIGRP_SYM_HNDBYNAME32UDINT61443TcVarGlobal4186784Global_Variables.ADSIGRP_SYM_VALBYNAME32UDINT61444TcVarGlobal4186816Global_Variables.ADSIGRP_SYM_VALBYHND32UDINT61445TcVarGlobal4186848Global_Variables.ADSIGRP_SYM_RELEASEHND32UDINT61446TcVarGlobal4186880Global_Variables.ADSIGRP_SYM_INFOBYNAME32UDINT61447TcVarGlobal4186912Global_Variables.ADSIGRP_SYM_VERSION32UDINT61448TcVarGlobal4186944Global_Variables.ADSIGRP_SYM_INFOBYNAMEEX32UDINT61449TcVarGlobal4186976Global_Variables.ADSIGRP_SYM_DOWNLOAD32UDINT61450TcVarGlobal4187008Global_Variables.ADSIGRP_SYM_UPLOAD32UDINT61451TcVarGlobal4187040Global_Variables.ADSIGRP_SYM_UPLOADINFO32UDINT61452TcVarGlobal4187072Global_Variables.ADSIGRP_SYMNOTE32UDINT61456TcVarGlobal4187104Global_Variables.ADSIGRP_IOIMAGE_RWIB32UDINT61472TcVarGlobal4187136Global_Variables.ADSIGRP_IOIMAGE_RWIX32UDINT61473TcVarGlobal4187168Global_Variables.ADSIGRP_IOIMAGE_RISIZE32UDINT61477TcVarGlobal4187200Global_Variables.ADSIGRP_IOIMAGE_RWOB32UDINT61488TcVarGlobal4187232Global_Variables.ADSIGRP_IOIMAGE_RWOX32UDINT61489TcVarGlobal4187264Global_Variables.ADSIGRP_IOIMAGE_ROSIZE32UDINT61493TcVarGlobal4187296Global_Variables.ADSIGRP_IOIMAGE_CLEARI32UDINT61504TcVarGlobal4187328Global_Variables.ADSIGRP_IOIMAGE_CLEARO32UDINT61520TcVarGlobal4187360Global_Variables.ADSIGRP_IOIMAGE_RWIOB32UDINT61536TcVarGlobal4187392Global_Variables.ADSIGRP_DEVICE_DATA32UDINT61696TcVarGlobal4187424Global_Variables.ADSIOFFS_DEVDATA_ADSSTATE32UDINT0TcVarGlobal4187456Global_Variables.ADSIOFFS_DEVDATA_DEVSTATE32UDINT2TcVarGlobal4187488Global_Variables.SYSTEMSERVICE_OPENCREATE32UDINT100TcVarGlobal4187520Global_Variables.SYSTEMSERVICE_OPENREAD32UDINT101TcVarGlobal4187552Global_Variables.SYSTEMSERVICE_OPENWRITE32UDINT102TcVarGlobal4187584Global_Variables.SYSTEMSERVICE_CREATEFILE32UDINT110TcVarGlobal4187616Global_Variables.SYSTEMSERVICE_CLOSEHANDLE32UDINT111TcVarGlobal4187648Global_Variables.SYSTEMSERVICE_FOPEN32UDINT120TcVarGlobal4187680Global_Variables.SYSTEMSERVICE_FCLOSE32UDINT121TcVarGlobal4187712Global_Variables.SYSTEMSERVICE_FREAD32UDINT122TcVarGlobal4187744Global_Variables.SYSTEMSERVICE_FWRITE32UDINT123TcVarGlobal4187776Global_Variables.SYSTEMSERVICE_FSEEK32UDINT124TcVarGlobal4187808Global_Variables.SYSTEMSERVICE_FTELL32UDINT125TcVarGlobal4187840Global_Variables.SYSTEMSERVICE_FGETS32UDINT126TcVarGlobal4187872Global_Variables.SYSTEMSERVICE_FPUTS32UDINT127TcVarGlobal4187904Global_Variables.SYSTEMSERVICE_FSCANF32UDINT128TcVarGlobal4187936Global_Variables.SYSTEMSERVICE_FPRINTF32UDINT129TcVarGlobal4187968Global_Variables.SYSTEMSERVICE_FEOF32UDINT130TcVarGlobal4188000Global_Variables.SYSTEMSERVICE_FDELETE32UDINT131TcVarGlobal4188032Global_Variables.SYSTEMSERVICE_FRENAME32UDINT132TcVarGlobal4188064Global_Variables.SYSTEMSERVICE_MKDIR32UDINT138TcVarGlobal4188096Global_Variables.SYSTEMSERVICE_RMDIR32UDINT139TcVarGlobal4188128Global_Variables.SYSTEMSERVICE_REG_HKEYLOCALMACHINE32UDINT200TcVarGlobal4188160Global_Variables.SYSTEMSERVICE_SENDEMAIL32UDINT300TcVarGlobal4188192Global_Variables.SYSTEMSERVICE_TIMESERVICES32UDINT400TcVarGlobal4188224Global_Variables.SYSTEMSERVICE_STARTPROCESS32UDINT500TcVarGlobal4188256Global_Variables.SYSTEMSERVICE_CHANGENETID32UDINT600TcVarGlobal4188288Global_Variables.TIMESERVICE_DATEANDTIME32UDINT1TcVarGlobal4188320Global_Variables.TIMESERVICE_SYSTEMTIMES32UDINT2TcVarGlobal4188352Global_Variables.TIMESERVICE_RTCTIMEDIFF32UDINT3TcVarGlobal4188384Global_Variables.TIMESERVICE_ADJUSTTIMETORTC32UDINT4TcVarGlobal4188416Global_Variables.TIMESERVICE_TIMEZONINFORMATION32UDINT6TcVarGlobal4188448Global_Variables.ADSLOG_MSGTYPE_HINT32DWORD1TcVarGlobal4188480Global_Variables.ADSLOG_MSGTYPE_WARN32DWORD2TcVarGlobal4188512Global_Variables.ADSLOG_MSGTYPE_ERROR32DWORD4TcVarGlobal4188544Global_Variables.ADSLOG_MSGTYPE_LOG32DWORD16TcVarGlobal4188576Global_Variables.ADSLOG_MSGTYPE_MSGBOX32DWORD32TcVarGlobal4188608Global_Variables.ADSLOG_MSGTYPE_RESOURCE32DWORD64TcVarGlobal4188640Global_Variables.ADSLOG_MSGTYPE_STRING32DWORD128TcVarGlobal4188672Global_Variables.BOOTDATAFLAGS_PERSISTENT_INVALID8BYTE32TcVarGlobal4188704Global_Variables.SYSTEMSTATEFLAGS_BSOD8BYTE1TcVarGlobal4188712Global_Variables.SYSTEMSTATEFLAGS_RTVIOLATION8BYTE2TcVarGlobal4188720Global_Variables.nWatchdogTime8BYTETcVarGlobal4188728Global_Variables.FOPEN_MODEREAD32DWORD1TcVarGlobal4188736Global_Variables.FOPEN_MODEWRITE32DWORD2TcVarGlobal4188768Global_Variables.FOPEN_MODEAPPEND32DWORD4TcVarGlobal4188800Global_Variables.FOPEN_MODEPLUS32DWORD8TcVarGlobal4188832Global_Variables.FOPEN_MODEBINARY32DWORD16TcVarGlobal4188864Global_Variables.FOPEN_MODETEXT32DWORD32TcVarGlobal4188896Global_Variables.TCEVENTFLAG_PRIOCLASS16WORD16TcVarGlobal4189152Global_Variables.TCEVENTFLAG_FMTSELF16WORD32TcVarGlobal4189168Global_Variables.TCEVENTFLAG_LOG16WORD64TcVarGlobal4189184Global_Variables.TCEVENTFLAG_MSGBOX16WORD128TcVarGlobal4189200Global_Variables.TCEVENTFLAG_SRCID16WORD256TcVarGlobal4189216Global_Variables.TCEVENTFLAG_AUTOFMTALL16WORD4096TcVarGlobal4189232Global_Variables.TCEVENTSTATE_INVALID16WORD0TcVarGlobal4189248Global_Variables.TCEVENTSTATE_SIGNALED16WORD1TcVarGlobal4189264Global_Variables.TCEVENTSTATE_RESET16WORD2TcVarGlobal4189280Global_Variables.TCEVENTSTATE_CONFIRMED16WORD16TcVarGlobal4189296Global_Variables.TCEVENTSTATE_RESETCON16WORD18TcVarGlobal4189312Global_Variables.TCEVENT_SRCNAMESIZE16INT15TcVarGlobal4189328Global_Variables.TCEVENT_FMTPRGSIZE16INT31TcVarGlobal4189344Global_Variables.eWatchdogConfig16E_WATCHDOG_TIME_CONFIG0TcVarGlobal4189360Global_Variables.PI64LREAL3.14159265358979TcVarGlobal4189376Global_Variables.DEFAULT_ADS_TIMEOUT32TIME5000TcVarGlobal4189440Global_Variables.MAX_STRING_LENGTH32UDINT255TcVarGlobal4189472Global_Version.stLibVersion_Tc3_Module288ST_LibVersion.iMajor3.iMinor3.iBuild21.iRevision0.sVersion3.3.21.0const_non_replacedTcVarGlobal4190016Global_Version.stLibVersion_Tc2_Utilities288ST_LibVersion.iMajor3.iMinor3.iBuild54.iRevision0.nFlags1.sVersion3.3.54.0const_non_replacedTcVarGlobal4190624Global_Variables.MAX_AVERAGE_MEASURES16INT10LowerBorder2UpperBorder100TcVarGlobal4190912Global_Variables.GLOBAL_FORMAT_HASH_PREFIX_TYPE16E_HashPrefixTypes0TcVarGlobal4190928Global_Variables.GLOBAL_SBCS_TABLE16E_SBCSType1TcVarGlobal4190944Global_Variables.GLOBAL_DCF77_SEQUENCE_CHECK8BOOL0TcVarGlobal4190960Global_Variables.DEFAULT_CSV_FIELD_SEP german field separator, comma (,) := 16#2C => US field separator ]]>8BYTE59TcVarGlobal4190968Global_Variables.GLOBAL_DCF77_PULSE_SPLIT pulse < 140ms, Bit == 1 => pulse >= 140ms ]]>32TIME140TcVarGlobal4190976Global_Variables.MAX_ADAPTER_NAME_LENGTH32UDINT259TcVarGlobal4252480Global_Variables.MAX_ADAPTER_DESCRIPTION_LENGTH32UDINT131TcVarGlobal4252512Global_Variables.MAX_ADAPTER_ADDRESS_LENGTH32UDINT7TcVarGlobal4252544Global_Variables.SYSTEMSERVICE_IPHELPERAPI32UDINT701TcVarGlobal4252576Global_Variables.SYSTEMSERVICE_IPHOSTNAME32UDINT702TcVarGlobal4252608Global_Variables.IPHELPERAPI_ADAPTERSINFO32UDINT1TcVarGlobal4252640Global_Variables.IPHELPERAPI_IPADDRBYHOSTNAME32UDINT4TcVarGlobal4252672Global_Variables.MAX_LOCAL_ADAPTERS32UDINT5TcVarGlobal4252704Global_Variables.SYSTEMSERVICE_ADDREMOTE32UDINT801TcVarGlobal4252736Global_Variables.SYSTEMSERVICE_DELREMOTE32UDINT802TcVarGlobal4252768Global_Variables.SYSTEMSERVICE_ENUMREMOTE32UDINT803TcVarGlobal4252800Global_Variables.MAX_REMOTE_PCS16INT99TcVarGlobal4252832Global_Variables.MAX_ROUTE_NAME_LEN8BYTE31TcVarGlobal4252848Global_Variables.MAX_ROUTE_ADDR_LEN8BYTE79TcVarGlobal4252856Global_Variables.ROUTE_FLAG_TEMPORARY32DWORD1TcVarGlobal4252864Global_Variables.ROUTE_FLAG_DYNAMIC32DWORD2TcVarGlobal4252896Global_Variables.ROUTE_FLAG_NOOVERRIDE32DWORD4TcVarGlobal4252928Global_Variables.MIN_ROUTE_TRANSPORT8BYTE0TcVarGlobal4252960Global_Variables.MAX_ROUTE_TRANSPORT8BYTE12TcVarGlobal4252968Global_Variables.AMSPORT_AMSLOGGER16UINT10502TcVarGlobal4252976Global_Variables.EMPTY_ROUTE_ENTRY1184ST_AmsRouteEntry.sName.sNetID.sAddress.tTimeout0.dwFlags0TcVarGlobal4252992Global_Variables.SYSTEMSERVICE_FFILEFIND32UDINT133TcVarGlobal4254176Global_Variables.HKEY_MAX_BINARY_DATA_SIZE32UDINT500TcVarGlobal4254208Global_Variables.AMSLOGGER_IGR_GENERAL32UDINT4096TcVarGlobal4254240Global_Variables.AMSLOGGER_IOF_MODE32UDINT1TcVarGlobal4254272Global_Variables.FORMAT_MAX_ARGS16INT10TcVarGlobal4254304Global_Variables.FLOATREC_EXP_IS_NAN16INT-32768TcVarGlobal4254320Global_Variables.FLOATREC_EXP_IS_INF16INT32767TcVarGlobal4254336Global_Variables.FLOATREC_MAX_DIGITS16INT20TcVarGlobal4254352Global_Variables.FLOATREC_MAX_PRECISION16INT307TcVarGlobal4254368Global_Variables.FLOATREC_MIN_PRECISION16INT0TcVarGlobal4254384Global_Variables.FMTERR_NOERROR32DWORD0TcVarGlobal4254400Global_Variables.FMTERR_PERCENTSIGNPOSITION32DWORD16TcVarGlobal4254432Global_Variables.FMTERR_ASTERISKPOSITION32DWORD32TcVarGlobal4254464Global_Variables.FMTERR_WIDTHVALUE32DWORD64TcVarGlobal4254496Global_Variables.FMTERR_PRECISIONVALUE32DWORD128TcVarGlobal4254528Global_Variables.FMTERR_FLAGPOSITION32DWORD256TcVarGlobal4254560Global_Variables.FMTERR_WIDTHPRECISIONVALPOS32DWORD512TcVarGlobal4254592Global_Variables.FMTERR_PRECISIONDOTPOSITION32DWORD1024TcVarGlobal4254624Global_Variables.FMTERR_TYPEFIELDVALUE32DWORD2048TcVarGlobal4254656Global_Variables.FMTERR_ARGTYPEINVALID32DWORD4096TcVarGlobal4254688Global_Variables.FMTERR_UNACCEPTEDPARAMETER32DWORD8192TcVarGlobal4254720Global_Variables.FMTERR_INSUFFICIENTARGS32DWORD16384TcVarGlobal4254752Global_Variables.FMTERR_DESTBUFFOVERFLOW32DWORD32768TcVarGlobal4254784Global_Variables.FMTERR_INVALIDPOINTERINPUT32DWORD65536TcVarGlobal4254816Global_Variables.EMPTY_ARG_VALUE96T_Arg.eType0.cbLen0.pData0TcVarGlobal4254848Global_Variables.FORMAT_HEXASC_CODES256BYTE02016[0,0]48[0,1]49[0,2]50[0,3]51[0,4]52[0,5]53[0,6]54[0,7]55[0,8]56[0,9]57[0,10]97[0,11]98[0,12]99[0,13]100[0,14]101[0,15]102[1,0]48[1,1]49[1,2]50[1,3]51[1,4]52[1,5]53[1,6]54[1,7]55[1,8]56[1,9]57[1,10]65[1,11]66[1,12]67[1,13]68[1,14]69[1,15]70TcVarGlobal4254944Global_Variables.FORMAT_DECASC_CODES80BYTE010[0]48[1]49[2]50[3]51[4]52[5]53[6]54[7]55[8]56[9]57TcVarGlobal4255200Global_Variables.SYSTEMTIME_MAX_MONTHDAYS384WORD02112[0,1]31[0,2]28[0,3]31[0,4]30[0,5]31[0,6]30[0,7]31[0,8]31[0,9]30[0,10]31[0,11]30[0,12]31[1,1]31[1,2]29[1,3]31[1,4]30[1,5]31[1,6]30[1,7]31[1,8]31[1,9]30[1,10]31[1,11]30[1,12]31TcVarGlobal4260688Global_Variables.SYSTEMTIME_MAX_YEARSDAY448WORD02014[0,0]0[0,1]31[0,2]59[0,3]90[0,4]120[0,5]151[0,6]181[0,7]212[0,8]243[0,9]273[0,10]304[0,11]334[0,12]365[0,13]396[1,0]0[1,1]31[1,2]60[1,3]91[1,4]121[1,5]152[1,6]182[1,7]213[1,8]244[1,9]274[1,10]305[1,11]335[1,12]366[1,13]397TcVarGlobal4261072Global_Variables.SYSTEMTIME_DATEDELTA_OFFSET32DWORD584389TcVarGlobal4261536Global_Variables.SYSTEMTIME_TICKSPERMSEC64T_ULARGE_INTEGER.dwHighPart0.dwLowPart10000TcVarGlobal4261568Global_Variables.SYSTEMTIME_TICKSPERSEC64T_ULARGE_INTEGER.dwHighPart0.dwLowPart10000000TcVarGlobal4261632Global_Variables.SYSTEMTIME_TICKSPERDAY64T_ULARGE_INTEGER.dwHighPart201.dwLowPart711573504TcVarGlobal4261696Global_Variables.SYSTEMTIME_DATE_AND_TIME_MIN64T_ULARGE_INTEGER.dwHighPart27111902.dwLowPart3577643008TcVarGlobal4261760Global_Variables.SYSTEMTIME_DATE_AND_TIME_MAX64T_ULARGE_INTEGER.dwHighPart37111701.dwLowPart2856069504TcVarGlobal4261824Global_Variables.SYSTEMTIME_TICKSPERMSEC6464ULINT10000TcVarGlobal4261888Global_Variables.SYSTEMTIME_TICKSPERSEC6464ULINT10000000TcVarGlobal4261952Global_Variables.SYSTEMTIME_TICKSPERDAY6464ULINT864000000000TcVarGlobal4262016Global_Variables.SYSTEMTIME_DATE_AND_TIME_MIN6464ULINT116444736000000000TcVarGlobal4262080Global_Variables.SYSTEMTIME_DATE_AND_TIME_MAX6464ULINT159393544950000000TcVarGlobal4262144Global_Variables.WEST_EUROPE_TZI864ST_TimeZoneInformation.bias-60.standardNameW. Europe Standard Time.standardDate.wYear0.standardDate.wMonth10.standardDate.wDayOfWeek0.standardDate.wDay5.standardDate.wHour3.standardBias0.daylightNameW. Europe Daylight Time.daylightDate.wYear0.daylightDate.wMonth3.daylightDate.wDayOfWeek0.daylightDate.wDay5.daylightDate.wHour2.daylightBias-60TcVarGlobal4262208Global_Variables.DATE_AND_TIME_SECPERDAY32DWORD86400TcVarGlobal4267200Global_Variables.DATE_AND_TIME_SECPERWEEK32DWORD604800TcVarGlobal4267232Global_Variables.DBG_OUTPUT_NONE32DWORD0TcVarGlobal4273440Global_Variables.DBG_OUTPUT_LOG32DWORD1TcVarGlobal4273472Global_Variables.DBG_OUTPUT_FILE32DWORD2TcVarGlobal4273504Global_Variables.DBG_OUTPUT_VISU32DWORD4TcVarGlobal4273536Global_Variables.DEFAULT_CSV_FIELD_DOUBLE_QUOTE used to enclose special characters like line breaks, double-quotes, commas... ]]>8BYTE34TcVarGlobal4390704Global_Variables.DEFAULT_CSV_RECORD_SEP_CR record separator (first character) ]]>8BYTE13TcVarGlobal4390712Global_Variables.DEFAULT_CSV_RECORD_SEP_LF record separator (second character) ]]>8BYTE10TcVarGlobal4390720GVL_Param_TcUnit.LogExtendedResultsTcVarGlobal4185088Global_Version.stLibVersion_Tc2_EtherCAT288ST_LibVersion.iMajor3.iMinor3.iBuild21.iRevision0.nFlags1.sVersion3.3.21.0const_non_replacedTcVarGlobal4185120Global_Version.stLibVersion_Tc2_Standard288ST_LibVersion.iMajor3.iMinor3.iBuild3.iRevision0.nFlags0.sVersion3.3.3.0const_non_replacedTcVarGlobal4185408Global_Version.stLibVersion_Tc2_System288ST_LibVersion.iMajor3.iMinor4.iBuild26.iRevision0.nFlags1.sVersion3.4.26.0const_non_replacedTcVarGlobal4185696Global_Variables.AMSPORT_R0_RTIME16UINT200TcVarGlobal4185984Global_Variables.AMSPORT_R0_IO16UINT300TcVarGlobal4186000Global_Variables.AMSPORT_R0_NC16UINT500TcVarGlobal4186016Global_Variables.AMSPORT_R0_NCSAF16UINT501TcVarGlobal4186032Global_Variables.AMSPORT_R0_NCSVB16UINT511TcVarGlobal4186048Global_Variables.AMSPORT_R0_ISG16UINT550TcVarGlobal4186064Global_Variables.AMSPORT_R0_CNC16UINT600TcVarGlobal4186080Global_Variables.AMSPORT_R0_LINE16UINT700TcVarGlobal4186096Global_Variables.AMSPORT_R0_PLC16UINT800TcVarGlobal4186112Global_Variables.AMSPORT_R0_PLC_RTS116UINT801TcVarGlobal4186128Global_Variables.AMSPORT_R0_PLC_RTS216UINT811TcVarGlobal4186144Global_Variables.AMSPORT_R0_PLC_RTS316UINT821TcVarGlobal4186160Global_Variables.AMSPORT_R0_PLC_RTS416UINT831TcVarGlobal4186176Global_Variables.AMSPORT_R0_CAM16UINT900TcVarGlobal4186192Global_Variables.AMSPORT_R0_CAMTOOL16UINT950TcVarGlobal4186208Global_Variables.AMSPORT_R3_SYSSERV16UINT10000TcVarGlobal4186224Global_Variables.AMSPORT_R3_SCOPESERVER16UINT14001TcVarGlobal4186240Global_Variables.ADSSTATE_INVALID16UINT0TcVarGlobal4186256Global_Variables.ADSSTATE_IDLE16UINT1TcVarGlobal4186272Global_Variables.ADSSTATE_RESET16UINT2TcVarGlobal4186288Global_Variables.ADSSTATE_INIT16UINT3TcVarGlobal4186304Global_Variables.ADSSTATE_START16UINT4TcVarGlobal4186320Global_Variables.ADSSTATE_RUN16UINT5TcVarGlobal4186336Global_Variables.ADSSTATE_STOP16UINT6TcVarGlobal4186352Global_Variables.ADSSTATE_SAVECFG16UINT7TcVarGlobal4186368Global_Variables.ADSSTATE_LOADCFG16UINT8TcVarGlobal4186384Global_Variables.ADSSTATE_POWERFAILURE16UINT9TcVarGlobal4186400Global_Variables.ADSSTATE_POWERGOOD16UINT10TcVarGlobal4186416Global_Variables.ADSSTATE_ERROR16UINT11TcVarGlobal4186432Global_Variables.ADSSTATE_SHUTDOWN16UINT12TcVarGlobal4186448Global_Variables.ADSSTATE_SUSPEND16UINT13TcVarGlobal4186464Global_Variables.ADSSTATE_RESUME16UINT14TcVarGlobal4186480Global_Variables.ADSSTATE_CONFIG16UINT15TcVarGlobal4186496Global_Variables.ADSSTATE_RECONFIG16UINT16TcVarGlobal4186512Global_Variables.ADSSTATE_STOPPING16UINT17TcVarGlobal4186528Global_Variables.ADSSTATE_INCOMPATIBLE16UINT18TcVarGlobal4186544Global_Variables.ADSSTATE_EXCEPTION16UINT19TcVarGlobal4186560Global_Variables.ADSSTATE_MAXSTATES16UINT20TcVarGlobal4186576Global_Variables.ADSIGRP_SYMTAB32UDINT61440TcVarGlobal4186592Global_Variables.ADSIGRP_SYMNAME32UDINT61441TcVarGlobal4186624Global_Variables.ADSIGRP_SYMVAL32UDINT61442TcVarGlobal4186656Global_Variables.ADSIGRP_SYM_HNDBYNAME32UDINT61443TcVarGlobal4186688Global_Variables.ADSIGRP_SYM_VALBYNAME32UDINT61444TcVarGlobal4186720Global_Variables.ADSIGRP_SYM_VALBYHND32UDINT61445TcVarGlobal4186752Global_Variables.ADSIGRP_SYM_RELEASEHND32UDINT61446TcVarGlobal4186784Global_Variables.ADSIGRP_SYM_INFOBYNAME32UDINT61447TcVarGlobal4186816Global_Variables.ADSIGRP_SYM_VERSION32UDINT61448TcVarGlobal4186848Global_Variables.ADSIGRP_SYM_INFOBYNAMEEX32UDINT61449TcVarGlobal4186880Global_Variables.ADSIGRP_SYM_DOWNLOAD32UDINT61450TcVarGlobal4186912Global_Variables.ADSIGRP_SYM_UPLOAD32UDINT61451TcVarGlobal4186944Global_Variables.ADSIGRP_SYM_UPLOADINFO32UDINT61452TcVarGlobal4186976Global_Variables.ADSIGRP_SYMNOTE32UDINT61456TcVarGlobal4187008Global_Variables.ADSIGRP_IOIMAGE_RWIB32UDINT61472TcVarGlobal4187040Global_Variables.ADSIGRP_IOIMAGE_RWIX32UDINT61473TcVarGlobal4187072Global_Variables.ADSIGRP_IOIMAGE_RISIZE32UDINT61477TcVarGlobal4187104Global_Variables.ADSIGRP_IOIMAGE_RWOB32UDINT61488TcVarGlobal4187136Global_Variables.ADSIGRP_IOIMAGE_RWOX32UDINT61489TcVarGlobal4187168Global_Variables.ADSIGRP_IOIMAGE_ROSIZE32UDINT61493TcVarGlobal4187200Global_Variables.ADSIGRP_IOIMAGE_CLEARI32UDINT61504TcVarGlobal4187232Global_Variables.ADSIGRP_IOIMAGE_CLEARO32UDINT61520TcVarGlobal4187264Global_Variables.ADSIGRP_IOIMAGE_RWIOB32UDINT61536TcVarGlobal4187296Global_Variables.ADSIGRP_DEVICE_DATA32UDINT61696TcVarGlobal4187328Global_Variables.ADSIOFFS_DEVDATA_ADSSTATE32UDINT0TcVarGlobal4187360Global_Variables.ADSIOFFS_DEVDATA_DEVSTATE32UDINT2TcVarGlobal4187392Global_Variables.SYSTEMSERVICE_OPENCREATE32UDINT100TcVarGlobal4187424Global_Variables.SYSTEMSERVICE_OPENREAD32UDINT101TcVarGlobal4187456Global_Variables.SYSTEMSERVICE_OPENWRITE32UDINT102TcVarGlobal4187488Global_Variables.SYSTEMSERVICE_CREATEFILE32UDINT110TcVarGlobal4187520Global_Variables.SYSTEMSERVICE_CLOSEHANDLE32UDINT111TcVarGlobal4187552Global_Variables.SYSTEMSERVICE_FOPEN32UDINT120TcVarGlobal4187584Global_Variables.SYSTEMSERVICE_FCLOSE32UDINT121TcVarGlobal4187616Global_Variables.SYSTEMSERVICE_FREAD32UDINT122TcVarGlobal4187648Global_Variables.SYSTEMSERVICE_FWRITE32UDINT123TcVarGlobal4187680Global_Variables.SYSTEMSERVICE_FSEEK32UDINT124TcVarGlobal4187712Global_Variables.SYSTEMSERVICE_FTELL32UDINT125TcVarGlobal4187744Global_Variables.SYSTEMSERVICE_FGETS32UDINT126TcVarGlobal4187776Global_Variables.SYSTEMSERVICE_FPUTS32UDINT127TcVarGlobal4187808Global_Variables.SYSTEMSERVICE_FSCANF32UDINT128TcVarGlobal4187840Global_Variables.SYSTEMSERVICE_FPRINTF32UDINT129TcVarGlobal4187872Global_Variables.SYSTEMSERVICE_FEOF32UDINT130TcVarGlobal4187904Global_Variables.SYSTEMSERVICE_FDELETE32UDINT131TcVarGlobal4187936Global_Variables.SYSTEMSERVICE_FRENAME32UDINT132TcVarGlobal4187968Global_Variables.SYSTEMSERVICE_MKDIR32UDINT138TcVarGlobal4188000Global_Variables.SYSTEMSERVICE_RMDIR32UDINT139TcVarGlobal4188032Global_Variables.SYSTEMSERVICE_REG_HKEYLOCALMACHINE32UDINT200TcVarGlobal4188064Global_Variables.SYSTEMSERVICE_SENDEMAIL32UDINT300TcVarGlobal4188096Global_Variables.SYSTEMSERVICE_TIMESERVICES32UDINT400TcVarGlobal4188128Global_Variables.SYSTEMSERVICE_STARTPROCESS32UDINT500TcVarGlobal4188160Global_Variables.SYSTEMSERVICE_CHANGENETID32UDINT600TcVarGlobal4188192Global_Variables.TIMESERVICE_DATEANDTIME32UDINT1TcVarGlobal4188224Global_Variables.TIMESERVICE_SYSTEMTIMES32UDINT2TcVarGlobal4188256Global_Variables.TIMESERVICE_RTCTIMEDIFF32UDINT3TcVarGlobal4188288Global_Variables.TIMESERVICE_ADJUSTTIMETORTC32UDINT4TcVarGlobal4188320Global_Variables.TIMESERVICE_TIMEZONINFORMATION32UDINT6TcVarGlobal4188352Global_Variables.ADSLOG_MSGTYPE_HINT32DWORD1TcVarGlobal4188384Global_Variables.ADSLOG_MSGTYPE_WARN32DWORD2TcVarGlobal4188416Global_Variables.ADSLOG_MSGTYPE_ERROR32DWORD4TcVarGlobal4188448Global_Variables.ADSLOG_MSGTYPE_LOG32DWORD16TcVarGlobal4188480Global_Variables.ADSLOG_MSGTYPE_MSGBOX32DWORD32TcVarGlobal4188512Global_Variables.ADSLOG_MSGTYPE_RESOURCE32DWORD64TcVarGlobal4188544Global_Variables.ADSLOG_MSGTYPE_STRING32DWORD128TcVarGlobal4188576Global_Variables.BOOTDATAFLAGS_RETAIN_REQUESTED8BYTE4TcVarGlobal4188608Global_Variables.BOOTDATAFLAGS_PERSISTENT_LOADED8BYTE16TcVarGlobal4188616Global_Variables.BOOTDATAFLAGS_PERSISTENT_INVALID8BYTE32TcVarGlobal4188624Global_Variables.SYSTEMSTATEFLAGS_BSOD8BYTE1TcVarGlobal4188632Global_Variables.SYSTEMSTATEFLAGS_RTVIOLATION8BYTE2TcVarGlobal4188640Global_Variables.nWatchdogTime8BYTETcVarGlobal4188648Global_Variables.TCEVENTFLAG_PRIOCLASS16WORD16TcVarGlobal4188656Global_Variables.FOPEN_MODEREAD32DWORD1TcVarGlobal4188672Global_Variables.FOPEN_MODEWRITE32DWORD2TcVarGlobal4188704Global_Variables.FOPEN_MODEAPPEND32DWORD4TcVarGlobal4188736Global_Variables.FOPEN_MODEPLUS32DWORD8TcVarGlobal4188768Global_Variables.FOPEN_MODEBINARY32DWORD16TcVarGlobal4188800Global_Variables.FOPEN_MODETEXT32DWORD32TcVarGlobal4188832Global_Variables.TCEVENTFLAG_FMTSELF16WORD32TcVarGlobal4189088Global_Variables.TCEVENTFLAG_LOG16WORD64TcVarGlobal4189104Global_Variables.TCEVENTFLAG_MSGBOX16WORD128TcVarGlobal4189120Global_Variables.TCEVENTFLAG_SRCID16WORD256TcVarGlobal4189136Global_Variables.TCEVENTFLAG_AUTOFMTALL16WORD4096TcVarGlobal4189152Global_Variables.TCEVENTSTATE_INVALID16WORD0TcVarGlobal4189168Global_Variables.TCEVENTSTATE_SIGNALED16WORD1TcVarGlobal4189184Global_Variables.TCEVENTSTATE_RESET16WORD2TcVarGlobal4189200Global_Variables.TCEVENTSTATE_CONFIRMED16WORD16TcVarGlobal4189216Global_Variables.TCEVENTSTATE_RESETCON16WORD18TcVarGlobal4189232Global_Variables.TCEVENT_SRCNAMESIZE16INT15TcVarGlobal4189248Global_Variables.TCEVENT_FMTPRGSIZE16INT31TcVarGlobal4189264Global_Variables.DEFAULT_ADS_TIMEOUT32TIME5000TcVarGlobal4189280Global_Variables.PI64LREAL3.14159265358979TcVarGlobal4189312Global_Variables.MAX_STRING_LENGTH32UDINT255TcVarGlobal4189376Global_Variables.eWatchdogConfig16E_WATCHDOG_TIME_CONFIG0TcVarGlobal4189920Global_Variables.MAX_AVERAGE_MEASURES16INT10LowerBorder2UpperBorder100TcVarGlobal4189936Global_Version.stLibVersion_Tc3_Module288ST_LibVersion.iMajor3.iMinor3.iBuild21.iRevision0.sVersion3.3.21.0const_non_replacedTcVarGlobal4189952Global_Version.stLibVersion_Tc2_Utilities288ST_LibVersion.iMajor3.iMinor3.iBuild54.iRevision0.nFlags1.sVersion3.3.54.0const_non_replacedTcVarGlobal4190560Global_Variables.GLOBAL_FORMAT_HASH_PREFIX_TYPE16E_HashPrefixTypes0TcVarGlobal4190848Global_Variables.GLOBAL_SBCS_TABLE16E_SBCSType1TcVarGlobal4190864Global_Variables.GLOBAL_DCF77_PULSE_SPLIT pulse < 140ms, Bit == 1 => pulse >= 140ms ]]>32TIME140TcVarGlobal4190880Global_Variables.GLOBAL_DCF77_SEQUENCE_CHECK8BOOL0TcVarGlobal4190912Global_Variables.DEFAULT_CSV_FIELD_SEP german field separator, comma (,) := 16#2C => US field separator ]]>8BYTE59TcVarGlobal4190920Global_Variables.MAX_REMOTE_PCS16INT99TcVarGlobal4190928Global_Variables.MAX_ADAPTER_NAME_LENGTH32UDINT259TcVarGlobal4252416Global_Variables.MAX_ADAPTER_DESCRIPTION_LENGTH32UDINT131TcVarGlobal4252448Global_Variables.MAX_ADAPTER_ADDRESS_LENGTH32UDINT7TcVarGlobal4252480Global_Variables.SYSTEMSERVICE_IPHELPERAPI32UDINT701TcVarGlobal4252512Global_Variables.SYSTEMSERVICE_IPHOSTNAME32UDINT702TcVarGlobal4252544Global_Variables.IPHELPERAPI_ADAPTERSINFO32UDINT1TcVarGlobal4252576Global_Variables.IPHELPERAPI_IPADDRBYHOSTNAME32UDINT4TcVarGlobal4252608Global_Variables.MAX_LOCAL_ADAPTERS32UDINT5TcVarGlobal4252640Global_Variables.SYSTEMSERVICE_ADDREMOTE32UDINT801TcVarGlobal4252672Global_Variables.SYSTEMSERVICE_DELREMOTE32UDINT802TcVarGlobal4252704Global_Variables.SYSTEMSERVICE_ENUMREMOTE32UDINT803TcVarGlobal4252736Global_Variables.ROUTE_FLAG_TEMPORARY32DWORD1TcVarGlobal4252768Global_Variables.ROUTE_FLAG_DYNAMIC32DWORD2TcVarGlobal4252800Global_Variables.ROUTE_FLAG_NOOVERRIDE32DWORD4TcVarGlobal4252832Global_Variables.MAX_ROUTE_NAME_LEN8BYTE31TcVarGlobal4252864Global_Variables.MAX_ROUTE_ADDR_LEN8BYTE79TcVarGlobal4252872Global_Variables.MIN_ROUTE_TRANSPORT8BYTE0TcVarGlobal4252880Global_Variables.MAX_ROUTE_TRANSPORT8BYTE12TcVarGlobal4252888Global_Variables.EMPTY_ROUTE_ENTRY1184ST_AmsRouteEntry.sName.sNetID.sAddress.tTimeout0.dwFlags0TcVarGlobal4252896Global_Variables.SYSTEMSERVICE_FFILEFIND32UDINT133TcVarGlobal4254080Global_Variables.HKEY_MAX_BINARY_DATA_SIZE32UDINT500TcVarGlobal4254112Global_Variables.AMSLOGGER_IGR_GENERAL32UDINT4096TcVarGlobal4254144Global_Variables.AMSLOGGER_IOF_MODE32UDINT1TcVarGlobal4254176Global_Variables.AMSPORT_AMSLOGGER16UINT10502TcVarGlobal4254208Global_Variables.FORMAT_MAX_ARGS16INT10TcVarGlobal4254224Global_Variables.FLOATREC_EXP_IS_NAN16INT-32768TcVarGlobal4254240Global_Variables.FLOATREC_EXP_IS_INF16INT32767TcVarGlobal4254256Global_Variables.FLOATREC_MAX_DIGITS16INT20TcVarGlobal4254272Global_Variables.FLOATREC_MAX_PRECISION16INT307TcVarGlobal4254288Global_Variables.FLOATREC_MIN_PRECISION16INT0TcVarGlobal4254304Global_Variables.FMTERR_NOERROR32DWORD0TcVarGlobal4254336Global_Variables.FMTERR_PERCENTSIGNPOSITION32DWORD16TcVarGlobal4254368Global_Variables.FMTERR_ASTERISKPOSITION32DWORD32TcVarGlobal4254400Global_Variables.FMTERR_WIDTHVALUE32DWORD64TcVarGlobal4254432Global_Variables.FMTERR_PRECISIONVALUE32DWORD128TcVarGlobal4254464Global_Variables.FMTERR_FLAGPOSITION32DWORD256TcVarGlobal4254496Global_Variables.FMTERR_WIDTHPRECISIONVALPOS32DWORD512TcVarGlobal4254528Global_Variables.FMTERR_PRECISIONDOTPOSITION32DWORD1024TcVarGlobal4254560Global_Variables.FMTERR_TYPEFIELDVALUE32DWORD2048TcVarGlobal4254592Global_Variables.FMTERR_ARGTYPEINVALID32DWORD4096TcVarGlobal4254624Global_Variables.FMTERR_UNACCEPTEDPARAMETER32DWORD8192TcVarGlobal4254656Global_Variables.FMTERR_INSUFFICIENTARGS32DWORD16384TcVarGlobal4254688Global_Variables.FMTERR_DESTBUFFOVERFLOW32DWORD32768TcVarGlobal4254720Global_Variables.FMTERR_INVALIDPOINTERINPUT32DWORD65536TcVarGlobal4254752Global_Variables.EMPTY_ARG_VALUE96T_Arg.eType0.cbLen0.pData0TcVarGlobal4254784Global_Variables.FORMAT_HEXASC_CODES256BYTE02016[0,0]48[0,1]49[0,2]50[0,3]51[0,4]52[0,5]53[0,6]54[0,7]55[0,8]56[0,9]57[0,10]97[0,11]98[0,12]99[0,13]100[0,14]101[0,15]102[1,0]48[1,1]49[1,2]50[1,3]51[1,4]52[1,5]53[1,6]54[1,7]55[1,8]56[1,9]57[1,10]65[1,11]66[1,12]67[1,13]68[1,14]69[1,15]70TcVarGlobal4254880Global_Variables.FORMAT_DECASC_CODES80BYTE010[0]48[1]49[2]50[3]51[4]52[5]53[6]54[7]55[8]56[9]57TcVarGlobal4255136Global_Variables.SYSTEMTIME_MAX_MONTHDAYS384WORD02112[0,1]31[0,2]28[0,3]31[0,4]30[0,5]31[0,6]30[0,7]31[0,8]31[0,9]30[0,10]31[0,11]30[0,12]31[1,1]31[1,2]29[1,3]31[1,4]30[1,5]31[1,6]30[1,7]31[1,8]31[1,9]30[1,10]31[1,11]30[1,12]31TcVarGlobal4260624Global_Variables.SYSTEMTIME_MAX_YEARSDAY448WORD02014[0,0]0[0,1]31[0,2]59[0,3]90[0,4]120[0,5]151[0,6]181[0,7]212[0,8]243[0,9]273[0,10]304[0,11]334[0,12]365[0,13]396[1,0]0[1,1]31[1,2]60[1,3]91[1,4]121[1,5]152[1,6]182[1,7]213[1,8]244[1,9]274[1,10]305[1,11]335[1,12]366[1,13]397TcVarGlobal4261008Global_Variables.SYSTEMTIME_DATEDELTA_OFFSET32DWORD584389TcVarGlobal4261472Global_Variables.SYSTEMTIME_TICKSPERMSEC64T_ULARGE_INTEGER.dwHighPart0.dwLowPart10000TcVarGlobal4261504Global_Variables.SYSTEMTIME_TICKSPERSEC64T_ULARGE_INTEGER.dwHighPart0.dwLowPart10000000TcVarGlobal4261568Global_Variables.SYSTEMTIME_TICKSPERDAY64T_ULARGE_INTEGER.dwHighPart201.dwLowPart711573504TcVarGlobal4261632Global_Variables.SYSTEMTIME_DATE_AND_TIME_MIN64T_ULARGE_INTEGER.dwHighPart27111902.dwLowPart3577643008TcVarGlobal4261696Global_Variables.SYSTEMTIME_DATE_AND_TIME_MAX64T_ULARGE_INTEGER.dwHighPart37111701.dwLowPart2856069504TcVarGlobal4261760Global_Variables.SYSTEMTIME_TICKSPERMSEC6464ULINT10000TcVarGlobal4261824Global_Variables.SYSTEMTIME_TICKSPERSEC6464ULINT10000000TcVarGlobal4261888Global_Variables.SYSTEMTIME_TICKSPERDAY6464ULINT864000000000TcVarGlobal4261952Global_Variables.SYSTEMTIME_DATE_AND_TIME_MIN6464ULINT116444736000000000TcVarGlobal4262016Global_Variables.SYSTEMTIME_DATE_AND_TIME_MAX6464ULINT159393544950000000TcVarGlobal4262080Global_Variables.WEST_EUROPE_TZI864ST_TimeZoneInformation.bias-60.standardNameW. Europe Standard Time.standardDate.wYear0.standardDate.wMonth10.standardDate.wDayOfWeek0.standardDate.wDay5.standardDate.wHour3.standardBias0.daylightNameW. Europe Daylight Time.daylightDate.wYear0.daylightDate.wMonth3.daylightDate.wDayOfWeek0.daylightDate.wDay5.daylightDate.wHour2.daylightBias-60TcVarGlobal4262144Global_Variables.DATE_AND_TIME_SECPERDAY32DWORD86400TcVarGlobal4267104Global_Variables.DATE_AND_TIME_SECPERWEEK32DWORD604800TcVarGlobal4267136Global_Variables.DBG_OUTPUT_NONE32DWORD0TcVarGlobal4273344Global_Variables.DBG_OUTPUT_LOG32DWORD1TcVarGlobal4273376Global_Variables.DBG_OUTPUT_FILE32DWORD2TcVarGlobal4273408Global_Variables.DBG_OUTPUT_VISU32DWORD4TcVarGlobal4273440Global_Variables.DEFAULT_CSV_FIELD_DOUBLE_QUOTE used to enclose special characters like line breaks, double-quotes, commas... ]]>8BYTE34TcVarGlobal4389680Global_Variables.DEFAULT_CSV_RECORD_SEP_CR record separator (first character) ]]>8BYTE13TcVarGlobal4389688Global_Variables.DEFAULT_CSV_RECORD_SEP_LF record separator (second character) ]]>8BYTE10TcVarGlobal4390640GVL_Param_TcUnit.LogExtendedResults8BOOL1TcVarGlobal4392472Global_Variables.EMPTY_GUID_STRUCT128GUID.Data10.Data20.Data30.Data4[0]0.Data4[1]0.Data4[2]0.Data4[3]0.Data4[4]0.Data4[5]0.Data4[6]0.Data4[7]0TcVarGlobal4392480Global_Variables.EMPTY_GUID_STRING296STRING(36)00000000-0000-0000-0000-000000000000TcVarGlobal4392608Global_Variables.EMPTY_GUID_REGSTRING312STRING(38){00000000-0000-0000-0000-000000000000}TcVarGlobal4392904Global_Constants.EMPTY_SEVERITY16TcEventSeverity0TcVarGlobal4393296Global_Version.stLibVersion_Tc2_IoFunctions288ST_LibVersion.iMajor3.iMinor3.iBuild13.iRevision0.nFlags0.sVersion3.3.13.0const_non_replacedTcVarGlobal4393312Global_Version.stLibVersion_Tc2_ModbusSrv288ST_LibVersion.iMajor3.iMinor3.iBuild2.iRevision0.sVersion3.3.2.0const_non_replacedTcVarGlobal4393600Global_Version.stLibVersion_Tc2_SerialCom288ST_LibVersion.iMajor3.iMinor3.iBuild10.iRevision0.nFlags0.sVersion3.3.10.0const_non_replacedTcVarGlobal4393888Global_Constants.EMPTY_EVENT_CLASS128GUID.Data10.Data20.Data30.Data4[0]0.Data4[1]0.Data4[2]0.Data4[3]0.Data4[4]0.Data4[5]0.Data4[6]0.Data4[7]0TcVarGlobal4394176Global_Constants.EMPTY_EVENT_ID32UDINT0TcVarGlobal4394304Global_Constants.SUCCESS_EVENT192TcEventEntry.uuidEventClass.Data10.uuidEventClass.Data20.uuidEventClass.Data30.uuidEventClass.Data4[0]0.uuidEventClass.Data4[1]0.uuidEventClass.Data4[2]0.uuidEventClass.Data4[3]0.uuidEventClass.Data4[4]0.uuidEventClass.Data4[5]0.uuidEventClass.Data4[6]0.uuidEventClass.Data4[7]0.nEventID0.eSeverity0TcVarGlobal4394336GVL.nLangId_OnlineMonitoring32DINT1033TcVarGlobal4394528ParameterList.cSourceNameSize32UDINT256LowerBorder81UpperBorder10000TcVarGlobal4394560Global_Version.stLibVersion_Tc3_EventLogger288ST_LibVersion.iMajor3.iMinor1.iBuild33.iRevision0.nFlags1.sVersion3.1.33.0const_non_replacedTcVarGlobal4394592GVL_INTERNAL.UNINITIALIZED_CLASS_GUID128GUID.Data13886330336.Data262671.Data318227.Data4[0]149.Data4[1]213.Data4[2]115.Data4[3]223.Data4[4]8.Data4[5]75.Data4[6]96.Data4[7]248TcVarGlobal4394880.TCPADS_MAXUDP_BUFFSIZE32UDINT8192TcVarGlobal4395008Global_Version.stLibVersion_Tc3_JsonXml288ST_LibVersion.iMajor3.iMinor3.iBuild18.iRevision0.nFlags1.sVersion3.3.18.0const_non_replacedTcVarGlobal4395040GVL_Param_TcUnit.MaxNumberOfTestSuites16UINT1000TcVarGlobal4395328GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite16UINT100TcVarGlobal4395344GVL_Param_TcUnit.MaxNumberOfAssertsForEachTestSuite16UINT1000TcVarGlobal4395360GVL_Param_TcUnit.xUnitEnablePublish8BOOL0TcVarGlobal4395376GVL_TcUnit.TestSuiteIsRegistered8BOOLTcVarGlobal4395384GVL_Param_TcUnit.xUnitBufferSize32UDINT65535TcVarGlobal4395392GVL_Param_TcUnit.xUnitFilePath2048T_MaxStringC:\tcunit_xunit_testresults.xmlTcVarGlobal4395424GVL_Param_TcUnit.AdsLogMessageFifoRingBufferSize8BOOL1TcVarGlobal4392360Global_Variables.EMPTY_GUID_STRUCT128GUID.Data10.Data20.Data30.Data4[0]0.Data4[1]0.Data4[2]0.Data4[3]0.Data4[4]0.Data4[5]0.Data4[6]0.Data4[7]0TcVarGlobal4392384Global_Variables.EMPTY_GUID_STRING296STRING(36)00000000-0000-0000-0000-000000000000TcVarGlobal4392512Global_Variables.EMPTY_GUID_REGSTRING312STRING(38){00000000-0000-0000-0000-000000000000}TcVarGlobal4392808Global_Version.stLibVersion_Tc2_IoFunctions288ST_LibVersion.iMajor3.iMinor3.iBuild13.iRevision0.nFlags0.sVersion3.3.13.0const_non_replacedTcVarGlobal4393216Global_Version.stLibVersion_Tc2_ModbusSrv288ST_LibVersion.iMajor3.iMinor3.iBuild2.iRevision0.sVersion3.3.2.0const_non_replacedTcVarGlobal4393504Global_Version.stLibVersion_Tc2_SerialCom288ST_LibVersion.iMajor3.iMinor3.iBuild10.iRevision0.nFlags0.sVersion3.3.10.0const_non_replacedTcVarGlobal4393792Global_Constants.EMPTY_EVENT_CLASS128GUID.Data10.Data20.Data30.Data4[0]0.Data4[1]0.Data4[2]0.Data4[3]0.Data4[4]0.Data4[5]0.Data4[6]0.Data4[7]0TcVarGlobal4394080Global_Constants.EMPTY_EVENT_ID32UDINT0TcVarGlobal4394208Global_Constants.EMPTY_SEVERITY16TcEventSeverity0TcVarGlobal4394240GVL_Param_TcUnit.MaxNumberOfTestSuites16UINT1000TcVarGlobal4394256Global_Constants.SUCCESS_EVENT192TcEventEntry.uuidEventClass.Data10.uuidEventClass.Data20.uuidEventClass.Data30.uuidEventClass.Data4[0]0.uuidEventClass.Data4[1]0.uuidEventClass.Data4[2]0.uuidEventClass.Data4[3]0.uuidEventClass.Data4[4]0.uuidEventClass.Data4[5]0.uuidEventClass.Data4[6]0.uuidEventClass.Data4[7]0.nEventID0.eSeverity0TcVarGlobal4394272GVL.nLangId_OnlineMonitoring32DINT1033TcVarGlobal4394464ParameterList.cSourceNameSize32UDINT256LowerBorder81UpperBorder10000TcVarGlobal4394496Global_Version.stLibVersion_Tc3_EventLogger288ST_LibVersion.iMajor3.iMinor1.iBuild33.iRevision0.nFlags1.sVersion3.1.33.0const_non_replacedTcVarGlobal4394528GVL_INTERNAL.UNINITIALIZED_CLASS_GUID128GUID.Data13886330336.Data262671.Data318227.Data4[0]149.Data4[1]213.Data4[2]115.Data4[3]223.Data4[4]8.Data4[5]75.Data4[6]96.Data4[7]248TcVarGlobal4394816.TCPADS_MAXUDP_BUFFSIZE32UDINT8192TcVarGlobal4394944Global_Version.stLibVersion_Tc3_JsonXml288ST_LibVersion.iMajor3.iMinor3.iBuild18.iRevision0.nFlags1.sVersion3.3.18.0const_non_replacedTcVarGlobal4394976GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite16UINT100TcVarGlobal4395264GVL_Param_TcUnit.MaxNumberOfAssertsForEachTestSuite16UINT1000TcVarGlobal4395280GVL_Param_TcUnit.xUnitEnablePublish8BOOL0TcVarGlobal4395296GVL_TcUnit.TestSuiteIsRegistered8BOOLTcVarGlobal4395304GVL_Param_TcUnit.AdsLogMessageFifoRingBufferSize16UINT2000TcVarGlobal4397472GVL_TcUnit.CurrentTestIsFinished8BOOLTcVarGlobal4397488GVL_TcUnit.IgnoreCurrentTest16UINT2000TcVarGlobal4395312GVL_Param_TcUnit.xUnitBufferSize32UDINT65535TcVarGlobal4395328GVL_Param_TcUnit.xUnitFilePath2048T_MaxStringC:\tcunit_xunit_testresults.xmlTcVarGlobal4395360GVL_Param_TcUnit.TimeBetweenTestSuitesExecution32TIME0TcVarGlobal4397408GVL_TcUnit.TcUnitRunner621827200FB_TcUnitRunnerTcVarGlobal4397440GVL_TcUnit.CurrentTestSuiteBeingCalled32FB_TestSuiteTcVarGlobal626224640GVL_TcUnit.CurrentTestNameBeingCalled2048T_MaxStringTcVarGlobal626224672GVL_TcUnit.CurrentTestIsFinished8BOOLTcVarGlobal626226720GVL_TcUnit.IgnoreCurrentTest8BOOLTcVarGlobal4397496GVL_Param_TcUnit.TimeBetweenTestSuitesExecution32TIME0TcVarGlobal4397504GVL_TcUnit.TcUnitRunner621827200FB_TcUnitRunnerTcVarGlobal4397536GVL_TcUnit.CurrentTestSuiteBeingCalled32FB_TestSuiteTcVarGlobal626224736GVL_TcUnit.CurrentTestNameBeingCalled2048T_MaxStringTcVarGlobal626224768GVL_TcUnit.NumberOfInitializedTestSuites16UINT0TcVarGlobal626226816PMPS_GVL.AUX_ATTENUATORS16UINT16TcVarGlobal626226832GVL_TcUnit.TestSuiteAddresses32000FB_TestSuite11000TcVarGlobal626226848GVL_TcUnit.CurrentlyRunningOrderedTestInTestSuite8BOOLTcVarGlobal626226728GVL_TcUnit.NumberOfInitializedTestSuites16UINT0TcVarGlobal626226736GVL_TcUnit.TestSuiteAddresses32000FB_TestSuite11000TcVarGlobal626226752GVL_TcUnit.CurrentlyRunningOrderedTestInTestSuite16000UINT11000LowerBorder1UpperBorder100TcVarGlobal626258848GVL_TcUnit.AdsMessageQueue8320864FB_AdsLogStringMessageFifoQueueTcVarGlobal626274848Global_Version.stLibVersion_TcUnit288ST_LibVersion.iMajor1.iMinor2.iBuild0.iRevision0.sVersion1.2.0.0const_non_replacedTcVarGlobal634595712PMPS_GVL.stRequestedBeamParameters1760ST_BeamParamspytmc + The below array is only used for TEST_ORDERED()-tests. ]]>16000UINT11000LowerBorder1UpperBorder100TcVarGlobal626258752GVL_TcUnit.AdsMessageQueue8320864FB_AdsLogStringMessageFifoQueueTcVarGlobal626274752Global_Version.stLibVersion_TcUnit288ST_LibVersion.iMajor1.iMinor2.iBuild0.iRevision0.sVersion1.2.0.0const_non_replacedTcVarGlobal634595616PMPS_GVL.stRequestedBeamParameters1760ST_BeamParamspytmc pv: @(PREFIX)RequestedBP io: i archive: 1Hz monitor - TcVarGlobal634596000PMPS_GVL.stCurrentBeamParameters1760ST_BeamParamspytmc + TcVarGlobal634595904PMPS_GVL.stCurrentBeamParameters1760ST_BeamParamspytmc pv: @(PREFIX)CurrentBP io: i archive: 1Hz monitor - TcVarGlobal634597760PMPS_GVL.g_areVBoundaries1024REAL032pytmc + TcVarGlobal634597664PMPS_GVL.g_areVBoundaries1024REAL032pytmc pv: @(PREFIX)eVRangeCnst io: i archive: 1Hz monitor field: DESC Active eV Range constants field: EGU eV - TcVarGlobal634599520PMPS_GVL.PERange32PE_RangesTcVarGlobal634600544PMPS_GVL.EXCLUDED_ASSERTION_ID32UDINT4294967295TcVarGlobal634600576PMPS_GVL.MAX_DEVICE_STATES32UDINT300TcVarGlobal634600608PMPS_GVL.VISIBLE_TEST_VELOCITY64LREAL10TcVarGlobal634600640PMPS_GVL.FAST_TEST_VELOCITY64LREAL100TcVarGlobal634600704PMPS_GVL.TRANS_SCALING_FACTOR32REAL1TcVarGlobal634600768PMPS_GVL.MAX_VETO_DEVICES16UINT16TcVarGlobal634600800PMPS_GVL.cnMaxStateArrayLenTcVarGlobal634599424PMPS_GVL.PERange32PE_RangesTcVarGlobal634600448PMPS_GVL.EXCLUDED_ASSERTION_ID32UDINT4294967295TcVarGlobal634600480PMPS_GVL.VISIBLE_TEST_VELOCITY64LREAL10TcVarGlobal634600512PMPS_GVL.FAST_TEST_VELOCITY64LREAL100TcVarGlobal634600576PMPS_GVL.MAX_DEVICE_STATES32UDINT300TcVarGlobal634600640PMPS_GVL.TRANS_SCALING_FACTOR32REAL1TcVarGlobal634600672PMPS_GVL.AUX_ATTENUATORS16UINT16TcVarGlobal634600704PMPS_GVL.MAX_VETO_DEVICES16UINT16TcVarGlobal634600720PMPS_GVL.stAttenuators64ST_PMPS_Attenuator.nTran1.xAttOK1TcVarGlobal634600736PMPS_GVL.cstFullBeam1760ST_BeamParamspytmc + pv: @(PREFIX)FullBeamCnst + io: i + archive: 1Hz monitor + field: DESC Full beam constant + TcVarGlobal634600800PMPS_GVL.cst0RateBeam1760ST_BeamParamspytmc + pv: @(PREFIX)0RateBeamCnst + io: i + archive: 1Hz monitor + field: DESC 0-rate beam constant + TcVarGlobal634602560PMPS_GVL.cnMaxStateArrayLen16INT20TcVarGlobal634600816PMPS_GVL.stAttenuators64ST_PMPS_Attenuator.nTran1.xAttOK1TcVarGlobal634600832PMPS_GVL.cstFullBeam1760ST_BeamParamspytmc - pv: @(PREFIX)FullBeamCnst - io: i - archive: 1Hz monitor - field: DESC Full beam constant - TcVarGlobal634600896PMPS_GVL.cst0RateBeam1760ST_BeamParamspytmc - pv: @(PREFIX)0RateBeamCnst - io: i - archive: 1Hz monitor - field: DESC 0-rate beam constant - TcVarGlobal634602656PMPS_GVL.MAX_APERTURES16UINT4TcVarGlobal634604416PMPS_GVL.g_cBoundaries16INT31TcVarGlobal634604432PMPS_GVL.DUMMY_AUX_ATT_ARRAY1024ST_PMPS_Attenuator116suppress_warning_0C0228TcVarGlobal634604448PMPS_GVL.reVHyst16INT20TcVarGlobal634604320PMPS_GVL.MAX_APERTURES16UINT4TcVarGlobal634604336PMPS_GVL.DUMMY_AUX_ATT_ARRAY1024ST_PMPS_Attenuator116suppress_warning_0C0228TcVarGlobal634604352PMPS_GVL.g_cBoundaries16INT31TcVarGlobal634605376PMPS_PARAM.MAX_FAST_FAULTS16UINT50TcVarGlobal634605392PMPS_GVL.reVHyst32REAL5pytmc pv: @(PREFIX)eVRangeHyst @@ -876,52 +848,49 @@ External Setpoint Generation: archive: 1Hz monitor field: DESC eV Range hystersis field: EGU eV - TcVarGlobal634605472PMPS_GVL.g_areVBoundariesL1024REAL032[0]1000[1]1700[2]2100[3]2500[4]3800[5]4000[6]5000[7]7000[8]7500[9]7700[10]8900[11]10000[12]11100[13]12000[14]13000[15]13500[16]14000[17]16900[18]18000[19]20000[20]22000[21]24000[22]25000[23]25500[24]26000[25]27000[26]28000[27]28500[28]29000[29]30000[30]60000[31]90000pytmc + TcVarGlobal634605408PMPS_GVL.g_areVBoundariesL1024REAL032[0]1000[1]1700[2]2100[3]2500[4]3800[5]4000[6]5000[7]7000[8]7500[9]7700[10]8900[11]10000[12]11100[13]12000[14]13000[15]13500[16]14000[17]16900[18]18000[19]20000[20]22000[21]24000[22]25000[23]25500[24]26000[25]27000[26]28000[27]28500[28]29000[29]30000[30]60000[31]90000pytmc pv: @(PREFIX)L:eVRangeCnst io: i archive: 1Hz monitor field: DESC eV Range constants field: EGU eV - TcVarGlobal634605504PMPS_GVL.g_areVBoundariesK1024REAL032[0]100[1]250[2]270[3]350[4]400[5]450[6]480[7]530[8]680[9]730[10]850[11]1100[12]1150[13]1250[14]1450[15]1500[16]1550[17]1650[18]1700[19]1750[20]1820[21]1850[22]2000[23]2200[24]2500[25]2800[26]3000[27]3150[28]3500[29]4000[30]5300[31]7000pytmc + TcVarGlobal634605440PMPS_GVL.g_areVBoundariesK1024REAL032[0]100[1]250[2]270[3]350[4]400[5]450[6]480[7]530[8]680[9]730[10]850[11]1100[12]1150[13]1250[14]1450[15]1500[16]1550[17]1650[18]1700[19]1750[20]1820[21]1850[22]2000[23]2200[24]2500[25]2800[26]3000[27]3150[28]3500[29]4000[30]5300[31]7000pytmc pv: @(PREFIX)K:eVRangeCnst io: i archive: 1Hz monitor field: DESC eV Range constants field: EGU eV - TcVarGlobal634606528PMPS_PARAM.MAX_FAST_FAULTS16UINT50TcVarGlobal634607552Constants.bLittleEndian8BOOL1TcVarGlobal634607576PMPS_PARAM.MAX_ASSERTIONS32UDINT20TcVarGlobal634607584PMPS_PARAM.TRANS_MARGIN32REAL0.05TcVarGlobal634607616PMPS_TOOLS.fbJson256FB_JsonSaxWriterTcVarGlobal634607648Global_Version.stLibVersion_Tc2_MC2288ST_LibVersion.iMajor3.iMinor3.iBuild48.iRevision0.nFlags1.sVersion3.3.48.0const_non_replacedTcVarGlobal634607904Global_Variables.TcMcGlobal6976_TCMCGLOBALTcVarGlobal634608192Global_Variables.DEFAULT_HOME_POSITION64LREAL1E+307TcVarGlobal634615168Global_Variables.DEFAULT_BACKLASHVALUE64LREAL1E+307TcVarGlobal634615232Global_Version.stLibVersion_Tc2_Math288ST_LibVersion.iMajor3.iMinor3.iBuild1.iRevision0.sVersion3.3.1.0const_non_replacedTcVarGlobal634615296Main.M121248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasJetX-EL7041]^STM Status^Status^Digital input 1; + TcVarGlobal634606464PMPS_PARAM.MAX_ASSERTIONS32UDINT20TcVarGlobal634607488PMPS_PARAM.TRANS_MARGIN32REAL0.05TcVarGlobal634607520PMPS_TOOLS.fbJson256FB_JsonSaxWriterTcVarGlobal634607552Global_Version.stLibVersion_Tc2_MC2288ST_LibVersion.iMajor3.iMinor3.iBuild48.iRevision0.nFlags1.sVersion3.3.48.0const_non_replacedTcVarGlobal634607808Global_Variables.TcMcGlobal6976_TCMCGLOBALTcVarGlobal634608096Global_Variables.DEFAULT_HOME_POSITION64LREAL1E+307TcVarGlobal634615104Global_Variables.DEFAULT_BACKLASHVALUE64LREAL1E+307TcVarGlobal634615168Global_Version.stLibVersion_Tc2_Math288ST_LibVersion.iMajor3.iMinor3.iBuild1.iRevision0.sVersion3.3.1.0const_non_replacedTcVarGlobal634615232Constants.bLittleEndian8BOOL1TcVarGlobal634649448Constants.bSimulationMode8BOOL0TcVarGlobal634649456Constants.bFPUSupport8BOOL1TcVarGlobal634649464Main.M121248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasJetX-EL7041]^STM Status^Status^Digital input 1; .bLimitBackwardEnable:=TIIB[GasJetX-EL7041]^STM Status^Status^Digital input 2pytmc pv: TMO:LAMP:MMS:01 - 634649536Main.M221248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasJetY-EL7041]^STM Status^Status^Digital input 2; + 634649472Main.M221248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasJetY-EL7041]^STM Status^Status^Digital input 2; .bLimitBackwardEnable:=TIIB[GasJetY-EL7041]^STM Status^Status^Digital input 1pytmc pv: TMO:LAMP:MMS:02 - 634670784Main.M321248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasJetZ-EL7041]^STM Status^Status^Digital input 1; + 634670720Main.M321248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasJetZ-EL7041]^STM Status^Status^Digital input 1; .bLimitBackwardEnable:=TIIB[GasJetZ-EL7041]^STM Status^Status^Digital input 2pytmc pv: TMO:LAMP:MMS:03 - 634692032Main.M421248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasNeedleX-EL7041]^STM Status^Status^Digital input 1; + 634691968Main.M421248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasNeedleX-EL7041]^STM Status^Status^Digital input 1; .bLimitBackwardEnable:=TIIB[GasNeedleX-EL7041]^STM Status^Status^Digital input 2pytmc pv: TMO:LAMP:MMS:04 - 634713280Main.M521248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasNeedleY-EL7041]^STM Status^Status^Digital input 1; + 634713216Main.M521248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasNeedleY-EL7041]^STM Status^Status^Digital input 1; .bLimitBackwardEnable:=TIIB[GasNeedleY-EL7041]^STM Status^Status^Digital input 2pytmc pv: TMO:LAMP:MMS:05 - 634734528Main.M621248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasNeedleZ-EL7041]^STM Status^Status^Digital input 2; + 634734464Main.M621248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasNeedleZ-EL7041]^STM Status^Status^Digital input 2; .bLimitBackwardEnable:=TIIB[GasNeedleZ-EL7041]^STM Status^Status^Digital input 1pytmc pv: TMO:LAMP:MMS:06 - 634755776Main.M721248DUT_MotionStage.bPowerSelf1TcLinkTo.bLimitForwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 1^Input; + 634755712Main.M721248DUT_MotionStage.bPowerSelf1TcLinkTo.bLimitForwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 1^Input; .bLimitBackwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 2^Inputpytmc pv: TMO:LAMP:MMS:07 - 634777024Main.M821248DUT_MotionStage.bPowerSelf1TcLinkTo.bLimitForwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 4^Input; + 634776960Main.M821248DUT_MotionStage.bPowerSelf1TcLinkTo.bLimitForwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 4^Input; .bLimitBackwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 3^Inputpytmc pv: TMO:LAMP:MMS:08 - 634798272Main.M921248DUT_MotionStage.bPowerSelf1TcLinkTo.bLimitForwardEnable:=TIIB[SamplePaddleZ-EL1084]^Channel 1^Input; + 634798208Main.M921248DUT_MotionStage.bPowerSelf1TcLinkTo.bLimitForwardEnable:=TIIB[SamplePaddleZ-EL1084]^Channel 1^Input; .bLimitBackwardEnable:=TIIB[SamplePaddleZ-EL1084]^Channel 2^Inputpytmc pv: TMO:LAMP:MMS:09 - 634819520Main.M1021248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasNeedleX-EL7041]^STM Status^Status^Digital input 1; - .bLimitBackwardEnable:=TIIB[GasNeedleX-EL7041]^STM Status^Status^Digital input 2pytmc - pv: TMO:LAMP:MMS:10 - 634840768Main.fbMotionStageM1299392FB_MotionStage634862016Main.fbMotionStageM2299392FB_MotionStage635161408Main.fbMotionStageM3299392FB_MotionStage635460800Main.fbMotionStageM4299392FB_MotionStage635760192Main.fbMotionStageM5299392FB_MotionStage636059584Main.fbMotionStageM6299392FB_MotionStage636358976Main.fbMotionStageM7299392FB_MotionStage636658368Main.fbMotionStageM8299392FB_MotionStage636957760Main.fbMotionStageM9299392FB_MotionStage637257152Main.fbMotionStageM10299392FB_MotionStage637556544Constants.RuntimeVersion64VERSION.uiMajor3.uiMinor5.uiServicePack6.uiPatch0TcVarGlobal637856448Constants.CompilerVersion64VERSION.uiMajor3.uiMinor5.uiServicePack10.uiPatch100TcVarGlobal637856512Constants.bSimulationMode8BOOL0TcVarGlobal637856576Constants.bFPUSupport8BOOL1TcVarGlobal637856584Constants.nRegisterSize16WORD32TcVarGlobal637856592Constants.nPackMode16UINT8TcVarGlobal637856608Constants.RuntimeVersionNumeric32DWORD50660864TcVarGlobal637856640Constants.CompilerVersionNumeric32DWORD50661988TcVarGlobal637856672TwinCAT_SystemInfoVarList._AppInfo2048PlcAppSystemInfono_initTcVarGlobal637856704TwinCAT_SystemInfoVarList._TaskInfo1024PlcTaskSystemInfo11no_initTcVarGlobal637858752TwinCAT_SystemInfoVarList._TaskPouOid_PlcTask32OTCIDno_initTcVarGlobal637859776TwinCAT_SystemInfoVarList._TaskOid_PlcTask32OTCIDno_initTcVarGlobal637859808TwinCAT_SystemInfoVarList.__PlcTask704_Implicit_Task_Info.dwVersion2TcContextNamePlcTaskTcVarGlobal637859840TC_EVENTS.LCLSGeneralEventClass960ST_LCLSGeneralEventClasstc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228TcVarGlobal6379071364PlcTask Retains080281600PMPS_GVL.SuccessfulPreemption32UDINTpytmc + 634819456Main.fbMotionStageM1299392FB_MotionStage634840704Main.fbMotionStageM2299392FB_MotionStage635140096Main.fbMotionStageM3299392FB_MotionStage635439488Main.fbMotionStageM4299392FB_MotionStage635738880Main.fbMotionStageM5299392FB_MotionStage636038272Main.fbMotionStageM6299392FB_MotionStage636337664Main.fbMotionStageM7299392FB_MotionStage636637056Main.fbMotionStageM8299392FB_MotionStage636936448Main.fbMotionStageM9299392FB_MotionStage637235840Constants.RuntimeVersion64VERSION.uiMajor3.uiMinor5.uiServicePack6.uiPatch0TcVarGlobal637535744Constants.CompilerVersion64VERSION.uiMajor3.uiMinor5.uiServicePack10.uiPatch100TcVarGlobal637535808Constants.nRegisterSize16WORD32TcVarGlobal637535872Constants.nPackMode16UINT8TcVarGlobal637535888Constants.RuntimeVersionNumeric32DWORD50660864TcVarGlobal637535904Constants.CompilerVersionNumeric32DWORD50661988TcVarGlobal637535936TwinCAT_SystemInfoVarList._AppInfo2048PlcAppSystemInfono_initTcVarGlobal637535968TwinCAT_SystemInfoVarList._TaskPouOid_PlcTask32OTCIDno_initTcVarGlobal637538016TwinCAT_SystemInfoVarList._TaskInfo1024PlcTaskSystemInfo11no_initTcVarGlobal637538048TwinCAT_SystemInfoVarList._TaskOid_PlcTask32OTCIDno_initTcVarGlobal637539072TwinCAT_SystemInfoVarList.__PlcTask704_Implicit_Task_Info.dwVersion2TcContextNamePlcTaskTcVarGlobal637539104TC_EVENTS.LCLSGeneralEventClass960ST_LCLSGeneralEventClasstc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228TcVarGlobal6375707844PlcTask Retains080281600PMPS_GVL.SuccessfulPreemption32UDINTpytmc pv: @(PREFIX)SuccessfulPreemptions io: i TcVarGlobal3072000PMPS_GVL.AccumulatedFF32UDINTpytmc pv: @(PREFIX)AccumulatedFastFaults io: i - TcVarGlobal3072032PMPS_GVL.BP_jsonDoc32SJsonValueTcVarGlobal3072064LCLSGeneralEventClassApplicationNamePort_851ChangeDate2023-01-26T13:55:12GeneratedCodeSize495616GlobalDataSize79286272 \ No newline at end of file + TcVarGlobal3072032PMPS_GVL.BP_jsonDoc32SJsonValueTcVarGlobal3072064LCLSGeneralEventClassApplicationNamePort_851ChangeDate2023-07-26T10:48:22GeneratedCodeSize495616GlobalDataSize79245312 \ No newline at end of file From d50510ebf076013ca717d3357148bebef97b6b9c Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Wed, 26 Jul 2023 13:06:01 -0700 Subject: [PATCH 2/3] updated IOC --- iocBoot/ioc-lamp-motion/envPaths | 10 +- iocBoot/ioc-lamp-motion/lamp_motion.archive | 577 ++ iocBoot/ioc-lamp-motion/lamp_motion.db | 7320 +++++++++++++------ iocBoot/ioc-lamp-motion/st.cmd | 134 +- 4 files changed, 5583 insertions(+), 2458 deletions(-) create mode 100644 iocBoot/ioc-lamp-motion/lamp_motion.archive diff --git a/iocBoot/ioc-lamp-motion/envPaths b/iocBoot/ioc-lamp-motion/envPaths index 6a8fd08..3cc9716 100644 --- a/iocBoot/ioc-lamp-motion/envPaths +++ b/iocBoot/ioc-lamp-motion/envPaths @@ -1,5 +1,5 @@ -epicsEnvSet("IOC","ioc-lamp-motion") -epicsEnvSet("TOP","/reg/g/pcds/epics/ioc/common/ads-ioc/R0.4.1") +epicsEnvSet("IOC","${IOC=ioc-lamp-motion}") +epicsEnvSet("TOP","/cds/group/pcds/epics/ioc/common/ads-ioc/R0.6.1") epicsEnvSet("EPICS_SITE_TOP","/reg/g/pcds/epics/") epicsEnvSet("EPICS_MODULES","/reg/g/pcds/epics//R7.0.2-2.0/modules") epicsEnvSet("AUTOSAVE","/reg/g/pcds/epics//R7.0.2-2.0/modules/autosave/R5.8-2.1.0") @@ -7,8 +7,8 @@ epicsEnvSet("IOCADMIN","/reg/g/pcds/epics//R7.0.2-2.0/modules/iocAdmin/R3.1.15-1 epicsEnvSet("ETHERCATMC","/reg/g/pcds/epics//R7.0.2-2.0/modules/ethercatmc/R2.1.0-0.1.2") epicsEnvSet("MOTOR","/reg/g/pcds/epics//R7.0.2-2.0/modules/motor/R6.9-ess-0.0.1") epicsEnvSet("ASYN","/reg/g/pcds/epics//R7.0.2-2.0/modules/asyn/R4.35-0.0.1") -epicsEnvSet("ADS","/reg/g/pcds/epics//R7.0.2-2.0/modules/twincat-ads/R2.0.0-0.0.6") +epicsEnvSet("ADS","/reg/g/pcds/epics//R7.0.2-2.0/modules/twincat-ads/R2.0.0-0.0.7") epicsEnvSet("CAPUTLOG","/reg/g/pcds/epics//R7.0.2-2.0/modules/caPutLog/R3.7-1.0.0") epicsEnvSet("EPICS_BASE","/reg/g/pcds/epics//base/R7.0.2-2.0") -epicsEnvSet("IOC_TOP", "/cds/group/pcds/epics-dev/adpai/lcls-plc-lamp-motion/iocBoot/ioc-lamp-motion") -epicsEnvSet("IOC_DATA", "/reg/d/iocData") +epicsEnvSet("IOC_TOP", "/reg/g/pcds/epics-dev/jozamudi/tmo/lcls-plc-lamp-motion/iocBoot/ioc-lamp-motion") +epicsEnvSet("IOC_DATA", "/cds/data/iocData") diff --git a/iocBoot/ioc-lamp-motion/lamp_motion.archive b/iocBoot/ioc-lamp-motion/lamp_motion.archive new file mode 100644 index 0000000..977a7ab --- /dev/null +++ b/iocBoot/ioc-lamp-motion/lamp_motion.archive @@ -0,0 +1,577 @@ +$(PREFIX)LCLSGeneral:GlobalLogTrickleTrip_RBV.VAL 1 scan +$(PREFIX)LCLSGeneral:LogHost_RBV.VAL 1 scan +$(PREFIX)LCLSGeneral:LogHost.VAL 1 scan +$(PREFIX)LCLSGeneral:LogPort_RBV.VAL 1 scan +$(PREFIX)LCLSGeneral:LogPort.VAL 1 scan +$(PREFIX)LCLSGeneral:LogMessageCount_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bAllBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bAllEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bAllForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bBrakeRelease_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bBusy_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bDone_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bEnable.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bEnableDone_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bError_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bExecute_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bExecute.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bGantryAxis_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bGantryBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bGantryForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bHardwareEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bHome_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bHomeCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bHomeCmd.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bHomed_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bLimitBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bLimitForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bMoveCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bMoveCmd.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bPowerSelf_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bReset_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bReset.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bSafetyReady_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bUserEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:bUserEnable.VAL 1 scan +TMO:LAMP:MMS:01:PLC:fAcceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:fAcceleration.VAL 1 scan +TMO:LAMP:MMS:01:PLC:fDeceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:fDeceleration.VAL 1 scan +TMO:LAMP:MMS:01:PLC:fHomePosition_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:fHomePosition.VAL 1 scan +TMO:LAMP:MMS:01:PLC:fPosDiff_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:fPosition_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:fPosition.VAL 1 scan +TMO:LAMP:MMS:01:PLC:fVelocity_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:fVelocity.VAL 1 scan +TMO:LAMP:MMS:01:PLC:nBrakeMode_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:nCmdData_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:nCmdData.VAL 1 scan +TMO:LAMP:MMS:01:PLC:nCommand_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:nCommand.VAL 1 scan +TMO:LAMP:MMS:01:PLC:nEnableMode_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:nEncoderCount_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:nErrorId_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:nHomingMode_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:nMotionAxisID_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:sErrorMessage_RBV.VAL 1 scan +TMO:LAMP:MMS:01:PLC:sName_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bAllBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bAllEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bAllForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bBrakeRelease_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bBusy_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bDone_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bEnable.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bEnableDone_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bError_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bExecute_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bExecute.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bGantryAxis_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bGantryBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bGantryForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bHardwareEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bHome_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bHomeCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bHomeCmd.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bHomed_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bLimitBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bLimitForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bMoveCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bMoveCmd.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bPowerSelf_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bReset_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bReset.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bSafetyReady_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bUserEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:bUserEnable.VAL 1 scan +TMO:LAMP:MMS:02:PLC:fAcceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:fAcceleration.VAL 1 scan +TMO:LAMP:MMS:02:PLC:fDeceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:fDeceleration.VAL 1 scan +TMO:LAMP:MMS:02:PLC:fHomePosition_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:fHomePosition.VAL 1 scan +TMO:LAMP:MMS:02:PLC:fPosDiff_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:fPosition_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:fPosition.VAL 1 scan +TMO:LAMP:MMS:02:PLC:fVelocity_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:fVelocity.VAL 1 scan +TMO:LAMP:MMS:02:PLC:nBrakeMode_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:nCmdData_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:nCmdData.VAL 1 scan +TMO:LAMP:MMS:02:PLC:nCommand_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:nCommand.VAL 1 scan +TMO:LAMP:MMS:02:PLC:nEnableMode_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:nEncoderCount_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:nErrorId_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:nHomingMode_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:nMotionAxisID_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:sErrorMessage_RBV.VAL 1 scan +TMO:LAMP:MMS:02:PLC:sName_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bAllBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bAllEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bAllForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bBrakeRelease_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bBusy_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bDone_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bEnable.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bEnableDone_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bError_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bExecute_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bExecute.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bGantryAxis_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bGantryBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bGantryForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bHardwareEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bHome_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bHomeCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bHomeCmd.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bHomed_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bLimitBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bLimitForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bMoveCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bMoveCmd.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bPowerSelf_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bReset_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bReset.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bSafetyReady_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bUserEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:bUserEnable.VAL 1 scan +TMO:LAMP:MMS:03:PLC:fAcceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:fAcceleration.VAL 1 scan +TMO:LAMP:MMS:03:PLC:fDeceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:fDeceleration.VAL 1 scan +TMO:LAMP:MMS:03:PLC:fHomePosition_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:fHomePosition.VAL 1 scan +TMO:LAMP:MMS:03:PLC:fPosDiff_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:fPosition_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:fPosition.VAL 1 scan +TMO:LAMP:MMS:03:PLC:fVelocity_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:fVelocity.VAL 1 scan +TMO:LAMP:MMS:03:PLC:nBrakeMode_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:nCmdData_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:nCmdData.VAL 1 scan +TMO:LAMP:MMS:03:PLC:nCommand_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:nCommand.VAL 1 scan +TMO:LAMP:MMS:03:PLC:nEnableMode_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:nEncoderCount_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:nErrorId_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:nHomingMode_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:nMotionAxisID_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:sErrorMessage_RBV.VAL 1 scan +TMO:LAMP:MMS:03:PLC:sName_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bAllBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bAllEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bAllForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bBrakeRelease_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bBusy_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bDone_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bEnable.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bEnableDone_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bError_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bExecute_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bExecute.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bGantryAxis_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bGantryBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bGantryForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bHardwareEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bHome_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bHomeCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bHomeCmd.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bHomed_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bLimitBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bLimitForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bMoveCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bMoveCmd.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bPowerSelf_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bReset_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bReset.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bSafetyReady_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bUserEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:bUserEnable.VAL 1 scan +TMO:LAMP:MMS:04:PLC:fAcceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:fAcceleration.VAL 1 scan +TMO:LAMP:MMS:04:PLC:fDeceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:fDeceleration.VAL 1 scan +TMO:LAMP:MMS:04:PLC:fHomePosition_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:fHomePosition.VAL 1 scan +TMO:LAMP:MMS:04:PLC:fPosDiff_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:fPosition_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:fPosition.VAL 1 scan +TMO:LAMP:MMS:04:PLC:fVelocity_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:fVelocity.VAL 1 scan +TMO:LAMP:MMS:04:PLC:nBrakeMode_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:nCmdData_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:nCmdData.VAL 1 scan +TMO:LAMP:MMS:04:PLC:nCommand_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:nCommand.VAL 1 scan +TMO:LAMP:MMS:04:PLC:nEnableMode_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:nEncoderCount_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:nErrorId_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:nHomingMode_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:nMotionAxisID_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:sErrorMessage_RBV.VAL 1 scan +TMO:LAMP:MMS:04:PLC:sName_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bAllBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bAllEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bAllForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bBrakeRelease_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bBusy_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bDone_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bEnable.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bEnableDone_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bError_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bExecute_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bExecute.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bGantryAxis_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bGantryBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bGantryForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bHardwareEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bHome_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bHomeCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bHomeCmd.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bHomed_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bLimitBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bLimitForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bMoveCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bMoveCmd.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bPowerSelf_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bReset_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bReset.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bSafetyReady_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bUserEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:bUserEnable.VAL 1 scan +TMO:LAMP:MMS:05:PLC:fAcceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:fAcceleration.VAL 1 scan +TMO:LAMP:MMS:05:PLC:fDeceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:fDeceleration.VAL 1 scan +TMO:LAMP:MMS:05:PLC:fHomePosition_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:fHomePosition.VAL 1 scan +TMO:LAMP:MMS:05:PLC:fPosDiff_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:fPosition_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:fPosition.VAL 1 scan +TMO:LAMP:MMS:05:PLC:fVelocity_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:fVelocity.VAL 1 scan +TMO:LAMP:MMS:05:PLC:nBrakeMode_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:nCmdData_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:nCmdData.VAL 1 scan +TMO:LAMP:MMS:05:PLC:nCommand_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:nCommand.VAL 1 scan +TMO:LAMP:MMS:05:PLC:nEnableMode_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:nEncoderCount_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:nErrorId_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:nHomingMode_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:nMotionAxisID_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:sErrorMessage_RBV.VAL 1 scan +TMO:LAMP:MMS:05:PLC:sName_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bAllBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bAllEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bAllForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bBrakeRelease_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bBusy_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bDone_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bEnable.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bEnableDone_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bError_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bExecute_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bExecute.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bGantryAxis_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bGantryBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bGantryForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bHardwareEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bHome_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bHomeCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bHomeCmd.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bHomed_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bLimitBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bLimitForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bMoveCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bMoveCmd.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bPowerSelf_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bReset_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bReset.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bSafetyReady_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bUserEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:bUserEnable.VAL 1 scan +TMO:LAMP:MMS:06:PLC:fAcceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:fAcceleration.VAL 1 scan +TMO:LAMP:MMS:06:PLC:fDeceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:fDeceleration.VAL 1 scan +TMO:LAMP:MMS:06:PLC:fHomePosition_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:fHomePosition.VAL 1 scan +TMO:LAMP:MMS:06:PLC:fPosDiff_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:fPosition_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:fPosition.VAL 1 scan +TMO:LAMP:MMS:06:PLC:fVelocity_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:fVelocity.VAL 1 scan +TMO:LAMP:MMS:06:PLC:nBrakeMode_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:nCmdData_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:nCmdData.VAL 1 scan +TMO:LAMP:MMS:06:PLC:nCommand_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:nCommand.VAL 1 scan +TMO:LAMP:MMS:06:PLC:nEnableMode_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:nEncoderCount_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:nErrorId_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:nHomingMode_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:nMotionAxisID_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:sErrorMessage_RBV.VAL 1 scan +TMO:LAMP:MMS:06:PLC:sName_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bAllBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bAllEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bAllForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bBrakeRelease_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bBusy_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bDone_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bEnable.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bEnableDone_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bError_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bExecute_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bExecute.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bGantryAxis_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bGantryBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bGantryForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bHardwareEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bHome_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bHomeCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bHomeCmd.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bHomed_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bLimitBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bLimitForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bMoveCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bMoveCmd.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bPowerSelf_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bReset_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bReset.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bSafetyReady_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bUserEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:bUserEnable.VAL 1 scan +TMO:LAMP:MMS:07:PLC:fAcceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:fAcceleration.VAL 1 scan +TMO:LAMP:MMS:07:PLC:fDeceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:fDeceleration.VAL 1 scan +TMO:LAMP:MMS:07:PLC:fHomePosition_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:fHomePosition.VAL 1 scan +TMO:LAMP:MMS:07:PLC:fPosDiff_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:fPosition_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:fPosition.VAL 1 scan +TMO:LAMP:MMS:07:PLC:fVelocity_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:fVelocity.VAL 1 scan +TMO:LAMP:MMS:07:PLC:nBrakeMode_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:nCmdData_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:nCmdData.VAL 1 scan +TMO:LAMP:MMS:07:PLC:nCommand_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:nCommand.VAL 1 scan +TMO:LAMP:MMS:07:PLC:nEnableMode_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:nEncoderCount_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:nErrorId_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:nHomingMode_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:nMotionAxisID_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:sErrorMessage_RBV.VAL 1 scan +TMO:LAMP:MMS:07:PLC:sName_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bAllBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bAllEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bAllForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bBrakeRelease_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bBusy_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bDone_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bEnable.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bEnableDone_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bError_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bExecute_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bExecute.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bGantryAxis_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bGantryBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bGantryForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bHardwareEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bHome_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bHomeCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bHomeCmd.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bHomed_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bLimitBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bLimitForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bMoveCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bMoveCmd.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bPowerSelf_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bReset_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bReset.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bSafetyReady_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bUserEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:bUserEnable.VAL 1 scan +TMO:LAMP:MMS:08:PLC:fAcceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:fAcceleration.VAL 1 scan +TMO:LAMP:MMS:08:PLC:fDeceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:fDeceleration.VAL 1 scan +TMO:LAMP:MMS:08:PLC:fHomePosition_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:fHomePosition.VAL 1 scan +TMO:LAMP:MMS:08:PLC:fPosDiff_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:fPosition_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:fPosition.VAL 1 scan +TMO:LAMP:MMS:08:PLC:fVelocity_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:fVelocity.VAL 1 scan +TMO:LAMP:MMS:08:PLC:nBrakeMode_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:nCmdData_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:nCmdData.VAL 1 scan +TMO:LAMP:MMS:08:PLC:nCommand_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:nCommand.VAL 1 scan +TMO:LAMP:MMS:08:PLC:nEnableMode_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:nEncoderCount_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:nErrorId_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:nHomingMode_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:nMotionAxisID_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:sErrorMessage_RBV.VAL 1 scan +TMO:LAMP:MMS:08:PLC:sName_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bAllBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bAllEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bAllForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bBrakeRelease_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bBusy_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bDone_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bEnable.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bEnableDone_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bError_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bExecute_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bExecute.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bGantryAxis_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bGantryBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bGantryForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bHardwareEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bHome_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bHomeCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bHomeCmd.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bHomed_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bLimitBackwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bLimitForwardEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bMoveCmd_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bMoveCmd.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bPowerSelf_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bReset_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bReset.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bSafetyReady_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bUserEnable_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:bUserEnable.VAL 1 scan +TMO:LAMP:MMS:09:PLC:fAcceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:fAcceleration.VAL 1 scan +TMO:LAMP:MMS:09:PLC:fDeceleration_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:fDeceleration.VAL 1 scan +TMO:LAMP:MMS:09:PLC:fHomePosition_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:fHomePosition.VAL 1 scan +TMO:LAMP:MMS:09:PLC:fPosDiff_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:fPosition_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:fPosition.VAL 1 scan +TMO:LAMP:MMS:09:PLC:fVelocity_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:fVelocity.VAL 1 scan +TMO:LAMP:MMS:09:PLC:nBrakeMode_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:nCmdData_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:nCmdData.VAL 1 scan +TMO:LAMP:MMS:09:PLC:nCommand_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:nCommand.VAL 1 scan +TMO:LAMP:MMS:09:PLC:nEnableMode_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:nEncoderCount_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:nErrorId_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:nHomingMode_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:nMotionAxisID_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:sErrorMessage_RBV.VAL 1 scan +TMO:LAMP:MMS:09:PLC:sName_RBV.VAL 1 scan +$(PREFIX)AccumulatedFastFaults_RBV.VAL 1 scan +$(PREFIX)SuccessfulPreemptions_RBV.VAL 1 scan +$(PREFIX)0RateBeamCnst:Veto_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Apt:01:Height_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Apt:01:Width_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Apt:01:OK_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Apt:02:Height_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Apt:02:Width_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Apt:02:OK_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Apt:03:Height_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Apt:03:Width_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Apt:03:OK_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Apt:04:Height_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Apt:04:Width_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Apt:04:OK_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:BeamClassRanges_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:BeamClass_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Cohort_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:MachineMode_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Rate_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Transmission_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:PhotonEnergy_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:eVRanges_RBV.VAL 1 monitor +$(PREFIX)0RateBeamCnst:Valid_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Veto_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Apt:01:Height_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Apt:01:Width_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Apt:01:OK_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Apt:02:Height_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Apt:02:Width_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Apt:02:OK_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Apt:03:Height_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Apt:03:Width_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Apt:03:OK_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Apt:04:Height_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Apt:04:Width_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Apt:04:OK_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:BeamClassRanges_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:BeamClass_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Cohort_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:MachineMode_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Rate_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Transmission_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:PhotonEnergy_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:eVRanges_RBV.VAL 1 monitor +$(PREFIX)FullBeamCnst:Valid_RBV.VAL 1 monitor +$(PREFIX)eVRangeCnst_RBV.VAL 1 monitor +$(PREFIX)K:eVRangeCnst_RBV.VAL 1 monitor +$(PREFIX)L:eVRangeCnst_RBV.VAL 1 monitor +$(PREFIX)eVRangeHyst_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Veto_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Apt:01:Height_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Apt:01:Width_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Apt:01:OK_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Apt:02:Height_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Apt:02:Width_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Apt:02:OK_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Apt:03:Height_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Apt:03:Width_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Apt:03:OK_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Apt:04:Height_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Apt:04:Width_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Apt:04:OK_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:BeamClassRanges_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:BeamClass_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Cohort_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:MachineMode_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Rate_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Transmission_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:PhotonEnergy_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:eVRanges_RBV.VAL 1 monitor +$(PREFIX)CurrentBP:Valid_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Veto_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Apt:01:Height_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Apt:01:Width_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Apt:01:OK_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Apt:02:Height_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Apt:02:Width_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Apt:02:OK_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Apt:03:Height_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Apt:03:Width_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Apt:03:OK_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Apt:04:Height_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Apt:04:Width_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Apt:04:OK_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:BeamClassRanges_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:BeamClass_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Cohort_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:MachineMode_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Rate_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Transmission_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:PhotonEnergy_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:eVRanges_RBV.VAL 1 monitor +$(PREFIX)RequestedBP:Valid_RBV.VAL 1 monitor \ No newline at end of file diff --git a/iocBoot/ioc-lamp-motion/lamp_motion.db b/iocBoot/ioc-lamp-motion/lamp_motion.db index 7657440..539e534 100644 --- a/iocBoot/ioc-lamp-motion/lamp_motion.db +++ b/iocBoot/ioc-lamp-motion/lamp_motion.db @@ -7,24 +7,7 @@ record(bi, "$(PREFIX)LCLSGeneral:GlobalLogTrickleTrip_RBV") { field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/GVL_Logger.bTrickleTripped?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(archive, "VAL") -} - -record(longin, "$(PREFIX)LCLSGeneral:LogPort_RBV") { - field(DESC, "The log host UDP port") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/GVL_Logger.iLogPort?") - info(archive, "VAL") -} - -record(longout, "$(PREFIX)LCLSGeneral:LogPort") { - field(DESC, "The log host UDP port") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/GVL_Logger.iLogPort=") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } @@ -37,4942 +20,7433 @@ record(waveform, "$(PREFIX)LCLSGeneral:LogHost_RBV") { field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/GVL_Logger.cLogHost?") field(FTVL, "CHAR") field(NELM, "15") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") info(archive, "VAL") } record(waveform, "$(PREFIX)LCLSGeneral:LogHost") { field(DESC, "The log host IP address") field(DTYP, "asynInt8ArrayOut") + field(UDFS, "0") field(INP, "@asyn($(PORT),0,1)ADSPORT=851/GVL_Logger.cLogHost=") field(FTVL, "CHAR") field(NELM, "15") - info(autosaveFields_pass0, "VAL") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS VAL") info(archive, "VAL") } -record(longin, "$(PREFIX)LCLSGeneral:LogMessageCount_RBV") { - field(DESC, "Total log messages on the last cycle") +record(longin, "$(PREFIX)LCLSGeneral:LogPort_RBV") { + field(DESC, "The log host UDP port") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/GVL_Logger.nGlobAccEvents?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/GVL_Logger.iLogPort?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(longin, "$(PREFIX)RequestedBP:Transmission_RBV") { - field(DESC, "PMPS_GVL.stRequestedBeamParameters.nTran") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(longout, "$(PREFIX)LCLSGeneral:LogPort") { + field(DESC, "The log host UDP port") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.nTran?") - field(EGU, "%") - info(archive, "monitor 1: VAL") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/GVL_Logger.iLogPort=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") + info(archive, "VAL") } -record(longin, "$(PREFIX)RequestedBP:Rate_RBV") { - field(DESC, "PMPS_GVL.stRequestedBeamParameters.nRate") +record(longin, "$(PREFIX)LCLSGeneral:LogMessageCount_RBV") { + field(DESC, "Total log messages on the last cycle") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.nRate?") - field(EGU, "Hz") - info(archive, "monitor 1: VAL") -} - -record(ai, "$(PREFIX)RequestedBP:PulseEnergy_RBV") { - field(DESC, "This beam parameter is non-op for now.") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.fPP_mJ?") - field(PREC, "3") - field(EGU, "mJ") - info(autosaveFields_pass0, "PREC") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/GVL_Logger.nGlobAccEvents?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") } -record(longin, "$(PREFIX)RequestedBP:PhotonEnergyRanges_RBV") { - # PMPS_GVL.stRequestedBeamParameters.neVRange - field(DESC, "PMPS_GVL.stRequested...rameters.neVRange") +record(bi, "TMO:LAMP:MMS:01:PLC:bAllBackwardEnable_RBV") { + # Summary of axis permission to move backward + field(DESC, "Summary of axis perm... to move backward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.neVRange?") - field(EGU, "eV") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bAllBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(waveform, "$(PREFIX)RequestedBP:ST_RBV") { - # PMPS_GVL.stRequestedBeamParameters.aStoppers - field(DESC, "PMPS_GVL.stRequested...ameters.aStoppers") +record(bi, "TMO:LAMP:MMS:01:PLC:bAllEnable_RBV") { + field(DESC, "Summary of axis permission to have power") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.aStoppers?") - field(FTVL, "CHAR") - field(NELM, "16") - field(MPST, "On Change") - field(APST, "On Change") - info(archive, "monitor 1: VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bAllEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(bi, "$(PREFIX)RequestedBP:Valid_RBV") { - # PMPS_GVL.stRequestedBeamParameters.xValid - field(DESC, "PMPS_GVL.stRequested...Parameters.xValid") +record(bi, "TMO:LAMP:MMS:01:PLC:bAllForwardEnable_RBV") { + # Summary of axis permission to move forward + field(DESC, "Summary of axis perm...n to move forward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.xValid?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bAllForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(archive, "monitor 1: VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(longin, "$(PREFIX)RequestedBP:Cohort_RBV") { - field(DESC, "Cohort inc on each arb cycle") +record(bi, "TMO:LAMP:MMS:01:PLC:bBrakeRelease_RBV") { + field(DESC, "TRUE if brake released") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.nCohortInt?") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bBrakeRelease?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(longin, "$(PREFIX)CurrentBP:Transmission_RBV") { - field(DESC, "PMPS_GVL.stCurrentBeamParameters.nTran") +record(bi, "TMO:LAMP:MMS:01:PLC:bBusy_RBV") { + field(DESC, "TRUE if in the middle of a command") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.nTran?") - field(EGU, "%") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bBusy?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(longin, "$(PREFIX)CurrentBP:Rate_RBV") { - field(DESC, "PMPS_GVL.stCurrentBeamParameters.nRate") +record(bi, "TMO:LAMP:MMS:01:PLC:bDone_RBV") { + field(DESC, "TRUE if command finished successfully") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.nRate?") - field(EGU, "Hz") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bDone?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(ai, "$(PREFIX)CurrentBP:PulseEnergy_RBV") { - field(DESC, "This beam parameter is non-op for now.") +record(bi, "TMO:LAMP:MMS:01:PLC:bEnable_RBV") { + field(DESC, "Used internally to request enables") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.fPP_mJ?") - field(PREC, "3") - field(EGU, "mJ") - info(autosaveFields_pass0, "PREC") - info(archive, "monitor 1: VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(longin, "$(PREFIX)CurrentBP:PhotonEnergyRanges_RBV") { - # PMPS_GVL.stCurrentBeamParameters.neVRange - field(DESC, "PMPS_GVL.stCurrentBe...rameters.neVRange") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(bo, "TMO:LAMP:MMS:01:PLC:bEnable") { + field(DESC, "Used internally to request enables") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.neVRange?") - field(EGU, "eV") - info(archive, "monitor 1: VAL") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.bEnable=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") } -record(waveform, "$(PREFIX)CurrentBP:ST_RBV") { - # PMPS_GVL.stCurrentBeamParameters.aStoppers - field(DESC, "PMPS_GVL.stCurrentBe...ameters.aStoppers") +record(bi, "TMO:LAMP:MMS:01:PLC:bEnableDone_RBV") { + field(DESC, "TRUE if done enabling") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.aStoppers?") - field(FTVL, "CHAR") - field(NELM, "16") - field(MPST, "On Change") - field(APST, "On Change") - info(archive, "monitor 1: VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bEnableDone?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(bi, "$(PREFIX)CurrentBP:Valid_RBV") { - field(DESC, "PMPS_GVL.stCurrentBeamParameters.xValid") +record(bi, "TMO:LAMP:MMS:01:PLC:bError_RBV") { + field(DESC, "TRUE if we are in an error state") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.xValid?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M1.bError?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(archive, "monitor 1: VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(longin, "$(PREFIX)CurrentBP:Cohort_RBV") { - field(DESC, "Cohort inc on each arb cycle") +record(bi, "TMO:LAMP:MMS:01:PLC:bExecute_RBV") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.nCohortInt?") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bExecute?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(waveform, "$(PREFIX)eVRangeCnst_RBV") { - field(DESC, "Active eV Range constants") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynFloat32ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.g_areVBoundaries?") - field(FTVL, "FLOAT") - field(EGU, "eV") - field(NELM, "16") - field(MPST, "On Change") - field(APST, "On Change") - info(archive, "monitor 1: VAL") +record(bo, "TMO:LAMP:MMS:01:PLC:bExecute") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.bExecute=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") } -record(longin, "$(PREFIX)FullBeamCnst:Transmission_RBV") { - field(DESC, "Full beam constant") +record(bi, "TMO:LAMP:MMS:01:PLC:bGantryAxis_RBV") { + field(DESC, "TRUE if gantry EPS active") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.nTran?") - field(EGU, "%") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bGantryAxis?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(longin, "$(PREFIX)FullBeamCnst:Rate_RBV") { - field(DESC, "Full beam constant") +record(bi, "TMO:LAMP:MMS:01:PLC:bGantryBackwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move backward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.nRate?") - field(EGU, "Hz") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bGantryBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(ai, "$(PREFIX)FullBeamCnst:PulseEnergy_RBV") { - field(DESC, "This beam parameter is non-op for now.") +record(bi, "TMO:LAMP:MMS:01:PLC:bGantryForwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move forward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.fPP_mJ?") - field(PREC, "3") - field(EGU, "mJ") - info(autosaveFields_pass0, "PREC") - info(archive, "monitor 1: VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bGantryForwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(longin, "$(PREFIX)FullBeamCnst:PhotonEnergyRanges_RBV") { - field(DESC, "Full beam constant") +record(bi, "TMO:LAMP:MMS:01:PLC:bHardwareEnable_RBV") { + field(DESC, "TRUE if STO not hit") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.neVRange?") - field(EGU, "eV") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bHardwareEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(waveform, "$(PREFIX)FullBeamCnst:ST_RBV") { - field(DESC, "Full beam constant") +record(bi, "TMO:LAMP:MMS:01:PLC:bHome_RBV") { + field(DESC, "TRUE if at homing switch") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.aStoppers?") - field(FTVL, "CHAR") - field(NELM, "16") - field(MPST, "On Change") - field(APST, "On Change") - info(archive, "monitor 1: VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bHome?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(bi, "$(PREFIX)FullBeamCnst:Valid_RBV") { - field(DESC, "Full beam constant") +record(bi, "TMO:LAMP:MMS:01:PLC:bHomeCmd_RBV") { + field(DESC, "Start the homing routine") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.xValid?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bHomeCmd?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(archive, "monitor 1: VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(longin, "$(PREFIX)FullBeamCnst:Cohort_RBV") { - field(DESC, "Cohort inc on each arb cycle") +record(bo, "TMO:LAMP:MMS:01:PLC:bHomeCmd") { + field(DESC, "Start the homing routine") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.bHomeCmd=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:01:PLC:bHomed_RBV") { + field(DESC, "TRUE if the motor has been homed") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bHomed?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:01:PLC:bLimitBackwardEnable_RBV") { + field(DESC, "FALSE if reverse limit hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bLimitBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:01:PLC:bLimitForwardEnable_RBV") { + field(DESC, "FALSE if forward limit hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bLimitForwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:01:PLC:bMoveCmd_RBV") { + field(DESC, "Start a move") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bMoveCmd?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:01:PLC:bMoveCmd") { + field(DESC, "Start a move") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.bMoveCmd=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:01:PLC:bPowerSelf_RBV") { + field(DESC, "FALSE if axis is in PMPS") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bPowerSelf?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:01:PLC:bReset_RBV") { + field(DESC, "Used internally to reset errors") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bReset?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:01:PLC:bReset") { + field(DESC, "Used internally to reset errors") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.bReset=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:01:PLC:bSafetyReady_RBV") { + field(DESC, "TRUE if safe to start a move") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bSafetyReady?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:01:PLC:bUserEnable_RBV") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bUserEnable?") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:01:PLC:bUserEnable") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.bUserEnable=") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:01:PLC:fAcceleration_RBV") { + # Used internally and by the IOC to set acceleration + field(DESC, "Used internally and ... set acceleration") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.fAcceleration?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:01:PLC:fAcceleration") { + # Used internally and by the IOC to set acceleration + field(DESC, "Used internally and ... set acceleration") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.fAcceleration=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:01:PLC:fDeceleration_RBV") { + # Used internally and by the IOC to set deceleration + field(DESC, "Used internally and ... set deceleration") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.fDeceleration?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:01:PLC:fDeceleration") { + # Used internally and by the IOC to set deceleration + field(DESC, "Used internally and ... set deceleration") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.fDeceleration=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:01:PLC:fHomePosition_RBV") { + # Used internally and by the IOC to pick home position + field(DESC, "Used internally and ...ick home position") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.fHomePosition?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:01:PLC:fHomePosition") { + # Used internally and by the IOC to pick home position + field(DESC, "Used internally and ...ick home position") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.fHomePosition=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:01:PLC:fPosDiff_RBV") { + field(DESC, "Position lag difference") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.fPosDiff?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:01:PLC:fPosition_RBV") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.fPosition?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:01:PLC:fPosition") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.fPosition=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:01:PLC:fVelocity_RBV") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.fVelocity?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:01:PLC:fVelocity") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.fVelocity=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(mbbi, "TMO:LAMP:MMS:01:PLC:nBrakeMode_RBV") { + # Describes when the brake will be released + field(DESC, "Describes when the b... will be released") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nBrakeMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "IF_ENABLED") + field(ONST, "IF_MOVING") + field(TWST, "NO_BRAKE") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:01:PLC:nCmdData_RBV") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nCmdData?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(longout, "TMO:LAMP:MMS:01:PLC:nCmdData") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.nCmdData=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:01:PLC:nCommand_RBV") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nCommand?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(longout, "TMO:LAMP:MMS:01:PLC:nCommand") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.nCommand=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") + info(archive, "VAL") +} + +record(mbbi, "TMO:LAMP:MMS:01:PLC:nEnableMode_RBV") { + # Describes when the axis will automatically get power + field(DESC, "Describes when the a...tically get power") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nEnableMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "ALWAYS") + field(ONST, "NEVER") + field(TWST, "DURING_MOTION") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:01:PLC:nEncoderCount_RBV") { + field(DESC, "Count from encoder hardware") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nEncoderCount?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:01:PLC:nErrorId_RBV") { + field(DESC, "Error code if nonzero") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M1.nErrorId?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(mbbi, "TMO:LAMP:MMS:01:PLC:nHomingMode_RBV") { + field(DESC, "Describes our homing strategy") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nHomingMode?") + field(ZRVL, "-1") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "15") + field(ZRST, "NONE") + field(ONST, "LOW_LIMIT") + field(TWST, "HIGH_LIMIT") + field(THST, "HOME_VIA_LOW") + field(FRST, "HOME_VIA_HIGH") + field(FVST, "ABSOLUTE_SET") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:01:PLC:nMotionAxisID_RBV") { + # Unique ID assigned to each axis in the NC + field(DESC, "Unique ID assigned t...ch axis in the NC") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nMotionAxisID?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(waveform, "TMO:LAMP:MMS:01:PLC:sErrorMessage_RBV") { + field(DESC, "Message to identify the error state") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M1.sErrorMessage?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "VAL") +} + +record(waveform, "TMO:LAMP:MMS:01:PLC:sName_RBV") { + field(DESC, "PLC program name") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.sName?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bAllBackwardEnable_RBV") { + # Summary of axis permission to move backward + field(DESC, "Summary of axis perm... to move backward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bAllBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bAllEnable_RBV") { + field(DESC, "Summary of axis permission to have power") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bAllEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bAllForwardEnable_RBV") { + # Summary of axis permission to move forward + field(DESC, "Summary of axis perm...n to move forward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bAllForwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bBrakeRelease_RBV") { + field(DESC, "TRUE if brake released") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bBrakeRelease?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bBusy_RBV") { + field(DESC, "TRUE if in the middle of a command") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bBusy?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bDone_RBV") { + field(DESC, "TRUE if command finished successfully") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bDone?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bEnable_RBV") { + field(DESC, "Used internally to request enables") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:02:PLC:bEnable") { + field(DESC, "Used internally to request enables") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.bEnable=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bEnableDone_RBV") { + field(DESC, "TRUE if done enabling") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bEnableDone?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bError_RBV") { + field(DESC, "TRUE if we are in an error state") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M2.bError?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bExecute_RBV") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bExecute?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:02:PLC:bExecute") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.bExecute=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bGantryAxis_RBV") { + field(DESC, "TRUE if gantry EPS active") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bGantryAxis?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bGantryBackwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move backward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bGantryBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bGantryForwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move forward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bGantryForwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bHardwareEnable_RBV") { + field(DESC, "TRUE if STO not hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bHardwareEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bHome_RBV") { + field(DESC, "TRUE if at homing switch") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bHome?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bHomeCmd_RBV") { + field(DESC, "Start the homing routine") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bHomeCmd?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:02:PLC:bHomeCmd") { + field(DESC, "Start the homing routine") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.bHomeCmd=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bHomed_RBV") { + field(DESC, "TRUE if the motor has been homed") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bHomed?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bLimitBackwardEnable_RBV") { + field(DESC, "FALSE if reverse limit hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bLimitBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bLimitForwardEnable_RBV") { + field(DESC, "FALSE if forward limit hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bLimitForwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bMoveCmd_RBV") { + field(DESC, "Start a move") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bMoveCmd?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:02:PLC:bMoveCmd") { + field(DESC, "Start a move") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.bMoveCmd=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bPowerSelf_RBV") { + field(DESC, "FALSE if axis is in PMPS") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bPowerSelf?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bReset_RBV") { + field(DESC, "Used internally to reset errors") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bReset?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:02:PLC:bReset") { + field(DESC, "Used internally to reset errors") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.bReset=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bSafetyReady_RBV") { + field(DESC, "TRUE if safe to start a move") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bSafetyReady?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:02:PLC:bUserEnable_RBV") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bUserEnable?") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:02:PLC:bUserEnable") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.bUserEnable=") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:02:PLC:fAcceleration_RBV") { + # Used internally and by the IOC to set acceleration + field(DESC, "Used internally and ... set acceleration") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.fAcceleration?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:02:PLC:fAcceleration") { + # Used internally and by the IOC to set acceleration + field(DESC, "Used internally and ... set acceleration") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.fAcceleration=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:02:PLC:fDeceleration_RBV") { + # Used internally and by the IOC to set deceleration + field(DESC, "Used internally and ... set deceleration") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.fDeceleration?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:02:PLC:fDeceleration") { + # Used internally and by the IOC to set deceleration + field(DESC, "Used internally and ... set deceleration") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.fDeceleration=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:02:PLC:fHomePosition_RBV") { + # Used internally and by the IOC to pick home position + field(DESC, "Used internally and ...ick home position") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.fHomePosition?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:02:PLC:fHomePosition") { + # Used internally and by the IOC to pick home position + field(DESC, "Used internally and ...ick home position") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.fHomePosition=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:02:PLC:fPosDiff_RBV") { + field(DESC, "Position lag difference") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.fPosDiff?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:02:PLC:fPosition_RBV") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.fPosition?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:02:PLC:fPosition") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.fPosition=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:02:PLC:fVelocity_RBV") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.fVelocity?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:02:PLC:fVelocity") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.fVelocity=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(mbbi, "TMO:LAMP:MMS:02:PLC:nBrakeMode_RBV") { + # Describes when the brake will be released + field(DESC, "Describes when the b... will be released") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nBrakeMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "IF_ENABLED") + field(ONST, "IF_MOVING") + field(TWST, "NO_BRAKE") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:02:PLC:nCmdData_RBV") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nCmdData?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(longout, "TMO:LAMP:MMS:02:PLC:nCmdData") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.nCmdData=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:02:PLC:nCommand_RBV") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nCommand?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(longout, "TMO:LAMP:MMS:02:PLC:nCommand") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.nCommand=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") + info(archive, "VAL") +} + +record(mbbi, "TMO:LAMP:MMS:02:PLC:nEnableMode_RBV") { + # Describes when the axis will automatically get power + field(DESC, "Describes when the a...tically get power") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nEnableMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "ALWAYS") + field(ONST, "NEVER") + field(TWST, "DURING_MOTION") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:02:PLC:nEncoderCount_RBV") { + field(DESC, "Count from encoder hardware") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nEncoderCount?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:02:PLC:nErrorId_RBV") { + field(DESC, "Error code if nonzero") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M2.nErrorId?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(mbbi, "TMO:LAMP:MMS:02:PLC:nHomingMode_RBV") { + field(DESC, "Describes our homing strategy") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nHomingMode?") + field(ZRVL, "-1") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "15") + field(ZRST, "NONE") + field(ONST, "LOW_LIMIT") + field(TWST, "HIGH_LIMIT") + field(THST, "HOME_VIA_LOW") + field(FRST, "HOME_VIA_HIGH") + field(FVST, "ABSOLUTE_SET") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:02:PLC:nMotionAxisID_RBV") { + # Unique ID assigned to each axis in the NC + field(DESC, "Unique ID assigned t...ch axis in the NC") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nMotionAxisID?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(waveform, "TMO:LAMP:MMS:02:PLC:sErrorMessage_RBV") { + field(DESC, "Message to identify the error state") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M2.sErrorMessage?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "VAL") +} + +record(waveform, "TMO:LAMP:MMS:02:PLC:sName_RBV") { + field(DESC, "PLC program name") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.sName?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bAllBackwardEnable_RBV") { + # Summary of axis permission to move backward + field(DESC, "Summary of axis perm... to move backward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bAllBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bAllEnable_RBV") { + field(DESC, "Summary of axis permission to have power") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bAllEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bAllForwardEnable_RBV") { + # Summary of axis permission to move forward + field(DESC, "Summary of axis perm...n to move forward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bAllForwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bBrakeRelease_RBV") { + field(DESC, "TRUE if brake released") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bBrakeRelease?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bBusy_RBV") { + field(DESC, "TRUE if in the middle of a command") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bBusy?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bDone_RBV") { + field(DESC, "TRUE if command finished successfully") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bDone?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bEnable_RBV") { + field(DESC, "Used internally to request enables") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:03:PLC:bEnable") { + field(DESC, "Used internally to request enables") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.bEnable=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bEnableDone_RBV") { + field(DESC, "TRUE if done enabling") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bEnableDone?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bError_RBV") { + field(DESC, "TRUE if we are in an error state") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M3.bError?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bExecute_RBV") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bExecute?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:03:PLC:bExecute") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.bExecute=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bGantryAxis_RBV") { + field(DESC, "TRUE if gantry EPS active") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bGantryAxis?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bGantryBackwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move backward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bGantryBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bGantryForwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move forward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bGantryForwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bHardwareEnable_RBV") { + field(DESC, "TRUE if STO not hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bHardwareEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bHome_RBV") { + field(DESC, "TRUE if at homing switch") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bHome?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bHomeCmd_RBV") { + field(DESC, "Start the homing routine") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bHomeCmd?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:03:PLC:bHomeCmd") { + field(DESC, "Start the homing routine") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.bHomeCmd=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bHomed_RBV") { + field(DESC, "TRUE if the motor has been homed") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bHomed?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bLimitBackwardEnable_RBV") { + field(DESC, "FALSE if reverse limit hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bLimitBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bLimitForwardEnable_RBV") { + field(DESC, "FALSE if forward limit hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bLimitForwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bMoveCmd_RBV") { + field(DESC, "Start a move") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bMoveCmd?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:03:PLC:bMoveCmd") { + field(DESC, "Start a move") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.bMoveCmd=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bPowerSelf_RBV") { + field(DESC, "FALSE if axis is in PMPS") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bPowerSelf?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bReset_RBV") { + field(DESC, "Used internally to reset errors") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bReset?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:03:PLC:bReset") { + field(DESC, "Used internally to reset errors") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.bReset=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bSafetyReady_RBV") { + field(DESC, "TRUE if safe to start a move") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bSafetyReady?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:03:PLC:bUserEnable_RBV") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bUserEnable?") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:03:PLC:bUserEnable") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.bUserEnable=") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:03:PLC:fAcceleration_RBV") { + # Used internally and by the IOC to set acceleration + field(DESC, "Used internally and ... set acceleration") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.fAcceleration?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:03:PLC:fAcceleration") { + # Used internally and by the IOC to set acceleration + field(DESC, "Used internally and ... set acceleration") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.fAcceleration=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:03:PLC:fDeceleration_RBV") { + # Used internally and by the IOC to set deceleration + field(DESC, "Used internally and ... set deceleration") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.fDeceleration?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:03:PLC:fDeceleration") { + # Used internally and by the IOC to set deceleration + field(DESC, "Used internally and ... set deceleration") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.fDeceleration=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:03:PLC:fHomePosition_RBV") { + # Used internally and by the IOC to pick home position + field(DESC, "Used internally and ...ick home position") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.fHomePosition?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:03:PLC:fHomePosition") { + # Used internally and by the IOC to pick home position + field(DESC, "Used internally and ...ick home position") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.fHomePosition=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:03:PLC:fPosDiff_RBV") { + field(DESC, "Position lag difference") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.fPosDiff?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:03:PLC:fPosition_RBV") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.fPosition?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:03:PLC:fPosition") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.fPosition=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:03:PLC:fVelocity_RBV") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.fVelocity?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:03:PLC:fVelocity") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.fVelocity=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(mbbi, "TMO:LAMP:MMS:03:PLC:nBrakeMode_RBV") { + # Describes when the brake will be released + field(DESC, "Describes when the b... will be released") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nBrakeMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "IF_ENABLED") + field(ONST, "IF_MOVING") + field(TWST, "NO_BRAKE") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:03:PLC:nCmdData_RBV") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nCmdData?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(longout, "TMO:LAMP:MMS:03:PLC:nCmdData") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.nCmdData=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:03:PLC:nCommand_RBV") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nCommand?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(longout, "TMO:LAMP:MMS:03:PLC:nCommand") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.nCommand=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") + info(archive, "VAL") +} + +record(mbbi, "TMO:LAMP:MMS:03:PLC:nEnableMode_RBV") { + # Describes when the axis will automatically get power + field(DESC, "Describes when the a...tically get power") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nEnableMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "ALWAYS") + field(ONST, "NEVER") + field(TWST, "DURING_MOTION") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:03:PLC:nEncoderCount_RBV") { + field(DESC, "Count from encoder hardware") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nEncoderCount?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:03:PLC:nErrorId_RBV") { + field(DESC, "Error code if nonzero") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M3.nErrorId?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(mbbi, "TMO:LAMP:MMS:03:PLC:nHomingMode_RBV") { + field(DESC, "Describes our homing strategy") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nHomingMode?") + field(ZRVL, "-1") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "15") + field(ZRST, "NONE") + field(ONST, "LOW_LIMIT") + field(TWST, "HIGH_LIMIT") + field(THST, "HOME_VIA_LOW") + field(FRST, "HOME_VIA_HIGH") + field(FVST, "ABSOLUTE_SET") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:03:PLC:nMotionAxisID_RBV") { + # Unique ID assigned to each axis in the NC + field(DESC, "Unique ID assigned t...ch axis in the NC") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nMotionAxisID?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(waveform, "TMO:LAMP:MMS:03:PLC:sErrorMessage_RBV") { + field(DESC, "Message to identify the error state") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M3.sErrorMessage?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "VAL") +} + +record(waveform, "TMO:LAMP:MMS:03:PLC:sName_RBV") { + field(DESC, "PLC program name") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.sName?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bAllBackwardEnable_RBV") { + # Summary of axis permission to move backward + field(DESC, "Summary of axis perm... to move backward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bAllBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bAllEnable_RBV") { + field(DESC, "Summary of axis permission to have power") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bAllEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bAllForwardEnable_RBV") { + # Summary of axis permission to move forward + field(DESC, "Summary of axis perm...n to move forward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bAllForwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bBrakeRelease_RBV") { + field(DESC, "TRUE if brake released") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bBrakeRelease?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bBusy_RBV") { + field(DESC, "TRUE if in the middle of a command") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bBusy?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bDone_RBV") { + field(DESC, "TRUE if command finished successfully") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bDone?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bEnable_RBV") { + field(DESC, "Used internally to request enables") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:04:PLC:bEnable") { + field(DESC, "Used internally to request enables") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.bEnable=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bEnableDone_RBV") { + field(DESC, "TRUE if done enabling") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bEnableDone?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bError_RBV") { + field(DESC, "TRUE if we are in an error state") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M4.bError?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bExecute_RBV") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bExecute?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:04:PLC:bExecute") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.bExecute=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bGantryAxis_RBV") { + field(DESC, "TRUE if gantry EPS active") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bGantryAxis?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bGantryBackwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move backward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bGantryBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bGantryForwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move forward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bGantryForwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bHardwareEnable_RBV") { + field(DESC, "TRUE if STO not hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bHardwareEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bHome_RBV") { + field(DESC, "TRUE if at homing switch") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bHome?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bHomeCmd_RBV") { + field(DESC, "Start the homing routine") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bHomeCmd?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:04:PLC:bHomeCmd") { + field(DESC, "Start the homing routine") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.bHomeCmd=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bHomed_RBV") { + field(DESC, "TRUE if the motor has been homed") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.nCohortInt?") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bHomed?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(longin, "$(PREFIX)0RateBeamCnst:Transmission_RBV") { - field(DESC, "0-rate beam constant") +record(bi, "TMO:LAMP:MMS:04:PLC:bLimitBackwardEnable_RBV") { + field(DESC, "FALSE if reverse limit hit") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.nTran?") - field(EGU, "%") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bLimitBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(longin, "$(PREFIX)0RateBeamCnst:Rate_RBV") { - field(DESC, "0-rate beam constant") +record(bi, "TMO:LAMP:MMS:04:PLC:bLimitForwardEnable_RBV") { + field(DESC, "FALSE if forward limit hit") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.nRate?") - field(EGU, "Hz") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bLimitForwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(ai, "$(PREFIX)0RateBeamCnst:PulseEnergy_RBV") { - field(DESC, "This beam parameter is non-op for now.") +record(bi, "TMO:LAMP:MMS:04:PLC:bMoveCmd_RBV") { + field(DESC, "Start a move") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.fPP_mJ?") - field(PREC, "3") - field(EGU, "mJ") - info(autosaveFields_pass0, "PREC") - info(archive, "monitor 1: VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bMoveCmd?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(longin, "$(PREFIX)0RateBeamCnst:PhotonEnergyRanges_RBV") { - field(DESC, "0-rate beam constant") +record(bo, "TMO:LAMP:MMS:04:PLC:bMoveCmd") { + field(DESC, "Start a move") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.bMoveCmd=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bPowerSelf_RBV") { + field(DESC, "FALSE if axis is in PMPS") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.neVRange?") - field(EGU, "eV") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bPowerSelf?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(waveform, "$(PREFIX)0RateBeamCnst:ST_RBV") { - field(DESC, "0-rate beam constant") +record(bi, "TMO:LAMP:MMS:04:PLC:bReset_RBV") { + field(DESC, "Used internally to reset errors") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.aStoppers?") - field(FTVL, "CHAR") - field(NELM, "16") - field(MPST, "On Change") - field(APST, "On Change") - info(archive, "monitor 1: VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bReset?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(bi, "$(PREFIX)0RateBeamCnst:Valid_RBV") { - field(DESC, "0-rate beam constant") +record(bo, "TMO:LAMP:MMS:04:PLC:bReset") { + field(DESC, "Used internally to reset errors") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.bReset=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:04:PLC:bSafetyReady_RBV") { + field(DESC, "TRUE if safe to start a move") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.xValid?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bSafetyReady?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(archive, "monitor 1: VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") } -record(longin, "$(PREFIX)0RateBeamCnst:Cohort_RBV") { - field(DESC, "Cohort inc on each arb cycle") +record(bi, "TMO:LAMP:MMS:04:PLC:bUserEnable_RBV") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.nCohortInt?") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bUserEnable?") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "VAL") +} + +record(bo, "TMO:LAMP:MMS:04:PLC:bUserEnable") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.bUserEnable=") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:04:PLC:fAcceleration_RBV") { + # Used internally and by the IOC to set acceleration + field(DESC, "Used internally and ... set acceleration") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.fAcceleration?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:04:PLC:fAcceleration") { + # Used internally and by the IOC to set acceleration + field(DESC, "Used internally and ... set acceleration") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.fAcceleration=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:04:PLC:fDeceleration_RBV") { + # Used internally and by the IOC to set deceleration + field(DESC, "Used internally and ... set deceleration") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.fDeceleration?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:04:PLC:fDeceleration") { + # Used internally and by the IOC to set deceleration + field(DESC, "Used internally and ... set deceleration") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.fDeceleration=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:04:PLC:fHomePosition_RBV") { + # Used internally and by the IOC to pick home position + field(DESC, "Used internally and ...ick home position") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.fHomePosition?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:04:PLC:fHomePosition") { + # Used internally and by the IOC to pick home position + field(DESC, "Used internally and ...ick home position") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.fHomePosition=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:04:PLC:fPosDiff_RBV") { + field(DESC, "Position lag difference") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.fPosDiff?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:04:PLC:fPosition_RBV") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.fPosition?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:04:PLC:fPosition") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.fPosition=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:04:PLC:fVelocity_RBV") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.fVelocity?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "VAL") +} + +record(ao, "TMO:LAMP:MMS:04:PLC:fVelocity") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.fVelocity=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") } -record(longin, "$(PREFIX)SafeBeamCnst:Transmission_RBV") { - field(DESC, "Safe beam constant") +record(mbbi, "TMO:LAMP:MMS:04:PLC:nBrakeMode_RBV") { + # Describes when the brake will be released + field(DESC, "Describes when the b... will be released") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstSafeBeam.nTran?") - field(EGU, "%") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nBrakeMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "IF_ENABLED") + field(ONST, "IF_MOVING") + field(TWST, "NO_BRAKE") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:04:PLC:nCmdData_RBV") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nCmdData?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(longout, "TMO:LAMP:MMS:04:PLC:nCmdData") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.nCmdData=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") + info(archive, "VAL") } -record(longin, "$(PREFIX)SafeBeamCnst:Rate_RBV") { - field(DESC, "Safe beam constant") +record(longin, "TMO:LAMP:MMS:04:PLC:nCommand_RBV") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstSafeBeam.nRate?") - field(EGU, "Hz") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nCommand?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") } -record(ai, "$(PREFIX)SafeBeamCnst:PulseEnergy_RBV") { - field(DESC, "This beam parameter is non-op for now.") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstSafeBeam.fPP_mJ?") - field(PREC, "3") - field(EGU, "mJ") - info(autosaveFields_pass0, "PREC") - info(archive, "monitor 1: VAL") +record(longout, "TMO:LAMP:MMS:04:PLC:nCommand") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.nCommand=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") + info(archive, "VAL") } -record(longin, "$(PREFIX)SafeBeamCnst:PhotonEnergyRanges_RBV") { - field(DESC, "Safe beam constant") +record(mbbi, "TMO:LAMP:MMS:04:PLC:nEnableMode_RBV") { + # Describes when the axis will automatically get power + field(DESC, "Describes when the a...tically get power") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstSafeBeam.neVRange?") - field(EGU, "eV") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nEnableMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "ALWAYS") + field(ONST, "NEVER") + field(TWST, "DURING_MOTION") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") + info(archive, "VAL") } -record(waveform, "$(PREFIX)SafeBeamCnst:ST_RBV") { - field(DESC, "Safe beam constant") +record(longin, "TMO:LAMP:MMS:04:PLC:nEncoderCount_RBV") { + field(DESC, "Count from encoder hardware") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstSafeBeam.aStoppers?") - field(FTVL, "CHAR") - field(NELM, "16") - field(MPST, "On Change") - field(APST, "On Change") - info(archive, "monitor 1: VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nEncoderCount?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") } -record(bi, "$(PREFIX)SafeBeamCnst:Valid_RBV") { - field(DESC, "Safe beam constant") +record(longin, "TMO:LAMP:MMS:04:PLC:nErrorId_RBV") { + field(DESC, "Error code if nonzero") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstSafeBeam.xValid?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M4.nErrorId?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") } -record(longin, "$(PREFIX)SafeBeamCnst:Cohort_RBV") { - field(DESC, "Cohort inc on each arb cycle") +record(mbbi, "TMO:LAMP:MMS:04:PLC:nHomingMode_RBV") { + field(DESC, "Describes our homing strategy") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstSafeBeam.nCohortInt?") - info(archive, "monitor 1: VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nHomingMode?") + field(ZRVL, "-1") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "15") + field(ZRST, "NONE") + field(ONST, "LOW_LIMIT") + field(TWST, "HIGH_LIMIT") + field(THST, "HOME_VIA_LOW") + field(FRST, "HOME_VIA_HIGH") + field(FVST, "ABSOLUTE_SET") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") + info(archive, "VAL") } -record(ai, "$(PREFIX)eVRangeHyst_RBV") { - field(DESC, "eV Range hystersis") +record(longin, "TMO:LAMP:MMS:04:PLC:nMotionAxisID_RBV") { + # Unique ID assigned to each axis in the NC + field(DESC, "Unique ID assigned t...ch axis in the NC") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.reVHyst?") - field(PREC, "3") - field(EGU, "eV") - info(autosaveFields_pass0, "PREC") - info(archive, "monitor 1: VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nMotionAxisID?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") } -record(waveform, "$(PREFIX)L:eVRangeCnst_RBV") { - field(DESC, "eV Range constants") +record(waveform, "TMO:LAMP:MMS:04:PLC:sErrorMessage_RBV") { + field(DESC, "Message to identify the error state") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat32ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.g_areVBoundariesL?") - field(FTVL, "FLOAT") - field(EGU, "eV") - field(NELM, "16") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M4.sErrorMessage?") + field(FTVL, "CHAR") + field(NELM, "80") field(MPST, "On Change") field(APST, "On Change") - info(archive, "monitor 1: VAL") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "VAL") } -record(waveform, "$(PREFIX)K:eVRangeCnst_RBV") { - field(DESC, "eV Range constants") +record(waveform, "TMO:LAMP:MMS:04:PLC:sName_RBV") { + field(DESC, "PLC program name") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat32ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.g_areVBoundariesK?") - field(FTVL, "FLOAT") - field(EGU, "eV") - field(NELM, "16") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.sName?") + field(FTVL, "CHAR") + field(NELM, "80") field(MPST, "On Change") field(APST, "On Change") - info(archive, "monitor 1: VAL") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bLimitForwardEnable_RBV") { - field(DESC, "FALSE if forward limit hit") +record(bi, "TMO:LAMP:MMS:05:PLC:bAllBackwardEnable_RBV") { + # Summary of axis permission to move backward + field(DESC, "Summary of axis perm... to move backward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bLimitForwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bAllBackwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bLimitBackwardEnable_RBV") { - field(DESC, "FALSE if reverse limit hit") +record(bi, "TMO:LAMP:MMS:05:PLC:bAllEnable_RBV") { + field(DESC, "Summary of axis permission to have power") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bLimitBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bAllEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bHome_RBV") { - field(DESC, "TRUE if at homing switch") +record(bi, "TMO:LAMP:MMS:05:PLC:bAllForwardEnable_RBV") { + # Summary of axis permission to move forward + field(DESC, "Summary of axis perm...n to move forward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bHome?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bAllForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bBrakeRelease_RBV") { +record(bi, "TMO:LAMP:MMS:05:PLC:bBrakeRelease_RBV") { field(DESC, "TRUE if brake released") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bBrakeRelease?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bBrakeRelease?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bHardwareEnable_RBV") { - field(DESC, "TRUE if STO not hit") +record(bi, "TMO:LAMP:MMS:05:PLC:bBusy_RBV") { + field(DESC, "TRUE if in the middle of a command") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bHardwareEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bBusy?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bAllForwardEnable_RBV") { - # Summary of axis permission to move forward - field(DESC, "Summary of axis perm...n to move forward") +record(bi, "TMO:LAMP:MMS:05:PLC:bDone_RBV") { + field(DESC, "TRUE if command finished successfully") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bAllForwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bDone?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bAllBackwardEnable_RBV") { - # Summary of axis permission to move backward - field(DESC, "Summary of axis perm... to move backward") +record(bi, "TMO:LAMP:MMS:05:PLC:bEnable_RBV") { + field(DESC, "Used internally to request enables") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bAllBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bAllEnable_RBV") { - field(DESC, "Summary of axis permission to have power") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(bo, "TMO:LAMP:MMS:05:PLC:bEnable") { + field(DESC, "Used internally to request enables") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bAllEnable?") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.bEnable=") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bGantryForwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move forward") +record(bi, "TMO:LAMP:MMS:05:PLC:bEnableDone_RBV") { + field(DESC, "TRUE if done enabling") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bGantryForwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bEnableDone?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bGantryBackwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move backward") +record(bi, "TMO:LAMP:MMS:05:PLC:bError_RBV") { + field(DESC, "TRUE if we are in an error state") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bGantryBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M5.bError?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:01:PLC:nEncoderCount_RBV") { - field(DESC, "Count from encoder hardware") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nEncoderCount?") - info(archive, "VAL") -} - -record(waveform, "TMO:LAMP:MMS:01:PLC:sName_RBV") { - field(DESC, "PLC program name") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.sName?") - field(FTVL, "CHAR") - field(NELM, "80") - info(archive, "VAL") -} - -record(bi, "TMO:LAMP:MMS:01:PLC:bPowerSelf_RBV") { - field(DESC, "FALSE if axis is in PMPS") +record(bi, "TMO:LAMP:MMS:05:PLC:bExecute_RBV") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bPowerSelf?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bExecute?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:01:PLC:nEnableMode_RBV") { - # Describes when the axis will automatically get power - field(DESC, "Describes when the a...tically get power") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(bo, "TMO:LAMP:MMS:05:PLC:bExecute") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nEnableMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "ALWAYS") - field(ONST, "NEVER") - field(TWST, "DURING_MOTION") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.bExecute=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:01:PLC:nBrakeMode_RBV") { - # Describes when the brake will be released - field(DESC, "Describes when the b... will be released") +record(bi, "TMO:LAMP:MMS:05:PLC:bGantryAxis_RBV") { + field(DESC, "TRUE if gantry EPS active") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nBrakeMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "IF_ENABLED") - field(ONST, "IF_MOVING") - field(TWST, "NO_BRAKE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bGantryAxis?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:01:PLC:nHomingMode_RBV") { - field(DESC, "Describes our homing strategy") +record(bi, "TMO:LAMP:MMS:05:PLC:bGantryBackwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move backward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nHomingMode?") - field(ZRVL, "-1") - field(ONVL, "1") - field(TWVL, "2") - field(THVL, "3") - field(FRVL, "4") - field(FVVL, "15") - field(ZRST, "NONE") - field(ONST, "LOW_LIMIT") - field(TWST, "HIGH_LIMIT") - field(THST, "HOME_VIA_LOW") - field(FRST, "HOME_VIA_HIGH") - field(FVST, "ABSOLUTE_SET") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bGantryBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bGantryAxis_RBV") { - field(DESC, "TRUE if gantry EPS active") +record(bi, "TMO:LAMP:MMS:05:PLC:bGantryForwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move forward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bGantryAxis?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bGantryForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bEnable_RBV") { - field(DESC, "Used internally to request enables") +record(bi, "TMO:LAMP:MMS:05:PLC:bHardwareEnable_RBV") { + field(DESC, "TRUE if STO not hit") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bHardwareEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:01:PLC:bEnable") { - field(DESC, "Used internally to request enables") +record(bi, "TMO:LAMP:MMS:05:PLC:bHome_RBV") { + field(DESC, "TRUE if at homing switch") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.bEnable=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bHome?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bReset_RBV") { - field(DESC, "Used internally to reset errors") +record(bi, "TMO:LAMP:MMS:05:PLC:bHomeCmd_RBV") { + field(DESC, "Start the homing routine") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bReset?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bHomeCmd?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:01:PLC:bReset") { - field(DESC, "Used internally to reset errors") +record(bo, "TMO:LAMP:MMS:05:PLC:bHomeCmd") { + field(DESC, "Start the homing routine") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.bReset=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.bHomeCmd=") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bExecute_RBV") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") +record(bi, "TMO:LAMP:MMS:05:PLC:bHomed_RBV") { + field(DESC, "TRUE if the motor has been homed") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bExecute?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bHomed?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:01:PLC:bExecute") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") +record(bi, "TMO:LAMP:MMS:05:PLC:bLimitBackwardEnable_RBV") { + field(DESC, "FALSE if reverse limit hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.bExecute=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bLimitBackwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bUserEnable_RBV") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") +record(bi, "TMO:LAMP:MMS:05:PLC:bLimitForwardEnable_RBV") { + field(DESC, "FALSE if forward limit hit") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bUserEnable?") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(archive, "VAL") -} - -record(bo, "TMO:LAMP:MMS:01:PLC:bUserEnable") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.bUserEnable=") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(autosaveFields_pass0, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bLimitForwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bMoveCmd_RBV") { +record(bi, "TMO:LAMP:MMS:05:PLC:bMoveCmd_RBV") { field(DESC, "Start a move") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bMoveCmd?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bMoveCmd?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:01:PLC:bMoveCmd") { +record(bo, "TMO:LAMP:MMS:05:PLC:bMoveCmd") { field(DESC, "Start a move") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.bMoveCmd=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.bMoveCmd=") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bHomeCmd_RBV") { - field(DESC, "Start the homing routine") +record(bi, "TMO:LAMP:MMS:05:PLC:bPowerSelf_RBV") { + field(DESC, "FALSE if axis is in PMPS") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bHomeCmd?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bPowerSelf?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:01:PLC:bHomeCmd") { - field(DESC, "Start the homing routine") +record(bi, "TMO:LAMP:MMS:05:PLC:bReset_RBV") { + field(DESC, "Used internally to reset errors") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.bHomeCmd=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bReset?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:01:PLC:nCommand_RBV") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(bo, "TMO:LAMP:MMS:05:PLC:bReset") { + field(DESC, "Used internally to reset errors") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nCommand?") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.bReset=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(longout, "TMO:LAMP:MMS:01:PLC:nCommand") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") +record(bi, "TMO:LAMP:MMS:05:PLC:bSafetyReady_RBV") { + field(DESC, "TRUE if safe to start a move") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.nCommand=") - info(autosaveFields_pass0, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bSafetyReady?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:01:PLC:nCmdData_RBV") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(bi, "TMO:LAMP:MMS:05:PLC:bUserEnable_RBV") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nCmdData?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bUserEnable?") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longout, "TMO:LAMP:MMS:01:PLC:nCmdData") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(bo, "TMO:LAMP:MMS:05:PLC:bUserEnable") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.nCmdData=") - info(autosaveFields_pass0, "VAL") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.bUserEnable=") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:01:PLC:fPosition_RBV") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") +record(ai, "TMO:LAMP:MMS:05:PLC:fAcceleration_RBV") { + # Used internally and by the IOC to set acceleration + field(DESC, "Used internally and ... set acceleration") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.fPosition?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.fAcceleration?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:01:PLC:fPosition") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") +record(ao, "TMO:LAMP:MMS:05:PLC:fAcceleration") { + # Used internally and by the IOC to set acceleration + field(DESC, "Used internally and ... set acceleration") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.fPosition=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.fAcceleration=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:01:PLC:fVelocity_RBV") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") +record(ai, "TMO:LAMP:MMS:05:PLC:fDeceleration_RBV") { + # Used internally and by the IOC to set deceleration + field(DESC, "Used internally and ... set deceleration") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.fVelocity?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.fDeceleration?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:01:PLC:fVelocity") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") +record(ao, "TMO:LAMP:MMS:05:PLC:fDeceleration") { + # Used internally and by the IOC to set deceleration + field(DESC, "Used internally and ... set deceleration") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.fVelocity=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.fDeceleration=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:01:PLC:fAcceleration_RBV") { - # Used internally and by the IOC to set acceleration - field(DESC, "Used internally and ... set acceleration") +record(ai, "TMO:LAMP:MMS:05:PLC:fHomePosition_RBV") { + # Used internally and by the IOC to pick home position + field(DESC, "Used internally and ...ick home position") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.fAcceleration?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.fHomePosition?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:01:PLC:fAcceleration") { - # Used internally and by the IOC to set acceleration - field(DESC, "Used internally and ... set acceleration") +record(ao, "TMO:LAMP:MMS:05:PLC:fHomePosition") { + # Used internally and by the IOC to pick home position + field(DESC, "Used internally and ...ick home position") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.fAcceleration=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.fHomePosition=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:01:PLC:fDeceleration_RBV") { - # Used internally and by the IOC to set deceleration - field(DESC, "Used internally and ... set deceleration") +record(ai, "TMO:LAMP:MMS:05:PLC:fPosDiff_RBV") { + field(DESC, "Position lag difference") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.fDeceleration?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.fPosDiff?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:01:PLC:fDeceleration") { - # Used internally and by the IOC to set deceleration - field(DESC, "Used internally and ... set deceleration") +record(ai, "TMO:LAMP:MMS:05:PLC:fPosition_RBV") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.fDeceleration=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.fPosition?") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:01:PLC:fHomePosition_RBV") { - # Used internally and by the IOC to pick home position - field(DESC, "Used internally and ...ick home position") +record(ao, "TMO:LAMP:MMS:05:PLC:fPosition") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.fPosition=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:05:PLC:fVelocity_RBV") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.fHomePosition?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.fVelocity?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:01:PLC:fHomePosition") { - # Used internally and by the IOC to pick home position - field(DESC, "Used internally and ...ick home position") +record(ao, "TMO:LAMP:MMS:05:PLC:fVelocity") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M1.fHomePosition=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.fVelocity=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:01:PLC:nMotionAxisID_RBV") { - # Unique ID assigned to each axis in the NC - field(DESC, "Unique ID assigned t...ch axis in the NC") +record(mbbi, "TMO:LAMP:MMS:05:PLC:nBrakeMode_RBV") { + # Describes when the brake will be released + field(DESC, "Describes when the b... will be released") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nBrakeMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "IF_ENABLED") + field(ONST, "IF_MOVING") + field(TWST, "NO_BRAKE") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:05:PLC:nCmdData_RBV") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nMotionAxisID?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nCmdData?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(longout, "TMO:LAMP:MMS:05:PLC:nCmdData") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.nCmdData=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bEnableDone_RBV") { - field(DESC, "TRUE if done enabling") +record(longin, "TMO:LAMP:MMS:05:PLC:nCommand_RBV") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bEnableDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nCommand?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bBusy_RBV") { - field(DESC, "TRUE if in the middle of a command") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(longout, "TMO:LAMP:MMS:05:PLC:nCommand") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bBusy?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.nCommand=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bDone_RBV") { - field(DESC, "TRUE if command finished successfully") +record(mbbi, "TMO:LAMP:MMS:05:PLC:nEnableMode_RBV") { + # Describes when the axis will automatically get power + field(DESC, "Describes when the a...tically get power") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nEnableMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "ALWAYS") + field(ONST, "NEVER") + field(TWST, "DURING_MOTION") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bHomed_RBV") { - field(DESC, "TRUE if the motor has been homed") +record(longin, "TMO:LAMP:MMS:05:PLC:nEncoderCount_RBV") { + field(DESC, "Count from encoder hardware") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bHomed?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nEncoderCount?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bSafetyReady_RBV") { - field(DESC, "TRUE if safe to start a move") +record(longin, "TMO:LAMP:MMS:05:PLC:nErrorId_RBV") { + field(DESC, "Error code if nonzero") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bSafetyReady?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M5.nErrorId?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:01:PLC:bError_RBV") { - field(DESC, "TRUE if we") +record(mbbi, "TMO:LAMP:MMS:05:PLC:nHomingMode_RBV") { + field(DESC, "Describes our homing strategy") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.bError?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nHomingMode?") + field(ZRVL, "-1") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "15") + field(ZRST, "NONE") + field(ONST, "LOW_LIMIT") + field(TWST, "HIGH_LIMIT") + field(THST, "HOME_VIA_LOW") + field(FRST, "HOME_VIA_HIGH") + field(FVST, "ABSOLUTE_SET") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:01:PLC:nErrorId_RBV") { - field(DESC, "Error code if nonzero") +record(longin, "TMO:LAMP:MMS:05:PLC:nMotionAxisID_RBV") { + # Unique ID assigned to each axis in the NC + field(DESC, "Unique ID assigned t...ch axis in the NC") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.nErrorId?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nMotionAxisID?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(waveform, "TMO:LAMP:MMS:01:PLC:sErrorMessage_RBV") { +record(waveform, "TMO:LAMP:MMS:05:PLC:sErrorMessage_RBV") { field(DESC, "Message to identify the error state") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.sErrorMessage?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M5.sErrorMessage?") field(FTVL, "CHAR") field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:01:PLC:fPosDiff_RBV") { - field(DESC, "Position lag difference") +record(waveform, "TMO:LAMP:MMS:05:PLC:sName_RBV") { + field(DESC, "PLC program name") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M1.fPosDiff?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.sName?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bLimitForwardEnable_RBV") { - field(DESC, "FALSE if forward limit hit") +record(bi, "TMO:LAMP:MMS:06:PLC:bAllBackwardEnable_RBV") { + # Summary of axis permission to move backward + field(DESC, "Summary of axis perm... to move backward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bLimitForwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bAllBackwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bLimitBackwardEnable_RBV") { - field(DESC, "FALSE if reverse limit hit") +record(bi, "TMO:LAMP:MMS:06:PLC:bAllEnable_RBV") { + field(DESC, "Summary of axis permission to have power") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bLimitBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bAllEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bHome_RBV") { - field(DESC, "TRUE if at homing switch") +record(bi, "TMO:LAMP:MMS:06:PLC:bAllForwardEnable_RBV") { + # Summary of axis permission to move forward + field(DESC, "Summary of axis perm...n to move forward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bHome?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bAllForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bBrakeRelease_RBV") { +record(bi, "TMO:LAMP:MMS:06:PLC:bBrakeRelease_RBV") { field(DESC, "TRUE if brake released") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bBrakeRelease?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bBrakeRelease?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bHardwareEnable_RBV") { - field(DESC, "TRUE if STO not hit") +record(bi, "TMO:LAMP:MMS:06:PLC:bBusy_RBV") { + field(DESC, "TRUE if in the middle of a command") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bHardwareEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bBusy?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bAllForwardEnable_RBV") { - # Summary of axis permission to move forward - field(DESC, "Summary of axis perm...n to move forward") +record(bi, "TMO:LAMP:MMS:06:PLC:bDone_RBV") { + field(DESC, "TRUE if command finished successfully") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bAllForwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bDone?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bAllBackwardEnable_RBV") { - # Summary of axis permission to move backward - field(DESC, "Summary of axis perm... to move backward") +record(bi, "TMO:LAMP:MMS:06:PLC:bEnable_RBV") { + field(DESC, "Used internally to request enables") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bAllBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bAllEnable_RBV") { - field(DESC, "Summary of axis permission to have power") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(bo, "TMO:LAMP:MMS:06:PLC:bEnable") { + field(DESC, "Used internally to request enables") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bAllEnable?") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.bEnable=") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bGantryForwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move forward") +record(bi, "TMO:LAMP:MMS:06:PLC:bEnableDone_RBV") { + field(DESC, "TRUE if done enabling") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bGantryForwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bEnableDone?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bGantryBackwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move backward") +record(bi, "TMO:LAMP:MMS:06:PLC:bError_RBV") { + field(DESC, "TRUE if we are in an error state") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bGantryBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M6.bError?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:02:PLC:nEncoderCount_RBV") { - field(DESC, "Count from encoder hardware") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nEncoderCount?") - info(archive, "VAL") -} - -record(waveform, "TMO:LAMP:MMS:02:PLC:sName_RBV") { - field(DESC, "PLC program name") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.sName?") - field(FTVL, "CHAR") - field(NELM, "80") - info(archive, "VAL") -} - -record(bi, "TMO:LAMP:MMS:02:PLC:bPowerSelf_RBV") { - field(DESC, "FALSE if axis is in PMPS") +record(bi, "TMO:LAMP:MMS:06:PLC:bExecute_RBV") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bPowerSelf?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bExecute?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:02:PLC:nEnableMode_RBV") { - # Describes when the axis will automatically get power - field(DESC, "Describes when the a...tically get power") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(bo, "TMO:LAMP:MMS:06:PLC:bExecute") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nEnableMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "ALWAYS") - field(ONST, "NEVER") - field(TWST, "DURING_MOTION") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.bExecute=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:02:PLC:nBrakeMode_RBV") { - # Describes when the brake will be released - field(DESC, "Describes when the b... will be released") +record(bi, "TMO:LAMP:MMS:06:PLC:bGantryAxis_RBV") { + field(DESC, "TRUE if gantry EPS active") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nBrakeMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "IF_ENABLED") - field(ONST, "IF_MOVING") - field(TWST, "NO_BRAKE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bGantryAxis?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:02:PLC:nHomingMode_RBV") { - field(DESC, "Describes our homing strategy") +record(bi, "TMO:LAMP:MMS:06:PLC:bGantryBackwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move backward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nHomingMode?") - field(ZRVL, "-1") - field(ONVL, "1") - field(TWVL, "2") - field(THVL, "3") - field(FRVL, "4") - field(FVVL, "15") - field(ZRST, "NONE") - field(ONST, "LOW_LIMIT") - field(TWST, "HIGH_LIMIT") - field(THST, "HOME_VIA_LOW") - field(FRST, "HOME_VIA_HIGH") - field(FVST, "ABSOLUTE_SET") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bGantryBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bGantryAxis_RBV") { - field(DESC, "TRUE if gantry EPS active") +record(bi, "TMO:LAMP:MMS:06:PLC:bGantryForwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move forward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bGantryAxis?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bGantryForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bEnable_RBV") { - field(DESC, "Used internally to request enables") +record(bi, "TMO:LAMP:MMS:06:PLC:bHardwareEnable_RBV") { + field(DESC, "TRUE if STO not hit") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bHardwareEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:02:PLC:bEnable") { - field(DESC, "Used internally to request enables") +record(bi, "TMO:LAMP:MMS:06:PLC:bHome_RBV") { + field(DESC, "TRUE if at homing switch") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.bEnable=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bHome?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bReset_RBV") { - field(DESC, "Used internally to reset errors") +record(bi, "TMO:LAMP:MMS:06:PLC:bHomeCmd_RBV") { + field(DESC, "Start the homing routine") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bReset?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bHomeCmd?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:02:PLC:bReset") { - field(DESC, "Used internally to reset errors") +record(bo, "TMO:LAMP:MMS:06:PLC:bHomeCmd") { + field(DESC, "Start the homing routine") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.bReset=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.bHomeCmd=") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bExecute_RBV") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") +record(bi, "TMO:LAMP:MMS:06:PLC:bHomed_RBV") { + field(DESC, "TRUE if the motor has been homed") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bExecute?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bHomed?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:02:PLC:bExecute") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") +record(bi, "TMO:LAMP:MMS:06:PLC:bLimitBackwardEnable_RBV") { + field(DESC, "FALSE if reverse limit hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.bExecute=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bLimitBackwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bUserEnable_RBV") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") +record(bi, "TMO:LAMP:MMS:06:PLC:bLimitForwardEnable_RBV") { + field(DESC, "FALSE if forward limit hit") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bUserEnable?") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(archive, "VAL") -} - -record(bo, "TMO:LAMP:MMS:02:PLC:bUserEnable") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.bUserEnable=") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(autosaveFields_pass0, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bLimitForwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bMoveCmd_RBV") { +record(bi, "TMO:LAMP:MMS:06:PLC:bMoveCmd_RBV") { field(DESC, "Start a move") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bMoveCmd?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bMoveCmd?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:02:PLC:bMoveCmd") { +record(bo, "TMO:LAMP:MMS:06:PLC:bMoveCmd") { field(DESC, "Start a move") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.bMoveCmd=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.bMoveCmd=") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bHomeCmd_RBV") { - field(DESC, "Start the homing routine") +record(bi, "TMO:LAMP:MMS:06:PLC:bPowerSelf_RBV") { + field(DESC, "FALSE if axis is in PMPS") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bHomeCmd?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bPowerSelf?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:02:PLC:bHomeCmd") { - field(DESC, "Start the homing routine") +record(bi, "TMO:LAMP:MMS:06:PLC:bReset_RBV") { + field(DESC, "Used internally to reset errors") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.bHomeCmd=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bReset?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:02:PLC:nCommand_RBV") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(bo, "TMO:LAMP:MMS:06:PLC:bReset") { + field(DESC, "Used internally to reset errors") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nCommand?") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.bReset=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(longout, "TMO:LAMP:MMS:02:PLC:nCommand") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") +record(bi, "TMO:LAMP:MMS:06:PLC:bSafetyReady_RBV") { + field(DESC, "TRUE if safe to start a move") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.nCommand=") - info(autosaveFields_pass0, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bSafetyReady?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:02:PLC:nCmdData_RBV") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(bi, "TMO:LAMP:MMS:06:PLC:bUserEnable_RBV") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nCmdData?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bUserEnable?") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longout, "TMO:LAMP:MMS:02:PLC:nCmdData") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(bo, "TMO:LAMP:MMS:06:PLC:bUserEnable") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.nCmdData=") - info(autosaveFields_pass0, "VAL") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.bUserEnable=") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:02:PLC:fPosition_RBV") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") +record(ai, "TMO:LAMP:MMS:06:PLC:fAcceleration_RBV") { + # Used internally and by the IOC to set acceleration + field(DESC, "Used internally and ... set acceleration") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.fPosition?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.fAcceleration?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:02:PLC:fPosition") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") +record(ao, "TMO:LAMP:MMS:06:PLC:fAcceleration") { + # Used internally and by the IOC to set acceleration + field(DESC, "Used internally and ... set acceleration") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.fPosition=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.fAcceleration=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:02:PLC:fVelocity_RBV") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") +record(ai, "TMO:LAMP:MMS:06:PLC:fDeceleration_RBV") { + # Used internally and by the IOC to set deceleration + field(DESC, "Used internally and ... set deceleration") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.fVelocity?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.fDeceleration?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:02:PLC:fVelocity") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") +record(ao, "TMO:LAMP:MMS:06:PLC:fDeceleration") { + # Used internally and by the IOC to set deceleration + field(DESC, "Used internally and ... set deceleration") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.fVelocity=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.fDeceleration=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:02:PLC:fAcceleration_RBV") { - # Used internally and by the IOC to set acceleration - field(DESC, "Used internally and ... set acceleration") +record(ai, "TMO:LAMP:MMS:06:PLC:fHomePosition_RBV") { + # Used internally and by the IOC to pick home position + field(DESC, "Used internally and ...ick home position") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.fAcceleration?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.fHomePosition?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:02:PLC:fAcceleration") { - # Used internally and by the IOC to set acceleration - field(DESC, "Used internally and ... set acceleration") +record(ao, "TMO:LAMP:MMS:06:PLC:fHomePosition") { + # Used internally and by the IOC to pick home position + field(DESC, "Used internally and ...ick home position") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.fAcceleration=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.fHomePosition=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:02:PLC:fDeceleration_RBV") { - # Used internally and by the IOC to set deceleration - field(DESC, "Used internally and ... set deceleration") +record(ai, "TMO:LAMP:MMS:06:PLC:fPosDiff_RBV") { + field(DESC, "Position lag difference") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.fDeceleration?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.fPosDiff?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:02:PLC:fDeceleration") { - # Used internally and by the IOC to set deceleration - field(DESC, "Used internally and ... set deceleration") +record(ai, "TMO:LAMP:MMS:06:PLC:fPosition_RBV") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.fDeceleration=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.fPosition?") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:02:PLC:fHomePosition_RBV") { - # Used internally and by the IOC to pick home position - field(DESC, "Used internally and ...ick home position") +record(ao, "TMO:LAMP:MMS:06:PLC:fPosition") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.fPosition=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:06:PLC:fVelocity_RBV") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.fHomePosition?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.fVelocity?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:02:PLC:fHomePosition") { - # Used internally and by the IOC to pick home position - field(DESC, "Used internally and ...ick home position") +record(ao, "TMO:LAMP:MMS:06:PLC:fVelocity") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M2.fHomePosition=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.fVelocity=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:02:PLC:nMotionAxisID_RBV") { - # Unique ID assigned to each axis in the NC - field(DESC, "Unique ID assigned t...ch axis in the NC") +record(mbbi, "TMO:LAMP:MMS:06:PLC:nBrakeMode_RBV") { + # Describes when the brake will be released + field(DESC, "Describes when the b... will be released") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nMotionAxisID?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nBrakeMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "IF_ENABLED") + field(ONST, "IF_MOVING") + field(TWST, "NO_BRAKE") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bEnableDone_RBV") { - field(DESC, "TRUE if done enabling") +record(longin, "TMO:LAMP:MMS:06:PLC:nCmdData_RBV") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bEnableDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nCmdData?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bBusy_RBV") { - field(DESC, "TRUE if in the middle of a command") +record(longout, "TMO:LAMP:MMS:06:PLC:nCmdData") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.nCmdData=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:06:PLC:nCommand_RBV") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bBusy?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nCommand?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "VAL") +} + +record(longout, "TMO:LAMP:MMS:06:PLC:nCommand") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.nCommand=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bDone_RBV") { - field(DESC, "TRUE if command finished successfully") +record(mbbi, "TMO:LAMP:MMS:06:PLC:nEnableMode_RBV") { + # Describes when the axis will automatically get power + field(DESC, "Describes when the a...tically get power") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nEnableMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "ALWAYS") + field(ONST, "NEVER") + field(TWST, "DURING_MOTION") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bHomed_RBV") { - field(DESC, "TRUE if the motor has been homed") +record(longin, "TMO:LAMP:MMS:06:PLC:nEncoderCount_RBV") { + field(DESC, "Count from encoder hardware") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bHomed?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nEncoderCount?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bSafetyReady_RBV") { - field(DESC, "TRUE if safe to start a move") +record(longin, "TMO:LAMP:MMS:06:PLC:nErrorId_RBV") { + field(DESC, "Error code if nonzero") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bSafetyReady?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M6.nErrorId?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:02:PLC:bError_RBV") { - field(DESC, "TRUE if we") +record(mbbi, "TMO:LAMP:MMS:06:PLC:nHomingMode_RBV") { + field(DESC, "Describes our homing strategy") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.bError?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nHomingMode?") + field(ZRVL, "-1") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "15") + field(ZRST, "NONE") + field(ONST, "LOW_LIMIT") + field(TWST, "HIGH_LIMIT") + field(THST, "HOME_VIA_LOW") + field(FRST, "HOME_VIA_HIGH") + field(FVST, "ABSOLUTE_SET") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:02:PLC:nErrorId_RBV") { - field(DESC, "Error code if nonzero") +record(longin, "TMO:LAMP:MMS:06:PLC:nMotionAxisID_RBV") { + # Unique ID assigned to each axis in the NC + field(DESC, "Unique ID assigned t...ch axis in the NC") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.nErrorId?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nMotionAxisID?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(waveform, "TMO:LAMP:MMS:02:PLC:sErrorMessage_RBV") { +record(waveform, "TMO:LAMP:MMS:06:PLC:sErrorMessage_RBV") { field(DESC, "Message to identify the error state") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.sErrorMessage?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M6.sErrorMessage?") field(FTVL, "CHAR") field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:02:PLC:fPosDiff_RBV") { - field(DESC, "Position lag difference") +record(waveform, "TMO:LAMP:MMS:06:PLC:sName_RBV") { + field(DESC, "PLC program name") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M2.fPosDiff?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.sName?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bLimitForwardEnable_RBV") { - field(DESC, "FALSE if forward limit hit") +record(bi, "TMO:LAMP:MMS:07:PLC:bAllBackwardEnable_RBV") { + # Summary of axis permission to move backward + field(DESC, "Summary of axis perm... to move backward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bLimitForwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bAllBackwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bLimitBackwardEnable_RBV") { - field(DESC, "FALSE if reverse limit hit") +record(bi, "TMO:LAMP:MMS:07:PLC:bAllEnable_RBV") { + field(DESC, "Summary of axis permission to have power") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bLimitBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bAllEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bHome_RBV") { - field(DESC, "TRUE if at homing switch") +record(bi, "TMO:LAMP:MMS:07:PLC:bAllForwardEnable_RBV") { + # Summary of axis permission to move forward + field(DESC, "Summary of axis perm...n to move forward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bHome?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bAllForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bBrakeRelease_RBV") { +record(bi, "TMO:LAMP:MMS:07:PLC:bBrakeRelease_RBV") { field(DESC, "TRUE if brake released") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bBrakeRelease?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bBrakeRelease?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bHardwareEnable_RBV") { - field(DESC, "TRUE if STO not hit") +record(bi, "TMO:LAMP:MMS:07:PLC:bBusy_RBV") { + field(DESC, "TRUE if in the middle of a command") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bHardwareEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bBusy?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bAllForwardEnable_RBV") { - # Summary of axis permission to move forward - field(DESC, "Summary of axis perm...n to move forward") +record(bi, "TMO:LAMP:MMS:07:PLC:bDone_RBV") { + field(DESC, "TRUE if command finished successfully") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bAllForwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bDone?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bAllBackwardEnable_RBV") { - # Summary of axis permission to move backward - field(DESC, "Summary of axis perm... to move backward") +record(bi, "TMO:LAMP:MMS:07:PLC:bEnable_RBV") { + field(DESC, "Used internally to request enables") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bAllBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bAllEnable_RBV") { - field(DESC, "Summary of axis permission to have power") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(bo, "TMO:LAMP:MMS:07:PLC:bEnable") { + field(DESC, "Used internally to request enables") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bAllEnable?") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M7.bEnable=") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bGantryForwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move forward") +record(bi, "TMO:LAMP:MMS:07:PLC:bEnableDone_RBV") { + field(DESC, "TRUE if done enabling") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bGantryForwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bEnableDone?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bGantryBackwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move backward") +record(bi, "TMO:LAMP:MMS:07:PLC:bError_RBV") { + field(DESC, "TRUE if we are in an error state") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bGantryBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M7.bError?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:03:PLC:nEncoderCount_RBV") { - field(DESC, "Count from encoder hardware") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nEncoderCount?") - info(archive, "VAL") -} - -record(waveform, "TMO:LAMP:MMS:03:PLC:sName_RBV") { - field(DESC, "PLC program name") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.sName?") - field(FTVL, "CHAR") - field(NELM, "80") - info(archive, "VAL") -} - -record(bi, "TMO:LAMP:MMS:03:PLC:bPowerSelf_RBV") { - field(DESC, "FALSE if axis is in PMPS") +record(bi, "TMO:LAMP:MMS:07:PLC:bExecute_RBV") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bPowerSelf?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bExecute?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:03:PLC:nEnableMode_RBV") { - # Describes when the axis will automatically get power - field(DESC, "Describes when the a...tically get power") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(bo, "TMO:LAMP:MMS:07:PLC:bExecute") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nEnableMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "ALWAYS") - field(ONST, "NEVER") - field(TWST, "DURING_MOTION") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M7.bExecute=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:03:PLC:nBrakeMode_RBV") { - # Describes when the brake will be released - field(DESC, "Describes when the b... will be released") +record(bi, "TMO:LAMP:MMS:07:PLC:bGantryAxis_RBV") { + field(DESC, "TRUE if gantry EPS active") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nBrakeMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "IF_ENABLED") - field(ONST, "IF_MOVING") - field(TWST, "NO_BRAKE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bGantryAxis?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:03:PLC:nHomingMode_RBV") { - field(DESC, "Describes our homing strategy") +record(bi, "TMO:LAMP:MMS:07:PLC:bGantryBackwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move backward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nHomingMode?") - field(ZRVL, "-1") - field(ONVL, "1") - field(TWVL, "2") - field(THVL, "3") - field(FRVL, "4") - field(FVVL, "15") - field(ZRST, "NONE") - field(ONST, "LOW_LIMIT") - field(TWST, "HIGH_LIMIT") - field(THST, "HOME_VIA_LOW") - field(FRST, "HOME_VIA_HIGH") - field(FVST, "ABSOLUTE_SET") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bGantryBackwardEnable?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bGantryAxis_RBV") { - field(DESC, "TRUE if gantry EPS active") +record(bi, "TMO:LAMP:MMS:07:PLC:bGantryForwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move forward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bGantryAxis?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bGantryForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bEnable_RBV") { - field(DESC, "Used internally to request enables") +record(bi, "TMO:LAMP:MMS:07:PLC:bHardwareEnable_RBV") { + field(DESC, "TRUE if STO not hit") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") -} - -record(bo, "TMO:LAMP:MMS:03:PLC:bEnable") { - field(DESC, "Used internally to request enables") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.bEnable=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bHardwareEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bReset_RBV") { - field(DESC, "Used internally to reset errors") +record(bi, "TMO:LAMP:MMS:07:PLC:bHome_RBV") { + field(DESC, "TRUE if at homing switch") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bReset?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") -} - -record(bo, "TMO:LAMP:MMS:03:PLC:bReset") { - field(DESC, "Used internally to reset errors") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.bReset=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bHome?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bExecute_RBV") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") +record(bi, "TMO:LAMP:MMS:07:PLC:bHomeCmd_RBV") { + field(DESC, "Start the homing routine") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bExecute?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bHomeCmd?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:03:PLC:bExecute") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") +record(bo, "TMO:LAMP:MMS:07:PLC:bHomeCmd") { + field(DESC, "Start the homing routine") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.bExecute=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M7.bHomeCmd=") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bUserEnable_RBV") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") +record(bi, "TMO:LAMP:MMS:07:PLC:bHomed_RBV") { + field(DESC, "TRUE if the motor has been homed") field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bUserEnable?") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(archive, "VAL") -} - -record(bo, "TMO:LAMP:MMS:03:PLC:bUserEnable") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.bUserEnable=") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(autosaveFields_pass0, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bHomed?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bMoveCmd_RBV") { - field(DESC, "Start a move") +record(bi, "TMO:LAMP:MMS:07:PLC:bLimitBackwardEnable_RBV") { + field(DESC, "FALSE if reverse limit hit") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bMoveCmd?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bLimitBackwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:03:PLC:bMoveCmd") { - field(DESC, "Start a move") +record(bi, "TMO:LAMP:MMS:07:PLC:bLimitForwardEnable_RBV") { + field(DESC, "FALSE if forward limit hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.bMoveCmd=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bLimitForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bHomeCmd_RBV") { - field(DESC, "Start the homing routine") +record(bi, "TMO:LAMP:MMS:07:PLC:bMoveCmd_RBV") { + field(DESC, "Start a move") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bHomeCmd?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bMoveCmd?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:03:PLC:bHomeCmd") { - field(DESC, "Start the homing routine") +record(bo, "TMO:LAMP:MMS:07:PLC:bMoveCmd") { + field(DESC, "Start a move") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.bHomeCmd=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M7.bMoveCmd=") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:03:PLC:nCommand_RBV") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") +record(bi, "TMO:LAMP:MMS:07:PLC:bPowerSelf_RBV") { + field(DESC, "FALSE if axis is in PMPS") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nCommand?") - info(archive, "VAL") -} - -record(longout, "TMO:LAMP:MMS:03:PLC:nCommand") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.nCommand=") - info(autosaveFields_pass0, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bPowerSelf?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:03:PLC:nCmdData_RBV") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(bi, "TMO:LAMP:MMS:07:PLC:bReset_RBV") { + field(DESC, "Used internally to reset errors") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nCmdData?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bReset?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longout, "TMO:LAMP:MMS:03:PLC:nCmdData") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(bo, "TMO:LAMP:MMS:07:PLC:bReset") { + field(DESC, "Used internally to reset errors") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.nCmdData=") - info(autosaveFields_pass0, "VAL") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M7.bReset=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:03:PLC:fPosition_RBV") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") +record(bi, "TMO:LAMP:MMS:07:PLC:bSafetyReady_RBV") { + field(DESC, "TRUE if safe to start a move") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.fPosition?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") -} - -record(ao, "TMO:LAMP:MMS:03:PLC:fPosition") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") - field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.fPosition=") - field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bSafetyReady?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:03:PLC:fVelocity_RBV") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") +record(bi, "TMO:LAMP:MMS:07:PLC:bUserEnable_RBV") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.fVelocity?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.bUserEnable?") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:03:PLC:fVelocity") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") - field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.fVelocity=") - field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") +record(bo, "TMO:LAMP:MMS:07:PLC:bUserEnable") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M7.bUserEnable=") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:03:PLC:fAcceleration_RBV") { +record(ai, "TMO:LAMP:MMS:07:PLC:fAcceleration_RBV") { # Used internally and by the IOC to set acceleration field(DESC, "Used internally and ... set acceleration") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.fAcceleration?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.fAcceleration?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:03:PLC:fAcceleration") { +record(ao, "TMO:LAMP:MMS:07:PLC:fAcceleration") { # Used internally and by the IOC to set acceleration field(DESC, "Used internally and ... set acceleration") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.fAcceleration=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M7.fAcceleration=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:03:PLC:fDeceleration_RBV") { +record(ai, "TMO:LAMP:MMS:07:PLC:fDeceleration_RBV") { # Used internally and by the IOC to set deceleration field(DESC, "Used internally and ... set deceleration") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.fDeceleration?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.fDeceleration?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:03:PLC:fDeceleration") { +record(ao, "TMO:LAMP:MMS:07:PLC:fDeceleration") { # Used internally and by the IOC to set deceleration field(DESC, "Used internally and ... set deceleration") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.fDeceleration=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M7.fDeceleration=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:03:PLC:fHomePosition_RBV") { +record(ai, "TMO:LAMP:MMS:07:PLC:fHomePosition_RBV") { # Used internally and by the IOC to pick home position field(DESC, "Used internally and ...ick home position") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.fHomePosition?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.fHomePosition?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:03:PLC:fHomePosition") { +record(ao, "TMO:LAMP:MMS:07:PLC:fHomePosition") { # Used internally and by the IOC to pick home position field(DESC, "Used internally and ...ick home position") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M3.fHomePosition=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M7.fHomePosition=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:03:PLC:nMotionAxisID_RBV") { - # Unique ID assigned to each axis in the NC - field(DESC, "Unique ID assigned t...ch axis in the NC") +record(ai, "TMO:LAMP:MMS:07:PLC:fPosDiff_RBV") { + field(DESC, "Position lag difference") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nMotionAxisID?") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.fPosDiff?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bEnableDone_RBV") { - field(DESC, "TRUE if done enabling") +record(ai, "TMO:LAMP:MMS:07:PLC:fPosition_RBV") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bEnableDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.fPosition?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bBusy_RBV") { - field(DESC, "TRUE if in the middle of a command") +record(ao, "TMO:LAMP:MMS:07:PLC:fPosition") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M7.fPosition=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(ai, "TMO:LAMP:MMS:07:PLC:fVelocity_RBV") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bBusy?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.fVelocity?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bDone_RBV") { - field(DESC, "TRUE if command finished successfully") +record(ao, "TMO:LAMP:MMS:07:PLC:fVelocity") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M7.fVelocity=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(mbbi, "TMO:LAMP:MMS:07:PLC:nBrakeMode_RBV") { + # Describes when the brake will be released + field(DESC, "Describes when the b... will be released") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.nBrakeMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "IF_ENABLED") + field(ONST, "IF_MOVING") + field(TWST, "NO_BRAKE") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bHomed_RBV") { - field(DESC, "TRUE if the motor has been homed") +record(longin, "TMO:LAMP:MMS:07:PLC:nCmdData_RBV") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bHomed?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.nCmdData?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bSafetyReady_RBV") { - field(DESC, "TRUE if safe to start a move") +record(longout, "TMO:LAMP:MMS:07:PLC:nCmdData") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M7.nCmdData=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") + info(archive, "VAL") +} + +record(longin, "TMO:LAMP:MMS:07:PLC:nCommand_RBV") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bSafetyReady?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.nCommand?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:03:PLC:bError_RBV") { - field(DESC, "TRUE if we") +record(longout, "TMO:LAMP:MMS:07:PLC:nCommand") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M7.nCommand=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") + info(archive, "VAL") +} + +record(mbbi, "TMO:LAMP:MMS:07:PLC:nEnableMode_RBV") { + # Describes when the axis will automatically get power + field(DESC, "Describes when the a...tically get power") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.bError?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.nEnableMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "ALWAYS") + field(ONST, "NEVER") + field(TWST, "DURING_MOTION") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:03:PLC:nErrorId_RBV") { - field(DESC, "Error code if nonzero") +record(longin, "TMO:LAMP:MMS:07:PLC:nEncoderCount_RBV") { + field(DESC, "Count from encoder hardware") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.nErrorId?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.nEncoderCount?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(waveform, "TMO:LAMP:MMS:03:PLC:sErrorMessage_RBV") { - field(DESC, "Message to identify the error state") +record(longin, "TMO:LAMP:MMS:07:PLC:nErrorId_RBV") { + field(DESC, "Error code if nonzero") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.sErrorMessage?") - field(FTVL, "CHAR") - field(NELM, "80") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M7.nErrorId?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:03:PLC:fPosDiff_RBV") { - field(DESC, "Position lag difference") +record(mbbi, "TMO:LAMP:MMS:07:PLC:nHomingMode_RBV") { + field(DESC, "Describes our homing strategy") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M3.fPosDiff?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.nHomingMode?") + field(ZRVL, "-1") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "15") + field(ZRST, "NONE") + field(ONST, "LOW_LIMIT") + field(TWST, "HIGH_LIMIT") + field(THST, "HOME_VIA_LOW") + field(FRST, "HOME_VIA_HIGH") + field(FVST, "ABSOLUTE_SET") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bLimitForwardEnable_RBV") { - field(DESC, "FALSE if forward limit hit") +record(longin, "TMO:LAMP:MMS:07:PLC:nMotionAxisID_RBV") { + # Unique ID assigned to each axis in the NC + field(DESC, "Unique ID assigned t...ch axis in the NC") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bLimitForwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.nMotionAxisID?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bLimitBackwardEnable_RBV") { - field(DESC, "FALSE if reverse limit hit") +record(waveform, "TMO:LAMP:MMS:07:PLC:sErrorMessage_RBV") { + field(DESC, "Message to identify the error state") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bLimitBackwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M7.sErrorMessage?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bHome_RBV") { - field(DESC, "TRUE if at homing switch") +record(waveform, "TMO:LAMP:MMS:07:PLC:sName_RBV") { + field(DESC, "PLC program name") field(SCAN, "I/O Intr") field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bHome?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(TSE, "-2") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M7.sName?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bBrakeRelease_RBV") { - field(DESC, "TRUE if brake released") +record(bi, "TMO:LAMP:MMS:08:PLC:bAllBackwardEnable_RBV") { + # Summary of axis permission to move backward + field(DESC, "Summary of axis perm... to move backward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bBrakeRelease?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bAllBackwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bHardwareEnable_RBV") { - field(DESC, "TRUE if STO not hit") +record(bi, "TMO:LAMP:MMS:08:PLC:bAllEnable_RBV") { + field(DESC, "Summary of axis permission to have power") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bHardwareEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bAllEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bAllForwardEnable_RBV") { +record(bi, "TMO:LAMP:MMS:08:PLC:bAllForwardEnable_RBV") { # Summary of axis permission to move forward field(DESC, "Summary of axis perm...n to move forward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bAllForwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bAllForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bAllBackwardEnable_RBV") { - # Summary of axis permission to move backward - field(DESC, "Summary of axis perm... to move backward") +record(bi, "TMO:LAMP:MMS:08:PLC:bBrakeRelease_RBV") { + field(DESC, "TRUE if brake released") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bAllBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bBrakeRelease?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bAllEnable_RBV") { - field(DESC, "Summary of axis permission to have power") +record(bi, "TMO:LAMP:MMS:08:PLC:bBusy_RBV") { + field(DESC, "TRUE if in the middle of a command") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bAllEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bBusy?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bGantryForwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move forward") +record(bi, "TMO:LAMP:MMS:08:PLC:bDone_RBV") { + field(DESC, "TRUE if command finished successfully") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bGantryForwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bDone?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bGantryBackwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move backward") +record(bi, "TMO:LAMP:MMS:08:PLC:bEnable_RBV") { + field(DESC, "Used internally to request enables") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bGantryBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:04:PLC:nEncoderCount_RBV") { - field(DESC, "Count from encoder hardware") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(bo, "TMO:LAMP:MMS:08:PLC:bEnable") { + field(DESC, "Used internally to request enables") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nEncoderCount?") - info(archive, "VAL") -} - -record(waveform, "TMO:LAMP:MMS:04:PLC:sName_RBV") { - field(DESC, "PLC program name") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.sName?") - field(FTVL, "CHAR") - field(NELM, "80") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M8.bEnable=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bPowerSelf_RBV") { - field(DESC, "FALSE if axis is in PMPS") +record(bi, "TMO:LAMP:MMS:08:PLC:bEnableDone_RBV") { + field(DESC, "TRUE if done enabling") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bPowerSelf?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bEnableDone?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:04:PLC:nEnableMode_RBV") { - # Describes when the axis will automatically get power - field(DESC, "Describes when the a...tically get power") +record(bi, "TMO:LAMP:MMS:08:PLC:bError_RBV") { + field(DESC, "TRUE if we are in an error state") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nEnableMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "ALWAYS") - field(ONST, "NEVER") - field(TWST, "DURING_MOTION") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M8.bError?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:04:PLC:nBrakeMode_RBV") { - # Describes when the brake will be released - field(DESC, "Describes when the b... will be released") +record(bi, "TMO:LAMP:MMS:08:PLC:bExecute_RBV") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nBrakeMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "IF_ENABLED") - field(ONST, "IF_MOVING") - field(TWST, "NO_BRAKE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bExecute?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:04:PLC:nHomingMode_RBV") { - field(DESC, "Describes our homing strategy") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(bo, "TMO:LAMP:MMS:08:PLC:bExecute") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nHomingMode?") - field(ZRVL, "-1") - field(ONVL, "1") - field(TWVL, "2") - field(THVL, "3") - field(FRVL, "4") - field(FVVL, "15") - field(ZRST, "NONE") - field(ONST, "LOW_LIMIT") - field(TWST, "HIGH_LIMIT") - field(THST, "HOME_VIA_LOW") - field(FRST, "HOME_VIA_HIGH") - field(FVST, "ABSOLUTE_SET") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M8.bExecute=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bGantryAxis_RBV") { +record(bi, "TMO:LAMP:MMS:08:PLC:bGantryAxis_RBV") { field(DESC, "TRUE if gantry EPS active") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bGantryAxis?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bGantryAxis?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bEnable_RBV") { - field(DESC, "Used internally to request enables") +record(bi, "TMO:LAMP:MMS:08:PLC:bGantryBackwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move backward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bGantryBackwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:04:PLC:bEnable") { - field(DESC, "Used internally to request enables") +record(bi, "TMO:LAMP:MMS:08:PLC:bGantryForwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move forward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.bEnable=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bGantryForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bReset_RBV") { - field(DESC, "Used internally to reset errors") +record(bi, "TMO:LAMP:MMS:08:PLC:bHardwareEnable_RBV") { + field(DESC, "TRUE if STO not hit") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bReset?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bHardwareEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:04:PLC:bReset") { - field(DESC, "Used internally to reset errors") +record(bi, "TMO:LAMP:MMS:08:PLC:bHome_RBV") { + field(DESC, "TRUE if at homing switch") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.bReset=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bHome?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bExecute_RBV") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") +record(bi, "TMO:LAMP:MMS:08:PLC:bHomeCmd_RBV") { + field(DESC, "Start the homing routine") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bExecute?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bHomeCmd?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:04:PLC:bExecute") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") +record(bo, "TMO:LAMP:MMS:08:PLC:bHomeCmd") { + field(DESC, "Start the homing routine") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.bExecute=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M8.bHomeCmd=") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bUserEnable_RBV") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") +record(bi, "TMO:LAMP:MMS:08:PLC:bHomed_RBV") { + field(DESC, "TRUE if the motor has been homed") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bUserEnable?") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(archive, "VAL") -} - -record(bo, "TMO:LAMP:MMS:04:PLC:bUserEnable") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.bUserEnable=") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(autosaveFields_pass0, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bHomed?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bMoveCmd_RBV") { - field(DESC, "Start a move") +record(bi, "TMO:LAMP:MMS:08:PLC:bLimitBackwardEnable_RBV") { + field(DESC, "FALSE if reverse limit hit") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bMoveCmd?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bLimitBackwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:04:PLC:bMoveCmd") { - field(DESC, "Start a move") +record(bi, "TMO:LAMP:MMS:08:PLC:bLimitForwardEnable_RBV") { + field(DESC, "FALSE if forward limit hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.bMoveCmd=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bLimitForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bHomeCmd_RBV") { - field(DESC, "Start the homing routine") +record(bi, "TMO:LAMP:MMS:08:PLC:bMoveCmd_RBV") { + field(DESC, "Start a move") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bHomeCmd?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bMoveCmd?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:04:PLC:bHomeCmd") { - field(DESC, "Start the homing routine") +record(bo, "TMO:LAMP:MMS:08:PLC:bMoveCmd") { + field(DESC, "Start a move") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.bHomeCmd=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M8.bMoveCmd=") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:04:PLC:nCommand_RBV") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") +record(bi, "TMO:LAMP:MMS:08:PLC:bPowerSelf_RBV") { + field(DESC, "FALSE if axis is in PMPS") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nCommand?") - info(archive, "VAL") -} - -record(longout, "TMO:LAMP:MMS:04:PLC:nCommand") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.nCommand=") - info(autosaveFields_pass0, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bPowerSelf?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:04:PLC:nCmdData_RBV") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(bi, "TMO:LAMP:MMS:08:PLC:bReset_RBV") { + field(DESC, "Used internally to reset errors") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nCmdData?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bReset?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longout, "TMO:LAMP:MMS:04:PLC:nCmdData") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(bo, "TMO:LAMP:MMS:08:PLC:bReset") { + field(DESC, "Used internally to reset errors") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.nCmdData=") - info(autosaveFields_pass0, "VAL") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M8.bReset=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:04:PLC:fPosition_RBV") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") +record(bi, "TMO:LAMP:MMS:08:PLC:bSafetyReady_RBV") { + field(DESC, "TRUE if safe to start a move") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.fPosition?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") -} - -record(ao, "TMO:LAMP:MMS:04:PLC:fPosition") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") - field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.fPosition=") - field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bSafetyReady?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:04:PLC:fVelocity_RBV") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") +record(bi, "TMO:LAMP:MMS:08:PLC:bUserEnable_RBV") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.fVelocity?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.bUserEnable?") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:04:PLC:fVelocity") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") - field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.fVelocity=") - field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") +record(bo, "TMO:LAMP:MMS:08:PLC:bUserEnable") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M8.bUserEnable=") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:04:PLC:fAcceleration_RBV") { +record(ai, "TMO:LAMP:MMS:08:PLC:fAcceleration_RBV") { # Used internally and by the IOC to set acceleration field(DESC, "Used internally and ... set acceleration") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.fAcceleration?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.fAcceleration?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:04:PLC:fAcceleration") { +record(ao, "TMO:LAMP:MMS:08:PLC:fAcceleration") { # Used internally and by the IOC to set acceleration field(DESC, "Used internally and ... set acceleration") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.fAcceleration=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M8.fAcceleration=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:04:PLC:fDeceleration_RBV") { +record(ai, "TMO:LAMP:MMS:08:PLC:fDeceleration_RBV") { # Used internally and by the IOC to set deceleration field(DESC, "Used internally and ... set deceleration") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.fDeceleration?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.fDeceleration?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:04:PLC:fDeceleration") { +record(ao, "TMO:LAMP:MMS:08:PLC:fDeceleration") { # Used internally and by the IOC to set deceleration field(DESC, "Used internally and ... set deceleration") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.fDeceleration=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M8.fDeceleration=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:04:PLC:fHomePosition_RBV") { +record(ai, "TMO:LAMP:MMS:08:PLC:fHomePosition_RBV") { # Used internally and by the IOC to pick home position field(DESC, "Used internally and ...ick home position") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.fHomePosition?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.fHomePosition?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:04:PLC:fHomePosition") { +record(ao, "TMO:LAMP:MMS:08:PLC:fHomePosition") { # Used internally and by the IOC to pick home position field(DESC, "Used internally and ...ick home position") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M4.fHomePosition=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M8.fHomePosition=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:04:PLC:nMotionAxisID_RBV") { - # Unique ID assigned to each axis in the NC - field(DESC, "Unique ID assigned t...ch axis in the NC") +record(ai, "TMO:LAMP:MMS:08:PLC:fPosDiff_RBV") { + field(DESC, "Position lag difference") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nMotionAxisID?") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.fPosDiff?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bEnableDone_RBV") { - field(DESC, "TRUE if done enabling") +record(ai, "TMO:LAMP:MMS:08:PLC:fPosition_RBV") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bEnableDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.fPosition?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bBusy_RBV") { - field(DESC, "TRUE if in the middle of a command") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bBusy?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") +record(ao, "TMO:LAMP:MMS:08:PLC:fPosition") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M8.fPosition=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bDone_RBV") { - field(DESC, "TRUE if command finished successfully") +record(ai, "TMO:LAMP:MMS:08:PLC:fVelocity_RBV") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.fVelocity?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bHomed_RBV") { - field(DESC, "TRUE if the motor has been homed") +record(ao, "TMO:LAMP:MMS:08:PLC:fVelocity") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M8.fVelocity=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") + info(archive, "VAL") +} + +record(mbbi, "TMO:LAMP:MMS:08:PLC:nBrakeMode_RBV") { + # Describes when the brake will be released + field(DESC, "Describes when the b... will be released") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bHomed?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.nBrakeMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "IF_ENABLED") + field(ONST, "IF_MOVING") + field(TWST, "NO_BRAKE") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bSafetyReady_RBV") { - field(DESC, "TRUE if safe to start a move") +record(longin, "TMO:LAMP:MMS:08:PLC:nCmdData_RBV") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bSafetyReady?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.nCmdData?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:04:PLC:bError_RBV") { - field(DESC, "TRUE if we") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") +record(longout, "TMO:LAMP:MMS:08:PLC:nCmdData") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.bError?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M8.nCmdData=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:04:PLC:nErrorId_RBV") { - field(DESC, "Error code if nonzero") +record(longin, "TMO:LAMP:MMS:08:PLC:nCommand_RBV") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.nErrorId?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.nCommand?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(waveform, "TMO:LAMP:MMS:04:PLC:sErrorMessage_RBV") { - field(DESC, "Message to identify the error state") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.sErrorMessage?") - field(FTVL, "CHAR") - field(NELM, "80") +record(longout, "TMO:LAMP:MMS:08:PLC:nCommand") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M8.nCommand=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:04:PLC:fPosDiff_RBV") { - field(DESC, "Position lag difference") +record(mbbi, "TMO:LAMP:MMS:08:PLC:nEnableMode_RBV") { + # Describes when the axis will automatically get power + field(DESC, "Describes when the a...tically get power") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M4.fPosDiff?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.nEnableMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "ALWAYS") + field(ONST, "NEVER") + field(TWST, "DURING_MOTION") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bLimitForwardEnable_RBV") { - field(DESC, "FALSE if forward limit hit") +record(longin, "TMO:LAMP:MMS:08:PLC:nEncoderCount_RBV") { + field(DESC, "Count from encoder hardware") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bLimitForwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.nEncoderCount?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bLimitBackwardEnable_RBV") { - field(DESC, "FALSE if reverse limit hit") +record(longin, "TMO:LAMP:MMS:08:PLC:nErrorId_RBV") { + field(DESC, "Error code if nonzero") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bLimitBackwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M8.nErrorId?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bHome_RBV") { - field(DESC, "TRUE if at homing switch") +record(mbbi, "TMO:LAMP:MMS:08:PLC:nHomingMode_RBV") { + field(DESC, "Describes our homing strategy") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bHome?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.nHomingMode?") + field(ZRVL, "-1") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "15") + field(ZRST, "NONE") + field(ONST, "LOW_LIMIT") + field(TWST, "HIGH_LIMIT") + field(THST, "HOME_VIA_LOW") + field(FRST, "HOME_VIA_HIGH") + field(FVST, "ABSOLUTE_SET") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bBrakeRelease_RBV") { - field(DESC, "TRUE if brake released") +record(longin, "TMO:LAMP:MMS:08:PLC:nMotionAxisID_RBV") { + # Unique ID assigned to each axis in the NC + field(DESC, "Unique ID assigned t...ch axis in the NC") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bBrakeRelease?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.nMotionAxisID?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bHardwareEnable_RBV") { - field(DESC, "TRUE if STO not hit") +record(waveform, "TMO:LAMP:MMS:08:PLC:sErrorMessage_RBV") { + field(DESC, "Message to identify the error state") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bHardwareEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M8.sErrorMessage?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bAllForwardEnable_RBV") { - # Summary of axis permission to move forward - field(DESC, "Summary of axis perm...n to move forward") +record(waveform, "TMO:LAMP:MMS:08:PLC:sName_RBV") { + field(DESC, "PLC program name") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bAllForwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M8.sName?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bAllBackwardEnable_RBV") { +record(bi, "TMO:LAMP:MMS:09:PLC:bAllBackwardEnable_RBV") { # Summary of axis permission to move backward field(DESC, "Summary of axis perm... to move backward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bAllBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bAllBackwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bAllEnable_RBV") { +record(bi, "TMO:LAMP:MMS:09:PLC:bAllEnable_RBV") { field(DESC, "Summary of axis permission to have power") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bAllEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bAllEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bGantryForwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move forward") +record(bi, "TMO:LAMP:MMS:09:PLC:bAllForwardEnable_RBV") { + # Summary of axis permission to move forward + field(DESC, "Summary of axis perm...n to move forward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bGantryForwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bAllForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bGantryBackwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move backward") +record(bi, "TMO:LAMP:MMS:09:PLC:bBrakeRelease_RBV") { + field(DESC, "TRUE if brake released") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bGantryBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bBrakeRelease?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:05:PLC:nEncoderCount_RBV") { - field(DESC, "Count from encoder hardware") +record(bi, "TMO:LAMP:MMS:09:PLC:bBusy_RBV") { + field(DESC, "TRUE if in the middle of a command") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nEncoderCount?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bBusy?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(waveform, "TMO:LAMP:MMS:05:PLC:sName_RBV") { - field(DESC, "PLC program name") +record(bi, "TMO:LAMP:MMS:09:PLC:bDone_RBV") { + field(DESC, "TRUE if command finished successfully") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.sName?") - field(FTVL, "CHAR") - field(NELM, "80") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bDone?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bPowerSelf_RBV") { - field(DESC, "FALSE if axis is in PMPS") +record(bi, "TMO:LAMP:MMS:09:PLC:bEnable_RBV") { + field(DESC, "Used internally to request enables") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bPowerSelf?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:05:PLC:nEnableMode_RBV") { - # Describes when the axis will automatically get power - field(DESC, "Describes when the a...tically get power") +record(bo, "TMO:LAMP:MMS:09:PLC:bEnable") { + field(DESC, "Used internally to request enables") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M9.bEnable=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:09:PLC:bEnableDone_RBV") { + field(DESC, "TRUE if done enabling") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nEnableMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "ALWAYS") - field(ONST, "NEVER") - field(TWST, "DURING_MOTION") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bEnableDone?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:05:PLC:nBrakeMode_RBV") { - # Describes when the brake will be released - field(DESC, "Describes when the b... will be released") +record(bi, "TMO:LAMP:MMS:09:PLC:bError_RBV") { + field(DESC, "TRUE if we are in an error state") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nBrakeMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "IF_ENABLED") - field(ONST, "IF_MOVING") - field(TWST, "NO_BRAKE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M9.bError?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(mbbi, "TMO:LAMP:MMS:05:PLC:nHomingMode_RBV") { - field(DESC, "Describes our homing strategy") +record(bi, "TMO:LAMP:MMS:09:PLC:bExecute_RBV") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") field(SCAN, "I/O Intr") field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nHomingMode?") - field(ZRVL, "-1") - field(ONVL, "1") - field(TWVL, "2") - field(THVL, "3") - field(FRVL, "4") - field(FVVL, "15") - field(ZRST, "NONE") - field(ONST, "LOW_LIMIT") - field(TWST, "HIGH_LIMIT") - field(THST, "HOME_VIA_LOW") - field(FRST, "HOME_VIA_HIGH") - field(FVST, "ABSOLUTE_SET") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bExecute?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bGantryAxis_RBV") { +record(bo, "TMO:LAMP:MMS:09:PLC:bExecute") { + # Used internally and by the IOC to start or stop + field(DESC, "Used internally and ... to start or stop") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M9.bExecute=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") + info(archive, "VAL") +} + +record(bi, "TMO:LAMP:MMS:09:PLC:bGantryAxis_RBV") { field(DESC, "TRUE if gantry EPS active") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bGantryAxis?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bGantryAxis?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bEnable_RBV") { - field(DESC, "Used internally to request enables") +record(bi, "TMO:LAMP:MMS:09:PLC:bGantryBackwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move backward") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bGantryBackwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:05:PLC:bEnable") { - field(DESC, "Used internally to request enables") +record(bi, "TMO:LAMP:MMS:09:PLC:bGantryForwardEnable_RBV") { + field(DESC, "TRUE if gantry ok to move forward") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.bEnable=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bGantryForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bReset_RBV") { - field(DESC, "Used internally to reset errors") +record(bi, "TMO:LAMP:MMS:09:PLC:bHardwareEnable_RBV") { + field(DESC, "TRUE if STO not hit") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bReset?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bHardwareEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:05:PLC:bReset") { - field(DESC, "Used internally to reset errors") +record(bi, "TMO:LAMP:MMS:09:PLC:bHome_RBV") { + field(DESC, "TRUE if at homing switch") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.bReset=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bHome?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bExecute_RBV") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") +record(bi, "TMO:LAMP:MMS:09:PLC:bHomeCmd_RBV") { + field(DESC, "Start the homing routine") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bExecute?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bHomeCmd?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:05:PLC:bExecute") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") +record(bo, "TMO:LAMP:MMS:09:PLC:bHomeCmd") { + field(DESC, "Start the homing routine") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.bExecute=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M9.bHomeCmd=") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bUserEnable_RBV") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") +record(bi, "TMO:LAMP:MMS:09:PLC:bHomed_RBV") { + field(DESC, "TRUE if the motor has been homed") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bUserEnable?") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(archive, "VAL") -} - -record(bo, "TMO:LAMP:MMS:05:PLC:bUserEnable") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.bUserEnable=") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(autosaveFields_pass0, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bHomed?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bMoveCmd_RBV") { - field(DESC, "Start a move") +record(bi, "TMO:LAMP:MMS:09:PLC:bLimitBackwardEnable_RBV") { + field(DESC, "FALSE if reverse limit hit") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bMoveCmd?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bLimitBackwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:05:PLC:bMoveCmd") { - field(DESC, "Start a move") +record(bi, "TMO:LAMP:MMS:09:PLC:bLimitForwardEnable_RBV") { + field(DESC, "FALSE if forward limit hit") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.bMoveCmd=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bLimitForwardEnable?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bHomeCmd_RBV") { - field(DESC, "Start the homing routine") +record(bi, "TMO:LAMP:MMS:09:PLC:bMoveCmd_RBV") { + field(DESC, "Start a move") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bHomeCmd?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bMoveCmd?") field(ZNAM, "FALSE") field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(bo, "TMO:LAMP:MMS:05:PLC:bHomeCmd") { - field(DESC, "Start the homing routine") +record(bo, "TMO:LAMP:MMS:09:PLC:bMoveCmd") { + field(DESC, "Start a move") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.bHomeCmd=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M9.bMoveCmd=") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:05:PLC:nCommand_RBV") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") +record(bi, "TMO:LAMP:MMS:09:PLC:bPowerSelf_RBV") { + field(DESC, "FALSE if axis is in PMPS") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nCommand?") - info(archive, "VAL") -} - -record(longout, "TMO:LAMP:MMS:05:PLC:nCommand") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.nCommand=") - info(autosaveFields_pass0, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bPowerSelf?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:05:PLC:nCmdData_RBV") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(bi, "TMO:LAMP:MMS:09:PLC:bReset_RBV") { + field(DESC, "Used internally to reset errors") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nCmdData?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bReset?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(longout, "TMO:LAMP:MMS:05:PLC:nCmdData") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(bo, "TMO:LAMP:MMS:09:PLC:bReset") { + field(DESC, "Used internally to reset errors") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.nCmdData=") - info(autosaveFields_pass0, "VAL") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M9.bReset=") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:05:PLC:fPosition_RBV") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") +record(bi, "TMO:LAMP:MMS:09:PLC:bSafetyReady_RBV") { + field(DESC, "TRUE if safe to start a move") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.fPosition?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") -} - -record(ao, "TMO:LAMP:MMS:05:PLC:fPosition") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") - field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.fPosition=") - field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bSafetyReady?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:05:PLC:fVelocity_RBV") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") +record(bi, "TMO:LAMP:MMS:09:PLC:bUserEnable_RBV") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.fVelocity?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.bUserEnable?") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:05:PLC:fVelocity") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") - field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.fVelocity=") - field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") +record(bo, "TMO:LAMP:MMS:09:PLC:bUserEnable") { + # Used to disable power entirely for an axis + field(DESC, "Used to disable powe...irely for an axis") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M9.bUserEnable=") + field(ZNAM, "DISABLE") + field(ONAM, "ENABLE") + info(autosaveFields_pass0, "COSV DESC DISS OSV SIMS UDFS VAL ZSV") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:05:PLC:fAcceleration_RBV") { +record(ai, "TMO:LAMP:MMS:09:PLC:fAcceleration_RBV") { # Used internally and by the IOC to set acceleration field(DESC, "Used internally and ... set acceleration") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.fAcceleration?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.fAcceleration?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:05:PLC:fAcceleration") { +record(ao, "TMO:LAMP:MMS:09:PLC:fAcceleration") { # Used internally and by the IOC to set acceleration field(DESC, "Used internally and ... set acceleration") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.fAcceleration=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M9.fAcceleration=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:05:PLC:fDeceleration_RBV") { +record(ai, "TMO:LAMP:MMS:09:PLC:fDeceleration_RBV") { # Used internally and by the IOC to set deceleration field(DESC, "Used internally and ... set deceleration") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.fDeceleration?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.fDeceleration?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:05:PLC:fDeceleration") { +record(ao, "TMO:LAMP:MMS:09:PLC:fDeceleration") { # Used internally and by the IOC to set deceleration field(DESC, "Used internally and ... set deceleration") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.fDeceleration=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M9.fDeceleration=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:05:PLC:fHomePosition_RBV") { +record(ai, "TMO:LAMP:MMS:09:PLC:fHomePosition_RBV") { # Used internally and by the IOC to pick home position field(DESC, "Used internally and ...ick home position") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.fHomePosition?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.fHomePosition?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(ao, "TMO:LAMP:MMS:05:PLC:fHomePosition") { +record(ao, "TMO:LAMP:MMS:09:PLC:fHomePosition") { # Used internally and by the IOC to pick home position field(DESC, "Used internally and ...ick home position") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M5.fHomePosition=") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M9.fHomePosition=") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") - info(archive, "VAL") -} - -record(longin, "TMO:LAMP:MMS:05:PLC:nMotionAxisID_RBV") { - # Unique ID assigned to each axis in the NC - field(DESC, "Unique ID assigned t...ch axis in the NC") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nMotionAxisID?") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bEnableDone_RBV") { - field(DESC, "TRUE if done enabling") +record(ai, "TMO:LAMP:MMS:09:PLC:fPosDiff_RBV") { + field(DESC, "Position lag difference") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bEnableDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.fPosDiff?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bBusy_RBV") { - field(DESC, "TRUE if in the middle of a command") +record(ai, "TMO:LAMP:MMS:09:PLC:fPosition_RBV") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bBusy?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.fPosition?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bDone_RBV") { - field(DESC, "TRUE if command finished successfully") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") +record(ao, "TMO:LAMP:MMS:09:PLC:fPosition") { + # Used internally and by the IOC as the set position + field(DESC, "Used internally and ... the set position") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M9.fPosition=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bHomed_RBV") { - field(DESC, "TRUE if the motor has been homed") +record(ai, "TMO:LAMP:MMS:09:PLC:fVelocity_RBV") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bHomed?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.fVelocity?") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bSafetyReady_RBV") { - field(DESC, "TRUE if safe to start a move") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bSafetyReady?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") +record(ao, "TMO:LAMP:MMS:09:PLC:fVelocity") { + # Used internally and by the IOC to set velocity + field(DESC, "Used internally and ...C to set velocity") + field(DTYP, "asynFloat64") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M9.fVelocity=") + field(PREC, "3") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS VAL") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:05:PLC:bError_RBV") { - field(DESC, "TRUE if we") +record(mbbi, "TMO:LAMP:MMS:09:PLC:nBrakeMode_RBV") { + # Describes when the brake will be released + field(DESC, "Describes when the b... will be released") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.bError?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.nBrakeMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "IF_ENABLED") + field(ONST, "IF_MOVING") + field(TWST, "NO_BRAKE") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(longin, "TMO:LAMP:MMS:05:PLC:nErrorId_RBV") { - field(DESC, "Error code if nonzero") +record(longin, "TMO:LAMP:MMS:09:PLC:nCmdData_RBV") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.nErrorId?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.nCmdData?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(waveform, "TMO:LAMP:MMS:05:PLC:sErrorMessage_RBV") { - field(DESC, "Message to identify the error state") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.sErrorMessage?") - field(FTVL, "CHAR") - field(NELM, "80") +record(longout, "TMO:LAMP:MMS:09:PLC:nCmdData") { + # Used internally and by the IOC to pass extra args + field(DESC, "Used internally and ...o pass extra args") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M9.nCmdData=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") info(archive, "VAL") } -record(ai, "TMO:LAMP:MMS:05:PLC:fPosDiff_RBV") { - field(DESC, "Position lag difference") +record(longin, "TMO:LAMP:MMS:09:PLC:nCommand_RBV") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M5.fPosDiff?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.nCommand?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bLimitForwardEnable_RBV") { - field(DESC, "FALSE if forward limit hit") +record(longout, "TMO:LAMP:MMS:09:PLC:nCommand") { + # Used internally and by the IOC to pick move type + field(DESC, "Used internally and ...to pick move type") + field(DTYP, "asynInt32") + field(UDFS, "0") + field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M9.nCommand=") + info(autosaveFields_pass0, "DESC DISS DRVH DRVL HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS VAL") + info(archive, "VAL") +} + +record(mbbi, "TMO:LAMP:MMS:09:PLC:nEnableMode_RBV") { + # Describes when the axis will automatically get power + field(DESC, "Describes when the a...tically get power") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bLimitForwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.nEnableMode?") + field(ZRVL, "0") + field(ONVL, "1") + field(TWVL, "2") + field(ZRST, "ALWAYS") + field(ONST, "NEVER") + field(TWST, "DURING_MOTION") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bLimitBackwardEnable_RBV") { - field(DESC, "FALSE if reverse limit hit") +record(longin, "TMO:LAMP:MMS:09:PLC:nEncoderCount_RBV") { + field(DESC, "Count from encoder hardware") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bLimitBackwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.nEncoderCount?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bHome_RBV") { - field(DESC, "TRUE if at homing switch") +record(longin, "TMO:LAMP:MMS:09:PLC:nErrorId_RBV") { + field(DESC, "Error code if nonzero") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bHome?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M9.nErrorId?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bBrakeRelease_RBV") { - field(DESC, "TRUE if brake released") +record(mbbi, "TMO:LAMP:MMS:09:PLC:nHomingMode_RBV") { + field(DESC, "Describes our homing strategy") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bBrakeRelease?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.nHomingMode?") + field(ZRVL, "-1") + field(ONVL, "1") + field(TWVL, "2") + field(THVL, "3") + field(FRVL, "4") + field(FVVL, "15") + field(ZRST, "NONE") + field(ONST, "LOW_LIMIT") + field(TWST, "HIGH_LIMIT") + field(THST, "HOME_VIA_LOW") + field(FRST, "HOME_VIA_HIGH") + field(FVST, "ABSOLUTE_SET") + info(autosaveFields_pass0, "DESC DISS EISV ELSV FFSV FRSV FTSV FVSV NISV ONSV SIMS SVSV SXSV TESV THSV TTSV TVSV TWSV UDFS UNSV ZRSV") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bHardwareEnable_RBV") { - field(DESC, "TRUE if STO not hit") +record(longin, "TMO:LAMP:MMS:09:PLC:nMotionAxisID_RBV") { + # Unique ID assigned to each axis in the NC + field(DESC, "Unique ID assigned t...ch axis in the NC") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bHardwareEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.nMotionAxisID?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bAllForwardEnable_RBV") { - # Summary of axis permission to move forward - field(DESC, "Summary of axis perm...n to move forward") +record(waveform, "TMO:LAMP:MMS:09:PLC:sErrorMessage_RBV") { + field(DESC, "Message to identify the error state") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bAllForwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/TS_MS=10/Main.M9.sErrorMessage?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bAllBackwardEnable_RBV") { - # Summary of axis permission to move backward - field(DESC, "Summary of axis perm... to move backward") +record(waveform, "TMO:LAMP:MMS:09:PLC:sName_RBV") { + field(DESC, "PLC program name") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bAllBackwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M9.sName?") + field(FTVL, "CHAR") + field(NELM, "80") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bAllEnable_RBV") { - field(DESC, "Summary of axis permission to have power") +record(longin, "$(PREFIX)AccumulatedFastFaults_RBV") { + field(DESC, "PMPS_GVL.AccumulatedFF") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bAllEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.AccumulatedFF?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bGantryForwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move forward") +record(longin, "$(PREFIX)SuccessfulPreemptions_RBV") { + field(DESC, "PMPS_GVL.SuccessfulPreemption") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bGantryForwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.SuccessfulPreemption?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") info(archive, "VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bGantryBackwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move backward") +record(waveform, "$(PREFIX)0RateBeamCnst:Veto_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bGantryBackwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.aVetoDevices?") + field(FTVL, "CHAR") + field(NELM, "16") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(longin, "TMO:LAMP:MMS:06:PLC:nEncoderCount_RBV") { - field(DESC, "Count from encoder hardware") +record(ai, "$(PREFIX)0RateBeamCnst:Apt:01:Height_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nEncoderCount?") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.astApertures[1].Height?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(waveform, "TMO:LAMP:MMS:06:PLC:sName_RBV") { - field(DESC, "PLC program name") +record(ai, "$(PREFIX)0RateBeamCnst:Apt:01:Width_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.sName?") - field(FTVL, "CHAR") - field(NELM, "80") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.astApertures[1].Width?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bPowerSelf_RBV") { - field(DESC, "FALSE if axis is in PMPS") +record(bi, "$(PREFIX)0RateBeamCnst:Apt:01:OK_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bPowerSelf?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.astApertures[1].xOK?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(archive, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(mbbi, "TMO:LAMP:MMS:06:PLC:nEnableMode_RBV") { - # Describes when the axis will automatically get power - field(DESC, "Describes when the a...tically get power") +record(ai, "$(PREFIX)0RateBeamCnst:Apt:02:Height_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nEnableMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "ALWAYS") - field(ONST, "NEVER") - field(TWST, "DURING_MOTION") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.astApertures[2].Height?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(mbbi, "TMO:LAMP:MMS:06:PLC:nBrakeMode_RBV") { - # Describes when the brake will be released - field(DESC, "Describes when the b... will be released") +record(ai, "$(PREFIX)0RateBeamCnst:Apt:02:Width_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nBrakeMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "IF_ENABLED") - field(ONST, "IF_MOVING") - field(TWST, "NO_BRAKE") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.astApertures[2].Width?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(mbbi, "TMO:LAMP:MMS:06:PLC:nHomingMode_RBV") { - field(DESC, "Describes our homing strategy") +record(bi, "$(PREFIX)0RateBeamCnst:Apt:02:OK_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nHomingMode?") - field(ZRVL, "-1") - field(ONVL, "1") - field(TWVL, "2") - field(THVL, "3") - field(FRVL, "4") - field(FVVL, "15") - field(ZRST, "NONE") - field(ONST, "LOW_LIMIT") - field(TWST, "HIGH_LIMIT") - field(THST, "HOME_VIA_LOW") - field(FRST, "HOME_VIA_HIGH") - field(FVST, "ABSOLUTE_SET") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.astApertures[2].xOK?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bGantryAxis_RBV") { - field(DESC, "TRUE if gantry EPS active") +record(ai, "$(PREFIX)0RateBeamCnst:Apt:03:Height_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bGantryAxis?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.astApertures[3].Height?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bEnable_RBV") { - field(DESC, "Used internally to request enables") +record(ai, "$(PREFIX)0RateBeamCnst:Apt:03:Width_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.astApertures[3].Width?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bo, "TMO:LAMP:MMS:06:PLC:bEnable") { - field(DESC, "Used internally to request enables") +record(bi, "$(PREFIX)0RateBeamCnst:Apt:03:OK_RBV") { + field(DESC, "0-rate beam constant") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.bEnable=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.astApertures[3].xOK?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bReset_RBV") { - field(DESC, "Used internally to reset errors") +record(ai, "$(PREFIX)0RateBeamCnst:Apt:04:Height_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bReset?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.astApertures[4].Height?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bo, "TMO:LAMP:MMS:06:PLC:bReset") { - field(DESC, "Used internally to reset errors") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.bReset=") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") +record(ai, "$(PREFIX)0RateBeamCnst:Apt:04:Width_RBV") { + field(DESC, "0-rate beam constant") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.astApertures[4].Width?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bExecute_RBV") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") +record(bi, "$(PREFIX)0RateBeamCnst:Apt:04:OK_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bExecute?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") -} - -record(bo, "TMO:LAMP:MMS:06:PLC:bExecute") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.bExecute=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.astApertures[4].xOK?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bUserEnable_RBV") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") +record(longin, "$(PREFIX)0RateBeamCnst:BeamClassRanges_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bUserEnable?") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(archive, "VAL") -} - -record(bo, "TMO:LAMP:MMS:06:PLC:bUserEnable") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.bUserEnable=") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.nBCRange?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bMoveCmd_RBV") { - field(DESC, "Start a move") +record(longin, "$(PREFIX)0RateBeamCnst:BeamClass_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bMoveCmd?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.nBeamClass?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bo, "TMO:LAMP:MMS:06:PLC:bMoveCmd") { - field(DESC, "Start a move") +record(longin, "$(PREFIX)0RateBeamCnst:Cohort_RBV") { + field(DESC, "Cohort inc on each arb cycle") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.bMoveCmd=") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.nCohortInt?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bHomeCmd_RBV") { - field(DESC, "Start the homing routine") +record(longin, "$(PREFIX)0RateBeamCnst:MachineMode_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bHomeCmd?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.nMachineMode?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bo, "TMO:LAMP:MMS:06:PLC:bHomeCmd") { - field(DESC, "Start the homing routine") +record(longin, "$(PREFIX)0RateBeamCnst:Rate_RBV") { + field(DESC, "0-rate beam constant") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.bHomeCmd=") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.nRate?") + field(EGU, "Hz") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(longin, "TMO:LAMP:MMS:06:PLC:nCommand_RBV") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") +record(ai, "$(PREFIX)0RateBeamCnst:Transmission_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nCommand?") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.nTran?") + field(PREC, "2") + field(HOPR, "1") + field(LOPR, "0") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(longout, "TMO:LAMP:MMS:06:PLC:nCommand") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.nCommand=") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") +record(ai, "$(PREFIX)0RateBeamCnst:PhotonEnergy_RBV") { + field(DESC, "0-rate beam constant") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.neV?") + field(PREC, "3") + field(EGU, "eV") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(longin, "TMO:LAMP:MMS:06:PLC:nCmdData_RBV") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(longin, "$(PREFIX)0RateBeamCnst:eVRanges_RBV") { + field(DESC, "0-rate beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nCmdData?") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.neVRange?") + field(EGU, "eV") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(longout, "TMO:LAMP:MMS:06:PLC:nCmdData") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(bi, "$(PREFIX)0RateBeamCnst:Valid_RBV") { + field(DESC, "0-rate beam constant") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.nCmdData=") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cst0RateBeam.xValid?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(ai, "TMO:LAMP:MMS:06:PLC:fPosition_RBV") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") +record(waveform, "$(PREFIX)FullBeamCnst:Veto_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.fPosition?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.aVetoDevices?") + field(FTVL, "CHAR") + field(NELM, "16") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ao, "TMO:LAMP:MMS:06:PLC:fPosition") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") +record(ai, "$(PREFIX)FullBeamCnst:Apt:01:Height_RBV") { + field(DESC, "Full beam constant") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.fPosition=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.astApertures[1].Height?") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") - info(archive, "VAL") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ai, "TMO:LAMP:MMS:06:PLC:fVelocity_RBV") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") +record(ai, "$(PREFIX)FullBeamCnst:Apt:01:Width_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.fVelocity?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.astApertures[1].Width?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ao, "TMO:LAMP:MMS:06:PLC:fVelocity") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") - field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.fVelocity=") - field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") - info(archive, "VAL") +record(bi, "$(PREFIX)FullBeamCnst:Apt:01:OK_RBV") { + field(DESC, "Full beam constant") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.astApertures[1].xOK?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(ai, "TMO:LAMP:MMS:06:PLC:fAcceleration_RBV") { - # Used internally and by the IOC to set acceleration - field(DESC, "Used internally and ... set acceleration") +record(ai, "$(PREFIX)FullBeamCnst:Apt:02:Height_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.fAcceleration?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.astApertures[2].Height?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ao, "TMO:LAMP:MMS:06:PLC:fAcceleration") { - # Used internally and by the IOC to set acceleration - field(DESC, "Used internally and ... set acceleration") +record(ai, "$(PREFIX)FullBeamCnst:Apt:02:Width_RBV") { + field(DESC, "Full beam constant") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.fAcceleration=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.astApertures[2].Width?") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") - info(archive, "VAL") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ai, "TMO:LAMP:MMS:06:PLC:fDeceleration_RBV") { - # Used internally and by the IOC to set deceleration - field(DESC, "Used internally and ... set deceleration") +record(bi, "$(PREFIX)FullBeamCnst:Apt:02:OK_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.fDeceleration?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.astApertures[2].xOK?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(ao, "TMO:LAMP:MMS:06:PLC:fDeceleration") { - # Used internally and by the IOC to set deceleration - field(DESC, "Used internally and ... set deceleration") +record(ai, "$(PREFIX)FullBeamCnst:Apt:03:Height_RBV") { + field(DESC, "Full beam constant") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.fDeceleration=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.astApertures[3].Height?") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") - info(archive, "VAL") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ai, "TMO:LAMP:MMS:06:PLC:fHomePosition_RBV") { - # Used internally and by the IOC to pick home position - field(DESC, "Used internally and ...ick home position") +record(ai, "$(PREFIX)FullBeamCnst:Apt:03:Width_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.fHomePosition?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.astApertures[3].Width?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ao, "TMO:LAMP:MMS:06:PLC:fHomePosition") { - # Used internally and by the IOC to pick home position - field(DESC, "Used internally and ...ick home position") - field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M6.fHomePosition=") - field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") - info(archive, "VAL") +record(bi, "$(PREFIX)FullBeamCnst:Apt:03:OK_RBV") { + field(DESC, "Full beam constant") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.astApertures[3].xOK?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(longin, "TMO:LAMP:MMS:06:PLC:nMotionAxisID_RBV") { - # Unique ID assigned to each axis in the NC - field(DESC, "Unique ID assigned t...ch axis in the NC") +record(ai, "$(PREFIX)FullBeamCnst:Apt:04:Height_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nMotionAxisID?") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.astApertures[4].Height?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bEnableDone_RBV") { - field(DESC, "TRUE if done enabling") +record(ai, "$(PREFIX)FullBeamCnst:Apt:04:Width_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bEnableDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.astApertures[4].Width?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bBusy_RBV") { - field(DESC, "TRUE if in the middle of a command") +record(bi, "$(PREFIX)FullBeamCnst:Apt:04:OK_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bBusy?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.astApertures[4].xOK?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(archive, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bDone_RBV") { - field(DESC, "TRUE if command finished successfully") +record(longin, "$(PREFIX)FullBeamCnst:BeamClassRanges_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.nBCRange?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bHomed_RBV") { - field(DESC, "TRUE if the motor has been homed") +record(longin, "$(PREFIX)FullBeamCnst:BeamClass_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bHomed?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.nBeamClass?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bSafetyReady_RBV") { - field(DESC, "TRUE if safe to start a move") +record(longin, "$(PREFIX)FullBeamCnst:Cohort_RBV") { + field(DESC, "Cohort inc on each arb cycle") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bSafetyReady?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.nCohortInt?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:06:PLC:bError_RBV") { - field(DESC, "TRUE if we") +record(longin, "$(PREFIX)FullBeamCnst:MachineMode_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.bError?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.nMachineMode?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(longin, "TMO:LAMP:MMS:06:PLC:nErrorId_RBV") { - field(DESC, "Error code if nonzero") +record(longin, "$(PREFIX)FullBeamCnst:Rate_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.nErrorId?") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.nRate?") + field(EGU, "Hz") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(waveform, "TMO:LAMP:MMS:06:PLC:sErrorMessage_RBV") { - field(DESC, "Message to identify the error state") +record(ai, "$(PREFIX)FullBeamCnst:Transmission_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.sErrorMessage?") - field(FTVL, "CHAR") - field(NELM, "80") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.nTran?") + field(PREC, "2") + field(HOPR, "1") + field(LOPR, "0") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ai, "TMO:LAMP:MMS:06:PLC:fPosDiff_RBV") { - field(DESC, "Position lag difference") +record(ai, "$(PREFIX)FullBeamCnst:PhotonEnergy_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M6.fPosDiff?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.neV?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") + field(EGU, "eV") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bLimitForwardEnable_RBV") { - field(DESC, "FALSE if forward limit hit") +record(longin, "$(PREFIX)FullBeamCnst:eVRanges_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bLimitForwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.neVRange?") + field(EGU, "eV") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bLimitBackwardEnable_RBV") { - field(DESC, "FALSE if reverse limit hit") +record(bi, "$(PREFIX)FullBeamCnst:Valid_RBV") { + field(DESC, "Full beam constant") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bLimitBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.cstFullBeam.xValid?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(archive, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bHome_RBV") { - field(DESC, "TRUE if at homing switch") +record(waveform, "$(PREFIX)eVRangeCnst_RBV") { + field(DESC, "Active eV Range constants") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bHome?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(DTYP, "asynFloat32ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.g_areVBoundaries?") + field(FTVL, "FLOAT") + field(EGU, "eV") + field(NELM, "32") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bBrakeRelease_RBV") { - field(DESC, "TRUE if brake released") +record(waveform, "$(PREFIX)K:eVRangeCnst_RBV") { + field(DESC, "eV Range constants") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bBrakeRelease?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(DTYP, "asynFloat32ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.g_areVBoundariesK?") + field(FTVL, "FLOAT") + field(EGU, "eV") + field(NELM, "32") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bHardwareEnable_RBV") { - field(DESC, "TRUE if STO not hit") +record(waveform, "$(PREFIX)L:eVRangeCnst_RBV") { + field(DESC, "eV Range constants") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bHardwareEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(DTYP, "asynFloat32ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.g_areVBoundariesL?") + field(FTVL, "FLOAT") + field(EGU, "eV") + field(NELM, "32") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bAllForwardEnable_RBV") { - # Summary of axis permission to move forward - field(DESC, "Summary of axis perm...n to move forward") +record(ai, "$(PREFIX)eVRangeHyst_RBV") { + field(DESC, "eV Range hystersis") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bAllForwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.reVHyst?") + field(PREC, "3") + field(EGU, "eV") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bAllBackwardEnable_RBV") { - # Summary of axis permission to move backward - field(DESC, "Summary of axis perm... to move backward") +record(waveform, "$(PREFIX)CurrentBP:Veto_RBV") { + # PMPS_GVL.stCurrentBeamParameters.aVetoDevices + field(DESC, "PMPS_GVL.stCurrentBe...ters.aVetoDevices") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bAllBackwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.aVetoDevices?") + field(FTVL, "CHAR") + field(NELM, "16") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bAllEnable_RBV") { - field(DESC, "Summary of axis permission to have power") +record(ai, "$(PREFIX)CurrentBP:Apt:01:Height_RBV") { + # PMPS_GVL.stCurrentBeamParameters.astApertures[1].Height + field(DESC, "PMPS_GVL.stCurrentBe...ertures[1].Height") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bAllEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.astApertures[1].Height?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bGantryForwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move forward") +record(ai, "$(PREFIX)CurrentBP:Apt:01:Width_RBV") { + # PMPS_GVL.stCurrentBeamParameters.astApertures[1].Width + field(DESC, "PMPS_GVL.stCurrentBe...pertures[1].Width") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bGantryForwardEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.astApertures[1].Width?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bGantryBackwardEnable_RBV") { - field(DESC, "TRUE if gantry ok to move backward") +record(bi, "$(PREFIX)CurrentBP:Apt:01:OK_RBV") { + # PMPS_GVL.stCurrentBeamParameters.astApertures[1].xOK + field(DESC, "PMPS_GVL.stCurrentBe...tApertures[1].xOK") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bGantryBackwardEnable?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.astApertures[1].xOK?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(archive, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(longin, "TMO:LAMP:MMS:10:PLC:nEncoderCount_RBV") { - field(DESC, "Count from encoder hardware") +record(ai, "$(PREFIX)CurrentBP:Apt:02:Height_RBV") { + # PMPS_GVL.stCurrentBeamParameters.astApertures[2].Height + field(DESC, "PMPS_GVL.stCurrentBe...ertures[2].Height") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.nEncoderCount?") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.astApertures[2].Height?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(waveform, "TMO:LAMP:MMS:10:PLC:sName_RBV") { - field(DESC, "PLC program name") +record(ai, "$(PREFIX)CurrentBP:Apt:02:Width_RBV") { + # PMPS_GVL.stCurrentBeamParameters.astApertures[2].Width + field(DESC, "PMPS_GVL.stCurrentBe...pertures[2].Width") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.sName?") - field(FTVL, "CHAR") - field(NELM, "80") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.astApertures[2].Width?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bPowerSelf_RBV") { - field(DESC, "FALSE if axis is in PMPS") +record(bi, "$(PREFIX)CurrentBP:Apt:02:OK_RBV") { + # PMPS_GVL.stCurrentBeamParameters.astApertures[2].xOK + field(DESC, "PMPS_GVL.stCurrentBe...tApertures[2].xOK") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bPowerSelf?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.astApertures[2].xOK?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(archive, "VAL") -} - -record(mbbi, "TMO:LAMP:MMS:10:PLC:nEnableMode_RBV") { - # Describes when the axis will automatically get power - field(DESC, "Describes when the a...tically get power") - field(SCAN, "I/O Intr") - field(PINI, "1") - field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.nEnableMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "ALWAYS") - field(ONST, "NEVER") - field(TWST, "DURING_MOTION") - info(archive, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(mbbi, "TMO:LAMP:MMS:10:PLC:nBrakeMode_RBV") { - # Describes when the brake will be released - field(DESC, "Describes when the b... will be released") +record(ai, "$(PREFIX)CurrentBP:Apt:03:Height_RBV") { + # PMPS_GVL.stCurrentBeamParameters.astApertures[3].Height + field(DESC, "PMPS_GVL.stCurrentBe...ertures[3].Height") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.nBrakeMode?") - field(ZRVL, "0") - field(ONVL, "1") - field(TWVL, "2") - field(ZRST, "IF_ENABLED") - field(ONST, "IF_MOVING") - field(TWST, "NO_BRAKE") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.astApertures[3].Height?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(mbbi, "TMO:LAMP:MMS:10:PLC:nHomingMode_RBV") { - field(DESC, "Describes our homing strategy") +record(ai, "$(PREFIX)CurrentBP:Apt:03:Width_RBV") { + # PMPS_GVL.stCurrentBeamParameters.astApertures[3].Width + field(DESC, "PMPS_GVL.stCurrentBe...pertures[3].Width") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.nHomingMode?") - field(ZRVL, "-1") - field(ONVL, "1") - field(TWVL, "2") - field(THVL, "3") - field(FRVL, "4") - field(FVVL, "15") - field(ZRST, "NONE") - field(ONST, "LOW_LIMIT") - field(TWST, "HIGH_LIMIT") - field(THST, "HOME_VIA_LOW") - field(FRST, "HOME_VIA_HIGH") - field(FVST, "ABSOLUTE_SET") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.astApertures[3].Width?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bGantryAxis_RBV") { - field(DESC, "TRUE if gantry EPS active") +record(bi, "$(PREFIX)CurrentBP:Apt:03:OK_RBV") { + # PMPS_GVL.stCurrentBeamParameters.astApertures[3].xOK + field(DESC, "PMPS_GVL.stCurrentBe...tApertures[3].xOK") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bGantryAxis?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.astApertures[3].xOK?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(archive, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bEnable_RBV") { - field(DESC, "Used internally to request enables") +record(ai, "$(PREFIX)CurrentBP:Apt:04:Height_RBV") { + # PMPS_GVL.stCurrentBeamParameters.astApertures[4].Height + field(DESC, "PMPS_GVL.stCurrentBe...ertures[4].Height") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bEnable?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") -} - -record(bo, "TMO:LAMP:MMS:10:PLC:bEnable") { - field(DESC, "Used internally to request enables") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M10.bEnable=") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.astApertures[4].Height?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bReset_RBV") { - field(DESC, "Used internally to reset errors") +record(ai, "$(PREFIX)CurrentBP:Apt:04:Width_RBV") { + # PMPS_GVL.stCurrentBeamParameters.astApertures[4].Width + field(DESC, "PMPS_GVL.stCurrentBe...pertures[4].Width") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bReset?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") -} - -record(bo, "TMO:LAMP:MMS:10:PLC:bReset") { - field(DESC, "Used internally to reset errors") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M10.bReset=") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.astApertures[4].Width?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bExecute_RBV") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") +record(bi, "$(PREFIX)CurrentBP:Apt:04:OK_RBV") { + # PMPS_GVL.stCurrentBeamParameters.astApertures[4].xOK + field(DESC, "PMPS_GVL.stCurrentBe...tApertures[4].xOK") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bExecute?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") -} - -record(bo, "TMO:LAMP:MMS:10:PLC:bExecute") { - # Used internally and by the IOC to start or stop - field(DESC, "Used internally and ... to start or stop") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M10.bExecute=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.astApertures[4].xOK?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bUserEnable_RBV") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") +record(longin, "$(PREFIX)CurrentBP:BeamClassRanges_RBV") { + # PMPS_GVL.stCurrentBeamParameters.nBCRange + field(DESC, "PMPS_GVL.stCurrentBe...rameters.nBCRange") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bUserEnable?") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(archive, "VAL") -} - -record(bo, "TMO:LAMP:MMS:10:PLC:bUserEnable") { - # Used to disable power entirely for an axis - field(DESC, "Used to disable powe...irely for an axis") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M10.bUserEnable=") - field(ZNAM, "DISABLE") - field(ONAM, "ENABLE") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.nBCRange?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bMoveCmd_RBV") { - field(DESC, "Start a move") +record(longin, "$(PREFIX)CurrentBP:BeamClass_RBV") { + # PMPS_GVL.stCurrentBeamParameters.nBeamClass + field(DESC, "PMPS_GVL.stCurrentBe...meters.nBeamClass") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bMoveCmd?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.nBeamClass?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bo, "TMO:LAMP:MMS:10:PLC:bMoveCmd") { - field(DESC, "Start a move") +record(longin, "$(PREFIX)CurrentBP:Cohort_RBV") { + field(DESC, "Cohort inc on each arb cycle") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M10.bMoveCmd=") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.nCohortInt?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bHomeCmd_RBV") { - field(DESC, "Start the homing routine") +record(longin, "$(PREFIX)CurrentBP:MachineMode_RBV") { + # PMPS_GVL.stCurrentBeamParameters.nMachineMode + field(DESC, "PMPS_GVL.stCurrentBe...ters.nMachineMode") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bHomeCmd?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.nMachineMode?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bo, "TMO:LAMP:MMS:10:PLC:bHomeCmd") { - field(DESC, "Start the homing routine") +record(longin, "$(PREFIX)CurrentBP:Rate_RBV") { + field(DESC, "PMPS_GVL.stCurrentBeamParameters.nRate") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M10.bHomeCmd=") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.nRate?") + field(EGU, "Hz") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(longin, "TMO:LAMP:MMS:10:PLC:nCommand_RBV") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") +record(ai, "$(PREFIX)CurrentBP:Transmission_RBV") { + field(DESC, "PMPS_GVL.stCurrentBeamParameters.nTran") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.nCommand?") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.nTran?") + field(PREC, "2") + field(HOPR, "1") + field(LOPR, "0") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(longout, "TMO:LAMP:MMS:10:PLC:nCommand") { - # Used internally and by the IOC to pick move type - field(DESC, "Used internally and ...to pick move type") - field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M10.nCommand=") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") +record(ai, "$(PREFIX)CurrentBP:PhotonEnergy_RBV") { + field(DESC, "PMPS_GVL.stCurrentBeamParameters.neV") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.neV?") + field(PREC, "3") + field(EGU, "eV") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(longin, "TMO:LAMP:MMS:10:PLC:nCmdData_RBV") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(longin, "$(PREFIX)CurrentBP:eVRanges_RBV") { + # PMPS_GVL.stCurrentBeamParameters.neVRange + field(DESC, "PMPS_GVL.stCurrentBe...rameters.neVRange") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.nCmdData?") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.neVRange?") + field(EGU, "eV") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(longout, "TMO:LAMP:MMS:10:PLC:nCmdData") { - # Used internally and by the IOC to pass extra args - field(DESC, "Used internally and ...o pass extra args") +record(bi, "$(PREFIX)CurrentBP:Valid_RBV") { + field(DESC, "PMPS_GVL.stCurrentBeamParameters.xValid") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynInt32") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M10.nCmdData=") - info(autosaveFields_pass0, "VAL") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stCurrentBeamParameters.xValid?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(ai, "TMO:LAMP:MMS:10:PLC:fPosition_RBV") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") +record(waveform, "$(PREFIX)RequestedBP:Veto_RBV") { + # PMPS_GVL.stRequestedBeamParameters.aVetoDevices + field(DESC, "PMPS_GVL.stRequested...ters.aVetoDevices") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.fPosition?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") + field(DTYP, "asynInt8ArrayIn") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.aVetoDevices?") + field(FTVL, "CHAR") + field(NELM, "16") + field(MPST, "On Change") + field(APST, "On Change") + info(autosaveFields_pass0, "DESC DISS SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ao, "TMO:LAMP:MMS:10:PLC:fPosition") { - # Used internally and by the IOC as the set position - field(DESC, "Used internally and ... the set position") +record(ai, "$(PREFIX)RequestedBP:Apt:01:Height_RBV") { + # PMPS_GVL.stRequestedBeamParameters.astApertures[1].Height + field(DESC, "PMPS_GVL.stRequested...ertures[1].Height") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M10.fPosition=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.astApertures[1].Height?") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") - info(archive, "VAL") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ai, "TMO:LAMP:MMS:10:PLC:fVelocity_RBV") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") +record(ai, "$(PREFIX)RequestedBP:Apt:01:Width_RBV") { + # PMPS_GVL.stRequestedBeamParameters.astApertures[1].Width + field(DESC, "PMPS_GVL.stRequested...pertures[1].Width") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.fVelocity?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.astApertures[1].Width?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ao, "TMO:LAMP:MMS:10:PLC:fVelocity") { - # Used internally and by the IOC to set velocity - field(DESC, "Used internally and ...C to set velocity") - field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M10.fVelocity=") - field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") - info(archive, "VAL") +record(bi, "$(PREFIX)RequestedBP:Apt:01:OK_RBV") { + # PMPS_GVL.stRequestedBeamParameters.astApertures[1].xOK + field(DESC, "PMPS_GVL.stRequested...tApertures[1].xOK") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.astApertures[1].xOK?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(ai, "TMO:LAMP:MMS:10:PLC:fAcceleration_RBV") { - # Used internally and by the IOC to set acceleration - field(DESC, "Used internally and ... set acceleration") +record(ai, "$(PREFIX)RequestedBP:Apt:02:Height_RBV") { + # PMPS_GVL.stRequestedBeamParameters.astApertures[2].Height + field(DESC, "PMPS_GVL.stRequested...ertures[2].Height") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.fAcceleration?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.astApertures[2].Height?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ao, "TMO:LAMP:MMS:10:PLC:fAcceleration") { - # Used internally and by the IOC to set acceleration - field(DESC, "Used internally and ... set acceleration") +record(ai, "$(PREFIX)RequestedBP:Apt:02:Width_RBV") { + # PMPS_GVL.stRequestedBeamParameters.astApertures[2].Width + field(DESC, "PMPS_GVL.stRequested...pertures[2].Width") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M10.fAcceleration=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.astApertures[2].Width?") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") - info(archive, "VAL") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ai, "TMO:LAMP:MMS:10:PLC:fDeceleration_RBV") { - # Used internally and by the IOC to set deceleration - field(DESC, "Used internally and ... set deceleration") +record(bi, "$(PREFIX)RequestedBP:Apt:02:OK_RBV") { + # PMPS_GVL.stRequestedBeamParameters.astApertures[2].xOK + field(DESC, "PMPS_GVL.stRequested...tApertures[2].xOK") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.fDeceleration?") - field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.astApertures[2].xOK?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(ao, "TMO:LAMP:MMS:10:PLC:fDeceleration") { - # Used internally and by the IOC to set deceleration - field(DESC, "Used internally and ... set deceleration") +record(ai, "$(PREFIX)RequestedBP:Apt:03:Height_RBV") { + # PMPS_GVL.stRequestedBeamParameters.astApertures[3].Height + field(DESC, "PMPS_GVL.stRequested...ertures[3].Height") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M10.fDeceleration=") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.astApertures[3].Height?") field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") - info(archive, "VAL") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ai, "TMO:LAMP:MMS:10:PLC:fHomePosition_RBV") { - # Used internally and by the IOC to pick home position - field(DESC, "Used internally and ...ick home position") +record(ai, "$(PREFIX)RequestedBP:Apt:03:Width_RBV") { + # PMPS_GVL.stRequestedBeamParameters.astApertures[3].Width + field(DESC, "PMPS_GVL.stRequested...pertures[3].Width") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.fHomePosition?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.astApertures[3].Width?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ao, "TMO:LAMP:MMS:10:PLC:fHomePosition") { - # Used internally and by the IOC to pick home position - field(DESC, "Used internally and ...ick home position") - field(DTYP, "asynFloat64") - field(OUT, "@asyn($(PORT),0,1)ADSPORT=851/Main.M10.fHomePosition=") - field(PREC, "3") - info(autosaveFields_pass0, "PREC VAL") - info(archive, "VAL") +record(bi, "$(PREFIX)RequestedBP:Apt:03:OK_RBV") { + # PMPS_GVL.stRequestedBeamParameters.astApertures[3].xOK + field(DESC, "PMPS_GVL.stRequested...tApertures[3].xOK") + field(SCAN, "I/O Intr") + field(PINI, "1") + field(TSE, "-2") + field(DTYP, "asynInt32") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.astApertures[3].xOK?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(longin, "TMO:LAMP:MMS:10:PLC:nMotionAxisID_RBV") { - # Unique ID assigned to each axis in the NC - field(DESC, "Unique ID assigned t...ch axis in the NC") +record(ai, "$(PREFIX)RequestedBP:Apt:04:Height_RBV") { + # PMPS_GVL.stRequestedBeamParameters.astApertures[4].Height + field(DESC, "PMPS_GVL.stRequested...ertures[4].Height") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.nMotionAxisID?") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.astApertures[4].Height?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bEnableDone_RBV") { - field(DESC, "TRUE if done enabling") +record(ai, "$(PREFIX)RequestedBP:Apt:04:Width_RBV") { + # PMPS_GVL.stRequestedBeamParameters.astApertures[4].Width + field(DESC, "PMPS_GVL.stRequested...pertures[4].Width") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bEnableDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.astApertures[4].Width?") + field(PREC, "3") + field(EGU, "mm") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bBusy_RBV") { - field(DESC, "TRUE if in the middle of a command") +record(bi, "$(PREFIX)RequestedBP:Apt:04:OK_RBV") { + # PMPS_GVL.stRequestedBeamParameters.astApertures[4].xOK + field(DESC, "PMPS_GVL.stRequested...tApertures[4].xOK") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bBusy?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.astApertures[4].xOK?") field(ZNAM, "FALSE") field(ONAM, "TRUE") - info(archive, "VAL") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bDone_RBV") { - field(DESC, "TRUE if command finished successfully") +record(longin, "$(PREFIX)RequestedBP:BeamClassRanges_RBV") { + # PMPS_GVL.stRequestedBeamParameters.nBCRange + field(DESC, "PMPS_GVL.stRequested...rameters.nBCRange") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bDone?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.nBCRange?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bHomed_RBV") { - field(DESC, "TRUE if the motor has been homed") +record(longin, "$(PREFIX)RequestedBP:BeamClass_RBV") { + # PMPS_GVL.stRequestedBeamParameters.nBeamClass + field(DESC, "PMPS_GVL.stRequested...meters.nBeamClass") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bHomed?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.nBeamClass?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bSafetyReady_RBV") { - field(DESC, "TRUE if safe to start a move") +record(longin, "$(PREFIX)RequestedBP:Cohort_RBV") { + field(DESC, "Cohort inc on each arb cycle") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bSafetyReady?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.nCohortInt?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(bi, "TMO:LAMP:MMS:10:PLC:bError_RBV") { - field(DESC, "TRUE if we") +record(longin, "$(PREFIX)RequestedBP:MachineMode_RBV") { + # PMPS_GVL.stRequestedBeamParameters.nMachineMode + field(DESC, "PMPS_GVL.stRequested...ters.nMachineMode") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.bError?") - field(ZNAM, "FALSE") - field(ONAM, "TRUE") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.nMachineMode?") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(longin, "TMO:LAMP:MMS:10:PLC:nErrorId_RBV") { - field(DESC, "Error code if nonzero") +record(longin, "$(PREFIX)RequestedBP:Rate_RBV") { + field(DESC, "PMPS_GVL.stRequestedBeamParameters.nRate") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.nErrorId?") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.nRate?") + field(EGU, "Hz") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(waveform, "TMO:LAMP:MMS:10:PLC:sErrorMessage_RBV") { - field(DESC, "Message to identify the error state") +record(ai, "$(PREFIX)RequestedBP:Transmission_RBV") { + field(DESC, "PMPS_GVL.stRequestedBeamParameters.nTran") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") - field(DTYP, "asynInt8ArrayIn") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.sErrorMessage?") - field(FTVL, "CHAR") - field(NELM, "80") - info(archive, "VAL") + field(DTYP, "asynFloat64") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.nTran?") + field(PREC, "2") + field(HOPR, "1") + field(LOPR, "0") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(ai, "TMO:LAMP:MMS:10:PLC:fPosDiff_RBV") { - field(DESC, "Position lag difference") +record(ai, "$(PREFIX)RequestedBP:PhotonEnergy_RBV") { + field(DESC, "PMPS_GVL.stRequestedBeamParameters.neV") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynFloat64") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/Main.M10.fPosDiff?") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.neV?") field(PREC, "3") - info(autosaveFields_pass0, "PREC") - info(archive, "VAL") + field(EGU, "eV") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV PREC SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(longin, "$(PREFIX)SuccessfulPreemptions_RBV") { - field(DESC, "PMPS_GVL.SuccessfulPreemption") +record(longin, "$(PREFIX)RequestedBP:eVRanges_RBV") { + # PMPS_GVL.stRequestedBeamParameters.neVRange + field(DESC, "PMPS_GVL.stRequested...rameters.neVRange") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.SuccessfulPreemption?") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.neVRange?") + field(EGU, "eV") + info(autosaveFields_pass0, "DESC DISS HHSV HIGH HIHI HSV LLSV LOLO LOW LSV SIMS UDFS") + info(archive, "monitor 1: VAL") } -record(longin, "$(PREFIX)AccumulatedFastFaults_RBV") { - field(DESC, "PMPS_GVL.AccumulatedFF") +record(bi, "$(PREFIX)RequestedBP:Valid_RBV") { + # PMPS_GVL.stRequestedBeamParameters.xValid + field(DESC, "PMPS_GVL.stRequested...Parameters.xValid") field(SCAN, "I/O Intr") field(PINI, "1") field(TSE, "-2") field(DTYP, "asynInt32") - field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.AccumulatedFF?") - info(archive, "VAL") + field(INP, "@asyn($(PORT),0,1)ADSPORT=851/POLL_RATE=1/PMPS_GVL.stRequestedBeamParameters.xValid?") + field(ZNAM, "FALSE") + field(ONAM, "TRUE") + info(autosaveFields_pass0, "DESC DISS OSV SIMS UDFS ZSV") + info(archive, "monitor 1: VAL") } \ No newline at end of file diff --git a/iocBoot/ioc-lamp-motion/st.cmd b/iocBoot/ioc-lamp-motion/st.cmd index de103f0..33a0b1d 100755 --- a/iocBoot/ioc-lamp-motion/st.cmd +++ b/iocBoot/ioc-lamp-motion/st.cmd @@ -1,11 +1,30 @@ -#!/reg/g/pcds/epics/ioc/common/ads-ioc/R0.4.1/bin/rhel7-x86_64/adsIoc -###### AUTO-GENERATED DO NOT EDIT ############## - +#!/reg/g/pcds/epics/ioc/common/ads-ioc/R0.6.1/bin/rhel7-x86_64/adsIoc +################### AUTO-GENERATED DO NOT EDIT ################### +# +# Project: lcls-plc-lamp-motion.tsproj +# PLC name: lamp_motion (lamp_motion Instance) +# Generated using: pytmc 2.15.1 +# Project version: 4e38df3 +# Project hash: 4e38df3848656906d9d38cdde528db6a6241fecc +# PLC IP/host: 172.21.132.58 +# PLC Net ID: 172.21.132.58.1.1 +# ** Production mode IOC ** +# Using /cds/data/iocData for autosave and archiver settings. +# +# Libraries: +# +# Tc2_MC2: * (Beckhoff Automation GmbH) +# Tc2_Standard: * (Beckhoff Automation GmbH) +# Tc2_System: * (Beckhoff Automation GmbH) +# Tc2_Utilities: * (Beckhoff Automation GmbH) +# Tc3_Module: * (Beckhoff Automation GmbH) +# +################### AUTO-GENERATED DO NOT EDIT ################### < envPaths epicsEnvSet("ADS_IOC_TOP", "$(TOP)" ) -epicsEnvSet("ENGINEER", "adpai" ) +epicsEnvSet("ENGINEER", "jozamudi" ) epicsEnvSet("LOCATION", "PLC:LAMP:MOTION" ) epicsEnvSet("IOCSH_PS1", "$(IOC)> " ) epicsEnvSet("ACF_FILE", "$(ADS_IOC_TOP)/iocBoot/templates/unrestricted.acf") @@ -21,12 +40,15 @@ epicsEnvSet("ASYN_PORT", "ASYN_PLC") epicsEnvSet("IPADDR", "172.21.132.58") epicsEnvSet("AMSID", "172.21.132.58.1.1") epicsEnvSet("AMS_PORT", "851") -epicsEnvSet("ADS_MAX_PARAMS", "10000") +epicsEnvSet("ADS_MAX_PARAMS", "1577") epicsEnvSet("ADS_SAMPLE_MS", "50") epicsEnvSet("ADS_MAX_DELAY_MS", "100") epicsEnvSet("ADS_TIMEOUT_MS", "1000") epicsEnvSet("ADS_TIME_SOURCE", "0") +# Add a route to the PLC automatically: +system("${ADS_IOC_TOP}/scripts/add_route.sh 172.21.132.58 ^172.*") + # adsAsynPortDriverConfigure(portName, ipaddr, amsaddr, amsport, # asynParamTableSize, priority, noAutoConnect, defaultSampleTimeMS, # maxDelayTimeMS, adsTimeoutMS, defaultTimeSource) @@ -57,7 +79,7 @@ cd "$(ADS_IOC_TOP)/db" epicsEnvSet("MOTOR_PORT", "PLC_ADS") epicsEnvSet("PREFIX", "PLC:LAMP:MOTION:") -epicsEnvSet("NUMAXES", "10") +epicsEnvSet("NUMAXES", "13") epicsEnvSet("MOVE_POLL_RATE", "200") epicsEnvSet("IDLE_POLL_RATE", "1000") @@ -178,11 +200,41 @@ dbLoadRecords("EthercatMC.template", "PREFIX=$(MOTOR_PREFIX), MOTOR_NAME=$(MOTOR dbLoadRecords("EthercatMCreadback.template", "PREFIX=$(MOTOR_PREFIX), MOTOR_NAME=$(MOTOR_NAME), R=$(MOTOR_NAME)-, MOTOR_PORT=$(MOTOR_PORT), ASYN_PORT=$(ASYN_PORT), AXIS_NO=$(AXIS_NO), DESC=$(DESC), PREC=$(PREC) ") dbLoadRecords("EthercatMCdebug.template", "PREFIX=$(MOTOR_PREFIX), MOTOR_NAME=$(MOTOR_NAME), MOTOR_PORT=$(MOTOR_PORT), AXIS_NO=$(AXIS_NO), PREC=3") -epicsEnvSet("AXIS_NO", "10") +epicsEnvSet("AXIS_NO", "7") +epicsEnvSet("MOTOR_PREFIX", "TMO:LAMP:MMS:") +epicsEnvSet("MOTOR_NAME", "07") +epicsEnvSet("DESC", "Main.M7 / SamplePaddleX") +epicsEnvSet("EGU", "mm") +epicsEnvSet("PREC", "3") +epicsEnvSet("AXISCONFIG", "") +epicsEnvSet("ECAXISFIELDINIT", "") +epicsEnvSet("AMPLIFIER_FLAGS", "") + +EthercatMCCreateAxis("$(MOTOR_PORT)", "$(AXIS_NO)", "$(AMPLIFIER_FLAGS)", "$(AXISCONFIG)") +dbLoadRecords("EthercatMC.template", "PREFIX=$(MOTOR_PREFIX), MOTOR_NAME=$(MOTOR_NAME), R=$(MOTOR_NAME)-, MOTOR_PORT=$(MOTOR_PORT), ASYN_PORT=$(ASYN_PORT), AXIS_NO=$(AXIS_NO), DESC=$(DESC), PREC=$(PREC), EGU=$(EGU) $(ECAXISFIELDINIT)") +dbLoadRecords("EthercatMCreadback.template", "PREFIX=$(MOTOR_PREFIX), MOTOR_NAME=$(MOTOR_NAME), R=$(MOTOR_NAME)-, MOTOR_PORT=$(MOTOR_PORT), ASYN_PORT=$(ASYN_PORT), AXIS_NO=$(AXIS_NO), DESC=$(DESC), PREC=$(PREC) ") +dbLoadRecords("EthercatMCdebug.template", "PREFIX=$(MOTOR_PREFIX), MOTOR_NAME=$(MOTOR_NAME), MOTOR_PORT=$(MOTOR_PORT), AXIS_NO=$(AXIS_NO), PREC=3") + +epicsEnvSet("AXIS_NO", "8") +epicsEnvSet("MOTOR_PREFIX", "TMO:LAMP:MMS:") +epicsEnvSet("MOTOR_NAME", "08") +epicsEnvSet("DESC", "Main.M8 / SamplePaddleY") +epicsEnvSet("EGU", "mm") +epicsEnvSet("PREC", "3") +epicsEnvSet("AXISCONFIG", "") +epicsEnvSet("ECAXISFIELDINIT", "") +epicsEnvSet("AMPLIFIER_FLAGS", "") + +EthercatMCCreateAxis("$(MOTOR_PORT)", "$(AXIS_NO)", "$(AMPLIFIER_FLAGS)", "$(AXISCONFIG)") +dbLoadRecords("EthercatMC.template", "PREFIX=$(MOTOR_PREFIX), MOTOR_NAME=$(MOTOR_NAME), R=$(MOTOR_NAME)-, MOTOR_PORT=$(MOTOR_PORT), ASYN_PORT=$(ASYN_PORT), AXIS_NO=$(AXIS_NO), DESC=$(DESC), PREC=$(PREC), EGU=$(EGU) $(ECAXISFIELDINIT)") +dbLoadRecords("EthercatMCreadback.template", "PREFIX=$(MOTOR_PREFIX), MOTOR_NAME=$(MOTOR_NAME), R=$(MOTOR_NAME)-, MOTOR_PORT=$(MOTOR_PORT), ASYN_PORT=$(ASYN_PORT), AXIS_NO=$(AXIS_NO), DESC=$(DESC), PREC=$(PREC) ") +dbLoadRecords("EthercatMCdebug.template", "PREFIX=$(MOTOR_PREFIX), MOTOR_NAME=$(MOTOR_NAME), MOTOR_PORT=$(MOTOR_PORT), AXIS_NO=$(AXIS_NO), PREC=3") + +epicsEnvSet("AXIS_NO", "9") epicsEnvSet("MOTOR_PREFIX", "TMO:LAMP:MMS:") -epicsEnvSet("MOTOR_NAME", "10") -epicsEnvSet("DESC", "Main.M10 / M10") -epicsEnvSet("EGU", "Degree") +epicsEnvSet("MOTOR_NAME", "09") +epicsEnvSet("DESC", "Main.M9 / SamplePaddleZ") +epicsEnvSet("EGU", "mm") epicsEnvSet("PREC", "3") epicsEnvSet("AXISCONFIG", "") epicsEnvSet("ECAXISFIELDINIT", "") @@ -196,34 +248,55 @@ dbLoadRecords("EthercatMCdebug.template", "PREFIX=$(MOTOR_PREFIX), MOTOR_NAME=$( dbLoadRecords("iocSoft.db", "IOC=PLC:LAMP:MOTION") dbLoadRecords("save_restoreStatus.db", "P=PLC:LAMP:MOTION:") -dbLoadRecords("caPutLog.db", "IOC=${IOC}") +dbLoadRecords("caPutLog.db", "IOC=$(IOC)") + +## TwinCAT task, application, and project information databases ## +dbLoadRecords("TwinCAT_TaskInfo.db", "PORT=$(ASYN_PORT),PREFIX=PLC:LAMP:MOTION,IDX=1") +dbLoadRecords("TwinCAT_AppInfo.db", "PORT=$(ASYN_PORT), PREFIX=PLC:LAMP:MOTION") -## TwinCat System Databse files ## -dbLoadRecords("TwinCAT_TaskInfo.db", "PORT=ASYN_PLC, PREFIX=PLC:LAMP:MOTION") -dbLoadRecords("TwinCAT_AppInfo.db", "PORT=ASYN_PLC, PREFIX=PLC:LAMP:MOTION") +dbLoadRecords("TwinCAT_Project.db", "PREFIX=PLC:LAMP:MOTION,PROJECT=lcls-plc-lamp-motion.tsproj,HASH=4e38df3,VERSION=4e38df3,PYTMC=2.15.1,PLC_HOST=172.21.132.58") + +# Tc2_MC2: * (Beckhoff Automation GmbH) +dbLoadRecords("TwinCAT_Dependency.db", "PREFIX=PLC:LAMP:MOTION,DEPENDENCY=Tc2_MC2,VERSION=*,VENDOR=Beckhoff Automation GmbH") +# Tc2_Standard: * (Beckhoff Automation GmbH) +dbLoadRecords("TwinCAT_Dependency.db", "PREFIX=PLC:LAMP:MOTION,DEPENDENCY=Tc2_Standard,VERSION=*,VENDOR=Beckhoff Automation GmbH") +# Tc2_System: * (Beckhoff Automation GmbH) +dbLoadRecords("TwinCAT_Dependency.db", "PREFIX=PLC:LAMP:MOTION,DEPENDENCY=Tc2_System,VERSION=*,VENDOR=Beckhoff Automation GmbH") +# Tc2_Utilities: * (Beckhoff Automation GmbH) +dbLoadRecords("TwinCAT_Dependency.db", "PREFIX=PLC:LAMP:MOTION,DEPENDENCY=Tc2_Utilities,VERSION=*,VENDOR=Beckhoff Automation GmbH") +# Tc3_Module: * (Beckhoff Automation GmbH) +dbLoadRecords("TwinCAT_Dependency.db", "PREFIX=PLC:LAMP:MOTION,DEPENDENCY=Tc3_Module,VERSION=*,VENDOR=Beckhoff Automation GmbH") cd "$(IOC_TOP)" -## Database files ## -< "$(IOC_TOP)/load_plc_databases.cmd" +## PLC Project Database files ## +dbLoadRecords("lamp_motion.db", "PORT=$(ASYN_PORT),PREFIX=PLC:LAMP:MOTION:,IOCNAME=$(IOC),IOC=$(IOC)") + +# Total records: 577 +callbackSetQueueSize(3154) +# Autosave and archive settings: +save_restoreSet_status_prefix("PLC:LAMP:MOTION:") +save_restoreSet_IncompleteSetsOk(1) +save_restoreSet_DatedBackupFiles(1) +set_pass0_restoreFile("info_positions.sav") +set_pass1_restoreFile("info_settings.sav") -# Setup autosave -set_savefile_path( "$(IOC_DATA)/$(IOC)/autosave" ) -set_requestfile_path( "$(IOC_TOP)/autosave" ) +# ** Production IOC Settings ** +set_savefile_path("$(IOC_DATA)/$(IOC)/autosave") +set_requestfile_path("$(IOC_DATA)/$(IOC)/autosave") -save_restoreSet_status_prefix( "PLC:LAMP:MOTION:" ) -save_restoreSet_IncompleteSetsOk( 1 ) -save_restoreSet_DatedBackupFiles( 1 ) -set_pass0_restoreFile( "info_positions.sav" ) -set_pass1_restoreFile( "info_settings.sav" ) +# Production IOC autosave files go in iocData: +cd "$(IOC_DATA)/$(IOC)/autosave" -cd "$(IOC_TOP)/autosave" +# Create info_positions.req and info_settings.req makeAutosaveFiles() -cd "$(IOC_TOP)" -# Create the archiver file -makeArchiveFromDbInfo("$(IOC_DATA)/$(IOC)/archive/$(IOC).archive", "archive") +cd "$(IOC_DATA)/$(IOC)/archive" + +# Create $(IOC).archive +makeArchiveFromDbInfo("$(IOC).archive", "archive") +cd "$(IOC_TOP)" # Configure access security: this is required for caPutLog. asSetFilename("$(ACF_FILE)") @@ -235,7 +308,7 @@ iocInit() iocLogInit() # Configure and start the caPutLogger after iocInit -epicsEnvSet(EPICS_AS_PUT_LOG_PV, "${IOC}:caPutLog:Last") +epicsEnvSet(EPICS_AS_PUT_LOG_PV, "$(IOC):caPutLog:Last") # caPutLogInit("HOST:PORT", config) # config options: @@ -243,7 +316,7 @@ epicsEnvSet(EPICS_AS_PUT_LOG_PV, "${IOC}:caPutLog:Last") # caPutLogOnChange 0: log only on value change # caPutLogAll 1: log all puts # caPutLogAllNoFilter 2: log all puts no filtering on same PV -caPutLogInit("${EPICS_CAPUTLOG_HOST}:${EPICS_CAPUTLOG_PORT}", 0) +caPutLogInit("$(EPICS_CAPUTLOG_HOST):$(EPICS_CAPUTLOG_PORT)", 0) # Start autosave backups create_monitor_set( "info_positions.req", 10, "" ) @@ -251,3 +324,4 @@ create_monitor_set( "info_settings.req", 60, "" ) # All IOCs should dump some common info after initial startup. < /reg/d/iocCommon/All/post_linux.cmd + From e7b3ea6eb53a01ea041248502e8cd04956312ce9 Mon Sep 17 00:00:00 2001 From: Josue Zamudio Date: Fri, 28 Jul 2023 10:04:10 -0700 Subject: [PATCH 3/3] ran pre-commit --- CoE-Startup-Files/GJX-GNY-MotParams.xml | 70 +- .../GJY-GJZ-GNX-GNZ-MotParams.xml | 70 +- CoE-Startup-Files/Microscope-Params.xml | 18 +- CoE-Startup-Files/SPX-SPY-SPZ-EncParams.xml | 26 +- CoE-Startup-Files/SPX-SPZ-MotParams.xml | 70 +- CoE-Startup-Files/SPY-MotParams.xml | 70 +- lamp_motion_scope/VSSettings/.vsm | 14 +- .../lamp_motion/POUs/Main.TcPOU | 116 +- .../lamp_motion/lamp_motion.tmc | 35457 +++++++++++++++- 9 files changed, 35611 insertions(+), 300 deletions(-) diff --git a/CoE-Startup-Files/GJX-GNY-MotParams.xml b/CoE-Startup-Files/GJX-GNY-MotParams.xml index 6974a4b..8f670fb 100644 --- a/CoE-Startup-Files/GJX-GNY-MotParams.xml +++ b/CoE-Startup-Files/GJX-GNY-MotParams.xml @@ -1,2 +1,68 @@ - -IP0161569100001900IP01433950100PS01411316c6f6164PS013278416009PS013278426400PS0132784380bbPS013278449600 + + + + + + IP + 0 + 1 + 61569 + 1 + 00001900 + + + IP + 0 + 1 + 4339 + 5 + 0100 + + + PS + SubIndex 001 + 0 + 1 + 4113 + 1 + 6c6f6164 + + + PS + Maximal current + 0 + 1 + 32784 + 1 + 6009 + + + PS + Reduced current + 0 + 1 + 32784 + 2 + 6400 + + + PS + Nominal voltage + 0 + 1 + 32784 + 3 + 80bb + + + PS + Motor coil resistance + 0 + 1 + 32784 + 4 + 9600 + + + + diff --git a/CoE-Startup-Files/GJY-GJZ-GNX-GNZ-MotParams.xml b/CoE-Startup-Files/GJY-GJZ-GNX-GNZ-MotParams.xml index 263ea6d..72e9fc9 100644 --- a/CoE-Startup-Files/GJY-GJZ-GNX-GNZ-MotParams.xml +++ b/CoE-Startup-Files/GJY-GJZ-GNX-GNZ-MotParams.xml @@ -1,2 +1,68 @@ - -IP0161569100001900IP01433950100PS01411316c6f6164PS013278416009PS013278426400PS0132784380bbPS013278445f00 + + + + + + IP + 0 + 1 + 61569 + 1 + 00001900 + + + IP + 0 + 1 + 4339 + 5 + 0100 + + + PS + SubIndex 001 + 0 + 1 + 4113 + 1 + 6c6f6164 + + + PS + Maximal current + 0 + 1 + 32784 + 1 + 6009 + + + PS + Reduced current + 0 + 1 + 32784 + 2 + 6400 + + + PS + Nominal voltage + 0 + 1 + 32784 + 3 + 80bb + + + PS + Motor coil resistance + 0 + 1 + 32784 + 4 + 5f00 + + + + diff --git a/CoE-Startup-Files/Microscope-Params.xml b/CoE-Startup-Files/Microscope-Params.xml index 9651621..daaf628 100644 --- a/CoE-Startup-Files/Microscope-Params.xml +++ b/CoE-Startup-Files/Microscope-Params.xml @@ -1,2 +1,16 @@ - -PS01411316c6f6164 + + + + + + PS + SubIndex 001 + 0 + 1 + 4113 + 1 + 6c6f6164 + + + + diff --git a/CoE-Startup-Files/SPX-SPY-SPZ-EncParams.xml b/CoE-Startup-Files/SPX-SPY-SPZ-EncParams.xml index d75470c..b8864a6 100644 --- a/CoE-Startup-Files/SPX-SPY-SPZ-EncParams.xml +++ b/CoE-Startup-Files/SPX-SPY-SPZ-EncParams.xml @@ -1,2 +1,24 @@ - -PS0161570100PS01411316c6f6164 + + + + + + PS + 0 + 1 + 61570 + 1 + 00 + + + PS + SubIndex 001 + 0 + 1 + 4113 + 1 + 6c6f6164 + + + + diff --git a/CoE-Startup-Files/SPX-SPZ-MotParams.xml b/CoE-Startup-Files/SPX-SPZ-MotParams.xml index 6246b67..54ab1a9 100644 --- a/CoE-Startup-Files/SPX-SPZ-MotParams.xml +++ b/CoE-Startup-Files/SPX-SPZ-MotParams.xml @@ -1,2 +1,68 @@ - -IP0161569100001900IP01433950100PS01411316c6f6164PS013278413a02PS013278423200PS0132784380bbPS013278447003 + + + + + + IP + 0 + 1 + 61569 + 1 + 00001900 + + + IP + 0 + 1 + 4339 + 5 + 0100 + + + PS + SubIndex 001 + 0 + 1 + 4113 + 1 + 6c6f6164 + + + PS + Maximal current + 0 + 1 + 32784 + 1 + 3a02 + + + PS + Reduced current + 0 + 1 + 32784 + 2 + 3200 + + + PS + Nominal voltage + 0 + 1 + 32784 + 3 + 80bb + + + PS + Motor coil resistance + 0 + 1 + 32784 + 4 + 7003 + + + + diff --git a/CoE-Startup-Files/SPY-MotParams.xml b/CoE-Startup-Files/SPY-MotParams.xml index 4c148d7..b6a8f7b 100644 --- a/CoE-Startup-Files/SPY-MotParams.xml +++ b/CoE-Startup-Files/SPY-MotParams.xml @@ -1,2 +1,68 @@ - -IP0161569100001900IP01433950100PS01411316c6f6164PS01327841f000PS013278421800PS0132784380bbPS01327844f807 + + + + + + IP + 0 + 1 + 61569 + 1 + 00001900 + + + IP + 0 + 1 + 4339 + 5 + 0100 + + + PS + SubIndex 001 + 0 + 1 + 4113 + 1 + 6c6f6164 + + + PS + Maximal current + 0 + 1 + 32784 + 1 + f000 + + + PS + Reduced current + 0 + 1 + 32784 + 2 + 1800 + + + PS + Nominal voltage + 0 + 1 + 32784 + 3 + 80bb + + + PS + Motor coil resistance + 0 + 1 + 32784 + 4 + f807 + + + + diff --git a/lamp_motion_scope/VSSettings/.vsm b/lamp_motion_scope/VSSettings/.vsm index 6b1056c..c9c71d8 100644 --- a/lamp_motion_scope/VSSettings/.vsm +++ b/lamp_motion_scope/VSSettings/.vsm @@ -5,12 +5,12 @@ Scope YT NC Project - True + False C:\Users\jozamudi\Documents\TcXaeShell\TMO\lcls-plc-lamp-motion\lamp_motion_scope\Scope YT NC Project.tcscopex DataPool - True + False @@ -65,12 +65,12 @@ NC Axis 1 - True + False GasJetZPosition - True + False @@ -89,7 +89,7 @@ SamplePaddleXPosition - True + False @@ -108,7 +108,7 @@ SamplePaddleZPosition - True + False @@ -127,7 +127,7 @@ SamplePaddleYPositiion - True + False diff --git a/lcls-plc-lamp-motion/lamp_motion/POUs/Main.TcPOU b/lcls-plc-lamp-motion/lamp_motion/POUs/Main.TcPOU index 0f69513..0c3129e 100644 --- a/lcls-plc-lamp-motion/lamp_motion/POUs/Main.TcPOU +++ b/lcls-plc-lamp-motion/lamp_motion/POUs/Main.TcPOU @@ -3,98 +3,98 @@ diff --git a/lcls-plc-lamp-motion/lamp_motion/lamp_motion.tmc b/lcls-plc-lamp-motion/lamp_motion/lamp_motion.tmc index bc8e0e0..5b1893e 100644 --- a/lcls-plc-lamp-motion/lamp_motion/lamp_motion.tmc +++ b/lcls-plc-lamp-motion/lamp_motion/lamp_motion.tmc @@ -1,130 +1,6891 @@ -ST_PMPS_Attenuator_IO64nTranREAL320xAttOKUINT1632ST_PMPS_Attenuator64ST_PMPS_Attenuator_IOST_PMPS_Aperture_IO96WidthREAL320plcAttribute_pytmcpv: Width + + + + + ST_PMPS_Attenuator_IO + 64 + + nTran + REAL + 32 + 0 + + + xAttOK + UINT + 16 + 32 + + + + + + + + + + + + + + + ST_PMPS_Attenuator + 64 + ST_PMPS_Attenuator_IO + + + ST_PMPS_Aperture_IO + 96 + + Width + REAL + distance between horizontal slits (x) + 32 + 0 + + + plcAttribute_pytmc + pv: Width io: i - field: EGU mmHeightREAL3232plcAttribute_pytmcpv: Height + field: EGU mm + + + + + Height + REAL + distance between vertical slits (y) + 32 + 32 + + + plcAttribute_pytmc + pv: Height io: i - field: EGU mmxOKBOOL864plcAttribute_pytmcpv: OK - io: iST_PMPS_Aperture96ST_PMPS_Aperture_IOST_BeamParams1760nTranREAL3200pytmcpv: Transmission + field: EGU mm + + + + + xOK + BOOL + status of aperture, false if error or in motion + 8 + 64 + + + plcAttribute_pytmc + pv: OK + io: i + + + + + + ST_PMPS_Aperture + 96 + ST_PMPS_Aperture_IO + + + ST_BeamParams + 1760 + + nTran + REAL + Requested pre-optic attenuation % + 32 + 0 + + 0 + + + + pytmc + pv: Transmission io: i field: HOPR 1; field: LOPR 0; field: PREC 2; - nRateUDINT32320pytmcpv: Rate + + + + + + nRate + UDINT + Pulse-rate + 32 + 32 + + 0 + + + + pytmc + pv: Rate io: i field: EGU Hz - neVRangeDWORD32640pytmcpv: eVRanges + + + + + + neVRange + DWORD + Photon energy ranges + 32 + 64 + + 0 + + + + pytmc + pv: eVRanges io: i - field: EGU eVdisplaymodebinaryneVREAL32960pytmcpv: PhotonEnergy + field: EGU eV + + + displaymode + binary + + + + + neV + REAL + Photon energy + 32 + 96 + + 0 + + + + pytmc + pv: PhotonEnergy io: i - field: EGU eVnBCRangeWORD161280pytmcpv: BeamClassRanges - io: idisplaymodebinarynBeamClassUSINT81440pytmcpv: BeamClass - io: inMachineModeUSINT81523pytmcpv: MachineMode - io: iastAttenuatorsST_PMPS_Attenuator1161024160pytmcpv: AuxAtt - io: iaVetoDevicesBOOL1161281184pytmcpv: Veto - io: iastAperturesST_PMPS_Aperture143841312[1].Width1000[1].Height1000[2].Width1000[2].Height1000[3].Width1000[3].Height1000[4].Width1000[4].Height1000pytmcpv: Apt - io: ixValidToggleBOOL81696xValidBOOL81704pytmcpv: Valid - io: inCohortIntUDINT321728pytmcpv: Cohort + field: EGU eV + + + + + nBCRange + WORD + Beamclass ranges + 16 + 128 + + 0 + + + + pytmc + pv: BeamClassRanges + io: i + + + displaymode + binary + + + + + nBeamClass + USINT + Beamclass + 8 + 144 + + 0 + + + + pytmc + pv: BeamClass + io: i + + + + + nMachineMode + USINT + Machine Mode + 8 + 152 + + 3 + + + + pytmc + pv: MachineMode + io: i + + + + + astAttenuators + ST_PMPS_Attenuator + + 1 + 16 + + Beamline attenuators + 1024 + 160 + + + pytmc + pv: AuxAtt + io: i + + + + + aVetoDevices + BOOL + + 1 + 16 + + Stoppers + 128 + 1184 + + + pytmc + pv: Veto + io: i + + + + + astApertures + ST_PMPS_Aperture + + 1 + 4 + + Apertures + 384 + 1312 + + + [1].Width + 1000 + + + [1].Height + 1000 + + + [2].Width + 1000 + + + [2].Height + 1000 + + + [3].Width + 1000 + + + [3].Height + 1000 + + + [4].Width + 1000 + + + [4].Height + 1000 + + + + + pytmc + pv: Apt + io: i + + + + + xValidToggle + BOOL + Toggle for watchdog + 8 + 1696 + + + xValid + BOOL + Beam parameter set is valid (if readback), or acknowledged (if request) + 8 + 1704 + + + pytmc + pv: Valid + io: i + + + + + nCohortInt + UDINT + Cohort index. Identifies which cohort this BP set was included in arbitration + 32 + 1728 + + + pytmc + pv: Cohort io: i field: DESC Cohort inc on each arb cycle - DUT_PositionState2944sNameSTRING(80)6480Invalidpytmc + + + + + + + DUT_PositionState + 2944 + + sName + STRING(80) + Name as queried via the NAME PV in EPICS + 648 + 0 + + Invalid + + + + pytmc + pv: NAME io: input field: DESC Name of this position state - fPositionLREAL64704pytmc + + + + + + fPosition + LREAL + Position associated with this state + 64 + 704 + + + pytmc + pv: SETPOINT io: io field: DESC Axis position associated with this state - nEncoderCountUDINT32768pytmc + + + + + + nEncoderCount + UDINT + 32 + 768 + + + pytmc + pv: ENCODER io: i field: DESC Encoder count associated with this state - fDeltaLREAL64832pytmc + + + + + + fDelta + LREAL + Maximum allowable deviation from fPosition while at the state + 64 + 832 + + + pytmc + pv: DELTA io: io field: DRVL 0.0 field: DESC Max deviation from position at this state - fVelocityLREAL64896pytmc + + + + + + fVelocity + LREAL + Speed at which to move to this state + 64 + 896 + + + pytmc + pv: VELO io: io field: DESC Speed at which to move to this state - fAccelLREAL64960pytmc + + + + + + fAccel + LREAL + (optional) Acceleration to use for moves to this state + 64 + 960 + + + pytmc + pv: ACCL io: io field: DESC Acceleration to use for moves to this state - fDecelLREAL641024pytmc + + + + + + fDecel + LREAL + (optional) Deceleration to use for moves to this state + 64 + 1024 + + + pytmc + pv: DCCL io: io field: DESC Deceleration to use for moves to this state - bMoveOkBOOL81088pytmc + + + + + + bMoveOk + BOOL + Safety parameter. This must be set to TRUE by the PLC program to allow moves to this state. This is expected to change as conditions change. + 8 + 1088 + + + pytmc + pv: MOVE_OK io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if the move would be safe - bLockedBOOL81096pytmc + + + + + + bLocked + BOOL + Signifies to FB_PositionStateLock that this state should be immutable + 8 + 1096 + + + pytmc + pv: LOCKED io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if state is immutable - bValidBOOL81104pytmc + + + + + + bValid + BOOL + Set this to TRUE when you make your state. This defaults to FALSE so that uninitialized states can never be moved to + 8 + 1104 + + + pytmc + pv: VALID io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if this is a real state - bUseRawCountsBOOL81112bUpdatedBOOL81120stBeamParamsST_BeamParams17601152nRequestAssertionIDUDINT322912ST_System40xSwAlmRstBOOL80xAtVacuumBOOL88xFirstScanBOOL816xOverrideModeBOOL824xIOStateBOOL832analysis-33T_MaxString2048STRING(255)TcEventSeverity16INT01234plcAttribute_qualified_onlyplcAttribute_strictE_Subsystem16WORDNILVALUE0VACUUM1MPS2MOTION3FIELDBUS4SDS5OPTICS6I_ArgumentsChangeListener32PVOIDOnArgumentsChangedITcAsyncResult32ITcUnknownGetIsBusyHRESULT32bIsBusyBOOL3232GetHasErrorHRESULT32bErrorBOOL3232GetErrorCodeHRESULT32hresultHRESULT32FB_AsyncStrResult64bBusyBOOL879709800bErrorBOOL879709836hrErrorCodeHRESULT3279709844nStringSizeUDINT3279709824sResultSTRING(255)204879709840__getbBusyBOOL8bBusyBOOL8b32IsBusyBOOL3232propertymonitoringcallInitipResultITcAsyncStringResult32conditionalshowGetStringBOOL8sResultSTRING(80)32nResultUDINT32__getnStringSizeUDINT32nStringSizeUDINT32pEmptySTRING(80)32propertymonitoringcallClear__getbErrorBOOL8bErrorBOOL8b32HasErrorBOOL3232propertymonitoringcall__getsResultSTRING(255)2048sResultSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__gethrErrorCodeHRESULT32hrErrorCodeHRESULT32hrErrorHRESULT32propertymonitoringcallPouTypeFunctionBlockenable_dynamic_creationconditionalshow_all_localsno_explicit_calldo not call this POU directlyTcSourceInfoType32UDINT0124plcAttribute_qualified_onlyplcAttribute_strictTcSerializedSourceInfoType96eTypeTcSourceInfoType320obDataUDINT3232cbDataUDINT3264ITcSourceInfo32ITcUnknownGetNumTypesHRESULT32nCountUDINT32GetTypesHRESULT32ppSourceInfoTypesTcSerializedSourceInfoType32GetDataSizeHRESULT32cbDataUDINT32GetDataHRESULT32ppDataPVOID32ITcEvent32ITcUnknownGetEventClassHRESULT32eventClassGUID32GetEventIdHRESULT32eventIdUDINT32GetSeverityHRESULT32severityTcEventSeverity32GetSourceInfoHRESULT32pipSourceInfoITcSourceInfo32GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32nJsonAttributeUDINT32GetTextHRESULT32nLangIdDINT32pipResultITcAsyncStringResult32GetEventClassNameHRESULT32nLangIdDINT32pipResultITcAsyncStringResult32I_TcSourceInfo32PVOID__getguidGUID128property__getipDataITcSourceInfo32propertyconditionalshow__getnIdUDINT32propertymonitoringcall__getsNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8EqualsToBOOL8ipOtherI_TcSourceInfo32TcEventEntry192uuidEventClassGUID1280nEventIdUDINT32128eSeverityTcEventSeverity16160I_TcEventBase32PVOID__geteSeverityTcEventSeverity16propertymonitoringcall__getEventClassGUID128property__getipSourceInfoI_TcSourceInfo32propertymonitoringcall__getnEventIdUDINT32propertymonitoringcall__getsEventClassNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getsEventTextSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getstEventEntryTcEventEntry192propertyEqualsToBOOL8ipOtherI_TcEventBase32EqualsToEventClassBOOL8OtherEventClassGUID128EqualsToEventEntryBOOL8OtherEventClassGUID128nOtherEventIDUDINT32eOtherSeverityTcEventSeverity16EqualsToEventEntryExBOOL8stOtherTcEventEntry192GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32nJsonAttributeUDINT32RequestEventClassNameBOOL8nLangIdDINT32sResultSTRING(80)32nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputRequestEventTextBOOL8nLangIdDINT32sResultSTRING(80)32nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputIQueryInterface32PVOID__GetInterfacePointerBOOL8pRefDWORD32__GetInterfaceReferenceBOOL8nInterfaceIdDINT32pRefDWORD32TcEventArgumentType16INT012345678910111213141516171819plcAttribute_qualified_onlyplcAttribute_strictITcArguments32ITcUnknownCountHRESULT32nCountUDINT32AddArgumentHRESULT32eTypeTcEventArgumentType16pDataPVOID32cbDataUDINT32GetHRESULT32nIndexUDINT32eTypeTcEventArgumentType32ppDataPVOID32ClearHRESULT32GetArgumentTypesHRESULT32pArgumentTypesTcEventArgumentType32GetDataSizeHRESULT32cbDataUDINT32GetDataHRESULT32pDataBYTE32I_TcArguments32IQueryInterface__getipDataITcArguments32propertyconditionalshow__getnCountUDINT32propertyAddBlobI_TcArguments32pDataPVOID32cbDataUINT16AddBoolI_TcArguments32valueBOOL8AddByteI_TcArguments32valueBYTE8AddDIntI_TcArguments32valueDINT32AddDWordI_TcArguments32valueDWORD32AddEventReferenceExI_TcArguments32stEventEntryTcEventEntry192AddEventReferenceIdI_TcArguments32nEventIdUDINT32AddEventReferenceIdGuidI_TcArguments32nEventIdUDINT32EventClassGUID128AddIntI_TcArguments32valueINT16AddLIntI_TcArguments32valueLINT64AddLRealI_TcArguments32valueLREAL64AddRealI_TcArguments32valueREAL32AddSIntI_TcArguments32valueSINT8AddStringI_TcArguments32valueSTRING(80)32ItemTypeInOutAddStringByValueI_TcArguments32valueT_MaxString2048AddUDIntI_TcArguments32valueUDINT32AddUIntI_TcArguments32valueUINT16AddULIntI_TcArguments32valueULINT64AddUSIntI_TcArguments32valueUSINT8AddUtf8EncodedStringI_TcArguments32valueSTRING(80)32ItemTypeInOutAddWordI_TcArguments32valueWORD16AddWStringI_TcArguments32valueWSTRING(80)32ItemTypeInOutAddWStringByValueI_TcArguments32valueWSTRING(255)4096ClearI_TcArguments32ITcEventUniqueIdProvider32ITcUnknownGetUniqueIdHRESULT32idUDINT32FB_TcSourceInfo2848I_TcSourceInfonIdUDINT327970974079709764sNameSTRING(255)20487970978079709792ExtendNameBOOL8sExtensionSTRING(255)2048__getipDataITcSourceInfo32ipDataITcSourceInfo32propertyconditionalshow__getnIdUDINT32nIdUDINT32propertymonitoringcallResetToDefaultHRESULT32Clear__setnIdnIdUDINT32monitoringcallpropertymonitoringcall__setguidguidGUID128propertyEqualsToBOOL8ipOtherI_TcSourceInfo32__getguidGUID128guidGUID128property__getsNameSTRING(255)2048sNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__setsNamesNameSTRING(255)2048monitoringcallTcEncodingUTF-8propertymonitoringcallTcEncodingUTF-8PouTypeFunctionBlockno_explicit_calldo not call this POU directlyFB_TcEventBase3424I_ArgumentsChangeListenerfbSourceInfoFB_TcSourceInfo2848256conditionalshow__REQUESTEVENTCLASSNAME__FBRESULTFB_AsyncStrResult643232conditionalshow__REQUESTEVENTCLASSNAME__BBUSYBOOL83296conditionalshow__REQUESTEVENTTEXT__FBRESULTFB_AsyncStrResult643328conditionalshow__REQUESTEVENTTEXT__BBUSYBOOL83392conditionalshoweSeverityTcEventSeverity1679709892ipSourceInfoI_TcSourceInfo3279709872nEventIdUDINT3279709960nUniqueIdUDINT3279709964sEventClassNameSTRING(255)204879709920sEventTextSTRING(255)204879709968EqualsToEventClassBOOL8OtherEventClassGUID128_EventClassGUID128GetEventClassNameHRESULT32nLangIdDINT32fbResultFB_AsyncStrResult32ItemTypeInOutipTmpEventITcEvent32ipResultITcAsyncStringResult32hrHRESULT32ReleaseHRESULT32UpdateLangId__getipSourceInfoI_TcSourceInfo32ipSourceInfoI_TcSourceInfo32propertymonitoringcallEqualsToBOOL8ipOtherI_TcEventBase32__getipEventITcEvent32ipEventITcEvent32propertyconditionalshow__getEventClassGUID128EventClassGUID128ipTmpEventITcEvent32property__geteSeverityTcEventSeverity16eSeverityTcEventSeverity16ipTmpEventITcEvent32propertymonitoringcall__getstEventEntryTcEventEntry192stEventEntryTcEventEntry192propertyOnCreateHRESULT32EqualsToEventEntryBOOL8OtherEventClassGUID128nOtherEventIDUDINT32eOtherSeverityTcEventSeverity16RequestEventTextBOOL8nLangIdDINT32sResultSTRING(80)32nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputfbResultFB_AsyncStrResult64uselocation__REQUESTEVENTTEXT__FBRESULTbBusyBOOL8uselocation__REQUESTEVENTTEXT__BBUSYOnArgumentsChanged__getsEventClassNameSTRING(255)2048sEventClassNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getipArgumentsI_TcArguments32ipArgumentsI_TcArguments32propertyGetEventTextHRESULT32nLangIdDINT32fbResultFB_AsyncStrResult32ItemTypeInOutipTmpEventITcEvent32ipResultITcAsyncStringResult32hrHRESULT32GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32nJsonAttributeUDINT32ipTmpEventITcEvent32RequestEventClassNameBOOL8nLangIdDINT32sResultSTRING(80)32nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputfbResultFB_AsyncStrResult64uselocation__REQUESTEVENTCLASSNAME__FBRESULTbBusyBOOL8uselocation__REQUESTEVENTCLASSNAME__BBUSYEqualsToEventEntryExBOOL8stOtherTcEventEntry192__getnEventIdUDINT32nEventIdUDINT32ipTmpEventITcEvent32propertymonitoringcall__getnUniqueIdUDINT32nUniqueIdUDINT32ipTmpEventITcEvent32ipProviderITcEventUniqueIdProvider32propertymonitoringcall__getsEventTextSTRING(255)2048sEventTextSTRING(255)2048propertymonitoringcallTcEncodingUTF-8PouTypeFunctionBlockconditionalshow_all_localsno_explicit_calldo not call this POU directlyI_TcMessage32I_TcEventBaseSendHRESULT32nTimeStampULINT64ITcMessage32ITcEventSetJsonAttributeHRESULT32sJsonAttributePCCH32GetArgumentsHRESULT32pipArgumentsITcArguments32SendHRESULT32timeStampULINT64ITcMessage232ITcMessageGetTimeSentHRESULT32timeStampULINT32FB_TcMessage3488FB_TcEventBaseI_TcMessagenTimeSentULINT6479709992SetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32ItemTypeInOutCreateExHRESULT32stEventEntryTcEventEntry192ipSourceInfoI_TcSourceInfo32InitipMessageITcMessage32ipArgumentsITcArguments32ipSourceInfoITcSourceInfo32conditionalshow__getnTimeSentULINT64nTimeSentULINT64ipMessage2ITcMessage232nTimeStampULINT64propertymonitoringcallTcDisplayTypeGUID18071995-0000-0000-0000-000000000046CreateHRESULT32eventClassGUID128nEventIdUDINT32eSeverityTcEventSeverity16ipSourceInfoI_TcSourceInfo32hrHRESULT32ipArgumentsITcArguments32__getipEventITcEvent32ipEventITcEvent32propertyconditionalshowSendHRESULT32nTimeStampULINT64ReleaseHRESULT32PouTypeFunctionBlockreflectionconditionalshow_all_localsno_explicit_calldo not call this POU directlyF_TRIG + + + + + bUseRawCounts + BOOL + Set this to TRUE when you want to use the raw encoder counts to define the state + 8 + 1112 + + + bUpdated + BOOL + Is set to TRUE by FB_PositionStateInternal when called + 8 + 1120 + + + stBeamParams + ST_BeamParams + Beam parameters associated with this state + 1760 + 1152 + + + nRequestAssertionID + UDINT + Transition ID associated with this state + 32 + 2912 + + + + ST_System + Defacto system structure, must be included in all projects + 40 + + xSwAlmRst + BOOL + Global Alarm Reset - EPICS Command + 8 + 0 + + + xAtVacuum + BOOL + System At Vacuum + 8 + 8 + + + xFirstScan + BOOL + This boolean is true for the first scan, and is false thereafter, use for initialization of stuff + 8 + 16 + + + xOverrideMode + BOOL + This bit is set when using the override features of the system + 8 + 24 + + + xIOState + BOOL + ECat Bus Health + 8 + 32 + + + + analysis + -33 + + + + + T_MaxString + TwinCAT PLC string of max. length of 255 bytes + 1 byte null delimiter. + 2048 + STRING(255) + + + TcEventSeverity + 16 + INT + + TCEVENTSEVERITY_Verbose + 0 + + + TCEVENTSEVERITY_Info + 1 + + + TCEVENTSEVERITY_Warning + 2 + + + TCEVENTSEVERITY_Error + 3 + + + TCEVENTSEVERITY_Critical + 4 + + + + plcAttribute_qualified_only + + + plcAttribute_strict + + + + + + + + + E_Subsystem + 16 + WORD + + NILVALUE + 0 + Undefined system + + + VACUUM + 1 + Vacuum control system + + + MPS + 2 + Machine protection system + + + MOTION + 3 + Motion control systems + + + FIELDBUS + 4 + EtherCAT networks + + + SDS + 5 + Sample delivery system + + + OPTICS + 6 + Optics control system + + + + I_ArgumentsChangeListener + 32 + PVOID + + OnArgumentsChanged + + + + ITcAsyncResult + 32 + ITcUnknown + + GetIsBusy + HRESULT + 32 + + bIsBusy + BOOL32 + 32 + + + + GetHasError + HRESULT + 32 + + bError + BOOL32 + 32 + + + + GetErrorCode + HRESULT + 32 + + hresult + HRESULT + 32 + + + + + FB_AsyncStrResult + 64 + + bBusy + BOOL + 8 + 79709800 + + + bError + BOOL + 8 + 79709836 + + + hrErrorCode + HRESULT + 32 + 79709844 + + + nStringSize + UDINT + 32 + 79709824 + + + sResult + STRING(255) + 2048 + 79709840 + + + __getbBusy + BOOL + 8 + + bBusy + BOOL + 8 + + + b32IsBusy + BOOL32 + 32 + + + + property + + + monitoring + call + + + + + Init + + ipResult + ITcAsyncStringResult + 32 + + + + conditionalshow + + + + + GetString + BOOL + 8 + + sResult + STRING(80) + 32 + + + nResult + buffer size in bytes + UDINT + 32 + + + + __getnStringSize + UDINT + 32 + + nStringSize + UDINT + 32 + + + pEmpty + STRING(80) + 32 + + + + property + + + monitoring + call + + + + + Clear + + + __getbError + BOOL + 8 + + bError + BOOL + 8 + + + b32HasError + BOOL32 + 32 + + + + property + + + monitoring + call + + + + + __getsResult + STRING(255) + 2048 + + sResult + STRING(255) + 2048 + + + + property + + + monitoring + call + + + TcEncoding + UTF-8 + + + + + __gethrErrorCode + HRESULT + 32 + + hrErrorCode + HRESULT + 32 + + + hrError + HRESULT + 32 + + + + property + + + monitoring + call + + + + + + PouType + FunctionBlock + + + enable_dynamic_creation + + + conditionalshow_all_locals + + + no_explicit_call + do not call this POU directly + + + + + TcSourceInfoType + 32 + UDINT + + Undefined + 0 + + + Id + 1 + + + Guid + 2 + + + Name + 4 + + + + plcAttribute_qualified_only + + + plcAttribute_strict + + + + + + + + TcSerializedSourceInfoType + 96 + + eType + TcSourceInfoType + 32 + 0 + + + obData + UDINT + 32 + 32 + + + cbData + UDINT + 32 + 64 + + + + ITcSourceInfo + 32 + ITcUnknown + + GetNumTypes + HRESULT + 32 + + nCount + UDINT + 32 + + + + GetTypes + HRESULT + 32 + + ppSourceInfoTypes + TcSerializedSourceInfoType + 32 + + + + GetDataSize + HRESULT + 32 + + cbData + UDINT + 32 + + + + GetData + HRESULT + 32 + + ppData + PVOID + 32 + + + + + ITcEvent + 32 + ITcUnknown + + GetEventClass + HRESULT + 32 + + eventClass + GUID + 32 + + + + GetEventId + HRESULT + 32 + + eventId + UDINT + 32 + + + + GetSeverity + HRESULT + 32 + + severity + TcEventSeverity + 32 + + + + GetSourceInfo + HRESULT + 32 + + pipSourceInfo + ITcSourceInfo + 32 + + + + GetJsonAttribute + HRESULT + 32 + + sJsonAttribute + STRING(80) + 32 + + + nJsonAttribute + UDINT + 32 + + + + GetText + HRESULT + 32 + + nLangId + DINT + 32 + + + pipResult + ITcAsyncStringResult + 32 + + + + GetEventClassName + HRESULT + 32 + + nLangId + DINT + 32 + + + pipResult + ITcAsyncStringResult + 32 + + + + + I_TcSourceInfo + 32 + PVOID + + __getguid + GUID + 128 + + + property + + + + + __getipData + ITcSourceInfo + 32 + + + property + + + conditionalshow + + + + + __getnId + UDINT + 32 + + + property + + + monitoring + call + + + + + __getsName + STRING(255) + 2048 + + + property + + + monitoring + call + + + TcEncoding + UTF-8 + + + + + EqualsTo + BOOL + 8 + + ipOther + I_TcSourceInfo + 32 + + + + + TcEventEntry + 192 + + uuidEventClass + GUID + 128 + 0 + + + nEventId + UDINT + 32 + 128 + + + eSeverity + TcEventSeverity + 16 + 160 + + + + I_TcEventBase + 32 + PVOID + + __geteSeverity + TcEventSeverity + 16 + + + property + + + monitoring + call + + + + + __getEventClass + GUID + 128 + + + property + + + + + __getipSourceInfo + I_TcSourceInfo + 32 + + + property + + + monitoring + call + + + + + __getnEventId + UDINT + 32 + + + property + + + monitoring + call + + + + + __getsEventClassName + STRING(255) + 2048 + + + property + + + monitoring + call + + + TcEncoding + UTF-8 + + + + + __getsEventText + STRING(255) + 2048 + + + property + + + monitoring + call + + + TcEncoding + UTF-8 + + + + + __getstEventEntry + TcEventEntry + 192 + + + property + + + + + EqualsTo + BOOL + 8 + + ipOther + I_TcEventBase + 32 + + + + EqualsToEventClass + BOOL + 8 + + OtherEventClass + GUID + 128 + + + + EqualsToEventEntry + BOOL + 8 + + OtherEventClass + GUID + 128 + + + nOtherEventID + UDINT + 32 + + + eOtherSeverity + TcEventSeverity + 16 + + + + EqualsToEventEntryEx + BOOL + 8 + + stOther + TcEventEntry + 192 + + + + GetJsonAttribute + HRESULT + 32 + + sJsonAttribute + STRING(80) + 32 + + + nJsonAttribute + UDINT + 32 + + + + RequestEventClassName + BOOL + 8 + + nLangId + English(US)=1033 ; German(Germay)=1031 + DINT + 32 + + + sResult + buffer for result text + STRING(80) + 32 + + + nResultSize + size of buffer in bytes + UDINT + 32 + + + bError + BOOL + 8 + + + ItemType + Output + + + + + hrErrorCode + HRESULT + 32 + + + ItemType + Output + + + + + + RequestEventText + BOOL + 8 + + nLangId + English(US)=1033 ; German(Germay)=1031 + DINT + 32 + + + sResult + buffer for result text + STRING(80) + 32 + + + nResultSize + size of buffer in bytes + UDINT + 32 + + + bError + BOOL + 8 + + + ItemType + Output + + + + + hrErrorCode + HRESULT + 32 + + + ItemType + Output + + + + + + + IQueryInterface + 32 + PVOID + + __GetInterfacePointer + BOOL + 8 + + pRef + DWORD + 32 + + + + __GetInterfaceReference + BOOL + 8 + + nInterfaceId + DINT + 32 + + + pRef + DWORD + 32 + + + + + TcEventArgumentType + 16 + INT + + Undefined + 0 + + + Boolean + 1 + + + Int8 + 2 + + + Int16 + 3 + + + Int32 + 4 + + + Int64 + 5 + + + UInt8 + 6 + + + UInt16 + 7 + + + UInt32 + 8 + + + UInt64 + 9 + + + Float + 10 + + + Double + 11 + + + Char + 12 + + + WChar + 13 + + + StringType + 14 + + + WStringType + 15 + + + EventReference + 16 + + + FormatString + 17 + + + ExternalTimestamp + 18 + + + Blob + 19 + + + + plcAttribute_qualified_only + + + plcAttribute_strict + + + + + + + + ITcArguments + 32 + ITcUnknown + + Count + HRESULT + 32 + + nCount + UDINT + 32 + + + + AddArgument + HRESULT + 32 + + eType + TcEventArgumentType + 16 + + + pData + PVOID + 32 + + + cbData + UDINT + 32 + + + + Get + HRESULT + 32 + + nIndex + UDINT + 32 + + + eType + TcEventArgumentType + 32 + + + ppData + PVOID + 32 + + + + Clear + HRESULT + 32 + + + GetArgumentTypes + HRESULT + 32 + + pArgumentTypes + TcEventArgumentType + 32 + + + + GetDataSize + HRESULT + 32 + + cbData + UDINT + 32 + + + + GetData + HRESULT + 32 + + pData + BYTE + 32 + + + + + I_TcArguments + 32 + IQueryInterface + + __getipData + ITcArguments + 32 + + + property + + + conditionalshow + + + + + __getnCount + UDINT + 32 + + + property + + + + + AddBlob + I_TcArguments + 32 + + pData + PVOID + 32 + + + cbData + UINT + 16 + + + + AddBool + I_TcArguments + 32 + + value + BOOL + 8 + + + + AddByte + I_TcArguments + 32 + + value + BYTE + 8 + + + + AddDInt + I_TcArguments + 32 + + value + DINT + 32 + + + + AddDWord + I_TcArguments + 32 + + value + DWORD + 32 + + + + AddEventReferenceEx + I_TcArguments + 32 + + stEventEntry + TcEventEntry + 192 + + + + AddEventReferenceId + I_TcArguments + 32 + + nEventId + UDINT + 32 + + + + AddEventReferenceIdGuid + I_TcArguments + 32 + + nEventId + UDINT + 32 + + + EventClass + GUID + 128 + + + + AddInt + I_TcArguments + 32 + + value + INT + 16 + + + + AddLInt + I_TcArguments + 32 + + value + LINT + 64 + + + + AddLReal + I_TcArguments + 32 + + value + LREAL + 64 + + + + AddReal + I_TcArguments + 32 + + value + REAL + 32 + + + + AddSInt + I_TcArguments + 32 + + value + SINT + 8 + + + + AddString + I_TcArguments + 32 + + value + STRING(80) + 32 + + + ItemType + InOut + + + + + + AddStringByValue + I_TcArguments + 32 + + value + T_MaxString + 2048 + + + + AddUDInt + I_TcArguments + 32 + + value + UDINT + 32 + + + + AddUInt + I_TcArguments + 32 + + value + UINT + 16 + + + + AddULInt + I_TcArguments + 32 + + value + ULINT + 64 + + + + AddUSInt + I_TcArguments + 32 + + value + USINT + 8 + + + + AddUtf8EncodedString + I_TcArguments + 32 + + value + STRING(80) + 32 + + + ItemType + InOut + + + + + + AddWord + I_TcArguments + 32 + + value + WORD + 16 + + + + AddWString + I_TcArguments + 32 + + value + WSTRING(80) + 32 + + + ItemType + InOut + + + + + + AddWStringByValue + I_TcArguments + 32 + + value + WSTRING(255) + 4096 + + + + Clear + I_TcArguments + 32 + + + + ITcEventUniqueIdProvider + 32 + ITcUnknown + + GetUniqueId + HRESULT + 32 + + id + UDINT + 32 + + + + + FB_TcSourceInfo + 2848 + I_TcSourceInfo + + nId + UDINT + 32 + 79709740 + 79709764 + + + sName + STRING(255) + 2048 + 79709780 + 79709792 + + + ExtendName + BOOL + 8 + + sExtension + STRING(255) + 2048 + + + + __getipData + ITcSourceInfo + 32 + + ipData + ITcSourceInfo + 32 + + + + property + + + conditionalshow + + + + + __getnId + UDINT + 32 + + nId + UDINT + 32 + + + + property + + + monitoring + call + + + + + ResetToDefault + HRESULT + 32 + + + Clear + + + __setnId + + nId + UDINT + 32 + + + monitoring + call + + + + + + property + + + monitoring + call + + + + + __setguid + + guid + GUID + 128 + + + + property + + + + + EqualsTo + BOOL + 8 + + ipOther + I_TcSourceInfo + 32 + + + + __getguid + GUID + 128 + + guid + GUID + 128 + + + + property + + + + + __getsName + STRING(255) + 2048 + + sName + STRING(255) + 2048 + + + + property + + + monitoring + call + + + TcEncoding + UTF-8 + + + + + __setsName + + sName + STRING(255) + 2048 + + + monitoring + call + + + TcEncoding + UTF-8 + + + + + + property + + + monitoring + call + + + TcEncoding + UTF-8 + + + + + + PouType + FunctionBlock + + + no_explicit_call + do not call this POU directly + + + + + FB_TcEventBase + 3424 + I_ArgumentsChangeListener + + fbSourceInfo + FB_TcSourceInfo + 2848 + 256 + + + conditionalshow + + + + + __REQUESTEVENTCLASSNAME__FBRESULT + FB_AsyncStrResult + 64 + 3232 + + + conditionalshow + + + + + __REQUESTEVENTCLASSNAME__BBUSY + BOOL + 8 + 3296 + + + conditionalshow + + + + + __REQUESTEVENTTEXT__FBRESULT + FB_AsyncStrResult + 64 + 3328 + + + conditionalshow + + + + + __REQUESTEVENTTEXT__BBUSY + BOOL + 8 + 3392 + + + conditionalshow + + + + + eSeverity + TcEventSeverity + 16 + 79709892 + + + ipSourceInfo + I_TcSourceInfo + 32 + 79709872 + + + nEventId + UDINT + 32 + 79709960 + + + nUniqueId + UDINT + 32 + 79709964 + + + sEventClassName + STRING(255) + 2048 + 79709920 + + + sEventText + STRING(255) + 2048 + 79709968 + + + EqualsToEventClass + BOOL + 8 + + OtherEventClass + GUID + 128 + + + _EventClass + GUID + 128 + + + + GetEventClassName + HRESULT + 32 + + nLangId + English(US)=1033 ; German(Germay)=1031 + DINT + 32 + + + fbResult + FB_AsyncStrResult + 32 + + + ItemType + InOut + + + + + ipTmpEvent + ITcEvent + 32 + + + ipResult + ITcAsyncStringResult + 32 + + + hr + HRESULT + 32 + + + + Release + HRESULT + 32 + + + UpdateLangId + + + __getipSourceInfo + I_TcSourceInfo + 32 + + ipSourceInfo + I_TcSourceInfo + 32 + + + + property + + + monitoring + call + + + + + EqualsTo + BOOL + 8 + + ipOther + I_TcEventBase + 32 + + + + __getipEvent + ITcEvent + 32 + + ipEvent + ITcEvent + 32 + + + + property + + + conditionalshow + + + + + __getEventClass + GUID + 128 + + EventClass + GUID + 128 + + + ipTmpEvent + ITcEvent + 32 + + + + property + + + + + __geteSeverity + TcEventSeverity + 16 + + eSeverity + TcEventSeverity + 16 + + + ipTmpEvent + ITcEvent + 32 + + + + property + + + monitoring + call + + + + + __getstEventEntry + TcEventEntry + 192 + + stEventEntry + TcEventEntry + 192 + + + + property + + + + + OnCreate + HRESULT + 32 + + + EqualsToEventEntry + BOOL + 8 + + OtherEventClass + GUID + 128 + + + nOtherEventID + UDINT + 32 + + + eOtherSeverity + TcEventSeverity + 16 + + + + RequestEventText + BOOL + 8 + + nLangId + English(US)=1033 ; German(Germay)=1031 + DINT + 32 + + + sResult + buffer for result text + STRING(80) + 32 + + + nResultSize + size of buffer in bytes + UDINT + 32 + + + bError + BOOL + 8 + + + ItemType + Output + + + + + hrErrorCode + HRESULT + 32 + + + ItemType + Output + + + + + fbResult + FB_AsyncStrResult + 64 + + + uselocation + __REQUESTEVENTTEXT__FBRESULT + + + + + bBusy + BOOL + 8 + + + uselocation + __REQUESTEVENTTEXT__BBUSY + + + + + + OnArgumentsChanged + + + __getsEventClassName + STRING(255) + 2048 + + sEventClassName + STRING(255) + 2048 + + + + property + + + monitoring + call + + + TcEncoding + UTF-8 + + + + + __getipArguments + I_TcArguments + 32 + + ipArguments + I_TcArguments + 32 + + + + property + + + + + GetEventText + HRESULT + 32 + + nLangId + English(US)=1033 ; German(Germay)=1031 + DINT + 32 + + + fbResult + FB_AsyncStrResult + 32 + + + ItemType + InOut + + + + + ipTmpEvent + ITcEvent + 32 + + + ipResult + ITcAsyncStringResult + 32 + + + hr + HRESULT + 32 + + + + GetJsonAttribute + HRESULT + 32 + + sJsonAttribute + STRING(80) + 32 + + + nJsonAttribute + UDINT + 32 + + + ipTmpEvent + ITcEvent + 32 + + + + RequestEventClassName + BOOL + 8 + + nLangId + English(US)=1033 ; German(Germay)=1031 + DINT + 32 + + + sResult + buffer for result text + STRING(80) + 32 + + + nResultSize + size of buffer in bytes + UDINT + 32 + + + bError + BOOL + 8 + + + ItemType + Output + + + + + hrErrorCode + HRESULT + 32 + + + ItemType + Output + + + + + fbResult + FB_AsyncStrResult + 64 + + + uselocation + __REQUESTEVENTCLASSNAME__FBRESULT + + + + + bBusy + BOOL + 8 + + + uselocation + __REQUESTEVENTCLASSNAME__BBUSY + + + + + + EqualsToEventEntryEx + BOOL + 8 + + stOther + TcEventEntry + 192 + + + + __getnEventId + UDINT + 32 + + nEventId + UDINT + 32 + + + ipTmpEvent + ITcEvent + 32 + + + + property + + + monitoring + call + + + + + __getnUniqueId + UDINT + 32 + + nUniqueId + UDINT + 32 + + + ipTmpEvent + ITcEvent + 32 + + + ipProvider + ITcEventUniqueIdProvider + 32 + + + + property + + + monitoring + call + + + + + __getsEventText + STRING(255) + 2048 + + sEventText + STRING(255) + 2048 + + + + property + + + monitoring + call + + + TcEncoding + UTF-8 + + + + + + PouType + FunctionBlock + + + conditionalshow_all_locals + + + no_explicit_call + do not call this POU directly + + + + + I_TcMessage + 32 + I_TcEventBase + + Send + HRESULT + 32 + + nTimeStamp + ULINT + 64 + + + + + ITcMessage + 32 + ITcEvent + + SetJsonAttribute + HRESULT + 32 + + sJsonAttribute + PCCH + 32 + + + + GetArguments + HRESULT + 32 + + pipArguments + ITcArguments + 32 + + + + Send + HRESULT + 32 + + timeStamp + ULINT + 64 + + + + + ITcMessage2 + 32 + ITcMessage + + GetTimeSent + HRESULT + 32 + + timeStamp + ULINT + 32 + + + + + FB_TcMessage + 3488 + FB_TcEventBase + I_TcMessage + + nTimeSent + ULINT + 64 + 79709992 + + + SetJsonAttribute + HRESULT + 32 + + sJsonAttribute + STRING(80) + 32 + + + ItemType + InOut + + + + + + CreateEx + HRESULT + 32 + + stEventEntry + TcEventEntry + 192 + + + ipSourceInfo + optional (otherwise a default source info is taken) + I_TcSourceInfo + 32 + + + + Init + + ipMessage + ITcMessage + 32 + + + ipArguments + ITcArguments + 32 + + + ipSourceInfo + ITcSourceInfo + 32 + + + + conditionalshow + + + + + __getnTimeSent + ULINT + 64 + + nTimeSent + ULINT + 64 + + + ipMessage2 + ITcMessage2 + 32 + + + nTimeStamp + ULINT + 64 + + + + property + + + monitoring + call + + + TcDisplayTypeGUID + 18071995-0000-0000-0000-000000000046 + + + + + Create + HRESULT + 32 + + eventClass + GUID + 128 + + + nEventId + UDINT + 32 + + + eSeverity + TcEventSeverity + 16 + + + ipSourceInfo + optional (otherwise a default source info is taken) + I_TcSourceInfo + 32 + + + hr + HRESULT + 32 + + + ipArguments + ITcArguments + 32 + + + + __getipEvent + ITcEvent + 32 + + ipEvent + ITcEvent + 32 + + + + property + + + conditionalshow + + + + + Send + HRESULT + 32 + + nTimeStamp + set 0 to get the current time automatically + ULINT + 64 + + + + Release + HRESULT + 32 + + + + PouType + FunctionBlock + + + reflection + + + conditionalshow_all_locals + + + no_explicit_call + do not call this POU directly + + + + + F_TRIG + Falling Edge detection. -]]>64CLKBOOL832ItemTypeInputQBOOL840ItemTypeOutputMBOOL8481conditionalshowPouTypeFunctionBlockconditionalshow_all_localsR_TRIG + 64 + + CLK + BOOL + signal to detect + 8 + 32 + + + ItemType + Input + + + + + Q + BOOL + falling edge at signal detected + 8 + 40 + + + ItemType + Output + + + + + M + BOOL + 8 + 48 + + 1 + + + + conditionalshow + + + + + + PouType + FunctionBlock + + + conditionalshow_all_locals + + + + + R_TRIG + Rising Edge detection. -]]>64CLKBOOL832ItemTypeInputQBOOL840ItemTypeOutputMBOOL848conditionalshowPouTypeFunctionBlockconditionalshow_all_localsFB_LogMessage81984sMsgT_MaxString204832ItemTypeInputeSevrTcEventSeverity1620800ItemTypeInputeSubsystemE_Subsystem162096ItemTypeInputsJsonSTRING(7000)560082112{}ItemTypeInputnMinTimeViolationAcceptableINT16581285ItemTypeInputnLocalTripThresholdTIME32581441ItemTypeInputnTrickleTripThresholdTIME> LocalTripThreshold]]>3258176100ItemTypeInputnTripResetPeriodTIME3258208600000ItemTypeInputbEnableAutoResetBOOL8582401ItemTypeInputbInitializedBOOL8582480bInitFailedBOOL8582560sSubsystemSourceSTRING(80)64858264fbMessageFB_TcMessage3258912fbMessagesFB_TcMessage051744058944fbSourceFB_TcSourceInfo284876384ipResultMessageI_TcMessage3279232hrHRESULT3279264hrLastInternalErrorHRESULT3279296eTraceLevelTcEventSeverity16793280bFirstCallBOOL8793441sPathT_MaxString204879352instance-pathnoinitnTimesViolatedINT1681408LastCallTimeULINT6481472CurrentCallTimeULINT6481536DeltaSinceLastCallULINT6481600WhenTripsClearedULINT6481664ftTrippedReleasedF_TRIG6481728bLocalTrickleTrippedBOOL881792bLocalTrippedBOOL881800bTrippedBOOL881808pytmc + + 64 + + CLK + BOOL + Signal to detect + 8 + 32 + + + ItemType + Input + + + + + Q + BOOL + rising edge at signal detected + 8 + 40 + + + ItemType + Output + + + + + M + BOOL + 8 + 48 + + + conditionalshow + + + + + + PouType + FunctionBlock + + + conditionalshow_all_locals + + + + + FB_LogMessage + 81984 + + sMsg + T_MaxString + Message to send + 2048 + 32 + + + ItemType + Input + + + + + eSevr + TcEventSeverity + 16 + 2080 + + 0 + + + + ItemType + Input + + + + + eSubsystem + E_Subsystem + Subsystem + 16 + 2096 + + + ItemType + Input + + + + + sJson + STRING(7000) + JSON to add to the message + 56008 + 2112 + + {} + + + + ItemType + Input + + + + + nMinTimeViolationAcceptable + INT + How many times the min. time can be violated before the CB trips + 16 + 58128 + + 5 + + + + ItemType + Input + + + + + nLocalTripThreshold + TIME + Minimum time between calls allowed, pairs with nMinTimeViolationAcceptable + 32 + 58144 + + 1 + + + + ItemType + Input + + + + + nTrickleTripThreshold + TIME + Trickle trip, activated by global threshold, should be >> LocalTripThreshold + 32 + 58176 + + 100 + + + + ItemType + Input + + + + + nTripResetPeriod + TIME + Time for auto-reset + 32 + 58208 + + 600000 + + + + ItemType + Input + + + + + bEnableAutoReset + BOOL + Enable circuit breaker auto-reset (true by default) + 8 + 58240 + + 1 + + + + ItemType + Input + + + + + bInitialized + BOOL + 8 + 58248 + + 0 + + + + bInitFailed + BOOL + 8 + 58256 + + 0 + + + + sSubsystemSource + STRING(80) + 648 + 58264 + + + fbMessage + FB_TcMessage + 32 + 58912 + + + fbMessages + FB_TcMessage + + 0 + 5 + + 17440 + 58944 + + + fbSource + FB_TcSourceInfo + 2848 + 76384 + + + ipResultMessage + I_TcMessage + 32 + 79232 + + + hr + HRESULT + 32 + 79264 + + + hrLastInternalError + HRESULT + 32 + 79296 + + + eTraceLevel + TcEventSeverity + 16 + 79328 + + 0 + + + + bFirstCall + BOOL + 8 + 79344 + + 1 + + + + sPath + T_MaxString + 2048 + 79352 + + + instance-path + + + noinit + + + + + nTimesViolated + INT + //////////////////////////// + 16 + 81408 + + + LastCallTime + ULINT + 64 + 81472 + + + CurrentCallTime + ULINT + 64 + 81536 + + + DeltaSinceLastCall + ULINT + 64 + 81600 + + + WhenTripsCleared + ULINT + 64 + 81664 + + + ftTrippedReleased + F_TRIG + 64 + 81728 + + + bLocalTrickleTripped + BOOL + 8 + 81792 + + + bLocalTripped + BOOL + 8 + 81800 + + + bTripped + BOOL + Won't emit messages if true + 8 + 81808 + + + pytmc + pv: Tripped io: i field: DESC Log message FB tripped - bResetBreakerBOOL881816pytmc + + + + + + bResetBreaker + BOOL + 8 + 81816 + + + pytmc + pv: Reset io: o field: DESC Rising-edge reset of trip - rtResetBreakerR_TRIG6481824rtTrippedR_TRIG6481888CircuitBreakerPouTypeFunctionBlockreflectionST_LibVersion288iMajorUINT160iMinorUINT1616iBuildUINT1632iRevisionUINT1648nFlagsDWORD3264sVersionSTRING(23)19296E_WATCHDOG_TIME_CONFIG16INTeWATCHDOG_TIME_DISABLED0eWATCHDOG_TIME_SECONDS1eWATCHDOG_TIME_MINUTES2E_HashPrefixTypes16INTHASHPREFIX_IEC0HASHPREFIX_STDC1E_SBCSType16INTeSBCS_WesternEuropean1eSBCS_CentralEuropean2T_AmsNetID192STRING(23)E_RouteTransportType16UINTeRouteTransport_None0eRouteTransport_TCP_IP1eRouteTransport_IIO_LIGHTBUS2eRouteTransport_PROFIBUS_DP3eRouteTransport_PCI_ISA_BUS4eRouteTransport_ADS_UDP5eRouteTransport_FATP_UDP6eRouteTransport_COM_PORT7eRouteTransport_USB8eRouteTransport_CAN_OPEN9eRouteTransport_DEVICE_NET10eRouteTransport_SSB11eRouteTransport_SOAP12ST_AmsRouteEntry1184sNameSTRING(31)2560sNetIDT_AmsNetID192256sAddressSTRING(79)640448eTransportE_RouteTransportType161088tTimeoutTIME321120dwFlagsDWORD321152E_ArgType16INTARGTYPE_UNKNOWN0ARGTYPE_BYTE1ARGTYPE_WORD2ARGTYPE_DWORD3ARGTYPE_REAL4ARGTYPE_LREAL5ARGTYPE_SINT6ARGTYPE_INT7ARGTYPE_DINT8ARGTYPE_USINT9ARGTYPE_UINT10ARGTYPE_UDINT11ARGTYPE_STRING12ARGTYPE_BOOL13ARGTYPE_BIGTYPE14ARGTYPE_ULARGE15ARGTYPE_UHUGE16ARGTYPE_LARGE17ARGTYPE_HUGE18ARGTYPE_LWORD19T_Arg96eTypeE_ArgType1600cbLenUDINT cbLen = length of string + 1 (null delimiter). ]]>32320pDataPVOID32640T_ULARGE_INTEGER64dwLowPartDWORD320dwHighPartDWORD3232TIMESTRUCT128wYearWORD160wMonthWORD1616wDayOfWeekWORD1632wDayWORD1648wHourWORD1664wMinuteWORD1680wSecondWORD1696wMillisecondsWORD16112ST_TimeZoneInformation864biasDINT + + + + + rtResetBreaker + R_TRIG + 64 + 81824 + + + rtTripped + R_TRIG + 64 + 81888 + + + CircuitBreaker + + + + PouType + FunctionBlock + + + reflection + + + + + ST_LibVersion + 288 + + iMajor + UINT + 16 + 0 + + + iMinor + UINT + 16 + 16 + + + iBuild + UINT + 16 + 32 + + + iRevision + UINT + 16 + 48 + + + nFlags + DWORD + 32 + 64 + + + sVersion + STRING(23) + 192 + 96 + + + + E_WATCHDOG_TIME_CONFIG + 16 + INT + + eWATCHDOG_TIME_DISABLED + 0 + + + eWATCHDOG_TIME_SECONDS + 1 + + + eWATCHDOG_TIME_MINUTES + 2 + + + + E_HashPrefixTypes + 16 + INT + + HASHPREFIX_IEC + 0 + 2#, 8#, 16# + + + HASHPREFIX_STDC + 1 + 0 for octal type, 0x, 0X for hex else none + + + + E_SBCSType + 16 + INT + + eSBCS_WesternEuropean + 1 + Windows 1252 (default) + + + eSBCS_CentralEuropean + 2 + Windows 1251 + + + + T_AmsNetID + TwinCAT AMS netID address string. + 192 + STRING(23) + + + E_RouteTransportType + 16 + UINT + + eRouteTransport_None + 0 + + + eRouteTransport_TCP_IP + 1 + + + eRouteTransport_IIO_LIGHTBUS + 2 + + + eRouteTransport_PROFIBUS_DP + 3 + + + eRouteTransport_PCI_ISA_BUS + 4 + + + eRouteTransport_ADS_UDP + 5 + + + eRouteTransport_FATP_UDP + 6 + + + eRouteTransport_COM_PORT + 7 + + + eRouteTransport_USB + 8 + + + eRouteTransport_CAN_OPEN + 9 + + + eRouteTransport_DEVICE_NET + 10 + + + eRouteTransport_SSB + 11 + + + eRouteTransport_SOAP + 12 + + + + ST_AmsRouteEntry + TwinCAT AMS route entry struct + 1184 + + sName + STRING(31) + String containing route name + 256 + 0 + + + sNetID + T_AmsNetID + TwinCAT network address (ams net id) + 192 + 256 + + + sAddress + STRING(79) + String containing route network Ipv4 address or host name. + 640 + 448 + + + eTransport + E_RouteTransportType + Route transport type + 16 + 1088 + + + tTimeout + TIME + Route timeout + 32 + 1120 + + + dwFlags + DWORD + Additional flags + 32 + 1152 + + + + E_ArgType + 16 + INT + + ARGTYPE_UNKNOWN + 0 + + + ARGTYPE_BYTE + 1 + + + ARGTYPE_WORD + 2 + + + ARGTYPE_DWORD + 3 + + + ARGTYPE_REAL + 4 + + + ARGTYPE_LREAL + 5 + + + ARGTYPE_SINT + 6 + + + ARGTYPE_INT + 7 + + + ARGTYPE_DINT + 8 + + + ARGTYPE_USINT + 9 + + + ARGTYPE_UINT + 10 + + + ARGTYPE_UDINT + 11 + + + ARGTYPE_STRING + 12 + string of type T_MaxString! + + + ARGTYPE_BOOL + 13 + + + ARGTYPE_BIGTYPE + 14 + byte buffer + + + ARGTYPE_ULARGE + 15 + unsigned 64 bit ingeger (T_ULARGE_INTEGER, ULINT) + + + ARGTYPE_UHUGE + 16 + unsigned 128 bit integer (T_UHUGE_INTEGER) + + + ARGTYPE_LARGE + 17 + signed 64 bit integer (T_LARGE_INTEGER, LINT) + + + ARGTYPE_HUGE + 18 + signed 128 bit integer (T_HUGE_INTEGER) + + + ARGTYPE_LWORD + 19 + LWORD value + + + + T_Arg + Argument type + 96 + + eType + E_ArgType + Argument data type + 16 + 0 + + 0 + + + + cbLen + UDINT + Argument data byte length (if eType = ARGTYPE_STRING => cbLen = length of string + 1 (null delimiter). + 32 + 32 + + 0 + + + + pData + PVOID + Pointer to first argument data byte + 32 + 64 + + 0 + + + + + T_ULARGE_INTEGER + 64 bit unsigned integer + 64 + + dwLowPart + DWORD + Lower double word + 32 + 0 + + + dwHighPart + DWORD + Higher double word + 32 + 32 + + + + TIMESTRUCT + System Time Structure + 128 + + wYear + WORD + Year: 1970..2106 + 16 + 0 + + + wMonth + WORD + Month: 1..12 (January = 1, February = 2 and so on) + 16 + 16 + + + wDayOfWeek + WORD + Day of the week: 0..6 (Sunday = 0, Monday = 1, .. , Saturday = 6 and so on) + 16 + 32 + + + wDay + WORD + Day of the month: 1..31 + 16 + 48 + + + wHour + WORD + Hour: 0..23 + 16 + 64 + + + wMinute + WORD + Minute: 0..59 + 16 + 80 + + + wSecond + WORD + Second: 0..59 + 16 + 96 + + + wMilliseconds + WORD + Milliseconds: 0..999 + 16 + 112 + + + + ST_TimeZoneInformation + 864 + + bias + DINT + Specifies the current bias, in minutes, for local time translation on this computer. The bias is the difference, in minutes, between Coordinated Universal Time (UTC) and local time. - UTC = local time + bias ]]>320standardNameSTRING(31)25632standardDateTIMESTRUCT128288standardBiasDINT32416daylightNameSTRING(31)256448daylightDateTIMESTRUCT128704daylightBiasDINT32832TOF224INBOOL832ItemTypeInputPTTIME3264ItemTypeInputQBOOL896ItemTypeOutputETTIME32128ItemTypeOutputMBOOL8160StartTimeTIME32192PouTypeFunctionBlockUINT (0..GVL_Param_TcUnit.MaxNumberOfTestSuites)16UINTLowerBorder0UpperBorder1000UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16UINTLowerBorder0UpperBorder100E_AssertionType8BYTEType_UNDEFINED0Type_ANY1Type_BOOL2Type_BYTE3Type_DATE4Type_DATE_AND_TIME5Type_DINT6Type_DWORD7Type_INT8Type_LINT9Type_LREAL10Type_LTIME11Type_LWORD12Type_REAL13Type_SINT14Type_STRING15Type_TIME16Type_TIME_OF_DAY17Type_UDINT18Type_UINT19Type_ULINT20Type_USINT21Type_WORD22Type_WSTRING23Type_Array2D_LREAL24Type_Array2D_REAL25Type_Array3D_LREAL26Type_Array3D_REAL27Type_Array_BOOL28Type_Array_BYTE29Type_Array_DINT30Type_Array_DWORD31Type_Array_INT32Type_Array_LINT33Type_Array_LREAL34Type_Array_LWORD35Type_Array_REAL36Type_Array_SINT37Type_Array_UDINT38Type_Array_UINT39Type_Array_ULINT40Type_Array_USINT41Type_Array_WORD42ST_TestCaseResult6192TestNameT_MaxString20480TestClassNameT_MaxString20482048TestIsFailedBOOL84096TestIsSkippedBOOL84104FailureMessageT_MaxString20484112FailureTypeE_AssertionType86160NumberOfAssertsUINT166176ST_TestSuiteResult621296NameT_MaxString20480IdentityUINT (0..GVL_Param_TcUnit.MaxNumberOfTestSuites)162048NumberOfTestsUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)162064NumberOfFailedTestsUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)162080TestCaseResultsST_TestCaseResult11006192002096ST_TestSuiteResults621296064NumberOfTestSuitesUINT160NumberOfTestCasesUINT1616NumberOfSuccessfulTestCasesUINT1632NumberOfFailedTestCasesUINT1648TestSuiteResultsST_TestSuiteResult1100062129600064I_TestResults32PVOIDGetAreTestResultsAvailableBOOL8GetTestSuiteResultsST_TestSuiteResults32UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16UINTLowerBorder1UpperBorder1000FB_TestResults621296256I_TestResultsTestSuiteResultsST_TestSuiteResults62129606464StoringTestSuiteResultNumberUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16621296128StoringTestSuiteTriggerR_TRIG64621296160StoredTestSuiteResultsBOOL8621296224StoredGeneralTestResultsBOOL8621296232NumberOfTestsToAnalyseUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16621296240GetAreTestResultsAvailableBOOL8GetTestSuiteResultsST_TestSuiteResults32PouTypeFunctionBlockI_TestResultLogger32PVOIDLogTestSuiteResultsUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16UINTLowerBorder1UpperBorder100FB_AdsTestResultLogger + 32 + 0 + + + standardName + STRING(31) + Specifies a null-terminated string associated with standard time + on this operating system. + 256 + 32 + + + standardDate + TIMESTRUCT + Specifies a SYSTEMTIME structure that contains a date and local time when the + transition from daylight saving time to standard time occurs on this operating system. + 128 + 288 + + + standardBias + DINT + Specifies a bias value to be used during local time translations that occur during standard time. + 32 + 416 + + + daylightName + STRING(31) + Specifies a null-terminated string associated with daylight saving time on this operating system. + For example, this member could contain "PDT" to indicate Pacific Daylight Time. + 256 + 448 + + + daylightDate + TIMESTRUCT + Specifies a SYSTEMTIME structure that contains a date and local time when the transition + from standard time to daylight saving time occurs on this operating system. + 128 + 704 + + + daylightBias + DINT + Specifies a bias value to be used during local time translations that occur during daylight saving time. + 32 + 832 + + + + TOF + 224 + + IN + BOOL + starts timer with falling edge, resets timer with rising edge + 8 + 32 + + + ItemType + Input + + + + + PT + TIME + time to pass, before Q is set + 32 + 64 + + + ItemType + Input + + + + + Q + BOOL + is FALSE, PT seconds after IN had a falling edge + 8 + 96 + + + ItemType + Output + + + + + ET + TIME + elapsed time + 32 + 128 + + + ItemType + Output + + + + + M + BOOL + 8 + 160 + + + StartTime + TIME + 32 + 192 + + + + PouType + FunctionBlock + + + + + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestSuites) + 16 + UINT + + + LowerBorder + 0 + + + UpperBorder + 1000 + + + + + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + UINT + + + LowerBorder + 0 + + + UpperBorder + 100 + + + + + E_AssertionType + 8 + BYTE + + Type_UNDEFINED + 0 + + + Type_ANY + 1 + + + Type_BOOL + 2 + Primitive types + + + Type_BYTE + 3 + + + Type_DATE + 4 + + + Type_DATE_AND_TIME + 5 + + + Type_DINT + 6 + + + Type_DWORD + 7 + + + Type_INT + 8 + + + Type_LINT + 9 + + + Type_LREAL + 10 + + + Type_LTIME + 11 + + + Type_LWORD + 12 + + + Type_REAL + 13 + + + Type_SINT + 14 + + + Type_STRING + 15 + + + Type_TIME + 16 + + + Type_TIME_OF_DAY + 17 + + + Type_UDINT + 18 + + + Type_UINT + 19 + + + Type_ULINT + 20 + + + Type_USINT + 21 + + + Type_WORD + 22 + + + Type_WSTRING + 23 + + + Type_Array2D_LREAL + 24 + Array types + + + Type_Array2D_REAL + 25 + + + Type_Array3D_LREAL + 26 + + + Type_Array3D_REAL + 27 + + + Type_Array_BOOL + 28 + + + Type_Array_BYTE + 29 + + + Type_Array_DINT + 30 + + + Type_Array_DWORD + 31 + + + Type_Array_INT + 32 + + + Type_Array_LINT + 33 + + + Type_Array_LREAL + 34 + + + Type_Array_LWORD + 35 + + + Type_Array_REAL + 36 + + + Type_Array_SINT + 37 + + + Type_Array_UDINT + 38 + + + Type_Array_UINT + 39 + + + Type_Array_ULINT + 40 + + + Type_Array_USINT + 41 + + + Type_Array_WORD + 42 + + + + ST_TestCaseResult + 6192 + + TestName + T_MaxString + 2048 + 0 + + + TestClassName + T_MaxString + 2048 + 2048 + + + TestIsFailed + BOOL + 8 + 4096 + + + TestIsSkipped + BOOL + 8 + 4104 + + + FailureMessage + T_MaxString + 2048 + 4112 + + + FailureType + E_AssertionType + 8 + 6160 + + + NumberOfAsserts + UINT + 16 + 6176 + + + + ST_TestSuiteResult + 621296 + + Name + T_MaxString + Full class name + 2048 + 0 + + + Identity + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestSuites) + Should be 0..GVL_Param_TcUnit.MaxNumberOfTestSuites-1 but gives unknown compiler error + 16 + 2048 + + + NumberOfTests + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + 2064 + + + NumberOfFailedTests + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + 2080 + + + TestCaseResults + ST_TestCaseResult + + 1 + 100 + + 619200 + 2096 + + + + ST_TestSuiteResults + 621296064 + + NumberOfTestSuites + UINT + The total number of test suites + 16 + 0 + + + NumberOfTestCases + UINT + The total number of test cases (for all test suites) + 16 + 16 + + + NumberOfSuccessfulTestCases + UINT + The total number of test cases that had all ASSERTS successful + 16 + 32 + + + NumberOfFailedTestCases + UINT + The total number of test cases that had at least one ASSERT failed + 16 + 48 + + + TestSuiteResults + ST_TestSuiteResult + + 1 + 1000 + + Test results for each individiual test suite + 621296000 + 64 + + + + I_TestResults + 32 + PVOID + + GetAreTestResultsAvailable + BOOL + 8 + + + GetTestSuiteResults + ST_TestSuiteResults + 32 + + + + UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites) + 16 + UINT + + + LowerBorder + 1 + + + UpperBorder + 1000 + + + + + FB_TestResults + This function block holds results of the complete test run, i.e. results for all test suites + 621296256 + I_TestResults + + TestSuiteResults + ST_TestSuiteResults + Test results + 621296064 + 64 + + + StoringTestSuiteResultNumber + UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites) + Misc variables + 16 + 621296128 + + + StoringTestSuiteTrigger + R_TRIG + 64 + 621296160 + + + StoredTestSuiteResults + BOOL + 8 + 621296224 + + + StoredGeneralTestResults + BOOL + 8 + 621296232 + + + NumberOfTestsToAnalyse + UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites) + 16 + 621296240 + + + GetAreTestResultsAvailable + BOOL + 8 + + + GetTestSuiteResults + ST_TestSuiteResults + 32 + + + + PouType + FunctionBlock + + + + + I_TestResultLogger + 32 + PVOID + + LogTestSuiteResults + + + + UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + UINT + + + LowerBorder + 1 + + + UpperBorder + 100 + + + + + FB_AdsTestResultLogger + This function block reports the results from the tests using the built-in ADSLOGSTR functionality provided by the Tc2_System library. This sends the result using ADS, which is consumed by the "Error List" of Visual Studio (which can print Errors, Warnings and Messages). -]]>224I_TestResultLoggerTestResultsI_TestResults3264PrintingTestSuiteResultNumberUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)1696PrintingTestSuiteTriggerR_TRIG64128PrintedFinalTestResultsBOOL8192PrintedTestSuitesResultsBOOL8200LogTestSuiteResultsTcUnitTestResultsST_TestSuiteResults32StringToPrintT_MaxString2048TestsInTestSuiteCounterUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16MaxNumberOfTestsToPrintUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16TEST_STATUS_SKIPSTRING(80)648TEST_STATUS_PASSSTRING(80)648TEST_STATUS_FAILSTRING(80)648PouTypeFunctionBlockRTS_IEC_RESULT32UDINTACCESS_MODE32UDINTAM_READ0AM_WRITE1AM_APPEND2AM_READ_PLUS3AM_WRITE_PLUS4AM_APPEND_PLUS5RTS_IEC_SIZE32BYTERTS_IEC_HANDLE32BYTEFB_FileControl + 224 + I_TestResultLogger + + TestResults + I_TestResults + 32 + 64 + + + PrintingTestSuiteResultNumber + UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites) + 16 + 96 + + + PrintingTestSuiteTrigger + R_TRIG + 64 + 128 + + + PrintedFinalTestResults + BOOL + This flag is set once the final end result has printed + 8 + 192 + + + PrintedTestSuitesResults + BOOL + This flag is set once the test suites result have been printed + 8 + 200 + + + LogTestSuiteResults + + TcUnitTestResults + ST_TestSuiteResults + 32 + + + StringToPrint + T_MaxString + 2048 + + + TestsInTestSuiteCounter + UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + + + MaxNumberOfTestsToPrint + UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + + + TEST_STATUS_SKIP + STRING(80) + 648 + + + TEST_STATUS_PASS + STRING(80) + 648 + + + TEST_STATUS_FAIL + STRING(80) + 648 + + + + + PouType + FunctionBlock + + + + + RTS_IEC_RESULT + 32 + UDINT + + + ACCESS_MODE + 32 + UDINT + + AM_READ + 0 + Open an existing file with Read access. If file does not exist, Open fails + + + AM_WRITE + 1 + Create new file with Write access. If file does exist, content is discarded + + + AM_APPEND + 2 + Open an existing file with Append (only write) access. If file does not exist, Open fails + + + AM_READ_PLUS + 3 + Open an existing file with Read/Write access. If file does not exist, Open fails + + + AM_WRITE_PLUS + 4 + Create new file with Read/Write access. If file does exist, content is discarded + + + AM_APPEND_PLUS + 5 + Open an existing file with Append (read/write) access. If file does not exist, Open creates a new file + + + + RTS_IEC_SIZE + 32 + BYTE + + + RTS_IEC_HANDLE + 32 + BYTE + + + FB_FileControl + This functionblock can open, close, read, write and delete files on the local filesystem -]]>96FileAccessModeACCESS_MODE32325FileHandleRTS_IEC_HANDLE3264ReadRTS_IEC_RESULT32BufferPointerBYTE32SizeUDINT32FileSizeRTS_IEC_SIZE32ItemTypeOutputCloseRTS_IEC_RESULT32OpenRTS_IEC_RESULT32FileNameT_MaxString2048FileAccessModeACCESS_MODE32DeleteRTS_IEC_RESULT32FileNameT_MaxString2048WriteRTS_IEC_RESULT32BufferPointerBYTE32SizeUDINT32PouTypeFunctionBlockE_XmlError8BYTEOk0ErrorMaxBufferLen1ErrorStringLen2Error3FB_StreamBuffer + 96 + + FileAccessMode + ACCESS_MODE + Append_Plus creates the file if it doesn't exist yet. + 32 + 32 + + 5 + + + + FileHandle + RTS_IEC_HANDLE + 32 + 64 + + + Read + RTS_IEC_RESULT + 32 + + BufferPointer + Call with ADR(); + BYTE + 32 + + + Size + Call with SIZEOF(); + UDINT + 32 + + + FileSize + RTS_IEC_SIZE + 32 + + + ItemType + Output + + + + + + Close + RTS_IEC_RESULT + 32 + + + Open + RTS_IEC_RESULT + 32 + + FileName + File name can contain an absolute or relative path to the file. Path entries must be separated with a Slash (/) + T_MaxString + 2048 + + + FileAccessMode + ACCESS_MODE + 32 + + + + Delete + RTS_IEC_RESULT + 32 + + FileName + File name can contain an absolute or relative path to the file. Path entries must be separated with a forward slash (/) + T_MaxString + 2048 + + + + Write + RTS_IEC_RESULT + 32 + + BufferPointer + Call with ADR(); + BYTE + 32 + + + Size + Call with SIZEOF(); + UDINT + 32 + + + + + PouType + FunctionBlock + + + + + E_XmlError + 8 + BYTE + + Ok + 0 + + + ErrorMaxBufferLen + 1 + + + ErrorStringLen + 2 + + + Error + 3 + + + + FB_StreamBuffer + This functionblock acts as a stream buffer for use with FB_XmlControl -]]>128_PointerToStringBufferBYTE3232_BufferSizeUDINT3264_LengthUDINT3296CutOffT_MaxString2048StartPosUDINT32CutLenUDINT32ItemTypeOutputXmlErrorE_XmlError8ItemTypeOutputLoopUDINT32PointerToByteToCutBYTE32PointerToByteBufferBYTE32FindUDINT32SearchStringSTRING(80)648StartPosUDINT32LoopUDINT32SearchUDINT32PointerToBufferBYTE32PointerToSearchBYTE32FindBackUDINT32SearchStringT_MaxString2048LoopUDINT32SearchUDINT32PointerToBufferBYTE32PointerToSearchBYTE32__getLengthUDINT32LengthUDINT32propertyClearCountUDINT32__setAppendAppend + 128 + + _PointerToStringBuffer + BYTE + 32 + 32 + + + _BufferSize + UDINT + 32 + 64 + + + _Length + UDINT + 32 + 96 + + + CutOff + T_MaxString + 2048 + + StartPos + UDINT + 32 + + + CutLen + UDINT + 32 + + + ItemType + Output + + + + + XmlError + E_XmlError + 8 + + + ItemType + Output + + + + + Loop + UDINT + 32 + + + PointerToByteToCut + BYTE + 32 + + + PointerToByteBuffer + BYTE + 32 + + + + Find + UDINT + 32 + + SearchString + STRING(80) + 648 + + + StartPos + UDINT + 32 + + + Loop + UDINT + 32 + + + Search + UDINT + 32 + + + PointerToBuffer + BYTE + 32 + + + PointerToSearch + BYTE + 32 + + + + FindBack + UDINT + 32 + + SearchString + T_MaxString + 2048 + + + Loop + UDINT + 32 + + + Search + UDINT + 32 + + + PointerToBuffer + BYTE + 32 + + + PointerToSearch + BYTE + 32 + + + + __getLength + UDINT + 32 + + Length + UDINT + 32 + + + + property + + + + + Clear + + Count + UDINT + 32 + + + + __setAppend + + Append + Appends a string to the buffer -]]>T_MaxString2048ByteInBYTE32ByteBufferBYTE32property__getBufferSizeUDINT32BufferSizeUDINT32property__setLengthLength + T_MaxString + 2048 + + + ByteIn + BYTE + 32 + + + ByteBuffer + BYTE + 32 + + + + property + + + + + __getBufferSize + UDINT + 32 + + BufferSize + UDINT + 32 + + + + property + + + + + __setLength + + Length + Gets/Sets the current length (in bytes) of the streambuffer -]]>UDINT32propertySetBufferBOOL8PointerToBufferAddressBYTE32SizeOfBufferUDINT32CopyT_MaxString2048StartPosUDINT32EndPosUDINT32CopyLenUDINT32ItemTypeOutputXmlErrorE_XmlError8ItemTypeOutputLoopUDINT32PointerToByteToCopyBYTE32PointerToBufferBYTE32CurPosUDINT32PouTypeFunctionBlockFB_XmlControl + UDINT + 32 + + + + property + + + + + SetBuffer + BOOL + 8 + + PointerToBufferAddress + Set buffer address (ADR ...) + BYTE + 32 + + + SizeOfBuffer + Set buffer size (SIZEOF ...) + UDINT + 32 + + + + Copy + T_MaxString + 2048 + + StartPos + UDINT + 32 + + + EndPos + UDINT + 32 + + + CopyLen + UDINT + 32 + + + ItemType + Output + + + + + XmlError + E_XmlError + 8 + + + ItemType + Output + + + + + Loop + UDINT + 32 + + + PointerToByteToCopy + BYTE + 32 + + + PointerToBuffer + BYTE + 32 + + + CurPos + UDINT + 32 + + + + + PouType + FunctionBlock + + + + + FB_XmlControl + Organizes parsing and composing of XML data. Data can be treated as STRING or char array. Buffer size of file can be set via GVL_Param_TcUnit (xUnitBufferSize) -]]>5696XmlBufferFB_StreamBuffer12832TagListBufferFB_StreamBuffer128160TagsT_MaxString2048288TagListSeekBufferFB_StreamBuffer1282336TagsSeekSTRING(80)6482464TagBufferFB_StreamBuffer1283136TagT_MaxString20483264TagOpenBOOL85312SelectUDINT325344SearchPositionUDINT325376TAG_OPENSTRING(1)165408<TAG_CLOSESTRING(1)165424>END_TAG_CLOSESTRING(2)245440/>SPACESTRING(1)165464 EQUALSSTRING(1)165480=QUOTESTRING(1)165496"BACK_SLASHSTRING(1)165512\FORWARD_SLASHSTRING(1)165528/OPEN_COMMENTSTRING(5)485544<!-- CLOSE_COMMENTSTRING(4)405592 -->TABSTRING(2)245632 CR_LFSTRING(4)405656 -NewParameterNameT_MaxString2048ValueT_MaxString2048NewTagNameT_MaxString2048CloseTagT_MaxString2048ClosedTagT_MaxString2048WriteDocumentHeaderHeaderT_MaxString2048NewCommentCommentT_MaxString2048__getLengthUDINT32LengthUDINT32propertyNewTagDataDataT_MaxString2048SetBufferPointerToBufferBYTE32SizeOfBufferUDINT32ClearBufferToStartBufferPouTypeFunctionBlockFB_xUnitXmlPublisher + 5696 + + XmlBuffer + FB_StreamBuffer + 128 + 32 + + + TagListBuffer + FB_StreamBuffer + 128 + 160 + + + Tags + T_MaxString + 2048 + 288 + + + TagListSeekBuffer + FB_StreamBuffer + 128 + 2336 + + + TagsSeek + STRING(80) + 648 + 2464 + + + TagBuffer + FB_StreamBuffer + 128 + 3136 + + + Tag + T_MaxString + 2048 + 3264 + + + TagOpen + BOOL + 8 + 5312 + + + Select + UDINT + 32 + 5344 + + + SearchPosition + UDINT + 32 + 5376 + + + TAG_OPEN + STRING(1) + 16 + 5408 + + < + + + + TAG_CLOSE + STRING(1) + 16 + 5424 + + > + + + + END_TAG_CLOSE + STRING(2) + 24 + 5440 + + /> + + + + SPACE + STRING(1) + 16 + 5464 + + + + + + EQUALS + STRING(1) + 16 + 5480 + + = + + + + QUOTE + STRING(1) + 16 + 5496 + + " + + + + BACK_SLASH + STRING(1) + 16 + 5512 + + \ + + + + FORWARD_SLASH + STRING(1) + 16 + 5528 + + / + + + + OPEN_COMMENT + STRING(5) + 48 + 5544 + + <!-- + + + + CLOSE_COMMENT + STRING(4) + 40 + 5592 + + --> + + + + TAB + STRING(2) + 24 + 5632 + + + + + + CR_LF + STRING(4) + 40 + 5656 + + + + + + + NewParameter + + Name + T_MaxString + 2048 + + + Value + T_MaxString + 2048 + + + + NewTag + + Name + T_MaxString + 2048 + + + + CloseTag + T_MaxString + 2048 + + ClosedTag + T_MaxString + 2048 + + + + WriteDocumentHeader + + Header + T_MaxString + 2048 + + + + NewComment + + Comment + T_MaxString + 2048 + + + + __getLength + UDINT + 32 + + Length + UDINT + 32 + + + + property + + + + + NewTagData + + Data + T_MaxString + 2048 + + + + SetBuffer + + PointerToBuffer + ADR(..) + BYTE + 32 + + + SizeOfBuffer + SIZEOF(..) + UDINT + 32 + + + + ClearBuffer + + + ToStartBuffer + + + + PouType + FunctionBlock + + + + + FB_xUnitXmlPublisher + Publishes test results into an xUnit compatible Xml file -]]>530304I_TestResultLoggerTestResultsI_TestResults3264AccessModeACCESS_MODE32964FileFB_FileControl96128XmlFB_XmlControl5696224BufferInitialisedBOOL859200BufferBYTE0655355242805928WritingTestSuiteResultNumberUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16530208PublishTriggerR_TRIG64530240DeleteOpenWriteCloseRTS_IEC_RESULT32LogTestSuiteResultsUnitTestResultsST_TestSuiteResults32CurrentSuiteNumberUINT16CurrentTestCountUINT16TEST_STATUS_SKIPSTRING(80)648TEST_STATUS_PASSSTRING(80)648TEST_STATUS_FAILSTRING(80)648InitialisedBOOL8PouTypeFunctionBlockFB_TcUnitRunner + 530304 + I_TestResultLogger + + TestResults + I_TestResults + Dependancy Injection via FB_Init + 32 + 64 + + + AccessMode + ACCESS_MODE + File access mode + 32 + 96 + + 4 + + + + File + FB_FileControl + 96 + 128 + + + Xml + FB_XmlControl + 5696 + 224 + + + BufferInitialised + BOOL + 8 + 5920 + + 0 + + + + Buffer + BYTE + + 0 + 65535 + + 524280 + 5928 + + + WritingTestSuiteResultNumber + UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites) + 16 + 530208 + + + PublishTrigger + R_TRIG + 64 + 530240 + + + DeleteOpenWriteClose + RTS_IEC_RESULT + 32 + + + LogTestSuiteResults + + UnitTestResults + ST_TestSuiteResults + 32 + + + CurrentSuiteNumber + UINT + 16 + + + CurrentTestCount + UINT + 16 + + + TEST_STATUS_SKIP + STRING(80) + 648 + + + TEST_STATUS_PASS + STRING(80) + 648 + + + TEST_STATUS_FAIL + STRING(80) + 648 + + + + Initialised + BOOL + 8 + + + + PouType + FunctionBlock + + + + + FB_TcUnitRunner + This function block is responsible for holding track of the tests and executing them. -]]>621827200AllTestSuitesFinishedBOOL8320TestResultsFB_TestResults62129625664AdsTestResultLoggerFB_AdsTestResultLogger224621296320old_input_assignmentsTestResultLoggerI_TestResultLogger32621296544AbortRunningTestSuitesBOOL8621296576xUnitXmlPublisherFB_xUnitXmlPublisher530304621296608old_input_assignmentsXmlTestResultPublisherI_TestResultLogger32621826912__RUNTESTSUITETESTSINSEQUENCE__CURRENTLYRUNNINGTESTSUITEUINT166218269441__RUNTESTSUITETESTSINSEQUENCE__TIMERBETWEENEXECUTIONOFTESTSUITESTOF224621826976AbortRunningTestSuiteTestsRunTestSuiteTestsInSequenceTimeBetweenTestSuitesExecutionTIME32BusyPrintingBOOL8NumberOfTestSuitesFinished + 621827200 + + AllTestSuitesFinished + BOOL + Indication of whether all test suites have reported that they are finished + 8 + 32 + + 0 + + + + TestResults + FB_TestResults + Test result information + 621296256 + 64 + + + AdsTestResultLogger + FB_AdsTestResultLogger + Prints the results to ADS so that Visual Studio can display the results. + This test result formatter can be replaced with something else than ADS + 224 + 621296320 + + + old_input_assignments + + + + + TestResultLogger + I_TestResultLogger + 32 + 621296544 + + + AbortRunningTestSuites + BOOL + If this flag is set, it means that some external event triggered the + request to abort running the test suites + 8 + 621296576 + + + xUnitXmlPublisher + FB_xUnitXmlPublisher + Publishes a xUnit compatible XML file + 530304 + 621296608 + + + old_input_assignments + + + + + XmlTestResultPublisher + I_TestResultLogger + 32 + 621826912 + + + __RUNTESTSUITETESTSINSEQUENCE__CURRENTLYRUNNINGTESTSUITE + UINT + This variable holds which current test suite is being called, as we are running + each one in a sequence (one by one) + 16 + 621826944 + + 1 + + + + __RUNTESTSUITETESTSINSEQUENCE__TIMERBETWEENEXECUTIONOFTESTSUITES + TOF + 224 + 621826976 + + + AbortRunningTestSuiteTests + + + RunTestSuiteTestsInSequence + + TimeBetweenTestSuitesExecution + Time delay between a test suite is finished and the next test suite starts + TIME + 32 + + + BusyPrinting + BOOL + 8 + + + NumberOfTestSuitesFinished + We need to hold a temporary state of the statistics as we don't consider the tests to be completely finished until all test suites have executed completely. The reason we want to do it this way is because a test suite can run over several cycles. Only once all tests - are finished (which might take many cycles), do we gather correct statistics ]]>UINT16CurrentlyRunningTestSuiteUINT16uselocation__RUNTESTSUITETESTSINSEQUENCE__CURRENTLYRUNNINGTESTSUITETimerBetweenExecutionOfTestSuitesTOF224uselocation__RUNTESTSUITETESTSINSEQUENCE__TIMERBETWEENEXECUTIONOFTESTSUITESRunTestSuiteTestsCounterUINT16BusyPrintingBOOL8NumberOfTestSuitesFinished + UINT + 16 + + + CurrentlyRunningTestSuite + This variable holds which current test suite is being called, as we are running + each one in a sequence (one by one) + UINT + 16 + + + uselocation + __RUNTESTSUITETESTSINSEQUENCE__CURRENTLYRUNNINGTESTSUITE + + + + + TimerBetweenExecutionOfTestSuites + TOF + 224 + + + uselocation + __RUNTESTSUITETESTSINSEQUENCE__TIMERBETWEENEXECUTIONOFTESTSUITES + + + + + + RunTestSuiteTests + + Counter + UINT + 16 + + + BusyPrinting + BOOL + 8 + + + NumberOfTestSuitesFinished + We need to hold a temporary state of the statistics as we don't consider the tests to be completely finished until all test suites have executed completely. The reason we want to do it this way is because a test suite can run over several cycles. Only once all tests - are finished (which might take many cycles), do we gather correct statistics ]]>UINT16PouTypeFunctionBlockFB_Test + UINT + 16 + + + + + PouType + FunctionBlock + + + + + FB_Test + This function block holds all data that defines a test. -]]>4192TestNameT_MaxString204832TestIsFinishedBOOL82080TestIsSkippedBOOL82088NumberOfAssertionsUINT162096TestOrderNumberUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 4192 + + TestName + T_MaxString + 2048 + 32 + + + TestIsFinished + BOOL + 8 + 2080 + + + TestIsSkipped + BOOL + This is set to true, if test is disabled (by putting the string "disabled_" in front of the test name + 8 + 2088 + + + NumberOfAssertions + UINT + 16 + 2096 + + + TestOrderNumber + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + In which order/sequence relative to the order tests should this test be executed/evaluated. A value of 0 means it is not defined by TEST_ORDERED() but by un-ordered test (TEST()). - A value <> 0 tells in which order this test will be executed/evaluated. The lower the number, the earlier it will execute. ]]>162112TestIsFailedBOOL82128AssertionMessageT_MaxString20482136AssertionTypeE_AssertionType84184GetAssertionTypeE_AssertionType8SetFailedSetNameNameT_MaxString2048GetNameT_MaxString2048SetNumberOfAssertionsNoOfAssertionsUINT16SetTestOrderOrderNumberUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16IsSkippedBOOL8GetNumberOfAssertionsUINT16SetFinishedBOOL8GetAssertionMessageT_MaxString2048SetSkippedSetAssertionMessageAssertMessageT_MaxString2048SetAssertionTypeAssertTypeE_AssertionType8IsFinishedBOOL8GetTestOrderUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16IsFailedBOOL8PouTypeFunctionBlockUINT (1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16UINTLowerBorder1UpperBorder100TYPE_CLASS32DWORDTYPE_BOOL0TYPE_BIT1TYPE_BYTE2TYPE_WORD3TYPE_DWORD4TYPE_LWORD5TYPE_SINT6TYPE_INT7TYPE_DINT8TYPE_LINT9TYPE_USINT10TYPE_UINT11TYPE_UDINT12TYPE_ULINT13TYPE_REAL14TYPE_LREAL15TYPE_STRING16TYPE_WSTRING17TYPE_TIME18TYPE_DATE19TYPE_DATEANDTIME20TYPE_TIMEOFDAY21TYPE_POINTER22TYPE_REFERENCE23TYPE_SUBRANGE24TYPE_ENUM25TYPE_ARRAY26TYPE_PARAMS27TYPE_USERDEF28TYPE_NONE29TYPE_ANY30TYPE_ANYBIT31TYPE_ANYDATE32TYPE_ANYINT33TYPE_ANYNUM34TYPE_ANYREAL35TYPE_LAZY36TYPE_LTIME37TYPE_BITCONST38AnyType96pValueBYTE320diSizeDINT3232TypeClassTYPE_CLASS3264linkalwaysFW_GetCurTaskIndex64nIndexBYTE832ItemTypeOutputPouTypeFunctionBlockconditionalshowGETCURTASKINDEX128indexBYTE832ItemTypeOutputfbGetCurTaskIndexFW_GetCurTaskIndex6464conditionalshowPouTypeFunctionBlockconditionalshow_all_localsE_TypeFieldParam16INTTYPEFIELD_UNKNOWN0TYPEFIELD_B1TYPEFIELD_O2TYPEFIELD_U3TYPEFIELD_C4TYPEFIELD_F5TYPEFIELD_D6TYPEFIELD_S7TYPEFIELD_XU8TYPEFIELD_XL9TYPEFIELD_EU10TYPEFIELD_EL11ST_FormatParameters160bPercentBOOL80bFlagsBOOL88bWidthBOOL816bDotBOOL824bPrecisionBOOL832bTypeBOOL840bAlignBOOL848bSignBOOL856bNullBOOL864bBlankBOOL872bHashBOOL880iWidthINT1696iPrecisionINT16112bWidthAsteriskBOOL8128bPrecisionAsteriskBOOL8136eTypeE_TypeFieldParam16144conditionalshowFB_FormatString7840sFormatT_MaxString204832ItemTypeInputarg1T_Arg962080ItemTypeInputarg2T_Arg962176ItemTypeInputarg3T_Arg962272ItemTypeInputarg4T_Arg962368ItemTypeInputarg5T_Arg962464ItemTypeInputarg6T_Arg962560ItemTypeInputarg7T_Arg962656ItemTypeInputarg8T_Arg962752ItemTypeInputarg9T_Arg962848ItemTypeInputarg10T_Arg962944ItemTypeInputbErrorBOOL error, FALSE => no error ]]>83040ItemTypeOutputnErrIdUDINT323072ItemTypeOutputsOutT_MaxString20483104ItemTypeOutputpFormatBYTE3251520conditionalshowpOutBYTE3251840conditionalshowiRemOutLenINT165216conditionalshowbValidBOOL85232conditionalshowstFmtST_FormatParameters1605248conditionalshownArrayElemINT165408conditionalshownArgumentUDINT325440conditionalshowparArgsT_Arg1103205472conditionalshowsArgStrT_MaxString20485792conditionalshowPouTypeFunctionBlockconditionalshow_all_localsTypeClass16INTTYPE_BOOL0TYPE_BIT1TYPE_BYTE2TYPE_WORD3TYPE_DWORD4TYPE_LWORD5TYPE_SINT6TYPE_INT7TYPE_DINT8TYPE_LINT9TYPE_USINT10TYPE_UINT11TYPE_UDINT12TYPE_ULINT13TYPE_REAL14TYPE_LREAL15TYPE_STRING16TYPE_WSTRING17TYPE_TIME18TYPE_DATE19TYPE_DATEANDTIME20TYPE_TIMEOFDAY21TYPE_POINTER22TYPE_REFERENCE23TYPE_SUBRANGE24TYPE_ENUM25TYPE_ARRAY26TYPE_PARAMS27TYPE_USERDEF28TYPE_NONE29TYPE_ANY30TYPE_ANYBIT31TYPE_ANYDATE32TYPE_ANYINT33TYPE_ANYNUM34TYPE_ANYREAL35TYPE_LAZY36TYPE_LTIME37TYPE_BITCONST38TYPE_INTERFACE-4096U_ExpectedOrActual4096boolExpectedOrActualBOOL80bitExpectedOrActualBIT80byteExpectedOrActualBYTE80sintExpectedOrActualSINT80usintExpectedOrActualUSINT80intExpectedOrActualINT160uintExpectedOrActualUINT160wordExpectedOrActualWORD160dwordExpectedOrActualDWORD320dateandtimeExpectedOrActualDATE_AND_TIME320dintExpectedOrActualDINT320realExpectedOrActualREAL320timeExpectedOrActualTIME320dateExpectedOrActualDATE320udintExpectedOrActualUDINT320timeofdayExpectedOrActualTIME_OF_DAY320lwordExpectedOrActualLWORD640lintExpectedOrActualLINT640ulintExpectedOrActualULINT640lrealExpectedOrActualLREAL640ltimeExpectedOrActualLTIME640stringExpectedOrActualT_MaxString20480wstringExpectedOrActualWSTRING(255)40960ST_AssertResult12288ExpectedU_ExpectedOrActual40960ActualU_ExpectedOrActual40964096MessageT_MaxString20488192TestInstancePathT_MaxString204810240ST_AssertResultInstances12352AssertResultST_AssertResult122880DetectionCountUINT1612288DetectionCountThisCycleUINT1612304FB_AssertResultStatic + 16 + 2112 + + + TestIsFailed + BOOL + Indication of whether this test has at least one failed assert + 8 + 2128 + + + AssertionMessage + T_MaxString + Assertion message for the first assertion in this test + 2048 + 2136 + + + AssertionType + E_AssertionType + Assertion type for the first assertion in this test + 8 + 4184 + + + GetAssertionType + E_AssertionType + 8 + + + SetFailed + + + SetName + + Name + T_MaxString + 2048 + + + + GetName + T_MaxString + 2048 + + + SetNumberOfAssertions + + NoOfAssertions + UINT + 16 + + + + SetTestOrder + + OrderNumber + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + + + + IsSkipped + BOOL + 8 + + + GetNumberOfAssertions + UINT + 16 + + + SetFinished + BOOL + 8 + + + GetAssertionMessage + T_MaxString + 2048 + + + SetSkipped + + + SetAssertionMessage + + AssertMessage + T_MaxString + 2048 + + + + SetAssertionType + + AssertType + E_AssertionType + 8 + + + + IsFinished + BOOL + 8 + + + GetTestOrder + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + + + IsFailed + BOOL + 8 + + + + PouType + FunctionBlock + + + + + UINT (1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + UINT + + + LowerBorder + 1 + + + UpperBorder + 100 + + + + + TYPE_CLASS + 32 + DWORD + + TYPE_BOOL + 0 + + + TYPE_BIT + 1 + + + TYPE_BYTE + 2 + + + TYPE_WORD + 3 + + + TYPE_DWORD + 4 + + + TYPE_LWORD + 5 + + + TYPE_SINT + 6 + + + TYPE_INT + 7 + + + TYPE_DINT + 8 + + + TYPE_LINT + 9 + + + TYPE_USINT + 10 + + + TYPE_UINT + 11 + + + TYPE_UDINT + 12 + + + TYPE_ULINT + 13 + + + TYPE_REAL + 14 + + + TYPE_LREAL + 15 + + + TYPE_STRING + 16 + + + TYPE_WSTRING + 17 + + + TYPE_TIME + 18 + + + TYPE_DATE + 19 + + + TYPE_DATEANDTIME + 20 + + + TYPE_TIMEOFDAY + 21 + + + TYPE_POINTER + 22 + + + TYPE_REFERENCE + 23 + + + TYPE_SUBRANGE + 24 + + + TYPE_ENUM + 25 + + + TYPE_ARRAY + 26 + + + TYPE_PARAMS + 27 + + + TYPE_USERDEF + 28 + + + TYPE_NONE + 29 + + + TYPE_ANY + 30 + + + TYPE_ANYBIT + 31 + + + TYPE_ANYDATE + 32 + + + TYPE_ANYINT + 33 + + + TYPE_ANYNUM + 34 + + + TYPE_ANYREAL + 35 + + + TYPE_LAZY + 36 + + + TYPE_LTIME + 37 + + + TYPE_BITCONST + 38 + + + + AnyType + 96 + + pValue + BYTE + 32 + 0 + + + diSize + DINT + 32 + 32 + + + TypeClass + TYPE_CLASS + 32 + 64 + + + + linkalways + + + + + FW_GetCurTaskIndex + 64 + + nIndex + BYTE + 8 + 32 + + + ItemType + Output + + + + + + PouType + FunctionBlock + + + conditionalshow + + + + + GETCURTASKINDEX + This function block GETCURTASKINDEX finds the task index of the task from which it is called. + 128 + + index + BYTE + Returns the current task index of the calling task. + 8 + 32 + + + ItemType + Output + + + + + fbGetCurTaskIndex + FW_GetCurTaskIndex + 64 + 64 + + + conditionalshow + + + + + + PouType + FunctionBlock + + + conditionalshow_all_locals + + + + + E_TypeFieldParam + 16 + INT + + TYPEFIELD_UNKNOWN + 0 + Unknown/not set + + + TYPEFIELD_B + 1 + b or B: binary number + + + TYPEFIELD_O + 2 + o or O: octal number + + + TYPEFIELD_U + 3 + u or U: unsigned decimal number + + + TYPEFIELD_C + 4 + c or C: one ASCII character + + + TYPEFIELD_F + 5 + f or F: float number ( normalized format ) + + + TYPEFIELD_D + 6 + d or D: signed decimal number + + + TYPEFIELD_S + 7 + s or S: string + + + TYPEFIELD_XU + 8 + X: hecadecimal number (upper case characters ) + + + TYPEFIELD_XL + 9 + x: hecadecimal number (lower case characters ) + + + TYPEFIELD_EU + 10 + E: float number ( scientific format ) + + + TYPEFIELD_EL + 11 + e: float number ( scientific format ) + + + + ST_FormatParameters + 160 + + bPercent + BOOL + 8 + 0 + + + bFlags + BOOL + 8 + 8 + + + bWidth + BOOL + 8 + 16 + + + bDot + BOOL + 8 + 24 + + + bPrecision + BOOL + 8 + 32 + + + bType + BOOL + 8 + 40 + + + bAlign + BOOL + Default :Right align + 8 + 48 + + + bSign + BOOL + Default: Sign only for negative values + 8 + 56 + + + bNull + BOOL + Default: No padding + 8 + 64 + + + bBlank + BOOL + Default: No blanks + 8 + 72 + + + bHash + BOOL + Default: No blanks + 8 + 80 + + + iWidth + INT + 16 + 96 + + + iPrecision + INT + 16 + 112 + + + bWidthAsterisk + BOOL + 8 + 128 + + + bPrecisionAsterisk + BOOL + 8 + 136 + + + eType + E_TypeFieldParam + format type parameter + 16 + 144 + + + + conditionalshow + + + + + FB_FormatString + Converts and formats up to 10 T_Arg values to string + 7840 + + sFormat + T_MaxString + Format string + 2048 + 32 + + + ItemType + Input + + + + + arg1 + T_Arg + Format argument 1, use F_INT, F_UINT; F_WORD, F_DWORD, F_LREAL... functions to initialize the argument inputs + 96 + 2080 + + + ItemType + Input + + + + + arg2 + T_Arg + Format argument 2 + 96 + 2176 + + + ItemType + Input + + + + + arg3 + T_Arg + Format argument 3 + 96 + 2272 + + + ItemType + Input + + + + + arg4 + T_Arg + Format argument 4 + 96 + 2368 + + + ItemType + Input + + + + + arg5 + T_Arg + Format argument 5 + 96 + 2464 + + + ItemType + Input + + + + + arg6 + T_Arg + Format argument 6 + 96 + 2560 + + + ItemType + Input + + + + + arg7 + T_Arg + Format argument 7 + 96 + 2656 + + + ItemType + Input + + + + + arg8 + T_Arg + Format argument 8 + 96 + 2752 + + + ItemType + Input + + + + + arg9 + T_Arg + Format argument 9 + 96 + 2848 + + + ItemType + Input + + + + + arg10 + T_Arg + Format argument 10 + 96 + 2944 + + + ItemType + Input + + + + + bError + BOOL + TRUE => error, FALSE => no error + 8 + 3040 + + + ItemType + Output + + + + + nErrId + UDINT + Error code + 32 + 3072 + + + ItemType + Output + + + + + sOut + T_MaxString + Output stirng + 2048 + 3104 + + + ItemType + Output + + + + + pFormat + BYTE + 32 + 5152 + + 0 + + + + conditionalshow + + + + + pOut + BYTE + 32 + 5184 + + 0 + + + + conditionalshow + + + + + iRemOutLen + INT + 16 + 5216 + + + conditionalshow + + + + + bValid + BOOL + 8 + 5232 + + + conditionalshow + + + + + stFmt + ST_FormatParameters + 160 + 5248 + + + conditionalshow + + + + + nArrayElem + INT + 16 + 5408 + + + conditionalshow + + + + + nArgument + UDINT + 32 + 5440 + + + conditionalshow + + + + + parArgs + T_Arg + + 1 + 10 + + 320 + 5472 + + + conditionalshow + + + + + sArgStr + T_MaxString + 2048 + 5792 + + + conditionalshow + + + + + + PouType + FunctionBlock + + + conditionalshow_all_locals + + + + + TypeClass + 16 + INT + + TYPE_BOOL + 0 + + + TYPE_BIT + 1 + + + TYPE_BYTE + 2 + + + TYPE_WORD + 3 + + + TYPE_DWORD + 4 + + + TYPE_LWORD + 5 + + + TYPE_SINT + 6 + + + TYPE_INT + 7 + + + TYPE_DINT + 8 + + + TYPE_LINT + 9 + + + TYPE_USINT + 10 + + + TYPE_UINT + 11 + + + TYPE_UDINT + 12 + + + TYPE_ULINT + 13 + + + TYPE_REAL + 14 + + + TYPE_LREAL + 15 + + + TYPE_STRING + 16 + + + TYPE_WSTRING + 17 + + + TYPE_TIME + 18 + + + TYPE_DATE + 19 + + + TYPE_DATEANDTIME + 20 + + + TYPE_TIMEOFDAY + 21 + + + TYPE_POINTER + 22 + + + TYPE_REFERENCE + 23 + + + TYPE_SUBRANGE + 24 + + + TYPE_ENUM + 25 + + + TYPE_ARRAY + 26 + + + TYPE_PARAMS + 27 + + + TYPE_USERDEF + 28 + + + TYPE_NONE + 29 + + + TYPE_ANY + 30 + + + TYPE_ANYBIT + 31 + + + TYPE_ANYDATE + 32 + + + TYPE_ANYINT + 33 + + + TYPE_ANYNUM + 34 + + + TYPE_ANYREAL + 35 + + + TYPE_LAZY + 36 + + + TYPE_LTIME + 37 + + + TYPE_BITCONST + 38 + + + TYPE_INTERFACE + -4096 + + + + U_ExpectedOrActual + 4096 + + boolExpectedOrActual + BOOL + 8 + 0 + + + bitExpectedOrActual + BIT + 8 + 0 + + + byteExpectedOrActual + BYTE + 8 + 0 + + + sintExpectedOrActual + SINT + 8 + 0 + + + usintExpectedOrActual + USINT + 8 + 0 + + + intExpectedOrActual + INT + 16 + 0 + + + uintExpectedOrActual + UINT + 16 + 0 + + + wordExpectedOrActual + WORD + 16 + 0 + + + dwordExpectedOrActual + DWORD + 32 + 0 + + + dateandtimeExpectedOrActual + DATE_AND_TIME + 32 + 0 + + + dintExpectedOrActual + DINT + 32 + 0 + + + realExpectedOrActual + REAL + 32 + 0 + + + timeExpectedOrActual + TIME + 32 + 0 + + + dateExpectedOrActual + DATE + 32 + 0 + + + udintExpectedOrActual + UDINT + 32 + 0 + + + timeofdayExpectedOrActual + TIME_OF_DAY + 32 + 0 + + + lwordExpectedOrActual + LWORD + 64 + 0 + + + lintExpectedOrActual + LINT + 64 + 0 + + + ulintExpectedOrActual + ULINT + 64 + 0 + + + lrealExpectedOrActual + LREAL + 64 + 0 + + + ltimeExpectedOrActual + LTIME + 64 + 0 + + + stringExpectedOrActual + T_MaxString + 2048 + 0 + + + wstringExpectedOrActual + WSTRING(255) + 4096 + 0 + + + + ST_AssertResult + 12288 + + Expected + U_ExpectedOrActual + 4096 + 0 + + + Actual + U_ExpectedOrActual + 4096 + 4096 + + + Message + T_MaxString + 2048 + 8192 + + + TestInstancePath + T_MaxString + 2048 + 10240 + + + + ST_AssertResultInstances + 12352 + + AssertResult + ST_AssertResult + 12288 + 0 + + + DetectionCount + UINT + Number of instances of the "AssertResult" + 16 + 12288 + + + DetectionCountThisCycle + UINT + Number of instance of the "AssertResult" in this specific PLC-cycle + 16 + 12304 + + + + FB_AssertResultStatic + This function block is responsible for keeping track of which asserts that have been made. The reason we need to keep track of these is because if the user does the same assert twice (because of running a test suite over several PLC-cycles) we want to know it so we don't print several times (if the assert fails). @@ -133,7 +6894,457 @@ - Value of actual - Message (string) - Test instance path (string) -]]>24640320AssertResultsST_AssertResult110001228800064TotalAssertsUINT16122880640GetCurrentTaskIndexGETCURTASKINDEX12812288096AssertResultInstancesST_AssertResultInstances110001235200012288256CycleCountUDINT3224640256FirstCycleExecutedBOOL824640288CopyDetectionCountAndResetDetectionCountInThisCycleIteratorCounterUINT16GetNumberOfAssertsForTestUINT16CompleteTestInstancePathT_MaxString2048CounterUINT16NumberOfAssertsUINT16CreateAssertResultInstanceExpectedSizeUDINT32ExpectedTypeClassTypeClass16ExpectedValueBYTE32ActualSizeUDINT32ActualTypeClassTypeClass16ActualValueBYTE32MessageT_MaxString2048TestInstancePathT_MaxString2048IteratorCounterUINT16GetDetectionCountThisCycleUINT16ExpectedSizeUDINT32ExpectedTypeClassTypeClass16ExpectedValueBYTE32ActualSizeUDINT32ActualTypeClassTypeClass16ActualValueBYTE32MessageT_MaxString2048TestInstancePathT_MaxString2048IteratorCounterUINT16GetDetectionCountUINT16ExpectedSizeUDINT32ExpectedTypeClassTypeClass16ExpectedValueBYTE32ActualSizeUDINT32ActualTypeClassTypeClass16ActualValueBYTE32MessageT_MaxString2048TestInstancePathT_MaxString2048IteratorCounterUINT16ReportResultExpectedSizeUDINT32ExpectedTypeClassTypeClass16ExpectedValueBYTE32ActualSizeUDINT32ActualTypeClassTypeClass16ActualValueBYTE32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8ItemTypeOutputLocationIndexUINT16DataTypesNotEqualsBOOL8DataSizeNotEqualsBOOL8DataContentNotEqualsBOOL8CurrentCycleCountUDINT32IteratorCounterUINT16DetectionCountTempUINT16FoundOneBOOL8AdditionalIdenticalAssertBOOL8AddAssertResultExpectedSizeUDINT32ExpectedTypeClassTypeClass16ExpectedValueBYTE32ActualSizeUDINT32ActualTypeClassTypeClass16ActualValueBYTE32MessageT_MaxString2048TestInstancePathT_MaxString2048PouTypeFunctionBlockST_AssertArrayResult4224ExpectedsSizeUDINT320ExpectedsTypeClassTypeClass1632ActualsSizeUDINT3264ActualsTypeClassTypeClass1696MessageT_MaxString2048112TestInstancePathT_MaxString20482160ST_AssertArrayResultInstances4256AssertArrayResultST_AssertArrayResult42240DetectionCountUINT164224DetectionCountThisCycleUINT164240FB_AssertArrayResultStatic + 24640320 + + AssertResults + ST_AssertResult + + 1 + 1000 + + The total number of instances of each of the "AssertResults" + 12288000 + 64 + + + TotalAsserts + UINT + The total number of unique asserts + 16 + 12288064 + + 0 + + + + GetCurrentTaskIndex + GETCURTASKINDEX + Function block to get the current task cycle + 128 + 12288096 + + + AssertResultInstances + ST_AssertResultInstances + + 1 + 1000 + + The total number of instances of each of the "AssertResults" + 12352000 + 12288256 + + + CycleCount + UDINT + The last PLC cycle count + 32 + 24640256 + + + FirstCycleExecuted + BOOL + Only run first cycle + 8 + 24640288 + + + CopyDetectionCountAndResetDetectionCountInThisCycle + + IteratorCounter + UINT + 16 + + + + GetNumberOfAssertsForTest + UINT + 16 + + CompleteTestInstancePath + T_MaxString + 2048 + + + Counter + UINT + 16 + + + NumberOfAsserts + UINT + 16 + + + + CreateAssertResultInstance + + ExpectedSize + UDINT + 32 + + + ExpectedTypeClass + TypeClass + 16 + + + ExpectedValue + BYTE + 32 + + + ActualSize + UDINT + 32 + + + ActualTypeClass + TypeClass + 16 + + + ActualValue + BYTE + 32 + + + Message + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + IteratorCounter + UINT + 16 + + + + GetDetectionCountThisCycle + UINT + 16 + + ExpectedSize + UDINT + 32 + + + ExpectedTypeClass + TypeClass + 16 + + + ExpectedValue + BYTE + 32 + + + ActualSize + UDINT + 32 + + + ActualTypeClass + TypeClass + 16 + + + ActualValue + BYTE + 32 + + + Message + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + IteratorCounter + UINT + 16 + + + + GetDetectionCount + UINT + 16 + + ExpectedSize + UDINT + 32 + + + ExpectedTypeClass + TypeClass + 16 + + + ExpectedValue + BYTE + 32 + + + ActualSize + UDINT + 32 + + + ActualTypeClass + TypeClass + 16 + + + ActualValue + BYTE + 32 + + + Message + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + IteratorCounter + UINT + 16 + + + + ReportResult + + ExpectedSize + UDINT + 32 + + + ExpectedTypeClass + TypeClass + 16 + + + ExpectedValue + BYTE + 32 + + + ActualSize + UDINT + 32 + + + ActualTypeClass + TypeClass + 16 + + + ActualValue + BYTE + 32 + + + Message + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + ItemType + Output + + + + + LocationIndex + UINT + 16 + + + DataTypesNotEquals + BOOL + 8 + + + DataSizeNotEquals + BOOL + 8 + + + DataContentNotEquals + BOOL + 8 + + + CurrentCycleCount + UDINT + 32 + + + IteratorCounter + UINT + 16 + + + DetectionCountTemp + UINT + 16 + + + FoundOne + BOOL + 8 + + + AdditionalIdenticalAssert + BOOL + 8 + + + + AddAssertResult + + ExpectedSize + UDINT + 32 + + + ExpectedTypeClass + TypeClass + 16 + + + ExpectedValue + BYTE + 32 + + + ActualSize + UDINT + 32 + + + ActualTypeClass + TypeClass + 16 + + + ActualValue + BYTE + 32 + + + Message + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + + + PouType + FunctionBlock + + + + + ST_AssertArrayResult + 4224 + + ExpectedsSize + UDINT + Size in bytes of the expecteds-array + 32 + 0 + + + ExpectedsTypeClass + TypeClass + The data type of the expecteds-array + 16 + 32 + + + ActualsSize + UDINT + Size in bytes of the actuals-array + 32 + 64 + + + ActualsTypeClass + TypeClass + The data type of the actuals-array + 16 + 96 + + + Message + T_MaxString + 2048 + 112 + + + TestInstancePath + T_MaxString + 2048 + 2160 + + + + ST_AssertArrayResultInstances + 4256 + + AssertArrayResult + ST_AssertArrayResult + 4224 + 0 + + + DetectionCount + UINT + Number of instances of the "AssertArrayResult" + 16 + 4224 + + + DetectionCountThisCycle + UINT + Number of instance of the "AssertArrayResult" in this specific PLC-cycle + 16 + 4240 + + + + FB_AssertArrayResultStatic + This function block is responsible for keeping track of which array-asserts that have been made. The reason we need to keep track of these is because if the user does the same assert twice (because of running a test suite over several PLC-cycles) we want to know it so we don't print several times @@ -144,46 +7355,7919 @@ - Datatype of the actuals - Message (string) - Test instance path (string) -]]>8480256AssertArrayResultsST_AssertArrayResult11000422400032TotalArrayAssertsUINT1642240320GetCurrentTaskIndexGETCURTASKINDEX1284224064AssertArrayResultInstancesST_AssertArrayResultInstances1100042560004224192CycleCountUDINT328480192FirstCycleExecutedBOOL88480224CreateAssertResultInstanceExpectedsSizeUDINT32ExpectedsTypeClassTypeClass16ActualsSizeUDINT32ActualsTypeClassTypeClass16MessageT_MaxString2048TestInstancePathT_MaxString2048IteratorCounterUINT16GetDetectionCountThisCycleUINT16ExpectedsSizeUDINT32ExpectedsTypeClassTypeClass16ActualsSizeUDINT32ActualsTypeClassTypeClass16MessageT_MaxString2048TestInstancePathT_MaxString2048IteratorCounterUINT16GetDetectionCountUINT16ExpectedsSizeUDINT32ExpectedsTypeClassTypeClass16ActualsSizeUDINT32ActualsTypeClassTypeClass16MessageT_MaxString2048TestInstancePathT_MaxString2048IteratorCounterUINT16ReportResultExpectedsSizeUDINT32ExpectedsTypeClassTypeClass16ActualsSizeUDINT32ActualsTypeClassTypeClass16MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8ItemTypeOutputLocationIndexUINT16DataTypesNotEqualsBOOL8DataSizeNotEqualsBOOL8DataContentNotEqualsBOOL8CurrentCycleCountUDINT32IteratorCounterUINT16DetectionCountTempUINT16FoundOneBOOL8AdditionalIdenticalAssertBOOL8GetNumberOfArrayAssertsForTestUINT16CompleteTestInstancePathT_MaxString2048CounterUINT16NumberOfArrayAssertsUINT16CopyDetectionCountAndResetDetectionCountInThisCycleIteratorCounterUINT16AddAssertArrayResultExpectedsSizeUDINT32ExpectedsTypeClassTypeClass16ActualsSizeUDINT32ActualsTypeClassTypeClass16MessageT_MaxString2048TestInstancePathT_MaxString2048PouTypeFunctionBlockI_AssertMessageFormatter32PVOIDLogAssertFailureExpectedT_MaxString2048ActualT_MaxString2048MessageT_MaxString2048TestInstancePathT_MaxString2048FB_AdjustAssertFailureMessageToMax253CharLength + 8480256 + + AssertArrayResults + ST_AssertArrayResult + + 1 + 1000 + + The total number of instances of each of the "AssertArrayResults" + 4224000 + 32 + + + TotalArrayAsserts + UINT + The total number of unique asserts + 16 + 4224032 + + 0 + + + + GetCurrentTaskIndex + GETCURTASKINDEX + Function block to get the current task cycle + 128 + 4224064 + + + AssertArrayResultInstances + ST_AssertArrayResultInstances + + 1 + 1000 + + The total number of instances of each of the "AssertArrayResults" + 4256000 + 4224192 + + + CycleCount + UDINT + The last PLC cycle count + 32 + 8480192 + + + FirstCycleExecuted + BOOL + Only run first cycle + 8 + 8480224 + + + CreateAssertResultInstance + + ExpectedsSize + UDINT + 32 + + + ExpectedsTypeClass + TypeClass + 16 + + + ActualsSize + UDINT + 32 + + + ActualsTypeClass + TypeClass + 16 + + + Message + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + IteratorCounter + UINT + 16 + + + + GetDetectionCountThisCycle + UINT + 16 + + ExpectedsSize + UDINT + 32 + + + ExpectedsTypeClass + TypeClass + 16 + + + ActualsSize + UDINT + 32 + + + ActualsTypeClass + TypeClass + 16 + + + Message + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + IteratorCounter + UINT + 16 + + + + GetDetectionCount + UINT + 16 + + ExpectedsSize + UDINT + 32 + + + ExpectedsTypeClass + TypeClass + 16 + + + ActualsSize + UDINT + 32 + + + ActualsTypeClass + TypeClass + 16 + + + Message + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + IteratorCounter + UINT + 16 + + + + ReportResult + + ExpectedsSize + UDINT + 32 + + + ExpectedsTypeClass + TypeClass + 16 + + + ActualsSize + UDINT + 32 + + + ActualsTypeClass + TypeClass + 16 + + + Message + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + ItemType + Output + + + + + LocationIndex + UINT + 16 + + + DataTypesNotEquals + BOOL + 8 + + + DataSizeNotEquals + BOOL + 8 + + + DataContentNotEquals + BOOL + 8 + + + CurrentCycleCount + UDINT + 32 + + + IteratorCounter + UINT + 16 + + + DetectionCountTemp + UINT + 16 + + + FoundOne + BOOL + 8 + + + AdditionalIdenticalAssert + BOOL + 8 + + + + GetNumberOfArrayAssertsForTest + UINT + 16 + + CompleteTestInstancePath + T_MaxString + 2048 + + + Counter + UINT + 16 + + + NumberOfArrayAsserts + UINT + 16 + + + + CopyDetectionCountAndResetDetectionCountInThisCycle + + IteratorCounter + UINT + 16 + + + + AddAssertArrayResult + + ExpectedsSize + UDINT + 32 + + + ExpectedsTypeClass + TypeClass + 16 + + + ActualsSize + UDINT + 32 + + + ActualsTypeClass + TypeClass + 16 + + + Message + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + + + PouType + FunctionBlock + + + + + I_AssertMessageFormatter + 32 + PVOID + + LogAssertFailure + + Expected + T_MaxString + 2048 + + + Actual + T_MaxString + 2048 + + + Message + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + + + FB_AdjustAssertFailureMessageToMax253CharLength + This function block is responsible for making sure that the asserted test instance path and test message are not loo long. The total printed message can not be more than 253 characters long. -]]>11584MsgFmtStringT_MaxString204832ItemTypeInputStringArgT_MaxString20482080ItemTypeInputMsgFmtStringProcessedT_MaxString20484128ItemTypeOutputStringArgProcessedT_MaxString20486176ItemTypeOutputMsgFmtStringTempT_MaxString20488224TestNameTooLongSTRING(80)64810272...TestName too longTestMsgTooLongSTRING(80)64810920...TestMsg too longMSG_FMT_STRING_MAX_NUMBER_OF_CHARACTERSINT1611568253PouTypeFunctionBlockFB_AdsAssertMessageFormatter + 11584 + + MsgFmtString + T_MaxString + Test instance path + 2048 + 32 + + + ItemType + Input + + + + + StringArg + T_MaxString + Test message + 2048 + 2080 + + + ItemType + Input + + + + + MsgFmtStringProcessed + T_MaxString + 2048 + 4128 + + + ItemType + Output + + + + + StringArgProcessed + T_MaxString + 2048 + 6176 + + + ItemType + Output + + + + + MsgFmtStringTemp + T_MaxString + 2048 + 8224 + + + TestNameTooLong + STRING(80) + 648 + 10272 + + ...TestName too long + + + + TestMsgTooLong + STRING(80) + 648 + 10920 + + ...TestMsg too long + + + + MSG_FMT_STRING_MAX_NUMBER_OF_CHARACTERS + INT + This is actually 254, but if StrArg-argument is used (which it is in TcUnit) it is 253. + 16 + 11568 + + 253 + + + + + PouType + FunctionBlock + + + + + FB_AdsAssertMessageFormatter + This function block is responsible for printing the results of the assertions using the built-in ADSLOGSTR functionality provided by the Tc2_System library. This sends the result using ADS, which is consumed by the error list of Visual Studio. -]]>64I_AssertMessageFormatterLogAssertFailureExpectedT_MaxString2048ActualT_MaxString2048MessageT_MaxString2048TestInstancePathT_MaxString2048AdjustAssertFailureMessageToMax253CharLengthFB_AdjustAssertFailureMessageToMax253CharLength11584TestInstancePathCleanedT_MaxString2048TestInstancePathFinalT_MaxString2048ReturnValueDINT32TestInstancePathProcessedT_MaxString2048MessageProcessedT_MaxString2048PouTypeFunctionBlockFB_TestSuite + 64 + I_AssertMessageFormatter + + LogAssertFailure + + Expected + T_MaxString + 2048 + + + Actual + T_MaxString + 2048 + + + Message + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AdjustAssertFailureMessageToMax253CharLength + FB_AdjustAssertFailureMessageToMax253CharLength + 11584 + + + TestInstancePathCleaned + T_MaxString + 2048 + + + TestInstancePathFinal + T_MaxString + 2048 + + + ReturnValue + DINT + 32 + + + TestInstancePathProcessed + T_MaxString + 2048 + + + MessageProcessed + T_MaxString + 2048 + + + + + PouType + FunctionBlock + + + + + FB_TestSuite + This function block is responsible for holding the internal state of the test suite. Every test suite can have one or more tests, and every test can do one or more asserts. It's also responsible for providing all the assert-methods for asserting different data types. Only failed assertions are recorded. -]]>33551744InstancePathT_MaxString204832instance-pathnoinitGetCurrentTaskIndexGETCURTASKINDEX + 33551744 + + InstancePath + T_MaxString + 2048 + 32 + + + instance-path + + + noinit + + + + + GetCurrentTaskIndex + GETCURTASKINDEX + We need to have access to specific information of the current task that this test suite is executed in. This is for instance necessary when we need to know whether a test is defined already. The definition of a test that is defined already is that we call on it - with the same name twice in the same cycle ]]>1282080NumberOfTestsUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)1622080TestsFB_Test11004192002240TestDuplicateNameTriggerR_TRIG11006400421440TestCycleCountIndexUDINT11003200427840AssertResultsFB_AssertResultStatic24640320431040AssertArrayResultsFB_AssertArrayResultStatic848025625071360AdsAssertMessageFormatterFB_AdsAssertMessageFormatter6433551616AssertMessageFormatterI_AssertMessageFormatter3233551680HasStartedRunningBOOL833551712NumberOfOrderedTestsUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)1633551728AssertEquals_LINTExpectedLINT64ActualLINT64MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8GetNumberOfSuccessfulTestsUINT16AssertArrayEquals_ULINTExpectedsULINT32variable_length_arrayDimensions1ActualsULINT32variable_length_arrayDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32FindTestSuiteInstancePathT_MaxString2048AssertEquals_TIMEExpectedTIME32ActualTIME32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertEquals_TIME_OF_DAYExpectedTIME_OF_DAY32ActualTIME_OF_DAY32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertEquals_BYTEExpectedBYTE8ActualBYTE8MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8GetNumberOfFailedTestsUINT16CounterUINT16FailedTestsCountUINT16NumberOfTestsToAnalyseUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16NumberOfTestOverArrayLimitUINT16AssertEquals_DATE_AND_TIMEExpectedDATE_AND_TIME32ActualDATE_AND_TIME32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8GetTestByPositionFB_Test4192PositionUINT (1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16AssertArrayEquals_BOOLExpectedsBOOL32variable_length_arrayDimensions1ActualsBOOL32variable_length_arrayDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32AssertArrayEquals_BYTEExpectedsBYTE32variable_length_arrayDimensions1ActualsBYTE32variable_length_arrayDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedByteStringSTRING(80)648ActualByteStringSTRING(80)648ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32AssertEquals_DATEExpectedDATE32ActualDATE32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertEquals_WORDExpectedWORD16ActualWORD16MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArrayEquals_LINTExpectedsLINT32variable_length_arrayDimensions1ActualsLINT32variable_length_arrayDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32AssertEquals_LTIMEExpectedLTIME64ActualLTIME64MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArrayEquals_UINTExpectedsUINT32variable_length_arrayDimensions1ActualsUINT32variable_length_arrayDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32AssertEquals_LREALExpectedLREAL64ActualLREAL64DeltaLREAL64MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArrayEquals_LWORDExpectedsLWORD32variable_length_arrayDimensions1ActualsLWORD32variable_length_arrayDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedLWordStringSTRING(80)648ActualLWordStringSTRING(80)648ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32AssertEqualsExpectedAnyType96anytypeclassANYActualAnyType96anytypeclassANYMessageT_MaxString2048CountDINT32ExpectedDataStringT_MaxString2048ActualDataStringT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8boolExpectedBOOL8boolActualBOOL8byteExpectedBYTE8byteActualBYTE8dateExpectedDATE32dateActualDATE32dateAndTimeExpectedDATE_AND_TIME32dateAndTimeActualDATE_AND_TIME32dintExpectedDINT32dintActualDINT32dwordExpectedDWORD32dwordActualDWORD32intExpectedINT16intActualINT16lintExpectedLINT64lintActualLINT64lrealExpectedLREAL64lrealActualLREAL64ltimeExpectedLTIME64ltimeActualLTIME64lwordExpectedLWORD64lwordActualLWORD64realExpectedREAL32realActualREAL32sintExpectedSINT8sintActualSINT8stringExpectedT_MaxString2048stringActualT_MaxString2048wstringExpectedWSTRING(255)4096wstringActualWSTRING(255)4096timeExpectedTIME32timeActualTIME32timeOfDayExpectedTIME_OF_DAY32timeOfDayActualTIME_OF_DAY32udintExpectedUDINT32udintActualUDINT32uintExpectedUINT16uintActualUINT16ulintExpectedULINT64ulintActualULINT64usintExpectedUSINT8usintActualUSINT8wordExpectedWORD16wordActualWORD16DataTypesNotEqualsBOOL8DataSizeNotEqualsBOOL8DataContentNotEqualsBOOL8IteratorCounterDINT32hasanytypeAssertFalseConditionBOOL8MessageT_MaxString2048AssertEquals_SINTExpectedSINT8ActualSINT8MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArray2dEquals_LREALExpectedsLREAL32variable_length_arrayDimensions2ActualsLREAL32variable_length_arrayDimensions2DeltaLREAL64MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048DimensionIndexUSINT8LowerBoundExpectedsDINT1264UpperBoundExpectedsDINT1264LowerBoundActualsDINT1264UpperBoundActualsDINT1264SizeOfExpectedsDINT1264SizeOfActualsDINT1264OffsetDINT1264ExpectedArrayIndexDINT1264ActualArrayIndexDINT1264ExpectedLREAL64ActualLREAL64__Index__0DINT32AssertEquals_ULINTExpectedULINT64ActualULINT64MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertEquals_BOOLExpectedBOOL8ActualBOOL8MessageT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048AssertEquals_USINTExpectedUSINT8ActualUSINT8MessageT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048AssertEquals_LWORDExpectedLWORD64ActualLWORD64MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArrayEquals_USINTExpectedsUSINT32variable_length_arrayDimensions1ActualsUSINT32variable_length_arrayDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32SetHasStartedRunningSetTestFailedAssertionTypeE_AssertionType8AssertionMessageT_MaxString2048IteratorCounterUINT16NumberOfTestsToAnalyseUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16GetInstancePathT_MaxString2048GetTestOrderNumberUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16TestNameT_MaxString2048IteratorCounterUINT16NumberOfTestsToAnalyseUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16GetNumberOfTestsUINT16AssertArrayEquals_DWORDExpectedsDWORD32variable_length_arrayDimensions1ActualsDWORD32variable_length_arrayDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedDWordStringSTRING(80)648ActualDWordStringSTRING(80)648ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32GetHasStartedRunningBOOL8AssertArrayEquals_LREALExpectedsLREAL32variable_length_arrayDimensions1ActualsLREAL32variable_length_arrayDimensions1DeltaLREAL64MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32AssertEquals_WSTRINGExpectedWSTRING(255)4096ActualWSTRING(255)4096MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8IsTestFinishedBOOL8TestNameT_MaxString2048IteratorCounterUINT16NumberOfTestsToAnalyseUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16AssertArrayEquals_REALExpectedsREAL32variable_length_arrayDimensions1ActualsREAL32variable_length_arrayDimensions1DeltaREAL32MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32AssertEquals_DINTExpectedDINT32ActualDINT32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArrayEquals_DINTExpectedsDINT32variable_length_arrayDimensions1ActualsDINT32variable_length_arrayDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32AssertEquals_STRINGExpectedT_MaxString2048ActualT_MaxString2048MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8SetTestFinishedBOOL8TestNameT_MaxString2048IteratorCounterUINT16NumberOfTestsToAnalyseUINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite)16AreAllTestsFinishedBOOL8CounterUINT16GetCurTaskIndexGETCURTASKINDEX128NumberOfTestsToAnalyseUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16AssertArrayEquals_WORDExpectedsWORD32variable_length_arrayDimensions1ActualsWORD32variable_length_arrayDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedDWordStringSTRING(80)648ActualDWordStringSTRING(80)648ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32AssertArray3dEquals_LREALExpectedsLREAL32variable_length_arrayDimensions3ActualsLREAL32variable_length_arrayDimensions3DeltaLREAL64MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048DimensionIndexUSINT8LowerBoundExpectedsDINT1396UpperBoundExpectedsDINT1396LowerBoundActualsDINT1396UpperBoundActualsDINT1396SizeOfExpectedsDINT1396SizeOfActualsDINT1396OffsetDINT1396ExpectedArrayIndexDINT1396ActualArrayIndexDINT1396ExpectedLREAL64ActualLREAL64__Index__0DINT32AssertArrayEquals_INTExpectedsINT32variable_length_arrayDimensions1ActualsINT32variable_length_arrayDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32CalculateAndSetNumberOfAssertsForTestTestNameT_MaxString2048TestInstancePathT_MaxString2048TotalNumberOfAssertsUINT16NumberOfAssertsUINT16NumberOfArrayAssertsUINT16IteratorCounterUINT16GetNumberOfSkippedTestsUINT16CounterUINT16SkippedTestsCountUINT16NumberOfTestsToAnalyseUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16AssertEquals_DWORDExpectedDWORD32ActualDWORD32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertTrueConditionBOOL8MessageT_MaxString2048AssertEquals_INTExpectedINT16ActualINT16MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertEquals_UINTExpectedUINT16ActualUINT16MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArray2dEquals_REALExpectedsREAL32variable_length_arrayDimensions2ActualsREAL32variable_length_arrayDimensions2DeltaREAL32MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048DimensionIndexUSINT8LowerBoundExpectedsDINT1264UpperBoundExpectedsDINT1264LowerBoundActualsDINT1264UpperBoundActualsDINT1264SizeOfExpectedsDINT1264SizeOfActualsDINT1264OffsetDINT1264ExpectedArrayIndexDINT1264ActualArrayIndexDINT1264ExpectedREAL32ActualREAL32__Index__0DINT32AddTestTestNameT_MaxString2048IsTestOrderedBOOL8IteratorCounterUINT16ErrorMessageT_MaxString2048TestInstancePathT_MaxString2048FunctionCallResultDINT32CycleCountUDINT32TestWithThisNameAlreadyExistsBOOL8LowerCasedTestNameT_MaxString2048TrimmedTestNameT_MaxString2048IgnoreCurrentTestCaseBOOL8NumberOfTestsToAnalyseUINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites)16AssertArray3dEquals_REALExpectedsREAL32variable_length_arrayDimensions3ActualsREAL32variable_length_arrayDimensions3DeltaREAL32MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048DimensionIndexUSINT8LowerBoundExpectedsDINT1396UpperBoundExpectedsDINT1396LowerBoundActualsDINT1396UpperBoundActualsDINT1396SizeOfExpectedsDINT1396SizeOfActualsDINT1396OffsetDINT1396ExpectedArrayIndexDINT1396ActualArrayIndexDINT1396ExpectedREAL32ActualREAL32ExpectedValueStringT_MaxString2048ActualValueStringT_MaxString2048FormatStringFB_FormatString7840__Index__0DINT32AddTestNameToInstancePathT_MaxString2048TestInstancePathT_MaxString2048CompleteTestInstancePathT_MaxString2048AssertEquals_UDINTExpectedUDINT32ActualUDINT32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertEquals_REALExpectedREAL32ActualREAL32DeltaREAL32MessageT_MaxString2048TestInstancePathT_MaxString2048AlreadyReportedBOOL8AssertArrayEquals_SINTExpectedsSINT32variable_length_arrayDimensions1ActualsSINT32variable_length_arrayDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32AssertArrayEquals_UDINTExpectedsUDINT32variable_length_arrayDimensions1ActualsUDINT32variable_length_arrayDimensions1MessageT_MaxString2048EqualsBOOL8SizeEqualsBOOL8IndexDINT32ExpectedStringT_MaxString2048ActualStringT_MaxString2048AlreadyReportedBOOL8TestInstancePathT_MaxString2048SizeOfExpectedsDINT32SizeOfActualsDINT32ExpectedsIndexDINT32ActualsIndexDINT32__Index__0DINT32PouTypeFunctionBlockcall_after_initreflectionST_AdsLogStringMessage4128MsgCtrlMaskDWORD320MsgFmtStrT_MaxString204832StrArgT_MaxString20482080pack_mode1FB_MemRingBuffer + 128 + 2080 + + + NumberOfTests + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + 2208 + + 0 + + + + Tests + FB_Test + + 1 + 100 + + 419200 + 2240 + + + TestDuplicateNameTrigger + R_TRIG + + 1 + 100 + + Rising trigger of whether we have already notified the user of that the test name pointed to by the current + position is a duplicate + 6400 + 421440 + + + TestCycleCountIndex + UDINT + + 1 + 100 + + Last cycle count index for a specific test. Used to detect whether this test has already been defined in the + current test suite + 3200 + 427840 + + + AssertResults + FB_AssertResultStatic + 24640320 + 431040 + + + AssertArrayResults + FB_AssertArrayResultStatic + 8480256 + 25071360 + + + AdsAssertMessageFormatter + FB_AdsAssertMessageFormatter + Prints the failed asserts to ADS so that Visual Studio can display the assert message. + This assert formatter can be replaced with something else than ADS + 64 + 33551616 + + + AssertMessageFormatter + I_AssertMessageFormatter + 32 + 33551680 + + + HasStartedRunning + BOOL + Indication whether this test suite has started running its tests + 8 + 33551712 + + + NumberOfOrderedTests + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + Number of ordered tests (created by TEST_ORDERED()) that this test suite contains + 16 + 33551728 + + + AssertEquals_LINT + + Expected + LINT expected value + LINT + 64 + + + Actual + LINT actual value + LINT + 64 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + GetNumberOfSuccessfulTests + UINT + 16 + + + AssertArrayEquals_ULINT + + Expecteds + ULINT array with expected values + ULINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + ULINT array with actual values + ULINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + FindTestSuiteInstancePath + T_MaxString + 2048 + + + AssertEquals_TIME + + Expected + TIME expected value + TIME + 32 + + + Actual + TIME actual value + TIME + 32 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertEquals_TIME_OF_DAY + + Expected + TIME_OF_DAY expected value + TIME_OF_DAY + 32 + + + Actual + TIME_OF_DAY actual value + TIME_OF_DAY + 32 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertEquals_BYTE + + Expected + BYTE expected value + BYTE + 8 + + + Actual + BYTE actual value + BYTE + 8 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + GetNumberOfFailedTests + UINT + 16 + + Counter + UINT + 16 + + + FailedTestsCount + UINT + 16 + + + NumberOfTestsToAnalyse + UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites) + 16 + + + NumberOfTestOverArrayLimit + UINT + 16 + + + + AssertEquals_DATE_AND_TIME + + Expected + DATE_AND_TIME expected value + DATE_AND_TIME + 32 + + + Actual + DATE_AND_TIME actual value + DATE_AND_TIME + 32 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + GetTestByPosition + FB_Test + 4192 + + Position + UINT (1..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + + + + AssertArrayEquals_BOOL + + Expecteds + BOOL array with expected values + BOOL + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + BOOL array with actual values + BOOL + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + AssertArrayEquals_BYTE + + Expecteds + BYTE array with expected values + BYTE + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + BYTE array with actual values + BYTE + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedByteString + STRING(80) + 648 + + + ActualByteString + STRING(80) + 648 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + AssertEquals_DATE + + Expected + DATE expected value + DATE + 32 + + + Actual + DATE actual value + DATE + 32 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertEquals_WORD + + Expected + WORD expected value + WORD + 16 + + + Actual + WORD actual value + WORD + 16 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertArrayEquals_LINT + + Expecteds + LINT array with expected values + LINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + LINT array with actual values + LINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + AssertEquals_LTIME + + Expected + LTIME expected value + LTIME + 64 + + + Actual + LTIME actual value + LTIME + 64 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertArrayEquals_UINT + + Expecteds + UINT array with expected values + UINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + UINT array with actual values + UINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + AssertEquals_LREAL + + Expected + LREAL expected value + LREAL + 64 + + + Actual + LREAL actual value + LREAL + 64 + + + Delta + The maximum delta between the absolute value of expected and actual for which both numbers are still considered equal + LREAL + 64 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertArrayEquals_LWORD + + Expecteds + LWORD array with expected values + LWORD + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + LWORD array with actual values + LWORD + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedLWordString + STRING(80) + 648 + + + ActualLWordString + STRING(80) + 648 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + AssertEquals + + Expected + Expected value + AnyType + 96 + + + anytypeclass + ANY + + + + + Actual + The value to check against expected + AnyType + 96 + + + anytypeclass + ANY + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Count + DINT + 32 + + + ExpectedDataString + T_MaxString + 2048 + + + ActualDataString + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + boolExpected + BOOL + 8 + + + boolActual + BOOL + 8 + + + byteExpected + BYTE + 8 + + + byteActual + BYTE + 8 + + + dateExpected + DATE + 32 + + + dateActual + DATE + 32 + + + dateAndTimeExpected + DATE_AND_TIME + 32 + + + dateAndTimeActual + DATE_AND_TIME + 32 + + + dintExpected + DINT + 32 + + + dintActual + DINT + 32 + + + dwordExpected + DWORD + 32 + + + dwordActual + DWORD + 32 + + + intExpected + INT + 16 + + + intActual + INT + 16 + + + lintExpected + LINT + 64 + + + lintActual + LINT + 64 + + + lrealExpected + LREAL + 64 + + + lrealActual + LREAL + 64 + + + ltimeExpected + LTIME + 64 + + + ltimeActual + LTIME + 64 + + + lwordExpected + LWORD + 64 + + + lwordActual + LWORD + 64 + + + realExpected + REAL + 32 + + + realActual + REAL + 32 + + + sintExpected + SINT + 8 + + + sintActual + SINT + 8 + + + stringExpected + T_MaxString + 2048 + + + stringActual + T_MaxString + 2048 + + + wstringExpected + WSTRING(255) + 4096 + + + wstringActual + WSTRING(255) + 4096 + + + timeExpected + TIME + 32 + + + timeActual + TIME + 32 + + + timeOfDayExpected + TIME_OF_DAY + 32 + + + timeOfDayActual + TIME_OF_DAY + 32 + + + udintExpected + UDINT + 32 + + + udintActual + UDINT + 32 + + + uintExpected + UINT + 16 + + + uintActual + UINT + 16 + + + ulintExpected + ULINT + 64 + + + ulintActual + ULINT + 64 + + + usintExpected + USINT + 8 + + + usintActual + USINT + 8 + + + wordExpected + WORD + 16 + + + wordActual + WORD + 16 + + + DataTypesNotEquals + The data type of the two ANY input parameters are not equal + BOOL + 8 + + + DataSizeNotEquals + The data size of the two ANY input parameters are not equal + BOOL + 8 + + + DataContentNotEquals + The data content of the two ANY input parameters are not equal + BOOL + 8 + + + IteratorCounter + DINT + 32 + + + + hasanytype + + + + + AssertFalse + + Condition + Condition to be checked + BOOL + 8 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + + AssertEquals_SINT + + Expected + SINT expected value + SINT + 8 + + + Actual + SINT actual value + SINT + 8 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertArray2dEquals_LREAL + + Expecteds + LREAL 2d array with expected values + LREAL + 32 + + + variable_length_array + + + Dimensions + 2 + + + + + Actuals + LREAL 2d array with actual values + LREAL + 32 + + + variable_length_array + + + Dimensions + 2 + + + + + Delta + The maximum delta between the value of expected and actual for which both numbers are still considered equal, proportional to the expected value in that array cell + LREAL + 64 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + DimensionIndex + Index when looping through Dimensions + USINT + 8 + + + LowerBoundExpecteds + Lower bounds of Expecteds array in each dimension + DINT + + 1 + 2 + + 64 + + + UpperBoundExpecteds + Upper bounds of Expecteds array in each dimension + DINT + + 1 + 2 + + 64 + + + LowerBoundActuals + Lower bounds of Actuals array in each dimension + DINT + + 1 + 2 + + 64 + + + UpperBoundActuals + Upper bounds of Actuals array in each dimension + DINT + + 1 + 2 + + 64 + + + SizeOfExpecteds + Size of Expecteds array in each dimension + DINT + + 1 + 2 + + 64 + + + SizeOfActuals + Size of Actuals array in each dimension + DINT + + 1 + 2 + + 64 + + + Offset + Current Array index offsets from Lower Bound in each dimension + DINT + + 1 + 2 + + 64 + + + ExpectedArrayIndex + Array of current Expected array indexes when looping through arrays + DINT + + 1 + 2 + + 64 + + + ActualArrayIndex + Array of current Actual array indexes when looping through arrays + DINT + + 1 + 2 + + 64 + + + Expected + Single expected value + LREAL + 64 + + + Actual + Single actual value + LREAL + 64 + + + __Index__0 + DINT + 32 + + + + AssertEquals_ULINT + + Expected + ULINT expected value + ULINT + 64 + + + Actual + ULINT actual value + ULINT + 64 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertEquals_BOOL + + Expected + BOOL expected value + BOOL + 8 + + + Actual + BOOL actual value + BOOL + 8 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + + AssertEquals_USINT + + Expected + USINT expected value + USINT + 8 + + + Actual + USINT actual value + USINT + 8 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + + AssertEquals_LWORD + + Expected + LWORD expected value + LWORD + 64 + + + Actual + LWORD actual value + LWORD + 64 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertArrayEquals_USINT + + Expecteds + USINT array with expected values + USINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + USINT array with actual values + USINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + SetHasStartedRunning + + + SetTestFailed + + AssertionType + E_AssertionType + 8 + + + AssertionMessage + T_MaxString + 2048 + + + IteratorCounter + UINT + 16 + + + NumberOfTestsToAnalyse + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + + + + GetInstancePath + T_MaxString + 2048 + + + GetTestOrderNumber + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + + TestName + T_MaxString + 2048 + + + IteratorCounter + UINT + 16 + + + NumberOfTestsToAnalyse + UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites) + 16 + + + + GetNumberOfTests + UINT + 16 + + + AssertArrayEquals_DWORD + + Expecteds + DWORD array with expected values + DWORD + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + DWORD array with actual values + DWORD + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedDWordString + STRING(80) + 648 + + + ActualDWordString + STRING(80) + 648 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + GetHasStartedRunning + BOOL + 8 + + + AssertArrayEquals_LREAL + + Expecteds + LREAL array with expected values + LREAL + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + LREAL array with actual values + LREAL + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Delta + The maximum delta between the value of expected and actual for which both numbers are still considered equal, proportional to the expected value in that array cell + LREAL + 64 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + AssertEquals_WSTRING + + Expected + WSTRING expected value + WSTRING(255) + 4096 + + + Actual + WSTRING actual value + WSTRING(255) + 4096 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + IsTestFinished + BOOL + 8 + + TestName + T_MaxString + 2048 + + + IteratorCounter + UINT + 16 + + + NumberOfTestsToAnalyse + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + + + + AssertArrayEquals_REAL + + Expecteds + REAL array with expected values + REAL + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + REAL array with actual values + REAL + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Delta + The maximum delta between the value of expected and actual for which both numbers are still considered equal, proportional to the expected value in that array cell + REAL + 32 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + AssertEquals_DINT + + Expected + DINT expected value + DINT + 32 + + + Actual + DINT actual value + DINT + 32 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertArrayEquals_DINT + + Expecteds + DINT array with expected values + DINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + DINT array with actual values + DINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + AssertEquals_STRING + + Expected + STRING expected value + T_MaxString + 2048 + + + Actual + STRING actual value + T_MaxString + 2048 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + SetTestFinished + BOOL + 8 + + TestName + T_MaxString + 2048 + + + IteratorCounter + UINT + 16 + + + NumberOfTestsToAnalyse + UINT (0..GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite) + 16 + + + + AreAllTestsFinished + BOOL + 8 + + Counter + UINT + 16 + + + GetCurTaskIndex + GETCURTASKINDEX + 128 + + + NumberOfTestsToAnalyse + UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites) + 16 + + + + AssertArrayEquals_WORD + + Expecteds + WORD array with expected values + WORD + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + WORD array with actual values + WORD + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedDWordString + STRING(80) + 648 + + + ActualDWordString + STRING(80) + 648 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + AssertArray3dEquals_LREAL + + Expecteds + LREAL 3d array with expected values + LREAL + 32 + + + variable_length_array + + + Dimensions + 3 + + + + + Actuals + LREAL 3d array with actual values + LREAL + 32 + + + variable_length_array + + + Dimensions + 3 + + + + + Delta + The maximum delta between the value of expected and actual for which both numbers are still considered equal, proportional to the expected value in that array cell + LREAL + 64 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + DimensionIndex + Index when looping through Dimensions + USINT + 8 + + + LowerBoundExpecteds + Lower bounds of Expecteds array in each dimension + DINT + + 1 + 3 + + 96 + + + UpperBoundExpecteds + Upper bounds of Expecteds array in each dimension + DINT + + 1 + 3 + + 96 + + + LowerBoundActuals + Lower bounds of Actuals array in each dimension + DINT + + 1 + 3 + + 96 + + + UpperBoundActuals + Upper bounds of Actuals array in each dimension + DINT + + 1 + 3 + + 96 + + + SizeOfExpecteds + Size of Expecteds array in each dimension + DINT + + 1 + 3 + + 96 + + + SizeOfActuals + Size of Actuals array in each dimension + DINT + + 1 + 3 + + 96 + + + Offset + Current Array index offsets from Lower Bound in each dimension + DINT + + 1 + 3 + + 96 + + + ExpectedArrayIndex + Array of current Expected array indexes when looping through arrays + DINT + + 1 + 3 + + 96 + + + ActualArrayIndex + Array of current Actual array indexes when looping through arrays + DINT + + 1 + 3 + + 96 + + + Expected + Single expected value + LREAL + 64 + + + Actual + Single actual value + LREAL + 64 + + + __Index__0 + DINT + 32 + + + + AssertArrayEquals_INT + + Expecteds + INT array with expected values + INT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + INT array with actual values + INT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + CalculateAndSetNumberOfAssertsForTest + + TestName + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + TotalNumberOfAsserts + UINT + 16 + + + NumberOfAsserts + UINT + 16 + + + NumberOfArrayAsserts + UINT + 16 + + + IteratorCounter + UINT + 16 + + + + GetNumberOfSkippedTests + UINT + 16 + + Counter + UINT + 16 + + + SkippedTestsCount + UINT + 16 + + + NumberOfTestsToAnalyse + UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites) + 16 + + + + AssertEquals_DWORD + + Expected + DWORD expected value + DWORD + 32 + + + Actual + DWORD actual value + DWORD + 32 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertTrue + + Condition + Condition to be checked + BOOL + 8 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + + AssertEquals_INT + + Expected + INT expected value + INT + 16 + + + Actual + INT actual value + INT + 16 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertEquals_UINT + + Expected + UINT expected value + UINT + 16 + + + Actual + UINT actual value + UINT + 16 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertArray2dEquals_REAL + + Expecteds + REAL 2d array with expected values + REAL + 32 + + + variable_length_array + + + Dimensions + 2 + + + + + Actuals + REAL 2d array with actual values + REAL + 32 + + + variable_length_array + + + Dimensions + 2 + + + + + Delta + The maximum delta between the value of expected and actual for which both numbers are still considered equal, proportional to the expected value in that array cell + REAL + 32 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + DimensionIndex + Index when looping through Dimensions + USINT + 8 + + + LowerBoundExpecteds + Lower bounds of Expecteds array in each dimension + DINT + + 1 + 2 + + 64 + + + UpperBoundExpecteds + Upper bounds of Expecteds array in each dimension + DINT + + 1 + 2 + + 64 + + + LowerBoundActuals + Lower bounds of Actuals array in each dimension + DINT + + 1 + 2 + + 64 + + + UpperBoundActuals + Upper bounds of Actuals array in each dimension + DINT + + 1 + 2 + + 64 + + + SizeOfExpecteds + Size of Expecteds array in each dimension + DINT + + 1 + 2 + + 64 + + + SizeOfActuals + Size of Actuals array in each dimension + DINT + + 1 + 2 + + 64 + + + Offset + Current Array index offsets from Lower Bound in each dimension + DINT + + 1 + 2 + + 64 + + + ExpectedArrayIndex + Array of current Expected array indexes when looping through arrays + DINT + + 1 + 2 + + 64 + + + ActualArrayIndex + Array of current Actual array indexes when looping through arrays + DINT + + 1 + 2 + + 64 + + + Expected + Single expected value + REAL + 32 + + + Actual + Single actual value + REAL + 32 + + + __Index__0 + DINT + 32 + + + + AddTest + + TestName + T_MaxString + 2048 + + + IsTestOrdered + BOOL + 8 + + + IteratorCounter + UINT + 16 + + + ErrorMessage + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + FunctionCallResult + DINT + 32 + + + CycleCount + UDINT + 32 + + + TestWithThisNameAlreadyExists + BOOL + 8 + + + LowerCasedTestName + T_MaxString + 2048 + + + TrimmedTestName + T_MaxString + 2048 + + + IgnoreCurrentTestCase + BOOL + 8 + + + NumberOfTestsToAnalyse + UINT (UINT#1..GVL_Param_TcUnit.MaxNumberOfTestSuites) + 16 + + + + AssertArray3dEquals_REAL + + Expecteds + REAL 3d array with expected values + REAL + 32 + + + variable_length_array + + + Dimensions + 3 + + + + + Actuals + REAL 3d array with actual values + REAL + 32 + + + variable_length_array + + + Dimensions + 3 + + + + + Delta + The maximum delta between the value of expected and actual for which both numbers are still considered equal, proportional to the expected value in that array cell + REAL + 32 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + DimensionIndex + Index when looping through Dimensions + USINT + 8 + + + LowerBoundExpecteds + Lower bounds of Expecteds array in each dimension + DINT + + 1 + 3 + + 96 + + + UpperBoundExpecteds + Upper bounds of Expecteds array in each dimension + DINT + + 1 + 3 + + 96 + + + LowerBoundActuals + Lower bounds of Actuals array in each dimension + DINT + + 1 + 3 + + 96 + + + UpperBoundActuals + Upper bounds of Actuals array in each dimension + DINT + + 1 + 3 + + 96 + + + SizeOfExpecteds + Size of Expecteds array in each dimension + DINT + + 1 + 3 + + 96 + + + SizeOfActuals + Size of Actuals array in each dimension + DINT + + 1 + 3 + + 96 + + + Offset + Current Array index offsets from Lower Bound in each dimension + DINT + + 1 + 3 + + 96 + + + ExpectedArrayIndex + Array of current Expected array indexes when looping through arrays + DINT + + 1 + 3 + + 96 + + + ActualArrayIndex + Array of current Actual array indexes when looping through arrays + DINT + + 1 + 3 + + 96 + + + Expected + Single expected value + REAL + 32 + + + Actual + Single actual value + REAL + 32 + + + ExpectedValueString + T_MaxString + 2048 + + + ActualValueString + T_MaxString + 2048 + + + FormatString + String formatter for output messages + FB_FormatString + 7840 + + + __Index__0 + DINT + 32 + + + + AddTestNameToInstancePath + T_MaxString + 2048 + + TestInstancePath + T_MaxString + 2048 + + + CompleteTestInstancePath + T_MaxString + 2048 + + + + AssertEquals_UDINT + + Expected + UDINT expected value + UDINT + 32 + + + Actual + UDINT actual value + UDINT + 32 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertEquals_REAL + + Expected + REAL expected value + REAL + 32 + + + Actual + REAL actual value + REAL + 32 + + + Delta + The maximum delta between the absolute value of expected and actual for which both numbers are still considered equal + REAL + 32 + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + TestInstancePath + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + + AssertArrayEquals_SINT + + Expecteds + SINT array with expected values + SINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + SINT array with actual values + SINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + AssertArrayEquals_UDINT + + Expecteds + UDINT array with expected values + UDINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Actuals + UDINT array with actual values + UDINT + 32 + + + variable_length_array + + + Dimensions + 1 + + + + + Message + The identifying message for the assertion error + T_MaxString + 2048 + + + Equals + BOOL + 8 + + + SizeEquals + BOOL + 8 + + + Index + DINT + 32 + + + ExpectedString + T_MaxString + 2048 + + + ActualString + T_MaxString + 2048 + + + AlreadyReported + BOOL + 8 + + + TestInstancePath + T_MaxString + 2048 + + + SizeOfExpecteds + DINT + 32 + + + SizeOfActuals + DINT + 32 + + + ExpectedsIndex + DINT + 32 + + + ActualsIndex + DINT + 32 + + + __Index__0 + DINT + 32 + + + + + PouType + FunctionBlock + + + call_after_init + + + reflection + + + + + ST_AdsLogStringMessage + 4128 + + MsgCtrlMask + DWORD + 32 + 0 + + + MsgFmtStr + T_MaxString + 2048 + 32 + + + StrArg + T_MaxString + 2048 + 2080 + + + + pack_mode + 1 + + + + + FB_MemRingBuffer + This function block implements ring buffer fifo functionality. A_AddTail adds new entry, A_GetHead gets first (oldest) entry - A_RemoveHead gets and removes first (oldest) entry. Use A_Reset to clear all fifo data. ]]>544pWriteBYTE3232ItemTypeInputcbWriteUDINT3264ItemTypeInputpReadBYTE3296ItemTypeInputcbReadUDINT32128ItemTypeInputpBufferBYTE32160ItemTypeInputcbBufferUDINT32192ItemTypeInputbOkBOOL8224ItemTypeOutputnCountUDINT322560ItemTypeOutputcbSizeUDINT322880ItemTypeOutputcbReturnUDINT 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) ]]>323200ItemTypeOutputidxLastDWORD323520conditionalshowidxFirstDWORD323840conditionalshowidxGetDWORD32416conditionalshowpTmpBYTE32448conditionalshowcbTmpDWORD32480conditionalshowcbCopiedDWORD32512conditionalshowA_ResetA_AddTailA_RemoveHeadA_GetHeadPouTypeFunctionBlockconditionalshow_all_localsTON224INBOOL832ItemTypeInputPTTIME3264ItemTypeInputQBOOL896ItemTypeOutputETTIME32128ItemTypeOutputMBOOL8160StartTimeTIME32192PouTypeFunctionBlockFB_AdsLogStringMessageFifoQueue + 544 + + pWrite + BYTE + Pointer to write data + 32 + 32 + + + ItemType + Input + + + + + cbWrite + UDINT + Byte size of write data + 32 + 64 + + + ItemType + Input + + + + + pRead + BYTE + Pointer to read data buffer + 32 + 96 + + + ItemType + Input + + + + + cbRead + UDINT + Byte size of read data buffer + 32 + 128 + + + ItemType + Input + + + + + pBuffer + BYTE + Pointer to ring buffer data bytes + 32 + 160 + + + ItemType + Input + + + + + cbBuffer + UDINT + Max. ring buffer byte size + 32 + 192 + + + ItemType + Input + + + + + bOk + BOOL + TRUE = new entry added or removed succesfully, FALSE = fifo overflow or fifo empty + 8 + 224 + + + ItemType + Output + + + + + nCount + UDINT + Number of fifo entries + 32 + 256 + + 0 + + + + ItemType + Output + + + + + cbSize + UDINT + Current byte length of fifo data + 32 + 288 + + 0 + + + + ItemType + Output + + + + + cbReturn + UDINT + 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) + 32 + 320 + + 0 + + + + ItemType + Output + + + + + idxLast + DWORD + 32 + 352 + + 0 + + + + conditionalshow + + + + + idxFirst + DWORD + 32 + 384 + + 0 + + + + conditionalshow + + + + + idxGet + DWORD + 32 + 416 + + + conditionalshow + + + + + pTmp + BYTE + 32 + 448 + + + conditionalshow + + + + + cbTmp + DWORD + 32 + 480 + + + conditionalshow + + + + + cbCopied + DWORD + 32 + 512 + + + conditionalshow + + + + + A_Reset + + + A_AddTail + + + A_RemoveHead + + + A_GetHead + + + + PouType + FunctionBlock + + + conditionalshow_all_locals + + + + + TON + 224 + + IN + BOOL + starts timer with rising edge, resets timer with falling edge + 8 + 32 + + + ItemType + Input + + + + + PT + TIME + time to pass, before Q is set + 32 + 64 + + + ItemType + Input + + + + + Q + BOOL + gets TRUE, delay time (PT) after a rising edge at IN + 8 + 96 + + + ItemType + Output + + + + + ET + TIME + elapsed time + 32 + 128 + + + ItemType + Output + + + + + M + BOOL + 8 + 160 + + + StartTime + TIME + 32 + 192 + + + + PouType + FunctionBlock + + + + + FB_AdsLogStringMessageFifoQueue + This function block is responsible for making sure that the ADSLOGSTR-messages to the ADS-router are transmitted cyclically and not in a burst. The reason this is necessary is because that if too many messages are sent at the same time some get lost and are never printed to the error list output -]]>8320864ArrayBufferBYTE01040000832000032MemRingBufferFB_MemRingBuffer5448320032TimerBetweenMessagesTON2248320576.IN1.PT10MEM_RING_BUFFER_INTERNAL_USE_PER_DATA_RECORDUSINT883208004TIME_BETWEEN_MESSAGESTIME32832083210GetLogCountUDINT32WriteLogMsgCtrlMaskDWORD32MsgFmtStrT_MaxString2048StrArgT_MaxString2048ErrorBOOL8ItemTypeOutputAdsLogStringMessageST_AdsLogStringMessage4128GetAndRemoveLogFromQueueAdsLogStringMessageST_AdsLogStringMessage4128ItemTypeOutputErrorBOOL8ItemTypeOutputPouTypeFunctionBlockPE_Ranges + 8320864 + + ArrayBuffer + BYTE + + 0 + 1040000 + + 8320000 + 32 + + + MemRingBuffer + FB_MemRingBuffer + 544 + 8320032 + + + TimerBetweenMessages + TON + 224 + 8320576 + + + .IN + 1 + + + .PT + 10 + + + + + MEM_RING_BUFFER_INTERNAL_USE_PER_DATA_RECORD + USINT + 8 + 8320800 + + 4 + + + + TIME_BETWEEN_MESSAGES + TIME + 32 + 8320832 + + 10 + + + + GetLogCount + UDINT + 32 + + + WriteLog + + MsgCtrlMask + DWORD + 32 + + + MsgFmtStr + T_MaxString + 2048 + + + StrArg + T_MaxString + 2048 + + + Error + Buffer overflow + BOOL + 8 + + + ItemType + Output + + + + + AdsLogStringMessage + ST_AdsLogStringMessage + 4128 + + + + GetAndRemoveLogFromQueue + + AdsLogStringMessage + ST_AdsLogStringMessage + 4128 + + + ItemType + Output + + + + + Error + Buffer empty + BOOL + 8 + + + ItemType + Output + + + + + + + PouType + FunctionBlock + + + + + PE_Ranges + Does nothing other than set the gvl for photon energy bitmask to one of two constants, K or L. Workaround for compile defines not fully working for libraries at the time of writing this. - Otherwise I would have just used the compile define in the GVL declaration.]]>32PouTypeFunctionBlockFB_JsonSaxWriter + 32 + + + PouType + FunctionBlock + + + + + FB_JsonSaxWriter + | Provides the functionality to create a JSON document. | Steps of documentation creation: | 1. StartObject() to start a new object in the document. | 2. Add several keys/values via AddKeyString() and the other methods. | 3. EndObject() to finish object. | 4. GetDocument() in order to get the full document as string. - | 5. ResetDocument() if a new document should be created with the same SaxWriter instance.]]>256initStatusHRESULT3232-1743714536ItemTypeOutputipWriterITcJsonSaxWriter3264ipWriter2ITcJsonSaxWriter23296CLSID_TcJsonSaxWriterCLSID128128.Data13870298264.Data256256.Data317669.Data4[0]158.Data4[1]60.Data4[2]93.Data4[3]248.Data4[4]70.Data4[5]150.Data4[6]7.Data4[7]196AddKeyNumberkeySTRING(80)32ItemTypeInOutvalueDINT32AddStringvalueSTRING(80)32ItemTypeInOutAddKeyFileTimekeySTRING(80)32ItemTypeInOutvalueFILETIME64IsCompleteBOOL8AddUdintvalueUDINT32AddHexBinarypBytesBYTE32nBytesDINT32AddLintvalueLINT64AddLrealvalueLREAL64AddKeykeySTRING(80)32ItemTypeInOutResetDocumentHRESULT32AddKeyLrealkeySTRING(80)32ItemTypeInOutvalueLREAL64StartObjectHRESULT32GetDocumentLengthUDINT32hrErrorCodeHRESULT32ItemTypeOutputnUDINT32pSTRING(80)32AddKeyDcTimekeySTRING(80)32ItemTypeInOutvalueDCTIME64AddDateTimevalueDATE_AND_TIME32AddRawObjectrawJsonSTRING(80)32ItemTypeInOutSetMaxDecimalPlacesHRESULT32decimalPlacesDINT32__get_ipWriterITcJsonSaxWriter32_ipWriterITcJsonSaxWriter32propertyAddKeyBoolkeySTRING(80)32ItemTypeInOutvalueBOOL8GetDocumentSTRING(255)2048hrErrorCodeHRESULT32ItemTypeOutputpSINT32nUDINT32AddDintvalueDINT32AddRawArrayBOOL8rawJsonSTRING(80)32ItemTypeInOutAddKeyStringkeySTRING(80)32ItemTypeInOutvalueSTRING(80)32ItemTypeInOutCopyDocumentUDINT32pDocSTRING(80)32ItemTypeInOutnDocUDINT32hrErrorCodeHRESULT32ItemTypeOutputAddUlintvalueULINT64GetMaxDecimalPlacesDINT32dpDINT32AddFileTimevalueFILETIME64AddNullAddKeyDateTimekeySTRING(80)32ItemTypeInOutvalueDATE_AND_TIME32AddBoolvalueBOOL8AddBase64pBytesBYTE32nBytesDINT32AddDcTimevalueDCTIME64AddKeyNullkeySTRING(80)32ItemTypeInOutEndArrayHRESULT32EndObjectHRESULT32StartArrayHRESULT32AddRealvalueREAL32PouTypeFunctionBlockno_explicit_calldo not call this POU directly_ST_NCADS_IDXOFFS_AxisParameter1632PARAMSTRUCTUDINT3200IDUDINT32321NAMEUDINT32642AXISTYPEUDINT32963CYCLETIMEUDINT321284UNITNAMEUDINT321605VELOREFSEARCHUDINT321926VELOSYNCSEARCHUDINT322247VELOSLOWMANUALUDINT322568VELOFASTMANUALUDINT322889VELOFASTUDINT3232010POSAREAENABLEUDINT3235215POSAREARANGEUDINT3238416MOTCNTRLENABLEUDINT3241617MOTCNTRLTIMEUDINT3244818LOOPENABLEUDINT3248019LOOPDISTANCEUDINT3251220TARGETPOSENAUDINT3254421TARGETPOSRANGEUDINT3257622TARGETPOSTIMEUDINT3260823PULSDISTPOSUDINT3264024PULSDISTNEGUDINT3267225FADINGACCELERATIONUDINT3270429FASTAXISSTOPSIGNALTYPEUDINT3273630UNITFLAGSUDINT3276838VELOMAXIMUMUDINT3280039MOTCNTRLRANGEUDINT3283240PEHCONTROLENAUDINT3286441PEHCONTROLTIMEUDINT3289642BACKLASHCOMPENAUDINT3292843BACKLASHUDINT3296044DATAPERSISTENCEUDINT3299248HWAMSADDRUDINT32102449HWCHNNOUDINT32105650APPLICATIONREQUESTUDINT32108851ACCUDINT321120257DECUDINT321152258JERKUDINT321184259DELAYUDINT321216260OVERRIDETYPEUDINT321248261VELOJUMPFACTORUDINT321280262REDUCTIONFEEDBACKUDINT321312263TOLERANCEBALLAUXAXISUDINT321344264MAXPOSDEVIATIONAUXAXISUDINT321376265FASTACCUDINT321408266FASTDECUDINT321440267FASTJERKUDINT321472268REF_POSUDINT32150465795ENCSEARCHDIRUDINT32153665793ENCSYNCDIRUDINT32156865794ENCREFMODEUDINT32160065799conditionalshow_ST_NCADS_AxisParameter1664IDXGRPUDINT32016384IDXOFFS_ST_NCADS_IDXOFFS_AxisParameter163232conditionalshow_ST_NCADS_IDXOFFS_AxisState800ONLINESTRUCTUDINT3200ERRORUDINT32321SETTASKCYCLEUDINT + 256 + + initStatus + HRESULT + 32 + 32 + + -1743714536 + + + + ItemType + Output + + + + + ipWriter + ITcJsonSaxWriter + 32 + 64 + + + ipWriter2 + ITcJsonSaxWriter2 + 32 + 96 + + + CLSID_TcJsonSaxWriter + CLSID + 128 + 128 + + + .Data1 + 3870298264 + + + .Data2 + 56256 + + + .Data3 + 17669 + + + .Data4[0] + 158 + + + .Data4[1] + 60 + + + .Data4[2] + 93 + + + .Data4[3] + 248 + + + .Data4[4] + 70 + + + .Data4[5] + 150 + + + .Data4[6] + 7 + + + .Data4[7] + 196 + + + + + AddKeyNumber + + key + STRING(80) + 32 + + + ItemType + InOut + + + + + value + DINT + 32 + + + + AddString + + value + STRING(80) + 32 + + + ItemType + InOut + + + + + + AddKeyFileTime + + key + STRING(80) + 32 + + + ItemType + InOut + + + + + value + FILETIME + 64 + + + + IsComplete + BOOL + 8 + + + AddUdint + + value + UDINT + 32 + + + + AddHexBinary + + pBytes + BYTE + 32 + + + nBytes + DINT + 32 + + + + AddLint + + value + LINT + 64 + + + + AddLreal + + value + LREAL + 64 + + + + AddKey + + key + STRING(80) + 32 + + + ItemType + InOut + + + + + + ResetDocument + HRESULT + 32 + + + AddKeyLreal + + key + STRING(80) + 32 + + + ItemType + InOut + + + + + value + LREAL + 64 + + + + StartObject + HRESULT + 32 + + + GetDocumentLength + UDINT + 32 + + hrErrorCode + HRESULT + 32 + + + ItemType + Output + + + + + n + UDINT + 32 + + + p + STRING(80) + 32 + + + + AddKeyDcTime + + key + STRING(80) + 32 + + + ItemType + InOut + + + + + value + DCTIME + 64 + + + + AddDateTime + + value + DATE_AND_TIME + 32 + + + + AddRawObject + + rawJson + STRING(80) + 32 + + + ItemType + InOut + + + + + + SetMaxDecimalPlaces + HRESULT + 32 + + decimalPlaces + DINT + 32 + + + + __get_ipWriter + ITcJsonSaxWriter + 32 + + _ipWriter + ITcJsonSaxWriter + 32 + + + + property + + + + + AddKeyBool + + key + STRING(80) + 32 + + + ItemType + InOut + + + + + value + BOOL + 8 + + + + GetDocument + STRING(255) + 2048 + + hrErrorCode + HRESULT + 32 + + + ItemType + Output + + + + + p + SINT + 32 + + + n + UDINT + 32 + + + + AddDint + + value + DINT + 32 + + + + AddRawArray + BOOL + 8 + + rawJson + STRING(80) + 32 + + + ItemType + InOut + + + + + + AddKeyString + + key + STRING(80) + 32 + + + ItemType + InOut + + + + + value + STRING(80) + 32 + + + ItemType + InOut + + + + + + CopyDocument + UDINT + 32 + + pDoc + target string buffer where the document should be copied to + STRING(80) + 32 + + + ItemType + InOut + + + + + nDoc + size in bytes of the target string buffer + UDINT + 32 + + + hrErrorCode + HRESULT + 32 + + + ItemType + Output + + + + + + AddUlint + + value + ULINT + 64 + + + + GetMaxDecimalPlaces + DINT + 32 + + dp + DINT + 32 + + + + AddFileTime + + value + FILETIME + 64 + + + + AddNull + + + AddKeyDateTime + + key + STRING(80) + 32 + + + ItemType + InOut + + + + + value + DATE_AND_TIME + 32 + + + + AddBool + + value + BOOL + 8 + + + + AddBase64 + + pBytes + BYTE + 32 + + + nBytes + DINT + 32 + + + + AddDcTime + + value + DCTIME + 64 + + + + AddKeyNull + + key + STRING(80) + 32 + + + ItemType + InOut + + + + + + EndArray + HRESULT + 32 + + + EndObject + HRESULT + 32 + + + StartArray + HRESULT + 32 + + + AddReal + + value + REAL + 32 + + + + + PouType + FunctionBlock + + + no_explicit_call + do not call this POU directly + + + + + _ST_NCADS_IDXOFFS_AxisParameter + 1632 + + PARAMSTRUCT + UDINT + NC ADS Index Offsets for Axis Parameters + 32 + 0 + + 0 + + + + ID + UDINT + 32 + 32 + + 1 + + + + NAME + UDINT + 32 + 64 + + 2 + + + + AXISTYPE + UDINT + 32 + 96 + + 3 + + + + CYCLETIME + UDINT + 32 + 128 + + 4 + + + + UNITNAME + UDINT + 32 + 160 + + 5 + + + + VELOREFSEARCH + UDINT + 32 + 192 + + 6 + + + + VELOSYNCSEARCH + UDINT + 32 + 224 + + 7 + + + + VELOSLOWMANUAL + UDINT + 32 + 256 + + 8 + + + + VELOFASTMANUAL + UDINT + 32 + 288 + + 9 + + + + VELOFAST + UDINT + 32 + 320 + + 10 + + + + POSAREAENABLE + UDINT + 32 + 352 + + 15 + + + + POSAREARANGE + UDINT + 32 + 384 + + 16 + + + + MOTCNTRLENABLE + UDINT + 32 + 416 + + 17 + + + + MOTCNTRLTIME + UDINT + 32 + 448 + + 18 + + + + LOOPENABLE + UDINT + 32 + 480 + + 19 + + + + LOOPDISTANCE + UDINT + 32 + 512 + + 20 + + + + TARGETPOSENA + UDINT + 32 + 544 + + 21 + + + + TARGETPOSRANGE + UDINT + 32 + 576 + + 22 + + + + TARGETPOSTIME + UDINT + 32 + 608 + + 23 + + + + PULSDISTPOS + UDINT + 32 + 640 + + 24 + + + + PULSDISTNEG + UDINT + 32 + 672 + + 25 + + + + FADINGACCELERATION + UDINT + 32 + 704 + + 29 + + + + FASTAXISSTOPSIGNALTYPE + UDINT + 32 + 736 + + 30 + + + + UNITFLAGS + UDINT + 32 + 768 + + 38 + + + + VELOMAXIMUM + UDINT + 32 + 800 + + 39 + + + + MOTCNTRLRANGE + UDINT + 32 + 832 + + 40 + + + + PEHCONTROLENA + UDINT + 32 + 864 + + 41 + + + + PEHCONTROLTIME + UDINT + 32 + 896 + + 42 + + + + BACKLASHCOMPENA + UDINT + 32 + 928 + + 43 + + + + BACKLASH + UDINT + 32 + 960 + + 44 + + + + DATAPERSISTENCE + UDINT + 32 + 992 + + 48 + + + + HWAMSADDR + UDINT + 32 + 1024 + + 49 + + + + HWCHNNO + UDINT + 32 + 1056 + + 50 + + + + APPLICATIONREQUEST + UDINT + 32 + 1088 + + 51 + + + + ACC + UDINT + 32 + 1120 + + 257 + + + + DEC + UDINT + 32 + 1152 + + 258 + + + + JERK + UDINT + 32 + 1184 + + 259 + + + + DELAY + UDINT + 32 + 1216 + + 260 + + + + OVERRIDETYPE + UDINT + 32 + 1248 + + 261 + + + + VELOJUMPFACTOR + UDINT + 32 + 1280 + + 262 + + + + REDUCTIONFEEDBACK + UDINT + 32 + 1312 + + 263 + + + + TOLERANCEBALLAUXAXIS + UDINT + 32 + 1344 + + 264 + + + + MAXPOSDEVIATIONAUXAXIS + UDINT + 32 + 1376 + + 265 + + + + FASTACC + UDINT + 32 + 1408 + + 266 + + + + FASTDEC + UDINT + 32 + 1440 + + 267 + + + + FASTJERK + UDINT + 32 + 1472 + + 268 + + + + REF_POS + UDINT + 32 + 1504 + + 65795 + + + + ENCSEARCHDIR + UDINT + 32 + 1536 + + 65793 + + + + ENCSYNCDIR + UDINT + 32 + 1568 + + 65794 + + + + ENCREFMODE + UDINT + 32 + 1600 + + 65799 + + + + + conditionalshow + + + + + _ST_NCADS_AxisParameter + 1664 + + IDXGRP + UDINT + 32 + 0 + + 16384 + + + + IDXOFFS + _ST_NCADS_IDXOFFS_AxisParameter + 1632 + 32 + + + + conditionalshow + + + + + _ST_NCADS_IDXOFFS_AxisState + 800 + + ONLINESTRUCT + UDINT + 32 + 0 + + 0 + + + + ERROR + UDINT + 32 + 32 + + 1 + + + + SETTASKCYCLE + UDINT + ACTPOS = TCNC_IDXOFFS_AXmappedENC | 0x00000002; // 0x00010002; ACTVELO = TCNC_IDXOFFS_AXmappedENC | 0x00000005; // 0x00010005; ACTACC = TCNC_IDXOFFS_AXmappedENC | 0x00000006; // 0x00010006; MODULOACTPOS = TCNC_IDXOFFS_AXmappedENC | 0x00000003; // 0x00010003; MODULOACTTURNS = TCNC_IDXOFFS_AXmappedENC | 0x00000004; // 0x00010004; ACTINCREMENTS = TCNC_IDXOFFS_AXmappedENC | 0x00000007; // 0x00010007; -]]>32649SETPOSUDINT329610SETVELOUDINT3212814SETACCUDINT3216015MODULOSETPOSUDINT3219211MODULOSETTURNSUDINT3222412SETDIRUDINT3225613TARGETPOSITIONUDINT3228819REMAININGTIMEANDPOSUDINT3232020STOPINFORMATIONUDINT3235224SETTASKCYCLE_WITHOUTCORRUDINT3238425SETPOS_WITHOUTCORRUDINT3241626SETVELO_WITHOUTCORRUDINT3244830SETACC_WITHOUTCORRUDINT3248031SETDIR_WITHOUTCORRUDINT3251229COUPLESTATEUDINT3254432CPLPARAMSUDINT3257634CPLFACTORUDINT3260835AXISCTRLLOOPIDXUDINT3264036AXISSETPOINTGENIDXUDINT3267237CPLCHARACVALUESUDINT3270438CAMINFOUDINT3273639CAMSTATUSUDINT3276840conditionalshow_ST_NCADS_AxisState832IDXGRPUDINT32016640IDXOFFS_ST_NCADS_IDXOFFS_AxisState80032conditionalshow_ST_NCADS_IDXOFFS_AxisFunctions1792RESETUDINT3201STOPUDINT32322CLEARUDINT32643EMERGENCYSTOPUDINT32964PARAMETRIZEDSTOPUDINT321285INITIALIZEUDINT321607ORIENTEDSTOPUDINT321929CALIBRUDINT3222416NEWTARGPOSUDINT3225617NEWTARGPOSANDVELOUDINT3228818CHANGEDYNAMICPARAMUDINT3232021UNIVERSALSTARTUDINT3235222SLAVEUNIVERSALSTARTUDINT3238423RELEASEAXISLOCKUDINT3241624SETEXTERNALERRORUDINT3244825SETPOSUDINT3248026SETCALFLAGUDINT3251227SETACTPOSUDINT3254428SETDRIVEPOSUDINT3257629SETENCODERSCALINGUDINT3260830SETPOSONTHEFLYUDINT3264031STARTUDINT3267232STARTEXTUDINT3270433STARTVELOCHANGEUDINT3273634ENABLEEXTGENUDINT3276835DISABLEEXTGENUDINT3280036REVERSINGSEQUENCEUDINT3283237STARTDRVOUTUDINT3286438STOPDRVOUTUDINT3289639CHANGEDRVOUTUDINT3292840JUMPTOOVERRIDEUDINT3296041EXTSETGENUNIVERSALSTARTUDINT3299243UNIVERSALTORQUESTARTUDINT32102445STARTSCOMUDINT32105648STOPSCOMUDINT32108849PHASINGREQEUSTUDINT32112052CPLUDINT32115264DECPLUDINT32118465CPLCHANGEUDINT32121666TABCPLCHANGEUDINT32124867STOPSLAVEUDINT32128068CPLTABUDINT32131269TABSLVACTIVCORUDINT32134470TABSLVLEAVECYCUDINT32137671TABSLVCOROFFSETUDINT32140872TABSLVSCALINGUDINT32144073CPLSOLOTABUDINT32147274CPLSYNCHRONIZINGUDINT32150475CAMSCALINGUDINT32153677DISABLEUDINT32156880ENABLEUDINT32160081CHANGEAXISCTRLLOOPUDINT32163282DRIVEDISABLEUDINT32166496DRIVEENABLEUDINT32169697RELEASEBRAKEUDINT32172898RECONFIGURATEUDINT321760112conditionalshow_ST_NCADS_AxisFunctions1824IDXGRPUDINT32016896IDXOFFS_ST_NCADS_IDXOFFS_AxisFunctions179232conditionalshow_ST_NCADS_Axis4320Parameter_ST_NCADS_AxisParameter16640State_ST_NCADS_AxisState8321664Functions_ST_NCADS_AxisFunctions18242496conditionalshow_ST_NCADS_IDXOFFS_TableParameter192MFREADCHARACVALUESUDINT32080WRITETABROWSUDINT323216777216WRITEMFTABROWSUDINT326483886080MFREADTABUDINT329634READSLAVEDYNAMICSUDINT3212835READMASTERPOSITIONUDINT3216036conditionalshow_ST_NCADS_TableParameter224IDXGRPUDINT32040960IDXOFFS_ST_NCADS_IDXOFFS_TableParameter19232conditionalshow_ST_NCADS_IDXOFFS_TableFunctions96CREATETABUDINT32065536CREATEMOTIONTABUDINT323265552DELETETABUDINT3264131072conditionalshow_ST_NCADS_TableFunctions128IDXGRPUDINT32041472IDXOFFS_ST_NCADS_IDXOFFS_TableFunctions9632conditionalshow_ST_NCADS_Table352Parameter_ST_NCADS_TableParameter2240Functions_ST_NCADS_TableFunctions128224conditionalshowT_AmsPort16UINTADSRDDEVINFO1280NETIDT_AmsNetID19232ItemTypeInputPORTT_AmsPort16224ItemTypeInputRDINFOBOOL8240ItemTypeInputTMOUTTIME322565000ItemTypeInputBUSYBOOL8288ItemTypeOutputERRBOOL8296ItemTypeOutputERRIDUDINT32320ItemTypeOutputDEVNAMESTRING(19)160352ItemTypeOutputDEVVERUDINT32512ItemTypeOutputPouTypeFunctionBlockhide_all_locals_TCMCGLOBAL6976NCPORT_TCMCUINT1632500ItemTypeInputNCPORT_TCMC_COUPLINGUINT1648500ItemTypeInputNCNETID_TCMCT_AmsNetID19264ItemTypeInputNCPORT_TCMC_CAMUINT16256500ItemTypeInputNCPORT_TCMC_CAM_FASTUINT16272500ItemTypeInputNCNETID_TCMC_CAMT_AmsNetID192288ItemTypeInputNCPORT_TCMC_SUPERPOSITIONUINT16480501ItemTypeInputNCPORT_TCMC_RESETUINT16496500ItemTypeInputNcDeviceInfoTcMainVersionDWORD32512ItemTypeOutputNcDeviceInfoTcSubVersionDWORD32544ItemTypeOutputNcDeviceInfoNcDriverVersionDWORD32576ItemTypeOutputNcDeviceInfoNcVersionDWORD32608ItemTypeOutputNcDeviceInfoNcNameSTRING(19)160640ItemTypeOutputAxis_ST_NCADS_Axis4320800ItemTypeOutputsuppress_warning_0C0228Table_ST_NCADS_Table3525120ItemTypeOutputsuppress_warning_0C0228NCPORT_TCNCCAMMING_TABLEFUNCTIONUINT165472500tTargetPosTimeOutTIME3255046000tADSTimeOutTIME3255361000tStopMonitoringTimeOutTIME325568100NCTOPLC_FEEDBACK_MAXWAITCYCLESINT16560010fbADSRDDEVINFOADSRDDEVINFO12805632DeviceVersionDWORD326912InitBOOL86944ReadDeviceInfoPouTypeFunctionBlockconditionalshowPLCTONC_AXIS_REF_CTRL32EnableBIT10FeedEnablePlusBIT11FeedEnableMinusBIT12HomingSensorBIT15AcceptBlockedDriveBIT18PlcDebugFlagBIT130NcDebugFlagBIT131%08x0x%08x16#%08XPLCTONC_AXIS_REF1024ControlDWordPLCTONC_AXIS_REF_CTRL320OverrideUDINT3232AxisModeRequestUDINT3264AxisModeDWordUDINT3296AxisModeLRealLREAL64128PositionCorrectionLREAL64192ExtSetPosLREAL64256ExtSetVeloLREAL64320ExtSetAccLREAL64384ExtSetDirectionDINT32448ExtControllerOutputLREAL64512GearRatio1LREAL64576GearRatio2LREAL64640GearRatio3LREAL64704GearRatio4LREAL64768MapStateBOOL8832PlcCycleControlBYTE8840PlcCycleCountBYTE8848NcStructType1NCAXLESTRUCT_FROMPLC3NCTOPLC_AXIS_REF_STATE32OperationalBIT10HomedBIT11NotMovingBIT12InPositionAreaBIT13InTargetPositionBIT14ProtectedBIT15ErrorPropagationDelayedBIT16HasBeenStoppedBIT17HasJobBIT18PositiveDirectionBIT19NegativeDirectionBIT110HomingBusyBIT111ConstantVelocityBIT112CompensatingBIT113ExtSetPointGenEnabledBIT114PhasingActiveBIT115ExternalLatchValidBIT116NewTargetPosBIT117ContinuousMotionBIT119ControlLoopClosedBIT120CamTableQueuedBIT121CamDataQueuedBIT122CamScalingPendingBIT123CmdBufferedBIT124PTPmodeBIT125SoftLimitMinExceededBIT126SoftLimitMaxExceededBIT127DriveDeviceErrorBIT128MotionCommandsLockedBIT129IoDataInvalidBIT130ErrorBIT131%08x0x%08x16#%08XNCTOPLC_AXIS_REF_OPMODE32OpModePosAreaMonitoringBIT10OpModeTargetPosMonitoringBIT11OpModeLoopBIT12OpModeMotionMonitoringBIT13OpModePEHTimeMonitoringBIT14OpModeBacklashCompensationBIT15OpModeDelayedErrorReactionBIT16OpModeModuloBIT17OpModeSimulationAxisBIT18OpModePosLagMonitoringBIT116OpModeVeloLagMonitoringBIT117OpModeSoftLimitMinMonitoringBIT118OpModeSoftLimitMaxMonitoringBIT119OpModePosCorrectionBIT120OpModeAllowSlaveCommandsBIT121OpModeAllowExtSetAxisCommandsBIT122ApplicationRequestBIT123NCTOPLC_AXIS_REF_STATE2_FLAGS32AvoidingCollisionBIT10%08x0x%08x16#%08XNCTOPLC_AXIS_REF_STATE232ValueDWORD320FlagsNCTOPLC_AXIS_REF_STATE2_FLAGS320%08x0x%08x16#%08XNCTOPLC_AXIS_REF_CAMCOUPLINGSTATE8CamActivationPendingBIT10CamDeactivationPendingBIT11CamActiveBIT12CamDataQueuedBIT16CamScalingPendingBIT17UINTARR8128UINT08NCTOPLC_AXIS_REF2048StateDWordNCTOPLC_AXIS_REF_STATE320ErrorCodeUDINT3232AxisStateUDINT + 32 + 64 + + 9 + + + + SETPOS + UDINT + 32 + 96 + + 10 + + + + SETVELO + UDINT + 32 + 128 + + 14 + + + + SETACC + UDINT + 32 + 160 + + 15 + + + + MODULOSETPOS + UDINT + 32 + 192 + + 11 + + + + MODULOSETTURNS + UDINT + 32 + 224 + + 12 + + + + SETDIR + UDINT + 32 + 256 + + 13 + + + + TARGETPOSITION + UDINT + 32 + 288 + + 19 + + + + REMAININGTIMEANDPOS + UDINT + 32 + 320 + + 20 + + + + STOPINFORMATION + UDINT + 32 + 352 + + 24 + + + + SETTASKCYCLE_WITHOUTCORR + UDINT + 32 + 384 + + 25 + + + + SETPOS_WITHOUTCORR + UDINT + 32 + 416 + + 26 + + + + SETVELO_WITHOUTCORR + UDINT + 32 + 448 + + 30 + + + + SETACC_WITHOUTCORR + UDINT + 32 + 480 + + 31 + + + + SETDIR_WITHOUTCORR + UDINT + 32 + 512 + + 29 + + + + COUPLESTATE + UDINT + 32 + 544 + + 32 + + + + CPLPARAMS + UDINT + 32 + 576 + + 34 + + + + CPLFACTOR + UDINT + 32 + 608 + + 35 + + + + AXISCTRLLOOPIDX + UDINT + 32 + 640 + + 36 + + + + AXISSETPOINTGENIDX + UDINT + 32 + 672 + + 37 + + + + CPLCHARACVALUES + UDINT + 32 + 704 + + 38 + + + + CAMINFO + UDINT + 32 + 736 + + 39 + + + + CAMSTATUS + UDINT + activation status etc. + 32 + 768 + + 40 + + + + + conditionalshow + + + + + _ST_NCADS_AxisState + 832 + + IDXGRP + UDINT + 32 + 0 + + 16640 + + + + IDXOFFS + _ST_NCADS_IDXOFFS_AxisState + 800 + 32 + + + + conditionalshow + + + + + _ST_NCADS_IDXOFFS_AxisFunctions + 1792 + + RESET + UDINT + 32 + 0 + + 1 + + + + STOP + UDINT + 32 + 32 + + 2 + + + + CLEAR + UDINT + 32 + 64 + + 3 + + + + EMERGENCYSTOP + UDINT + 32 + 96 + + 4 + + + + PARAMETRIZEDSTOP + UDINT + 32 + 128 + + 5 + + + + INITIALIZE + UDINT + Initialize Axis + 32 + 160 + + 7 + + + + ORIENTEDSTOP + UDINT + 19.04.04 issue #2470 + 32 + 192 + + 9 + + + + CALIBR + UDINT + 32 + 224 + + 16 + + + + NEWTARGPOS + UDINT + 32 + 256 + + 17 + + + + NEWTARGPOSANDVELO + UDINT + 32 + 288 + + 18 + + + + CHANGEDYNAMICPARAM + UDINT + NEU: Neue Dynamikparameter (Acc;Dec) fuer Positionierung + 32 + 320 + + 21 + + + + UNIVERSALSTART + UDINT + 05.03.07: new 'axis start and restart' command with buffer mode (issue #2786+#3276) + 32 + 352 + + 22 + + + + SLAVEUNIVERSALSTART + UDINT + 24.02.09: decoupling command with succeding universal axis start commanded to a slave axis + 32 + 384 + + 23 + + + + RELEASEAXISLOCK + UDINT + 10.12.18 release axis lock for motion commands + 32 + 416 + + 24 + + + + SETEXTERNALERROR + UDINT + 06.10.04: Externen Achsfehler setzen (Laufzeitfehler) issue #2665 + 32 + 448 + + 25 + + + + SETPOS + UDINT + 32 + 480 + + 26 + + + + SETCALFLAG + UDINT + "ist referenziert"-Flag setzen + 32 + 512 + + 27 + + + + SETACTPOS + UDINT + nur Istwertsetzen ohne Sollwertaenderung !!! + 32 + 544 + + 28 + + + + SETDRIVEPOS + UDINT + antriebsseitiges Istwertsetzen + 32 + 576 + + 29 + + + + SETENCODERSCALING + UDINT + 17.07.08: "Fliegende Änderung des Skalierungsfaktors" + 32 + 608 + + 30 + + + + SETPOSONTHEFLY + UDINT + 29.11.05: "Fliegendes Istwert Setzen" (betrifft Ist - und Sollwert) (issue #3017) + 32 + 640 + + 31 + + + + START + UDINT + 32 + 672 + + 32 + + + + STARTEXT + UDINT + 32 + 704 + + 33 + + + + STARTVELOCHANGE + UDINT + special function for MMW + 32 + 736 + + 34 + + + + ENABLEEXTGEN + UDINT + enable/start external setpoint values + 32 + 768 + + 35 + + + + DISABLEEXTGEN + UDINT + disable/stop external setpoint values + 32 + 800 + + 36 + + + + REVERSINGSEQUENCE + UDINT + 32 + 832 + + 37 + + + + STARTDRVOUT + UDINT + 32 + 864 + + 38 + + + + STOPDRVOUT + UDINT + 32 + 896 + + 39 + + + + CHANGEDRVOUT + UDINT + 32 + 928 + + 40 + + + + JUMPTOOVERRIDE + UDINT + 04.11.04: jump to actual override value and froze them until change (issue #2697) + 32 + 960 + + 41 + + + + EXTSETGENUNIVERSALSTART + UDINT + 23.11.10: deactivation of external setpoint generator with succeding universal axis start command + 32 + 992 + + 43 + + + + UNIVERSALTORQUESTART + UDINT + 20181210 Fap - new 'axis torque control start and restart' command with buffer mode + 32 + 1024 + + 45 + + + + STARTSCOM + UDINT + start superposition (position compensation) - 21.12.04: nun auch als 'ReadWrite'-Kommando + 32 + 1056 + + 48 + + + + STOPSCOM + UDINT + stop superposition (position compensation) + 32 + 1088 + + 49 + + + + PHASINGREQEUST + UDINT + start/stop the additional phasing set point generator used for a master/slave phase shift + 32 + 1120 + + 52 + + + + CPL + UDINT + Achse koppeln + 32 + 1152 + + 64 + + + + DECPL + UDINT + Achse entkoppeln (und optional neue Endposition mit neuer Geschwindigkeit) + 32 + 1184 + + 65 + + + + CPLCHANGE + UDINT + Achse Koppelparams ändern + 32 + 1216 + + 66 + + + + TABCPLCHANGE + UDINT + 3x TabSlaveAxe Tabelle-Koppelparams ändern + 32 + 1248 + + 67 + + + + STOPSLAVE + UDINT + Slave-Stop (Diagonal-Slave / Flying Saw) + 32 + 1280 + + 68 + + + + CPLTAB + UDINT + TabSlaveAxe Koppelparams setzen + 32 + 1312 + + 69 + + + + TABSLVACTIVCOR + UDINT + 2x TabSlaveAxe Korrekturtabelle aktivieren (mit/ohne Aktivierungsposition) + 32 + 1344 + + 70 + + + + TABSLVLEAVECYC + UDINT + TabSlaveAxe Monozyklische Tabelle beenden + 32 + 1376 + + 71 + + + + TABSLVCOROFFSET + UDINT + TabSlaveAxe Letzter Korrektur Offset + 32 + 1408 + + 72 + + + + TABSLVSCALING + UDINT + NEU: Slave-Skalierung der Solo-Tabellenkopplung setzen + 32 + 1440 + + 73 + + + + CPLSOLOTAB + UDINT + Solo Tabellen Kopplung + 32 + 1472 + + 74 + + + + CPLSYNCHRONIZING + UDINT + Slave Synchronizing Generator ('GearInPos' and 'GearInVelo') + 32 + 1504 + + 75 + + + + CAMSCALING + UDINT + Slave Change CAM Scaling (Aenderung der Tabellenskalierung) (issue #2514) + 32 + 1536 + + 77 + + + + DISABLE + UDINT + Achse sperren + 32 + 1568 + + 80 + + + + ENABLE + UDINT + Achse reaktivieren + 32 + 1600 + + 81 + + + + CHANGEAXISCTRLLOOP + UDINT + NEU: Aenderung des aktiven Achsregelkreises + 32 + 1632 + + 82 + + + + DRIVEDISABLE + UDINT + Drive-Output der Achse sperren + 32 + 1664 + + 96 + + + + DRIVEENABLE + UDINT + Drive-Output der Achse reaktivieren + 32 + 1696 + + 97 + + + + RELEASEBRAKE + UDINT + Feststellbremse loesen (Eil/Schleich-Gruppe) + 32 + 1728 + + 98 + + + + RECONFIGURATE + UDINT + Achse zurueckfuehren in eigene PTP-Gruppe + 32 + 1760 + + 112 + + + + + conditionalshow + + + + + _ST_NCADS_AxisFunctions + 1824 + + IDXGRP + UDINT + 32 + 0 + + 16896 + + + + IDXOFFS + _ST_NCADS_IDXOFFS_AxisFunctions + 1792 + 32 + + + + conditionalshow + + + + + _ST_NCADS_Axis + 4320 + + Parameter + _ST_NCADS_AxisParameter + 1664 + 0 + + + State + _ST_NCADS_AxisState + 832 + 1664 + + + Functions + _ST_NCADS_AxisFunctions + 1824 + 2496 + + + + conditionalshow + + + + + _ST_NCADS_IDXOFFS_TableParameter + 192 + + MFREADCHARACVALUES + UDINT + read characteristic values of a motion function + 32 + 0 + + 80 + + + + WRITETABROWS + UDINT + write table + 32 + 32 + + 16777216 + + + + WRITEMFTABROWS + UDINT + write motion function table + 32 + 64 + + 83886080 + + + + MFREADTAB + UDINT + read motion function as data table + 32 + 96 + + 34 + + + + READSLAVEDYNAMICS + UDINT + read slave table position, velocity and acceleration related to a master position + 32 + 128 + + 35 + + + + READMASTERPOSITION + UDINT + read master table position related to slave position + 32 + 160 + + 36 + + + + + conditionalshow + + + + + _ST_NCADS_TableParameter + 224 + + IDXGRP + UDINT + 32 + 0 + + 40960 + + + + IDXOFFS + _ST_NCADS_IDXOFFS_TableParameter + 192 + 32 + + + + conditionalshow + + + + + _ST_NCADS_IDXOFFS_TableFunctions + 96 + + CREATETAB + UDINT + create table + 32 + 0 + + 65536 + + + + CREATEMOTIONTAB + UDINT + create motion function table + 32 + 32 + + 65552 + + + + DELETETAB + UDINT + delete tables + 32 + 64 + + 131072 + + + + + conditionalshow + + + + + _ST_NCADS_TableFunctions + 128 + + IDXGRP + UDINT + 32 + 0 + + 41472 + + + + IDXOFFS + _ST_NCADS_IDXOFFS_TableFunctions + 96 + 32 + + + + conditionalshow + + + + + _ST_NCADS_Table + 352 + + Parameter + _ST_NCADS_TableParameter + 224 + 0 + + + Functions + _ST_NCADS_TableFunctions + 128 + 224 + + + + conditionalshow + + + + + T_AmsPort + TwinCAT AMS port address. + 16 + UINT + + + ADSRDDEVINFO + ADS read device info command. + 1280 + + NETID + T_AmsNetID + Ams net id + 192 + 32 + + + ItemType + Input + + + + + PORT + T_AmsPort + Ads communication port + 16 + 224 + + + ItemType + Input + + + + + RDINFO + BOOL + Rising edge starts command execution + 8 + 240 + + + ItemType + Input + + + + + TMOUT + TIME + Maximum time allowed for the execution of this ADS command + 32 + 256 + + 5000 + + + + ItemType + Input + + + + + BUSY + BOOL + Busy flag + 8 + 288 + + + ItemType + Output + + + + + ERR + BOOL + Error flag + 8 + 296 + + + ItemType + Output + + + + + ERRID + UDINT + ADS error code + 32 + 320 + + + ItemType + Output + + + + + DEVNAME + STRING(19) + Device name + 160 + 352 + + + ItemType + Output + + + + + DEVVER + UDINT + Device version + 32 + 512 + + + ItemType + Output + + + + + + PouType + FunctionBlock + + + hide_all_locals + + + + + _TCMCGLOBAL + Global constants and parameters + 6976 + + NCPORT_TCMC + UINT + 20110511 type changed from INT to UINT + 16 + 32 + + 500 + + + + ItemType + Input + + + + + NCPORT_TCMC_COUPLING + UINT + 20110511 type changed from INT to UINT + 16 + 48 + + 500 + + + + ItemType + Input + + + + + NCNETID_TCMC + T_AmsNetID + 192 + 64 + + + + + + ItemType + Input + + + + + NCPORT_TCMC_CAM + UINT + 20110511 type changed from INT to UINT + 16 + 256 + + 500 + + + + ItemType + Input + + + + + NCPORT_TCMC_CAM_FAST + UINT + 20150728 KSt added + 16 + 272 + + 500 + + + + ItemType + Input + + + + + NCNETID_TCMC_CAM + T_AmsNetID + 192 + 288 + + + + + + ItemType + Input + + + + + NCPORT_TCMC_SUPERPOSITION + UINT + 20140930 KSt added + 16 + 480 + + 501 + + + + ItemType + Input + + + + + NCPORT_TCMC_RESET + UINT + 20211019 KSt added + 16 + 496 + + 500 + + + + ItemType + Input + + + + + NcDeviceInfoTcMainVersion + DWORD + 32 + 512 + + + ItemType + Output + + + + + NcDeviceInfoTcSubVersion + DWORD + 32 + 544 + + + ItemType + Output + + + + + NcDeviceInfoNcDriverVersion + DWORD + 32 + 576 + + + ItemType + Output + + + + + NcDeviceInfoNcVersion + DWORD + 32 + 608 + + + ItemType + Output + + + + + NcDeviceInfoNcName + STRING(19) + 160 + 640 + + + ItemType + Output + + + + + Axis + _ST_NCADS_Axis + IDXGRP and IDXOFFS constants of axis parameter/status/functions + 4320 + 800 + + + ItemType + Output + + + suppress_warning_0 + C0228 + + + + + Table + _ST_NCADS_Table + IDXGRP and IDXOFFS constants of table parameter/status/functions + 352 + 5120 + + + ItemType + Output + + + suppress_warning_0 + C0228 + + + + + NCPORT_TCNCCAMMING_TABLEFUNCTION + UINT + 16 + 5472 + + 500 + + + + tTargetPosTimeOut + TIME + 32 + 5504 + + 6000 + + + + tADSTimeOut + TIME + 32 + 5536 + + 1000 + + + + tStopMonitoringTimeOut + TIME + 32 + 5568 + + 100 + + + + NCTOPLC_FEEDBACK_MAXWAITCYCLES + INT + 16 + 5600 + + 10 + + + + fbADSRDDEVINFO + ADSRDDEVINFO + 1280 + 5632 + + + DeviceVersion + DWORD + 32 + 6912 + + + Init + BOOL + 8 + 6944 + + + ReadDeviceInfo + + + + PouType + FunctionBlock + + + conditionalshow + + + + + PLCTONC_AXIS_REF_CTRL + 32 + + Enable + BIT + 1 + 0 + + + FeedEnablePlus + BIT + 1 + 1 + + + FeedEnableMinus + BIT + 1 + 2 + + + HomingSensor + BIT + 1 + 5 + + + AcceptBlockedDrive + BIT + 1 + 8 + + + PlcDebugFlag + BIT + 1 + 30 + + + NcDebugFlag + BIT + 1 + 31 + + + %08x + + + 0x%08x + + + 16#%08X + + + + PLCTONC_AXIS_REF + 1024 + + ControlDWord + PLCTONC_AXIS_REF_CTRL + 32 + 0 + + + Override + UDINT + 32 + 32 + + + AxisModeRequest + UDINT + 32 + 64 + + + AxisModeDWord + UDINT + 32 + 96 + + + AxisModeLReal + LREAL + 64 + 128 + + + PositionCorrection + LREAL + 64 + 192 + + + ExtSetPos + LREAL + 64 + 256 + + + ExtSetVelo + LREAL + 64 + 320 + + + ExtSetAcc + LREAL + 64 + 384 + + + ExtSetDirection + DINT + 32 + 448 + + + ExtControllerOutput + LREAL + 64 + 512 + + + GearRatio1 + LREAL + 64 + 576 + + + GearRatio2 + LREAL + 64 + 640 + + + GearRatio3 + LREAL + 64 + 704 + + + GearRatio4 + LREAL + 64 + 768 + + + MapState + BOOL + 8 + 832 + + + PlcCycleControl + BYTE + 8 + 840 + + + PlcCycleCount + BYTE + 8 + 848 + + + + NcStructType + 1 + + + + + NCAXLESTRUCT_FROMPLC3 + + + + + NCTOPLC_AXIS_REF_STATE + 32 + + Operational + BIT + 1 + 0 + + + Homed + BIT + 1 + 1 + + + NotMoving + BIT + 1 + 2 + + + InPositionArea + BIT + 1 + 3 + + + InTargetPosition + BIT + 1 + 4 + + + Protected + BIT + 1 + 5 + + + ErrorPropagationDelayed + BIT + 1 + 6 + + + HasBeenStopped + BIT + 1 + 7 + + + HasJob + BIT + 1 + 8 + + + PositiveDirection + BIT + 1 + 9 + + + NegativeDirection + BIT + 1 + 10 + + + HomingBusy + BIT + 1 + 11 + + + ConstantVelocity + BIT + 1 + 12 + + + Compensating + BIT + 1 + 13 + + + ExtSetPointGenEnabled + BIT + 1 + 14 + + + PhasingActive + BIT + 1 + 15 + + + ExternalLatchValid + BIT + 1 + 16 + + + NewTargetPos + BIT + 1 + 17 + + + ContinuousMotion + BIT + 1 + 19 + + + ControlLoopClosed + BIT + 1 + 20 + + + CamTableQueued + BIT + 1 + 21 + + + CamDataQueued + BIT + 1 + 22 + + + CamScalingPending + BIT + 1 + 23 + + + CmdBuffered + BIT + 1 + 24 + + + PTPmode + BIT + 1 + 25 + + + SoftLimitMinExceeded + BIT + 1 + 26 + + + SoftLimitMaxExceeded + BIT + 1 + 27 + + + DriveDeviceError + BIT + 1 + 28 + + + MotionCommandsLocked + BIT + 1 + 29 + + + IoDataInvalid + BIT + 1 + 30 + + + Error + BIT + 1 + 31 + + + %08x + + + 0x%08x + + + 16#%08X + + + + NCTOPLC_AXIS_REF_OPMODE + 32 + + OpModePosAreaMonitoring + BIT + 1 + 0 + + + OpModeTargetPosMonitoring + BIT + 1 + 1 + + + OpModeLoop + BIT + 1 + 2 + + + OpModeMotionMonitoring + BIT + 1 + 3 + + + OpModePEHTimeMonitoring + BIT + 1 + 4 + + + OpModeBacklashCompensation + BIT + 1 + 5 + + + OpModeDelayedErrorReaction + BIT + 1 + 6 + + + OpModeModulo + BIT + 1 + 7 + + + OpModeSimulationAxis + BIT + 1 + 8 + + + OpModePosLagMonitoring + BIT + 1 + 16 + + + OpModeVeloLagMonitoring + BIT + 1 + 17 + + + OpModeSoftLimitMinMonitoring + BIT + 1 + 18 + + + OpModeSoftLimitMaxMonitoring + BIT + 1 + 19 + + + OpModePosCorrection + BIT + 1 + 20 + + + OpModeAllowSlaveCommands + BIT + 1 + 21 + + + OpModeAllowExtSetAxisCommands + BIT + 1 + 22 + + + ApplicationRequest + BIT + 1 + 23 + + + + NCTOPLC_AXIS_REF_STATE2_FLAGS + 32 + + AvoidingCollision + BIT + 1 + 0 + + + %08x + + + 0x%08x + + + 16#%08X + + + + NCTOPLC_AXIS_REF_STATE2 + 32 + + Value + DWORD + 32 + 0 + + + Flags + NCTOPLC_AXIS_REF_STATE2_FLAGS + 32 + 0 + + + %08x + + + 0x%08x + + + 16#%08X + + + + NCTOPLC_AXIS_REF_CAMCOUPLINGSTATE + 8 + + CamActivationPending + BIT + 1 + 0 + + + CamDeactivationPending + BIT + 1 + 1 + + + CamActive + BIT + 1 + 2 + + + CamDataQueued + BIT + 1 + 6 + + + CamScalingPending + BIT + 1 + 7 + + + + UINTARR8 + 128 + UINT + + 0 + 8 + + + + NCTOPLC_AXIS_REF + 2048 + + StateDWord + NCTOPLC_AXIS_REF_STATE + 32 + 0 + + + ErrorCode + UDINT + 32 + 32 + + + AxisState + UDINT + Present State Of The Axis Movement (continuous axis): 0 = INACTIVE: axis has no job 1 = RUNNING: axis is executing a motion job 2 = OVERRIDE_ZERO: axis is executing a job but override is zero @@ -197,7 +15281,20 @@ Slaves only: External Setpoint Generation: 41 = EXTSETGEN_MODE1: external setpoint generation active 42 = EXTSETGEN_MODE2: internal and external setpoint gen. active -]]>3264AxisModeConfirmationUDINT3296HomingStateUDINT + 32 + 64 + + + AxisModeConfirmation + UDINT + 32 + 96 + + + HomingState + UDINT + Axis Homing Status: 0: idle 1: start homing 2: searching home switch @@ -205,12 +15302,1309 @@ External Setpoint Generation: 4: moving off home switch 5: searching sync pulse 6: stopping after homing -]]>32128CoupleStateUDINT + 32 + 128 + + + CoupleState + UDINT + Axis Coupling Status: 0: axis is a single axis (not coupled) 1: axis is a master axis 2: axis is master and slave 3: axis is a slave axis -]]>32160SvbEntriesUDINT32192SafEntriesUDINT32224AxisIdUDINT32256OpModeDWordNCTOPLC_AXIS_REF_OPMODE32288ActPosLREAL64320ModuloActPosLREAL64384ActiveControlLoopIndexUINT16448ControlLoopIndexUINT16464ModuloActTurnsDINT32480ActVeloLREAL64512PosDiffLREAL64576SetPosLREAL64640SetVeloLREAL64704SetAccLREAL64768TargetPosLREAL64832ModuloSetPosLREAL64896ModuloSetTurnsDINT32960CmdNoUINT16992CmdStateUINT161008SetJerkLREAL641024SetTorqueLREAL641088ActTorqueLREAL641152StateDWord2NCTOPLC_AXIS_REF_STATE2321216StateDWord3DWORD321248TouchProbeStateDWORD321280TouchProbeCounterDWORD321312CamCouplingStateNCTOPLC_AXIS_REF_CAMCOUPLINGSTATE08641344CamCouplingTableIDUINTARR81281408ActTorqueDerivativeLREAL641536SetTorqueDerivativeLREAL641600ActPosWithoutPosCorrectionLREAL641792ActAccLREAL641856DcTimeStampUDINT321920NcStructType2NCAXLESTRUCT_TOPLCNCAXLESTRUCT_TOPLC2NCAXLESTRUCT_TOPLC3NCAXLESTRUCT_TOPLC4ST_AdsAddress224NetIdSTRING(23)1920PortUINT16192ChannelUINT16208MC_AxisStates16INTMC_AXISSTATE_UNDEFINED0MC_AXISSTATE_DISABLED1MC_AXISSTATE_STANDSTILL2MC_AXISSTATE_ERRORSTOP3MC_AXISSTATE_STOPPING4MC_AXISSTATE_HOMING5MC_AXISSTATE_DISCRETEMOTION6MC_AXISSTATE_CONTINOUSMOTION7MC_AXISSTATE_SYNCHRONIZEDMOTION8ST_AxisOpModes136PositionAreaMonitoringBOOL80TargetPositionMonitoringBOOL88LoopModeBOOL816MotionMonitoringBOOL824PEHTimeMonitoringBOOL832BacklashCompensationBOOL840DelayedErrorReactionBOOL848ModuloBOOL856SimulationAxisBOOL864StopMonitoringBOOL872PositionLagMonitoringBOOL880VelocityLagMonitoringBOOL888SoftLimitMinMonitoringBOOL896SoftLimitMaxMonitoringBOOL8104PositionCorrectionBOOL8112AllowSlaveCommandsBOOL8120AllowExtSetAxisCommandsBOOL8128ST_AxisStatus768UpdateTaskIndexBYTE80UpdateCycleTimeLREAL6464CycleCounterUDINT32128NcCycleCounterUDINT32160MotionStateMC_AxisStates16192ErrorBOOL8208ErrorIDUDINT32224displaymodehexErrorStopBOOL8256DisabledBOOL8264StoppingBOOL8272StandStillBOOL8280DiscreteMotionBOOL8288ContinuousMotionBOOL8296SynchronizedMotionBOOL8304HomingBOOL8312ConstantVelocityBOOL8320AcceleratingBOOL8328DeceleratingBOOL8336OperationalBOOL8344ControlLoopClosedBOOL8352HasJobBOOL8360HasBeenStoppedBOOL8368NewTargetPositionBOOL8376InPositionAreaBOOL8384InTargetPositionBOOL8392ProtectedModeBOOL8400HomedBOOL8408HomingBusyBOOL8416MotionCommandsLockedBOOL8424SoftLimitMinExceededBOOL8432SoftLimitMaxExceededBOOL8440MovingBOOL8448PositiveDirectionBOOL8456NegativeDirectionBOOL8464NotMovingBOOL8472CompensatingBOOL8480ExtSetPointGenEnabledBOOL8488PhasingActiveBOOL8496ExternalLatchValidBOOL8504CamDataQueuedBOOL8512CamTableQueuedBOOL8520CamScalingPendingBOOL8528CmdBufferedBOOL8536PTPmodeBOOL8544DriveDeviceErrorBOOL8552IoDataInvalidBOOL8560ErrorPropagationDelayedBOOL8568DriveLimitActiveBOOL8576CoupledBOOL8584OpModeST_AxisOpModes136592NcApplicationRequestBOOL8728AMSNETID48BYTE06%d.%d.%d.%d.%d.%d[0][1][2][3][4][5]T_AmsNetIdArr48AMSNETIDE_NcDriveType32DWORDNcDriveType_undefined0NcDriveType_M2400_DAC11NcDriveType_M2400_DAC22NcDriveType_M2400_DAC33NcDriveType_M2400_DAC44NcDriveType_KL4XXX5NcDriveType_KL4XXX_NonLinear6NcDriveType_Discete_TwoSpeed7NcDriveType_Stepper8NcDriveType_Sercos9NcDriveType_KL505110NcDriveType_AX2000_B20011NcDriveType_ProfiDrive12NcDriveType_Universal13NcDriveType_NcBackplane14NcDriveType_CANopen_Lenze15NcDriveType_CANopen_DS402_MDP74216NcDriveType_AX2000_B90017NcDriveType_KL2531_Stepper20NcDriveType_KL2532_DC21NcDriveType_TCOM22 Interface to Soft Drive]]>NcDriveType_MDP_73323NcDriveType_MDP_70324E_NcEncoderType32DWORDNcEncoderType_undefined0NcEncoderType_Simulation1NcEncoderType_ABS_M30002NcEncoderType_INC_M31X03NcEncoderType_INC_KL51014NcEncoderType_ABS_KL5001_SSI5NcEncoderType_INC_KL50516NcEncoderType_ABS_KL30XX7NcEncoderType_INC_Sercos_P8NcEncoderType_INC_Sercos_PV9NcEncoderType_INC_Binary10NcEncoderType_ABS_M251011NcEncoderType_ABS_FOX5012NcEncoderType_ABS_HYDRAULIC_FORCE13NcEncoderType_INC_AX2000_B20014NcEncoderType_INC_PROFIDRIVE15NcEncoderType_INC_UNIVERSAL16NcEncoderType_INC_NCBACKPLANE17NcEncoderType_INC_CANOPEN_LENZE18NcEncoderType_INC_CANOPEN_DS402_MDP513_MDP74219NcEncoderType_INC_AX2000_B90020NcEncoderType_INC_KL515121NcEncoderType_INC_IP520924NcEncoderType_INC_KL2531_Stepper25NcEncoderType_INC_KL2532_DC26NcEncoderType_INC_TIMEBASEGENERATOR27NcEncoderType_INC_TCOM28 Interface to Soft Drive Encoder]]>NcEncoderType_INC_CANOPEN_MDP513_64BIT29NcEncoderType_SPECIFIC100E_NcAxisType32DWORDNcAxisType_undefined0NcAxisType_Continious1NcAxisType_Discrete_TwoSpeed2NcAxisType_LowCostStepper_DigIO3NcAxisType_Encoder5NcAxisType_Hydraulic6NcAxisType_TimeGenerator7NcAxisType_Specific100ST_DriveAddress672NetIDT_AmsNetID1920NetIdBytesT_AmsNetIdArr48192SlaveAddressT_AmsPort16240ChannelBYTE8256NcDriveIdDWORD32288NcDriveIndexDWORD32320NcDriveTypeE_NcDriveType32352NcEncoderIdDWORD32384NcEncoderIndexDWORD32416NcEncoderTypeE_NcEncoderType32448NcAxisIdDWORD32480NcAxisTypeE_NcAxisType32512TcSoftDriveObjectIdOTCID32544conditionalshowTcDriveObjectIdOTCID32576TcEncoderObjectIdOTCID32608TcAxisObjectIdOTCID32640_E_PhasingState16INTPhasingInactive0PhasingActivated1PhasingAborted2_InternalAxisRefData128NcCycleCounterAvailableBOOL80NcCycleCounter_AtReadStatusCallUDINT3232LastTaskIndex_AtReadStatusCallBYTE864CounterSameTaskIndex_AtReadStatusCallUINT1680PhasingState_E_PhasingState1696conditionalshowAXIS_REF + 32 + 160 + + + SvbEntries + UDINT + 32 + 192 + + + SafEntries + UDINT + 32 + 224 + + + AxisId + UDINT + 32 + 256 + + + OpModeDWord + NCTOPLC_AXIS_REF_OPMODE + 32 + 288 + + + ActPos + LREAL + 64 + 320 + + + ModuloActPos + LREAL + 64 + 384 + + + ActiveControlLoopIndex + UINT + 16 + 448 + + + ControlLoopIndex + UINT + 16 + 464 + + + ModuloActTurns + DINT + 32 + 480 + + + ActVelo + LREAL + 64 + 512 + + + PosDiff + LREAL + 64 + 576 + + + SetPos + LREAL + 64 + 640 + + + SetVelo + LREAL + 64 + 704 + + + SetAcc + LREAL + 64 + 768 + + + TargetPos + LREAL + 64 + 832 + + + ModuloSetPos + LREAL + 64 + 896 + + + ModuloSetTurns + DINT + 32 + 960 + + + CmdNo + UINT + 16 + 992 + + + CmdState + UINT + 16 + 1008 + + + SetJerk + LREAL + 64 + 1024 + + + SetTorque + LREAL + 64 + 1088 + + + ActTorque + LREAL + 64 + 1152 + + + StateDWord2 + NCTOPLC_AXIS_REF_STATE2 + 32 + 1216 + + + StateDWord3 + DWORD + 32 + 1248 + + + TouchProbeState + DWORD + 32 + 1280 + + + TouchProbeCounter + DWORD + 32 + 1312 + + + CamCouplingState + NCTOPLC_AXIS_REF_CAMCOUPLINGSTATE + + 0 + 8 + + 64 + 1344 + + + CamCouplingTableID + UINTARR8 + 128 + 1408 + + + ActTorqueDerivative + LREAL + 64 + 1536 + + + SetTorqueDerivative + LREAL + 64 + 1600 + + + ActPosWithoutPosCorrection + LREAL + 64 + 1792 + + + ActAcc + LREAL + 64 + 1856 + + + DcTimeStamp + UDINT + 32 + 1920 + + + + NcStructType + 2 + + + + + NCAXLESTRUCT_TOPLC + + + NCAXLESTRUCT_TOPLC2 + + + NCAXLESTRUCT_TOPLC3 + + + NCAXLESTRUCT_TOPLC4 + + + + + + + + + + + + + + ST_AdsAddress + 224 + + NetId + STRING(23) + 192 + 0 + + + Port + UINT + 16 + 192 + + + Channel + UINT + 16 + 208 + + + + MC_AxisStates + 16 + INT + + MC_AXISSTATE_UNDEFINED + 0 + + + MC_AXISSTATE_DISABLED + 1 + + + MC_AXISSTATE_STANDSTILL + 2 + + + MC_AXISSTATE_ERRORSTOP + 3 + + + MC_AXISSTATE_STOPPING + 4 + + + MC_AXISSTATE_HOMING + 5 + + + MC_AXISSTATE_DISCRETEMOTION + 6 + + + MC_AXISSTATE_CONTINOUSMOTION + 7 + + + MC_AXISSTATE_SYNCHRONIZEDMOTION + 8 + + + + ST_AxisOpModes + axis operation mode feedback from NcToPlc. + 136 + + PositionAreaMonitoring + BOOL + bit 0 - OpModeDWord + 8 + 0 + + + TargetPositionMonitoring + BOOL + bit 1 - OpModeDWord + 8 + 8 + + + LoopMode + BOOL + bit 2 - OpModeDWord - loop mode for two speed axes + 8 + 16 + + + MotionMonitoring + BOOL + bit 3 - OpModeDWord + 8 + 24 + + + PEHTimeMonitoring + BOOL + bit 4 - OpModeDWord + 8 + 32 + + + BacklashCompensation + BOOL + bit 5 - OpModeDWord + 8 + 40 + + + DelayedErrorReaction + BOOL + bit 6 - OpModeDWord + 8 + 48 + + + Modulo + BOOL + bit 7 - OpModeDWord - axis is parameterized as modulo axis + 8 + 56 + + + SimulationAxis + BOOL + bit 8 - OpModeDWord - axis is a simulation axis - available from 2.11 R2 B2033 - 2011-05-31 KSt + 8 + 64 + + + StopMonitoring + BOOL + bit 12 - OpModeDWord - TargetPositionMonitoring for Stop and Halt commands - available from 2.11 R3 - 2011-12-09 KSt + 8 + 72 + + + PositionLagMonitoring + BOOL + bit 16 - OpModeDWord + 8 + 80 + + + VelocityLagMonitoring + BOOL + bit 17 - OpModeDWord + 8 + 88 + + + SoftLimitMinMonitoring + BOOL + bit 18 - OpModeDWord + 8 + 96 + + + SoftLimitMaxMonitoring + BOOL + bit 19 - OpModeDWord + 8 + 104 + + + PositionCorrection + BOOL + bit 20 - OpModeDWord + 8 + 112 + + + AllowSlaveCommands + BOOL + 2009-02-20 KSt + 8 + 120 + + + AllowExtSetAxisCommands + BOOL + 2011-10-13 KSt + 8 + 128 + + + + ST_AxisStatus + 768 + + UpdateTaskIndex + BYTE + Task-Index of the task that updated this data set + 8 + 0 + + + UpdateCycleTime + LREAL + task cycle time of the task which calls the status function + 64 + 64 + + + CycleCounter + UDINT + PLC cycle counter when this data set updated + 32 + 128 + + + NcCycleCounter + UDINT + NC cycle counter incremented after NC task updated NcToPlc data structures + 32 + 160 + + + MotionState + MC_AxisStates + motion state in the PLCopen state diagram + 16 + 192 + + + Error + BOOL + StateDWord bit 31 - axis error state + 8 + 208 + + + ErrorID + UDINT + axis error code + 32 + 224 + + + displaymode + hex + + + + + ErrorStop + BOOL + PLCopen motion control statemachine states: + 8 + 256 + + + Disabled + BOOL + 8 + 264 + + + Stopping + BOOL + 8 + 272 + + + StandStill + BOOL + 8 + 280 + + + DiscreteMotion + BOOL + 8 + 288 + + + ContinuousMotion + BOOL + StateDWord bit 19 + 8 + 296 + + + SynchronizedMotion + BOOL + 8 + 304 + + + Homing + BOOL + 8 + 312 + + + ConstantVelocity + BOOL + StateDWord bit 12 + 8 + 320 + + + Accelerating + BOOL + 8 + 328 + + + Decelerating + BOOL + 8 + 336 + + + Operational + BOOL + StateDWord bit 0 - (was ready) + 8 + 344 + + + ControlLoopClosed + BOOL + StateDWord bit 20 - operational and position control active + 8 + 352 + + + HasJob + BOOL + StateDWord bit 8 + 8 + 360 + + + HasBeenStopped + BOOL + StateDWord bit 7 + 8 + 368 + + + NewTargetPosition + BOOL + StateDWord bit 17 - new target position commanded during move + 8 + 376 + + + InPositionArea + BOOL + StateDWord bit 3 + 8 + 384 + + + InTargetPosition + BOOL + StateDWord bit 4 + 8 + 392 + + + ProtectedMode + BOOL + StateDWord bit 5 + 8 + 400 + + + Homed + BOOL + StateDWord bit 1 + 8 + 408 + + + HomingBusy + BOOL + StateDWord bit 11 + 8 + 416 + + + MotionCommandsLocked + BOOL + StateDWord bit 29 - stop 'n hold + 8 + 424 + + + SoftLimitMinExceeded + BOOL + StateDWord bit 26 - reverse soft travel limit exceeded + 8 + 432 + + + SoftLimitMaxExceeded + BOOL + StateDWord bit 27 - forward soft travel limit exceeded + 8 + 440 + + + Moving + BOOL + StateDWord bit 9+10 + 8 + 448 + + + PositiveDirection + BOOL + StateDWord bit 9 + 8 + 456 + + + NegativeDirection + BOOL + StateDWord bit 10 + 8 + 464 + + + NotMoving + BOOL + StateDWord bit 2 + 8 + 472 + + + Compensating + BOOL + superposition - overlayed motion + 8 + 480 + + + ExtSetPointGenEnabled + BOOL + StateDWord bit 14 + 8 + 488 + + + PhasingActive + BOOL + StateDWord bit 15 + 8 + 496 + + + ExternalLatchValid + BOOL + StateDWord bit 16 + 8 + 504 + + + CamDataQueued + BOOL + StateDWord bit 22 + 8 + 512 + + + CamTableQueued + BOOL + StateDWord bit 21 + 8 + 520 + + + CamScalingPending + BOOL + StateDWord bit 23 + 8 + 528 + + + CmdBuffered + BOOL + StateDWord bit 24 + 8 + 536 + + + PTPmode + BOOL + StateDWord bit 25 + 8 + 544 + + + DriveDeviceError + BOOL + StateDWord bit 28 + 8 + 552 + + + IoDataInvalid + BOOL + StateDWord bit 30 + 8 + 560 + + + ErrorPropagationDelayed + BOOL + StateDWord bit 6 + 8 + 568 + + + DriveLimitActive + BOOL + StateDWord bit 18 - 20181213 Fap + 8 + 576 + + + Coupled + BOOL + Axis.NcToPlc.CoupleState + 8 + 584 + + + OpMode + ST_AxisOpModes + axis operation mode feedback from NcToPlc + 136 + 592 + + + NcApplicationRequest + BOOL + OpModeDWord bit 23 + 8 + 728 + + + + AMSNETID + 48 + BYTE + + 0 + 6 + + + %d.%d.%d.%d.%d.%d + [0] + [1] + [2] + [3] + [4] + [5] + + + + T_AmsNetIdArr + TwinCAT AMS netID address bytes. + 48 + AMSNETID + + + E_NcDriveType + 32 + DWORD + + NcDriveType_undefined + 0 + + + NcDriveType_M2400_DAC1 + 1 + + + NcDriveType_M2400_DAC2 + 2 + + + NcDriveType_M2400_DAC3 + 3 + + + NcDriveType_M2400_DAC4 + 4 + + + NcDriveType_KL4XXX + 5 + MDP 252/253: KL4xxx, PWM KL2502_30K (Frq-Cnt-Impuls-Modus), KL4132 (16 Bit), Pulse-Train KL2521, IP2512 + + + NcDriveType_KL4XXX_NonLinear + 6 + MDP 252/253: Analog-Typ für nichtlineare Kennlinie + + + NcDriveType_Discete_TwoSpeed + 7 + + + NcDriveType_Stepper + 8 + + + NcDriveType_Sercos + 9 + + + NcDriveType_KL5051 + 10 + MDP 510: BISSI Drive KL5051 mit 32 Bit (siehe KL4XXX) + + + NcDriveType_AX2000_B200 + 11 + AX2000-B200 Lightbus, Inkremental mit 32 Bit (AX2000) + + + NcDriveType_ProfiDrive + 12 + Inkremental mit 32 Bit + + + NcDriveType_Universal + 13 + Variable Bitmaske (max. 32 Bit, signed value) + + + NcDriveType_NcBackplane + 14 + Variable Bitmaske (max. 32 Bit, signed value) + + + NcDriveType_CANopen_Lenze + 15 + CANopen Lenze (max. 32 Bit, signed value) + + + NcDriveType_CANopen_DS402_MDP742 + 16 + MDP 742 (DS402): CANopen und EtherCAT (AX2000-B510, AX2000-B1x0, EL7201, AX8000) + + + NcDriveType_AX2000_B900 + 17 + AX2000-B900 Ethernet (max. 32 Bit, signed value) + + + NcDriveType_KL2531_Stepper + 20 + Schrittmotorklemme KL2531/KL2541 + + + NcDriveType_KL2532_DC + 21 + 2-Kanal-DC-Motor-Endstufe (2-channel DC motor stage) KL2532/KL2542, 2-Kanal-PWM-DC-Motorendstufe KL2535/KL2545 + + + NcDriveType_TCOM + 22 + TCOM Drive -> Interface to Soft Drive + + + NcDriveType_MDP_733 + 23 + MDP 733: Modular Device Profile MDP 733 for DC (e.g. EL7332/EL7342) (20.02.09) + + + NcDriveType_MDP_703 + 24 + MDP 703: Modular Device Profile MDP 703 for stepper (e.g. EL7031/EL7041) + + + + E_NcEncoderType + 32 + DWORD + + NcEncoderType_undefined + 0 + + + NcEncoderType_Simulation + 1 + Simulation + + + NcEncoderType_ABS_M3000 + 2 + Absolut mit 24 und 25 Bit sowie 12 und 13 Bit Single Turn Encoder (M3000) + + + NcEncoderType_INC_M31X0 + 3 + Inkremental mit 24 Bit (M31x0, M3200, M3100, M2000) + + + NcEncoderType_INC_KL5101 + 4 + MDP 511: Inkremental mit 16 Bit und Latch (MDP511: EL7041, EL5101, EL5151, EL2521, EL5021(SinCos); KL5101, IP5109, KL5111) + + + NcEncoderType_ABS_KL5001_SSI + 5 + MDP 500/501: Absolut SSI mit 24 Bit (KL5001, IP5009)(MDP 501: EL5001) + + + NcEncoderType_INC_KL5051 + 6 + MDP 510: Absolut/Inkremental BISSI mit 16 Bit (KL5051, PWM KL2502_30K (Frq-Cnt-Impuls-Modus), Pulse-Train KL2521, IP2512 ) + + + NcEncoderType_ABS_KL30XX + 7 + Absolut Analog Eingang mit 16 Bit (KL30xx) + + + NcEncoderType_INC_Sercos_P + 8 + SERCOS "Encoder" POS + + + NcEncoderType_INC_Sercos_PV + 9 + SERCOS "Encoder" POS und VELO + + + NcEncoderType_INC_Binary + 10 + Binaerer Inkremental Encoder (0/1) + + + NcEncoderType_ABS_M2510 + 11 + Absolut Analog Eingang mit 12 Bit (M2510) + + + NcEncoderType_ABS_FOX50 + 12 + T&R Fox 50 Modul (24 Bit Absolut (SSI)) + + + NcEncoderType_ABS_HYDRAULIC_FORCE + 13 + MMW-Typ: Kraftermittlung aus Pa, Pb, Aa, Ab + + + NcEncoderType_INC_AX2000_B200 + 14 + Inkremental AX2000-B200 Lightbus mit 16/20 Bit (AX2000) + + + NcEncoderType_INC_PROFIDRIVE + 15 + Inkremental mit 32 Bit + + + NcEncoderType_INC_UNIVERSAL + 16 + Inkremental mit variabler Bitmaske (max. 32 Bit) + + + NcEncoderType_INC_NCBACKPLANE + 17 + Inkremental NC Rückwand + + + NcEncoderType_INC_CANOPEN_LENZE + 18 + Inkremental CANopen Lenze + + + NcEncoderType_INC_CANOPEN_DS402_MDP513_MDP742 + 19 + MDP 513 / MDP 742 (DS402): CANopen und EtherCAT (AX2000-B510, AX2000-B1x0, EL7201, EL5032/32Bit) + + + NcEncoderType_INC_AX2000_B900 + 20 + Inkremental AX2000-B900 Ethernet + + + NcEncoderType_INC_KL5151 + 21 + Inkremental mit 32 Bit Zaehler und int.+ ext. 32 Bit Latch (KL5151_0000) (nur umschaltbar), die 2-kanalige KL5151_0050 hat kein Latch ! + + + NcEncoderType_INC_IP5209 + 24 + Inkremental mit 32 Bit Zaehler und int. 32 Bit Latch (IP5209) + + + NcEncoderType_INC_KL2531_Stepper + 25 + Inkremental mit 16 Bit Zaehler und int.+ext. 16 Bit Latch (nur umschaltbar) (Schrittmotorklemme KL2531/KL2541) + + + NcEncoderType_INC_KL2532_DC + 26 + Inkremental mit 16 Bit Zaehler und ext. 16 Bit Latch (nur umschaltbar) (2-Kanal-DC-Motor-Endstufe KL2532/KL2542), 2-Kanal-PWM-DC-Motorendstufe KL2535/KL2545 + + + NcEncoderType_INC_TIMEBASEGENERATOR + 27 + Time Base Generator + + + NcEncoderType_INC_TCOM + 28 + TCOM Encoder -> Interface to Soft Drive Encoder + + + NcEncoderType_INC_CANOPEN_MDP513_64BIT + 29 + MDP 513 (DS402, EnDat2.2, 64 Bit): EL5032/64Bit + + + NcEncoderType_SPECIFIC + 100 + + + + E_NcAxisType + 32 + DWORD + + NcAxisType_undefined + 0 + + + NcAxisType_Continious + 1 + Kontinuierliche Achse (auch SERCOS) + + + NcAxisType_Discrete_TwoSpeed + 2 + Diskrete Achse (Eil/Schleich-Achse) + + + NcAxisType_LowCostStepper_DigIO + 3 + Schrittmotor Achse (ohne PWM Klemme KL2502/30 und ohne Pulse-Train KL2521) + + + NcAxisType_Encoder + 5 + Encoder Achse + + + NcAxisType_Hydraulic + 6 + Kontinuierliche Achse mit Betriebsartumschaltung fur Positions-/Druck-Regelung + + + NcAxisType_TimeGenerator + 7 + Time Base Generator + + + NcAxisType_Specific + 100 + + + + ST_DriveAddress + 672 + + NetID + T_AmsNetID + AMS NetID of the hardware drive as a string + 192 + 0 + + + NetIdBytes + T_AmsNetIdArr + AMS NetID of the hardware drive as a byte array (same information as NetID) + 48 + 192 + + + SlaveAddress + T_AmsPort + slave address of the hardware drive connected to a bus master + 16 + 240 + + + Channel + BYTE + channel number of the hardware drive + 8 + 256 + + + NcDriveId + DWORD + ID [1..255] of the NC software drive of an axis + 32 + 288 + + + NcDriveIndex + DWORD + index [0..9] of the NC software drive of an axis + 32 + 320 + + + NcDriveType + E_NcDriveType + type enumeration of the NC software drive of an axis + 32 + 352 + + + NcEncoderId + DWORD + ID [1..255] of the NC software encoder of an axis + 32 + 384 + + + NcEncoderIndex + DWORD + index [0..9] of the NC software encoder of an axis + 32 + 416 + + + NcEncoderType + E_NcEncoderType + type enumeration of the NC encoder drive of an axis + 32 + 448 + + + NcAxisId + DWORD + ID [1..255] of the NC axis + 32 + 480 + + + NcAxisType + E_NcAxisType + type enumeration of the NC axis + 32 + 512 + + + TcSoftDriveObjectId + OTCID + new since 2016-04-11 FAP - just available with versions after this date, otherwise zero + 32 + 544 + + + conditionalshow + + + + + TcDriveObjectId + OTCID + 32 + 576 + + + TcEncoderObjectId + OTCID + 32 + 608 + + + TcAxisObjectId + OTCID + 32 + 640 + + + + _E_PhasingState + 16 + INT + + PhasingInactive + 0 + + + PhasingActivated + 1 + + + PhasingAborted + 2 + + + + _InternalAxisRefData + 128 + + NcCycleCounterAvailable + BOOL + TRUE if the NcCycleCounter is definitely available on the target system - FALSE if undefined + 8 + 0 + + + NcCycleCounter_AtReadStatusCall + UDINT + current NC cycle counter when calling ReadStatus + 32 + 32 + + + LastTaskIndex_AtReadStatusCall + BYTE + task index of last recent status update + 8 + 64 + + + CounterSameTaskIndex_AtReadStatusCall + UINT + counter increments to max 100 if the task index for the status update never changes + 16 + 80 + + + PhasingState + _E_PhasingState + KSt 20190703 global handshake for phasing blocks + 16 + 96 + + + + conditionalshow + + + + + AXIS_REF + AXIS_REF data structure The FBAXIS_REF is actually not a function block but a data structure @@ -219,227 +16613,2903 @@ External Setpoint Generation: located I/O variables. The user is supposed to use the AXIS_REF data type which internally redirects the type to this function block definition (alias). -]]>9088PlcToNcPLCTONC_AXIS_REF102464ItemTypeInputTcAddressTypeOutputNcToPlcNCTOPLC_AXIS_REF20481088ItemTypeOutputTcAddressTypeInputADSST_AdsAddress2243136ItemTypeOutputStatusST_AxisStatus7683392ItemTypeOutputDriveAddressST_DriveAddress6724160ItemTypeInput_internal_InternalAxisRefData1284832conditionalshowStorageDWORD012840964960conditionalshowReadStatusPouTypeFunctionBlockconditionalshow_all_localsENUM_StageEnableMode16INTALWAYS0NEVER1DURING_MOTION2ENUM_StageBrakeMode16INTIF_ENABLED0IF_MOVING1NO_BRAKE2ENUM_EpicsHomeCmd16INTLOW_LIMIT1HIGH_LIMIT2HOME_VIA_LOW3HOME_VIA_HIGH4ABSOLUTE_SET15NONE-1ST_AxisParameterSet8192AxisIdDWORD320nAxisTypeE_NcAxisType3232sAxisNameSTRING(31)25664fAxisCycleTimeLREAL64320bEnablePositionAreaControlWORD16384fPositionAreaControlRangeLREAL64448bEnableMotionControlWORD16512fMotionControlTimeLREAL64576bEnableLoopWORD16640fLoopDistanceLREAL64704bEnableTargetPosControlWORD16768fTargetPosControlRangeLREAL64832fTargetPosControlTimeLREAL64896fVeloMaximumLREAL64960fRefVeloSearchLREAL641024fRefVeloSyncLREAL641088fVeloSlowManualLREAL641152fVeloFastManualLREAL641216fMotionControlRangeLREAL641280bEnablePEHTimeControlWORD161344fPEHControlTimeLREAL641408bEnableBacklashCompensationWORD161472fBacklashLREAL641536sAmsNetIdT_AmsNetID1921600nPortWORD161792nChnNoWORD161808fAccelerationLREAL641856fDecelerationLREAL641920fJerkLREAL641984nEncIdDWORD322048nEncTypeE_NcEncoderType322080sEncNameSTRING(31)2562112fEncScaleFactorNumeratorLREAL642368fEncScaleFactorDenominatorLREAL642432fEncScaleFactorInternalLREAL642496fEncOffsetLREAL642560bEncIsInverseWORD162624fEncModuloFactorLREAL642688nEncModeDWORD322752bEncEnableSoftEndMinControlWORD162784bEncEnableSoftEndMaxControlWORD162800fEncSoftEndMinLREAL642816fEncSoftEndMaxLREAL642880nEncMaxIncrementDWORD322944nEncRefSoftSyncMaskDWORD322976bEncEnablePosCorrectionWORD163008nEncReferenceSystemDWORD323040fEncPosCorrectionFilterTimeLREAL643072bEncRefSearchInverseUINT163136bEncRefSyncInverseUINT163152nEncRefModeUDINT323168fEncRefPositionLREAL643200nCtrlIdDWORD323264nCtrlTypeDWORD323296sCtrlNameSTRING(31)2563328bCtrlEnablePosDiffControlWORD163584bCtrlEnableVeloDiffControlWORD163600fCtrlPosDiffMaxLREAL643648fCtrlPosDiffMaxTimeLREAL643712fCtrlPosKpLREAL643776fCtrlPosTnLREAL643840fCtrlPosTvLREAL643904fCtrlPosTdLREAL643968fCtrlPosExtKpLREAL644032fCtrlPosExtVeloLREAL644096fCtrlAccKaLREAL644160nDriveIdDWORD324224nDriveTypeE_NcDriveType324256sDriveNameSTRING(31)2564288bDriveIsInverseWORD164544nDriveControlDWordDWORD324576fDriveVeloReferenzLREAL644608fDriveOutputReferenzLREAL644672fDriveOutputScalingAccLREAL644736fDriveOutputScalingTorqueLREAL644800fDriveInputScalingTorqueLREAL644864fDriveInputFiltertimeTorqueLREAL644928fDriveInputFiltertimeTorqueDerivativeLREAL644992fAccelerationMaxLREAL645056fDecelerationMaxLREAL645120DUT_AxisStatus_v0_01768bEnableBOOL80bResetBOOL88bExecuteBOOL816nCommandUINT1632nCmdDataUINT1648fVelocityLREAL6464fPositionLREAL64128fAccelerationLREAL64192fDecelerationLREAL64256bJogFwdBOOL8320bJogBwdBOOL8328bLimitFwdBOOL8336bLimitBwdBOOL8344fOverrideLREAL64384100bHomeSensorBOOL8448bEnabledBOOL8456bErrorBOOL8464nErrorIdUDINT32480fActVelocityLREAL64512fActPositionLREAL64576fActDiffLREAL64640bHomedBOOL8704bBusyBOOL8712DUT_MotionStage21248AxisAXIS_REF90880bLimitForwardEnableBOOL89088pytmc + + 9088 + + PlcToNc + PLCTONC_AXIS_REF + 1024 + 64 + + + ItemType + Input + + + TcAddressType + Output + + + + + NcToPlc + NCTOPLC_AXIS_REF + 2048 + 1088 + + + ItemType + Output + + + TcAddressType + Input + + + + + ADS + ST_AdsAddress + 224 + 3136 + + + ItemType + Output + + + + + Status + ST_AxisStatus + 768 + 3392 + + + ItemType + Output + + + + + DriveAddress + ST_DriveAddress + 672 + 4160 + + + ItemType + Input + + + + + _internal + _InternalAxisRefData + 128 + 4832 + + + conditionalshow + + + + + Storage + DWORD + + 0 + 128 + + 4096 + 4960 + + + conditionalshow + + + + + ReadStatus + + + + PouType + FunctionBlock + + + conditionalshow_all_locals + + + + + ENUM_StageEnableMode + 16 + INT + + ALWAYS + 0 + Always set bEnable to TRUE + + + NEVER + 1 + Only change bEnable on errors + + + DURING_MOTION + 2 + Enable before motion, disable after motion + + + + ENUM_StageBrakeMode + 16 + INT + + IF_ENABLED + 0 + Disengage brake when the motor is enabled + + + IF_MOVING + 1 + Disengage brake when the motor is moving + + + NO_BRAKE + 2 + Do not change the brake state in FB_MotionStage + + + + ENUM_EpicsHomeCmd + 16 + INT + + LOW_LIMIT + 1 + Low limit switch + + + HIGH_LIMIT + 2 + High limit switch + + + HOME_VIA_LOW + 3 + Home switch via low switch + + + HOME_VIA_HIGH + 4 + Home switch via high switch + + + ABSOLUTE_SET + 15 + Set here to be fHomePosition + + + NONE + -1 + Do not home, ever + + + + ST_AxisParameterSet + 8192 + + AxisId + DWORD + TC3 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& + 32 + 0 + + + nAxisType + E_NcAxisType + 0x00000003 + 32 + 32 + + + sAxisName + STRING(31) + 0x00000002 + 256 + 64 + + + fAxisCycleTime + LREAL + available from Tc 2.11 R2 + 64 + 320 + + + bEnablePositionAreaControl + WORD + 0x0000000F + 16 + 384 + + + fPositionAreaControlRange + LREAL + 0x00000010 + 64 + 448 + + + bEnableMotionControl + WORD + 0x00000011 + 16 + 512 + + + fMotionControlTime + LREAL + 0x00000012 + 64 + 576 + + + bEnableLoop + WORD + 0x00000013 + 16 + 640 + + + fLoopDistance + LREAL + 0x00000014 + 64 + 704 + + + bEnableTargetPosControl + WORD + 0x00000015 + 16 + 768 + + + fTargetPosControlRange + LREAL + 0x00000016 + 64 + 832 + + + fTargetPosControlTime + LREAL + 0x00000017 + 64 + 896 + + + fVeloMaximum + LREAL + 0x00000027 + 64 + 960 + + + fRefVeloSearch + LREAL + 0x00000006 calibration velo (TO plc cam) (17.05.11: parameter extension) + 64 + 1024 + + + fRefVeloSync + LREAL + 0x00000007 calibration velo (off plc cam) (17.05.11: parameter extension) + 64 + 1088 + + + fVeloSlowManual + LREAL + 0x00000008 manual velocity (slow) (17.05.11: parameter extension) + 64 + 1152 + + + fVeloFastManual + LREAL + 0x00000009 manual velocity (fast) (17.05.11: parameter extension) + 64 + 1216 + + + fMotionControlRange + LREAL + 0x00000028 + 64 + 1280 + + + bEnablePEHTimeControl + WORD + 0x00000029 + 16 + 1344 + + + fPEHControlTime + LREAL + 0x0000002A + 64 + 1408 + + + bEnableBacklashCompensation + WORD + 0x0000002B + 16 + 1472 + + + fBacklash + LREAL + 0x0000002C + 64 + 1536 + + + sAmsNetId + T_AmsNetID + 0x00000031 (Wandlung von "BYTE b[6]" zum nullterminierten STRING mit 23+1 Zeichen) + 192 + 1600 + + + nPort + WORD + 0x00000031 + 16 + 1792 + + + nChnNo + WORD + 0x00000031 + 16 + 1808 + + + fAcceleration + LREAL + 0x00000101 + 64 + 1856 + + + fDeceleration + LREAL + 0x00000102 + 64 + 1920 + + + fJerk + LREAL + 0x00000103 + 64 + 1984 + + + nEncId + DWORD + 0x00010001 + 32 + 2048 + + + nEncType + E_NcEncoderType + 0x00010003 + 32 + 2080 + + + sEncName + STRING(31) + 0x00010002 + 256 + 2112 + + + fEncScaleFactorNumerator + LREAL + 0x00010023 + 64 + 2368 + + + fEncScaleFactorDenominator + LREAL + 0x00010024 + 64 + 2432 + + + fEncScaleFactorInternal + LREAL + fEncScaleFactorInternal = fEncScaleFactorNumerator / fEncScaleFactorDenominator + 64 + 2496 + + + fEncOffset + LREAL + 0x00010007 + 64 + 2560 + + + bEncIsInverse + WORD + 0x00010008 + 16 + 2624 + + + fEncModuloFactor + LREAL + 0x00010009 + 64 + 2688 + + + nEncMode + DWORD + 0x0001000A + 32 + 2752 + + + bEncEnableSoftEndMinControl + WORD + 0x0001000B + 16 + 2784 + + + bEncEnableSoftEndMaxControl + WORD + 0x0001000C + 16 + 2800 + + + fEncSoftEndMin + LREAL + 0x0001000D + 64 + 2816 + + + fEncSoftEndMax + LREAL + 0x0001000E + 64 + 2880 + + + nEncMaxIncrement + DWORD + 0x00010015 + 32 + 2944 + + + nEncRefSoftSyncMask + DWORD + 0x00010108 + 32 + 2976 + + + bEncEnablePosCorrection + WORD + 0x00010016 + 16 + 3008 + + + nEncReferenceSystem + DWORD + 0x00010019 (15.10.15: parameter extension) + 32 + 3040 + + + fEncPosCorrectionFilterTime + LREAL + 0x00010017 + 64 + 3072 + + + bEncRefSearchInverse + UINT + 0x00010101 (17.05.11: parameter extension) + 16 + 3136 + + + bEncRefSyncInverse + UINT + 0x00010102 (17.05.11: parameter extension) + 16 + 3152 + + + nEncRefMode + UDINT + 0x00010107 (17.05.11: parameter extension) + 32 + 3168 + + + fEncRefPosition + LREAL + 0x00010103 (17.05.11: parameter extension) + 64 + 3200 + + + nCtrlId + DWORD + 0x00020001 + 32 + 3264 + + + nCtrlType + DWORD + 0x00020003 + 32 + 3296 + + + sCtrlName + STRING(31) + 0x00020002 + 256 + 3328 + + + bCtrlEnablePosDiffControl + WORD + 0x00020010 + 16 + 3584 + + + bCtrlEnableVeloDiffControl + WORD + 0x00020011 + 16 + 3600 + + + fCtrlPosDiffMax + LREAL + 0x00020012 + 64 + 3648 + + + fCtrlPosDiffMaxTime + LREAL + 0x00020013 + 64 + 3712 + + + fCtrlPosKp + LREAL + 0x00020102 + 64 + 3776 + + + fCtrlPosTn + LREAL + 0x00020103 + 64 + 3840 + + + fCtrlPosTv + LREAL + 0x00020104 + 64 + 3904 + + + fCtrlPosTd + LREAL + 0x00020105 + 64 + 3968 + + + fCtrlPosExtKp + LREAL + 0x00020106 + 64 + 4032 + + + fCtrlPosExtVelo + LREAL + 0x00020107 + 64 + 4096 + + + fCtrlAccKa + LREAL + 0x00020108 + 64 + 4160 + + + nDriveId + DWORD + 0x00030001 + 32 + 4224 + + + nDriveType + E_NcDriveType + 0x00030003 + 32 + 4256 + + + sDriveName + STRING(31) + 0x00030002 + 256 + 4288 + + + bDriveIsInverse + WORD + 0x00030006 + 16 + 4544 + + + nDriveControlDWord + DWORD + 0x00030010 + 32 + 4576 + + + fDriveVeloReferenz + LREAL + 0x00030101 + 64 + 4608 + + + fDriveOutputReferenz + LREAL + 0x00030102 + 64 + 4672 + + + fDriveOutputScalingAcc + LREAL + 0x0003000A (15.10.15: parameter extension) + 64 + 4736 + + + fDriveOutputScalingTorque + LREAL + 0x0003000B (15.10.15: parameter extension) + 64 + 4800 + + + fDriveInputScalingTorque + LREAL + 0x00030031 (15.10.15: parameter extension) + 64 + 4864 + + + fDriveInputFiltertimeTorque + LREAL + 0x00030032 (15.10.15: parameter extension) + 64 + 4928 + + + fDriveInputFiltertimeTorqueDerivative + LREAL + 0x00030033 (15.10.15: parameter extension) + 64 + 4992 + + + fAccelerationMax + LREAL + 0x000000F1 (15.10.15: parameter extension) + 64 + 5056 + + + fDecelerationMax + LREAL + 0x000000F2 (15.10.15: parameter extension) + 64 + 5120 + + + + DUT_AxisStatus_v0_01 + 768 + + bEnable + BOOL + 8 + 0 + + + bReset + BOOL + 8 + 8 + + + bExecute + BOOL + 8 + 16 + + + nCommand + UINT + 16 + 32 + + + nCmdData + UINT + 16 + 48 + + + fVelocity + LREAL + 64 + 64 + + + fPosition + LREAL + 64 + 128 + + + fAcceleration + LREAL + 64 + 192 + + + fDeceleration + LREAL + 64 + 256 + + + bJogFwd + BOOL + 8 + 320 + + + bJogBwd + BOOL + 8 + 328 + + + bLimitFwd + BOOL + 8 + 336 + + + bLimitBwd + BOOL + 8 + 344 + + + fOverride + LREAL + 64 + 384 + + 100 + + + + bHomeSensor + BOOL + 8 + 448 + + + bEnabled + BOOL + 8 + 456 + + + bError + BOOL + 8 + 464 + + + nErrorId + UDINT + 32 + 480 + + + fActVelocity + LREAL + 64 + 512 + + + fActPosition + LREAL + 64 + 576 + + + fActDiff + LREAL + 64 + 640 + + + bHomed + BOOL + 8 + 704 + + + bBusy + BOOL + 8 + 712 + + + + DUT_MotionStage + 21248 + + Axis + AXIS_REF + Hardware + PLC Axis Reference + 9088 + 0 + + + bLimitForwardEnable + BOOL + NC Forward Limit Switch: TRUE if ok to move + 8 + 9088 + + + pytmc + pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInputbLimitBackwardEnableBOOL89096pytmc + + + + TcAddressType + Input + + + + + bLimitBackwardEnable + BOOL + NC Backward Limit Switch: TRUE if ok to move + 8 + 9096 + + + pytmc + pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInputbHomeBOOL89104pytmc + + + + TcAddressType + Input + + + + + bHome + BOOL + NO Home Switch: TRUE if at home + 8 + 9104 + + + pytmc + pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInputbBrakeReleaseBOOL89112pytmc + + + + TcAddressType + Input + + + + + bBrakeRelease + BOOL + NC Brake Output: TRUE to release brake + 8 + 9112 + + + pytmc + pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutputbHardwareEnableBOOL89120pytmc + + + + TcAddressType + Output + + + + + bHardwareEnable + BOOL + NC STO Input: TRUE if ok to move + 8 + 9120 + + + pytmc + pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInputnRawEncoderULINTULINT649152TcAddressTypeInputnRawEncoderUINTUINT169216TcAddressTypeInputnRawEncoderINTINT169232TcAddressTypeInputbAllForwardEnableBOOL892480pytmc + + + + TcAddressType + Input + + + + + nRawEncoderULINT + ULINT + Raw encoder IO for ULINT (Biss-C) + 64 + 9152 + + + TcAddressType + Input + + + + + nRawEncoderUINT + UINT + Raw encoder IO for UINT (Relative Encoders) + 16 + 9216 + + + TcAddressType + Input + + + + + nRawEncoderINT + INT + Raw encoder IO for INT (LVDT) + 16 + 9232 + + + TcAddressType + Input + + + + + bAllForwardEnable + BOOL + Psuedo-hardware + Forward enable EPS summary + 8 + 9248 + + 0 + + + + pytmc + pv: PLC:bAllForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC Summary of axis permission to move forward - bAllBackwardEnableBOOL892560pytmc + + + + + + bAllBackwardEnable + BOOL + Backward enable EPS summary + 8 + 9256 + + 0 + + + + pytmc + pv: PLC:bAllBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC Summary of axis permission to move backward - bAllEnableBOOL892640pytmc + + + + + + bAllEnable + BOOL + Enable EPS summary encapsulating emergency stop button and any additional motion preventive hardware + 8 + 9264 + + 0 + + + + pytmc + pv: PLC:bAllEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC Summary of axis permission to have power - bGantryForwardEnableBOOL892720pytmc + + + + + + bGantryForwardEnable + BOOL + Forward virtual gantry limit switch + 8 + 9272 + + 0 + + + + pytmc + pv: PLC:bGantryForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if gantry ok to move forward - bGantryBackwardEnableBOOL892800pytmc + + + + + + bGantryBackwardEnable + BOOL + Backward virtual gantry limit switch + 8 + 9280 + + 0 + + + + pytmc + pv: PLC:bGantryBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if gantry ok to move backward - nEncoderCountUDINT329312pytmc + + + + + + nEncoderCount + UDINT + Encoder count summary, if linked above + 32 + 9312 + + + pytmc + pv: PLC:nEncoderCount io: i field: DESC Count from encoder hardware - sNameSTRING(80)6489344pytmc + + + + + + sName + STRING(80) + Settings + Name to use for log messages, fast faults, etc. + 648 + 9344 + + + pytmc + pv: PLC:sName io: i field: DESC PLC program name - bPowerSelfBOOL899920pytmc + + + + + + bPowerSelf + BOOL + If TRUE, we want to enable the motor independently of PMPS or other safety systems. + 8 + 9992 + + 0 + + + + pytmc + pv: PLC:bPowerSelf io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if axis is in PMPS - nEnableModeENUM_StageEnableMode16100002pytmc + + + + + + nEnableMode + ENUM_StageEnableMode + Determines when we automatically enable the motor + 16 + 10000 + + 2 + + + + pytmc + pv: PLC:nEnableMode io: i field: DESC Describes when the axis will automatically get power - nBrakeModeENUM_StageBrakeMode16100160pytmc + + + + + + nBrakeMode + ENUM_StageBrakeMode + Determines when we automatically disengage the brake + 16 + 10016 + + 0 + + + + pytmc + pv: PLC:nBrakeMode io: i field: DESC Describes when the brake will be released - nHomingModeENUM_EpicsHomeCmd1610032-1pytmc + + + + + + nHomingMode + ENUM_EpicsHomeCmd + Determines our encoder homing strategy + 16 + 10032 + + -1 + + + + pytmc + pv: PLC:nHomingMode io: i field: DESC Describes our homing strategy - bGantryAxisBOOL8100480pytmc + + + + + + bGantryAxis + BOOL + Set true to activate gantry EPS + 8 + 10048 + + 0 + + + + pytmc + pv: PLC:bGantryAxis io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if gantry EPS active - nGantryTolLINT64101120nEncRefULINT64101760bEnableBOOL810240pytmc + + + + + + nGantryTol + LINT + Set to gantry difference tolerance + 64 + 10112 + + 0 + + + + nEncRef + ULINT + Encoder count at which this axis is aligned with other axis + 64 + 10176 + + 0 + + + + bEnable + BOOL + Commands + Used internally to request enables + 8 + 10240 + + + pytmc + pv: PLC:bEnable io: io field: ZNAM FALSE field: ONAM TRUE field: DESC Used internally to request enables - bResetBOOL810248pytmc + + + + + + bReset + BOOL + Used internally to reset errors and other state + 8 + 10248 + + + pytmc + pv: PLC:bReset io: io field: ZNAM FALSE field: ONAM TRUE field: DESC Used internally to reset errors - bExecuteBOOL810256pytmc + + + + + + bExecute + BOOL + Used internally and by the IOC to start or stop a move + 8 + 10256 + + + pytmc + pv: PLC:bExecute io: io field: ZNAM FALSE field: ONAM TRUE field: DESC Used internally and by the IOC to start or stop - bUserEnableBOOL8102641pytmc + + + + + + bUserEnable + BOOL + Used by the IOC to disable an axis + 8 + 10264 + + 1 + + + + pytmc + pv: PLC:bUserEnable io: io field: ZNAM DISABLE field: ONAM ENABLE field: DESC Used to disable power entirely for an axis - bMoveCmdBOOL810272pytmc + + + + + + bMoveCmd + BOOL + Shortcut Commands + Start a move to fPosition with fVelocity + 8 + 10272 + + + pytmc + pv: PLC:bMoveCmd io: io field: DESC Start a move - bHomeCmdBOOL810280pytmc + + + + + + bHomeCmd + BOOL + Start the homing routine + 8 + 10280 + + + pytmc + pv: PLC:bHomeCmd io: io field: DESC Start the homing routine - nCommandINT1610288pytmc + + + + + + nCommand + INT + Command Args + Used internally and by the IOC to pick what kind of move to do + 16 + 10288 + + + pytmc + pv: PLC:nCommand io: io field: DESC Used internally and by the IOC to pick move type - nCmdDataINT1610304pytmc + + + + + + nCmdData + INT + Used internally and by the IOC to pass additional data to some commands + 16 + 10304 + + + pytmc + pv: PLC:nCmdData io: io field: DESC Used internally and by the IOC to pass extra args - fPositionLREAL6410368pytmc + + + + + + fPosition + LREAL + Used internally and by the IOC to pick a destination for the move + 64 + 10368 + + + pytmc + pv: PLC:fPosition io: io field: DESC Used internally and by the IOC as the set position - fVelocityLREAL6410432pytmc + + + + + + fVelocity + LREAL + Used internally and by the IOC to pick a move velocity + 64 + 10432 + + + pytmc + pv: PLC:fVelocity io: io field: DESC Used internally and by the IOC to set velocity - fAccelerationLREAL6410496pytmc + + + + + + fAcceleration + LREAL + Used internally and by the IOC to pick a move acceleration + 64 + 10496 + + + pytmc + pv: PLC:fAcceleration io: io field: DESC Used internally and by the IOC to set acceleration - fDecelerationLREAL6410560pytmc + + + + + + fDeceleration + LREAL + Used internally and by the IOC to pick a move deceleration + 64 + 10560 + + + pytmc + pv: PLC:fDeceleration io: io field: DESC Used internally and by the IOC to set deceleration - fHomePositionLREAL6410624pytmc + + + + + + fHomePosition + LREAL + Used internally and by the IOC to pick a home position + 64 + 10624 + + + pytmc + pv: PLC:fHomePosition io: io field: DESC Used internally and by the IOC to pick home position - nMotionAxisIDUDINT32106880pytmc + + + + + + nMotionAxisID + UDINT + Info + Unique ID assigned to each axis in the NC + 32 + 10688 + + 0 + + + + pytmc + pv: PLC:nMotionAxisID io: i field: DESC Unique ID assigned to each axis in the NC - bEnableDoneBOOL810720pytmc + + + + + + bEnableDone + BOOL + Returns + TRUE if done enabling + 8 + 10720 + + + pytmc + pv: PLC:bEnableDone io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if done enabling - bBusyBOOL810728pytmc + + + + + + bBusy + BOOL + TRUE if in the middle of a command + 8 + 10728 + + + pytmc + pv: PLC:bBusy io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if in the middle of a command - bDoneBOOL810736pytmc + + + + + + bDone + BOOL + TRUE if we've done a command and it has finished + 8 + 10736 + + + pytmc + pv: PLC:bDone io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if command finished successfully - bHomedBOOL810744pytmc + + + + + + bHomed + BOOL + TRUE if the motor has been homed, or does not need to be homed + 8 + 10744 + + + pytmc + pv: PLC:bHomed io: i field: DESC TRUE if the motor has been homed - bSafetyReadyBOOL810752pytmc + + + + + + bSafetyReady + BOOL + TRUE if we have safety permission to move + 8 + 10752 + + + pytmc + pv: PLC:bSafetyReady io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if safe to start a move - bErrorBOOL810760pytmc + + + + + + bError + BOOL + TRUE if we're in an error state + 8 + 10760 + + + pytmc + pv: PLC:bError io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if we are in an error state update: 100Hz notify - nErrorIdUDINT3210784pytmc + + + + + + nErrorId + UDINT + Error code if nonzero + 32 + 10784 + + + pytmc + pv: PLC:nErrorId io: i field: DESC Error code if nonzero update: 100Hz notify - sErrorMessageSTRING(80)64810816pytmc + + + + + + sErrorMessage + STRING(80) + Message to identify the error state + 648 + 10816 + + + pytmc + pv: PLC:sErrorMessage io: i field: DESC Message to identify the error state update: 100Hz notify - sCustomErrorMessageSTRING(80)64811464stAxisParametersST_AxisParameterSet819212160bAxisParamsInitBOOL820352stAxisStatusDUT_AxisStatus_v0_0176820416fPosDiffLREAL6421184pytmc + + + + + + sCustomErrorMessage + STRING(80) + Internal hook for custom error messages + 648 + 11464 + + + stAxisParameters + ST_AxisParameterSet + MC_ReadParameterSet Output + 8192 + 12160 + + + bAxisParamsInit + BOOL + True if we've updated stAxisParameters at least once + 8 + 20352 + + + stAxisStatus + DUT_AxisStatus_v0_01 + Misc axis status information for the IOC + 768 + 20416 + + + fPosDiff + LREAL + Other status information for users of the IOC + Position lag difference + 64 + 21184 + + + pytmc + pv: PLC:fPosDiff io: i field: DESC Position lag difference - _E_TcMC_STATES16INTSTATE_INITIALIZATION100STATE_ORDER101STATE_RUNNING102STATE_WAITING103STATE_MOTIONCOMMANDSLOCKED104_ST_FunctionBlockResults96DoneBOOL80CommandAbortedBOOL88ErrorBOOL816ErrorIDUDINT3232displaymodehexBusyCounterUDINT3264displaymodedecconditionalshowMC_Reset1632AxisAXIS_REF3232ItemTypeInOutExecuteBOOL864ItemTypeInputDoneBOOL872ItemTypeOutputBusyBOOL880ItemTypeOutputErrorBOOL888ItemTypeOutputErrorIDUDINT3296ItemTypeOutputdisplaymodehexADSbusyBOOL8128iState_E_TcMC_STATES16144100LastExecutionResult_ST_FunctionBlockResults96160fbOnTriggerR_TRIG641568conditionalshowPouTypeFunctionBlockMC_BufferMode16UINTMC_Aborting0MC_Buffered1MC_BlendingLow18MC_BlendingPrevious19MC_BlendingNext20MC_BlendingHigh21ST_PowerOptions0TP + + + + + + _E_TcMC_STATES + 16 + INT + + STATE_INITIALIZATION + 100 + + + STATE_ORDER + 101 + + + STATE_RUNNING + 102 + + + STATE_WAITING + 103 + + + STATE_MOTIONCOMMANDSLOCKED + 104 + + + + _ST_FunctionBlockResults + 96 + + Done + BOOL + 8 + 0 + + + CommandAborted + BOOL + 8 + 8 + + + Error + BOOL + 8 + 16 + + + ErrorID + UDINT + 32 + 32 + + + displaymode + hex + + + + + BusyCounter + UDINT + busy cycles since triggering the block - 2018-01-24 KSt + 32 + 64 + + + displaymode + dec + + + + + + conditionalshow + + + + + MC_Reset + 1632 + + Axis + AXIS_REF + Reference to an axis + 32 + 32 + + + ItemType + InOut + + + + + Execute + BOOL + B + 8 + 64 + + + ItemType + Input + + + + + Done + BOOL + B + 8 + 72 + + + ItemType + Output + + + + + Busy + BOOL + E + 8 + 80 + + + ItemType + Output + + + + + Error + BOOL + B + 8 + 88 + + + ItemType + Output + + + + + ErrorID + UDINT + B + 32 + 96 + + + ItemType + Output + + + displaymode + hex + + + + + ADSbusy + BOOL + 8 + 128 + + + iState + _E_TcMC_STATES + 16 + 144 + + 100 + + + + LastExecutionResult + _ST_FunctionBlockResults + 96 + 160 + + + fbOnTrigger + R_TRIG + 64 + 1568 + + + conditionalshow + + + + + + PouType + FunctionBlock + + + + + MC_BufferMode + 16 + UINT + + MC_Aborting + 0 + + + MC_Buffered + 1 + + + MC_BlendingLow + 18 + + + MC_BlendingPrevious + 19 + + + MC_BlendingNext + 20 + + + MC_BlendingHigh + 21 + + + + ST_PowerOptions + 0 + + + TP + Pulse Timer. Q produces a High-Signal with the length of PT on every rising edge on IN. -]]>192INBOOL832ItemTypeInputPTTIME3264ItemTypeInputQBOOL896ItemTypeOutputETTIME32128ItemTypeOutputStartTimeTIME32160PouTypeFunctionBlockMC_Power768AxisAXIS_REF3232ItemTypeInOutEnableBOOL864ItemTypeInputEnable_PositiveBOOL872ItemTypeInputEnable_NegativeBOOL880ItemTypeInputOverrideLREAL64128100ItemTypeInputBufferModeMC_BufferMode16192ItemTypeInputOptionsST_PowerOptions0208ItemTypeInputStatusBOOL8208ItemTypeOutputBusyBOOL8216ItemTypeOutputActiveBOOL8224ItemTypeOutputErrorBOOL8232ItemTypeOutputErrorIDUDINT32256ItemTypeOutputdisplaymodehexEnableTimeoutTON224288conditionalshowEnableOffOnDelayTP192512conditionalshowiOverrideDWORD32704conditionalshowPouTypeFunctionBlockconditionalshow_all_localsST_MoveOptions320EnableBlendingPositionBOOL80BlendingPositionLREAL6464StartVelocityLREAL64128EndVelocityLREAL64192IgnorePositionMonitoringBOOL8256EnableStopPositionMonitoringBOOL + 192 + + IN + BOOL + Trigger for Start of the Signal + 8 + 32 + + + ItemType + Input + + + + + PT + TIME + The length of the High-Signal in 10ms + 32 + 64 + + + ItemType + Input + + + + + Q + BOOL + The pulse + 8 + 96 + + + ItemType + Output + + + + + ET + TIME + The current phase of the High-Signal + 32 + 128 + + + ItemType + Output + + + + + StartTime + TIME + 32 + 160 + + + + PouType + FunctionBlock + + + + + MC_Power + 768 + + Axis + AXIS_REF + Reference to an axis + 32 + 32 + + + ItemType + InOut + + + + + Enable + BOOL + B + 8 + 64 + + + ItemType + Input + + + + + Enable_Positive + BOOL + E + 8 + 72 + + + ItemType + Input + + + + + Enable_Negative + BOOL + E + 8 + 80 + + + ItemType + Input + + + + + Override + LREAL + in percent - Beckhoff proprietary input + 64 + 128 + + 100 + + + + ItemType + Input + + + + + BufferMode + MC_BufferMode + V + 16 + 192 + + + ItemType + Input + + + + + Options + ST_PowerOptions + 0 + 208 + + + ItemType + Input + + + + + Status + BOOL + B + 8 + 208 + + + ItemType + Output + + + + + Busy + BOOL + V + 8 + 216 + + + ItemType + Output + + + + + Active + BOOL + V + 8 + 224 + + + ItemType + Output + + + + + Error + BOOL + B + 8 + 232 + + + ItemType + Output + + + + + ErrorID + UDINT + E + 32 + 256 + + + ItemType + Output + + + displaymode + hex + + + + + EnableTimeout + TON + 224 + 288 + + + conditionalshow + + + + + EnableOffOnDelay + TP + 192 + 512 + + + conditionalshow + + + + + iOverride + DWORD + 32 + 704 + + + conditionalshow + + + + + + PouType + FunctionBlock + + + conditionalshow_all_locals + + + + + ST_MoveOptions + 320 + + EnableBlendingPosition + BOOL + Command activation at defined ActivationPosition - extends the buffer mode when enabled + 8 + 0 + + + BlendingPosition + LREAL + 64 + 64 + + + StartVelocity + LREAL + velocity profile options - instantaneous speed change at the beginning and at the end of the profile + 64 + 128 + + + EndVelocity + LREAL + 64 + 192 + + + IgnorePositionMonitoring + BOOL + PositionAreaMonitoring, TargetPositionMonitoring and StopMonitoring can be ignored using this flag - 20190311 + 8 + 256 + + + EnableStopPositionMonitoring + BOOL + PositionAreaMonitoring, TargetPositionMonitoring can be enabled for MC_Stop and MC_Halt commands - 20191010 Monitoring can just be enabled if the monitoring parameters of the axis are enabled as well - The default is no monitoring for both commands even if monitoring options are enabled by axis parameters ]]>8264_E_TcNC_StartPosType16UINTTCNC_START_ABSOLUTE1TCNC_START_RELATIVE2TCNC_START_ENDLESS_PLUS3TCNC_START_ENDLESS_MINUS4TCNC_START_MODULO5TCNC_START_ADDITIVE6TCNC_START_MODULO_SHORT261TCNC_START_MODULO_PLUS517TCNC_START_MODULO_MINUS773TCNC_START_MODULO_CURRENT1029TCNC_START_ABS_INTERNAL9TCNC_START_ENDLESSPLUS_SLOWMANUAL272TCNC_START_ENDLESSMINUS_SLOWMANUAL273TCNC_START_ENDLESSPLUS_FASTMANUAL528TCNC_START_ENDLESSMINUS_FASTMANUAL529TCNC_START_STOPANDLOCK4096TCNC_START_HALT8192TCNC_START_TORQUE_ABORT12288TCNC_START_TORQUE_ABSOLUTE12289TCNC_START_TORQUE_RELATIVE12290ST_TorqueControlOptions128EnableManualTorqueStartValueBOOL80ManualTorqueStartValueLREAL6464_ST_TcNC_UnversalAxisStartRequest640nStartTypeUDINT320nControlMaskUDINT3232fPosTargetLREAL6464fVeloRequLREAL64128fAccLREAL= 0) ]]>64192fDecLREAL= 0) ]]>64256fJerkLREAL= 0) ]]>64320nBufferModeUDINT32384nReservedUDINT32416fBlendingPositionLREAL64448fVeloStartLREAL64512fVeloEndLREAL64576conditionalshow_ST_TcNC_UniversalAxisTorqueStartRequest576nStartTypeUDINT320nControlMaskUDINT3232nModeUDINT3264nBufferModeUDINT3296fTorqueLREAL64128fTorqueRampLREAL64192fVelocityLimitHighLREAL64256fVelocityLimitLowLREAL64320fAccelerationLREAL= 0) ]]>64384fDecelerationLREAL= 0) ]]>64448fManualTorqueLREAL64512conditionalshow_ST_TcNC_UnversalAxisStartResponse32nCmdNoWORD160nCmdStateWORD1616conditionalshowADSRDWRTEX1440NETIDT_AmsNetID19232ItemTypeInputPORTT_AmsPort16224ItemTypeInputIDXGRPUDINT32256ItemTypeInputIDXOFFSUDINT32288ItemTypeInputWRITELENUDINT32320ItemTypeInputREADLENUDINT32352ItemTypeInputSRCADDRPVOID32384ItemTypeInputTcIgnorePersistentDESTADDRPVOID32416ItemTypeInputTcIgnorePersistentWRTRDBOOL8448ItemTypeInputTMOUTTIME324805000ItemTypeInputBUSYBOOL8512ItemTypeOutputERRBOOL8520ItemTypeOutputERRIDUDINT32544ItemTypeOutputCOUNT_RUDINT32576ItemTypeOutputPouTypeFunctionBlockhide_all_locals_ST_TcNc_OperationModes128PosAreaControlDWORD3201TargetPosControlDWORD32322StopMonitoringDWORD + 8 + 264 + + + + _E_TcNC_StartPosType + 16 + UINT + + TCNC_START_ABSOLUTE + 1 + Start to absolute position + + + TCNC_START_RELATIVE + 2 + Start to relative position + + + TCNC_START_ENDLESS_PLUS + 3 + Start to endless positive position + + + TCNC_START_ENDLESS_MINUS + 4 + Start to endless negative position + + + TCNC_START_MODULO + 5 + Start to modulo position + + + TCNC_START_ADDITIVE + 6 + Start to a position relative to the last recent target position + + + TCNC_START_MODULO_SHORT + 261 + Start to modulo position + + + TCNC_START_MODULO_PLUS + 517 + Start to modulo position + + + TCNC_START_MODULO_MINUS + 773 + Start to modulo position + + + TCNC_START_MODULO_CURRENT + 1029 + start to modulo position in current direction + + + TCNC_START_ABS_INTERNAL + 9 + Start to absolute position, internal use + + + TCNC_START_ENDLESSPLUS_SLOWMANUAL + 272 + manual jog mode + + + TCNC_START_ENDLESSMINUS_SLOWMANUAL + 273 + manual jog mode + + + TCNC_START_ENDLESSPLUS_FASTMANUAL + 528 + manual jog mode + + + TCNC_START_ENDLESSMINUS_FASTMANUAL + 529 + manual jog mode + + + TCNC_START_STOPANDLOCK + 4096 + stop axis and lock against any motion commands + + + TCNC_START_HALT + 8192 + halt axis - can be interrupted by any motion commands + + + TCNC_START_TORQUE_ABORT + 12288 + 20181210 Fap - halt torque control + + + TCNC_START_TORQUE_ABSOLUTE + 12289 + 20181210 Fap - Start torque control absolute + + + TCNC_START_TORQUE_RELATIVE + 12290 + 20190108 Fap - Start torque control relative NOT IMPLEMENTED + + + + ST_TorqueControlOptions + 128 + + EnableManualTorqueStartValue + BOOL + 8 + 0 + + + ManualTorqueStartValue + LREAL + 64 + 64 + + + + _ST_TcNC_UnversalAxisStartRequest + 640 + + nStartType + UDINT + axis start TYPE (ABSOLUT, RELATIV, ENDLESS_PLUS, ENDLESS_MINUS, MODULO_SHORT, MODULO_PLUS, MODULO_MINUS) + 32 + 0 + + + nControlMask + UDINT + optional: control mask + 32 + 32 + + + fPosTarget + LREAL + target position + 64 + 64 + + + fVeloRequ + LREAL + required velocity + 64 + 128 + + + fAcc + LREAL + acceleration (>= 0) + 64 + 192 + + + fDec + LREAL + deceleration (>= 0) + 64 + 256 + + + fJerk + LREAL + jerk (>= 0) + 64 + 320 + + + nBufferMode + UDINT + optional: 'buffer mode' OR 'activation mode' FOR 'buffered commands' (issue #2786) + 32 + 384 + + + nReserved + UDINT + reserved + 32 + 416 + + + fBlendingPosition + LREAL + optional: activation position + 64 + 448 + + + fVeloStart + LREAL + optional: start velocity (0 <= fVeloStart <= fVeloRequ) Frage: erstmal weglassen ??? + 64 + 512 + + + fVeloEnd + LREAL + optional: end velocity (0 <= fVeloEnd <= fVeloRequ) Frage: erstmal weglassen ??? + 64 + 576 + + + + conditionalshow + + + + + _ST_TcNC_UniversalAxisTorqueStartRequest + 576 + + nStartType + UDINT + axis start TYPE (TORQUECONTINUOUS) + 32 + 0 + + + nControlMask + UDINT + optional: control mask + 32 + 32 + + + nMode + UDINT + optional: mode (ENUM) + 32 + 64 + + + nBufferMode + UDINT + 'buffer mode' OR 'activation mode' FOR 'buffered commands' (first Only ABORTING) + 32 + 96 + + + fTorque + LREAL + target torque [signed] + 64 + 128 + + + fTorqueRamp + LREAL + nc torque ramp + 64 + 192 + + + fVelocityLimitHigh + LREAL + velocity limit high [signed] + 64 + 256 + + + fVelocityLimitLow + LREAL + velocity limit low [signed] + 64 + 320 + + + fAcceleration + LREAL + acceleration (>= 0) + 64 + 384 + + + fDeceleration + LREAL + deceleration (>= 0) + 64 + 448 + + + fManualTorque + LREAL + optional: manual torque (sync value) + 64 + 512 + + + + conditionalshow + + + + + _ST_TcNC_UnversalAxisStartResponse + 32 + + nCmdNo + WORD + Continuous actual command number + 16 + 0 + + + nCmdState + WORD + Command state + 16 + 16 + + + + conditionalshow + + + + + ADSRDWRTEX + Extended ADS read/write command. + 1440 + + NETID + T_AmsNetID + Ams net id + 192 + 32 + + + ItemType + Input + + + + + PORT + T_AmsPort + Ads communication port + 16 + 224 + + + ItemType + Input + + + + + IDXGRP + UDINT + Index group + 32 + 256 + + + ItemType + Input + + + + + IDXOFFS + UDINT + Index offset + 32 + 288 + + + ItemType + Input + + + + + WRITELEN + UDINT + Max. number of data bytes to write (WRITELEN <= max. size of source buffer) + 32 + 320 + + + ItemType + Input + + + + + READLEN + UDINT + Max. number of data bytes to read (READLEN <= max. size of destination buffer) + 32 + 352 + + + ItemType + Input + + + + + SRCADDR + PVOID + Pointer to source buffer + 32 + 384 + + + ItemType + Input + + + TcIgnorePersistent + + + + + DESTADDR + PVOID + Pointer to destination buffer + 32 + 416 + + + ItemType + Input + + + TcIgnorePersistent + + + + + WRTRD + BOOL + Rising edge starts command execution + 8 + 448 + + + ItemType + Input + + + + + TMOUT + TIME + Maximum time allowed for the execution of this ADS command + 32 + 480 + + 5000 + + + + ItemType + Input + + + + + BUSY + BOOL + Busy flag + 8 + 512 + + + ItemType + Output + + + + + ERR + BOOL + Error flag + 8 + 520 + + + ItemType + Output + + + + + ERRID + UDINT + ADS error code + 32 + 544 + + + ItemType + Output + + + + + COUNT_R + UDINT + Count of bytes actually read + 32 + 576 + + + ItemType + Output + + + + + + PouType + FunctionBlock + + + hide_all_locals + + + + + _ST_TcNc_OperationModes + 128 + + PosAreaControl + DWORD + OpModeDWord in cyclic interface + 0 + 32 + 0 + + 1 + + + + TargetPosControl + DWORD + 1 + 32 + 32 + + 2 + + + + StopMonitoring + DWORD + 2 Loop : DWORD := 2#0000_0000_0000_0000_0000_0000_0000_0100; 3 MotionControl : DWORD := 2#0000_0000_0000_0000_0000_0000_0000_1000; @@ -454,7 +19524,17 @@ External Setpoint Generation: 8 SimulationAxis bits 9 .. 11 reserved for supplement products - 12 ]]>32644096AllowSlaveCommandsDWORD + 32 + 64 + + 4096 + + + + AllowSlaveCommands + DWORD + bits 13 .. 15 reserved 16 PosDiffControl : DWORD := 2#0000_0000_0000_0001_0000_0000_0000_0000; 17 @@ -465,304 +19545,9967 @@ External Setpoint Generation: SoftEndMaxControl: DWORD := 2#0000_0000_0000_1000_0000_0000_0000_0000; 20 ActPosCorrection : DWORD := 2#0000_0000_0001_0000_0000_0000_0000_0000; - 21 ]]>32962097152conditionalshow_FB_MoveUniversalGeneric7680AxisAXIS_REF3232ItemTypeInOutLastExecutionResult_ST_FunctionBlockResults3264ItemTypeInOutExecuteBOOL896ItemTypeInputStartType_E_TcNC_StartPosType16112ItemTypeInputPositionLREAL64128ItemTypeInputTorqueLREAL64192ItemTypeInputTorqueRampLREAL64256ItemTypeInputVelocityLREAL64320ItemTypeInputVelocityLimitHighLREAL64384ItemTypeInputVelocityLimitLowLREAL64448ItemTypeInputAccelerationLREAL64512ItemTypeInputDecelerationLREAL64576ItemTypeInputJerkLREAL64640ItemTypeInputBufferModeMC_BufferMode16704ItemTypeInputOptionsST_MoveOptions320768ItemTypeInputOptionsTorqueST_TorqueControlOptions1281088ItemTypeInputResetBOOL81216ItemTypeInputGotoRunStateBOOL81224ItemTypeInputContinuousUpdateBOOL81232ItemTypeInputDoneBOOL81240ItemTypeOutputBusyBOOL81248ItemTypeOutputActiveBOOL81256ItemTypeOutputCommandAbortedBOOL81264ItemTypeOutputErrorBOOL81272ItemTypeOutputErrorIDUDINT321280ItemTypeOutputdisplaymodehexCmdNoUINT161312ItemTypeOutputADSbusyBOOL81328ItemTypeOutputInTorqueBOOL81336ItemTypeOutputiState_E_TcMC_STATES161344100sStartRequest_ST_TcNC_UnversalAxisStartRequest6401408sTorqueStartRequest_ST_TcNC_UniversalAxisTorqueStartRequest5762048sStartResponse_ST_TcNC_UnversalAxisStartResponse322624fbAdsReadWriteADSRDWRTEX14402656ContinousModeBOOL84096InVelocityBOOL84104DiffCycleCounterUDINT324128EmptyStartResponse_ST_TcNC_UnversalAxisStartResponse324160COUNT_RUDINT324192CounterCmdNoZeroBYTE84224CounterCmdNotStartedBYTE84232DiffCmdNoINT164240InitialNcToPlcCmdNoUINT164256NcCycleCounterBYTE84272LastNcCycleCounterBYTE84280NcMappingCounterBYTE84288NcCycleCounterAvailableBOOL84296NcCycleCounterNotAvailableBOOL84304NcCyclicFeedbackExpectedBOOL84312PlcDebugCodeDWORD324320AxisIsSlaveBOOL84352GetTaskIndexGETCURTASKINDEX1284384CycleCounterUDINT324512BusyCounterUDINT324544fbTimeOutTON2244576fbStopMonitoringTimeOutTON2244800fbTimeOutMappingCounterTON2245024fbOnTriggerR_TRIG645248sTempMsgSTRING(255)20485312AccDecreasingBOOL87360AccOldLREAL647424iContinuousUpdateBOOL87488OpMode_ST_TcNc_OperationModes1287520suppress_warning_0C0228ActMonitorStopActMonitorAbortTorqueActMonitorContinousMotionActMonitorDiscreteMotionActErrorMessageActMonitorContinuousTorqueActCalcDiffCmdNoActNcCycleCounterPouTypeFunctionBlockconditionalshowMC_Halt8640AxisAXIS_REF3232ItemTypeInOutExecuteBOOL864ItemTypeInputDecelerationLREAL64128ItemTypeInputJerkLREAL64192ItemTypeInputBufferModeMC_BufferMode16256ItemTypeInputOptionsST_MoveOptions320320ItemTypeInputDoneBOOL8640ItemTypeOutputBusyBOOL8648ItemTypeOutputActiveBOOL8656ItemTypeOutputCommandAbortedBOOL8664ItemTypeOutputErrorBOOL8672ItemTypeOutputErrorIDUDINT32704ItemTypeOutputdisplaymodehexLastExecutionResult_ST_FunctionBlockResults96736ADSbusyBOOL8832MoveGeneric_FB_MoveUniversalGeneric7680896CmdNoUINT168576PouTypeFunctionBlockE_JogMode16INTMC_JOGMODE_STANDARD_SLOW0MC_JOGMODE_STANDARD_FAST1MC_JOGMODE_CONTINOUS2MC_JOGMODE_INCHING3MC_JOGMODE_INCHING_MODULO4MC_Direction16INTMC_Positive_Direction1MC_Shortest_Way2MC_Negative_Direction3MC_Current_Direction4MC_Undefined_Direction128MC_MoveVelocity8768AxisAXIS_REF3232ItemTypeInOutExecuteBOOL864ItemTypeInputVelocityLREAL64128ItemTypeInputAccelerationLREAL64192ItemTypeInputDecelerationLREAL64256ItemTypeInputJerkLREAL64320ItemTypeInputDirectionMC_Direction163841ItemTypeInputBufferModeMC_BufferMode16400ItemTypeInputOptionsST_MoveOptions320448ItemTypeInputInVelocityBOOL8768ItemTypeOutputBusyBOOL8776ItemTypeOutputActiveBOOL8784ItemTypeOutputCommandAbortedBOOL8792ItemTypeOutputErrorBOOL8800ItemTypeOutputErrorIDUDINT32832ItemTypeOutputdisplaymodehexLastExecutionResult_ST_FunctionBlockResults96864ADSbusyBOOL8960MoveGeneric_FB_MoveUniversalGeneric76801024CmdNoUINT168704PouTypeFunctionBlockST_McOutputs96DoneBOOL80BusyBOOL88ActiveBOOL816CommandAbortedBOOL824ErrorBOOL832ErrorIDUDINT3264displaymodehexMC_MoveAbsolute8832AxisAXIS_REF3232ItemTypeInOutExecuteBOOL864ItemTypeInputPositionLREAL64128ItemTypeInputVelocityLREAL64192ItemTypeInputAccelerationLREAL64256ItemTypeInputDecelerationLREAL64320ItemTypeInputJerkLREAL64384ItemTypeInputBufferModeMC_BufferMode16448ItemTypeInputOptionsST_MoveOptions320512ItemTypeInputDoneBOOL8832ItemTypeOutputBusyBOOL8840ItemTypeOutputActiveBOOL8848ItemTypeOutputCommandAbortedBOOL8856ItemTypeOutputErrorBOOL8864ItemTypeOutputErrorIDUDINT32896ItemTypeOutputdisplaymodehexLastExecutionResult_ST_FunctionBlockResults96928ADSbusyBOOL81024MoveGeneric_FB_MoveUniversalGeneric76801088CmdNoUINT168768PouTypeFunctionBlockMC_MoveRelative8832AxisAXIS_REF3232ItemTypeInOutExecuteBOOL864ItemTypeInputDistanceLREAL64128ItemTypeInputVelocityLREAL64192ItemTypeInputAccelerationLREAL64256ItemTypeInputDecelerationLREAL64320ItemTypeInputJerkLREAL64384ItemTypeInputBufferModeMC_BufferMode16448ItemTypeInputOptionsST_MoveOptions320512ItemTypeInputDoneBOOL8832ItemTypeOutputBusyBOOL8840ItemTypeOutputActiveBOOL8848ItemTypeOutputCommandAbortedBOOL8856ItemTypeOutputErrorBOOL8864ItemTypeOutputErrorIDUDINT32896ItemTypeOutputdisplaymodehexLastExecutionResult_ST_FunctionBlockResults96928ADSbusyBOOL81024MoveGeneric_FB_MoveUniversalGeneric76801088CmdNoUINT168768PouTypeFunctionBlockMC_Jog44352AxisAXIS_REF3232ItemTypeInOutJogForwardBOOL864ItemTypeInputJogBackwardsBOOL872ItemTypeInputModeE_JogMode1680ItemTypeInputPositionLREAL64128ItemTypeInputVelocityLREAL64192ItemTypeInputAccelerationLREAL64256ItemTypeInputDecelerationLREAL64320ItemTypeInputJerkLREAL64384ItemTypeInputDoneBOOL8448ItemTypeOutputBusyBOOL8456ItemTypeOutputActiveBOOL8464ItemTypeOutputCommandAbortedBOOL8472ItemTypeOutputErrorBOOL8480ItemTypeOutputErrorIDUDINT32512ItemTypeOutputdisplaymodehexstateINT16544LastExecutionResult_ST_FunctionBlockResults96576StateDWordBOOL8672ExecuteMoveVelocityBOOL8680MoveVelocityMC_MoveVelocity8768704MoveVelocityOutST_McOutputs969472DirectionMC_Direction169568ExecuteHaltBOOL89584HaltMC_Halt86409600HaltOutST_McOutputs9618240ExecuteMoveAbsoluteBOOL818336MoveAbsoluteMC_MoveAbsolute883218368MoveAbsoluteOutST_McOutputs9627200ExecuteMoveRelativeBOOL827296MoveRelativeMC_MoveRelative883227328MoveRelativeOutST_McOutputs9636160JogMove_FB_MoveUniversalGeneric768036288LastJogMoveResult_ST_FunctionBlockResults9643968ExecuteJogMoveBOOL844064StartType_E_TcNC_StartPosType1644080JogMoveOutST_McOutputs9644096JogEndBOOL844192TargetPositionLREAL6444224moduloLREAL6444288ActJogMoveActCheckJogEndPouTypeFunctionBlockMC_MoveModulo8896AxisAXIS_REF3232ItemTypeInOutExecuteBOOL864ItemTypeInputPositionLREAL64128ItemTypeInputVelocityLREAL64192ItemTypeInputAccelerationLREAL64256ItemTypeInputDecelerationLREAL64320ItemTypeInputJerkLREAL64384ItemTypeInputDirectionMC_Direction16448ItemTypeInputBufferModeMC_BufferMode16464ItemTypeInputOptionsST_MoveOptions320512ItemTypeInputDoneBOOL8832ItemTypeOutputBusyBOOL8840ItemTypeOutputActiveBOOL8848ItemTypeOutputCommandAbortedBOOL8856ItemTypeOutputErrorBOOL8864ItemTypeOutputErrorIDUDINT32896ItemTypeOutputdisplaymodehexLastExecutionResult_ST_FunctionBlockResults96928ADSbusyBOOL81024MoveGeneric_FB_MoveUniversalGeneric76801088StartType_E_TcNC_StartPosType168768CmdNoUINT168784TriggerExecuteR_TRIG648800MC_MoveModuloCallPouTypeFunctionBlockMC_HomingMode16INTMC_DefaultHoming0MC_AbsSwitch1MC_LimitSwitch2MC_RefPulse3MC_Direct4MC_Absolute5MC_Block6MC_ForceCalibration7MC_ResetCalibration8E_EncoderReferenceMode32UDINTENCODERREFERENCEMODE_DEFAULT0ENCODERREFERENCEMODE_PLCCAM1ENCODERREFERENCEMODE_HARDWARESYNC2ENCODERREFERENCEMODE_HARDWARELATCHPOS3ENCODERREFERENCEMODE_HARDWARELATCHNEG4ENCODERREFERENCEMODE_SOFTWARESYNC5ENCODERREFERENCEMODE_SOFTDRIVELATCHPOS6ENCODERREFERENCEMODE_SOFTDRIVELATCHNEG7ENCODERREFERENCEMODE_APPLICATION20ST_HomingOptions320ClearPositionLagBOOL80SearchDirectionMC_Direction1616128SearchVelocityLREAL6464SyncDirectionMC_Direction16128128SyncVelocityLREAL64192ReferenceModeE_EncoderReferenceMode322560ADSWRITE1216NETIDT_AmsNetID19232ItemTypeInputPORTT_AmsPort16224ItemTypeInputIDXGRPUDINT32256ItemTypeInputIDXOFFSUDINT32288ItemTypeInputLENUDINT32320ItemTypeInputSRCADDRPVOID32352ItemTypeInputTcIgnorePersistentWRITEBOOL8384ItemTypeInputTMOUTTIME324165000ItemTypeInputBUSYBOOL8448ItemTypeOutputERRBOOL8456ItemTypeOutputERRIDUDINT32480ItemTypeOutputPouTypeFunctionBlockhide_all_localsADSREAD1248NETIDT_AmsNetID19232ItemTypeInputPORTT_AmsPort16224ItemTypeInputIDXGRPUDINT32256ItemTypeInputIDXOFFSUDINT32288ItemTypeInputLENUDINT32320ItemTypeInputDESTADDRPVOID32352ItemTypeInputTcIgnorePersistentREADBOOL8384ItemTypeInputTMOUTTIME324165000ItemTypeInputBUSYBOOL8448ItemTypeOutputERRBOOL8456ItemTypeOutputERRIDUDINT32480ItemTypeOutputPouTypeFunctionBlockhide_all_localsST_SetPositionOptions32ClearPositionLagBOOL80SelectEncoderIndexBOOL88EncoderIndexUINT1616_ST_TcNC_SetPosOnTheFly256nPosSetTypeUDINT320nCtrlDWordUDINT3232fPreviousActualPosLREAL6464fNewActualPosLREAL64128nReservedDWORD1264192conditionalshowMC_SetPosition1984AxisAXIS_REF3232ItemTypeInOutExecuteBOOL864ItemTypeInputPositionLREAL64128ItemTypeInputModeBOOL8192ItemTypeInputOptionsST_SetPositionOptions32208ItemTypeInputDoneBOOL8240ItemTypeOutputBusyBOOL8248ItemTypeOutputErrorBOOL8256ItemTypeOutputErrorIDUDINT32288ItemTypeOutputdisplaymodehexADSbusyBOOL8320stSetPos_ST_TcNC_SetPosOnTheFly256384iState_E_TcMC_STATES16640100fbAdsWriteADSWRITE1216672fbOnTriggerR_TRIG641888conditionalshowPouTypeFunctionBlockMC_Home7168AxisAXIS_REF3232ItemTypeInOutExecuteBOOL864ItemTypeInputPositionLREAL641281E+307ItemTypeInputHomingModeMC_HomingMode16192ItemTypeInputBufferModeMC_BufferMode16208ItemTypeInputOptionsST_HomingOptions320256ItemTypeInputbCalibrationCamBOOL8576ItemTypeInputDoneBOOL8584ItemTypeOutputBusyBOOL8592ItemTypeOutputActiveBOOL8600ItemTypeOutputCommandAbortedBOOL8608ItemTypeOutputErrorBOOL8616ItemTypeOutputErrorIDUDINT32640ItemTypeOutputdisplaymodehexLastExecutionResult_ST_FunctionBlockResults96672conditionalshowADSbusyBOOL8768conditionalshowiState_E_TcMC_STATES16784100conditionalshowiSubStateINT16800conditionalshowfbAdsWriteCmdADSWRITE1216832conditionalshowfbAdsWriteParameterADSWRITE12162048conditionalshowfbAdsReadRefPosADSREAD12483264conditionalshowReferenceFlagValueUDINT324512conditionalshowfbSetPositionMC_SetPosition19844544conditionalshowCalibrationValueLREAL646528conditionalshowSearchDirectionUINT166592conditionalshowSearchVelocityLREAL646656conditionalshowSyncDirectionUINT166720conditionalshowSyncVelocityLREAL646784conditionalshowReferenceModeE_EncoderReferenceMode326848conditionalshowfbTriggerR_TRIG646880conditionalshowfbTimeOutTON2246944conditionalshowPouTypeFunctionBlockconditionalshow_all_localsFB_WriteParameterInNc_v1_001504bExecuteBOOL832ItemTypeInputnDeviceGroupUDINT3264ItemTypeInputnIndexOffsetUDINT3296ItemTypeInputnDataDWORD32128ItemTypeInputbBusyBOOL8160ItemTypeOutputbDoneBOOL8168ItemTypeOutputbErrorBOOL8176ItemTypeOutputnErrorIdUDINT32192ItemTypeOutputAxisAXIS_REF32224ItemTypeInOutnStateUINT16256fbADSWRITEADSWRITE1216288PouTypeFunctionBlockFB_WriteFloatParameter1536bExecuteBOOL832ItemTypeInputnDeviceGroupUDINT3264ItemTypeInputnIndexOffsetUDINT3296ItemTypeInputnDataLREAL64128ItemTypeInputbBusyBOOL8192ItemTypeOutputbDoneBOOL8200ItemTypeOutputbErrorBOOL8208ItemTypeOutputnErrorIdUDINT32224ItemTypeOutputAxisAXIS_REF32256ItemTypeInOutnStateUINT16288fbADSWRITEADSWRITE1216320PouTypeFunctionBlockFB_HomeWriteNcVelocities3456EnBOOL832ItemTypeInputbResetBOOL840ItemTypeInputbExecuteBOOL848ItemTypeInputfVelocityToCamLREAL6464ItemTypeInputfVelocityFromCamLREAL64128ItemTypeInputAxisAXIS_REF32192ItemTypeInOutEnOBOOL8224ItemTypeOutputbBusyBOOL8232ItemTypeOutputbDoneBOOL8240ItemTypeOutputbErrorBOOL8248ItemTypeOutputnErrorIdUDINT32256ItemTypeOutputfbExecuteRiseEdgeR_TRIG64288fbWriteVelocityToCamFB_WriteFloatParameter1536384fbWriteVelocityFromCamFB_WriteFloatParameter15361920PouTypeFunctionBlockFB_HomeToSwitch15744EnBOOL832ItemTypeInputbResetBOOL840ItemTypeInputbExecuteBOOL848ItemTypeInputbCamSensorBOOL856ItemTypeInputnSearchDirTwoardsCamMC_Direction1664ItemTypeInputnSearchDirOffCamMC_Direction1680ItemTypeInputfHomePositionLREAL64128ItemTypeInputfVelocityToCamNCLREAL64192ItemTypeInputfVelocityFromCamNCLREAL64256ItemTypeInputAxisAXIS_REF32320ItemTypeInOutEnOBOOL8352ItemTypeOutputbBusyBOOL8360ItemTypeOutputbDoneBOOL8368ItemTypeOutputbHomedBOOL8376ItemTypeOutputbErrorBOOL8384ItemTypeOutputnErrorIdUDINT32416ItemTypeOutputfbHomeMC_Home7168448fbWriteHomeDirCamToNCFB_WriteParameterInNc_v1_0015047616fbWriteHomeDirSyncToNCFB_WriteParameterInNc_v1_0015049120fbWriteHomeModeToNCFB_WriteParameterInNc_v1_00150410624fbWriteHomeVelocitiesToNCFB_HomeWriteNcVelocities345612160bConfigNCDoneBOOL8156160fbRTriggR_TRIG6415648PouTypeFunctionBlockFB_HomeDirect7424EnBOOL832ItemTypeInputbResetBOOL840ItemTypeInputbExecuteBOOL848ItemTypeInputfHomePositionLREAL6464ItemTypeInputAxisAXIS_REF32128ItemTypeInOutEnOBOOL8160ItemTypeOutputbBusyBOOL8168ItemTypeOutputbDoneBOOL8176ItemTypeOutputbHomedBOOL8184ItemTypeOutputbErrorBOOL8192ItemTypeOutputnErrorIdUDINT32224ItemTypeOutputfbHomeMC_Home7168256PouTypeFunctionBlockFB_ReadParameterInNc_v1_001536bExecuteBOOL832ItemTypeInputnDeviceGroupUDINT3264ItemTypeInputnIndexOffsetUDINT3296ItemTypeInputnDataDWORD32128ItemTypeOutputbBusyBOOL8160ItemTypeOutputbDoneBOOL8168ItemTypeOutputbErrorBOOL8176ItemTypeOutputnErrorIdUDINT32192ItemTypeOutputAxisAXIS_REF32224ItemTypeInOutnStateUINT16256fbADSREADADSREAD1248288PouTypeFunctionBlockFB_HomeReadSoftLimEnable3264EnBOOL832ItemTypeInputbResetBOOL840ItemTypeInputbExecuteBOOL848ItemTypeInputAxisAXIS_REF3264ItemTypeInOutEnOBOOL896ItemTypeOutputbBusyBOOL8104ItemTypeOutputbDoneBOOL8112ItemTypeOutputbErrorBOOL8120ItemTypeOutputnErrorIdUDINT32128ItemTypeOutputbSofLimEnableLowBOOL81601ItemTypeOutputbSofLimEnableHighBOOL81681ItemTypeOutputfbReadSoftLimEnableLowFB_ReadParameterInNc_v1_001536192fbReadSoftLimEnableHighFB_ReadParameterInNc_v1_0015361728PouTypeFunctionBlockFB_HomeWriteSoftLimEnable3264EnBOOL832ItemTypeInputbResetBOOL840ItemTypeInputbExecuteBOOL848ItemTypeInputbSofLimEnableLowBOOL8561ItemTypeInputbSofLimEnableHighBOOL8641ItemTypeInputAxisAXIS_REF3296ItemTypeInOutEnOBOOL8128ItemTypeOutputbBusyBOOL8136ItemTypeOutputbDoneBOOL8144ItemTypeOutputbErrorBOOL8152ItemTypeOutputnErrorIdUDINT32160ItemTypeOutputfbExecuteRiseEdgeR_TRIG64192fbWriteSoftLimEnableLowFB_WriteParameterInNc_v1_001504256fbWriteSoftLimEnableHighFB_WriteParameterInNc_v1_0015041760PouTypeFunctionBlockFB_ReadFloatParameter1600bExecuteBOOL832ItemTypeInputnDeviceGroupUDINT3264ItemTypeInputnIndexOffsetUDINT3296ItemTypeInputnDataLREAL64128ItemTypeOutputbBusyBOOL8192ItemTypeOutputbDoneBOOL8200ItemTypeOutputbErrorBOOL8208ItemTypeOutputnErrorIdUDINT32224ItemTypeOutputAxisAXIS_REF32256ItemTypeInOutnStateUINT16288fbADSREADADSREAD1248320PouTypeFunctionBlockFB_HomeReadNcVelocities3520EnBOOL832ItemTypeInputbResetBOOL840ItemTypeInputbExecuteBOOL848ItemTypeInputAxisAXIS_REF3264ItemTypeInOutEnOBOOL896ItemTypeOutputbBusyBOOL8104ItemTypeOutputbDoneBOOL8112ItemTypeOutputbErrorBOOL8120ItemTypeOutputnErrorIdUDINT32128ItemTypeOutputfVelocityToCamLREAL64192ItemTypeOutputfVelocityFromCamLREAL64256ItemTypeOutputfbReadVelocityToCamFB_ReadFloatParameter1600320fbReadVelocityFromCamFB_ReadFloatParameter16001920PouTypeFunctionBlockFB_HomePrepare17728EnBOOL832ItemTypeInputbResetBOOL840ItemTypeInputbExecuteBOOL848ItemTypeInputnCmdDataUINT1664ItemTypeInputAxisAXIS_REF3296ItemTypeInOutEnOBOOL8128ItemTypeOutputbBusyBOOL8136ItemTypeOutputbDoneBOOL8144ItemTypeOutputbErrorBOOL8152ItemTypeOutputnErrorIdUDINT32160ItemTypeOutputbSofLimEnableLowOriginalBOOL81921ItemTypeOutputbSofLimEnableHighOriginalBOOL82001ItemTypeOutputfVelocityToCamLREAL642560ItemTypeOutputfVelocityFromCamLREAL643200ItemTypeOutputfbHomeReadSoftLimEnableFB_HomeReadSoftLimEnable3264384fbHomeDisableSoftLimEnableFB_HomeWriteSoftLimEnable32643648fbHomeReadNCVelocitiesFB_HomeReadNcVelocities35206912fbHomeResetCalibrationFlagMC_Home716810432fbExecuteRiseEdgeR_TRIG6417600bExecuteReadNCBOOL8176640bExecuteWriteNCBOOL8176720nStateINT16176800PouTypeFunctionBlockFB_HomeFinish3552EnBOOL832ItemTypeInputbResetBOOL840ItemTypeInputbExecuteBOOL848ItemTypeInputnCmdDataUINT1664ItemTypeInputbSofLimEnableLowBOOL8801ItemTypeInputbSofLimEnableHighBOOL8881ItemTypeInputAxisAXIS_REF3296ItemTypeInOutEnOBOOL8128ItemTypeOutputbBusyBOOL8136ItemTypeOutputbDoneBOOL8144ItemTypeOutputbErrorBOOL8152ItemTypeOutputnErrorIdUDINT32160ItemTypeOutputfbHomewriteSoftLimEnableFB_HomeWriteSoftLimEnable3264192fbExecuteRiseEdgeR_TRIG643456bExecuteWriteNCBOOL835200nStateINT1635360PouTypeFunctionBlockFB_HomeVirtual53760EnBOOL832ItemTypeInputbResetBOOL840ItemTypeInputbExecuteBOOL848ItemTypeInputnCmdDataUINT1664ItemTypeInputbLimitFwdBOOL880ItemTypeInputbLimitBwdBOOL888ItemTypeInputbHomeSensorBOOL896ItemTypeInputfHomePositionLREAL64128ItemTypeInputnHomeRevOffsetUINT16192ItemTypeInputAxisAXIS_REF32224ItemTypeInOutEnOBOOL8256ItemTypeOutputbBusyBOOL8264ItemTypeOutputbDoneBOOL8272ItemTypeOutputbHomedBOOL8280ItemTypeOutputbErrorBOOL8288ItemTypeOutputnErrorIdUDINT32320ItemTypeOutputfbHomeToSwitchFB_HomeToSwitch15744384fbHomeDirectFB_HomeDirect742416128fbMoveVelocityMC_MoveVelocity876823552fbHomePrepareFB_HomePrepare1772832320fbHomeFinishFB_HomeFinish355250048fbExecuteRiseEdgeR_TRIG6453600nHomingStateINT16536640bExecuteHomeToSwitchBOOL8536800bExecuteMoveVelocityBOOL8536880bExecutePrepareBOOL8536960bExecuteFinishBOOL8537040bExecuteHomeDirectBOOL853712nCmdDataLocalUINT1653728bSequenceReadyBOOL8537441bRestoreNCDataNeededBOOL8537520PouTypeFunctionBlockST_GearInDynOptions8CCVmodeBOOL80_ST_TcNC_CoupleSlave384nSlaveTypeUDINT320nMasterAxisIdUDINT3232nMasterSubIdxUDINT3264nSlaveSubIdxUDINT3296fCoupleParam1LREAL64128fCoupleParam2LREAL64192fCoupleParam3LREAL64256fCoupleParam4LREAL64320conditionalshowMC_GearInDyn4032MasterAXIS_REF3232ItemTypeInOutSlaveAXIS_REF3264ItemTypeInOutEnableBOOL896ItemTypeInputGearRatioLREAL641281ItemTypeInputAccelerationLREAL64192ItemTypeInputDecelerationLREAL64256ItemTypeInputJerkLREAL64320ItemTypeInputBufferModeMC_BufferMode16384ItemTypeInputOptionsST_GearInDynOptions8400ItemTypeInputInGearBOOL8408ItemTypeOutputBusyBOOL8416ItemTypeOutputActiveBOOL8424ItemTypeOutputCommandAbortedBOOL8432ItemTypeOutputErrorBOOL8440ItemTypeOutputErrorIDUDINT32448ItemTypeOutputdisplaymodehexLastExecutionResult_ST_FunctionBlockResults96480ADSbusyBOOL8576iState_E_TcMC_STATES16592100iSubStateINT16608fbAdsWriteADSWRITE1216640fbAdsReadADSREAD12481856sCouple_ST_TcNC_CoupleSlave3843136v_maxLREAL643520pa_limitLREAL643584WasInGearBOOL83648iAccelerationLREAL643712conditionalshowTimerStateFeedbackTON2243776conditionalshowPouTypeFunctionBlockST_GearOutOptions8reservedBOOL80conditionalshowMC_GearOut1792SlaveAXIS_REF3232ItemTypeInOutExecuteBOOL864ItemTypeInputOptionsST_GearOutOptions872ItemTypeInputDoneBOOL880ItemTypeOutputBusyBOOL888ItemTypeOutputErrorBOOL896ItemTypeOutputErrorIDUDINT32128ItemTypeOutputdisplaymodehexLastExecutionResult_ST_FunctionBlockResults96160ADSbusyBOOL8256iState_E_TcMC_STATES16272100fbAdsWriteADSWRITE1216288fbOnTriggerR_TRIG641504conditionalshowTimerStateFeedbackTON2241568conditionalshowPouTypeFunctionBlockFB_DriveVirtual163456sVersionSTRING(80)648321.0.3EnBOOL8680ItemTypeInputbEnableBOOL8688ItemTypeInputbResetBOOL8696ItemTypeInputbExecuteBOOL8704ItemTypeInputnCommandUINT + 32 + 96 + + 2097152 + + + + + conditionalshow + + + + + _FB_MoveUniversalGeneric + 7680 + + Axis + AXIS_REF + Reference to an axis + 32 + 32 + + + ItemType + InOut + + + + + LastExecutionResult + _ST_FunctionBlockResults + 32 + 64 + + + ItemType + InOut + + + + + Execute + BOOL + 8 + 96 + + + ItemType + Input + + + + + StartType + _E_TcNC_StartPosType + 20110511 KSt type changed for Tc3 + 16 + 112 + + + ItemType + Input + + + + + Position + LREAL + 64 + 128 + + + ItemType + Input + + + + + Torque + LREAL + 64 + 192 + + + ItemType + Input + + + + + TorqueRamp + LREAL + 64 + 256 + + + ItemType + Input + + + + + Velocity + LREAL + 64 + 320 + + + ItemType + Input + + + + + VelocityLimitHigh + LREAL + 64 + 384 + + + ItemType + Input + + + + + VelocityLimitLow + LREAL + 64 + 448 + + + ItemType + Input + + + + + Acceleration + LREAL + 64 + 512 + + + ItemType + Input + + + + + Deceleration + LREAL + 64 + 576 + + + ItemType + Input + + + + + Jerk + LREAL + 64 + 640 + + + ItemType + Input + + + + + BufferMode + MC_BufferMode + Direction : MC_Direction := MC_Positive_Direction; + E + 16 + 704 + + + ItemType + Input + + + + + Options + ST_MoveOptions + 320 + 768 + + + ItemType + Input + + + + + OptionsTorque + ST_TorqueControlOptions + 128 + 1088 + + + ItemType + Input + + + + + Reset + BOOL + for internal use only + 8 + 1216 + + + ItemType + Input + + + + + GotoRunState + BOOL + for internal use only + 8 + 1224 + + + ItemType + Input + + + + + ContinuousUpdate + BOOL + for internal use only (TorqueControl) + 8 + 1232 + + + ItemType + Input + + + + + Done + BOOL + Same meaning as InVelocity for continous motion commands + 8 + 1240 + + + ItemType + Output + + + + + Busy + BOOL + 8 + 1248 + + + ItemType + Output + + + + + Active + BOOL + 8 + 1256 + + + ItemType + Output + + + + + CommandAborted + BOOL + 8 + 1264 + + + ItemType + Output + + + + + Error + BOOL + 8 + 1272 + + + ItemType + Output + + + + + ErrorID + UDINT + 32 + 1280 + + + ItemType + Output + + + displaymode + hex + + + + + CmdNo + UINT + 16 + 1312 + + + ItemType + Output + + + + + ADSbusy + BOOL + 8 + 1328 + + + ItemType + Output + + + + + InTorque + BOOL + 8 + 1336 + + + ItemType + Output + + + + + iState + _E_TcMC_STATES + 16 + 1344 + + 100 + + + + sStartRequest + _ST_TcNC_UnversalAxisStartRequest + 640 + 1408 + + + sTorqueStartRequest + _ST_TcNC_UniversalAxisTorqueStartRequest + 576 + 2048 + + + sStartResponse + _ST_TcNC_UnversalAxisStartResponse + 32 + 2624 + + + fbAdsReadWrite + ADSRDWRTEX + 1440 + 2656 + + + ContinousMode + BOOL + 8 + 4096 + + + InVelocity + BOOL + 8 + 4104 + + + DiffCycleCounter + UDINT + 32 + 4128 + + + EmptyStartResponse + _ST_TcNC_UnversalAxisStartResponse + 32 + 4160 + + + COUNT_R + UDINT + 32 + 4192 + + + CounterCmdNoZero + BYTE + 8 + 4224 + + + CounterCmdNotStarted + BYTE + 8 + 4232 + + + DiffCmdNo + INT + 16 + 4240 + + + InitialNcToPlcCmdNo + UINT + 16 + 4256 + + + NcCycleCounter + BYTE + 8 + 4272 + + + LastNcCycleCounter + BYTE + 8 + 4280 + + + NcMappingCounter + BYTE + 8 + 4288 + + + NcCycleCounterAvailable + BOOL + 8 + 4296 + + + NcCycleCounterNotAvailable + BOOL + 8 + 4304 + + + NcCyclicFeedbackExpected + BOOL + 8 + 4312 + + + PlcDebugCode + DWORD + 32 + 4320 + + + AxisIsSlave + BOOL + 8 + 4352 + + + GetTaskIndex + GETCURTASKINDEX + 128 + 4384 + + + CycleCounter + UDINT + 32 + 4512 + + + BusyCounter + UDINT + 32 + 4544 + + + fbTimeOut + TON + 224 + 4576 + + + fbStopMonitoringTimeOut + TON + 224 + 4800 + + + fbTimeOutMappingCounter + TON + 224 + 5024 + + + fbOnTrigger + R_TRIG + 64 + 5248 + + + sTempMsg + STRING(255) + 2048 + 5312 + + + AccDecreasing + BOOL + 8 + 7360 + + + AccOld + LREAL + 64 + 7424 + + + iContinuousUpdate + BOOL + 8 + 7488 + + + OpMode + _ST_TcNc_OperationModes + 128 + 7520 + + + suppress_warning_0 + C0228 + + + + + ActMonitorStop + + + ActMonitorAbortTorque + + + ActMonitorContinousMotion + + + ActMonitorDiscreteMotion + + + ActErrorMessage + + + ActMonitorContinuousTorque + + + ActCalcDiffCmdNo + + + ActNcCycleCounter + + + + PouType + FunctionBlock + + + conditionalshow + + + + + MC_Halt + 8640 + + Axis + AXIS_REF + Reference to an axis + 32 + 32 + + + ItemType + InOut + + + + + Execute + BOOL + 8 + 64 + + + ItemType + Input + + + + + Deceleration + LREAL + 64 + 128 + + + ItemType + Input + + + + + Jerk + LREAL + 64 + 192 + + + ItemType + Input + + + + + BufferMode + MC_BufferMode + 16 + 256 + + + ItemType + Input + + + + + Options + ST_MoveOptions + optional parameters + 320 + 320 + + + ItemType + Input + + + + + Done + BOOL + 8 + 640 + + + ItemType + Output + + + + + Busy + BOOL + 8 + 648 + + + ItemType + Output + + + + + Active + BOOL + 8 + 656 + + + ItemType + Output + + + + + CommandAborted + BOOL + 8 + 664 + + + ItemType + Output + + + + + Error + BOOL + 8 + 672 + + + ItemType + Output + + + + + ErrorID + UDINT + 32 + 704 + + + ItemType + Output + + + displaymode + hex + + + + + LastExecutionResult + _ST_FunctionBlockResults + 96 + 736 + + + ADSbusy + BOOL + 8 + 832 + + + MoveGeneric + _FB_MoveUniversalGeneric + 7680 + 896 + + + CmdNo + UINT + 16 + 8576 + + + + PouType + FunctionBlock + + + + + E_JogMode + 16 + INT + + MC_JOGMODE_STANDARD_SLOW + 0 + motion with standard jog parameters for slow motion + + + MC_JOGMODE_STANDARD_FAST + 1 + motion with standard jog parameters for fast motion + + + MC_JOGMODE_CONTINOUS + 2 + axis moves as long as the jog button is pressed using parameterized dynamics + + + MC_JOGMODE_INCHING + 3 + axis moves for a certain relative distance + + + MC_JOGMODE_INCHING_MODULO + 4 + axis moves for a certain relative distance - stop position is rounded to the distance value + + + + MC_Direction + 16 + INT + + MC_Positive_Direction + 1 + + + MC_Shortest_Way + 2 + + + MC_Negative_Direction + 3 + + + MC_Current_Direction + 4 + + + MC_Undefined_Direction + 128 + + + + MC_MoveVelocity + 8768 + + Axis + AXIS_REF + Reference to an axis + 32 + 32 + + + ItemType + InOut + + + + + Execute + BOOL + 8 + 64 + + + ItemType + Input + + + + + Velocity + LREAL + ContinuousUpdate : BOOL; + not available + 64 + 128 + + + ItemType + Input + + + + + Acceleration + LREAL + 64 + 192 + + + ItemType + Input + + + + + Deceleration + LREAL + 64 + 256 + + + ItemType + Input + + + + + Jerk + LREAL + 64 + 320 + + + ItemType + Input + + + + + Direction + MC_Direction + 16 + 384 + + 1 + + + + ItemType + Input + + + + + BufferMode + MC_BufferMode + 16 + 400 + + + ItemType + Input + + + + + Options + ST_MoveOptions + 320 + 448 + + + ItemType + Input + + + + + InVelocity + BOOL + Commanded velocity reached + 8 + 768 + + + ItemType + Output + + + + + Busy + BOOL + 8 + 776 + + + ItemType + Output + + + + + Active + BOOL + 8 + 784 + + + ItemType + Output + + + + + CommandAborted + BOOL + 8 + 792 + + + ItemType + Output + + + + + Error + BOOL + 8 + 800 + + + ItemType + Output + + + + + ErrorID + UDINT + 32 + 832 + + + ItemType + Output + + + displaymode + hex + + + + + LastExecutionResult + _ST_FunctionBlockResults + 96 + 864 + + + ADSbusy + BOOL + 8 + 960 + + + MoveGeneric + _FB_MoveUniversalGeneric + 7680 + 1024 + + + CmdNo + UINT + 16 + 8704 + + + + PouType + FunctionBlock + + + + + ST_McOutputs + 96 + + Done + BOOL + 8 + 0 + + + Busy + BOOL + 8 + 8 + + + Active + BOOL + 8 + 16 + + + CommandAborted + BOOL + 8 + 24 + + + Error + BOOL + 8 + 32 + + + ErrorID + UDINT + 32 + 64 + + + displaymode + hex + + + + + + MC_MoveAbsolute + 8832 + + Axis + AXIS_REF + Reference to an axis + 32 + 32 + + + ItemType + InOut + + + + + Execute + BOOL + Start the motion at rising edge + 8 + 64 + + + ItemType + Input + + + + + Position + LREAL + Target position for the motion + 64 + 128 + + + ItemType + Input + + + + + Velocity + LREAL + Value of the maximum velocity + 64 + 192 + + + ItemType + Input + + + + + Acceleration + LREAL + Value of the maximum acceleration + 64 + 256 + + + ItemType + Input + + + + + Deceleration + LREAL + Value of the maximum deceleration + 64 + 320 + + + ItemType + Input + + + + + Jerk + LREAL + Value of the maximum jerk + 64 + 384 + + + ItemType + Input + + + + + BufferMode + MC_BufferMode + Direction : MC_Direction; + not available + 16 + 448 + + + ItemType + Input + + + + + Options + ST_MoveOptions + optional parameters + 320 + 512 + + + ItemType + Input + + + + + Done + BOOL + 8 + 832 + + + ItemType + Output + + + + + Busy + BOOL + 8 + 840 + + + ItemType + Output + + + + + Active + BOOL + 8 + 848 + + + ItemType + Output + + + + + CommandAborted + BOOL + 8 + 856 + + + ItemType + Output + + + + + Error + BOOL + 8 + 864 + + + ItemType + Output + + + + + ErrorID + UDINT + 32 + 896 + + + ItemType + Output + + + displaymode + hex + + + + + LastExecutionResult + _ST_FunctionBlockResults + 96 + 928 + + + ADSbusy + BOOL + 8 + 1024 + + + MoveGeneric + _FB_MoveUniversalGeneric + 7680 + 1088 + + + CmdNo + UINT + 16 + 8768 + + + + PouType + FunctionBlock + + + + + MC_MoveRelative + 8832 + + Axis + AXIS_REF + Reference to an axis + 32 + 32 + + + ItemType + InOut + + + + + Execute + BOOL + 8 + 64 + + + ItemType + Input + + + + + Distance + LREAL + ContinuousUpdate : BOOL; + not available + 64 + 128 + + + ItemType + Input + + + + + Velocity + LREAL + 64 + 192 + + + ItemType + Input + + + + + Acceleration + LREAL + 64 + 256 + + + ItemType + Input + + + + + Deceleration + LREAL + 64 + 320 + + + ItemType + Input + + + + + Jerk + LREAL + 64 + 384 + + + ItemType + Input + + + + + BufferMode + MC_BufferMode + 16 + 448 + + + ItemType + Input + + + + + Options + ST_MoveOptions + 320 + 512 + + + ItemType + Input + + + + + Done + BOOL + 8 + 832 + + + ItemType + Output + + + + + Busy + BOOL + 8 + 840 + + + ItemType + Output + + + + + Active + BOOL + 8 + 848 + + + ItemType + Output + + + + + CommandAborted + BOOL + 8 + 856 + + + ItemType + Output + + + + + Error + BOOL + 8 + 864 + + + ItemType + Output + + + + + ErrorID + UDINT + 32 + 896 + + + ItemType + Output + + + displaymode + hex + + + + + LastExecutionResult + _ST_FunctionBlockResults + 96 + 928 + + + ADSbusy + BOOL + 8 + 1024 + + + MoveGeneric + _FB_MoveUniversalGeneric + 7680 + 1088 + + + CmdNo + UINT + 16 + 8768 + + + + PouType + FunctionBlock + + + + + MC_Jog + 44352 + + Axis + AXIS_REF + Reference to an axis + 32 + 32 + + + ItemType + InOut + + + + + JogForward + BOOL + 8 + 64 + + + ItemType + Input + + + + + JogBackwards + BOOL + 8 + 72 + + + ItemType + Input + + + + + Mode + E_JogMode + 16 + 80 + + + ItemType + Input + + + + + Position + LREAL + 64 + 128 + + + ItemType + Input + + + + + Velocity + LREAL + 64 + 192 + + + ItemType + Input + + + + + Acceleration + LREAL + 64 + 256 + + + ItemType + Input + + + + + Deceleration + LREAL + 64 + 320 + + + ItemType + Input + + + + + Jerk + LREAL + 64 + 384 + + + ItemType + Input + + + + + Done + BOOL + 8 + 448 + + + ItemType + Output + + + + + Busy + BOOL + 8 + 456 + + + ItemType + Output + + + + + Active + BOOL + 8 + 464 + + + ItemType + Output + + + + + CommandAborted + BOOL + 8 + 472 + + + ItemType + Output + + + + + Error + BOOL + 8 + 480 + + + ItemType + Output + + + + + ErrorID + UDINT + 32 + 512 + + + ItemType + Output + + + displaymode + hex + + + + + state + INT + 16 + 544 + + + LastExecutionResult + _ST_FunctionBlockResults + 96 + 576 + + + StateDWord + BOOL + 8 + 672 + + + ExecuteMoveVelocity + BOOL + 8 + 680 + + + MoveVelocity + MC_MoveVelocity + 8768 + 704 + + + MoveVelocityOut + ST_McOutputs + 96 + 9472 + + + Direction + MC_Direction + 16 + 9568 + + + ExecuteHalt + BOOL + 8 + 9584 + + + Halt + MC_Halt + 8640 + 9600 + + + HaltOut + ST_McOutputs + 96 + 18240 + + + ExecuteMoveAbsolute + BOOL + 8 + 18336 + + + MoveAbsolute + MC_MoveAbsolute + 8832 + 18368 + + + MoveAbsoluteOut + ST_McOutputs + 96 + 27200 + + + ExecuteMoveRelative + BOOL + 8 + 27296 + + + MoveRelative + MC_MoveRelative + 8832 + 27328 + + + MoveRelativeOut + ST_McOutputs + 96 + 36160 + + + JogMove + _FB_MoveUniversalGeneric + 7680 + 36288 + + + LastJogMoveResult + _ST_FunctionBlockResults + 96 + 43968 + + + ExecuteJogMove + BOOL + 8 + 44064 + + + StartType + _E_TcNC_StartPosType + 16 + 44080 + + + JogMoveOut + ST_McOutputs + 96 + 44096 + + + JogEnd + BOOL + 8 + 44192 + + + TargetPosition + LREAL + 64 + 44224 + + + modulo + LREAL + 64 + 44288 + + + ActJogMove + + + ActCheckJogEnd + + + + PouType + FunctionBlock + + + + + MC_MoveModulo + 8896 + + Axis + AXIS_REF + Reference to an axis + 32 + 32 + + + ItemType + InOut + + + + + Execute + BOOL + 8 + 64 + + + ItemType + Input + + + + + Position + LREAL + 64 + 128 + + + ItemType + Input + + + + + Velocity + LREAL + 64 + 192 + + + ItemType + Input + + + + + Acceleration + LREAL + 64 + 256 + + + ItemType + Input + + + + + Deceleration + LREAL + 64 + 320 + + + ItemType + Input + + + + + Jerk + LREAL + 64 + 384 + + + ItemType + Input + + + + + Direction + MC_Direction + modulo shortest way, modulo positive, modulo negative + 16 + 448 + + + ItemType + Input + + + + + BufferMode + MC_BufferMode + E + 16 + 464 + + + ItemType + Input + + + + + Options + ST_MoveOptions + 320 + 512 + + + ItemType + Input + + + + + Done + BOOL + 8 + 832 + + + ItemType + Output + + + + + Busy + BOOL + 8 + 840 + + + ItemType + Output + + + + + Active + BOOL + 8 + 848 + + + ItemType + Output + + + + + CommandAborted + BOOL + 8 + 856 + + + ItemType + Output + + + + + Error + BOOL + 8 + 864 + + + ItemType + Output + + + + + ErrorID + UDINT + 32 + 896 + + + ItemType + Output + + + displaymode + hex + + + + + LastExecutionResult + _ST_FunctionBlockResults + 96 + 928 + + + ADSbusy + BOOL + 8 + 1024 + + + MoveGeneric + _FB_MoveUniversalGeneric + 7680 + 1088 + + + StartType + _E_TcNC_StartPosType + 16 + 8768 + + + CmdNo + UINT + 16 + 8784 + + + TriggerExecute + R_TRIG + 64 + 8800 + + + MC_MoveModuloCall + + + + PouType + FunctionBlock + + + + + MC_HomingMode + 16 + INT + + MC_DefaultHoming + 0 + default homing as defined in the SystemManager encoder parameters + + + MC_AbsSwitch + 1 + not implemented - Absolute Switch homing plus Limit switches + + + MC_LimitSwitch + 2 + not implemented - Homing against Limit switches + + + MC_RefPulse + 3 + not implemented - Homing using encoder Reference Pulse "Zero Mark" + + + MC_Direct + 4 + Static Homing forcing position from user reference + + + MC_Absolute + 5 + not implemented - Static Homing forcing position from absolute encoder + + + MC_Block + 6 + not implemented - Homing against hardware parts blocking movement + + + MC_ForceCalibration + 7 + set the calibration flag without performing any motion or changing the position + + + MC_ResetCalibration + 8 + resets the calibration flag without performing any motion or changing the position + + + + E_EncoderReferenceMode + 32 + UDINT + + ENCODERREFERENCEMODE_DEFAULT + 0 + + + ENCODERREFERENCEMODE_PLCCAM + 1 + + + ENCODERREFERENCEMODE_HARDWARESYNC + 2 + + + ENCODERREFERENCEMODE_HARDWARELATCHPOS + 3 + + + ENCODERREFERENCEMODE_HARDWARELATCHNEG + 4 + + + ENCODERREFERENCEMODE_SOFTWARESYNC + 5 + + + ENCODERREFERENCEMODE_SOFTDRIVELATCHPOS + 6 + + + ENCODERREFERENCEMODE_SOFTDRIVELATCHNEG + 7 + + + ENCODERREFERENCEMODE_APPLICATION + 20 + + + + ST_HomingOptions + 320 + + ClearPositionLag + BOOL + set actual and set position to same value and clear the position lag + 8 + 0 + + + SearchDirection + MC_Direction + 16 + 16 + + 128 + + + + SearchVelocity + LREAL + 64 + 64 + + + SyncDirection + MC_Direction + 16 + 128 + + 128 + + + + SyncVelocity + LREAL + 64 + 192 + + + ReferenceMode + E_EncoderReferenceMode + 32 + 256 + + 0 + + + + + ADSWRITE + ADS write command. + 1216 + + NETID + T_AmsNetID + Ams net id + 192 + 32 + + + ItemType + Input + + + + + PORT + T_AmsPort + Ads communication port + 16 + 224 + + + ItemType + Input + + + + + IDXGRP + UDINT + Index group + 32 + 256 + + + ItemType + Input + + + + + IDXOFFS + UDINT + Index offset + 32 + 288 + + + ItemType + Input + + + + + LEN + UDINT + Max. number of data bytes to write (LEN <= max. size of source buffer) + 32 + 320 + + + ItemType + Input + + + + + SRCADDR + PVOID + Pointer to source buffer + 32 + 352 + + + ItemType + Input + + + TcIgnorePersistent + + + + + WRITE + BOOL + Rising edge starts command execution + 8 + 384 + + + ItemType + Input + + + + + TMOUT + TIME + Maximum time allowed for the execution of this ADS command + 32 + 416 + + 5000 + + + + ItemType + Input + + + + + BUSY + BOOL + Busy flag + 8 + 448 + + + ItemType + Output + + + + + ERR + BOOL + Error flag + 8 + 456 + + + ItemType + Output + + + + + ERRID + UDINT + ADS error code + 32 + 480 + + + ItemType + Output + + + + + + PouType + FunctionBlock + + + hide_all_locals + + + + + ADSREAD + ADS read command. + 1248 + + NETID + T_AmsNetID + Ams net id + 192 + 32 + + + ItemType + Input + + + + + PORT + T_AmsPort + Ads communication port + 16 + 224 + + + ItemType + Input + + + + + IDXGRP + UDINT + Index group + 32 + 256 + + + ItemType + Input + + + + + IDXOFFS + UDINT + Index offset + 32 + 288 + + + ItemType + Input + + + + + LEN + UDINT + Max. number of data bytes to read (LEN <= max. size of destination buffer) + 32 + 320 + + + ItemType + Input + + + + + DESTADDR + PVOID + Pointer to destination buffer + 32 + 352 + + + ItemType + Input + + + TcIgnorePersistent + + + + + READ + BOOL + Rising edge starts command execution + 8 + 384 + + + ItemType + Input + + + + + TMOUT + TIME + Maximum time allowed for the execution of this ADS command + 32 + 416 + + 5000 + + + + ItemType + Input + + + + + BUSY + BOOL + Busy flag + 8 + 448 + + + ItemType + Output + + + + + ERR + BOOL + Error flag + 8 + 456 + + + ItemType + Output + + + + + ERRID + UDINT + ADS error code + 32 + 480 + + + ItemType + Output + + + + + + PouType + FunctionBlock + + + hide_all_locals + + + + + ST_SetPositionOptions + 32 + + ClearPositionLag + BOOL + set actual and set position to same value and clear the position lag + 8 + 0 + + + SelectEncoderIndex + BOOL + selects an encoder with index 0..n explicitly if enabled - selction by EncoderIndex below + 8 + 8 + + + EncoderIndex + UINT + encoder with index 0..n, 0 is first encoder - valid only if SelectEncoderIndex=TRUE + 16 + 16 + + + + _ST_TcNC_SetPosOnTheFly + 256 + + nPosSetType + UDINT + Absolute, Relative - added KSt 2009-01-28 + 32 + 0 + + + nCtrlDWord + UDINT + added KSt 2009-01-28 + 32 + 32 + + + fPreviousActualPos + LREAL + value not used any longer since 2009-01-28 + 64 + 64 + + + fNewActualPos + LREAL + 64 + 128 + + + nReserved + DWORD + + 1 + 2 + + added KSt 2009-01-28 + 64 + 192 + + + + conditionalshow + + + + + MC_SetPosition + 1984 + + Axis + AXIS_REF + Reference to an axis + 32 + 32 + + + ItemType + InOut + + + + + Execute + BOOL + Start setting position in axis + 8 + 64 + + + ItemType + Input + + + + + Position + LREAL + Position unit [u] (Means ‘Distance’ if Mode = RELATIVE) + 64 + 128 + + + ItemType + Input + + + + + Mode + BOOL + RELATIVE =True, ABSOLUTE = False (Default) + 8 + 192 + + + ItemType + Input + + + + + Options + ST_SetPositionOptions + Beckhoff proprietary input + 32 + 208 + + + ItemType + Input + + + + + Done + BOOL + Position has new value + 8 + 240 + + + ItemType + Output + + + + + Busy + BOOL + Shows that the Function Block is not finished + 8 + 248 + + + ItemType + Output + + + + + Error + BOOL + Signals that an error has occurred within the Function Block + 8 + 256 + + + ItemType + Output + + + + + ErrorID + UDINT + Error identification + 32 + 288 + + + ItemType + Output + + + displaymode + hex + + + + + ADSbusy + BOOL + 8 + 320 + + + stSetPos + _ST_TcNC_SetPosOnTheFly + 256 + 384 + + + iState + _E_TcMC_STATES + 16 + 640 + + 100 + + + + fbAdsWrite + ADSWRITE + 1216 + 672 + + + fbOnTrigger + R_TRIG + 64 + 1888 + + + conditionalshow + + + + + + PouType + FunctionBlock + + + + + MC_Home + 7168 + + Axis + AXIS_REF + Reference to an axis + 32 + 32 + + + ItemType + InOut + + + + + Execute + BOOL + 8 + 64 + + + ItemType + Input + + + + + Position + LREAL + 64 + 128 + + 1E+307 + + + + ItemType + Input + + + + + HomingMode + MC_HomingMode + 16 + 192 + + + ItemType + Input + + + + + BufferMode + MC_BufferMode + 16 + 208 + + + ItemType + Input + + + + + Options + ST_HomingOptions + Beckhoff proprietary input + 320 + 256 + + + ItemType + Input + + + + + bCalibrationCam + BOOL + Beckhoff proprietary input + 8 + 576 + + + ItemType + Input + + + + + Done + BOOL + 8 + 584 + + + ItemType + Output + + + + + Busy + BOOL + 8 + 592 + + + ItemType + Output + + + + + Active + BOOL + 8 + 600 + + + ItemType + Output + + + + + CommandAborted + BOOL + 8 + 608 + + + ItemType + Output + + + + + Error + BOOL + 8 + 616 + + + ItemType + Output + + + + + ErrorID + UDINT + 32 + 640 + + + ItemType + Output + + + displaymode + hex + + + + + LastExecutionResult + _ST_FunctionBlockResults + 96 + 672 + + + conditionalshow + + + + + ADSbusy + BOOL + 8 + 768 + + + conditionalshow + + + + + iState + _E_TcMC_STATES + 16 + 784 + + 100 + + + + conditionalshow + + + + + iSubState + INT + 16 + 800 + + + conditionalshow + + + + + fbAdsWriteCmd + ADSWRITE + 1216 + 832 + + + conditionalshow + + + + + fbAdsWriteParameter + ADSWRITE + 1216 + 2048 + + + conditionalshow + + + + + fbAdsReadRefPos + ADSREAD + 1248 + 3264 + + + conditionalshow + + + + + ReferenceFlagValue + UDINT + 32 + 4512 + + + conditionalshow + + + + + fbSetPosition + MC_SetPosition + 1984 + 4544 + + + conditionalshow + + + + + CalibrationValue + LREAL + 64 + 6528 + + + conditionalshow + + + + + SearchDirection + UINT + 16 + 6592 + + + conditionalshow + + + + + SearchVelocity + LREAL + 64 + 6656 + + + conditionalshow + + + + + SyncDirection + UINT + 16 + 6720 + + + conditionalshow + + + + + SyncVelocity + LREAL + 64 + 6784 + + + conditionalshow + + + + + ReferenceMode + E_EncoderReferenceMode + 32 + 6848 + + + conditionalshow + + + + + fbTrigger + R_TRIG + 64 + 6880 + + + conditionalshow + + + + + fbTimeOut + TON + 224 + 6944 + + + conditionalshow + + + + + + PouType + FunctionBlock + + + conditionalshow_all_locals + + + + + FB_WriteParameterInNc_v1_00 + 1504 + + bExecute + BOOL + 8 + 32 + + + ItemType + Input + + + + + nDeviceGroup + UDINT + 16#4000=Axisdata, 16#5000=Encoderdata, 16#6000=Controldata, 16#7000=Drivedata + 32 + 64 + + + ItemType + Input + + + + + nIndexOffset + UDINT + 32 + 96 + + + ItemType + Input + + + + + nData + DWORD + 32 + 128 + + + ItemType + Input + + + + + bBusy + BOOL + 8 + 160 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 168 + + + ItemType + Output + + + + + bError + BOOL + 8 + 176 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 192 + + + ItemType + Output + + + + + Axis + AXIS_REF + 32 + 224 + + + ItemType + InOut + + + + + nState + UINT + 16 + 256 + + + fbADSWRITE + ADSWRITE + 1216 + 288 + + + + PouType + FunctionBlock + + + + + FB_WriteFloatParameter + 1536 + + bExecute + BOOL + 8 + 32 + + + ItemType + Input + + + + + nDeviceGroup + UDINT + 16#4000=Axisdata, 16#5000=Encoderdata, 16#6000=Controldata, 16#7000=Drivedata + 32 + 64 + + + ItemType + Input + + + + + nIndexOffset + UDINT + 32 + 96 + + + ItemType + Input + + + + + nData + LREAL + 64 + 128 + + + ItemType + Input + + + + + bBusy + BOOL + 8 + 192 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 200 + + + ItemType + Output + + + + + bError + BOOL + 8 + 208 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 224 + + + ItemType + Output + + + + + Axis + AXIS_REF + 32 + 256 + + + ItemType + InOut + + + + + nState + UINT + 16 + 288 + + + fbADSWRITE + ADSWRITE + 1216 + 320 + + + + PouType + FunctionBlock + + + + + FB_HomeWriteNcVelocities + 3456 + + En + BOOL + 8 + 32 + + + ItemType + Input + + + + + bReset + BOOL + 8 + 40 + + + ItemType + Input + + + + + bExecute + BOOL + 8 + 48 + + + ItemType + Input + + + + + fVelocityToCam + LREAL + 64 + 64 + + + ItemType + Input + + + + + fVelocityFromCam + LREAL + 64 + 128 + + + ItemType + Input + + + + + Axis + AXIS_REF + 32 + 192 + + + ItemType + InOut + + + + + EnO + BOOL + 8 + 224 + + + ItemType + Output + + + + + bBusy + BOOL + 8 + 232 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 240 + + + ItemType + Output + + + + + bError + BOOL + 8 + 248 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 256 + + + ItemType + Output + + + + + fbExecuteRiseEdge + R_TRIG + 64 + 288 + + + fbWriteVelocityToCam + FB_WriteFloatParameter + 1536 + 384 + + + fbWriteVelocityFromCam + FB_WriteFloatParameter + 1536 + 1920 + + + + PouType + FunctionBlock + + + + + FB_HomeToSwitch + 15744 + + En + BOOL + 8 + 32 + + + ItemType + Input + + + + + bReset + BOOL + 8 + 40 + + + ItemType + Input + + + + + bExecute + BOOL + 8 + 48 + + + ItemType + Input + + + + + bCamSensor + BOOL + 8 + 56 + + + ItemType + Input + + + + + nSearchDirTwoardsCam + MC_Direction + 16 + 64 + + + ItemType + Input + + + + + nSearchDirOffCam + MC_Direction + 16 + 80 + + + ItemType + Input + + + + + fHomePosition + LREAL + 64 + 128 + + + ItemType + Input + + + + + fVelocityToCamNC + LREAL + Velcoity when searching for cam + 64 + 192 + + + ItemType + Input + + + + + fVelocityFromCamNC + LREAL + Velocity after found cam (searching for next signal transition) + 64 + 256 + + + ItemType + Input + + + + + Axis + AXIS_REF + 32 + 320 + + + ItemType + InOut + + + + + EnO + BOOL + 8 + 352 + + + ItemType + Output + + + + + bBusy + BOOL + 8 + 360 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 368 + + + ItemType + Output + + + + + bHomed + BOOL + 8 + 376 + + + ItemType + Output + + + + + bError + BOOL + 8 + 384 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 416 + + + ItemType + Output + + + + + fbHome + MC_Home + 7168 + 448 + + + fbWriteHomeDirCamToNC + FB_WriteParameterInNc_v1_00 + 1504 + 7616 + + + fbWriteHomeDirSyncToNC + FB_WriteParameterInNc_v1_00 + 1504 + 9120 + + + fbWriteHomeModeToNC + FB_WriteParameterInNc_v1_00 + 1504 + 10624 + + + fbWriteHomeVelocitiesToNC + FB_HomeWriteNcVelocities + 3456 + 12160 + + + bConfigNCDone + BOOL + 8 + 15616 + + 0 + + + + fbRTrigg + R_TRIG + 64 + 15648 + + + + PouType + FunctionBlock + + + + + FB_HomeDirect + 7424 + + En + BOOL + 8 + 32 + + + ItemType + Input + + + + + bReset + BOOL + 8 + 40 + + + ItemType + Input + + + + + bExecute + BOOL + 8 + 48 + + + ItemType + Input + + + + + fHomePosition + LREAL + 64 + 64 + + + ItemType + Input + + + + + Axis + AXIS_REF + 32 + 128 + + + ItemType + InOut + + + + + EnO + BOOL + 8 + 160 + + + ItemType + Output + + + + + bBusy + BOOL + 8 + 168 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 176 + + + ItemType + Output + + + + + bHomed + BOOL + 8 + 184 + + + ItemType + Output + + + + + bError + BOOL + 8 + 192 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 224 + + + ItemType + Output + + + + + fbHome + MC_Home + 7168 + 256 + + + + PouType + FunctionBlock + + + + + FB_ReadParameterInNc_v1_00 + 1536 + + bExecute + BOOL + 8 + 32 + + + ItemType + Input + + + + + nDeviceGroup + UDINT + 16#4000=Axisdata, 16#5000=Encoderdata, 16#6000=Controldata, 16#7000=Drivedata + 32 + 64 + + + ItemType + Input + + + + + nIndexOffset + UDINT + 32 + 96 + + + ItemType + Input + + + + + nData + DWORD + 32 + 128 + + + ItemType + Output + + + + + bBusy + BOOL + 8 + 160 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 168 + + + ItemType + Output + + + + + bError + BOOL + 8 + 176 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 192 + + + ItemType + Output + + + + + Axis + AXIS_REF + 32 + 224 + + + ItemType + InOut + + + + + nState + UINT + 16 + 256 + + + fbADSREAD + ADSREAD + 1248 + 288 + + + + PouType + FunctionBlock + + + + + FB_HomeReadSoftLimEnable + 3264 + + En + BOOL + 8 + 32 + + + ItemType + Input + + + + + bReset + BOOL + 8 + 40 + + + ItemType + Input + + + + + bExecute + BOOL + 8 + 48 + + + ItemType + Input + + + + + Axis + AXIS_REF + 32 + 64 + + + ItemType + InOut + + + + + EnO + BOOL + 8 + 96 + + + ItemType + Output + + + + + bBusy + BOOL + 8 + 104 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 112 + + + ItemType + Output + + + + + bError + BOOL + 8 + 120 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 128 + + + ItemType + Output + + + + + bSofLimEnableLow + BOOL + 8 + 160 + + 1 + + + + ItemType + Output + + + + + bSofLimEnableHigh + BOOL + 8 + 168 + + 1 + + + + ItemType + Output + + + + + fbReadSoftLimEnableLow + FB_ReadParameterInNc_v1_00 + 1536 + 192 + + + fbReadSoftLimEnableHigh + FB_ReadParameterInNc_v1_00 + 1536 + 1728 + + + + PouType + FunctionBlock + + + + + FB_HomeWriteSoftLimEnable + 3264 + + En + BOOL + 8 + 32 + + + ItemType + Input + + + + + bReset + BOOL + 8 + 40 + + + ItemType + Input + + + + + bExecute + BOOL + 8 + 48 + + + ItemType + Input + + + + + bSofLimEnableLow + BOOL + 8 + 56 + + 1 + + + + ItemType + Input + + + + + bSofLimEnableHigh + BOOL + 8 + 64 + + 1 + + + + ItemType + Input + + + + + Axis + AXIS_REF + 32 + 96 + + + ItemType + InOut + + + + + EnO + BOOL + 8 + 128 + + + ItemType + Output + + + + + bBusy + BOOL + 8 + 136 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 144 + + + ItemType + Output + + + + + bError + BOOL + 8 + 152 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 160 + + + ItemType + Output + + + + + fbExecuteRiseEdge + R_TRIG + 64 + 192 + + + fbWriteSoftLimEnableLow + FB_WriteParameterInNc_v1_00 + 1504 + 256 + + + fbWriteSoftLimEnableHigh + FB_WriteParameterInNc_v1_00 + 1504 + 1760 + + + + PouType + FunctionBlock + + + + + FB_ReadFloatParameter + 1600 + + bExecute + BOOL + 8 + 32 + + + ItemType + Input + + + + + nDeviceGroup + UDINT + 16#4000=Axisdata, 16#5000=Encoderdata, 16#6000=Controldata, 16#7000=Drivedata + 32 + 64 + + + ItemType + Input + + + + + nIndexOffset + UDINT + 32 + 96 + + + ItemType + Input + + + + + nData + LREAL + 64 + 128 + + + ItemType + Output + + + + + bBusy + BOOL + 8 + 192 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 200 + + + ItemType + Output + + + + + bError + BOOL + 8 + 208 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 224 + + + ItemType + Output + + + + + Axis + AXIS_REF + 32 + 256 + + + ItemType + InOut + + + + + nState + UINT + 16 + 288 + + + fbADSREAD + ADSREAD + 1248 + 320 + + + + PouType + FunctionBlock + + + + + FB_HomeReadNcVelocities + 3520 + + En + BOOL + 8 + 32 + + + ItemType + Input + + + + + bReset + BOOL + 8 + 40 + + + ItemType + Input + + + + + bExecute + BOOL + 8 + 48 + + + ItemType + Input + + + + + Axis + AXIS_REF + 32 + 64 + + + ItemType + InOut + + + + + EnO + BOOL + 8 + 96 + + + ItemType + Output + + + + + bBusy + BOOL + 8 + 104 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 112 + + + ItemType + Output + + + + + bError + BOOL + 8 + 120 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 128 + + + ItemType + Output + + + + + fVelocityToCam + LREAL + 64 + 192 + + + ItemType + Output + + + + + fVelocityFromCam + LREAL + 64 + 256 + + + ItemType + Output + + + + + fbReadVelocityToCam + FB_ReadFloatParameter + 1600 + 320 + + + fbReadVelocityFromCam + FB_ReadFloatParameter + 1600 + 1920 + + + + PouType + FunctionBlock + + + + + FB_HomePrepare + 17728 + + En + BOOL + 8 + 32 + + + ItemType + Input + + + + + bReset + BOOL + 8 + 40 + + + ItemType + Input + + + + + bExecute + BOOL + 8 + 48 + + + ItemType + Input + + + + + nCmdData + UINT + 16 + 64 + + + ItemType + Input + + + + + Axis + AXIS_REF + 32 + 96 + + + ItemType + InOut + + + + + EnO + BOOL + 8 + 128 + + + ItemType + Output + + + + + bBusy + BOOL + 8 + 136 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 144 + + + ItemType + Output + + + + + bError + BOOL + 8 + 152 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 160 + + + ItemType + Output + + + + + bSofLimEnableLowOriginal + BOOL + 8 + 192 + + 1 + + + + ItemType + Output + + + + + bSofLimEnableHighOriginal + BOOL + 8 + 200 + + 1 + + + + ItemType + Output + + + + + fVelocityToCam + LREAL + 64 + 256 + + 0 + + + + ItemType + Output + + + + + fVelocityFromCam + LREAL + 64 + 320 + + 0 + + + + ItemType + Output + + + + + fbHomeReadSoftLimEnable + FB_HomeReadSoftLimEnable + 3264 + 384 + + + fbHomeDisableSoftLimEnable + FB_HomeWriteSoftLimEnable + 3264 + 3648 + + + fbHomeReadNCVelocities + FB_HomeReadNcVelocities + 3520 + 6912 + + + fbHomeResetCalibrationFlag + MC_Home + Only used for reset of calibration flag + 7168 + 10432 + + + fbExecuteRiseEdge + R_TRIG + 64 + 17600 + + + bExecuteReadNC + BOOL + 8 + 17664 + + 0 + + + + bExecuteWriteNC + BOOL + 8 + 17672 + + 0 + + + + nState + INT + 16 + 17680 + + 0 + + + + + PouType + FunctionBlock + + + + + FB_HomeFinish + 3552 + + En + BOOL + 8 + 32 + + + ItemType + Input + + + + + bReset + BOOL + 8 + 40 + + + ItemType + Input + + + + + bExecute + BOOL + 8 + 48 + + + ItemType + Input + + + + + nCmdData + UINT + 16 + 64 + + + ItemType + Input + + + + + bSofLimEnableLow + BOOL + 8 + 80 + + 1 + + + + ItemType + Input + + + + + bSofLimEnableHigh + BOOL + 8 + 88 + + 1 + + + + ItemType + Input + + + + + Axis + AXIS_REF + 32 + 96 + + + ItemType + InOut + + + + + EnO + BOOL + 8 + 128 + + + ItemType + Output + + + + + bBusy + BOOL + 8 + 136 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 144 + + + ItemType + Output + + + + + bError + BOOL + 8 + 152 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 160 + + + ItemType + Output + + + + + fbHomewriteSoftLimEnable + FB_HomeWriteSoftLimEnable + 3264 + 192 + + + fbExecuteRiseEdge + R_TRIG + 64 + 3456 + + + bExecuteWriteNC + BOOL + 8 + 3520 + + 0 + + + + nState + INT + 16 + 3536 + + 0 + + + + + PouType + FunctionBlock + + + + + FB_HomeVirtual + 53760 + + En + BOOL + 8 + 32 + + + ItemType + Input + + + + + bReset + BOOL + 8 + 40 + + + ItemType + Input + + + + + bExecute + BOOL + 8 + 48 + + + ItemType + Input + + + + + nCmdData + UINT + 16 + 64 + + + ItemType + Input + + + + + bLimitFwd + BOOL + 8 + 80 + + + ItemType + Input + + + + + bLimitBwd + BOOL + 8 + 88 + + + ItemType + Input + + + + + bHomeSensor + BOOL + 8 + 96 + + + ItemType + Input + + + + + fHomePosition + LREAL + 64 + 128 + + + ItemType + Input + + + + + nHomeRevOffset + UINT + 16 + 192 + + + ItemType + Input + + + + + Axis + AXIS_REF + 32 + 224 + + + ItemType + InOut + + + + + EnO + BOOL + 8 + 256 + + + ItemType + Output + + + + + bBusy + BOOL + 8 + 264 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 272 + + + ItemType + Output + + + + + bHomed + BOOL + 8 + 280 + + + ItemType + Output + + + + + bError + BOOL + 8 + 288 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 320 + + + ItemType + Output + + + + + fbHomeToSwitch + FB_HomeToSwitch + 15744 + 384 + + + fbHomeDirect + FB_HomeDirect + Only used for direct homing (set of position) + 7424 + 16128 + + + fbMoveVelocity + MC_MoveVelocity + 8768 + 23552 + + + fbHomePrepare + FB_HomePrepare + 17728 + 32320 + + + fbHomeFinish + FB_HomeFinish + 3552 + 50048 + + + fbExecuteRiseEdge + R_TRIG + 64 + 53600 + + + nHomingState + INT + 16 + 53664 + + 0 + + + + bExecuteHomeToSwitch + BOOL + 8 + 53680 + + 0 + + + + bExecuteMoveVelocity + BOOL + 8 + 53688 + + 0 + + + + bExecutePrepare + BOOL + 8 + 53696 + + 0 + + + + bExecuteFinish + BOOL + 8 + 53704 + + 0 + + + + bExecuteHomeDirect + BOOL + 8 + 53712 + + + nCmdDataLocal + UINT + Ensure that nCmdData is not changed during sequence + 16 + 53728 + + + bSequenceReady + BOOL + 8 + 53744 + + 1 + + + + bRestoreNCDataNeeded + BOOL + 8 + 53752 + + 0 + + + + + PouType + FunctionBlock + + + + + ST_GearInDynOptions + 8 + + CCVmode + BOOL + constant circumference velocity mode + 8 + 0 + + + + _ST_TcNC_CoupleSlave + 384 + + nSlaveType + UDINT + 32 + 0 + + + nMasterAxisId + UDINT + 32 + 32 + + + nMasterSubIdx + UDINT + 32 + 64 + + + nSlaveSubIdx + UDINT + 32 + 96 + + + fCoupleParam1 + LREAL + 64 + 128 + + + fCoupleParam2 + LREAL + 64 + 192 + + + fCoupleParam3 + LREAL + 64 + 256 + + + fCoupleParam4 + LREAL + 64 + 320 + + + + conditionalshow + + + + + MC_GearInDyn + 4032 + + Master + AXIS_REF + Reference to an axis + 32 + 32 + + + ItemType + InOut + + + + + Slave + AXIS_REF + Reference to an axis + 32 + 64 + + + ItemType + InOut + + + + + Enable + BOOL + 8 + 96 + + + ItemType + Input + + + + + GearRatio + LREAL + 64 + 128 + + 1 + + + + ItemType + Input + + + + + Acceleration + LREAL + 64 + 192 + + + ItemType + Input + + + + + Deceleration + LREAL + not used + 64 + 256 + + + ItemType + Input + + + + + Jerk + LREAL + not used + 64 + 320 + + + ItemType + Input + + + + + BufferMode + MC_BufferMode + 16 + 384 + + + ItemType + Input + + + + + Options + ST_GearInDynOptions + optional parameters + 8 + 400 + + + ItemType + Input + + + + + InGear + BOOL + 8 + 408 + + + ItemType + Output + + + + + Busy + BOOL + 8 + 416 + + + ItemType + Output + + + + + Active + BOOL + 8 + 424 + + + ItemType + Output + + + + + CommandAborted + BOOL + 8 + 432 + + + ItemType + Output + + + + + Error + BOOL + 8 + 440 + + + ItemType + Output + + + + + ErrorID + UDINT + 32 + 448 + + + ItemType + Output + + + displaymode + hex + + + + + LastExecutionResult + _ST_FunctionBlockResults + 96 + 480 + + + ADSbusy + BOOL + 8 + 576 + + + iState + _E_TcMC_STATES + 16 + 592 + + 100 + + + + iSubState + INT + 16 + 608 + + + fbAdsWrite + ADSWRITE + 1216 + 640 + + + fbAdsRead + ADSREAD + 1248 + 1856 + + + sCouple + _ST_TcNC_CoupleSlave + 384 + 3136 + + + v_max + LREAL + 64 + 3520 + + + pa_limit + LREAL + 64 + 3584 + + + WasInGear + BOOL + 8 + 3648 + + + iAcceleration + LREAL + 64 + 3712 + + + conditionalshow + + + + + TimerStateFeedback + TON + 224 + 3776 + + + conditionalshow + + + + + + PouType + FunctionBlock + + + + + ST_GearOutOptions + 8 + + reserved + BOOL + 8 + 0 + + + conditionalshow + + + + + + MC_GearOut + 1792 + + Slave + AXIS_REF + Reference to an axis + 32 + 32 + + + ItemType + InOut + + + + + Execute + BOOL + 8 + 64 + + + ItemType + Input + + + + + Options + ST_GearOutOptions + optional parameters + 8 + 72 + + + ItemType + Input + + + + + Done + BOOL + 8 + 80 + + + ItemType + Output + + + + + Busy + BOOL + 8 + 88 + + + ItemType + Output + + + + + Error + BOOL + 8 + 96 + + + ItemType + Output + + + + + ErrorID + UDINT + 32 + 128 + + + ItemType + Output + + + displaymode + hex + + + + + LastExecutionResult + _ST_FunctionBlockResults + 96 + 160 + + + ADSbusy + BOOL + 8 + 256 + + + iState + _E_TcMC_STATES + 16 + 272 + + 100 + + + + fbAdsWrite + ADSWRITE + 1216 + 288 + + + fbOnTrigger + R_TRIG + 64 + 1504 + + + conditionalshow + + + + + TimerStateFeedback + TON + 224 + 1568 + + + conditionalshow + + + + + + PouType + FunctionBlock + + + + + FB_DriveVirtual + 163456 + + sVersion + STRING(80) + 648 + 32 + + 1.0.3 + + + + En + BOOL + 8 + 680 + + + ItemType + Input + + + + + bEnable + BOOL + 8 + 688 + + + ItemType + Input + + + + + bReset + BOOL + 8 + 696 + + + ItemType + Input + + + + + bExecute + BOOL + 8 + 704 + + + ItemType + Input + + + + + nCommand + UINT + // nCommandLocal... // 0 = Jog // 1 = MoveVelocity // 2 = MoveRelative // 3 = MoveAbsolut // 4 = MoveModulo // 10 = Homing -// 20 = SuperInp >>>ToBe -// 30 = Gear]]>16720ItemTypeInputnCmdDataUINT16736ItemTypeInputfVelocityLREAL64768ItemTypeInputfPositionLREAL64832ItemTypeInputfAccelerationLREAL64896ItemTypeInputfDecelerationLREAL64960ItemTypeInputbJogFwdBOOL81024ItemTypeInputbJogBwdBOOL81032ItemTypeInputbLimitFwdBOOL81040ItemTypeInputbLimitBwdBOOL81048ItemTypeInputfOverrideLREAL641088100ItemTypeInputbHomeSensorBOOL81152ItemTypeInputfHomePositionLREAL641216ItemTypeInputnHomeRevOffsetUINT161280ItemTypeInputMasterAxisAXIS_REF90881344ItemTypeInputbPowerSelfBOOL810432ItemTypeInputEnOBOOL810440ItemTypeOutputbEnabledBOOL810448ItemTypeOutputbBusyBOOL810456ItemTypeOutputbDoneBOOL810464ItemTypeOutputbErrorBOOL810472ItemTypeOutputbHomedBOOL810480ItemTypeOutputnErrorIdUDINT3210496ItemTypeOutputnMotionAxisIDUDINT32105280ItemTypeOutputStatusST_AxisStatus76810560ItemTypeOutputfActVelocityLREAL6411328ItemTypeOutputfActPositionLREAL6411392ItemTypeOutputfActDiffLREAL6411456ItemTypeOutputsErrorMessageSTRING(80)64811520ItemTypeOutputAxisAXIS_REF3212192ItemTypeInOutnCommandLocalUINT1612224nCmdDataLocalUINT1612240bFirstScanBOOL8122561fbResetMC_Reset163212288fbPowerMC_Power76813952fbHaltMC_Halt864014720fbJogMC_Jog4435223360fbMoveVelocityMC_MoveVelocity876867712fbMoveRelativeMC_MoveRelative883276480fbMoveAbsoluteMC_MoveAbsolute883285312fbMoveModuloMC_MoveModulo889694144fbHomeVirtualFB_HomeVirtual53760103040fbGearInDynMC_GearInDyn4032156800fbGearOutMC_GearOut1792160832fbExecuteRiseEdgeR_TRIG64162624stAxisStatusDUT_AxisStatus_v0_01768162688PouTypeFunctionBlockFB_MotionHoming46976stMotionStageDUT_MotionStage3232ItemTypeInOutbExecuteBOOL864ItemTypeInputbBusyBOOL872ItemTypeOutputbDoneBOOL880ItemTypeOutputbErrorBOOL888ItemTypeOutputnErrorIDUDINT3296ItemTypeOutputfbSetPosMC_SetPosition1984128fbJogMC_Jog443522112rtExecR_TRIG6446464ftExecF_TRIG6446528nHomeStateMachineINT16465920nStateAfterStopINT1646608nMovesINT1646624bFirstDirectionBOOL846640bAtHomeBOOL846648bMoveBOOL846656nErrCountINT1646672bInterruptedBOOL846688IDLEINT16467040NEXT_MOVEINT16467201CHECK_FWDINT16467362CHECK_BWDINT16467523FINAL_MOVEINT16467684FINAL_SETPOSINT16467845ERRORINT16468006WAIT_STOPINT16468167FWD_STARTLREAL + 16 + 720 + + + ItemType + Input + + + + + nCmdData + UINT + 16 + 736 + + + ItemType + Input + + + + + fVelocity + LREAL + 64 + 768 + + + ItemType + Input + + + + + fPosition + LREAL + 64 + 832 + + + ItemType + Input + + + + + fAcceleration + LREAL + 64 + 896 + + + ItemType + Input + + + + + fDeceleration + LREAL + 64 + 960 + + + ItemType + Input + + + + + bJogFwd + BOOL + 8 + 1024 + + + ItemType + Input + + + + + bJogBwd + BOOL + 8 + 1032 + + + ItemType + Input + + + + + bLimitFwd + BOOL + 8 + 1040 + + + ItemType + Input + + + + + bLimitBwd + BOOL + 8 + 1048 + + + ItemType + Input + + + + + fOverride + LREAL + 64 + 1088 + + 100 + + + + ItemType + Input + + + + + bHomeSensor + BOOL + 8 + 1152 + + + ItemType + Input + + + + + fHomePosition + LREAL + 64 + 1216 + + + ItemType + Input + + + + + nHomeRevOffset + UINT + 16 + 1280 + + + ItemType + Input + + + + + MasterAxis + AXIS_REF + 9088 + 1344 + + + ItemType + Input + + + + + bPowerSelf + BOOL + 8 + 10432 + + + ItemType + Input + + + + + EnO + BOOL + 8 + 10440 + + + ItemType + Output + + + + + bEnabled + BOOL + 8 + 10448 + + + ItemType + Output + + + + + bBusy + BOOL + 8 + 10456 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 10464 + + + ItemType + Output + + + + + bError + BOOL + 8 + 10472 + + + ItemType + Output + + + + + bHomed + BOOL + 8 + 10480 + + + ItemType + Output + + + + + nErrorId + UDINT + 32 + 10496 + + + ItemType + Output + + + + + nMotionAxisID + UDINT + Axis id in Motion (NC) + 32 + 10528 + + 0 + + + + ItemType + Output + + + + + Status + ST_AxisStatus + 768 + 10560 + + + ItemType + Output + + + + + fActVelocity + LREAL + 64 + 11328 + + + ItemType + Output + + + + + fActPosition + LREAL + 64 + 11392 + + + ItemType + Output + + + + + fActDiff + LREAL + 64 + 11456 + + + ItemType + Output + + + + + sErrorMessage + STRING(80) + 648 + 11520 + + + ItemType + Output + + + + + Axis + AXIS_REF + 32 + 12192 + + + ItemType + InOut + + + + + nCommandLocal + UINT + 16 + 12224 + + + nCmdDataLocal + UINT + 16 + 12240 + + + bFirstScan + BOOL + 8 + 12256 + + 1 + + + + fbReset + MC_Reset + 1632 + 12288 + + + fbPower + MC_Power + 768 + 13952 + + + fbHalt + MC_Halt + 8640 + 14720 + + + fbJog + MC_Jog + 44352 + 23360 + + + fbMoveVelocity + MC_MoveVelocity + 8768 + 67712 + + + fbMoveRelative + MC_MoveRelative + 8832 + 76480 + + + fbMoveAbsolute + MC_MoveAbsolute + 8832 + 85312 + + + fbMoveModulo + MC_MoveModulo + 8896 + 94144 + + + fbHomeVirtual + FB_HomeVirtual + 53760 + 103040 + + + fbGearInDyn + MC_GearInDyn + 4032 + 156800 + + + fbGearOut + MC_GearOut + 1792 + 160832 + + + fbExecuteRiseEdge + R_TRIG + 64 + 162624 + + + stAxisStatus + DUT_AxisStatus_v0_01 + 768 + 162688 + + + + PouType + FunctionBlock + + + + + FB_MotionHoming + 46976 + + stMotionStage + DUT_MotionStage + 32 + 32 + + + ItemType + InOut + + + + + bExecute + BOOL + 8 + 64 + + + ItemType + Input + + + + + bBusy + BOOL + 8 + 72 + + + ItemType + Output + + + + + bDone + BOOL + 8 + 80 + + + ItemType + Output + + + + + bError + BOOL + 8 + 88 + + + ItemType + Output + + + + + nErrorID + UDINT + 32 + 96 + + + ItemType + Output + + + + + fbSetPos + MC_SetPosition + 1984 + 128 + + + fbJog + MC_Jog + 44352 + 2112 + + + rtExec + R_TRIG + 64 + 46464 + + + ftExec + F_TRIG + 64 + 46528 + + + nHomeStateMachine + INT + 16 + 46592 + + 0 + + + + nStateAfterStop + INT + 16 + 46608 + + + nMoves + INT + 16 + 46624 + + + bFirstDirection + BOOL + 8 + 46640 + + + bAtHome + BOOL + 8 + 46648 + + + bMove + BOOL + 8 + 46656 + + + nErrCount + INT + 16 + 46672 + + + bInterrupted + BOOL + 8 + 46688 + + + IDLE + INT + 16 + 46704 + + 0 + + + + NEXT_MOVE + INT + 16 + 46720 + + 1 + + + + CHECK_FWD + INT + 16 + 46736 + + 2 + + + + CHECK_BWD + INT + 16 + 46752 + + 3 + + + + FINAL_MOVE + INT + 16 + 46768 + + 4 + + + + FINAL_SETPOS + INT + 16 + 46784 + + 5 + + + + ERROR + INT + 16 + 46800 + + 6 + + + + WAIT_STOP + INT + 16 + 46816 + + 7 + + + + FWD_START + LREAL + This is a simpler way of disabling the soft limits that ends up being really obvious if something has gone wrong. If you turn the limits off/on, not only do you need to keep track of if you had soft limits set, but you need to always restore this properly or risk some issue. Instead, I set position to a ridiculous value that can always move forward or backward. If this gets stuck for any reason it's very clear that something has gone wrong, rather than a silent failure of the soft limit marks. - ]]>6446848-99999999BWD_STARTLREAL644691299999999PouTypeFunctionBlockFB_EncSaveRestore2880stMotionStageDUT_MotionStage3232ItemTypeInOutbEnableBOOL864ItemTypeInputfbSetPosMC_SetPosition1984128timerTON2242112bInitBOOL82336bLoadBOOL82344nLatchErrorUDINT322368bEncErrorBOOL82400tRetryDelayTIME3224321000nMaxRetriesUINT16246410nCurrTriesUINT1624800bWaitRetryBOOL82496tonRetryTON2242528bSavedBOOL82752TcPersistentfPositionLREAL642816TcPersistentPouTypeFunctionBlockFB_LogMotionError83136stMotionStageDUT_MotionStage3232ItemTypeInOutbEnableBOOL864ItemTypeInputfbLogMessageFB_LogMessage81984128rtNewErrorR_TRIG6482112bChangedErrorBOOL882176sPrevErrSTRING(80)64882184fbJsonFB_JsonSaxWriter25682848PouTypeFunctionBlockFB_SetEnables64stMotionStageDUT_MotionStage3232ItemTypeInOutPouTypeFunctionBlockFB_EncoderValue64stMotionStageDUT_MotionStage3232ItemTypeInOutPouTypeFunctionBlockMC_ReadParameterSet1600ParameterST_AxisParameterSet3232ItemTypeInOutAxisAXIS_REF3264ItemTypeInOutExecuteBOOL896ItemTypeInputDoneBOOL8104ItemTypeOutputBusyBOOL8112ItemTypeOutputErrorBOOL8120ItemTypeOutputErrorIDUDINT32128ItemTypeOutputdisplaymodehexTriggerExecuteR_TRIG64160state_E_TcMC_STATES16224100fbAdsReadADSREAD1248256SizeofPayloadDataUDINT321504SizeofPayloadData64ULINT641536ActGetSizeOfParameterSetPouTypeFunctionBlockFB_MotionStageNCParams2112stMotionStageDUT_MotionStage3232ItemTypeInOutbEnableBOOL864ItemTypeInputtRefreshDelayTIME3296ItemTypeInputbErrorBOOL8128ItemTypeOutputmcReadParamsMC_ReadParameterSet1600192timerTON2241792bExecuteBOOL820161nLatchErrIdUDINT322048PouTypeFunctionBlockFB_MotionStage299392stMotionStageDUT_MotionStage3232ItemTypeInOutfbDriveVirtualFB_DriveVirtual16345664fbMotionHomeFB_MotionHoming46976163520fbSaveRestoreFB_EncSaveRestore2880210496fbLogErrorFB_LogMotionError83136213376bExecuteBOOL8296512bExecMoveBOOL8296520bExecHomeBOOL8296528bFwdHitBOOL8296536bBwdHitBOOL8296544ftExecF_TRIG64296576rtExecR_TRIG64296640rtUserExecR_TRIG64296704rtTargetR_TRIG64296768rtHomedR_TRIG64296832fbSetEnablesFB_SetEnables64296896bPosGoalBOOL8296960bNegGoalBOOL8296968fbEncoderValueFB_EncoderValue64296992fbNCParamsFB_MotionStageNCParams2112297088bNewMoveReqBOOL8299200bPrepareDisableBOOL8299208bMoveCmdBOOL8299216rtMoveCmdShortcutR_TRIG64299232rtHomeCmdShortcutR_TRIG64299296PouTypeFunctionBlockVERSION64uiMajorUINT160uiMinorUINT1616uiServicePackUINT1632uiPatchUINT1648EPlcPersistentStatus8USINT012PlcAppSystemInfo2048ObjIdOTCID320TaskCntUDINT3232OnlineChangeCntUDINT3264FlagsDWORD3296AdsPortUINT16128BootDataLoadedBOOL8144OldBootDataBOOL8152AppTimestampDT32160KeepOutputsOnBPBOOL8192ShutdownInProgressBOOL8200LicensesPendingBOOL8208BSODOccuredBOOL8216LoggedInBOOL8224PersistentStatusEPlcPersistentStatus8232TComSrvPtrITComObjectServer32256TcComInterfaceAppNameSTRING(63)512512ProjectNameSTRING(63)5121024PlcTaskSystemInfo1024ObjIdOTCID320CycleTimeUDINT3232PriorityUINT1664AdsPortUINT1680CycleCountUDINT3296DcTaskTimeLINT64128LastExecTimeUDINT32192FirstCycleBOOL8224CycleTimeExceededBOOL8232InCallAfterOutputUpdateBOOL8240RTViolationBOOL8248TaskNameSTRING(63)512512_Implicit_KindOfTask16INT_implicit_cyclic0_implicit_event1_implicit_external2_implicit_freewheeling3_Implicit_Jitter_Distribution48wRangeMaxWORD160wCountJitterNegWORD1616wCountJitterPosWORD1632hide_Implicit_Task_Info704dwVersionDWORD320pszNameSTRING(80)3232nPriorityINT1664KindOf_Implicit_KindOfTask1680bWatchdogBOOL896bProfilingTaskBOOL8104dwEventFunctionPointerBYTE32128pszExternalEventSTRING(80)32160dwTaskEntryFunctionPointerBYTE32192dwWatchdogSensitivityDWORD32224dwIntervalDWORD32256dwWatchdogTimeDWORD32288dwLastCycleTimeDWORD32320dwAverageCycleTimeDWORD32352dwMaxCycleTimeDWORD32384dwMinCycleTimeDWORD32416diJitterDINT32448diJitterMinDINT32480diJitterMaxDINT32512dwCycleCountDWORD32544wTaskStatusWORD16576wNumOfJitterDistributionsWORD16592pJitterDistribution_Implicit_Jitter_Distribution32608bWithinSPSTimeSlicingBOOL8640byDummyBYTE8648bShouldBlockBOOL8656bActiveBOOL8664dwIECCycleCountDWORD32672hideLCLSGeneralEventClassCriticalCriticalErrorErrorWarningWarningInfoInfoVerboseVerboselamp_motion{08500001-0000-0000-F000-000000000064}0PlcTask#x020100300PlcTask Inputs080281600Main.M1.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634650560Main.M1.bLimitForwardEnable8BOOLpytmc + + 64 + 46848 + + -99999999 + + + + BWD_START + LREAL + 64 + 46912 + + 99999999 + + + + + PouType + FunctionBlock + + + + + FB_EncSaveRestore + 2880 + + stMotionStage + DUT_MotionStage + 32 + 32 + + + ItemType + InOut + + + + + bEnable + BOOL + 8 + 64 + + + ItemType + Input + + + + + fbSetPos + MC_SetPosition + 1984 + 128 + + + timer + TON + 224 + 2112 + + + bInit + BOOL + 8 + 2336 + + + bLoad + BOOL + 8 + 2344 + + + nLatchError + UDINT + 32 + 2368 + + + bEncError + BOOL + 8 + 2400 + + + tRetryDelay + TIME + 32 + 2432 + + 1000 + + + + nMaxRetries + UINT + 16 + 2464 + + 10 + + + + nCurrTries + UINT + 16 + 2480 + + 0 + + + + bWaitRetry + BOOL + 8 + 2496 + + + tonRetry + TON + 224 + 2528 + + + bSaved + BOOL + 8 + 2752 + + + TcPersistent + + + + + fPosition + LREAL + 64 + 2816 + + + TcPersistent + + + + + + PouType + FunctionBlock + + + + + FB_LogMotionError + 83136 + + stMotionStage + DUT_MotionStage + 32 + 32 + + + ItemType + InOut + + + + + bEnable + BOOL + 8 + 64 + + + ItemType + Input + + + + + fbLogMessage + FB_LogMessage + 81984 + 128 + + + rtNewError + R_TRIG + 64 + 82112 + + + bChangedError + BOOL + 8 + 82176 + + + sPrevErr + STRING(80) + 648 + 82184 + + + fbJson + FB_JsonSaxWriter + 256 + 82848 + + + + PouType + FunctionBlock + + + + + FB_SetEnables + 64 + + stMotionStage + DUT_MotionStage + 32 + 32 + + + ItemType + InOut + + + + + + PouType + FunctionBlock + + + + + FB_EncoderValue + 64 + + stMotionStage + DUT_MotionStage + 32 + 32 + + + ItemType + InOut + + + + + + PouType + FunctionBlock + + + + + MC_ReadParameterSet + 1600 + + Parameter + ST_AxisParameterSet + 32 + 32 + + + ItemType + InOut + + + + + Axis + AXIS_REF + Reference to an axis + 32 + 64 + + + ItemType + InOut + + + + + Execute + BOOL + 8 + 96 + + + ItemType + Input + + + + + Done + BOOL + 8 + 104 + + + ItemType + Output + + + + + Busy + BOOL + 8 + 112 + + + ItemType + Output + + + + + Error + BOOL + 8 + 120 + + + ItemType + Output + + + + + ErrorID + UDINT + 32 + 128 + + + ItemType + Output + + + displaymode + hex + + + + + TriggerExecute + R_TRIG + 64 + 160 + + + state + _E_TcMC_STATES + 16 + 224 + + 100 + + + + fbAdsRead + ADSREAD + 1248 + 256 + + + SizeofPayloadData + UDINT + 32 + 1504 + + + SizeofPayloadData64 + ULINT + 64 + 1536 + + + ActGetSizeOfParameterSet + + + + PouType + FunctionBlock + + + + + FB_MotionStageNCParams + 2112 + + stMotionStage + DUT_MotionStage + 32 + 32 + + + ItemType + InOut + + + + + bEnable + BOOL + 8 + 64 + + + ItemType + Input + + + + + tRefreshDelay + TIME + 32 + 96 + + + ItemType + Input + + + + + bError + BOOL + 8 + 128 + + + ItemType + Output + + + + + mcReadParams + MC_ReadParameterSet + 1600 + 192 + + + timer + TON + 224 + 1792 + + + bExecute + BOOL + 8 + 2016 + + 1 + + + + nLatchErrId + UDINT + 32 + 2048 + + + + PouType + FunctionBlock + + + + + FB_MotionStage + 299392 + + stMotionStage + DUT_MotionStage + 32 + 32 + + + ItemType + InOut + + + + + fbDriveVirtual + FB_DriveVirtual + 163456 + 64 + + + fbMotionHome + FB_MotionHoming + 46976 + 163520 + + + fbSaveRestore + FB_EncSaveRestore + 2880 + 210496 + + + fbLogError + FB_LogMotionError + 83136 + 213376 + + + bExecute + BOOL + 8 + 296512 + + + bExecMove + BOOL + 8 + 296520 + + + bExecHome + BOOL + 8 + 296528 + + + bFwdHit + BOOL + 8 + 296536 + + + bBwdHit + BOOL + 8 + 296544 + + + ftExec + F_TRIG + 64 + 296576 + + + rtExec + R_TRIG + 64 + 296640 + + + rtUserExec + R_TRIG + 64 + 296704 + + + rtTarget + R_TRIG + 64 + 296768 + + + rtHomed + R_TRIG + 64 + 296832 + + + fbSetEnables + FB_SetEnables + 64 + 296896 + + + bPosGoal + BOOL + 8 + 296960 + + + bNegGoal + BOOL + 8 + 296968 + + + fbEncoderValue + FB_EncoderValue + 64 + 296992 + + + fbNCParams + FB_MotionStageNCParams + 2112 + 297088 + + + bNewMoveReq + BOOL + 8 + 299200 + + + bPrepareDisable + BOOL + 8 + 299208 + + + bMoveCmd + BOOL + 8 + 299216 + + + rtMoveCmdShortcut + R_TRIG + 64 + 299232 + + + rtHomeCmdShortcut + R_TRIG + 64 + 299296 + + + + PouType + FunctionBlock + + + + + VERSION + 64 + + uiMajor + UINT + 16 + 0 + + + uiMinor + UINT + 16 + 16 + + + uiServicePack + UINT + 16 + 32 + + + uiPatch + UINT + 16 + 48 + + + + EPlcPersistentStatus + 8 + USINT + + PS_None + 0 + + + PS_All + 1 + + + PS_Partial + 2 + + + + PlcAppSystemInfo + 2048 + + ObjId + OTCID + 32 + 0 + + + TaskCnt + UDINT + 32 + 32 + + + OnlineChangeCnt + UDINT + 32 + 64 + + + Flags + DWORD + 32 + 96 + + + AdsPort + UINT + 16 + 128 + + + BootDataLoaded + BOOL + 8 + 144 + + + OldBootData + BOOL + 8 + 152 + + + AppTimestamp + DT + 32 + 160 + + + KeepOutputsOnBP + BOOL + 8 + 192 + + + ShutdownInProgress + BOOL + 8 + 200 + + + LicensesPending + BOOL + 8 + 208 + + + BSODOccured + BOOL + 8 + 216 + + + LoggedIn + BOOL + 8 + 224 + + + PersistentStatus + EPlcPersistentStatus + 8 + 232 + + + TComSrvPtr + ITComObjectServer + 32 + 256 + + + TcComInterface + + + + + AppName + STRING(63) + 512 + 512 + + + ProjectName + STRING(63) + 512 + 1024 + + + + + + + + + + + PlcTaskSystemInfo + 1024 + + ObjId + OTCID + 32 + 0 + + + CycleTime + UDINT + 32 + 32 + + + Priority + UINT + 16 + 64 + + + AdsPort + UINT + 16 + 80 + + + CycleCount + UDINT + 32 + 96 + + + DcTaskTime + LINT + 64 + 128 + + + LastExecTime + UDINT + 32 + 192 + + + FirstCycle + BOOL + 8 + 224 + + + CycleTimeExceeded + BOOL + 8 + 232 + + + InCallAfterOutputUpdate + BOOL + 8 + 240 + + + RTViolation + BOOL + 8 + 248 + + + TaskName + STRING(63) + 512 + 512 + + + + + + + + _Implicit_KindOfTask + 16 + INT + + _implicit_cyclic + 0 + + + _implicit_event + 1 + + + _implicit_external + 2 + + + _implicit_freewheeling + 3 + + + + _Implicit_Jitter_Distribution + 48 + + wRangeMax + WORD + 16 + 0 + + + wCountJitterNeg + WORD + 16 + 16 + + + wCountJitterPos + WORD + 16 + 32 + + + + hide + + + + + _Implicit_Task_Info + 704 + + dwVersion + DWORD + 32 + 0 + + + pszName + STRING(80) + 32 + 32 + + + nPriority + INT + 16 + 64 + + + KindOf + _Implicit_KindOfTask + 16 + 80 + + + bWatchdog + BOOL + 8 + 96 + + + bProfilingTask + BOOL + 8 + 104 + + + dwEventFunctionPointer + BYTE + 32 + 128 + + + pszExternalEvent + STRING(80) + 32 + 160 + + + dwTaskEntryFunctionPointer + BYTE + 32 + 192 + + + dwWatchdogSensitivity + DWORD + 32 + 224 + + + dwInterval + DWORD + 32 + 256 + + + dwWatchdogTime + DWORD + 32 + 288 + + + dwLastCycleTime + DWORD + 32 + 320 + + + dwAverageCycleTime + DWORD + 32 + 352 + + + dwMaxCycleTime + DWORD + 32 + 384 + + + dwMinCycleTime + DWORD + 32 + 416 + + + diJitter + DINT + 32 + 448 + + + diJitterMin + DINT + 32 + 480 + + + diJitterMax + DINT + 32 + 512 + + + dwCycleCount + DWORD + 32 + 544 + + + wTaskStatus + WORD + 16 + 576 + + + wNumOfJitterDistributions + WORD + 16 + 592 + + + pJitterDistribution + _Implicit_Jitter_Distribution + 32 + 608 + + + bWithinSPSTimeSlicing + BOOL + 8 + 640 + + + byDummy + BYTE + 8 + 648 + + + bShouldBlock + BOOL + 8 + 656 + + + bActive + BOOL + 8 + 664 + + + dwIECCycleCount + DWORD + 32 + 672 + + + + hide + + + + + LCLSGeneralEventClass + Log event + + Critical + Critical + Critical + + + Error + Error + Error + + + Warning + Warning + Warning + + + Info + Info + Info + + + Verbose + Verbose + Verbose + + + + + + + + + + + + + + + lamp_motion + {08500001-0000-0000-F000-000000000064} + + + + 0 + PlcTask + + #x02010030 + + + + + + + 0 + PlcTask Inputs + 0 + 80281600 + + Main.M1.Axis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 634650560 + + + Main.M1.bLimitForwardEnable + NC Forward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634658560Main.M1.bLimitBackwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634658560 + + + Main.M1.bLimitBackwardEnable + NC Backward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634658568Main.M1.bHome8BOOLpytmc + + + + TcAddressType + Input + + + 634658568 + + + Main.M1.bHome + NO Home Switch: TRUE if at home + 8 + BOOL + + + pytmc + pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634658576Main.M1.bHardwareEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634658576 + + + Main.M1.bHardwareEnable + NC STO Input: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634658592Main.M1.nRawEncoderULINT64ULINTTcAddressTypeInput634658624Main.M1.nRawEncoderUINT16UINTTcAddressTypeInput634658688Main.M1.nRawEncoderINT16INTTcAddressTypeInput634658704Main.M2.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634671808Main.M2.bLimitForwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634658592 + + + Main.M1.nRawEncoderULINT + Raw encoder IO for ULINT (Biss-C) + 64 + ULINT + + + TcAddressType + Input + + + 634658624 + + + Main.M1.nRawEncoderUINT + Raw encoder IO for UINT (Relative Encoders) + 16 + UINT + + + TcAddressType + Input + + + 634658688 + + + Main.M1.nRawEncoderINT + Raw encoder IO for INT (LVDT) + 16 + INT + + + TcAddressType + Input + + + 634658704 + + + Main.M2.Axis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 634671808 + + + Main.M2.bLimitForwardEnable + NC Forward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634679808Main.M2.bLimitBackwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634679808 + + + Main.M2.bLimitBackwardEnable + NC Backward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634679816Main.M2.bHome8BOOLpytmc + + + + TcAddressType + Input + + + 634679816 + + + Main.M2.bHome + NO Home Switch: TRUE if at home + 8 + BOOL + + + pytmc + pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634679824Main.M2.bHardwareEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634679824 + + + Main.M2.bHardwareEnable + NC STO Input: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634679840Main.M2.nRawEncoderULINT64ULINTTcAddressTypeInput634679872Main.M2.nRawEncoderUINT16UINTTcAddressTypeInput634679936Main.M2.nRawEncoderINT16INTTcAddressTypeInput634679952Main.M3.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634693056Main.M3.bLimitForwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634679840 + + + Main.M2.nRawEncoderULINT + Raw encoder IO for ULINT (Biss-C) + 64 + ULINT + + + TcAddressType + Input + + + 634679872 + + + Main.M2.nRawEncoderUINT + Raw encoder IO for UINT (Relative Encoders) + 16 + UINT + + + TcAddressType + Input + + + 634679936 + + + Main.M2.nRawEncoderINT + Raw encoder IO for INT (LVDT) + 16 + INT + + + TcAddressType + Input + + + 634679952 + + + Main.M3.Axis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 634693056 + + + Main.M3.bLimitForwardEnable + NC Forward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634701056Main.M3.bLimitBackwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634701056 + + + Main.M3.bLimitBackwardEnable + NC Backward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634701064Main.M3.bHome8BOOLpytmc + + + + TcAddressType + Input + + + 634701064 + + + Main.M3.bHome + NO Home Switch: TRUE if at home + 8 + BOOL + + + pytmc + pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634701072Main.M3.bHardwareEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634701072 + + + Main.M3.bHardwareEnable + NC STO Input: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634701088Main.M3.nRawEncoderULINT64ULINTTcAddressTypeInput634701120Main.M3.nRawEncoderUINT16UINTTcAddressTypeInput634701184Main.M3.nRawEncoderINT16INTTcAddressTypeInput634701200Main.M4.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634714304Main.M4.bLimitForwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634701088 + + + Main.M3.nRawEncoderULINT + Raw encoder IO for ULINT (Biss-C) + 64 + ULINT + + + TcAddressType + Input + + + 634701120 + + + Main.M3.nRawEncoderUINT + Raw encoder IO for UINT (Relative Encoders) + 16 + UINT + + + TcAddressType + Input + + + 634701184 + + + Main.M3.nRawEncoderINT + Raw encoder IO for INT (LVDT) + 16 + INT + + + TcAddressType + Input + + + 634701200 + + + Main.M4.Axis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 634714304 + + + Main.M4.bLimitForwardEnable + NC Forward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634722304Main.M4.bLimitBackwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634722304 + + + Main.M4.bLimitBackwardEnable + NC Backward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634722312Main.M4.bHome8BOOLpytmc + + + + TcAddressType + Input + + + 634722312 + + + Main.M4.bHome + NO Home Switch: TRUE if at home + 8 + BOOL + + + pytmc + pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634722320Main.M4.bHardwareEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634722320 + + + Main.M4.bHardwareEnable + NC STO Input: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634722336Main.M4.nRawEncoderULINT64ULINTTcAddressTypeInput634722368Main.M4.nRawEncoderUINT16UINTTcAddressTypeInput634722432Main.M4.nRawEncoderINT16INTTcAddressTypeInput634722448Main.M5.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634735552Main.M5.bLimitForwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634722336 + + + Main.M4.nRawEncoderULINT + Raw encoder IO for ULINT (Biss-C) + 64 + ULINT + + + TcAddressType + Input + + + 634722368 + + + Main.M4.nRawEncoderUINT + Raw encoder IO for UINT (Relative Encoders) + 16 + UINT + + + TcAddressType + Input + + + 634722432 + + + Main.M4.nRawEncoderINT + Raw encoder IO for INT (LVDT) + 16 + INT + + + TcAddressType + Input + + + 634722448 + + + Main.M5.Axis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 634735552 + + + Main.M5.bLimitForwardEnable + NC Forward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634743552Main.M5.bLimitBackwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634743552 + + + Main.M5.bLimitBackwardEnable + NC Backward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634743560Main.M5.bHome8BOOLpytmc + + + + TcAddressType + Input + + + 634743560 + + + Main.M5.bHome + NO Home Switch: TRUE if at home + 8 + BOOL + + + pytmc + pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634743568Main.M5.bHardwareEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634743568 + + + Main.M5.bHardwareEnable + NC STO Input: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634743584Main.M5.nRawEncoderULINT64ULINTTcAddressTypeInput634743616Main.M5.nRawEncoderUINT16UINTTcAddressTypeInput634743680Main.M5.nRawEncoderINT16INTTcAddressTypeInput634743696Main.M6.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634756800Main.M6.bLimitForwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634743584 + + + Main.M5.nRawEncoderULINT + Raw encoder IO for ULINT (Biss-C) + 64 + ULINT + + + TcAddressType + Input + + + 634743616 + + + Main.M5.nRawEncoderUINT + Raw encoder IO for UINT (Relative Encoders) + 16 + UINT + + + TcAddressType + Input + + + 634743680 + + + Main.M5.nRawEncoderINT + Raw encoder IO for INT (LVDT) + 16 + INT + + + TcAddressType + Input + + + 634743696 + + + Main.M6.Axis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 634756800 + + + Main.M6.bLimitForwardEnable + NC Forward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634764800Main.M6.bLimitBackwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634764800 + + + Main.M6.bLimitBackwardEnable + NC Backward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634764808Main.M6.bHome8BOOLpytmc + + + + TcAddressType + Input + + + 634764808 + + + Main.M6.bHome + NO Home Switch: TRUE if at home + 8 + BOOL + + + pytmc + pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634764816Main.M6.bHardwareEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634764816 + + + Main.M6.bHardwareEnable + NC STO Input: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634764832Main.M6.nRawEncoderULINT64ULINTTcAddressTypeInput634764864Main.M6.nRawEncoderUINT16UINTTcAddressTypeInput634764928Main.M6.nRawEncoderINT16INTTcAddressTypeInput634764944Main.M7.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634778048Main.M7.bLimitForwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634764832 + + + Main.M6.nRawEncoderULINT + Raw encoder IO for ULINT (Biss-C) + 64 + ULINT + + + TcAddressType + Input + + + 634764864 + + + Main.M6.nRawEncoderUINT + Raw encoder IO for UINT (Relative Encoders) + 16 + UINT + + + TcAddressType + Input + + + 634764928 + + + Main.M6.nRawEncoderINT + Raw encoder IO for INT (LVDT) + 16 + INT + + + TcAddressType + Input + + + 634764944 + + + Main.M7.Axis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 634778048 + + + Main.M7.bLimitForwardEnable + NC Forward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634786048Main.M7.bLimitBackwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634786048 + + + Main.M7.bLimitBackwardEnable + NC Backward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634786056Main.M7.bHome8BOOLpytmc + + + + TcAddressType + Input + + + 634786056 + + + Main.M7.bHome + NO Home Switch: TRUE if at home + 8 + BOOL + + + pytmc + pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634786064Main.M7.bHardwareEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634786064 + + + Main.M7.bHardwareEnable + NC STO Input: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634786080Main.M7.nRawEncoderULINT64ULINTTcAddressTypeInput634786112Main.M7.nRawEncoderUINT16UINTTcAddressTypeInput634786176Main.M7.nRawEncoderINT16INTTcAddressTypeInput634786192Main.M8.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634799296Main.M8.bLimitForwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634786080 + + + Main.M7.nRawEncoderULINT + Raw encoder IO for ULINT (Biss-C) + 64 + ULINT + + + TcAddressType + Input + + + 634786112 + + + Main.M7.nRawEncoderUINT + Raw encoder IO for UINT (Relative Encoders) + 16 + UINT + + + TcAddressType + Input + + + 634786176 + + + Main.M7.nRawEncoderINT + Raw encoder IO for INT (LVDT) + 16 + INT + + + TcAddressType + Input + + + 634786192 + + + Main.M8.Axis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 634799296 + + + Main.M8.bLimitForwardEnable + NC Forward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634807296Main.M8.bLimitBackwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634807296 + + + Main.M8.bLimitBackwardEnable + NC Backward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634807304Main.M8.bHome8BOOLpytmc + + + + TcAddressType + Input + + + 634807304 + + + Main.M8.bHome + NO Home Switch: TRUE if at home + 8 + BOOL + + + pytmc + pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634807312Main.M8.bHardwareEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634807312 + + + Main.M8.bHardwareEnable + NC STO Input: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634807328Main.M8.nRawEncoderULINT64ULINTTcAddressTypeInput634807360Main.M8.nRawEncoderUINT16UINTTcAddressTypeInput634807424Main.M8.nRawEncoderINT16INTTcAddressTypeInput634807440Main.M9.Axis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634820544Main.M9.bLimitForwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634807328 + + + Main.M8.nRawEncoderULINT + Raw encoder IO for ULINT (Biss-C) + 64 + ULINT + + + TcAddressType + Input + + + 634807360 + + + Main.M8.nRawEncoderUINT + Raw encoder IO for UINT (Relative Encoders) + 16 + UINT + + + TcAddressType + Input + + + 634807424 + + + Main.M8.nRawEncoderINT + Raw encoder IO for INT (LVDT) + 16 + INT + + + TcAddressType + Input + + + 634807440 + + + Main.M9.Axis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 634820544 + + + Main.M9.bLimitForwardEnable + NC Forward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitForwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if forward limit hit - TcAddressTypeInput634828544Main.M9.bLimitBackwardEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634828544 + + + Main.M9.bLimitBackwardEnable + NC Backward Limit Switch: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bLimitBackwardEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC FALSE if reverse limit hit - TcAddressTypeInput634828552Main.M9.bHome8BOOLpytmc + + + + TcAddressType + Input + + + 634828552 + + + Main.M9.bHome + NO Home Switch: TRUE if at home + 8 + BOOL + + + pytmc + pv: PLC:bHome io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if at homing switch - TcAddressTypeInput634828560Main.M9.bHardwareEnable8BOOLpytmc + + + + TcAddressType + Input + + + 634828560 + + + Main.M9.bHardwareEnable + NC STO Input: TRUE if ok to move + 8 + BOOL + + + pytmc + pv: PLC:bHardwareEnable io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if STO not hit - TcAddressTypeInput634828576Main.M9.nRawEncoderULINT64ULINTTcAddressTypeInput634828608Main.M9.nRawEncoderUINT16UINTTcAddressTypeInput634828672Main.M9.nRawEncoderINT16INTTcAddressTypeInput634828688Main.fbMotionStageM1.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput634843200Main.fbMotionStageM2.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput635142592Main.fbMotionStageM3.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput635441984Main.fbMotionStageM4.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput635741376Main.fbMotionStageM5.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput636040768Main.fbMotionStageM6.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput636340160Main.fbMotionStageM7.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput636639552Main.fbMotionStageM8.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput636938944Main.fbMotionStageM9.fbDriveVirtual.MasterAxis.NcToPlc2048NCTOPLC_AXIS_REFTcAddressTypeInput6372383361PlcTask Outputs080281600Main.M1.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634649536Main.M1.bBrakeRelease8BOOLpytmc + + + + TcAddressType + Input + + + 634828576 + + + Main.M9.nRawEncoderULINT + Raw encoder IO for ULINT (Biss-C) + 64 + ULINT + + + TcAddressType + Input + + + 634828608 + + + Main.M9.nRawEncoderUINT + Raw encoder IO for UINT (Relative Encoders) + 16 + UINT + + + TcAddressType + Input + + + 634828672 + + + Main.M9.nRawEncoderINT + Raw encoder IO for INT (LVDT) + 16 + INT + + + TcAddressType + Input + + + 634828688 + + + Main.fbMotionStageM1.fbDriveVirtual.MasterAxis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 634843200 + + + Main.fbMotionStageM2.fbDriveVirtual.MasterAxis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 635142592 + + + Main.fbMotionStageM3.fbDriveVirtual.MasterAxis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 635441984 + + + Main.fbMotionStageM4.fbDriveVirtual.MasterAxis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 635741376 + + + Main.fbMotionStageM5.fbDriveVirtual.MasterAxis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 636040768 + + + Main.fbMotionStageM6.fbDriveVirtual.MasterAxis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 636340160 + + + Main.fbMotionStageM7.fbDriveVirtual.MasterAxis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 636639552 + + + Main.fbMotionStageM8.fbDriveVirtual.MasterAxis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 636938944 + + + Main.fbMotionStageM9.fbDriveVirtual.MasterAxis.NcToPlc + 2048 + NCTOPLC_AXIS_REF + + + TcAddressType + Input + + + 637238336 + + + + 1 + PlcTask Outputs + 0 + 80281600 + + Main.M1.Axis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 634649536 + + + Main.M1.bBrakeRelease + NC Brake Output: TRUE to release brake + 8 + BOOL + + + pytmc + pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634658584Main.M2.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634670784Main.M2.bBrakeRelease8BOOLpytmc + + + + TcAddressType + Output + + + 634658584 + + + Main.M2.Axis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 634670784 + + + Main.M2.bBrakeRelease + NC Brake Output: TRUE to release brake + 8 + BOOL + + + pytmc + pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634679832Main.M3.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634692032Main.M3.bBrakeRelease8BOOLpytmc + + + + TcAddressType + Output + + + 634679832 + + + Main.M3.Axis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 634692032 + + + Main.M3.bBrakeRelease + NC Brake Output: TRUE to release brake + 8 + BOOL + + + pytmc + pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634701080Main.M4.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634713280Main.M4.bBrakeRelease8BOOLpytmc + + + + TcAddressType + Output + + + 634701080 + + + Main.M4.Axis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 634713280 + + + Main.M4.bBrakeRelease + NC Brake Output: TRUE to release brake + 8 + BOOL + + + pytmc + pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634722328Main.M5.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634734528Main.M5.bBrakeRelease8BOOLpytmc + + + + TcAddressType + Output + + + 634722328 + + + Main.M5.Axis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 634734528 + + + Main.M5.bBrakeRelease + NC Brake Output: TRUE to release brake + 8 + BOOL + + + pytmc + pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634743576Main.M6.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634755776Main.M6.bBrakeRelease8BOOLpytmc + + + + TcAddressType + Output + + + 634743576 + + + Main.M6.Axis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 634755776 + + + Main.M6.bBrakeRelease + NC Brake Output: TRUE to release brake + 8 + BOOL + + + pytmc + pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634764824Main.M7.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634777024Main.M7.bBrakeRelease8BOOLpytmc + + + + TcAddressType + Output + + + 634764824 + + + Main.M7.Axis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 634777024 + + + Main.M7.bBrakeRelease + NC Brake Output: TRUE to release brake + 8 + BOOL + + + pytmc + pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634786072Main.M8.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634798272Main.M8.bBrakeRelease8BOOLpytmc + + + + TcAddressType + Output + + + 634786072 + + + Main.M8.Axis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 634798272 + + + Main.M8.bBrakeRelease + NC Brake Output: TRUE to release brake + 8 + BOOL + + + pytmc + pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634807320Main.M9.Axis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634819520Main.M9.bBrakeRelease8BOOLpytmc + + + + TcAddressType + Output + + + 634807320 + + + Main.M9.Axis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 634819520 + + + Main.M9.bBrakeRelease + NC Brake Output: TRUE to release brake + 8 + BOOL + + + pytmc + pv: PLC:bBrakeRelease io: i field: ZNAM FALSE field: ONAM TRUE field: DESC TRUE if brake released - TcAddressTypeOutput634828568Main.fbMotionStageM1.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput634842176Main.fbMotionStageM2.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput635141568Main.fbMotionStageM3.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput635440960Main.fbMotionStageM4.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput635740352Main.fbMotionStageM5.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput636039744Main.fbMotionStageM6.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput636339136Main.fbMotionStageM7.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput636638528Main.fbMotionStageM8.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput636937920Main.fbMotionStageM9.fbDriveVirtual.MasterAxis.PlcToNc1024PLCTONC_AXIS_REFTcAddressTypeOutput6372373123PlcTask Internal080281600MOTION_GVL.stUnknownState2944DUT_PositionState.sNameUnknownTcVarGlobal4096000MOTION_GVL.stInvalidState2944DUT_PositionStateTcVarGlobal4098944MOTION_GVL.MAX_STATES16INT15TcVarGlobal4101888DefaultGlobals.stSys40ST_SystemTcVarGlobal4101904GVL_Logger.bTrickleTripped8BOOLpytmc + + + + TcAddressType + Output + + + 634828568 + + + Main.fbMotionStageM1.fbDriveVirtual.MasterAxis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 634842176 + + + Main.fbMotionStageM2.fbDriveVirtual.MasterAxis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 635141568 + + + Main.fbMotionStageM3.fbDriveVirtual.MasterAxis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 635440960 + + + Main.fbMotionStageM4.fbDriveVirtual.MasterAxis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 635740352 + + + Main.fbMotionStageM5.fbDriveVirtual.MasterAxis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 636039744 + + + Main.fbMotionStageM6.fbDriveVirtual.MasterAxis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 636339136 + + + Main.fbMotionStageM7.fbDriveVirtual.MasterAxis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 636638528 + + + Main.fbMotionStageM8.fbDriveVirtual.MasterAxis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 636937920 + + + Main.fbMotionStageM9.fbDriveVirtual.MasterAxis.PlcToNc + 1024 + PLCTONC_AXIS_REF + + + TcAddressType + Output + + + 637237312 + + + + 3 + PlcTask Internal + 0 + 80281600 + + MOTION_GVL.stUnknownState + 2944 + DUT_PositionState + + + .sName + Unknown + + + + + TcVarGlobal + + + 4096000 + + + MOTION_GVL.stInvalidState + 2944 + DUT_PositionState + + + TcVarGlobal + + + 4098944 + + + MOTION_GVL.MAX_STATES + 16 including "Unknown" is the max for an EPICS MBBI + This is the max number of user-defined states (OUT, TARGET1, YAG...) + 16 + INT + + 15 + + + + TcVarGlobal + + + 4101888 + + + DefaultGlobals.stSys + Included for you + 40 + ST_System + + + TcVarGlobal + + + 4101904 + + + GVL_Logger.bTrickleTripped + Global trickle trip flag + 8 + BOOL + + + pytmc + pv: @(PREFIX)LCLSGeneral:GlobalLogTrickleTrip io: i field: DESC Tripped by overall log count - TcVarGlobal4101944DefaultGlobals.fTimeStamp64LREALTcVarGlobal4101952GeneralConstants.MAX_STATES + + + TcVarGlobal + + + 4101944 + + + DefaultGlobals.fTimeStamp + 64 + LREAL + + + TcVarGlobal + + + 4101952 + + + GeneralConstants.MAX_STATES + 16 including "Unknown" is the max for an EPICS MBBI/MBBO This is the max number of user-defined states (OUT, TARGET1, YAG...) You can make this smaller if you want to use less memory in your program in exchange for limiting your max state count - You can make this larger if you want to use states-based FBs sized beyond the EPICS enum limit]]>16UINT15TcVarGlobal4102016GVL_Logger.cLogHost + 16 + UINT + + 15 + + + + TcVarGlobal + + + 4102016 + + + GVL_Logger.cLogHost + Using the IP address directly avoids DNS configuration issues. While we may want to address this in the future, for now the static IP will suffice: @@ -770,67 +29513,5134 @@ External Setpoint Generation: $ nslookup ctl-logsrv01 Name: ctl-logsrv01.pcdsn Address: 172.21.32.36 - ]]>128STRING(15)172.21.32.36pytmc + + 128 + STRING(15) + + 172.21.32.36 + + + + pytmc + pv: @(PREFIX)LCLSGeneral:LogHost io: io field: DESC The log host IP address - TcVarGlobal4102032GVL_Logger.iLogPort16UINT54321pytmc + + + + TcVarGlobal + + + 4102032 + + + GVL_Logger.iLogPort + 16 + UINT + + 54321 + + + + pytmc + pv: @(PREFIX)LCLSGeneral:LogPort io: io field: DESC The log host UDP port - TcVarGlobal4102160GVL_Logger.sIpTidbit56STRING(6)172.21TcVarGlobal4102176Global_Variables.BOOTDATAFLAGS_RETAIN_LOADED8BYTE1TcVarGlobal4102232GVL_Logger.nLocalTripThreshold32TIME1TcVarGlobal4102240GVL_Logger.nMinTimeViolationAcceptable16INT5TcVarGlobal4102272Global_Variables.AMSPORT_LOGGER16UINT100TcVarGlobal4102288GVL_Logger.nLocalTrickleTripThreshold32TIME100TcVarGlobal4102304GVL_Logger.nTrickleTripTime32TIME10000TcVarGlobal4102336GVL_Logger.nTripResetPeriod32TIME600000TcVarGlobal4102368GVL_Logger.sPlcHostname648STRING(80)unknownTcVarGlobal4102400Global_Variables.BOOTDATAFLAGS_RETAIN_INVALID8BYTE2TcVarGlobal4103048Global_Variables.AMSPORT_EVENTLOG16UINT110TcVarGlobal4103056GVL_Logger.TCPADS_MAXUDP_BUFFSIZE + + + TcVarGlobal + + + 4102160 + + + GVL_Logger.sIpTidbit + 56 + STRING(6) + + 172.21 + + + + TcVarGlobal + + + 4102176 + + + Global_Variables.BOOTDATAFLAGS_RETAIN_LOADED + Retain data loaded + 8 + BYTE + + 1 + + + + TcVarGlobal + + + 4102232 + + + GVL_Logger.nLocalTripThreshold + Minimum time between log messages + 32 + TIME + + 1 + + + + TcVarGlobal + + + 4102240 + + + GVL_Logger.nMinTimeViolationAcceptable + Trip if `nLocalTripThreshold` exceeded `nMinTimeViolationAcceptable` times + 16 + INT + + 5 + + + + TcVarGlobal + + + 4102272 + + + Global_Variables.AMSPORT_LOGGER + Logger + 16 + UINT + + 100 + + + + TcVarGlobal + + + 4102288 + + + GVL_Logger.nLocalTrickleTripThreshold + Default trickle trip, activated by global threshold + 32 + TIME + + 100 + + + + TcVarGlobal + + + 4102304 + + + GVL_Logger.nTrickleTripTime + Default time for log-handler to recognize a trickle overload condition, many log-message FB occasionally creating a message + 32 + TIME + + 10000 + + + + TcVarGlobal + + + 4102336 + + + GVL_Logger.nTripResetPeriod + Default time for CB auto-reset + 32 + TIME + + 600000 + + + + TcVarGlobal + + + 4102368 + + + GVL_Logger.sPlcHostname + 648 + STRING(80) + + unknown + + + + TcVarGlobal + + + 4102400 + + + Global_Variables.BOOTDATAFLAGS_RETAIN_INVALID + Retain data is invalid + 8 + BYTE + + 2 + + + + TcVarGlobal + + + 4103048 + + + Global_Variables.AMSPORT_EVENTLOG + Event logger + 16 + UINT + + 110 + + + + TcVarGlobal + + + 4103056 + + + GVL_Logger.TCPADS_MAXUDP_BUFFSIZE + Ref: https://infosys.beckhoff.com/english.php?content=../content/1033/tcpipserver/html/TcPlcLibTcpIp_FB_SocketUdpSendTo.htm TODO: Activate the "Replace constants" option in the - TwinCAT PLC Control->"Project->Options...->Build" dialog window. - ]]>32UDINT10000analysis-33TcVarGlobal4103072GVL_Logger.fbRootLogger81984FB_LogMessageTcVarGlobal4103104GVL_Logger.nGlobAccEvents32UDINTpytmc + TwinCAT PLC Control->"Project->Options...->Build" dialog window. + + 32 + UDINT + + 10000 + + + + analysis + -33 + + + TcVarGlobal + + + 4103072 + + + GVL_Logger.fbRootLogger + Instantiated here to be used everywhere + 81984 + FB_LogMessage + + + TcVarGlobal + + + 4103104 + + + GVL_Logger.nGlobAccEvents + Global log message count + 32 + UDINT + + + pytmc + pv: @(PREFIX)LCLSGeneral:LogMessageCount io: i field: DESC Total log messages on the last cycle - TcVarGlobal4185088Global_Version.stLibVersion_Tc2_EtherCAT288ST_LibVersion.iMajor3.iMinor3.iBuild21.iRevision0.nFlags1.sVersion3.3.21.0const_non_replacedTcVarGlobal4185120Global_Version.stLibVersion_Tc2_Standard288ST_LibVersion.iMajor3.iMinor3.iBuild3.iRevision0.nFlags0.sVersion3.3.3.0const_non_replacedTcVarGlobal4185408Global_Version.stLibVersion_Tc2_System288ST_LibVersion.iMajor3.iMinor4.iBuild26.iRevision0.nFlags1.sVersion3.4.26.0const_non_replacedTcVarGlobal4185696Global_Variables.AMSPORT_R0_RTIME16UINT200TcVarGlobal4185984Global_Variables.AMSPORT_R0_IO16UINT300TcVarGlobal4186000Global_Variables.AMSPORT_R0_NC16UINT500TcVarGlobal4186016Global_Variables.AMSPORT_R0_NCSAF16UINT501TcVarGlobal4186032Global_Variables.AMSPORT_R0_NCSVB16UINT511TcVarGlobal4186048Global_Variables.AMSPORT_R0_ISG16UINT550TcVarGlobal4186064Global_Variables.AMSPORT_R0_CNC16UINT600TcVarGlobal4186080Global_Variables.AMSPORT_R0_LINE16UINT700TcVarGlobal4186096Global_Variables.AMSPORT_R0_PLC16UINT800TcVarGlobal4186112Global_Variables.AMSPORT_R0_PLC_RTS116UINT801TcVarGlobal4186128Global_Variables.AMSPORT_R0_PLC_RTS216UINT811TcVarGlobal4186144Global_Variables.AMSPORT_R0_PLC_RTS316UINT821TcVarGlobal4186160Global_Variables.AMSPORT_R0_PLC_RTS416UINT831TcVarGlobal4186176Global_Variables.AMSPORT_R0_CAM16UINT900TcVarGlobal4186192Global_Variables.AMSPORT_R0_CAMTOOL16UINT950TcVarGlobal4186208Global_Variables.AMSPORT_R3_SYSSERV16UINT10000TcVarGlobal4186224Global_Variables.AMSPORT_R3_SCOPESERVER16UINT14001TcVarGlobal4186240Global_Variables.ADSSTATE_INVALID16UINT0TcVarGlobal4186256Global_Variables.ADSSTATE_IDLE16UINT1TcVarGlobal4186272Global_Variables.ADSSTATE_RESET16UINT2TcVarGlobal4186288Global_Variables.ADSSTATE_INIT16UINT3TcVarGlobal4186304Global_Variables.ADSSTATE_START16UINT4TcVarGlobal4186320Global_Variables.ADSSTATE_RUN16UINT5TcVarGlobal4186336Global_Variables.ADSSTATE_STOP16UINT6TcVarGlobal4186352Global_Variables.ADSSTATE_SAVECFG16UINT7TcVarGlobal4186368Global_Variables.ADSSTATE_LOADCFG16UINT8TcVarGlobal4186384Global_Variables.ADSSTATE_POWERFAILURE16UINT9TcVarGlobal4186400Global_Variables.ADSSTATE_POWERGOOD16UINT10TcVarGlobal4186416Global_Variables.ADSSTATE_ERROR16UINT11TcVarGlobal4186432Global_Variables.ADSSTATE_SHUTDOWN16UINT12TcVarGlobal4186448Global_Variables.ADSSTATE_SUSPEND16UINT13TcVarGlobal4186464Global_Variables.ADSSTATE_RESUME16UINT14TcVarGlobal4186480Global_Variables.ADSSTATE_CONFIG16UINT15TcVarGlobal4186496Global_Variables.ADSSTATE_RECONFIG16UINT16TcVarGlobal4186512Global_Variables.ADSSTATE_STOPPING16UINT17TcVarGlobal4186528Global_Variables.ADSSTATE_INCOMPATIBLE16UINT18TcVarGlobal4186544Global_Variables.ADSSTATE_EXCEPTION16UINT19TcVarGlobal4186560Global_Variables.ADSSTATE_MAXSTATES16UINT20TcVarGlobal4186576Global_Variables.ADSIGRP_SYMTAB32UDINT61440TcVarGlobal4186592Global_Variables.ADSIGRP_SYMNAME32UDINT61441TcVarGlobal4186624Global_Variables.ADSIGRP_SYMVAL32UDINT61442TcVarGlobal4186656Global_Variables.ADSIGRP_SYM_HNDBYNAME32UDINT61443TcVarGlobal4186688Global_Variables.ADSIGRP_SYM_VALBYNAME32UDINT61444TcVarGlobal4186720Global_Variables.ADSIGRP_SYM_VALBYHND32UDINT61445TcVarGlobal4186752Global_Variables.ADSIGRP_SYM_RELEASEHND32UDINT61446TcVarGlobal4186784Global_Variables.ADSIGRP_SYM_INFOBYNAME32UDINT61447TcVarGlobal4186816Global_Variables.ADSIGRP_SYM_VERSION32UDINT61448TcVarGlobal4186848Global_Variables.ADSIGRP_SYM_INFOBYNAMEEX32UDINT61449TcVarGlobal4186880Global_Variables.ADSIGRP_SYM_DOWNLOAD32UDINT61450TcVarGlobal4186912Global_Variables.ADSIGRP_SYM_UPLOAD32UDINT61451TcVarGlobal4186944Global_Variables.ADSIGRP_SYM_UPLOADINFO32UDINT61452TcVarGlobal4186976Global_Variables.ADSIGRP_SYMNOTE32UDINT61456TcVarGlobal4187008Global_Variables.ADSIGRP_IOIMAGE_RWIB32UDINT61472TcVarGlobal4187040Global_Variables.ADSIGRP_IOIMAGE_RWIX32UDINT61473TcVarGlobal4187072Global_Variables.ADSIGRP_IOIMAGE_RISIZE32UDINT61477TcVarGlobal4187104Global_Variables.ADSIGRP_IOIMAGE_RWOB32UDINT61488TcVarGlobal4187136Global_Variables.ADSIGRP_IOIMAGE_RWOX32UDINT61489TcVarGlobal4187168Global_Variables.ADSIGRP_IOIMAGE_ROSIZE32UDINT61493TcVarGlobal4187200Global_Variables.ADSIGRP_IOIMAGE_CLEARI32UDINT61504TcVarGlobal4187232Global_Variables.ADSIGRP_IOIMAGE_CLEARO32UDINT61520TcVarGlobal4187264Global_Variables.ADSIGRP_IOIMAGE_RWIOB32UDINT61536TcVarGlobal4187296Global_Variables.ADSIGRP_DEVICE_DATA32UDINT61696TcVarGlobal4187328Global_Variables.ADSIOFFS_DEVDATA_ADSSTATE32UDINT0TcVarGlobal4187360Global_Variables.ADSIOFFS_DEVDATA_DEVSTATE32UDINT2TcVarGlobal4187392Global_Variables.SYSTEMSERVICE_OPENCREATE32UDINT100TcVarGlobal4187424Global_Variables.SYSTEMSERVICE_OPENREAD32UDINT101TcVarGlobal4187456Global_Variables.SYSTEMSERVICE_OPENWRITE32UDINT102TcVarGlobal4187488Global_Variables.SYSTEMSERVICE_CREATEFILE32UDINT110TcVarGlobal4187520Global_Variables.SYSTEMSERVICE_CLOSEHANDLE32UDINT111TcVarGlobal4187552Global_Variables.SYSTEMSERVICE_FOPEN32UDINT120TcVarGlobal4187584Global_Variables.SYSTEMSERVICE_FCLOSE32UDINT121TcVarGlobal4187616Global_Variables.SYSTEMSERVICE_FREAD32UDINT122TcVarGlobal4187648Global_Variables.SYSTEMSERVICE_FWRITE32UDINT123TcVarGlobal4187680Global_Variables.SYSTEMSERVICE_FSEEK32UDINT124TcVarGlobal4187712Global_Variables.SYSTEMSERVICE_FTELL32UDINT125TcVarGlobal4187744Global_Variables.SYSTEMSERVICE_FGETS32UDINT126TcVarGlobal4187776Global_Variables.SYSTEMSERVICE_FPUTS32UDINT127TcVarGlobal4187808Global_Variables.SYSTEMSERVICE_FSCANF32UDINT128TcVarGlobal4187840Global_Variables.SYSTEMSERVICE_FPRINTF32UDINT129TcVarGlobal4187872Global_Variables.SYSTEMSERVICE_FEOF32UDINT130TcVarGlobal4187904Global_Variables.SYSTEMSERVICE_FDELETE32UDINT131TcVarGlobal4187936Global_Variables.SYSTEMSERVICE_FRENAME32UDINT132TcVarGlobal4187968Global_Variables.SYSTEMSERVICE_MKDIR32UDINT138TcVarGlobal4188000Global_Variables.SYSTEMSERVICE_RMDIR32UDINT139TcVarGlobal4188032Global_Variables.SYSTEMSERVICE_REG_HKEYLOCALMACHINE32UDINT200TcVarGlobal4188064Global_Variables.SYSTEMSERVICE_SENDEMAIL32UDINT300TcVarGlobal4188096Global_Variables.SYSTEMSERVICE_TIMESERVICES32UDINT400TcVarGlobal4188128Global_Variables.SYSTEMSERVICE_STARTPROCESS32UDINT500TcVarGlobal4188160Global_Variables.SYSTEMSERVICE_CHANGENETID32UDINT600TcVarGlobal4188192Global_Variables.TIMESERVICE_DATEANDTIME32UDINT1TcVarGlobal4188224Global_Variables.TIMESERVICE_SYSTEMTIMES32UDINT2TcVarGlobal4188256Global_Variables.TIMESERVICE_RTCTIMEDIFF32UDINT3TcVarGlobal4188288Global_Variables.TIMESERVICE_ADJUSTTIMETORTC32UDINT4TcVarGlobal4188320Global_Variables.TIMESERVICE_TIMEZONINFORMATION32UDINT6TcVarGlobal4188352Global_Variables.ADSLOG_MSGTYPE_HINT32DWORD1TcVarGlobal4188384Global_Variables.ADSLOG_MSGTYPE_WARN32DWORD2TcVarGlobal4188416Global_Variables.ADSLOG_MSGTYPE_ERROR32DWORD4TcVarGlobal4188448Global_Variables.ADSLOG_MSGTYPE_LOG32DWORD16TcVarGlobal4188480Global_Variables.ADSLOG_MSGTYPE_MSGBOX32DWORD32TcVarGlobal4188512Global_Variables.ADSLOG_MSGTYPE_RESOURCE32DWORD64TcVarGlobal4188544Global_Variables.ADSLOG_MSGTYPE_STRING32DWORD128TcVarGlobal4188576Global_Variables.BOOTDATAFLAGS_RETAIN_REQUESTED8BYTE4TcVarGlobal4188608Global_Variables.BOOTDATAFLAGS_PERSISTENT_LOADED8BYTE16TcVarGlobal4188616Global_Variables.BOOTDATAFLAGS_PERSISTENT_INVALID8BYTE32TcVarGlobal4188624Global_Variables.SYSTEMSTATEFLAGS_BSOD8BYTE1TcVarGlobal4188632Global_Variables.SYSTEMSTATEFLAGS_RTVIOLATION8BYTE2TcVarGlobal4188640Global_Variables.nWatchdogTime8BYTETcVarGlobal4188648Global_Variables.TCEVENTFLAG_PRIOCLASS16WORD16TcVarGlobal4188656Global_Variables.FOPEN_MODEREAD32DWORD1TcVarGlobal4188672Global_Variables.FOPEN_MODEWRITE32DWORD2TcVarGlobal4188704Global_Variables.FOPEN_MODEAPPEND32DWORD4TcVarGlobal4188736Global_Variables.FOPEN_MODEPLUS32DWORD8TcVarGlobal4188768Global_Variables.FOPEN_MODEBINARY32DWORD16TcVarGlobal4188800Global_Variables.FOPEN_MODETEXT32DWORD32TcVarGlobal4188832Global_Variables.TCEVENTFLAG_FMTSELF16WORD32TcVarGlobal4189088Global_Variables.TCEVENTFLAG_LOG16WORD64TcVarGlobal4189104Global_Variables.TCEVENTFLAG_MSGBOX16WORD128TcVarGlobal4189120Global_Variables.TCEVENTFLAG_SRCID16WORD256TcVarGlobal4189136Global_Variables.TCEVENTFLAG_AUTOFMTALL16WORD4096TcVarGlobal4189152Global_Variables.TCEVENTSTATE_INVALID16WORD0TcVarGlobal4189168Global_Variables.TCEVENTSTATE_SIGNALED16WORD1TcVarGlobal4189184Global_Variables.TCEVENTSTATE_RESET16WORD2TcVarGlobal4189200Global_Variables.TCEVENTSTATE_CONFIRMED16WORD16TcVarGlobal4189216Global_Variables.TCEVENTSTATE_RESETCON16WORD18TcVarGlobal4189232Global_Variables.TCEVENT_SRCNAMESIZE16INT15TcVarGlobal4189248Global_Variables.TCEVENT_FMTPRGSIZE16INT31TcVarGlobal4189264Global_Variables.DEFAULT_ADS_TIMEOUT32TIME5000TcVarGlobal4189280Global_Variables.PI64LREAL3.14159265358979TcVarGlobal4189312Global_Variables.MAX_STRING_LENGTH32UDINT255TcVarGlobal4189376Global_Variables.eWatchdogConfig16E_WATCHDOG_TIME_CONFIG0TcVarGlobal4189920Global_Variables.MAX_AVERAGE_MEASURES16INT10LowerBorder2UpperBorder100TcVarGlobal4189936Global_Version.stLibVersion_Tc3_Module288ST_LibVersion.iMajor3.iMinor3.iBuild21.iRevision0.sVersion3.3.21.0const_non_replacedTcVarGlobal4189952Global_Version.stLibVersion_Tc2_Utilities288ST_LibVersion.iMajor3.iMinor3.iBuild54.iRevision0.nFlags1.sVersion3.3.54.0const_non_replacedTcVarGlobal4190560Global_Variables.GLOBAL_FORMAT_HASH_PREFIX_TYPE16E_HashPrefixTypes0TcVarGlobal4190848Global_Variables.GLOBAL_SBCS_TABLE16E_SBCSType1TcVarGlobal4190864Global_Variables.GLOBAL_DCF77_PULSE_SPLIT pulse < 140ms, Bit == 1 => pulse >= 140ms ]]>32TIME140TcVarGlobal4190880Global_Variables.GLOBAL_DCF77_SEQUENCE_CHECK8BOOL0TcVarGlobal4190912Global_Variables.DEFAULT_CSV_FIELD_SEP german field separator, comma (,) := 16#2C => US field separator ]]>8BYTE59TcVarGlobal4190920Global_Variables.MAX_REMOTE_PCS16INT99TcVarGlobal4190928Global_Variables.MAX_ADAPTER_NAME_LENGTH32UDINT259TcVarGlobal4252416Global_Variables.MAX_ADAPTER_DESCRIPTION_LENGTH32UDINT131TcVarGlobal4252448Global_Variables.MAX_ADAPTER_ADDRESS_LENGTH32UDINT7TcVarGlobal4252480Global_Variables.SYSTEMSERVICE_IPHELPERAPI32UDINT701TcVarGlobal4252512Global_Variables.SYSTEMSERVICE_IPHOSTNAME32UDINT702TcVarGlobal4252544Global_Variables.IPHELPERAPI_ADAPTERSINFO32UDINT1TcVarGlobal4252576Global_Variables.IPHELPERAPI_IPADDRBYHOSTNAME32UDINT4TcVarGlobal4252608Global_Variables.MAX_LOCAL_ADAPTERS32UDINT5TcVarGlobal4252640Global_Variables.SYSTEMSERVICE_ADDREMOTE32UDINT801TcVarGlobal4252672Global_Variables.SYSTEMSERVICE_DELREMOTE32UDINT802TcVarGlobal4252704Global_Variables.SYSTEMSERVICE_ENUMREMOTE32UDINT803TcVarGlobal4252736Global_Variables.ROUTE_FLAG_TEMPORARY32DWORD1TcVarGlobal4252768Global_Variables.ROUTE_FLAG_DYNAMIC32DWORD2TcVarGlobal4252800Global_Variables.ROUTE_FLAG_NOOVERRIDE32DWORD4TcVarGlobal4252832Global_Variables.MAX_ROUTE_NAME_LEN8BYTE31TcVarGlobal4252864Global_Variables.MAX_ROUTE_ADDR_LEN8BYTE79TcVarGlobal4252872Global_Variables.MIN_ROUTE_TRANSPORT8BYTE0TcVarGlobal4252880Global_Variables.MAX_ROUTE_TRANSPORT8BYTE12TcVarGlobal4252888Global_Variables.EMPTY_ROUTE_ENTRY1184ST_AmsRouteEntry.sName.sNetID.sAddress.tTimeout0.dwFlags0TcVarGlobal4252896Global_Variables.SYSTEMSERVICE_FFILEFIND32UDINT133TcVarGlobal4254080Global_Variables.HKEY_MAX_BINARY_DATA_SIZE32UDINT500TcVarGlobal4254112Global_Variables.AMSLOGGER_IGR_GENERAL32UDINT4096TcVarGlobal4254144Global_Variables.AMSLOGGER_IOF_MODE32UDINT1TcVarGlobal4254176Global_Variables.AMSPORT_AMSLOGGER16UINT10502TcVarGlobal4254208Global_Variables.FORMAT_MAX_ARGS16INT10TcVarGlobal4254224Global_Variables.FLOATREC_EXP_IS_NAN16INT-32768TcVarGlobal4254240Global_Variables.FLOATREC_EXP_IS_INF16INT32767TcVarGlobal4254256Global_Variables.FLOATREC_MAX_DIGITS16INT20TcVarGlobal4254272Global_Variables.FLOATREC_MAX_PRECISION16INT307TcVarGlobal4254288Global_Variables.FLOATREC_MIN_PRECISION16INT0TcVarGlobal4254304Global_Variables.FMTERR_NOERROR32DWORD0TcVarGlobal4254336Global_Variables.FMTERR_PERCENTSIGNPOSITION32DWORD16TcVarGlobal4254368Global_Variables.FMTERR_ASTERISKPOSITION32DWORD32TcVarGlobal4254400Global_Variables.FMTERR_WIDTHVALUE32DWORD64TcVarGlobal4254432Global_Variables.FMTERR_PRECISIONVALUE32DWORD128TcVarGlobal4254464Global_Variables.FMTERR_FLAGPOSITION32DWORD256TcVarGlobal4254496Global_Variables.FMTERR_WIDTHPRECISIONVALPOS32DWORD512TcVarGlobal4254528Global_Variables.FMTERR_PRECISIONDOTPOSITION32DWORD1024TcVarGlobal4254560Global_Variables.FMTERR_TYPEFIELDVALUE32DWORD2048TcVarGlobal4254592Global_Variables.FMTERR_ARGTYPEINVALID32DWORD4096TcVarGlobal4254624Global_Variables.FMTERR_UNACCEPTEDPARAMETER32DWORD8192TcVarGlobal4254656Global_Variables.FMTERR_INSUFFICIENTARGS32DWORD16384TcVarGlobal4254688Global_Variables.FMTERR_DESTBUFFOVERFLOW32DWORD32768TcVarGlobal4254720Global_Variables.FMTERR_INVALIDPOINTERINPUT32DWORD65536TcVarGlobal4254752Global_Variables.EMPTY_ARG_VALUE96T_Arg.eType0.cbLen0.pData0TcVarGlobal4254784Global_Variables.FORMAT_HEXASC_CODES256BYTE02016[0,0]48[0,1]49[0,2]50[0,3]51[0,4]52[0,5]53[0,6]54[0,7]55[0,8]56[0,9]57[0,10]97[0,11]98[0,12]99[0,13]100[0,14]101[0,15]102[1,0]48[1,1]49[1,2]50[1,3]51[1,4]52[1,5]53[1,6]54[1,7]55[1,8]56[1,9]57[1,10]65[1,11]66[1,12]67[1,13]68[1,14]69[1,15]70TcVarGlobal4254880Global_Variables.FORMAT_DECASC_CODES80BYTE010[0]48[1]49[2]50[3]51[4]52[5]53[6]54[7]55[8]56[9]57TcVarGlobal4255136Global_Variables.SYSTEMTIME_MAX_MONTHDAYS384WORD02112[0,1]31[0,2]28[0,3]31[0,4]30[0,5]31[0,6]30[0,7]31[0,8]31[0,9]30[0,10]31[0,11]30[0,12]31[1,1]31[1,2]29[1,3]31[1,4]30[1,5]31[1,6]30[1,7]31[1,8]31[1,9]30[1,10]31[1,11]30[1,12]31TcVarGlobal4260624Global_Variables.SYSTEMTIME_MAX_YEARSDAY448WORD02014[0,0]0[0,1]31[0,2]59[0,3]90[0,4]120[0,5]151[0,6]181[0,7]212[0,8]243[0,9]273[0,10]304[0,11]334[0,12]365[0,13]396[1,0]0[1,1]31[1,2]60[1,3]91[1,4]121[1,5]152[1,6]182[1,7]213[1,8]244[1,9]274[1,10]305[1,11]335[1,12]366[1,13]397TcVarGlobal4261008Global_Variables.SYSTEMTIME_DATEDELTA_OFFSET32DWORD584389TcVarGlobal4261472Global_Variables.SYSTEMTIME_TICKSPERMSEC64T_ULARGE_INTEGER.dwHighPart0.dwLowPart10000TcVarGlobal4261504Global_Variables.SYSTEMTIME_TICKSPERSEC64T_ULARGE_INTEGER.dwHighPart0.dwLowPart10000000TcVarGlobal4261568Global_Variables.SYSTEMTIME_TICKSPERDAY64T_ULARGE_INTEGER.dwHighPart201.dwLowPart711573504TcVarGlobal4261632Global_Variables.SYSTEMTIME_DATE_AND_TIME_MIN64T_ULARGE_INTEGER.dwHighPart27111902.dwLowPart3577643008TcVarGlobal4261696Global_Variables.SYSTEMTIME_DATE_AND_TIME_MAX64T_ULARGE_INTEGER.dwHighPart37111701.dwLowPart2856069504TcVarGlobal4261760Global_Variables.SYSTEMTIME_TICKSPERMSEC6464ULINT10000TcVarGlobal4261824Global_Variables.SYSTEMTIME_TICKSPERSEC6464ULINT10000000TcVarGlobal4261888Global_Variables.SYSTEMTIME_TICKSPERDAY6464ULINT864000000000TcVarGlobal4261952Global_Variables.SYSTEMTIME_DATE_AND_TIME_MIN6464ULINT116444736000000000TcVarGlobal4262016Global_Variables.SYSTEMTIME_DATE_AND_TIME_MAX6464ULINT159393544950000000TcVarGlobal4262080Global_Variables.WEST_EUROPE_TZI864ST_TimeZoneInformation.bias-60.standardNameW. Europe Standard Time.standardDate.wYear0.standardDate.wMonth10.standardDate.wDayOfWeek0.standardDate.wDay5.standardDate.wHour3.standardBias0.daylightNameW. Europe Daylight Time.daylightDate.wYear0.daylightDate.wMonth3.daylightDate.wDayOfWeek0.daylightDate.wDay5.daylightDate.wHour2.daylightBias-60TcVarGlobal4262144Global_Variables.DATE_AND_TIME_SECPERDAY32DWORD86400TcVarGlobal4267104Global_Variables.DATE_AND_TIME_SECPERWEEK32DWORD604800TcVarGlobal4267136Global_Variables.DBG_OUTPUT_NONE32DWORD0TcVarGlobal4273344Global_Variables.DBG_OUTPUT_LOG32DWORD1TcVarGlobal4273376Global_Variables.DBG_OUTPUT_FILE32DWORD2TcVarGlobal4273408Global_Variables.DBG_OUTPUT_VISU32DWORD4TcVarGlobal4273440Global_Variables.DEFAULT_CSV_FIELD_DOUBLE_QUOTE used to enclose special characters like line breaks, double-quotes, commas... ]]>8BYTE34TcVarGlobal4389680Global_Variables.DEFAULT_CSV_RECORD_SEP_CR record separator (first character) ]]>8BYTE13TcVarGlobal4389688Global_Variables.DEFAULT_CSV_RECORD_SEP_LF record separator (second character) ]]>8BYTE10TcVarGlobal4390640GVL_Param_TcUnit.LogExtendedResults + + + TcVarGlobal + + + 4185088 + + + Global_Version.stLibVersion_Tc2_EtherCAT + 288 + ST_LibVersion + + + .iMajor + 3 + + + .iMinor + 3 + + + .iBuild + 21 + + + .iRevision + 0 + + + .nFlags + 1 + + + .sVersion + 3.3.21.0 + + + + + const_non_replaced + + + TcVarGlobal + + + 4185120 + + + Global_Version.stLibVersion_Tc2_Standard + 288 + ST_LibVersion + + + .iMajor + 3 + + + .iMinor + 3 + + + .iBuild + 3 + + + .iRevision + 0 + + + .nFlags + 0 + + + .sVersion + 3.3.3.0 + + + + + const_non_replaced + + + TcVarGlobal + + + 4185408 + + + Global_Version.stLibVersion_Tc2_System + 288 + ST_LibVersion + + + .iMajor + 3 + + + .iMinor + 4 + + + .iBuild + 26 + + + .iRevision + 0 + + + .nFlags + 1 + + + .sVersion + 3.4.26.0 + + + + + const_non_replaced + + + TcVarGlobal + + + 4185696 + + + Global_Variables.AMSPORT_R0_RTIME + R0 Real time + 16 + UINT + + 200 + + + + TcVarGlobal + + + 4185984 + + + Global_Variables.AMSPORT_R0_IO + I/O Driver + 16 + UINT + + 300 + + + + TcVarGlobal + + + 4186000 + + + Global_Variables.AMSPORT_R0_NC + 16 + UINT + + 500 + + + + TcVarGlobal + + + 4186016 + + + Global_Variables.AMSPORT_R0_NCSAF + 16 + UINT + + 501 + + + + TcVarGlobal + + + 4186032 + + + Global_Variables.AMSPORT_R0_NCSVB + 16 + UINT + + 511 + + + + TcVarGlobal + + + 4186048 + + + Global_Variables.AMSPORT_R0_ISG + 16 + UINT + + 550 + + + + TcVarGlobal + + + 4186064 + + + Global_Variables.AMSPORT_R0_CNC + 16 + UINT + + 600 + + + + TcVarGlobal + + + 4186080 + + + Global_Variables.AMSPORT_R0_LINE + 16 + UINT + + 700 + + + + TcVarGlobal + + + 4186096 + + + Global_Variables.AMSPORT_R0_PLC + 16 + UINT + + 800 + + + + TcVarGlobal + + + 4186112 + + + Global_Variables.AMSPORT_R0_PLC_RTS1 + TwinCAT v2.xx first PLC runtime system + 16 + UINT + + 801 + + + + TcVarGlobal + + + 4186128 + + + Global_Variables.AMSPORT_R0_PLC_RTS2 + TwinCAT v2.xx second PLC runtime system + 16 + UINT + + 811 + + + + TcVarGlobal + + + 4186144 + + + Global_Variables.AMSPORT_R0_PLC_RTS3 + TwinCAT v2.xx third PLC runtime system + 16 + UINT + + 821 + + + + TcVarGlobal + + + 4186160 + + + Global_Variables.AMSPORT_R0_PLC_RTS4 + TwinCAT v2.xx fourth PLC runtime system + 16 + UINT + + 831 + + + + TcVarGlobal + + + 4186176 + + + Global_Variables.AMSPORT_R0_CAM + 16 + UINT + + 900 + + + + TcVarGlobal + + + 4186192 + + + Global_Variables.AMSPORT_R0_CAMTOOL + Camming tool + 16 + UINT + + 950 + + + + TcVarGlobal + + + 4186208 + + + Global_Variables.AMSPORT_R3_SYSSERV + TwinCAT System Service + 16 + UINT + + 10000 + + + + TcVarGlobal + + + 4186224 + + + Global_Variables.AMSPORT_R3_SCOPESERVER + TwinCAT Scope Server + 16 + UINT + + 14001 + + + + TcVarGlobal + + + 4186240 + + + Global_Variables.ADSSTATE_INVALID + Invalid ADS state + 16 + UINT + + 0 + + + + TcVarGlobal + + + 4186256 + + + Global_Variables.ADSSTATE_IDLE + 16 + UINT + + 1 + + + + TcVarGlobal + + + 4186272 + + + Global_Variables.ADSSTATE_RESET + 16 + UINT + + 2 + + + + TcVarGlobal + + + 4186288 + + + Global_Variables.ADSSTATE_INIT + 16 + UINT + + 3 + + + + TcVarGlobal + + + 4186304 + + + Global_Variables.ADSSTATE_START + 16 + UINT + + 4 + + + + TcVarGlobal + + + 4186320 + + + Global_Variables.ADSSTATE_RUN + 16 + UINT + + 5 + + + + TcVarGlobal + + + 4186336 + + + Global_Variables.ADSSTATE_STOP + 16 + UINT + + 6 + + + + TcVarGlobal + + + 4186352 + + + Global_Variables.ADSSTATE_SAVECFG + 16 + UINT + + 7 + + + + TcVarGlobal + + + 4186368 + + + Global_Variables.ADSSTATE_LOADCFG + 16 + UINT + + 8 + + + + TcVarGlobal + + + 4186384 + + + Global_Variables.ADSSTATE_POWERFAILURE + 16 + UINT + + 9 + + + + TcVarGlobal + + + 4186400 + + + Global_Variables.ADSSTATE_POWERGOOD + 16 + UINT + + 10 + + + + TcVarGlobal + + + 4186416 + + + Global_Variables.ADSSTATE_ERROR + 16 + UINT + + 11 + + + + TcVarGlobal + + + 4186432 + + + Global_Variables.ADSSTATE_SHUTDOWN + 16 + UINT + + 12 + + + + TcVarGlobal + + + 4186448 + + + Global_Variables.ADSSTATE_SUSPEND + 16 + UINT + + 13 + + + + TcVarGlobal + + + 4186464 + + + Global_Variables.ADSSTATE_RESUME + 16 + UINT + + 14 + + + + TcVarGlobal + + + 4186480 + + + Global_Variables.ADSSTATE_CONFIG + System is in config mode + 16 + UINT + + 15 + + + + TcVarGlobal + + + 4186496 + + + Global_Variables.ADSSTATE_RECONFIG + System should restart in config mode + 16 + UINT + + 16 + + + + TcVarGlobal + + + 4186512 + + + Global_Variables.ADSSTATE_STOPPING + 16 + UINT + + 17 + + + + TcVarGlobal + + + 4186528 + + + Global_Variables.ADSSTATE_INCOMPATIBLE + 16 + UINT + + 18 + + + + TcVarGlobal + + + 4186544 + + + Global_Variables.ADSSTATE_EXCEPTION + 16 + UINT + + 19 + + + + TcVarGlobal + + + 4186560 + + + Global_Variables.ADSSTATE_MAXSTATES + Max. number of available ads states + 16 + UINT + + 20 + + + + TcVarGlobal + + + 4186576 + + + Global_Variables.ADSIGRP_SYMTAB + Symbol table + 32 + UDINT + + 61440 + + + + TcVarGlobal + + + 4186592 + + + Global_Variables.ADSIGRP_SYMNAME + Symbol name + 32 + UDINT + + 61441 + + + + TcVarGlobal + + + 4186624 + + + Global_Variables.ADSIGRP_SYMVAL + Symbol value + 32 + UDINT + + 61442 + + + + TcVarGlobal + + + 4186656 + + + Global_Variables.ADSIGRP_SYM_HNDBYNAME + 32 + UDINT + + 61443 + + + + TcVarGlobal + + + 4186688 + + + Global_Variables.ADSIGRP_SYM_VALBYNAME + 32 + UDINT + + 61444 + + + + TcVarGlobal + + + 4186720 + + + Global_Variables.ADSIGRP_SYM_VALBYHND + 32 + UDINT + + 61445 + + + + TcVarGlobal + + + 4186752 + + + Global_Variables.ADSIGRP_SYM_RELEASEHND + 32 + UDINT + + 61446 + + + + TcVarGlobal + + + 4186784 + + + Global_Variables.ADSIGRP_SYM_INFOBYNAME + 32 + UDINT + + 61447 + + + + TcVarGlobal + + + 4186816 + + + Global_Variables.ADSIGRP_SYM_VERSION + 32 + UDINT + + 61448 + + + + TcVarGlobal + + + 4186848 + + + Global_Variables.ADSIGRP_SYM_INFOBYNAMEEX + 32 + UDINT + + 61449 + + + + TcVarGlobal + + + 4186880 + + + Global_Variables.ADSIGRP_SYM_DOWNLOAD + 32 + UDINT + + 61450 + + + + TcVarGlobal + + + 4186912 + + + Global_Variables.ADSIGRP_SYM_UPLOAD + 32 + UDINT + + 61451 + + + + TcVarGlobal + + + 4186944 + + + Global_Variables.ADSIGRP_SYM_UPLOADINFO + 32 + UDINT + + 61452 + + + + TcVarGlobal + + + 4186976 + + + Global_Variables.ADSIGRP_SYMNOTE + Notification of named handle + 32 + UDINT + + 61456 + + + + TcVarGlobal + + + 4187008 + + + Global_Variables.ADSIGRP_IOIMAGE_RWIB + Read/write input BYTE(S) + 32 + UDINT + + 61472 + + + + TcVarGlobal + + + 4187040 + + + Global_Variables.ADSIGRP_IOIMAGE_RWIX + Read/write input bit + 32 + UDINT + + 61473 + + + + TcVarGlobal + + + 4187072 + + + Global_Variables.ADSIGRP_IOIMAGE_RISIZE + Read input size (in BYTE) + 32 + UDINT + + 61477 + + + + TcVarGlobal + + + 4187104 + + + Global_Variables.ADSIGRP_IOIMAGE_RWOB + Read/write output BYTE(S) + 32 + UDINT + + 61488 + + + + TcVarGlobal + + + 4187136 + + + Global_Variables.ADSIGRP_IOIMAGE_RWOX + Read/write output bit + 32 + UDINT + + 61489 + + + + TcVarGlobal + + + 4187168 + + + Global_Variables.ADSIGRP_IOIMAGE_ROSIZE + Read/write output bit + 32 + UDINT + + 61493 + + + + TcVarGlobal + + + 4187200 + + + Global_Variables.ADSIGRP_IOIMAGE_CLEARI + Write inputs TO null + 32 + UDINT + + 61504 + + + + TcVarGlobal + + + 4187232 + + + Global_Variables.ADSIGRP_IOIMAGE_CLEARO + Write outputs TO null + 32 + UDINT + + 61520 + + + + TcVarGlobal + + + 4187264 + + + Global_Variables.ADSIGRP_IOIMAGE_RWIOB + Read input AND write output BYTE(S) ADS-READWRITE + 32 + UDINT + + 61536 + + + + TcVarGlobal + + + 4187296 + + + Global_Variables.ADSIGRP_DEVICE_DATA + State, name, etc... + 32 + UDINT + + 61696 + + + + TcVarGlobal + + + 4187328 + + + Global_Variables.ADSIOFFS_DEVDATA_ADSSTATE + Ads state OF device + 32 + UDINT + + 0 + + + + TcVarGlobal + + + 4187360 + + + Global_Variables.ADSIOFFS_DEVDATA_DEVSTATE + Device state + 32 + UDINT + + 2 + + + + TcVarGlobal + + + 4187392 + + + Global_Variables.SYSTEMSERVICE_OPENCREATE + Open and if not existing create + 32 + UDINT + + 100 + + + + TcVarGlobal + + + 4187424 + + + Global_Variables.SYSTEMSERVICE_OPENREAD + Open existing for read access + 32 + UDINT + + 101 + + + + TcVarGlobal + + + 4187456 + + + Global_Variables.SYSTEMSERVICE_OPENWRITE + Open existing for write access + 32 + UDINT + + 102 + + + + TcVarGlobal + + + 4187488 + + + Global_Variables.SYSTEMSERVICE_CREATEFILE + Create + 32 + UDINT + + 110 + + + + TcVarGlobal + + + 4187520 + + + Global_Variables.SYSTEMSERVICE_CLOSEHANDLE + Close + 32 + UDINT + + 111 + + + + TcVarGlobal + + + 4187552 + + + Global_Variables.SYSTEMSERVICE_FOPEN + 32 + UDINT + + 120 + + + + TcVarGlobal + + + 4187584 + + + Global_Variables.SYSTEMSERVICE_FCLOSE + 32 + UDINT + + 121 + + + + TcVarGlobal + + + 4187616 + + + Global_Variables.SYSTEMSERVICE_FREAD + 32 + UDINT + + 122 + + + + TcVarGlobal + + + 4187648 + + + Global_Variables.SYSTEMSERVICE_FWRITE + 32 + UDINT + + 123 + + + + TcVarGlobal + + + 4187680 + + + Global_Variables.SYSTEMSERVICE_FSEEK + 32 + UDINT + + 124 + + + + TcVarGlobal + + + 4187712 + + + Global_Variables.SYSTEMSERVICE_FTELL + 32 + UDINT + + 125 + + + + TcVarGlobal + + + 4187744 + + + Global_Variables.SYSTEMSERVICE_FGETS + 32 + UDINT + + 126 + + + + TcVarGlobal + + + 4187776 + + + Global_Variables.SYSTEMSERVICE_FPUTS + 32 + UDINT + + 127 + + + + TcVarGlobal + + + 4187808 + + + Global_Variables.SYSTEMSERVICE_FSCANF + 32 + UDINT + + 128 + + + + TcVarGlobal + + + 4187840 + + + Global_Variables.SYSTEMSERVICE_FPRINTF + 32 + UDINT + + 129 + + + + TcVarGlobal + + + 4187872 + + + Global_Variables.SYSTEMSERVICE_FEOF + 32 + UDINT + + 130 + + + + TcVarGlobal + + + 4187904 + + + Global_Variables.SYSTEMSERVICE_FDELETE + 32 + UDINT + + 131 + + + + TcVarGlobal + + + 4187936 + + + Global_Variables.SYSTEMSERVICE_FRENAME + 32 + UDINT + + 132 + + + + TcVarGlobal + + + 4187968 + + + Global_Variables.SYSTEMSERVICE_MKDIR + 32 + UDINT + + 138 + + + + TcVarGlobal + + + 4188000 + + + Global_Variables.SYSTEMSERVICE_RMDIR + 32 + UDINT + + 139 + + + + TcVarGlobal + + + 4188032 + + + Global_Variables.SYSTEMSERVICE_REG_HKEYLOCALMACHINE + 32 + UDINT + + 200 + + + + TcVarGlobal + + + 4188064 + + + Global_Variables.SYSTEMSERVICE_SENDEMAIL + 32 + UDINT + + 300 + + + + TcVarGlobal + + + 4188096 + + + Global_Variables.SYSTEMSERVICE_TIMESERVICES + 32 + UDINT + + 400 + + + + TcVarGlobal + + + 4188128 + + + Global_Variables.SYSTEMSERVICE_STARTPROCESS + 32 + UDINT + + 500 + + + + TcVarGlobal + + + 4188160 + + + Global_Variables.SYSTEMSERVICE_CHANGENETID + 32 + UDINT + + 600 + + + + TcVarGlobal + + + 4188192 + + + Global_Variables.TIMESERVICE_DATEANDTIME + Date/time + 32 + UDINT + + 1 + + + + TcVarGlobal + + + 4188224 + + + Global_Variables.TIMESERVICE_SYSTEMTIMES + 32 + UDINT + + 2 + + + + TcVarGlobal + + + 4188256 + + + Global_Variables.TIMESERVICE_RTCTIMEDIFF + 32 + UDINT + + 3 + + + + TcVarGlobal + + + 4188288 + + + Global_Variables.TIMESERVICE_ADJUSTTIMETORTC + 32 + UDINT + + 4 + + + + TcVarGlobal + + + 4188320 + + + Global_Variables.TIMESERVICE_TIMEZONINFORMATION + 32 + UDINT + + 6 + + + + TcVarGlobal + + + 4188352 + + + Global_Variables.ADSLOG_MSGTYPE_HINT + Hint icon + 32 + DWORD + + 1 + + + + TcVarGlobal + + + 4188384 + + + Global_Variables.ADSLOG_MSGTYPE_WARN + Warning icon + 32 + DWORD + + 2 + + + + TcVarGlobal + + + 4188416 + + + Global_Variables.ADSLOG_MSGTYPE_ERROR + Error icon + 32 + DWORD + + 4 + + + + TcVarGlobal + + + 4188448 + + + Global_Variables.ADSLOG_MSGTYPE_LOG + Write message to log file + 32 + DWORD + + 16 + + + + TcVarGlobal + + + 4188480 + + + Global_Variables.ADSLOG_MSGTYPE_MSGBOX + View message in message box + 32 + DWORD + + 32 + + + + TcVarGlobal + + + 4188512 + + + Global_Variables.ADSLOG_MSGTYPE_RESOURCE + 32 + DWORD + + 64 + + + + TcVarGlobal + + + 4188544 + + + Global_Variables.ADSLOG_MSGTYPE_STRING + 32 + DWORD + + 128 + + + + TcVarGlobal + + + 4188576 + + + Global_Variables.BOOTDATAFLAGS_RETAIN_REQUESTED + 8 + BYTE + + 4 + + + + TcVarGlobal + + + 4188608 + + + Global_Variables.BOOTDATAFLAGS_PERSISTENT_LOADED + Persistent data loaded + 8 + BYTE + + 16 + + + + TcVarGlobal + + + 4188616 + + + Global_Variables.BOOTDATAFLAGS_PERSISTENT_INVALID + Persistent data is invalid + 8 + BYTE + + 32 + + + + TcVarGlobal + + + 4188624 + + + Global_Variables.SYSTEMSTATEFLAGS_BSOD + Blue screen of death + 8 + BYTE + + 1 + + + + TcVarGlobal + + + 4188632 + + + Global_Variables.SYSTEMSTATEFLAGS_RTVIOLATION + Realtime violation - latency time + 8 + BYTE + + 2 + + + + TcVarGlobal + + + 4188640 + + + Global_Variables.nWatchdogTime + Watchdog time. Depending of g_WatchdogConfig : seconds or minutes + 8 + BYTE + + + TcVarGlobal + + + 4188648 + + + Global_Variables.TCEVENTFLAG_PRIOCLASS + Event class/priority through textformatter + 16 + WORD + + 16 + + + + TcVarGlobal + + + 4188656 + + + Global_Variables.FOPEN_MODEREAD + "r": Opens for reading. If the file does not exist or cannot be found, the call fails. + 32 + DWORD + + 1 + + + + TcVarGlobal + + + 4188672 + + + Global_Variables.FOPEN_MODEWRITE + "w": Opens an empty file for writing. If the given file exists, its contents are destroyed. + 32 + DWORD + + 2 + + + + TcVarGlobal + + + 4188704 + + + Global_Variables.FOPEN_MODEAPPEND + "a": Opens for writing at the end of the file (appending) without removing the EOF marker before writing new data to the file; creates the file first if it doesnot exist. + 32 + DWORD + + 4 + + + + TcVarGlobal + + + 4188736 + + + Global_Variables.FOPEN_MODEPLUS + "+": Opens for reading and writing + 32 + DWORD + + 8 + + + + TcVarGlobal + + + 4188768 + + + Global_Variables.FOPEN_MODEBINARY + "b": Open in binary (untranslated) mode. + 32 + DWORD + + 16 + + + + TcVarGlobal + + + 4188800 + + + Global_Variables.FOPEN_MODETEXT + "t": Open in text (translated) mode. + 32 + DWORD + + 32 + + + + TcVarGlobal + + + 4188832 + + + Global_Variables.TCEVENTFLAG_FMTSELF + Format in message + 16 + WORD + + 32 + + + + TcVarGlobal + + + 4189088 + + + Global_Variables.TCEVENTFLAG_LOG + Write to log file + 16 + WORD + + 64 + + + + TcVarGlobal + + + 4189104 + + + Global_Variables.TCEVENTFLAG_MSGBOX + Display message box + 16 + WORD + + 128 + + + + TcVarGlobal + + + 4189120 + + + Global_Variables.TCEVENTFLAG_SRCID + Src id instead of source name + 16 + WORD + + 256 + + + + TcVarGlobal + + + 4189136 + + + Global_Variables.TCEVENTFLAG_AUTOFMTALL + 16 + WORD + + 4096 + + + + TcVarGlobal + + + 4189152 + + + Global_Variables.TCEVENTSTATE_INVALID + Event object is not initialized + 16 + WORD + + 0 + + + + TcVarGlobal + + + 4189168 + + + Global_Variables.TCEVENTSTATE_SIGNALED + Event object is in a signaled state + 16 + WORD + + 1 + + + + TcVarGlobal + + + 4189184 + + + Global_Variables.TCEVENTSTATE_RESET + Event object is in a reset state + 16 + WORD + + 2 + + + + TcVarGlobal + + + 4189200 + + + Global_Variables.TCEVENTSTATE_CONFIRMED + Event object is confirmed but not reset + 16 + WORD + + 16 + + + + TcVarGlobal + + + 4189216 + + + Global_Variables.TCEVENTSTATE_RESETCON + Event object is confirmed and reset + 16 + WORD + + 18 + + + + TcVarGlobal + + + 4189232 + + + Global_Variables.TCEVENT_SRCNAMESIZE + 16 + INT + + 15 + + + + TcVarGlobal + + + 4189248 + + + Global_Variables.TCEVENT_FMTPRGSIZE + 16 + INT + + 31 + + + + TcVarGlobal + + + 4189264 + + + Global_Variables.DEFAULT_ADS_TIMEOUT + Default ADS timeout value + 32 + TIME + + 5000 + + + + TcVarGlobal + + + 4189280 + + + Global_Variables.PI + 64 + LREAL + + 3.14159265358979 + + + + TcVarGlobal + + + 4189312 + + + Global_Variables.MAX_STRING_LENGTH + Max. length of T_MaxString (inclusive null delimiter) + 32 + UDINT + + 255 + + + + TcVarGlobal + + + 4189376 + + + Global_Variables.eWatchdogConfig + 16 + E_WATCHDOG_TIME_CONFIG + + 0 + + + + TcVarGlobal + + + 4189920 + + + Global_Variables.MAX_AVERAGE_MEASURES + Max. number of measures used in the profiler function block: 2..100 + 16 + INT + + 10 + + + + LowerBorder + 2 + + + UpperBorder + 100 + + + TcVarGlobal + + + 4189936 + + + Global_Version.stLibVersion_Tc3_Module + 288 + ST_LibVersion + + + .iMajor + 3 + + + .iMinor + 3 + + + .iBuild + 21 + + + .iRevision + 0 + + + .sVersion + 3.3.21.0 + + + + + const_non_replaced + + + TcVarGlobal + + + 4189952 + + + Global_Version.stLibVersion_Tc2_Utilities + 288 + ST_LibVersion + + + .iMajor + 3 + + + .iMinor + 3 + + + .iBuild + 54 + + + .iRevision + 0 + + + .nFlags + 1 + + + .sVersion + 3.3.54.0 + + + + + const_non_replaced + + + TcVarGlobal + + + 4190560 + + + Global_Variables.GLOBAL_FORMAT_HASH_PREFIX_TYPE + Global hash prefix type constant used for binary, octal or hexadecimal string format type + 16 + E_HashPrefixTypes + + 0 + + + + TcVarGlobal + + + 4190848 + + + Global_Variables.GLOBAL_SBCS_TABLE + Windows SBCS (Single Byte Character Set) Code Page Table + 16 + E_SBCSType + + 1 + + + + TcVarGlobal + + + 4190864 + + + Global_Variables.GLOBAL_DCF77_PULSE_SPLIT + Default DCF77 short/long pulse split time value. Bit == 0 => pulse < 140ms, Bit == 1 => pulse >= 140ms + 32 + TIME + + 140 + + + + TcVarGlobal + + + 4190880 + + + Global_Variables.GLOBAL_DCF77_SEQUENCE_CHECK + TRUE = Enable DCF77 telegram plausibility check (two telegrams are checked), FALSE = Disable check + 8 + BOOL + + 0 + + + + TcVarGlobal + + + 4190912 + + + Global_Variables.DEFAULT_CSV_FIELD_SEP + Default CSV-file field separator character. Semicolon (;) := 16#3B => german field separator, comma (,) := 16#2C => US field separator + 8 + BYTE + + 59 + + + + TcVarGlobal + + + 4190920 + + + Global_Variables.MAX_REMOTE_PCS + Max. number of TwinCAT remote systems/PC's + 16 + INT + + 99 + + + + TcVarGlobal + + + 4190928 + + + Global_Variables.MAX_ADAPTER_NAME_LENGTH + Max. System Service local adapter name length (256 + 4 inkl. \0) + 32 + UDINT + + 259 + + + + TcVarGlobal + + + 4252416 + + + Global_Variables.MAX_ADAPTER_DESCRIPTION_LENGTH + Max. System Service local adapter descirpion length (128 + 4 inkl. \0) + 32 + UDINT + + 131 + + + + TcVarGlobal + + + 4252448 + + + Global_Variables.MAX_ADAPTER_ADDRESS_LENGTH + Max. System Service local adapter physical address length (bytes[0..7]) + 32 + UDINT + + 7 + + + + TcVarGlobal + + + 4252480 + + + Global_Variables.SYSTEMSERVICE_IPHELPERAPI + IPHELPERAPI index group + 32 + UDINT + + 701 + + + + TcVarGlobal + + + 4252512 + + + Global_Variables.SYSTEMSERVICE_IPHOSTNAME + IPHOSTNAME index group + 32 + UDINT + + 702 + + + + TcVarGlobal + + + 4252544 + + + Global_Variables.IPHELPERAPI_ADAPTERSINFO + IPHELPERAPI index offset + 32 + UDINT + + 1 + + + + TcVarGlobal + + + 4252576 + + + Global_Variables.IPHELPERAPI_IPADDRBYHOSTNAME + IPHELPERAPI index offset + 32 + UDINT + + 4 + + + + TcVarGlobal + + + 4252608 + + + Global_Variables.MAX_LOCAL_ADAPTERS + Max. number of local network adapters + 32 + UDINT + + 5 + + + + TcVarGlobal + + + 4252640 + + + Global_Variables.SYSTEMSERVICE_ADDREMOTE + System Service route function: Add route + 32 + UDINT + + 801 + + + + TcVarGlobal + + + 4252672 + + + Global_Variables.SYSTEMSERVICE_DELREMOTE + System Service route function: Delete route + 32 + UDINT + + 802 + + + + TcVarGlobal + + + 4252704 + + + Global_Variables.SYSTEMSERVICE_ENUMREMOTE + System Service route function: Enumerater route + 32 + UDINT + + 803 + + + + TcVarGlobal + + + 4252736 + + + Global_Variables.ROUTE_FLAG_TEMPORARY + TwinCAT route flag: Temporary + 32 + DWORD + + 1 + + + + TcVarGlobal + + + 4252768 + + + Global_Variables.ROUTE_FLAG_DYNAMIC + TwinCAT route flag: Hostname instead OF IP address + 32 + DWORD + + 2 + + + + TcVarGlobal + + + 4252800 + + + Global_Variables.ROUTE_FLAG_NOOVERRIDE + TwinCAT route flag: No override + 32 + DWORD + + 4 + + + + TcVarGlobal + + + 4252832 + + + Global_Variables.MAX_ROUTE_NAME_LEN + Max. TwinCAT router route name length + 8 + BYTE + + 31 + + + + TcVarGlobal + + + 4252864 + + + Global_Variables.MAX_ROUTE_ADDR_LEN + Max. TwinCAT router route address length + 8 + BYTE + + 79 + + + + TcVarGlobal + + + 4252872 + + + Global_Variables.MIN_ROUTE_TRANSPORT + Min. route type: eRouteTransport_None + 8 + BYTE + + 0 + + + + TcVarGlobal + + + 4252880 + + + Global_Variables.MAX_ROUTE_TRANSPORT + Max. route type: eRouteTransport_SOAP + 8 + BYTE + + 12 + + + + TcVarGlobal + + + 4252888 + + + Global_Variables.EMPTY_ROUTE_ENTRY + eTransport := eRouteTransport_None see Workitem 7547 + 1184 + ST_AmsRouteEntry + + + .sName + + + + .sNetID + + + + .sAddress + + + + .tTimeout + 0 + + + .dwFlags + 0 + + + + + TcVarGlobal + + + 4252896 + + + Global_Variables.SYSTEMSERVICE_FFILEFIND + System Service file find function number + 32 + UDINT + + 133 + + + + TcVarGlobal + + + 4254080 + + + Global_Variables.HKEY_MAX_BINARY_DATA_SIZE + Max. byte size of binary registry value data + 32 + UDINT + + 500 + + + + TcVarGlobal + + + 4254112 + + + Global_Variables.AMSLOGGER_IGR_GENERAL + TwinCAT Ams Logger general index group + 32 + UDINT + + 4096 + + + + TcVarGlobal + + + 4254144 + + + Global_Variables.AMSLOGGER_IOF_MODE + TwinCAT Ams Logger mode + 32 + UDINT + + 1 + + + + TcVarGlobal + + + 4254176 + + + Global_Variables.AMSPORT_AMSLOGGER + TwinCAT Ams Logger port number + 16 + UINT + + 10502 + + + + TcVarGlobal + + + 4254208 + + + Global_Variables.FORMAT_MAX_ARGS + Format string constant: Max. number of format arguments in FB_FormatString + 16 + INT + + 10 + + + + TcVarGlobal + + + 4254224 + + + Global_Variables.FLOATREC_EXP_IS_NAN + T_FloatRec type and F_GetFloatRec function constant: The value is #NAN or -#NAN + 16 + INT + + -32768 + + + + TcVarGlobal + + + 4254240 + + + Global_Variables.FLOATREC_EXP_IS_INF + T_FloatRec type and F_GetFloatRec function constant: The value is #INF or -#INF + 16 + INT + + 32767 + + + + TcVarGlobal + + + 4254256 + + + Global_Variables.FLOATREC_MAX_DIGITS + T_FloatRec type and F_GetFloatRec function constant: Max. number of significant digits. Note: double precision floats have max. 15 significant digits + 16 + INT + + 20 + + + + TcVarGlobal + + + 4254272 + + + Global_Variables.FLOATREC_MAX_PRECISION + T_FloatRec type and F_GetFloatRec function constant: Max. floating point precision (1e-307) + 16 + INT + + 307 + + + + TcVarGlobal + + + 4254288 + + + Global_Variables.FLOATREC_MIN_PRECISION + T_FloatRec type and F_GetFloatRec function constant: Min. floating point precision + 16 + INT + + 0 + + + + TcVarGlobal + + + 4254304 + + + Global_Variables.FMTERR_NOERROR + FB_FormatString function block error code: No error + 32 + DWORD + + 0 + + + + TcVarGlobal + + + 4254336 + + + Global_Variables.FMTERR_PERCENTSIGNPOSITION + FB_FormatString function block error code: Percent sign (%) at invalid position + 32 + DWORD + + 16 + + + + TcVarGlobal + + + 4254368 + + + Global_Variables.FMTERR_ASTERISKPOSITION + FB_FormatString function block error code: Asterisk parameter at invalid position + 32 + DWORD + + 32 + + + + TcVarGlobal + + + 4254400 + + + Global_Variables.FMTERR_WIDTHVALUE + FB_FormatString function block error code: Invalid width field value + 32 + DWORD + + 64 + + + + TcVarGlobal + + + 4254432 + + + Global_Variables.FMTERR_PRECISIONVALUE + FB_FormatString function block error code: Invalid precision field value + 32 + DWORD + + 128 + + + + TcVarGlobal + + + 4254464 + + + Global_Variables.FMTERR_FLAGPOSITION + FB_FormatString function block error code: One of the flags at invalid position + 32 + DWORD + + 256 + + + + TcVarGlobal + + + 4254496 + + + Global_Variables.FMTERR_WIDTHPRECISIONVALPOS + FB_FormatString function block error code: The width or precision field value at invalid position + 32 + DWORD + + 512 + + + + TcVarGlobal + + + 4254528 + + + Global_Variables.FMTERR_PRECISIONDOTPOSITION + FB_FormatString function block error code: Dot "." sign of precision field at invalid position + 32 + DWORD + + 1024 + + + + TcVarGlobal + + + 4254560 + + + Global_Variables.FMTERR_TYPEFIELDVALUE + FB_FormatString function block error code: Invalid (unsupported) type field value + 32 + DWORD + + 2048 + + + + TcVarGlobal + + + 4254592 + + + Global_Variables.FMTERR_ARGTYPEINVALID + FB_FormatString function block error code: Different type field and argument parameter + 32 + DWORD + + 4096 + + + + TcVarGlobal + + + 4254624 + + + Global_Variables.FMTERR_UNACCEPTEDPARAMETER + FB_FormatString function block error code: Invalid format string parameters + 32 + DWORD + + 8192 + + + + TcVarGlobal + + + 4254656 + + + Global_Variables.FMTERR_INSUFFICIENTARGS + FB_FormatString function block error code: To much arguments in format string + 32 + DWORD + + 16384 + + + + TcVarGlobal + + + 4254688 + + + Global_Variables.FMTERR_DESTBUFFOVERFLOW + FB_FormatString function block error code: Destination string buffer overflow (formatted string is to long ) + 32 + DWORD + + 32768 + + + + TcVarGlobal + + + 4254720 + + + Global_Variables.FMTERR_INVALIDPOINTERINPUT + FB_FormatString function block error code: Invalid pointer input + 32 + DWORD + + 65536 + + + + TcVarGlobal + + + 4254752 + + + Global_Variables.EMPTY_ARG_VALUE + T_Arg empty value + 96 + T_Arg + + + .eType + 0 + + + .cbLen + 0 + + + .pData + 0 + + + + + TcVarGlobal + + + 4254784 + + + Global_Variables.FORMAT_HEXASC_CODES + 256 + BYTE + + 0 + 2 + + + 0 + 16 + + + + [0,0] + 48 + + + [0,1] + 49 + + + [0,2] + 50 + + + [0,3] + 51 + + + [0,4] + 52 + + + [0,5] + 53 + + + [0,6] + 54 + + + [0,7] + 55 + + + [0,8] + 56 + + + [0,9] + 57 + + + [0,10] + 97 + + + [0,11] + 98 + + + [0,12] + 99 + + + [0,13] + 100 + + + [0,14] + 101 + + + [0,15] + 102 + + + [1,0] + 48 + + + [1,1] + 49 + + + [1,2] + 50 + + + [1,3] + 51 + + + [1,4] + 52 + + + [1,5] + 53 + + + [1,6] + 54 + + + [1,7] + 55 + + + [1,8] + 56 + + + [1,9] + 57 + + + [1,10] + 65 + + + [1,11] + 66 + + + [1,12] + 67 + + + [1,13] + 68 + + + [1,14] + 69 + + + [1,15] + 70 + + + + + TcVarGlobal + + + 4254880 + + + Global_Variables.FORMAT_DECASC_CODES + ASCII to decimal and decimal digits to ASCII codes + 80 + BYTE + + 0 + 10 + + + + [0] + 48 + + + [1] + 49 + + + [2] + 50 + + + [3] + 51 + + + [4] + 52 + + + [5] + 53 + + + [6] + 54 + + + [7] + 55 + + + [8] + 56 + + + [9] + 57 + + + + + TcVarGlobal + + + 4255136 + + + Global_Variables.SYSTEMTIME_MAX_MONTHDAYS + 384 + WORD + + 0 + 2 + + + 1 + 12 + + + + [0,1] + 31 + + + [0,2] + 28 + + + [0,3] + 31 + + + [0,4] + 30 + + + [0,5] + 31 + + + [0,6] + 30 + + + [0,7] + 31 + + + [0,8] + 31 + + + [0,9] + 30 + + + [0,10] + 31 + + + [0,11] + 30 + + + [0,12] + 31 + + + [1,1] + 31 + + + [1,2] + 29 + + + [1,3] + 31 + + + [1,4] + 30 + + + [1,5] + 31 + + + [1,6] + 30 + + + [1,7] + 31 + + + [1,8] + 31 + + + [1,9] + 30 + + + [1,10] + 31 + + + [1,11] + 30 + + + [1,12] + 31 + + + + + TcVarGlobal + + + 4260624 + + + Global_Variables.SYSTEMTIME_MAX_YEARSDAY + 448 + WORD + + 0 + 2 + + + 0 + 14 + + + + [0,0] + 0 + + + [0,1] + 31 + + + [0,2] + 59 + + + [0,3] + 90 + + + [0,4] + 120 + + + [0,5] + 151 + + + [0,6] + 181 + + + [0,7] + 212 + + + [0,8] + 243 + + + [0,9] + 273 + + + [0,10] + 304 + + + [0,11] + 334 + + + [0,12] + 365 + + + [0,13] + 396 + + + [1,0] + 0 + + + [1,1] + 31 + + + [1,2] + 60 + + + [1,3] + 91 + + + [1,4] + 121 + + + [1,5] + 152 + + + [1,6] + 182 + + + [1,7] + 213 + + + [1,8] + 244 + + + [1,9] + 274 + + + [1,10] + 305 + + + [1,11] + 335 + + + [1,12] + 366 + + + [1,13] + 397 + + + + + TcVarGlobal + + + 4261008 + + + Global_Variables.SYSTEMTIME_DATEDELTA_OFFSET + Number of past days since year zero until 1 January 1601 + 32 + DWORD + + 584389 + + + + TcVarGlobal + + + 4261472 + + + Global_Variables.SYSTEMTIME_TICKSPERMSEC + Number of 100ns ticks per millisecond + 64 + T_ULARGE_INTEGER + + + .dwHighPart + 0 + + + .dwLowPart + 10000 + + + + + TcVarGlobal + + + 4261504 + + + Global_Variables.SYSTEMTIME_TICKSPERSEC + Number of 100ns ticks per second + 64 + T_ULARGE_INTEGER + + + .dwHighPart + 0 + + + .dwLowPart + 10000000 + + + + + TcVarGlobal + + + 4261568 + + + Global_Variables.SYSTEMTIME_TICKSPERDAY + Number of 100ns ticks per day + 64 + T_ULARGE_INTEGER + + + .dwHighPart + 201 + + + .dwLowPart + 711573504 + + + + + TcVarGlobal + + + 4261632 + + + Global_Variables.SYSTEMTIME_DATE_AND_TIME_MIN + Min. DT value as file time DT#1970-01-01-00:00:00 + 64 + T_ULARGE_INTEGER + + + .dwHighPart + 27111902 + + + .dwLowPart + 3577643008 + + + + + TcVarGlobal + + + 4261696 + + + Global_Variables.SYSTEMTIME_DATE_AND_TIME_MAX + Max. DT value as file time DT#2106-02-06-06:28:15 + 64 + T_ULARGE_INTEGER + + + .dwHighPart + 37111701 + + + .dwLowPart + 2856069504 + + + + + TcVarGlobal + + + 4261760 + + + Global_Variables.SYSTEMTIME_TICKSPERMSEC64 + Number of 100ns ticks per millisecond + 64 + ULINT + + 10000 + + + + TcVarGlobal + + + 4261824 + + + Global_Variables.SYSTEMTIME_TICKSPERSEC64 + Number of 100ns ticks per second + 64 + ULINT + + 10000000 + + + + TcVarGlobal + + + 4261888 + + + Global_Variables.SYSTEMTIME_TICKSPERDAY64 + Number of 100ns ticks per day + 64 + ULINT + + 864000000000 + + + + TcVarGlobal + + + 4261952 + + + Global_Variables.SYSTEMTIME_DATE_AND_TIME_MIN64 + Min. DT value as file time DT#1970-01-01-00:00:00 + 64 + ULINT + + 116444736000000000 + + + + TcVarGlobal + + + 4262016 + + + Global_Variables.SYSTEMTIME_DATE_AND_TIME_MAX64 + Max. DT value as file time DT#2106-02-06-06:28:15 + 64 + ULINT + + 159393544950000000 + + + + TcVarGlobal + + + 4262080 + + + Global_Variables.WEST_EUROPE_TZI + 864 + ST_TimeZoneInformation + + + .bias + -60 + + + .standardName + W. Europe Standard Time + + + .standardDate.wYear + 0 + + + .standardDate.wMonth + 10 + + + .standardDate.wDayOfWeek + 0 + + + .standardDate.wDay + 5 + + + .standardDate.wHour + 3 + + + .standardBias + 0 + + + .daylightName + W. Europe Daylight Time + + + .daylightDate.wYear + 0 + + + .daylightDate.wMonth + 3 + + + .daylightDate.wDayOfWeek + 0 + + + .daylightDate.wDay + 5 + + + .daylightDate.wHour + 2 + + + .daylightBias + -60 + + + + + TcVarGlobal + + + 4262144 + + + Global_Variables.DATE_AND_TIME_SECPERDAY + Number of seconds per day + 32 + DWORD + + 86400 + + + + TcVarGlobal + + + 4267104 + + + Global_Variables.DATE_AND_TIME_SECPERWEEK + Number of seconds per week + 32 + DWORD + + 604800 + + + + TcVarGlobal + + + 4267136 + + + Global_Variables.DBG_OUTPUT_NONE + Disabled (no debug oputput) + 32 + DWORD + + 0 + + + + TcVarGlobal + + + 4273344 + + + Global_Variables.DBG_OUTPUT_LOG + Enabled, TwinCAT System Manager Log + 32 + DWORD + + 1 + + + + TcVarGlobal + + + 4273376 + + + Global_Variables.DBG_OUTPUT_FILE + Enabled, text file + 32 + DWORD + + 2 + + + + TcVarGlobal + + + 4273408 + + + Global_Variables.DBG_OUTPUT_VISU + reserved + 32 + DWORD + + 4 + + + + TcVarGlobal + + + 4273440 + + + Global_Variables.DEFAULT_CSV_FIELD_DOUBLE_QUOTE + CSV separator constant: double-quote (") => used to enclose special characters like line breaks, double-quotes, commas... + 8 + BYTE + + 34 + + + + TcVarGlobal + + + 4389680 + + + Global_Variables.DEFAULT_CSV_RECORD_SEP_CR + CSV separator constant: cariage return => record separator (first character) + 8 + BYTE + + 13 + + + + TcVarGlobal + + + 4389688 + + + Global_Variables.DEFAULT_CSV_RECORD_SEP_LF + CSV separator constant: line feed => record separator (second character) + 8 + BYTE + + 10 + + + + TcVarGlobal + + + 4390640 + + + GVL_Param_TcUnit.LogExtendedResults + TcUnit logs complete test results. These include: - Number of test suites - Number of tests - Number of successful tests - Number of failed tests - - Any eventual failed assertion (with the expected & actual value plus an user defined message) + - Any eventual failed assertion (with the expected & actual value plus an user defined message) These are all printed to the ADS logger (Visual Studio error list) marked with ERROR criticality On top of this TcUnit also reports some statistics/extended information with HINT/INFO criticality. These statistics are more detailed results of the tests. This information is used when results are being collected by an external software (such as TcUnit-Runner) to do for example Jenkins integration. This extra information however takes time to print, so by setting the following parameter to FALSE - it will speed up TcUnit finishing. ]]>8BOOL1TcVarGlobal4392360Global_Variables.EMPTY_GUID_STRUCT128GUID.Data10.Data20.Data30.Data4[0]0.Data4[1]0.Data4[2]0.Data4[3]0.Data4[4]0.Data4[5]0.Data4[6]0.Data4[7]0TcVarGlobal4392384Global_Variables.EMPTY_GUID_STRING296STRING(36)00000000-0000-0000-0000-000000000000TcVarGlobal4392512Global_Variables.EMPTY_GUID_REGSTRING312STRING(38){00000000-0000-0000-0000-000000000000}TcVarGlobal4392808Global_Version.stLibVersion_Tc2_IoFunctions288ST_LibVersion.iMajor3.iMinor3.iBuild13.iRevision0.nFlags0.sVersion3.3.13.0const_non_replacedTcVarGlobal4393216Global_Version.stLibVersion_Tc2_ModbusSrv288ST_LibVersion.iMajor3.iMinor3.iBuild2.iRevision0.sVersion3.3.2.0const_non_replacedTcVarGlobal4393504Global_Version.stLibVersion_Tc2_SerialCom288ST_LibVersion.iMajor3.iMinor3.iBuild10.iRevision0.nFlags0.sVersion3.3.10.0const_non_replacedTcVarGlobal4393792Global_Constants.EMPTY_EVENT_CLASS128GUID.Data10.Data20.Data30.Data4[0]0.Data4[1]0.Data4[2]0.Data4[3]0.Data4[4]0.Data4[5]0.Data4[6]0.Data4[7]0TcVarGlobal4394080Global_Constants.EMPTY_EVENT_ID32UDINT0TcVarGlobal4394208Global_Constants.EMPTY_SEVERITY16TcEventSeverity0TcVarGlobal4394240GVL_Param_TcUnit.MaxNumberOfTestSuites16UINT1000TcVarGlobal4394256Global_Constants.SUCCESS_EVENT192TcEventEntry.uuidEventClass.Data10.uuidEventClass.Data20.uuidEventClass.Data30.uuidEventClass.Data4[0]0.uuidEventClass.Data4[1]0.uuidEventClass.Data4[2]0.uuidEventClass.Data4[3]0.uuidEventClass.Data4[4]0.uuidEventClass.Data4[5]0.uuidEventClass.Data4[6]0.uuidEventClass.Data4[7]0.nEventID0.eSeverity0TcVarGlobal4394272GVL.nLangId_OnlineMonitoring32DINT1033TcVarGlobal4394464ParameterList.cSourceNameSize32UDINT256LowerBorder81UpperBorder10000TcVarGlobal4394496Global_Version.stLibVersion_Tc3_EventLogger288ST_LibVersion.iMajor3.iMinor1.iBuild33.iRevision0.nFlags1.sVersion3.1.33.0const_non_replacedTcVarGlobal4394528GVL_INTERNAL.UNINITIALIZED_CLASS_GUID128GUID.Data13886330336.Data262671.Data318227.Data4[0]149.Data4[1]213.Data4[2]115.Data4[3]223.Data4[4]8.Data4[5]75.Data4[6]96.Data4[7]248TcVarGlobal4394816.TCPADS_MAXUDP_BUFFSIZE32UDINT8192TcVarGlobal4394944Global_Version.stLibVersion_Tc3_JsonXml288ST_LibVersion.iMajor3.iMinor3.iBuild18.iRevision0.nFlags1.sVersion3.3.18.0const_non_replacedTcVarGlobal4394976GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite16UINT100TcVarGlobal4395264GVL_Param_TcUnit.MaxNumberOfAssertsForEachTestSuite16UINT1000TcVarGlobal4395280GVL_Param_TcUnit.xUnitEnablePublish8BOOL0TcVarGlobal4395296GVL_TcUnit.TestSuiteIsRegistered8BOOLTcVarGlobal4395304GVL_Param_TcUnit.AdsLogMessageFifoRingBufferSize + 8 + BOOL + + 1 + + + + TcVarGlobal + + + 4392360 + + + Global_Variables.EMPTY_GUID_STRUCT + 128 + GUID + + + .Data1 + 0 + + + .Data2 + 0 + + + .Data3 + 0 + + + .Data4[0] + 0 + + + .Data4[1] + 0 + + + .Data4[2] + 0 + + + .Data4[3] + 0 + + + .Data4[4] + 0 + + + .Data4[5] + 0 + + + .Data4[6] + 0 + + + .Data4[7] + 0 + + + + + TcVarGlobal + + + 4392384 + + + Global_Variables.EMPTY_GUID_STRING + 296 + STRING(36) + + 00000000-0000-0000-0000-000000000000 + + + + TcVarGlobal + + + 4392512 + + + Global_Variables.EMPTY_GUID_REGSTRING + 312 + STRING(38) + + {00000000-0000-0000-0000-000000000000} + + + + TcVarGlobal + + + 4392808 + + + Global_Version.stLibVersion_Tc2_IoFunctions + 288 + ST_LibVersion + + + .iMajor + 3 + + + .iMinor + 3 + + + .iBuild + 13 + + + .iRevision + 0 + + + .nFlags + 0 + + + .sVersion + 3.3.13.0 + + + + + const_non_replaced + + + TcVarGlobal + + + 4393216 + + + Global_Version.stLibVersion_Tc2_ModbusSrv + 288 + ST_LibVersion + + + .iMajor + 3 + + + .iMinor + 3 + + + .iBuild + 2 + + + .iRevision + 0 + + + .sVersion + 3.3.2.0 + + + + + const_non_replaced + + + TcVarGlobal + + + 4393504 + + + Global_Version.stLibVersion_Tc2_SerialCom + 288 + ST_LibVersion + + + .iMajor + 3 + + + .iMinor + 3 + + + .iBuild + 10 + + + .iRevision + 0 + + + .nFlags + 0 + + + .sVersion + 3.3.10.0 + + + + + const_non_replaced + + + TcVarGlobal + + + 4393792 + + + Global_Constants.EMPTY_EVENT_CLASS + 128 + GUID + + + .Data1 + 0 + + + .Data2 + 0 + + + .Data3 + 0 + + + .Data4[0] + 0 + + + .Data4[1] + 0 + + + .Data4[2] + 0 + + + .Data4[3] + 0 + + + .Data4[4] + 0 + + + .Data4[5] + 0 + + + .Data4[6] + 0 + + + .Data4[7] + 0 + + + + + TcVarGlobal + + + 4394080 + + + Global_Constants.EMPTY_EVENT_ID + 32 + UDINT + + 0 + + + + TcVarGlobal + + + 4394208 + + + Global_Constants.EMPTY_SEVERITY + 16 + TcEventSeverity + + 0 + + + + TcVarGlobal + + + 4394240 + + + GVL_Param_TcUnit.MaxNumberOfTestSuites + 16 + UINT + + 1000 + + + + TcVarGlobal + + + 4394256 + + + Global_Constants.SUCCESS_EVENT + 192 + TcEventEntry + + + .uuidEventClass.Data1 + 0 + + + .uuidEventClass.Data2 + 0 + + + .uuidEventClass.Data3 + 0 + + + .uuidEventClass.Data4[0] + 0 + + + .uuidEventClass.Data4[1] + 0 + + + .uuidEventClass.Data4[2] + 0 + + + .uuidEventClass.Data4[3] + 0 + + + .uuidEventClass.Data4[4] + 0 + + + .uuidEventClass.Data4[5] + 0 + + + .uuidEventClass.Data4[6] + 0 + + + .uuidEventClass.Data4[7] + 0 + + + .nEventID + 0 + + + .eSeverity + 0 + + + + + TcVarGlobal + + + 4394272 + + + GVL.nLangId_OnlineMonitoring + language id for online monitoring; English(US)=1033 ; German(Germany)=1031 + 32 + DINT + + 1033 + + + + TcVarGlobal + + + 4394464 + + + ParameterList.cSourceNameSize + size [bytes] for source names (recommended is a size between 128 and 512) + 32 + UDINT + + 256 + + + + LowerBorder + 81 + + + UpperBorder + 10000 + + + TcVarGlobal + + + 4394496 + + + Global_Version.stLibVersion_Tc3_EventLogger + 288 + ST_LibVersion + + + .iMajor + 3 + + + .iMinor + 1 + + + .iBuild + 33 + + + .iRevision + 0 + + + .nFlags + 1 + + + .sVersion + 3.1.33.0 + + + + + const_non_replaced + + + TcVarGlobal + + + 4394528 + + + GVL_INTERNAL.UNINITIALIZED_CLASS_GUID + {E7A4B1E0-F4CF-4733-95D5-73DF084B60F8} + 128 + GUID + + + .Data1 + 3886330336 + + + .Data2 + 62671 + + + .Data3 + 18227 + + + .Data4[0] + 149 + + + .Data4[1] + 213 + + + .Data4[2] + 115 + + + .Data4[3] + 223 + + + .Data4[4] + 8 + + + .Data4[5] + 75 + + + .Data4[6] + 96 + + + .Data4[7] + 248 + + + + + TcVarGlobal + + + 4394816 + + + .TCPADS_MAXUDP_BUFFSIZE + 32 + UDINT + + 8192 + + + + TcVarGlobal + + + 4394944 + + + Global_Version.stLibVersion_Tc3_JsonXml + 288 + ST_LibVersion + + + .iMajor + 3 + + + .iMinor + 3 + + + .iBuild + 18 + + + .iRevision + 0 + + + .nFlags + 1 + + + .sVersion + 3.3.18.0 + + + + + const_non_replaced + + + TcVarGlobal + + + 4394976 + + + GVL_Param_TcUnit.MaxNumberOfTestsForEachTestSuite + 16 + UINT + + 100 + + + + TcVarGlobal + + + 4395264 + + + GVL_Param_TcUnit.MaxNumberOfAssertsForEachTestSuite + 16 + UINT + + 1000 + + + + TcVarGlobal + + + 4395280 + + + GVL_Param_TcUnit.xUnitEnablePublish + Enable (TRUE) or disable (FALSE) publishing of the xUnit Xml report + 8 + BOOL + + 0 + + + + TcVarGlobal + + + 4395296 + + + GVL_TcUnit.TestSuiteIsRegistered + Indication of whether the last instantiated test suite has an assert instance created + 8 + BOOL + + + TcVarGlobal + + + 4395304 + + + GVL_Param_TcUnit.AdsLogMessageFifoRingBufferSize + This is the maximum number of ADS-messages that can be stored for reporting at the same time. Having a size of 2000 means that it's possible to report up to ~400 test cases in one single PLC cycle. Each entry consumes around 500 bytes, so with an example of a ring buffer size of - 2000 it means that TcUnit will consume around 1 MB of router memory. ]]>16UINT2000TcVarGlobal4395312GVL_Param_TcUnit.xUnitBufferSize32UDINT65535TcVarGlobal4395328GVL_Param_TcUnit.xUnitFilePath2048T_MaxStringC:\tcunit_xunit_testresults.xmlTcVarGlobal4395360GVL_Param_TcUnit.TimeBetweenTestSuitesExecution32TIME0TcVarGlobal4397408GVL_TcUnit.TcUnitRunner621827200FB_TcUnitRunnerTcVarGlobal4397440GVL_TcUnit.CurrentTestSuiteBeingCalled32FB_TestSuiteTcVarGlobal626224640GVL_TcUnit.CurrentTestNameBeingCalled2048T_MaxStringTcVarGlobal626224672GVL_TcUnit.CurrentTestIsFinished8BOOLTcVarGlobal626226720GVL_TcUnit.IgnoreCurrentTest + 16 + UINT + + 2000 + + + + TcVarGlobal + + + 4395312 + + + GVL_Param_TcUnit.xUnitBufferSize + Default reserved PLC memory buffer used for composition of the xUnit xml file (64 kb default) + 32 + UDINT + + 65535 + + + + TcVarGlobal + + + 4395328 + + + GVL_Param_TcUnit.xUnitFilePath + Default path and filename for the xunit testresults e.g.: for use with jenkins + 2048 + T_MaxString + + C:\tcunit_xunit_testresults.xml + + + + TcVarGlobal + + + 4395360 + + + GVL_Param_TcUnit.TimeBetweenTestSuitesExecution + Time delay between a test suite is finished and the execution of the next test suite starts + if using RUN_IN_SEQUENCE() + 32 + TIME + + 0 + + + + TcVarGlobal + + + 4397408 + + + GVL_TcUnit.TcUnitRunner + 621827200 + FB_TcUnitRunner + + + TcVarGlobal + + + 4397440 + + + GVL_TcUnit.CurrentTestSuiteBeingCalled + Pointer to current test suite being called + 32 + FB_TestSuite + + + TcVarGlobal + + + 626224640 + + + GVL_TcUnit.CurrentTestNameBeingCalled + Current name of test being called + 2048 + T_MaxString + + + TcVarGlobal + + + 626224672 + + + GVL_TcUnit.CurrentTestIsFinished + Whether or not the current test being called has finished running + 8 + BOOL + + + TcVarGlobal + + + 626226720 + + + GVL_TcUnit.IgnoreCurrentTest + This is a flag that indicates that the current test should be ignored, and thus that all assertions under it should be ignored as well. A test can be ignored either - because the user has requested so, or because the test is a duplicate name ]]>8BOOLTcVarGlobal626226728GVL_TcUnit.NumberOfInitializedTestSuites16UINT0TcVarGlobal626226736GVL_TcUnit.TestSuiteAddresses32000FB_TestSuite11000TcVarGlobal626226752GVL_TcUnit.CurrentlyRunningOrderedTestInTestSuite + 8 + BOOL + + + TcVarGlobal + + + 626226728 + + + GVL_TcUnit.NumberOfInitializedTestSuites + The assert function block instance should be 1:1 mapped to + the test suite instance path. + 16 + UINT + + 0 + + + + TcVarGlobal + + + 626226736 + + + GVL_TcUnit.TestSuiteAddresses + 32000 + FB_TestSuite + + 1 + 1000 + + + + TcVarGlobal + + + 626226752 + + + GVL_TcUnit.CurrentlyRunningOrderedTestInTestSuite + If the user is utilizing the TEST_ORDERED(), we need to keep track of which ordered test is currently running. We do this by defining an array, in where we can see which current TEST_ORDERED() is the one to be handled right now. - The below array is only used for TEST_ORDERED()-tests. ]]>16000UINT11000LowerBorder1UpperBorder100TcVarGlobal626258752GVL_TcUnit.AdsMessageQueue8320864FB_AdsLogStringMessageFifoQueueTcVarGlobal626274752Global_Version.stLibVersion_TcUnit288ST_LibVersion.iMajor1.iMinor2.iBuild0.iRevision0.sVersion1.2.0.0const_non_replacedTcVarGlobal634595616PMPS_GVL.stRequestedBeamParameters1760ST_BeamParamspytmc + The below array is only used for TEST_ORDERED()-tests. + 16000 + UINT + + 1 + 1000 + + + + LowerBorder + 1 + + + UpperBorder + 100 + + + TcVarGlobal + + + 626258752 + + + GVL_TcUnit.AdsMessageQueue + Buffered ADS message queue for output to the error list + 8320864 + FB_AdsLogStringMessageFifoQueue + + + TcVarGlobal + + + 626274752 + + + Global_Version.stLibVersion_TcUnit + 288 + ST_LibVersion + + + .iMajor + 1 + + + .iMinor + 2 + + + .iBuild + 0 + + + .iRevision + 0 + + + .sVersion + 1.2.0.0 + + + + + const_non_replaced + + + TcVarGlobal + + + 634595616 + + + PMPS_GVL.stRequestedBeamParameters + Summarized request for the line, as recognized by the line arbiter PLC + 1760 + ST_BeamParams + + + pytmc + pv: @(PREFIX)RequestedBP io: i archive: 1Hz monitor - TcVarGlobal634595904PMPS_GVL.stCurrentBeamParameters1760ST_BeamParamspytmc + + + + TcVarGlobal + + + 634595904 + + + PMPS_GVL.stCurrentBeamParameters + Currently active BP set, broadcast by the line arbiter PLC + 1760 + ST_BeamParams + + + pytmc + pv: @(PREFIX)CurrentBP io: i archive: 1Hz monitor - TcVarGlobal634597664PMPS_GVL.g_areVBoundaries1024REAL032pytmc + + + + TcVarGlobal + + + 634597664 + + + PMPS_GVL.g_areVBoundaries + 1024 + REAL + + 0 + 32 + + + + pytmc + pv: @(PREFIX)eVRangeCnst io: i archive: 1Hz monitor field: DESC Active eV Range constants field: EGU eV - TcVarGlobal634599424PMPS_GVL.PERange32PE_RangesTcVarGlobal634600448PMPS_GVL.EXCLUDED_ASSERTION_ID32UDINT4294967295TcVarGlobal634600480PMPS_GVL.VISIBLE_TEST_VELOCITY64LREAL10TcVarGlobal634600512PMPS_GVL.FAST_TEST_VELOCITY64LREAL100TcVarGlobal634600576PMPS_GVL.MAX_DEVICE_STATES32UDINT300TcVarGlobal634600640PMPS_GVL.TRANS_SCALING_FACTOR32REAL1TcVarGlobal634600672PMPS_GVL.AUX_ATTENUATORS16UINT16TcVarGlobal634600704PMPS_GVL.MAX_VETO_DEVICES16UINT16TcVarGlobal634600720PMPS_GVL.stAttenuators64ST_PMPS_Attenuator.nTran1.xAttOK1TcVarGlobal634600736PMPS_GVL.cstFullBeam1760ST_BeamParamspytmc + + + + TcVarGlobal + + + 634599424 + + + PMPS_GVL.PERange + Included to place the ev ranges properly + 32 + PE_Ranges + + + TcVarGlobal + + + 634600448 + + + PMPS_GVL.EXCLUDED_ASSERTION_ID + An assertion ID that should always return "not found" in the assertion pool + 32 + UDINT + + 4294967295 + + + + TcVarGlobal + + + 634600480 + + + PMPS_GVL.VISIBLE_TEST_VELOCITY + 64 + LREAL + + 10 + + + + TcVarGlobal + + + 634600512 + + + PMPS_GVL.FAST_TEST_VELOCITY + 64 + LREAL + + 100 + + + + TcVarGlobal + + + 634600576 + + + PMPS_GVL.MAX_DEVICE_STATES + 32 + UDINT + + 300 + + + + TcVarGlobal + + + 634600640 + + + PMPS_GVL.TRANS_SCALING_FACTOR + Scaling factor for fixed-point transmission + 32 + REAL + + 1 + + + + TcVarGlobal + + + 634600672 + + + PMPS_GVL.AUX_ATTENUATORS + Maximum # of attenuators in the PMPS + 16 + UINT + + 16 + + + + TcVarGlobal + + + 634600704 + + + PMPS_GVL.MAX_VETO_DEVICES + 16 + UINT + + 16 + + + + TcVarGlobal + + + 634600720 + + + PMPS_GVL.stAttenuators + 64 + ST_PMPS_Attenuator + + + .nTran + 1 + + + .xAttOK + 1 + + + + + TcVarGlobal + + + 634600736 + + + PMPS_GVL.cstFullBeam + 1760 + ST_BeamParams + + + pytmc + pv: @(PREFIX)FullBeamCnst io: i archive: 1Hz monitor field: DESC Full beam constant - TcVarGlobal634600800PMPS_GVL.cst0RateBeam1760ST_BeamParamspytmc + + + + TcVarGlobal + + + 634600800 + + + PMPS_GVL.cst0RateBeam + 1760 + ST_BeamParams + + + pytmc + pv: @(PREFIX)0RateBeamCnst io: i archive: 1Hz monitor field: DESC 0-rate beam constant - TcVarGlobal634602560PMPS_GVL.cnMaxStateArrayLen + + + TcVarGlobal + + + 634602560 + + + PMPS_GVL.cnMaxStateArrayLen + {attribute 'pytmc' := ' pv: @(PREFIX)SafeBeamCnst io: i archive: 1Hz monitor @@ -840,57 +34650,1258 @@ External Setpoint Generation: nTran := 0, neVRange := 0, nRate := 0 - );]]>16INT20TcVarGlobal634604320PMPS_GVL.MAX_APERTURES16UINT4TcVarGlobal634604336PMPS_GVL.DUMMY_AUX_ATT_ARRAY1024ST_PMPS_Attenuator116suppress_warning_0C0228TcVarGlobal634604352PMPS_GVL.g_cBoundaries16INT31TcVarGlobal634605376PMPS_PARAM.MAX_FAST_FAULTS16UINT50TcVarGlobal634605392PMPS_GVL.reVHyst + 16 + INT + + 20 + + + + TcVarGlobal + + + 634604320 + + + PMPS_GVL.MAX_APERTURES + Maximum # of power slits in the PMPS + 16 + UINT + + 4 + + + + TcVarGlobal + + + 634604336 + + + PMPS_GVL.DUMMY_AUX_ATT_ARRAY + 1024 + ST_PMPS_Attenuator + + 1 + 16 + + + + suppress_warning_0 + C0228 + + + TcVarGlobal + + + 634604352 + + + PMPS_GVL.g_cBoundaries + 16 + INT + + 31 + + + + TcVarGlobal + + + 634605376 + + + PMPS_PARAM.MAX_FAST_FAULTS + Max fast faults for an FFO + 16 + UINT + + 50 + + + + TcVarGlobal + + + 634605392 + + + PMPS_GVL.reVHyst + /////////////////////// /////////////////////// -//////////////////////////////////// ]]>32REAL5pytmc +//////////////////////////////////// + 32 + REAL + + 5 + + + + pytmc + pv: @(PREFIX)eVRangeHyst io: i archive: 1Hz monitor field: DESC eV Range hystersis field: EGU eV - TcVarGlobal634605408PMPS_GVL.g_areVBoundariesL1024REAL032[0]1000[1]1700[2]2100[3]2500[4]3800[5]4000[6]5000[7]7000[8]7500[9]7700[10]8900[11]10000[12]11100[13]12000[14]13000[15]13500[16]14000[17]16900[18]18000[19]20000[20]22000[21]24000[22]25000[23]25500[24]26000[25]27000[26]28000[27]28500[28]29000[29]30000[30]60000[31]90000pytmc + + + + TcVarGlobal + + + 634605408 + + + PMPS_GVL.g_areVBoundariesL + 1024 + REAL + + 0 + 32 + + + + [0] + 1000 + + + [1] + 1700 + + + [2] + 2100 + + + [3] + 2500 + + + [4] + 3800 + + + [5] + 4000 + + + [6] + 5000 + + + [7] + 7000 + + + [8] + 7500 + + + [9] + 7700 + + + [10] + 8900 + + + [11] + 10000 + + + [12] + 11100 + + + [13] + 12000 + + + [14] + 13000 + + + [15] + 13500 + + + [16] + 14000 + + + [17] + 16900 + + + [18] + 18000 + + + [19] + 20000 + + + [20] + 22000 + + + [21] + 24000 + + + [22] + 25000 + + + [23] + 25500 + + + [24] + 26000 + + + [25] + 27000 + + + [26] + 28000 + + + [27] + 28500 + + + [28] + 29000 + + + [29] + 30000 + + + [30] + 60000 + + + [31] + 90000 + + + + + pytmc + pv: @(PREFIX)L:eVRangeCnst io: i archive: 1Hz monitor field: DESC eV Range constants field: EGU eV - TcVarGlobal634605440PMPS_GVL.g_areVBoundariesK1024REAL032[0]100[1]250[2]270[3]350[4]400[5]450[6]480[7]530[8]680[9]730[10]850[11]1100[12]1150[13]1250[14]1450[15]1500[16]1550[17]1650[18]1700[19]1750[20]1820[21]1850[22]2000[23]2200[24]2500[25]2800[26]3000[27]3150[28]3500[29]4000[30]5300[31]7000pytmc + + + + TcVarGlobal + + + 634605440 + + + PMPS_GVL.g_areVBoundariesK + 1024 + REAL + + 0 + 32 + + + + [0] + 100 + + + [1] + 250 + + + [2] + 270 + + + [3] + 350 + + + [4] + 400 + + + [5] + 450 + + + [6] + 480 + + + [7] + 530 + + + [8] + 680 + + + [9] + 730 + + + [10] + 850 + + + [11] + 1100 + + + [12] + 1150 + + + [13] + 1250 + + + [14] + 1450 + + + [15] + 1500 + + + [16] + 1550 + + + [17] + 1650 + + + [18] + 1700 + + + [19] + 1750 + + + [20] + 1820 + + + [21] + 1850 + + + [22] + 2000 + + + [23] + 2200 + + + [24] + 2500 + + + [25] + 2800 + + + [26] + 3000 + + + [27] + 3150 + + + [28] + 3500 + + + [29] + 4000 + + + [30] + 5300 + + + [31] + 7000 + + + + + pytmc + pv: @(PREFIX)K:eVRangeCnst io: i archive: 1Hz monitor field: DESC eV Range constants field: EGU eV - TcVarGlobal634606464PMPS_PARAM.MAX_ASSERTIONS32UDINT20TcVarGlobal634607488PMPS_PARAM.TRANS_MARGIN32REAL0.05TcVarGlobal634607520PMPS_TOOLS.fbJson256FB_JsonSaxWriterTcVarGlobal634607552Global_Version.stLibVersion_Tc2_MC2288ST_LibVersion.iMajor3.iMinor3.iBuild48.iRevision0.nFlags1.sVersion3.3.48.0const_non_replacedTcVarGlobal634607808Global_Variables.TcMcGlobal6976_TCMCGLOBALTcVarGlobal634608096Global_Variables.DEFAULT_HOME_POSITION64LREAL1E+307TcVarGlobal634615104Global_Variables.DEFAULT_BACKLASHVALUE64LREAL1E+307TcVarGlobal634615168Global_Version.stLibVersion_Tc2_Math288ST_LibVersion.iMajor3.iMinor3.iBuild1.iRevision0.sVersion3.3.1.0const_non_replacedTcVarGlobal634615232Constants.bLittleEndian8BOOL1TcVarGlobal634649448Constants.bSimulationMode8BOOL0TcVarGlobal634649456Constants.bFPUSupport8BOOL1TcVarGlobal634649464Main.M121248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasJetX-EL7041]^STM Status^Status^Digital input 1; - .bLimitBackwardEnable:=TIIB[GasJetX-EL7041]^STM Status^Status^Digital input 2pytmc + + + + TcVarGlobal + + + 634606464 + + + PMPS_PARAM.MAX_ASSERTIONS + Maximum number of BP requests in the arbiter + 32 + UDINT + + 20 + + + + TcVarGlobal + + + 634607488 + + + PMPS_PARAM.TRANS_MARGIN + Allowed % margin above requested transmission level in SafeBPCompare (0.0500 = 5deci% default). Note: change this value if scaling factor changes. + 32 + REAL + + 0.05 + + + + TcVarGlobal + + + 634607520 + + + PMPS_TOOLS.fbJson + 256 + FB_JsonSaxWriter + + + TcVarGlobal + + + 634607552 + + + Global_Version.stLibVersion_Tc2_MC2 + 288 + ST_LibVersion + + + .iMajor + 3 + + + .iMinor + 3 + + + .iBuild + 48 + + + .iRevision + 0 + + + .nFlags + 1 + + + .sVersion + 3.3.48.0 + + + + + const_non_replaced + + + TcVarGlobal + + + 634607808 + + + Global_Variables.TcMcGlobal + 6976 + _TCMCGLOBAL + + + TcVarGlobal + + + 634608096 + + + Global_Variables.DEFAULT_HOME_POSITION + 64 + LREAL + + 1E+307 + + + + TcVarGlobal + + + 634615104 + + + Global_Variables.DEFAULT_BACKLASHVALUE + 64 + LREAL + + 1E+307 + + + + TcVarGlobal + + + 634615168 + + + Global_Version.stLibVersion_Tc2_Math + 288 + ST_LibVersion + + + .iMajor + 3 + + + .iMinor + 3 + + + .iBuild + 1 + + + .iRevision + 0 + + + .sVersion + 3.3.1.0 + + + + + const_non_replaced + + + TcVarGlobal + + + 634615232 + + + Constants.bLittleEndian + Does the target support an FPU + 8 + BOOL + + 1 + + + + TcVarGlobal + + + 634649448 + + + Constants.bSimulationMode + Does the target support an FPU + 8 + BOOL + + 0 + + + + TcVarGlobal + + + 634649456 + + + Constants.bFPUSupport + 8 + BOOL + + 1 + + + + TcVarGlobal + + + 634649464 + + + Main.M1 + Motors + 21248 + DUT_MotionStage + + + .bPowerSelf + 1 + + + .nEnableMode + 2 + + + .nHomingMode + 15 + + + + + TcLinkTo + .bLimitForwardEnable:=TIIB[GasJetX-EL7041]^STM Status^Status^Digital input 1; + .bLimitBackwardEnable:=TIIB[GasJetX-EL7041]^STM Status^Status^Digital input 2 + + + pytmc + pv: TMO:LAMP:MMS:01 - 634649472Main.M221248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasJetY-EL7041]^STM Status^Status^Digital input 2; - .bLimitBackwardEnable:=TIIB[GasJetY-EL7041]^STM Status^Status^Digital input 1pytmc + + + + 634649472 + + + Main.M2 + Gas Jet X + 21248 + DUT_MotionStage + + + .bPowerSelf + 1 + + + .nEnableMode + 2 + + + .nHomingMode + 15 + + + + + TcLinkTo + .bLimitForwardEnable:=TIIB[GasJetY-EL7041]^STM Status^Status^Digital input 2; + .bLimitBackwardEnable:=TIIB[GasJetY-EL7041]^STM Status^Status^Digital input 1 + + + pytmc + pv: TMO:LAMP:MMS:02 - 634670720Main.M321248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasJetZ-EL7041]^STM Status^Status^Digital input 1; - .bLimitBackwardEnable:=TIIB[GasJetZ-EL7041]^STM Status^Status^Digital input 2pytmc + + + + 634670720 + + + Main.M3 + Gas Jet Y + 21248 + DUT_MotionStage + + + .bPowerSelf + 1 + + + .nEnableMode + 2 + + + .nHomingMode + 15 + + + + + TcLinkTo + .bLimitForwardEnable:=TIIB[GasJetZ-EL7041]^STM Status^Status^Digital input 1; + .bLimitBackwardEnable:=TIIB[GasJetZ-EL7041]^STM Status^Status^Digital input 2 + + + pytmc + pv: TMO:LAMP:MMS:03 - 634691968Main.M421248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasNeedleX-EL7041]^STM Status^Status^Digital input 1; - .bLimitBackwardEnable:=TIIB[GasNeedleX-EL7041]^STM Status^Status^Digital input 2pytmc + + + + 634691968 + + + Main.M4 + Gas Jet Z + 21248 + DUT_MotionStage + + + .bPowerSelf + 1 + + + .nEnableMode + 2 + + + .nHomingMode + 15 + + + + + TcLinkTo + .bLimitForwardEnable:=TIIB[GasNeedleX-EL7041]^STM Status^Status^Digital input 1; + .bLimitBackwardEnable:=TIIB[GasNeedleX-EL7041]^STM Status^Status^Digital input 2 + + + pytmc + pv: TMO:LAMP:MMS:04 - 634713216Main.M521248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasNeedleY-EL7041]^STM Status^Status^Digital input 1; - .bLimitBackwardEnable:=TIIB[GasNeedleY-EL7041]^STM Status^Status^Digital input 2pytmc + + + + 634713216 + + + Main.M5 + Gas Needle X + 21248 + DUT_MotionStage + + + .bPowerSelf + 1 + + + .nEnableMode + 2 + + + .nHomingMode + 15 + + + + + TcLinkTo + .bLimitForwardEnable:=TIIB[GasNeedleY-EL7041]^STM Status^Status^Digital input 1; + .bLimitBackwardEnable:=TIIB[GasNeedleY-EL7041]^STM Status^Status^Digital input 2 + + + pytmc + pv: TMO:LAMP:MMS:05 - 634734464Main.M621248DUT_MotionStage.bPowerSelf1.nEnableMode2.nHomingMode15TcLinkTo.bLimitForwardEnable:=TIIB[GasNeedleZ-EL7041]^STM Status^Status^Digital input 2; - .bLimitBackwardEnable:=TIIB[GasNeedleZ-EL7041]^STM Status^Status^Digital input 1pytmc + + + + 634734464 + + + Main.M6 + Gas Needle Y + 21248 + DUT_MotionStage + + + .bPowerSelf + 1 + + + .nEnableMode + 2 + + + .nHomingMode + 15 + + + + + TcLinkTo + .bLimitForwardEnable:=TIIB[GasNeedleZ-EL7041]^STM Status^Status^Digital input 2; + .bLimitBackwardEnable:=TIIB[GasNeedleZ-EL7041]^STM Status^Status^Digital input 1 + + + pytmc + pv: TMO:LAMP:MMS:06 - 634755712Main.M721248DUT_MotionStage.bPowerSelf1TcLinkTo.bLimitForwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 1^Input; - .bLimitBackwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 2^Inputpytmc + + + + 634755712 + + + Main.M7 + Sample Paddle X + 21248 + DUT_MotionStage + + + .bPowerSelf + 1 + + + + + TcLinkTo + .bLimitForwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 1^Input; + .bLimitBackwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 2^Input + + + pytmc + pv: TMO:LAMP:MMS:07 - 634776960Main.M821248DUT_MotionStage.bPowerSelf1TcLinkTo.bLimitForwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 4^Input; - .bLimitBackwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 3^Inputpytmc + + + + 634776960 + + + Main.M8 + Sample Paddle Y + 21248 + DUT_MotionStage + + + .bPowerSelf + 1 + + + + + TcLinkTo + .bLimitForwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 4^Input; + .bLimitBackwardEnable:=TIIB[SamplePaddleXY-EL1084]^Channel 3^Input + + + pytmc + pv: TMO:LAMP:MMS:08 - 634798208Main.M921248DUT_MotionStage.bPowerSelf1TcLinkTo.bLimitForwardEnable:=TIIB[SamplePaddleZ-EL1084]^Channel 1^Input; - .bLimitBackwardEnable:=TIIB[SamplePaddleZ-EL1084]^Channel 2^Inputpytmc + + + + 634798208 + + + Main.M9 + Sample Paddle Z + 21248 + DUT_MotionStage + + + .bPowerSelf + 1 + + + + + TcLinkTo + .bLimitForwardEnable:=TIIB[SamplePaddleZ-EL1084]^Channel 1^Input; + .bLimitBackwardEnable:=TIIB[SamplePaddleZ-EL1084]^Channel 2^Input + + + pytmc + pv: TMO:LAMP:MMS:09 - 634819456Main.fbMotionStageM1299392FB_MotionStage634840704Main.fbMotionStageM2299392FB_MotionStage635140096Main.fbMotionStageM3299392FB_MotionStage635439488Main.fbMotionStageM4299392FB_MotionStage635738880Main.fbMotionStageM5299392FB_MotionStage636038272Main.fbMotionStageM6299392FB_MotionStage636337664Main.fbMotionStageM7299392FB_MotionStage636637056Main.fbMotionStageM8299392FB_MotionStage636936448Main.fbMotionStageM9299392FB_MotionStage637235840Constants.RuntimeVersion64VERSION.uiMajor3.uiMinor5.uiServicePack6.uiPatch0TcVarGlobal637535744Constants.CompilerVersion64VERSION.uiMajor3.uiMinor5.uiServicePack10.uiPatch100TcVarGlobal637535808Constants.nRegisterSize16WORD32TcVarGlobal637535872Constants.nPackMode16UINT8TcVarGlobal637535888Constants.RuntimeVersionNumeric32DWORD50660864TcVarGlobal637535904Constants.CompilerVersionNumeric32DWORD50661988TcVarGlobal637535936TwinCAT_SystemInfoVarList._AppInfo2048PlcAppSystemInfono_initTcVarGlobal637535968TwinCAT_SystemInfoVarList._TaskPouOid_PlcTask32OTCIDno_initTcVarGlobal637538016TwinCAT_SystemInfoVarList._TaskInfo1024PlcTaskSystemInfo11no_initTcVarGlobal637538048TwinCAT_SystemInfoVarList._TaskOid_PlcTask32OTCIDno_initTcVarGlobal637539072TwinCAT_SystemInfoVarList.__PlcTask704_Implicit_Task_Info.dwVersion2TcContextNamePlcTaskTcVarGlobal637539104TC_EVENTS.LCLSGeneralEventClass960ST_LCLSGeneralEventClasstc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228TcVarGlobal6375707844PlcTask Retains080281600PMPS_GVL.SuccessfulPreemption32UDINTpytmc + + + + 634819456 + + + Main.fbMotionStageM1 + 299392 + FB_MotionStage + 634840704 + + + Main.fbMotionStageM2 + 299392 + FB_MotionStage + 635140096 + + + Main.fbMotionStageM3 + 299392 + FB_MotionStage + 635439488 + + + Main.fbMotionStageM4 + 299392 + FB_MotionStage + 635738880 + + + Main.fbMotionStageM5 + 299392 + FB_MotionStage + 636038272 + + + Main.fbMotionStageM6 + 299392 + FB_MotionStage + 636337664 + + + Main.fbMotionStageM7 + 299392 + FB_MotionStage + 636637056 + + + Main.fbMotionStageM8 + 299392 + FB_MotionStage + 636936448 + + + Main.fbMotionStageM9 + 299392 + FB_MotionStage + 637235840 + + + Constants.RuntimeVersion + Does the target support an FPU + 64 + VERSION + + + .uiMajor + 3 + + + .uiMinor + 5 + + + .uiServicePack + 6 + + + .uiPatch + 0 + + + + + TcVarGlobal + + + 637535744 + + + Constants.CompilerVersion + Does the target support an FPU + 64 + VERSION + + + .uiMajor + 3 + + + .uiMinor + 5 + + + .uiServicePack + 10 + + + .uiPatch + 100 + + + + + TcVarGlobal + + + 637535808 + + + Constants.nRegisterSize + Does the target support an FPU + 16 + WORD + + 32 + + + + TcVarGlobal + + + 637535872 + + + Constants.nPackMode + Does the target support an FPU + 16 + UINT + + 8 + + + + TcVarGlobal + + + 637535888 + + + Constants.RuntimeVersionNumeric + 32 + DWORD + + 50660864 + + + + TcVarGlobal + + + 637535904 + + + Constants.CompilerVersionNumeric + 32 + DWORD + + 50661988 + + + + TcVarGlobal + + + 637535936 + + + TwinCAT_SystemInfoVarList._AppInfo + 2048 + PlcAppSystemInfo + + + no_init + + + TcVarGlobal + + + 637535968 + + + TwinCAT_SystemInfoVarList._TaskPouOid_PlcTask + 32 + OTCID + + + no_init + + + TcVarGlobal + + + 637538016 + + + TwinCAT_SystemInfoVarList._TaskInfo + 1024 + PlcTaskSystemInfo + + 1 + 1 + + + + no_init + + + TcVarGlobal + + + 637538048 + + + TwinCAT_SystemInfoVarList._TaskOid_PlcTask + 32 + OTCID + + + no_init + + + TcVarGlobal + + + 637539072 + + + TwinCAT_SystemInfoVarList.__PlcTask + 704 + _Implicit_Task_Info + + + .dwVersion + 2 + + + + + TcContextName + PlcTask + + + TcVarGlobal + + + 637539104 + + + TC_EVENTS.LCLSGeneralEventClass + ST_LCLSGeneralEventClass + 960 + ST_LCLSGeneralEventClass + + + tc_no_symbol + unused + + + const_non_replaced + + + suppress_warning_0 + C0228 + + + TcVarGlobal + + + 637570784 + + + + 4 + PlcTask Retains + 0 + 80281600 + + PMPS_GVL.SuccessfulPreemption + Any time BPTM applies a new BP request which is confirmed + 32 + UDINT + + + pytmc + pv: @(PREFIX)SuccessfulPreemptions io: i - TcVarGlobal3072000PMPS_GVL.AccumulatedFF32UDINTpytmc + + + + TcVarGlobal + + + 3072000 + + + PMPS_GVL.AccumulatedFF + Any time a FF occurs + 32 + UDINT + + + pytmc + pv: @(PREFIX)AccumulatedFastFaults io: i - TcVarGlobal3072032PMPS_GVL.BP_jsonDoc32SJsonValueTcVarGlobal3072064LCLSGeneralEventClassApplicationNamePort_851ChangeDate2023-07-26T10:48:22GeneratedCodeSize495616GlobalDataSize79245312 \ No newline at end of file + + + + TcVarGlobal + + + 3072032 + + + PMPS_GVL.BP_jsonDoc + 32 + SJsonValue + + + TcVarGlobal + + + 3072064 + + + + + + + LCLSGeneralEventClass + + + + + ApplicationName + Port_851 + + + ChangeDate + 2023-07-27T09:32:28 + + + GeneratedCodeSize + 495616 + + + GlobalDataSize + 79245312 + + + + +