From 93c40f44182e6f57089fc72fe0fb2f9f3a219960 Mon Sep 17 00:00:00 2001 From: Janez Govednik Date: Fri, 24 May 2024 14:12:18 -0700 Subject: [PATCH] FB to support IE514 GHC connected to IM40 controller --- L2SIVacuum/L2SIVacuum.plcproj | 3 + L2SIVacuum/L2SIVacuum.tmc | 28 +- .../POUs/Functions/Gauges/FB_IE514.TcPOU | 445 ++++++++++++++++++ 3 files changed, 462 insertions(+), 14 deletions(-) create mode 100644 L2SIVacuum/POUs/Functions/Gauges/FB_IE514.TcPOU diff --git a/L2SIVacuum/L2SIVacuum.plcproj b/L2SIVacuum/L2SIVacuum.plcproj index 439181d..0cea671 100644 --- a/L2SIVacuum/L2SIVacuum.plcproj +++ b/L2SIVacuum/L2SIVacuum.plcproj @@ -216,6 +216,9 @@ Code true + + Code + Code diff --git a/L2SIVacuum/L2SIVacuum.tmc b/L2SIVacuum/L2SIVacuum.tmc index 9fb9037..34f6267 100644 --- a/L2SIVacuum/L2SIVacuum.tmc +++ b/L2SIVacuum/L2SIVacuum.tmc @@ -1,4 +1,4 @@ -ST_System40xSwAlmRstBOOL80xAtVacuumBOOL88xFirstScanBOOL816xOverrideModeBOOL824xIOStateBOOL832analysis-33T_MaxString2048STRING(255)TcEventSeverity16INT01234plcAttribute_qualified_onlyplcAttribute_strictE_Subsystem16WORDNILVALUE0VACUUM1MPS2MOTION3FIELDBUS4SDS5OPTICS6I_ArgumentsChangeListener64PVOIDOnArgumentsChangedITcAsyncResult32ITcUnknownGetIsBusyHRESULT32bIsBusyBOOL3232GetHasErrorHRESULT32bErrorBOOL3232GetErrorCodeHRESULT32hresultHRESULT32FB_AsyncStrResult128bBusyBOOL865879056bErrorBOOL865879128hrErrorCodeHRESULT3265879144nStringSizeUDINT3265879104sResultSTRING(255)204865879136__getbBusyBOOL8bBusyBOOL8b32IsBusyBOOL3232propertymonitoringcallInitipResultITcAsyncStringResult64conditionalshowGetStringBOOL8sResultSTRING(80)64nResultUDINT32__getnStringSizeUDINT32nStringSizeUDINT32pEmptySTRING(80)64propertymonitoringcallClear__getbErrorBOOL8bErrorBOOL8b32HasErrorBOOL3232propertymonitoringcall__getsResultSTRING(255)2048sResultSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__gethrErrorCodeHRESULT32hrErrorCodeHRESULT32hrErrorHRESULT32propertymonitoringcallPouTypeFunctionBlockenable_dynamic_creationconditionalshow_all_localsno_explicit_calldo not call this POU directlyTcSourceInfoType32UDINT0124plcAttribute_qualified_onlyplcAttribute_strictTcSerializedSourceInfoType96eTypeTcSourceInfoType320obDataUDINT3232cbDataUDINT3264ITcSourceInfo32ITcUnknownGetNumTypesHRESULT32nCountUDINT32GetTypesHRESULT32ppSourceInfoTypesTcSerializedSourceInfoType32GetDataSizeHRESULT32cbDataUDINT32GetDataHRESULT32ppDataPVOID32ITcEvent32ITcUnknownGetEventClassHRESULT32eventClassGUID32GetEventIdHRESULT32eventIdUDINT32GetSeverityHRESULT32severityTcEventSeverity32GetSourceInfoHRESULT32pipSourceInfoITcSourceInfo32GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32nJsonAttributeUDINT32GetTextHRESULT32nLangIdDINT32pipResultITcAsyncStringResult32GetEventClassNameHRESULT32nLangIdDINT32pipResultITcAsyncStringResult32I_TcSourceInfo64PVOID__getguidGUID128property__getipDataITcSourceInfo64propertyconditionalshow__getnIdUDINT32propertymonitoringcall__getsNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8EqualsToBOOL8ipOtherI_TcSourceInfo64TcEventEntry192uuidEventClassGUID1280nEventIdUDINT32128eSeverityTcEventSeverity16160I_TcEventBase64PVOID__geteSeverityTcEventSeverity16propertymonitoringcall__getEventClassGUID128property__getipSourceInfoI_TcSourceInfo64propertymonitoringcall__getnEventIdUDINT32propertymonitoringcall__getsEventClassNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getsEventTextSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getstEventEntryTcEventEntry192propertyEqualsToBOOL8ipOtherI_TcEventBase64EqualsToEventClassBOOL8OtherEventClassGUID128EqualsToEventEntryBOOL8OtherEventClassGUID128nOtherEventIDUDINT32eOtherSeverityTcEventSeverity16EqualsToEventEntryExBOOL8stOtherTcEventEntry192GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)64nJsonAttributeUDINT32RequestEventClassNameBOOL8nLangIdDINT32sResultSTRING(80)64nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputRequestEventTextBOOL8nLangIdDINT32sResultSTRING(80)64nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputIQueryInterface64PVOID__GetInterfacePointerBOOL8pRefDWORD64__GetInterfaceReferenceBOOL8nInterfaceIdDINT32pRefDWORD64TcEventArgumentType16INT012345678910111213141516171819plcAttribute_qualified_onlyplcAttribute_strictITcArguments32ITcUnknownCountHRESULT32nCountUDINT32AddArgumentHRESULT32eTypeTcEventArgumentType16pDataPVOID32cbDataUDINT32GetHRESULT32nIndexUDINT32eTypeTcEventArgumentType32ppDataPVOID32ClearHRESULT32GetArgumentTypesHRESULT32pArgumentTypesTcEventArgumentType32GetDataSizeHRESULT32cbDataUDINT32GetDataHRESULT32pDataBYTE32I_TcArguments64IQueryInterface__getipDataITcArguments64propertyconditionalshow__getnCountUDINT32propertyAddBlobI_TcArguments64pDataPVOID64cbDataUINT16AddBoolI_TcArguments64valueBOOL8AddByteI_TcArguments64valueBYTE8AddDIntI_TcArguments64valueDINT32AddDWordI_TcArguments64valueDWORD32AddEventReferenceExI_TcArguments64stEventEntryTcEventEntry192AddEventReferenceIdI_TcArguments64nEventIdUDINT32AddEventReferenceIdGuidI_TcArguments64nEventIdUDINT32EventClassGUID128AddIntI_TcArguments64valueINT16AddLIntI_TcArguments64valueLINT64AddLRealI_TcArguments64valueLREAL64AddRealI_TcArguments64valueREAL32AddSIntI_TcArguments64valueSINT8AddStringI_TcArguments64valueSTRING(80)64ItemTypeInOutAddStringByValueI_TcArguments64valueT_MaxString2048AddUDIntI_TcArguments64valueUDINT32AddUIntI_TcArguments64valueUINT16AddULIntI_TcArguments64valueULINT64AddUSIntI_TcArguments64valueUSINT8AddUtf8EncodedStringI_TcArguments64valueSTRING(80)64ItemTypeInOutAddWordI_TcArguments64valueWORD16AddWStringI_TcArguments64valueWSTRING(80)64ItemTypeInOutAddWStringByValueI_TcArguments64valueWSTRING(255)4096ClearI_TcArguments64ITcEventUniqueIdProvider32ITcUnknownGetUniqueIdHRESULT32idUDINT32FB_TcSourceInfo3008I_TcSourceInfonIdUDINT326587893665878984sNameSTRING(255)20486587901665879040ExtendNameBOOL8sExtensionSTRING(255)2048__getipDataITcSourceInfo64ipDataITcSourceInfo64propertyconditionalshow__getnIdUDINT32nIdUDINT32propertymonitoringcallResetToDefaultHRESULT32Clear__setnIdnIdUDINT32monitoringcallpropertymonitoringcall__setguidguidGUID128propertyEqualsToBOOL8ipOtherI_TcSourceInfo64__getguidGUID128guidGUID128property__getsNameSTRING(255)2048sNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__setsNamesNameSTRING(255)2048monitoringcallTcEncodingUTF-8propertymonitoringcallTcEncodingUTF-8PouTypeFunctionBlockno_explicit_calldo not call this POU directlyFB_TcEventBase4096I_ArgumentsChangeListenerfbSourceInfoFB_TcSourceInfo3008512conditionalshow__REQUESTEVENTCLASSNAME__FBRESULTFB_AsyncStrResult1283712conditionalshow__REQUESTEVENTCLASSNAME__BBUSYBOOL83840conditionalshow__REQUESTEVENTTEXT__FBRESULTFB_AsyncStrResult1283904conditionalshow__REQUESTEVENTTEXT__BBUSYBOOL84032conditionalshoweSeverityTcEventSeverity1665879240ipSourceInfoI_TcSourceInfo6465879200nEventIdUDINT3265879376nUniqueIdUDINT3265879384sEventClassNameSTRING(255)204865879296sEventTextSTRING(255)204865879392EqualsToEventClassBOOL8OtherEventClassGUID128_EventClassGUID128GetEventClassNameHRESULT32nLangIdDINT32fbResultFB_AsyncStrResult64ItemTypeInOutipTmpEventITcEvent64ipResultITcAsyncStringResult64hrHRESULT32ReleaseHRESULT32UpdateLangId__getipSourceInfoI_TcSourceInfo64ipSourceInfoI_TcSourceInfo64propertymonitoringcallEqualsToBOOL8ipOtherI_TcEventBase64__getipEventITcEvent64ipEventITcEvent64propertyconditionalshow__getEventClassGUID128EventClassGUID128ipTmpEventITcEvent64property__geteSeverityTcEventSeverity16eSeverityTcEventSeverity16ipTmpEventITcEvent64propertymonitoringcall__getstEventEntryTcEventEntry192stEventEntryTcEventEntry192propertyOnCreateHRESULT32EqualsToEventEntryBOOL8OtherEventClassGUID128nOtherEventIDUDINT32eOtherSeverityTcEventSeverity16RequestEventTextBOOL8nLangIdDINT32sResultSTRING(80)64nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputfbResultFB_AsyncStrResult128uselocation__REQUESTEVENTTEXT__FBRESULTbBusyBOOL8uselocation__REQUESTEVENTTEXT__BBUSYOnArgumentsChanged__getsEventClassNameSTRING(255)2048sEventClassNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getipArgumentsI_TcArguments64ipArgumentsI_TcArguments64propertyGetEventTextHRESULT32nLangIdDINT32fbResultFB_AsyncStrResult64ItemTypeInOutipTmpEventITcEvent64ipResultITcAsyncStringResult64hrHRESULT32GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)64nJsonAttributeUDINT32ipTmpEventITcEvent64RequestEventClassNameBOOL8nLangIdDINT32sResultSTRING(80)64nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputfbResultFB_AsyncStrResult128uselocation__REQUESTEVENTCLASSNAME__FBRESULTbBusyBOOL8uselocation__REQUESTEVENTCLASSNAME__BBUSYEqualsToEventEntryExBOOL8stOtherTcEventEntry192__getnEventIdUDINT32nEventIdUDINT32ipTmpEventITcEvent64propertymonitoringcall__getnUniqueIdUDINT32nUniqueIdUDINT32ipTmpEventITcEvent64ipProviderITcEventUniqueIdProvider64propertymonitoringcall__getsEventTextSTRING(255)2048sEventTextSTRING(255)2048propertymonitoringcallTcEncodingUTF-8PouTypeFunctionBlockconditionalshow_all_localsno_explicit_calldo not call this POU directlyI_TcMessage64I_TcEventBaseSendHRESULT32nTimeStampULINT64ITcMessage32ITcEventSetJsonAttributeHRESULT32sJsonAttributePCCH32GetArgumentsHRESULT32pipArgumentsITcArguments32SendHRESULT32timeStampULINT64ITcMessage232ITcMessageGetTimeSentHRESULT32timeStampULINT32FB_TcMessage4224FB_TcEventBaseI_TcMessagenTimeSentULINT6465879440SetJsonAttributeHRESULT32sJsonAttributeSTRING(80)64ItemTypeInOutCreateExHRESULT32stEventEntryTcEventEntry192ipSourceInfoI_TcSourceInfo64InitipMessageITcMessage64ipArgumentsITcArguments64ipSourceInfoITcSourceInfo64conditionalshow__getnTimeSentULINT64nTimeSentULINT64ipMessage2ITcMessage264nTimeStampULINT64propertymonitoringcallTcDisplayTypeGUID18071995-0000-0000-0000-000000000046CreateHRESULT32eventClassGUID128nEventIdUDINT32eSeverityTcEventSeverity16ipSourceInfoI_TcSourceInfo64hrHRESULT32ipArgumentsITcArguments64__getipEventITcEvent64ipEventITcEvent64propertyconditionalshowSendHRESULT32nTimeStampULINT64ReleaseHRESULT32PouTypeFunctionBlockreflectionconditionalshow_all_localsno_explicit_calldo not call this POU directlyF_TRIGST_System40xSwAlmRstBOOL80xAtVacuumBOOL88xFirstScanBOOL816xOverrideModeBOOL824xIOStateBOOL832analysis-33T_MaxString2048STRING(255)TcEventSeverity16INT01234plcAttribute_qualified_onlyplcAttribute_strictE_Subsystem16WORDNILVALUE0VACUUM1MPS2MOTION3FIELDBUS4SDS5OPTICS6I_ArgumentsChangeListener64PVOIDOnArgumentsChangedITcAsyncResult32ITcUnknownGetIsBusyHRESULT32bIsBusyBOOL3232GetHasErrorHRESULT32bErrorBOOL3232GetErrorCodeHRESULT32hresultHRESULT32FB_AsyncStrResult128bBusyBOOL865879312bErrorBOOL865879384hrErrorCodeHRESULT3265879400nStringSizeUDINT3265879360sResultSTRING(255)204865879392__getbBusyBOOL8bBusyBOOL8b32IsBusyBOOL3232propertymonitoringcallInitipResultITcAsyncStringResult64conditionalshowGetStringBOOL8sResultSTRING(80)64nResultUDINT32__getnStringSizeUDINT32nStringSizeUDINT32pEmptySTRING(80)64propertymonitoringcallClear__getbErrorBOOL8bErrorBOOL8b32HasErrorBOOL3232propertymonitoringcall__getsResultSTRING(255)2048sResultSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__gethrErrorCodeHRESULT32hrErrorCodeHRESULT32hrErrorHRESULT32propertymonitoringcallPouTypeFunctionBlockenable_dynamic_creationconditionalshow_all_localsno_explicit_calldo not call this POU directlyTcSourceInfoType32UDINT0124plcAttribute_qualified_onlyplcAttribute_strictTcSerializedSourceInfoType96eTypeTcSourceInfoType320obDataUDINT3232cbDataUDINT3264ITcSourceInfo32ITcUnknownGetNumTypesHRESULT32nCountUDINT32GetTypesHRESULT32ppSourceInfoTypesTcSerializedSourceInfoType32GetDataSizeHRESULT32cbDataUDINT32GetDataHRESULT32ppDataPVOID32ITcEvent32ITcUnknownGetEventClassHRESULT32eventClassGUID32GetEventIdHRESULT32eventIdUDINT32GetSeverityHRESULT32severityTcEventSeverity32GetSourceInfoHRESULT32pipSourceInfoITcSourceInfo32GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)32nJsonAttributeUDINT32GetTextHRESULT32nLangIdDINT32pipResultITcAsyncStringResult32GetEventClassNameHRESULT32nLangIdDINT32pipResultITcAsyncStringResult32I_TcSourceInfo64PVOID__getguidGUID128property__getipDataITcSourceInfo64propertyconditionalshow__getnIdUDINT32propertymonitoringcall__getsNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8EqualsToBOOL8ipOtherI_TcSourceInfo64TcEventEntry192uuidEventClassGUID1280nEventIdUDINT32128eSeverityTcEventSeverity16160I_TcEventBase64PVOID__geteSeverityTcEventSeverity16propertymonitoringcall__getEventClassGUID128property__getipSourceInfoI_TcSourceInfo64propertymonitoringcall__getnEventIdUDINT32propertymonitoringcall__getsEventClassNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getsEventTextSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getstEventEntryTcEventEntry192propertyEqualsToBOOL8ipOtherI_TcEventBase64EqualsToEventClassBOOL8OtherEventClassGUID128EqualsToEventEntryBOOL8OtherEventClassGUID128nOtherEventIDUDINT32eOtherSeverityTcEventSeverity16EqualsToEventEntryExBOOL8stOtherTcEventEntry192GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)64nJsonAttributeUDINT32RequestEventClassNameBOOL8nLangIdDINT32sResultSTRING(80)64nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputRequestEventTextBOOL8nLangIdDINT32sResultSTRING(80)64nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputIQueryInterface64PVOID__GetInterfacePointerBOOL8pRefDWORD64__GetInterfaceReferenceBOOL8nInterfaceIdDINT32pRefDWORD64TcEventArgumentType16INT012345678910111213141516171819plcAttribute_qualified_onlyplcAttribute_strictITcArguments32ITcUnknownCountHRESULT32nCountUDINT32AddArgumentHRESULT32eTypeTcEventArgumentType16pDataPVOID32cbDataUDINT32GetHRESULT32nIndexUDINT32eTypeTcEventArgumentType32ppDataPVOID32ClearHRESULT32GetArgumentTypesHRESULT32pArgumentTypesTcEventArgumentType32GetDataSizeHRESULT32cbDataUDINT32GetDataHRESULT32pDataBYTE32I_TcArguments64IQueryInterface__getipDataITcArguments64propertyconditionalshow__getnCountUDINT32propertyAddBlobI_TcArguments64pDataPVOID64cbDataUINT16AddBoolI_TcArguments64valueBOOL8AddByteI_TcArguments64valueBYTE8AddDIntI_TcArguments64valueDINT32AddDWordI_TcArguments64valueDWORD32AddEventReferenceExI_TcArguments64stEventEntryTcEventEntry192AddEventReferenceIdI_TcArguments64nEventIdUDINT32AddEventReferenceIdGuidI_TcArguments64nEventIdUDINT32EventClassGUID128AddIntI_TcArguments64valueINT16AddLIntI_TcArguments64valueLINT64AddLRealI_TcArguments64valueLREAL64AddRealI_TcArguments64valueREAL32AddSIntI_TcArguments64valueSINT8AddStringI_TcArguments64valueSTRING(80)64ItemTypeInOutAddStringByValueI_TcArguments64valueT_MaxString2048AddUDIntI_TcArguments64valueUDINT32AddUIntI_TcArguments64valueUINT16AddULIntI_TcArguments64valueULINT64AddUSIntI_TcArguments64valueUSINT8AddUtf8EncodedStringI_TcArguments64valueSTRING(80)64ItemTypeInOutAddWordI_TcArguments64valueWORD16AddWStringI_TcArguments64valueWSTRING(80)64ItemTypeInOutAddWStringByValueI_TcArguments64valueWSTRING(255)4096ClearI_TcArguments64ITcEventUniqueIdProvider32ITcUnknownGetUniqueIdHRESULT32idUDINT32FB_TcSourceInfo3008I_TcSourceInfonIdUDINT326587919265879240sNameSTRING(255)20486587927265879296ExtendNameBOOL8sExtensionSTRING(255)2048__getipDataITcSourceInfo64ipDataITcSourceInfo64propertyconditionalshow__getnIdUDINT32nIdUDINT32propertymonitoringcallResetToDefaultHRESULT32Clear__setnIdnIdUDINT32monitoringcallpropertymonitoringcall__setguidguidGUID128propertyEqualsToBOOL8ipOtherI_TcSourceInfo64__getguidGUID128guidGUID128property__getsNameSTRING(255)2048sNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__setsNamesNameSTRING(255)2048monitoringcallTcEncodingUTF-8propertymonitoringcallTcEncodingUTF-8PouTypeFunctionBlockno_explicit_calldo not call this POU directlyFB_TcEventBase4096I_ArgumentsChangeListenerfbSourceInfoFB_TcSourceInfo3008512conditionalshow__REQUESTEVENTCLASSNAME__FBRESULTFB_AsyncStrResult1283712conditionalshow__REQUESTEVENTCLASSNAME__BBUSYBOOL83840conditionalshow__REQUESTEVENTTEXT__FBRESULTFB_AsyncStrResult1283904conditionalshow__REQUESTEVENTTEXT__BBUSYBOOL84032conditionalshoweSeverityTcEventSeverity1665879496ipSourceInfoI_TcSourceInfo6465879456nEventIdUDINT3265879632nUniqueIdUDINT3265879640sEventClassNameSTRING(255)204865879552sEventTextSTRING(255)204865879648EqualsToEventClassBOOL8OtherEventClassGUID128_EventClassGUID128GetEventClassNameHRESULT32nLangIdDINT32fbResultFB_AsyncStrResult64ItemTypeInOutipTmpEventITcEvent64ipResultITcAsyncStringResult64hrHRESULT32ReleaseHRESULT32UpdateLangId__getipSourceInfoI_TcSourceInfo64ipSourceInfoI_TcSourceInfo64propertymonitoringcallEqualsToBOOL8ipOtherI_TcEventBase64__getipEventITcEvent64ipEventITcEvent64propertyconditionalshow__getEventClassGUID128EventClassGUID128ipTmpEventITcEvent64property__geteSeverityTcEventSeverity16eSeverityTcEventSeverity16ipTmpEventITcEvent64propertymonitoringcall__getstEventEntryTcEventEntry192stEventEntryTcEventEntry192propertyOnCreateHRESULT32EqualsToEventEntryBOOL8OtherEventClassGUID128nOtherEventIDUDINT32eOtherSeverityTcEventSeverity16RequestEventTextBOOL8nLangIdDINT32sResultSTRING(80)64nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputfbResultFB_AsyncStrResult128uselocation__REQUESTEVENTTEXT__FBRESULTbBusyBOOL8uselocation__REQUESTEVENTTEXT__BBUSYOnArgumentsChanged__getsEventClassNameSTRING(255)2048sEventClassNameSTRING(255)2048propertymonitoringcallTcEncodingUTF-8__getipArgumentsI_TcArguments64ipArgumentsI_TcArguments64propertyGetEventTextHRESULT32nLangIdDINT32fbResultFB_AsyncStrResult64ItemTypeInOutipTmpEventITcEvent64ipResultITcAsyncStringResult64hrHRESULT32GetJsonAttributeHRESULT32sJsonAttributeSTRING(80)64nJsonAttributeUDINT32ipTmpEventITcEvent64RequestEventClassNameBOOL8nLangIdDINT32sResultSTRING(80)64nResultSizeUDINT32bErrorBOOL8ItemTypeOutputhrErrorCodeHRESULT32ItemTypeOutputfbResultFB_AsyncStrResult128uselocation__REQUESTEVENTCLASSNAME__FBRESULTbBusyBOOL8uselocation__REQUESTEVENTCLASSNAME__BBUSYEqualsToEventEntryExBOOL8stOtherTcEventEntry192__getnEventIdUDINT32nEventIdUDINT32ipTmpEventITcEvent64propertymonitoringcall__getnUniqueIdUDINT32nUniqueIdUDINT32ipTmpEventITcEvent64ipProviderITcEventUniqueIdProvider64propertymonitoringcall__getsEventTextSTRING(255)2048sEventTextSTRING(255)2048propertymonitoringcallTcEncodingUTF-8PouTypeFunctionBlockconditionalshow_all_localsno_explicit_calldo not call this POU directlyI_TcMessage64I_TcEventBaseSendHRESULT32nTimeStampULINT64ITcMessage32ITcEventSetJsonAttributeHRESULT32sJsonAttributePCCH32GetArgumentsHRESULT32pipArgumentsITcArguments32SendHRESULT32timeStampULINT64ITcMessage232ITcMessageGetTimeSentHRESULT32timeStampULINT32FB_TcMessage4224FB_TcEventBaseI_TcMessagenTimeSentULINT6465879696SetJsonAttributeHRESULT32sJsonAttributeSTRING(80)64ItemTypeInOutCreateExHRESULT32stEventEntryTcEventEntry192ipSourceInfoI_TcSourceInfo64InitipMessageITcMessage64ipArgumentsITcArguments64ipSourceInfoITcSourceInfo64conditionalshow__getnTimeSentULINT64nTimeSentULINT64ipMessage2ITcMessage264nTimeStampULINT64propertymonitoringcallTcDisplayTypeGUID18071995-0000-0000-0000-000000000046CreateHRESULT32eventClassGUID128nEventIdUDINT32eSeverityTcEventSeverity16ipSourceInfoI_TcSourceInfo64hrHRESULT32ipArgumentsITcArguments64__getipEventITcEvent64ipEventITcEvent64propertyconditionalshowSendHRESULT32nTimeStampULINT64ReleaseHRESULT32PouTypeFunctionBlockreflectionconditionalshow_all_localsno_explicit_calldo not call this POU directlyF_TRIG96CLKBOOL864ItemTypeInputQBOOL872ItemTypeOutputMBOOL8801conditionalshowPouTypeFunctionBlockconditionalshow_all_localsR_TRIGrVREAL3291072i_iPRESS_RINT1691104TcAddressTypeInputrMinPressureREAL32911360.0001rDefaultVAC_SPREAL32911680.05rDisconnectedBoundaryREAL32912000.1rValidLoBoundaryREAL32912320.22rValidBoundaryMinREAL32912640.6rValidHiBoundaryREAL32912969.7rValidHiBoundaryMaxREAL32913289.9rNoSensorBoundaryREAL329136010ACT_PersistentACT_LoggerIOPouTypeFunctionBlockFB_GPI_Test33741632FB_TestSuitefb_MKS275FB_MKS2759139233558784fb_MKS317FB_MKS3179139233650176i_iPRESS_RINT1633741568TcAddressTypeOutputcycleINT16337415840M_INITExpectedREAL32ActualREAL32eStateExpectedE_PressureState16eStateActualE_PressureState16M_CheckRangeExpectedREAL32ActualREAL32eStateExpectedE_PressureState16eStateActualE_PressureState16PouTypeFunctionBlockFB_MKS42292800FB_GaugeBasePGST_VG105689984ItemTypeInputb937ABOOL8910400ItemTypeInputtRecoverDelayTIME3291072600000ItemTypeInputIGST_VG105691104ItemTypeOutputpytmc pv: - rVREAL3292160timerTON25692224i_iPRESS_RINT1692480TcAddressTypeInputq_xHV_DISBOOL8924961TcAddressTypeOutputMinPressureREAL32925121E-11vDisconnectedREAL32925440.18vMaxValidREAL32925769.6vMaxREAL32926089.9vValidLoREAL32926400.22vMinREAL32926720.6cDefaultPressureREAL32927040bWasOnBOOL892736TcPersistentbAutoRecoverBOOL892744TcPersistentbAutoRecoverWriteBOOL892752TcPersistentACT_LoggerIOACT_RecoverACT_PersistentM_HVEBOOL8enableBOOL8M_RecoverBOOL8M_AutoOnBOOL8PouTypeFunctionBlockFB_GCC_Test33652736FB_TestSuitePGST_VG105633558784fb_MKS422FB_MKS4229280033559872i_iPRESS_RINT1633652672TcAddressTypeOutputcycleINT16336526880M_InterlockM_SelfProtectionM_INITM_CheckRangeExpectedREAL32ActualREAL32eStateExpectedE_PressureState16eStateActualE_PressureState16PouTypeFunctionBlockVERSION64uiMajorUINT160uiMinorUINT1616uiServicePackUINT1632uiPatchUINT1648PlcAppSystemInfo2048ObjIdOTCID320TaskCntUDINT3232OnlineChangeCntUDINT3264FlagsDWORD3296AdsPortUINT16128BootDataLoadedBOOL8144OldBootDataBOOL8152AppTimestampDT32160KeepOutputsOnBPBOOL8192ShutdownInProgressBOOL8200LicensesPendingBOOL8208BSODOccuredBOOL8216LoggedInBOOL8224TComSrvPtrITComObjectServer32256TcComInterfaceAppNameSTRING(63)512512ProjectNameSTRING(63)5121024_Implicit_KindOfTask16INT_implicit_cyclic0_implicit_event1_implicit_external2_implicit_freewheeling3_Implicit_Jitter_Distribution48wRangeMaxWORD160wCountJitterNegWORD1616wCountJitterPosWORD1632hide_Implicit_Task_Info896dwVersionDWORD320pszNameSTRING(80)6464nPriorityINT16128KindOf_Implicit_KindOfTask16144bWatchdogBOOL8160bProfilingTaskBOOL8168dwEventFunctionPointerBYTE64192pszExternalEventSTRING(80)64256dwTaskEntryFunctionPointerBYTE64320dwWatchdogSensitivityDWORD32384dwIntervalDWORD32416dwWatchdogTimeDWORD32448dwLastCycleTimeDWORD32480dwAverageCycleTimeDWORD32512dwMaxCycleTimeDWORD32544dwMinCycleTimeDWORD32576diJitterDINT32608diJitterMinDINT32640diJitterMaxDINT32672dwCycleCountDWORD32704wTaskStatusWORD16736wNumOfJitterDistributionsWORD16752pJitterDistribution_Implicit_Jitter_Distribution64768bWithinSPSTimeSlicingBOOL8832byDummyBYTE8840bShouldBlockBOOL8848bActiveBOOL8856dwIECCycleCountDWORD32864hideLCLSGeneralEventClassCriticalCriticalErrorErrorWarningWarningInfoInfoVerboseVerboseL2SIVacuum{08500001-0000-0000-F000-000000000064}0PlcTask#x020100300PlcTask Inputs066650112PRG_Test.fb_VGC_Test.VGC.i_xOpnLS8BOOLTcAddressTypeInput357830208PRG_Test.fb_VGC_Test.VGC.i_xClsLS8BOOLTcAddressTypeInput357830216PRG_Test.fb_VRC_Test.VRC.i_xOpnLS8BOOLTcAddressTypeInput392001280PRG_Test.fb_VRC_Test.VRC.i_xClsLS8BOOLTcAddressTypeInput392001288PRG_Test.fb_PIP_Test.fb_PIP_GAMMA.i_iPRESS16INTTcAddressTypeInput425652304PRG_Test.fb_PIP_Test.fb_PIP_GAMMA.i_xSP_DI8BOOLTcAddressTypeInput425652320PRG_Test.fb_PTM_Test.fb_TwisTorr.i_xAtSpd8BOOLTcAddressTypeInput459303080PRG_Test.fb_PTM_Test.fb_TwisTorr.i_xFault8BOOLTcAddressTypeInput459303088PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_xDecel8BOOLTcAddressTypeInput459391360PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_xAccel8BOOLTcAddressTypeInput459391368PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_xRotate8BOOLTcAddressTypeInput459391376PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_xNCFault8BOOLTcAddressTypeInput459391384PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_xAtSpd8BOOLTcAddressTypeInput459391392PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_iRawSpeed16INTTcAddressTypeInput459391408PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_iTempMon5V 0->100C]]>16INTTcAddressTypeInput459391424PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_iCurrentMon5V 0->10A]]>16INTTcAddressTypeInput459391440PRG_Test.fb_PTM_Test.q_iSpeedSet16INTTcAddressTypeInput459391568PRG_Test.fb_GPI_Test.fb_MKS275.i_iPRESS_R16INTTcAddressTypeInput493041600PRG_Test.fb_GPI_Test.fb_MKS317.i_iPRESS_R16INTTcAddressTypeInput493132960PRG_Test.fb_GCC_Test.fb_MKS422.i_iPRESS_R16INTTcAddressTypeInput5267856641PlcTask Outputs066650112PRG_Test.fb_VGC_Test.VGC.q_xOPN_DO8BOOLTcAddressTypeOutput357830224PRG_Test.fb_VGC_Test.io_fbFFHWO.q_xFastFaultOut8BOOLpytmc + rVREAL3292160timerTON25692224i_iPRESS_RINT1692480TcAddressTypeInputq_xHV_DISBOOL8924961TcAddressTypeOutputMinPressureREAL32925121E-11vDisconnectedREAL32925440.18vMaxValidREAL32925769.6vMaxREAL32926089.9vValidLoREAL32926400.22vMinREAL32926720.6cDefaultPressureREAL32927040bWasOnBOOL892736TcPersistentbAutoRecoverBOOL892744TcPersistentbAutoRecoverWriteBOOL892752TcPersistentACT_LoggerIOACT_RecoverACT_PersistentM_HVEBOOL8enableBOOL8M_RecoverBOOL8M_AutoOnBOOL8PouTypeFunctionBlockFB_GCC_Test33652736FB_TestSuitePGST_VG105633558784fb_MKS422FB_MKS4229280033559872i_iPRESS_RINT1633652672TcAddressTypeOutputcycleINT16336526880M_InterlockM_SelfProtectionM_INITM_CheckRangeExpectedREAL32ActualREAL32eStateExpectedE_PressureState16eStateActualE_PressureState16PouTypeFunctionBlockVERSION64uiMajorUINT160uiMinorUINT1616uiServicePackUINT1632uiPatchUINT1648PlcAppSystemInfo2048ObjIdOTCID320TaskCntUDINT3232OnlineChangeCntUDINT3264FlagsDWORD3296AdsPortUINT16128BootDataLoadedBOOL8144OldBootDataBOOL8152AppTimestampDT32160KeepOutputsOnBPBOOL8192ShutdownInProgressBOOL8200LicensesPendingBOOL8208BSODOccuredBOOL8216LoggedInBOOL8224TComSrvPtrITComObjectServer32256TcComInterfaceAppNameSTRING(63)512512ProjectNameSTRING(63)5121024_Implicit_KindOfTask16INT_implicit_cyclic0_implicit_event1_implicit_external2_implicit_freewheeling3_Implicit_Jitter_Distribution48wRangeMaxWORD160wCountJitterNegWORD1616wCountJitterPosWORD1632hide_Implicit_Task_Info896dwVersionDWORD320pszNameSTRING(80)6464nPriorityINT16128KindOf_Implicit_KindOfTask16144bWatchdogBOOL8160bProfilingTaskBOOL8168dwEventFunctionPointerBYTE64192pszExternalEventSTRING(80)64256dwTaskEntryFunctionPointerBYTE64320dwWatchdogSensitivityDWORD32384dwIntervalDWORD32416dwWatchdogTimeDWORD32448dwLastCycleTimeDWORD32480dwAverageCycleTimeDWORD32512dwMaxCycleTimeDWORD32544dwMinCycleTimeDWORD32576diJitterDINT32608diJitterMinDINT32640diJitterMaxDINT32672dwCycleCountDWORD32704wTaskStatusWORD16736wNumOfJitterDistributionsWORD16752pJitterDistribution_Implicit_Jitter_Distribution64768bWithinSPSTimeSlicingBOOL8832byDummyBYTE8840bShouldBlockBOOL8848bActiveBOOL8856dwIECCycleCountDWORD32864hideLCLSGeneralEventClassCriticalCriticalErrorErrorWarningWarningInfoInfoVerboseVerboseL2SIVacuum{08500001-0000-0000-F000-000000000064}0PlcTask#x020100300PlcTask Inputs066650112PRG_Test.fb_VGC_Test.VGC.i_xOpnLS8BOOLTcAddressTypeInput357830784PRG_Test.fb_VGC_Test.VGC.i_xClsLS8BOOLTcAddressTypeInput357830792PRG_Test.fb_VRC_Test.VRC.i_xOpnLS8BOOLTcAddressTypeInput392001856PRG_Test.fb_VRC_Test.VRC.i_xClsLS8BOOLTcAddressTypeInput392001864PRG_Test.fb_PIP_Test.fb_PIP_GAMMA.i_iPRESS16INTTcAddressTypeInput425652880PRG_Test.fb_PIP_Test.fb_PIP_GAMMA.i_xSP_DI8BOOLTcAddressTypeInput425652896PRG_Test.fb_PTM_Test.fb_TwisTorr.i_xAtSpd8BOOLTcAddressTypeInput459303656PRG_Test.fb_PTM_Test.fb_TwisTorr.i_xFault8BOOLTcAddressTypeInput459303664PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_xDecel8BOOLTcAddressTypeInput459391936PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_xAccel8BOOLTcAddressTypeInput459391944PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_xRotate8BOOLTcAddressTypeInput459391952PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_xNCFault8BOOLTcAddressTypeInput459391960PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_xAtSpd8BOOLTcAddressTypeInput459391968PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_iRawSpeed16INTTcAddressTypeInput459391984PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_iTempMon5V 0->100C]]>16INTTcAddressTypeInput459392000PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.i_iCurrentMon5V 0->10A]]>16INTTcAddressTypeInput459392016PRG_Test.fb_PTM_Test.q_iSpeedSet16INTTcAddressTypeInput459392144PRG_Test.fb_GPI_Test.fb_MKS275.i_iPRESS_R16INTTcAddressTypeInput493042176PRG_Test.fb_GPI_Test.fb_MKS317.i_iPRESS_R16INTTcAddressTypeInput493133536PRG_Test.fb_GCC_Test.fb_MKS422.i_iPRESS_R16INTTcAddressTypeInput5267862401PlcTask Outputs066650112PRG_Test.fb_VGC_Test.VGC.q_xOPN_DO8BOOLTcAddressTypeOutput357830800PRG_Test.fb_VGC_Test.io_fbFFHWO.q_xFastFaultOut8BOOLpytmc pv: FaultHWO io: i field: DESC Hardware Output Status - TcAddressTypeOutput357832744PRG_Test.fb_VRC_Test.VRC.q_xOPN_DO8BOOLTcAddressTypeOutput392001296PRG_Test.fb_PIP_Test.fb_PIP_GAMMA.q_xHVEna_DO8BOOLTcAddressTypeOutput425652288PRG_Test.fb_PTM_Test.fb_TwisTorr.q_RunDO8BOOLTcAddressTypeOutput459303096PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.q_xStart8BOOLTcAddressTypeOutput459391456PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.q_xStop8BOOLTcAddressTypeOutput459391464PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.q_xReset8BOOLTcAddressTypeOutput459391472PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.q_xProtection8BOOLTcAddressTypeOutput459391480PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.q_xSetSpeed8BOOLTcAddressTypeOutput459391488PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.q_iSpeedSet16INTTcAddressTypeOutput459391504PRG_Test.fb_PTM_Test.i_diCurSpd16INTTcAddressTypeOutput459391584PRG_Test.fb_PTM_Test.i_iRawSpeed16INTTcAddressTypeOutput459391600PRG_Test.fb_PTM_Test.i_iTempMon5V 0->100C]]>16INTTcAddressTypeOutput459391616PRG_Test.fb_PTM_Test.i_iCurrentMon5V 0->10A]]>16INTTcAddressTypeOutput459391632PRG_Test.fb_GPI_Test.i_iPRESS_R16INTTcAddressTypeOutput493133248PRG_Test.fb_GCC_Test.fb_MKS422.q_xHV_DIS8BOOL1TcAddressTypeOutput526785680PRG_Test.fb_GCC_Test.i_iPRESS_R16INTTcAddressTypeOutput5267859843PlcTask Internal066650112DefaultGlobals.stSys40ST_SystemTcVarGlobal4096000GVL_Logger.bTrickleTripped8BOOLpytmc + TcAddressTypeOutput357833320PRG_Test.fb_VRC_Test.VRC.q_xOPN_DO8BOOLTcAddressTypeOutput392001872PRG_Test.fb_PIP_Test.fb_PIP_GAMMA.q_xHVEna_DO8BOOLTcAddressTypeOutput425652864PRG_Test.fb_PTM_Test.fb_TwisTorr.q_RunDO8BOOLTcAddressTypeOutput459303672PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.q_xStart8BOOLTcAddressTypeOutput459392032PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.q_xStop8BOOLTcAddressTypeOutput459392040PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.q_xReset8BOOLTcAddressTypeOutput459392048PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.q_xProtection8BOOLTcAddressTypeOutput459392056PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.q_xSetSpeed8BOOLTcAddressTypeOutput459392064PRG_Test.fb_PTM_Test.fb_PTM_Ebara_010M.q_iSpeedSet16INTTcAddressTypeOutput459392080PRG_Test.fb_PTM_Test.i_diCurSpd16INTTcAddressTypeOutput459392160PRG_Test.fb_PTM_Test.i_iRawSpeed16INTTcAddressTypeOutput459392176PRG_Test.fb_PTM_Test.i_iTempMon5V 0->100C]]>16INTTcAddressTypeOutput459392192PRG_Test.fb_PTM_Test.i_iCurrentMon5V 0->10A]]>16INTTcAddressTypeOutput459392208PRG_Test.fb_GPI_Test.i_iPRESS_R16INTTcAddressTypeOutput493133824PRG_Test.fb_GCC_Test.fb_MKS422.q_xHV_DIS8BOOL1TcAddressTypeOutput526786256PRG_Test.fb_GCC_Test.i_iPRESS_R16INTTcAddressTypeOutput5267865603PlcTask Internal066650112DefaultGlobals.stSys40ST_SystemTcVarGlobal4096000GVL_Logger.bTrickleTripped8BOOLpytmc pv: @(PREFIX)LCLSGeneral:GlobalLogTrickleTrip io: i field: DESC Tripped by overall log count @@ -944,21 +944,21 @@ This function provides ILK and Set Point Protection for the Cold Cathode]]>8BOOLTcVarGlobal4401248GVL_TcUnit.NumberOfInitializedTestSuites16UINT0TcVarGlobal4401264GVL_TcUnit.TcUnitRunner311180352FB_TcUnitRunnerTcVarGlobal4401280GVL_TcUnit.CurrentTestSuiteBeingCalled64FB_TestSuiteTcVarGlobal315581632GVL_TcUnit.CurrentTestNameBeingCalled2048T_MaxStringTcVarGlobal315581696GVL_TcUnit.TestSuiteAddresses32000FB_TestSuite1500TcVarGlobal315583744GVL_TcUnit.CurrentlyRunningOrderedTestInTestSuite8000UINT1500LowerBorder1UpperBorder100TcVarGlobal315615744GVL_TcUnit.AdsMessageQueue8321152FB_AdsLogStringMessageFifoQueueTcVarGlobal315623744Global_Version.stLibVersion_TcUnit288ST_LibVersion.iMajor1.iMinor2.iBuild0.iRevision0.sVersion1.2.0.0const_non_replacedTcVarGlobal323944896GVL_PfeifferParameters.gcMaxPfeifferPumps16INT20TcVarGlobal323945184Constants.gc_iSizeOfGGOArray16INT50TcVarGlobal323945200Constants.gc_GaugeValidState16INT4TcVarGlobal323945216Global_Variables.g_iSizeOfGGOArray16INT50TcVarGlobal323945232Global_Variables.g_stSystem40ST_System.xFirstScan1TcVarGlobal323945248PMPS_GVL.AUX_ATTENUATORS16UINT16TcVarGlobal323945296Global_Variables.g_DummyVG1056ST_VGTcVarGlobal323945312Global_Variables.fbGetCurTaskIdx256GETCURTASKINDEXTcVarGlobal323946368Global_Variables.TaskInfo1024PlcTaskSystemInfoTcVarGlobal323946624PMPS_GVL.stRequestedBeamParameters1760ST_BeamParamspytmc + The below array is only used for TEST_ORDERED()-tests. ]]>8000UINT1500LowerBorder1UpperBorder100TcVarGlobal315615744GVL_TcUnit.AdsMessageQueue8321152FB_AdsLogStringMessageFifoQueueTcVarGlobal315623744Global_Version.stLibVersion_TcUnit288ST_LibVersion.iMajor1.iMinor2.iBuild0.iRevision0.sVersion1.2.0.0const_non_replacedTcVarGlobal323944896GVL_PfeifferParameters.gcMaxPfeifferPumps16INT20TcVarGlobal323945184Constants.gc_iSizeOfGGOArray16INT50TcVarGlobal323945200Global_Version.stLibVersion_LCLSVacuumSerialDriverLib288ST_LibVersion.iMajor1.iMinor3.iBuild2.iRevision0.nFlags1.sVersion1.3.2const_non_replacedTcVarGlobal323945216Constants.gc_GaugeValidState16INT4TcVarGlobal323945504Global_Variables.g_iSizeOfGGOArray16INT50TcVarGlobal323945520Global_Variables.g_stSystem40ST_System.xFirstScan1TcVarGlobal323945536PMPS_GVL.AUX_ATTENUATORS16UINT16TcVarGlobal323945584Global_Variables.g_DummyVG1056ST_VGTcVarGlobal323945600PMPS_GVL.EXCLUDED_ASSERTION_ID32UDINT4294967295TcVarGlobal323946656Global_Variables.fbGetCurTaskIdx256GETCURTASKINDEXTcVarGlobal323946688Global_Variables.TaskInfo1024PlcTaskSystemInfoTcVarGlobal323946944Global_Version.stLibVersion_LCLS_Vacuum288ST_LibVersion.iMajor2.iMinor3.iBuild4.iRevision0.nFlags1.sVersion2.3.4const_non_replacedTcVarGlobal323947968PMPS_GVL.stRequestedBeamParameters1760ST_BeamParamspytmc pv: @(PREFIX)RequestedBP io: i archive: 1Hz monitor - TcVarGlobal323947648PMPS_GVL.stCurrentBeamParameters1760ST_BeamParamspytmc + TcVarGlobal323948256PMPS_GVL.stCurrentBeamParameters1760ST_BeamParamspytmc pv: @(PREFIX)CurrentBP io: i archive: 1Hz monitor - TcVarGlobal323949408PMPS_GVL.g_areVBoundaries1024REAL032pytmc + TcVarGlobal323950016PMPS_GVL.g_areVBoundaries1024REAL032pytmc pv: @(PREFIX)eVRangeCnst io: i archive: 1Hz monitor field: DESC Active eV Range constants field: EGU eV - TcVarGlobal323951168PMPS_GVL.PERange64PE_RangesTcVarGlobal323952192PMPS_GVL.EXCLUDED_ASSERTION_ID32UDINT4294967295TcVarGlobal323952256PMPS_GVL.MAX_DEVICE_STATES32UDINT300TcVarGlobal323952288PMPS_GVL.VISIBLE_TEST_VELOCITY64LREAL10TcVarGlobal323952320PMPS_GVL.FAST_TEST_VELOCITY64LREAL100TcVarGlobal323952384PMPS_GVL.TRANS_SCALING_FACTOR32REAL1TcVarGlobal323952448PMPS_GVL.MAX_VETO_DEVICES16UINT16TcVarGlobal323952480PMPS_GVL.cnMaxStateArrayLenTcVarGlobal323951776PMPS_GVL.MAX_DEVICE_STATES32UDINT300TcVarGlobal323952800PMPS_GVL.PERange64PE_RangesTcVarGlobal323952832PMPS_GVL.VISIBLE_TEST_VELOCITY64LREAL10TcVarGlobal323952896PMPS_GVL.FAST_TEST_VELOCITY64LREAL100TcVarGlobal323952960PMPS_GVL.TRANS_SCALING_FACTOR32REAL1TcVarGlobal323953024PMPS_GVL.MAX_VETO_DEVICES16UINT16TcVarGlobal323953056PMPS_GVL.cnMaxStateArrayLen16INT20TcVarGlobal323952496PMPS_GVL.stAttenuators64ST_PMPS_Attenuator.nTran1.xAttOK1TcVarGlobal323952512PMPS_GVL.cstFullBeam1760ST_BeamParamspytmc + );]]>16INT20TcVarGlobal323953072PMPS_GVL.stAttenuators64ST_PMPS_Attenuator.nTran1.xAttOK1TcVarGlobal323953088PMPS_GVL.cstFullBeam1760ST_BeamParamspytmc pv: @(PREFIX)FullBeamCnst io: i archive: 1Hz monitor field: DESC Full beam constant - TcVarGlobal323952576PMPS_GVL.cst0RateBeam1760ST_BeamParamspytmc + TcVarGlobal323953152PMPS_GVL.cst0RateBeam1760ST_BeamParamspytmc pv: @(PREFIX)0RateBeamCnst io: i archive: 1Hz monitor field: DESC 0-rate beam constant - TcVarGlobal323954336PMPS_GVL.MAX_APERTURES16UINT4TcVarGlobal323956096PMPS_GVL.g_cBoundaries16INT31TcVarGlobal323956112PMPS_GVL.DUMMY_AUX_ATT_ARRAY1024ST_PMPS_Attenuator116suppress_warning_0C0228TcVarGlobal323956128PMPS_GVL.reVHystTcVarGlobal323954912PMPS_GVL.MAX_APERTURES16UINT4TcVarGlobal323956672PMPS_GVL.g_cBoundaries16INT31TcVarGlobal323956688PMPS_GVL.DUMMY_AUX_ATT_ARRAY1024ST_PMPS_Attenuator116suppress_warning_0C0228TcVarGlobal323956704PMPS_GVL.reVHyst32REAL5pytmc pv: @(PREFIX)eVRangeHyst @@ -986,22 +986,22 @@ This function provides ILK and Set Point Protection for the Cold Cathode]]>TcVarGlobal323957152PMPS_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 + TcVarGlobal323957728PMPS_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 - TcVarGlobal323957184PMPS_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 + TcVarGlobal323957760PMPS_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 - TcVarGlobal323958208PMPS_PARAM.MAX_FAST_FAULTS16UINT50TcVarGlobal323959232PRG_Test.TotalTests16INT0323959248PMPS_PARAM.MAX_ASSERTIONS32UDINT20TcVarGlobal323959264PMPS_PARAM.TRANS_MARGIN32REAL0.05TcVarGlobal323959296Constants.gc_iSizeOfGGOArray16INT50TcVarGlobal323959344PMPS_TOOLS.fbJson384FB_JsonSaxWriterTcVarGlobal323959360Global_Version.stLibVersion_Tc2_MC2288ST_LibVersion.iMajor3.iMinor3.iBuild48.iRevision0.nFlags1.sVersion3.3.48.0const_non_replacedTcVarGlobal323959744Constants.gc_GaugeValidState16INT4TcVarGlobal323960032Global_Variables.g_iSizeOfGGOArray16INT50TcVarGlobal323960048Global_Variables.TcMcGlobal7104_TCMCGLOBALTcVarGlobal323960064Global_Variables.DEFAULT_HOME_POSITION64LREAL1E+307TcVarGlobal323967168Global_Variables.DEFAULT_BACKLASHVALUE64LREAL1E+307TcVarGlobal323967232Global_Version.stLibVersion_Tc2_Math288ST_LibVersion.iMajor3.iMinor3.iBuild1.iRevision0.sVersion3.3.1.0const_non_replacedTcVarGlobal323967296Global_Version.stLibVersion_Tc2_DataExchange288ST_LibVersion.iMajor3.iMinor3.iBuild5.iRevision0.nFlags0.sVersion3.3.5.0const_non_replacedTcVarGlobal323967584PRG_Test.fb_VGC_Test34265600FB_VGC_Test324087488PRG_Test.fb_VRC_Test33648320FB_VRC_Test358353088PRG_Test.fb_PIP_Test33655552FB_PIP_Test392001408PRG_Test.fb_PTM_Test33734720FB_PTM_Test425656960PRG_Test.fb_GPI_Test33741632FB_GPI_Test459391680PRG_Test.fb_GCC_Test33652736FB_GCC_Test493133312Global_Variables.g_stSystem40ST_System.xFirstScan1TcVarGlobal526787072Constants.bLittleEndian8BOOL1TcVarGlobal526787112Constants.bSimulationMode8BOOL0TcVarGlobal526787120Constants.bFPUSupport8BOOL1TcVarGlobal526787128Global_Variables.g_DummyVG1056ST_VGTcVarGlobal526787136Constants.nRegisterSize16WORD64TcVarGlobal526788192Constants.nPackMode16UINT8TcVarGlobal526788208Global_Variables.fbGetCurTaskIdx256GETCURTASKINDEXTcVarGlobal526788224Global_Variables.TaskInfo1024PlcTaskSystemInfoTcVarGlobal526788480Global_Version.stLibVersion_LCLS_Vacuum288ST_LibVersion.iMajor0.iMinor0.iBuild0.iRevision0.sVersion0.0.0const_non_replacedTcVarGlobal526789504Constants.RuntimeVersion64VERSION.uiMajor3.uiMinor5.uiServicePack6.uiPatch0TcVarGlobal526789792Constants.CompilerVersion64VERSION.uiMajor3.uiMinor5.uiServicePack10.uiPatch100TcVarGlobal526789856Constants.RuntimeVersionNumeric32DWORD50660864TcVarGlobal526789920Constants.CompilerVersionNumeric32DWORD50661988TcVarGlobal526789952TwinCAT_SystemInfoVarList._TaskPouOid_PlcTask32OTCIDno_initTcVarGlobal526789984TwinCAT_SystemInfoVarList._AppInfo2048PlcAppSystemInfono_initTcVarGlobal526790016TwinCAT_SystemInfoVarList._TaskInfo1024PlcTaskSystemInfo11no_initTcVarGlobal526792064TwinCAT_SystemInfoVarList._TaskOid_PlcTask32OTCIDno_initTcVarGlobal526793088TwinCAT_SystemInfoVarList.__PlcTask896_Implicit_Task_Info.dwVersion2TcContextNamePlcTaskTcVarGlobal526793152TC_EVENTS.LCLSGeneralEventClass960ST_LCLSGeneralEventClasstc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228TcVarGlobal5268407684PlcTask Retains066650112PMPS_GVL.SuccessfulPreemption32UDINTpytmc + TcVarGlobal323958784PMPS_PARAM.MAX_FAST_FAULTS16UINT50TcVarGlobal323959808PRG_Test.TotalTests16INT0323959824PMPS_PARAM.MAX_ASSERTIONS32UDINT20TcVarGlobal323959840PMPS_PARAM.TRANS_MARGIN32REAL0.05TcVarGlobal323959872Constants.gc_iSizeOfGGOArray16INT50TcVarGlobal323959920PMPS_TOOLS.fbJson384FB_JsonSaxWriterTcVarGlobal323959936Global_Version.stLibVersion_Tc2_MC2288ST_LibVersion.iMajor3.iMinor3.iBuild48.iRevision0.nFlags1.sVersion3.3.48.0const_non_replacedTcVarGlobal323960320Constants.gc_GaugeValidState16INT4TcVarGlobal323960608Global_Variables.g_iSizeOfGGOArray16INT50TcVarGlobal323960624Global_Variables.TcMcGlobal7104_TCMCGLOBALTcVarGlobal323960640Global_Variables.DEFAULT_HOME_POSITION64LREAL1E+307TcVarGlobal323967744Global_Variables.DEFAULT_BACKLASHVALUE64LREAL1E+307TcVarGlobal323967808Global_Version.stLibVersion_Tc2_Math288ST_LibVersion.iMajor3.iMinor3.iBuild1.iRevision0.sVersion3.3.1.0const_non_replacedTcVarGlobal323967872Global_Version.stLibVersion_Tc2_DataExchange288ST_LibVersion.iMajor3.iMinor3.iBuild5.iRevision0.nFlags0.sVersion3.3.5.0const_non_replacedTcVarGlobal323968160PRG_Test.fb_VGC_Test34265600FB_VGC_Test324088064PRG_Test.fb_VRC_Test33648320FB_VRC_Test358353664PRG_Test.fb_PIP_Test33655552FB_PIP_Test392001984PRG_Test.fb_PTM_Test33734720FB_PTM_Test425657536PRG_Test.fb_GPI_Test33741632FB_GPI_Test459392256PRG_Test.fb_GCC_Test33652736FB_GCC_Test493133888Global_Variables.g_stSystem40ST_System.xFirstScan1TcVarGlobal526787648Constants.bLittleEndian8BOOL1TcVarGlobal526787688Constants.bSimulationMode8BOOL0TcVarGlobal526787696Constants.bFPUSupport8BOOL1TcVarGlobal526787704Global_Variables.g_DummyVG1056ST_VGTcVarGlobal526787712Constants.nRegisterSize16WORD64TcVarGlobal526788768Constants.nPackMode16UINT8TcVarGlobal526788784Global_Variables.fbGetCurTaskIdx256GETCURTASKINDEXTcVarGlobal526788800Global_Variables.TaskInfo1024PlcTaskSystemInfoTcVarGlobal526789056Global_Version.stLibVersion_LCLS_Vacuum288ST_LibVersion.iMajor0.iMinor0.iBuild0.iRevision0.sVersion0.0.0const_non_replacedTcVarGlobal526790080Constants.RuntimeVersion64VERSION.uiMajor3.uiMinor5.uiServicePack6.uiPatch0TcVarGlobal526790368Constants.CompilerVersion64VERSION.uiMajor3.uiMinor5.uiServicePack10.uiPatch100TcVarGlobal526790432Constants.RuntimeVersionNumeric32DWORD50660864TcVarGlobal526790496Constants.CompilerVersionNumeric32DWORD50661988TcVarGlobal526790528TwinCAT_SystemInfoVarList._TaskPouOid_PlcTask32OTCIDno_initTcVarGlobal526790560TwinCAT_SystemInfoVarList._AppInfo2048PlcAppSystemInfono_initTcVarGlobal526790592TwinCAT_SystemInfoVarList._TaskInfo1024PlcTaskSystemInfo11no_initTcVarGlobal526792640TwinCAT_SystemInfoVarList._TaskOid_PlcTask32OTCIDno_initTcVarGlobal526793664TwinCAT_SystemInfoVarList.__PlcTask896_Implicit_Task_Info.dwVersion2TcContextNamePlcTaskTcVarGlobal526793728TC_EVENTS.LCLSGeneralEventClass960ST_LCLSGeneralEventClasstc_no_symbolunusedconst_non_replacedsuppress_warning_0C0228TcVarGlobal5268256004PlcTask Retains066650112PMPS_GVL.SuccessfulPreemption32UDINTpytmc pv: @(PREFIX)SuccessfulPreemptions io: i TcVarGlobal3072000PMPS_GVL.AccumulatedFF32UDINTpytmc pv: @(PREFIX)AccumulatedFastFaults io: i - TcVarGlobal3072032PMPS_GVL.BP_jsonDoc64SJsonValueTcVarGlobal3072064LCLSGeneralEventClassApplicationNamePort_851ChangeDate2024-03-22T14:00:03GeneratedCodeSize700416GlobalDataSize65372160 \ No newline at end of file + TcVarGlobal3072032PMPS_GVL.BP_jsonDoc64SJsonValueTcVarGlobal3072064LCLSGeneralEventClassApplicationNamePort_851ChangeDate2024-05-24T14:10:32GeneratedCodeSize700416GlobalDataSize65372160 \ No newline at end of file diff --git a/L2SIVacuum/POUs/Functions/Gauges/FB_IE514.TcPOU b/L2SIVacuum/POUs/Functions/Gauges/FB_IE514.TcPOU new file mode 100644 index 0000000..8c3c304 --- /dev/null +++ b/L2SIVacuum/POUs/Functions/Gauges/FB_IE514.TcPOU @@ -0,0 +1,445 @@ + + + + + + IG_CH1.xTurnOnTime); +tHvDis_CH2(IN := IG_CH2.q_xHV_DIS, Q => IG_CH2.xTurnOnTime); + +(*Raw voltage conversion*) +//check no div by zero +IF (iTermBits = 0) THEN iTermBits := 30518; END_IF +rV := 10*INT_TO_REAL(i_iPRESS_R)/iTermBits; + +(*RAW voltage to Pressure conversion*) +rPRESS := LREAL_TO_REAL(EXPT(10, rV/10*LOG(cMaxPressure/cMinPressure) + LOG(cMinPressure))); //manual page 70 IM540 (Mode Full), (Scale) = Log +IF NOT i_xCH2_SEL THEN + IG_CH1.rPRESS := rPRESS; + IG_CH2.rPRESS := 0; +ELSE + IG_CH2.rPRESS := rPRESS; + IG_CH1.rPRESS := 0; +END_IF + +(*Pressure gauge State checks*) +//CH1 +IF bCh1Sel AND IG_CH1.xHV_SW THEN + IF NOT i_xERR_CH1 THEN + IG_CH1.eState := GaugeDisconnected; + IG_CH1.rPRESS := 0; + ELSIF rV <= cGaugeMaxVoltage AND rV >= cGaugeMinVoltage AND IG_CH1.i_xHV_ON THEN + IG_CH1.eState := Valid; // NORMAL + ELSIF rV >= 0.0 AND rV < cGaugeMinVoltage AND IG_CH1.i_xHV_ON THEN + IG_CH1.eState := OoR; //Out of range according to manual + ELSIF rV > cGaugeMaxVoltage AND rV < (cGaugeMaxVoltage + cDeadband) AND IG_CH1.i_xHV_ON THEN + IG_CH1.eState := OoR; //Out of range according to manual + ELSIF rV > (cGaugeMaxVoltage + cDeadband) AND tHvDis_CH1.Q THEN + IG_CH1.eState := GaugeDisconnected; //gauge disconnected + IG_CH1.rPRESS := 0; + ELSIF rV > (cGaugeMaxVoltage + cDeadband) AND NOT tHvDis_CH1.Q THEN + IG_CH1.eState := Starting; //gauge is starting + IG_CH1.rPRESS := 0; + ELSE + IG_CH1.eState := PressInvalid; //other fault - could be no gauge, controller powering up etc. + IG_CH1.rPRESS := 0; + END_IF +ELSE + IG_CH1.eState := Off; // Gauge turned OFF + IG_CH1.rPRESS := 0; +END_IF + +//CH2 +IF bCh2Sel AND IG_CH2.xHV_SW THEN + IF NOT i_xERR_CH2 THEN + IG_CH2.eState := GaugeDisconnected; + IG_CH2.rPRESS := 0; + ELSIF rV <= cGaugeMaxVoltage AND rV >= cGaugeMinVoltage AND IG_CH2.i_xHV_ON THEN + IG_CH2.eState := Valid; // NORMAL + ELSIF rV >= 0.0 AND rV < cGaugeMinVoltage AND IG_CH2.i_xHV_ON THEN + IG_CH2.eState := OoR; //Out of range according to manual + ELSIF rV > cGaugeMaxVoltage AND rV < (cGaugeMaxVoltage + cDeadband) AND IG_CH2.i_xHV_ON THEN + IG_CH2.eState := OoR; //Out of range according to manual + ELSIF rV > (cGaugeMaxVoltage + cDeadband) AND tHvDis_CH2.Q THEN + IG_CH2.eState := GaugeDisconnected; //gauge disconnected + IG_CH2.rPRESS := 0; + ELSIF rV > (cGaugeMaxVoltage + cDeadband) AND NOT tHvDis_CH2.Q THEN + IG_CH2.eState := Starting; //gauge is starting + IG_CH2.rPRESS := 0; + ELSE + IG_CH2.eState := PressInvalid; //other fault - could be no gauge, controller powering up etc. + IG_CH2.rPRESS := 0; + END_IF +ELSE + IG_CH2.eState := Off; // Gauge turned OFF + IG_CH2.rPRESS := 0; +END_IF + +(* Ion Gauge Protection Functions *) +(* If the PG pressure is greater than the VG.PRO_SP then the gauge is disabled *) +(* If the PG pressure is less than the VG.PRO_SP then the gauge is enabled *) +(* This FB also implements some hysteresis so the gauge doesn't have rapid power cycling while near the turn on boundary *) + +//CH1 +IF (PG.rPRESS <= IG_CH1.rPRO_SP) AND PG.xPRESS_OK THEN + IG_CH1.q_xHV_DIS := IG_CH1.xHV_SW; + IG_CH1.xILKOk := TRUE; +ELSIF IG_CH1.q_xHV_DIS AND tHvDis_CH1.Q THEN + IF IG_CH1.rPRESS > (IG_CH1.rPRO_SP + IG_CH1.rHYS_PR) OR PG.rPRESS > (IG_CH1.rPRO_SP + IG_CH1.rHYS_PR) THEN + IG_CH1.q_xHV_DIS := FALSE; + IG_CH1.xHV_SW := FALSE; + END_IF +ELSE + IG_CH1.q_xHV_DIS := FALSE; + IG_CH1.xHV_SW := FALSE; + IG_CH1.xILKOk := FALSE; +END_IF + +//CH2 +IF (PG.rPRESS <= IG_CH2.rPRO_SP) AND PG.xPRESS_OK THEN + IG_CH2.q_xHV_DIS := IG_CH2.xHV_SW; + IG_CH2.xILKOk := TRUE; +ELSIF IG_CH2.q_xHV_DIS AND tHvDis_CH2.Q THEN + IF IG_CH2.rPRESS > (IG_CH2.rPRO_SP + IG_CH2.rHYS_PR) OR PG.rPRESS > (IG_CH2.rPRO_SP + IG_CH2.rHYS_PR) THEN + IG_CH2.q_xHV_DIS := FALSE; + IG_CH2.xHV_SW := FALSE; + END_IF +ELSE + IG_CH2.q_xHV_DIS := FALSE; + IG_CH2.xHV_SW := FALSE; + IG_CH2.xILKOk := FALSE; +END_IF + + +(*Pressure gauge OK checks, Backwards compatibility*) +IG_CH1.xPRESS_OK := ((IG_CH1.eState = Valid) OR IG_CH1.xBAKEOUT); +IG_CH2.xPRESS_OK := ((IG_CH2.eState = Valid) OR IG_CH2.xBAKEOUT); + +(*Setpoint evaluation*) +IG_CH1.xAT_VAC := IG_CH1.xPRESS_OK AND IG_CH1.rPRESS < IG_CH1.rVAC_SP; +IG_CH2.xAT_VAC := IG_CH2.xPRESS_OK AND IG_CH2.rPRESS < IG_CH2.rVAC_SP; + +(*Logger*) +ACT_Logger(); + +(*Soft IO Linking*) +IO(); + +(*Load or save the persistent variables*) +ACT_Persistent();]]> + + + + IG_CH1.eState THEN + CASE IG_CH1.eState OF + ValidHi: + fbLogger(sMsg:='Gauge(CH1) pressure valid high.', eSevr:=TcEventSeverity.Info); + ValidLo: + fbLogger(sMsg:='Gauge(CH1) pressure valid low.', eSevr:=TcEventSeverity.Info); + Valid: + fbLogger(sMsg:='Gauge(CH1) pressure valid.', eSevr:=TcEventSeverity.Info); + GaugeDisconnected: + fbLogger(sMsg:='Gauge(CH1) Disconnected.', eSevr:=TcEventSeverity.Critical); + PressInvalid: + fbLogger(sMsg:='Gauge(CH1) pressure invalid.', eSevr:=TcEventSeverity.Warning); + OoR: + fbLogger(sMsg:='Gauge(CH1) pressure out of range.', eSevr:=TcEventSeverity.Warning); + Starting: + fbLogger(sMsg:='Gauge(CH1) starting.', eSevr:=TcEventSeverity.Info); + END_CASE + ePrevStateIG_CH1 := IG_CH1.eState; + END_IF +END_IF + +(*CH2 of IM540 Controller*) +IF (IG_CH2.xLog) THEN + IF NOT IG_CH2.xILKOk AND IG_CH2.q_xHV_DIS THEN + fbLogger(sMsg:='Lost external interlock while gauge(CH2) was on.', eSevr:=TcEventSeverity.Critical); + END_IF + + // Log Action + tAction_CH2(CLK := IG_CH2.xHV_SW); + IF tAction_CH2.Q THEN fbLogger(sMsg:='Ion gauge(CH2) commanded to switch on', eSevr:=TcEventSeverity.Info); END_IF + + //STATE Logger + IF ePrevStateIG_CH2 <> IG_CH2.eState THEN + CASE IG_CH2.eState OF + ValidHi: + fbLogger(sMsg:='Gauge(CH2) pressure valid high.', eSevr:=TcEventSeverity.Info); + ValidLo: + fbLogger(sMsg:='Gauge(CH2) pressure valid low.', eSevr:=TcEventSeverity.Info); + Valid: + fbLogger(sMsg:='Gauge(CH2) pressure valid.', eSevr:=TcEventSeverity.Info); + GaugeDisconnected: + fbLogger(sMsg:='Gauge(CH2) Disconnected.', eSevr:=TcEventSeverity.Critical); + PressInvalid: + fbLogger(sMsg:='Gauge(CH2) pressure invalid.', eSevr:=TcEventSeverity.Warning); + OoR: + fbLogger(sMsg:='Gauge(CH2) pressure out of range.', eSevr:=TcEventSeverity.Warning); + Starting: + fbLogger(sMsg:='Gauge(CH2) starting.', eSevr:=TcEventSeverity.Info); + END_CASE + ePrevStateIG_CH2 := IG_CH2.eState; + END_IF +END_IF]]> + + + + + 0) THEN + IG_CH1.rVAC_SP := rVAC_SP_CH1; + END_IF; + IF (rPRO_SP_CH1 <> 0) THEN + IG_CH1.rPRO_SP := rPRO_SP_CH1; + END_IF; + IF (rHYS_PR_CH1 <> 0) THEN + IG_CH1.rHYS_PR := rHYS_PR_CH1; + END_IF; + //CH2 + IF (rVAC_SP_CH2 <> 0) THEN + IG_CH2.rVAC_SP := rVAC_SP_CH2; + END_IF; + IF (rPRO_SP_CH2 <> 0) THEN + IG_CH2.rPRO_SP := rPRO_SP_CH2; + END_IF; + IF (rHYS_PR_CH2 <> 0) THEN + IG_CH2.rHYS_PR := rHYS_PR_CH2; + END_IF; +END_IF +(*Check if a new value has been written in the structure variable copy it to the persistent variable*) +//CH1 +IF NOT (IG_CH1.rVAC_SP = rVAC_SP_CH1) THEN + rVAC_SP_CH1 := IG_CH1.rVAC_SP; +END_IF; + +IF NOT (IG_CH1.rPRO_SP = rPRO_SP_CH1) THEN + rPRO_SP_CH1 := IG_CH1.rPRO_SP; +END_IF; + +IF NOT (IG_CH1.rHYS_PR = rHYS_PR_CH1) THEN + rHYS_PR_CH1 := IG_CH1.rHYS_PR; +END_IF; + +//CH2 +IF NOT (IG_CH2.rVAC_SP = rVAC_SP_CH2) THEN + rVAC_SP_CH2 := IG_CH2.rVAC_SP; +END_IF; + +IF NOT (IG_CH2.rPRO_SP = rPRO_SP_CH2) THEN + rPRO_SP_CH2 := IG_CH2.rPRO_SP; +END_IF; + +IF NOT (IG_CH2.rHYS_PR = rHYS_PR_CH2) THEN + rHYS_PR_CH2 := IG_CH2.rHYS_PR; +END_IF;]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file