From 5e523616109ba52b79a65f8b4c77426b03ce17b2 Mon Sep 17 00:00:00 2001 From: Janez Govednik Date: Fri, 16 Feb 2024 16:24:06 -0800 Subject: [PATCH 1/3] Gauge pressure is read by valve function block and value forwarded to valve's External digital pressure sensor 1 --- .../VAT590/E_VAT590_PressureSensor.TcDUT | 14 ---- .../DUTs/Valves/VAT590/ST_VCN_VAT590.TcDUT | 5 -- L2SIVacuum/L2SIVacuum.plcproj | 3 - L2SIVacuum/L2SIVacuum.tmc | 68 +++++++++--------- L2SIVacuum/LineIDs.dbg | Bin 572 -> 668 bytes .../POUs/Functions/Valves/FB_VCN_VAT590.TcPOU | 52 +++++++------- 6 files changed, 61 insertions(+), 81 deletions(-) delete mode 100644 L2SIVacuum/DUTs/Valves/VAT590/E_VAT590_PressureSensor.TcDUT diff --git a/L2SIVacuum/DUTs/Valves/VAT590/E_VAT590_PressureSensor.TcDUT b/L2SIVacuum/DUTs/Valves/VAT590/E_VAT590_PressureSensor.TcDUT deleted file mode 100644 index 6720e88..0000000 --- a/L2SIVacuum/DUTs/Valves/VAT590/E_VAT590_PressureSensor.TcDUT +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/L2SIVacuum/DUTs/Valves/VAT590/ST_VCN_VAT590.TcDUT b/L2SIVacuum/DUTs/Valves/VAT590/ST_VCN_VAT590.TcDUT index 3b03ddc..41dc879 100644 --- a/L2SIVacuum/DUTs/Valves/VAT590/ST_VCN_VAT590.TcDUT +++ b/L2SIVacuum/DUTs/Valves/VAT590/ST_VCN_VAT590.TcDUT @@ -81,11 +81,6 @@ STRUCT '} stValveStatus : ST_VAT590_STATUS; //All Valve status readbacks {attribute 'pytmc' := ' - pv: PRES_SENS - io: io - '} - ePressureSensor : E_VAT590_PressureSensor; //Select pressure sensor - {attribute 'pytmc' := ' pv: REM_CTRL io: io '} diff --git a/L2SIVacuum/L2SIVacuum.plcproj b/L2SIVacuum/L2SIVacuum.plcproj index e0cca38..439181d 100644 --- a/L2SIVacuum/L2SIVacuum.plcproj +++ b/L2SIVacuum/L2SIVacuum.plcproj @@ -143,9 +143,6 @@ Code - - Code - Code diff --git a/L2SIVacuum/L2SIVacuum.tmc b/L2SIVacuum/L2SIVacuum.tmc index 1624762..eb0ada9 100644 --- a/L2SIVacuum/L2SIVacuum.tmc +++ b/L2SIVacuum/L2SIVacuum.tmc @@ -1,4 +1,4 @@ -ST_System40xSwAlmRstBOOL80xAtVacuumBOOL88xFirstScanBOOL816xOverrideModeBOOL824xIOStateBOOL832analysis-33T_MaxString2048STRING(255)TcEventSeverity16INT01234plcAttribute_qualified_onlyplcAttribute_strictE_Subsystem16WORDNILVALUE0VACUUM1MPS2MOTION3FIELDBUS4SDS5OPTICS6I_ArgumentsChangeListener64PVOIDOnArgumentsChangedITcAsyncResult32ITcUnknownGetIsBusyHRESULT32bIsBusyBOOL3232GetHasErrorHRESULT32bErrorBOOL3232GetErrorCodeHRESULT32hresultHRESULT32FB_AsyncStrResult128bBusyBOOL865879240bErrorBOOL865879312hrErrorCodeHRESULT3265879328nStringSizeUDINT3265879288sResultSTRING(255)204865879320__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_TcSourceInfonIdUDINT326587912065879168sNameSTRING(255)20486587920065879224ExtendNameBOOL8sExtensionSTRING(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__BBUSYBOOL84032conditionalshoweSeverityTcEventSeverity1665879424ipSourceInfoI_TcSourceInfo6465879384nEventIdUDINT3265879560nUniqueIdUDINT3265879568sEventClassNameSTRING(255)204865879480sEventTextSTRING(255)204865879576EqualsToEventClassBOOL8OtherEventClassGUID128_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_TcMessagenTimeSentULINT6465879624SetJsonAttributeHRESULT32sJsonAttributeSTRING(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_AsyncStrResult128bBusyBOOL865879240bErrorBOOL865879312hrErrorCodeHRESULT3265879328nStringSizeUDINT3265879288sResultSTRING(255)204865879320__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_TcSourceInfonIdUDINT326587912065879168sNameSTRING(255)20486587920065879224ExtendNameBOOL8sExtensionSTRING(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__BBUSYBOOL84032conditionalshoweSeverityTcEventSeverity1665879424ipSourceInfoI_TcSourceInfo6465879384nEventIdUDINT3265879560nUniqueIdUDINT3265879568sEventClassNameSTRING(255)204865879480sEventTextSTRING(255)204865879576EqualsToEventClassBOOL8OtherEventClassGUID128_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_TcMessagenTimeSentULINT6465879624SetJsonAttributeHRESULT32sJsonAttributeSTRING(80)64ItemTypeInOutCreateExHRESULT32stEventEntryTcEventEntry192ipSourceInfoI_TcSourceInfo64InitipMessageITcMessage64ipArgumentsITcArguments64ipSourceInfoITcSourceInfo64conditionalshow__getnTimeSentULINT64nTimeSentULINT64ipMessage2ITcMessage264nTimeStampULINT64propertymonitoringcallTcDisplayTypeGUID18071995-0000-0000-0000-000000000046CreateHRESULT32eventClassGUID128nEventIdUDINT32eSeverityTcEventSeverity16ipSourceInfoI_TcSourceInfo64hrHRESULT32ipArgumentsITcArguments64__getipEventITcEvent64ipEventITcEvent64propertyconditionalshowSendHRESULT32nTimeStampULINT64ReleaseHRESULT32PouTypeFunctionBlockreflectionconditionalshow_all_localsno_explicit_calldo not call this POU directlyF_TRIG96CLKBOOL864ItemTypeInputQBOOL872ItemTypeOutputMBOOL8801conditionalshowPouTypeFunctionBlockconditionalshow_all_localsR_TRIGxOKBOOL864plcAttribute_pytmcpv: OK io: iST_PMPS_Aperture96ST_PMPS_Aperture_IOST_BeamParams1760nTranREAL3200pytmcpv: Transmission io: i - field: HOPR 1; - field: LOPR 0; - field: PREC 2; + field: HOPR 1; + field: LOPR 0; + field: PREC 2; nRateUDINT32320pytmcpv: Rate io: i field: EGU Hz @@ -476,13 +476,13 @@ These features aren't disabled, they just aren't used, think child/parent classe TP224INBOOL864ItemTypeInputPTTIME3296ItemTypeInputQBOOL8128ItemTypeOutputETTIME32160ItemTypeOutputStartTimeTIME32192PouTypeFunctionBlockST_FFOverride768DurationDINT320pytmc +]]>224INBOOL864ItemTypeInputPTTIME3296ItemTypeInputQBOOL8128ItemTypeOutputETTIME32160ItemTypeOutputStartTimeTIME32192PouTypeFunctionBlockST_FFOverride768DurationDINT320pytmc pv: Duration io: o - ExpirationDINT3232pytmc + ExpirationDINT3232pytmc pv: Expiration io: o - StartDTDINT3264pytmc + StartDTDINT3264pytmc pv: StartDT io: o ActivateBOOL896pytmc @@ -491,10 +491,10 @@ These features aren't disabled, they just aren't used, think child/parent classe DeactivateBOOL8104pytmc pv: Deactivate io: o - ElapsedTimeDINT32128pytmc + ElapsedTimeDINT32128pytmc pv: ElapsedTime io: i - RemainingTimeDINT32160pytmc + RemainingTimeDINT32160pytmc pv: RemainingTime io: i ActiveBOOL8192pytmc @@ -539,15 +539,15 @@ These features aren't disabled, they just aren't used, think child/parent classe pv: Key io: i valuePVOID64640ST_BP_ArbInternal2464ST_BeamParamsnIdDWORD321760pytmcpv: ID - io: i - LiveInTableBOOL81792pytmcpv: Live - io: i - sDevNameSTRING(80)6481800pytmcpv: Device - io: i - T_HashTableEntry384keyDWORD3200valuePVOID64640lockDWORD: 0 = node free, 1 = node in use, other bits reserved ]]>321280conditionalshowpNextPVOID641920conditionalshowpNextFreePVOID642560conditionalshowpNextGlobPVOID643200conditionalshowT_HHASHTABLE6848nCountUDINT3200nFreeUDINT32320pEntriesT_HashTableEntry64640conditionalshowcbEntriesUDINT321280conditionalshownElementsUDINT321600conditionalshowcbElementUDINT321920conditionalshowpEntrysT_HashTableEntry01016464256conditionalshowpFreeEntrysT_HashTableEntry6467200conditionalshowpFirstEntryT_HashTableEntry6467840conditionalshowFB_HashTableCtrl704hTableT_HHASHTABLE6464ItemTypeInOutkeyDWORD321280ItemTypeInputputValuePVOID641920ItemTypeInputputPosPtrT_HashTableEntry642560ItemTypeInputbOkBOOL83200ItemTypeOutputgetValuePVOID643840ItemTypeOutputgetPosPtrT_HashTableEntry644480ItemTypeOutputpT_HashTableEntry645120conditionalshownT_HashTableEntry645760conditionalshownHashDWORD326400conditionalshowA_ResetA_RemoveAllA_GetNextA_GetIndexAtPosPtrA_AddA_RemoveA_GetFirstA_RemoveFirstA_LookupPouTypeFunctionBlockconditionalshow_all_localsFB_BeamParamAssertionPool222144keyDWORD32640ItemTypeInputputPosPtrT_HashTableEntry641280ItemTypeInputputValueST_BP_ArbInternal2464192ItemTypeInputbOkBOOL826560ItemTypeOutputgetPosPtrT_HashTableEntry6426880ItemTypeOutputgetValueST_BP_ArbInternal24642752ItemTypeOutputnCountUDINT3252160ItemTypeOutputepicsDataPoolST_BP_ArbInternal120492805248pytmc + io: i + LiveInTableBOOL81792pytmcpv: Live + io: i + sDevNameSTRING(80)6481800pytmcpv: Device + io: i + T_HashTableEntry384keyDWORD3200valuePVOID64640lockDWORD: 0 = node free, 1 = node in use, other bits reserved ]]>321280conditionalshowpNextPVOID641920conditionalshowpNextFreePVOID642560conditionalshowpNextGlobPVOID643200conditionalshowT_HHASHTABLE6848nCountUDINT3200nFreeUDINT32320pEntriesT_HashTableEntry64640conditionalshowcbEntriesUDINT321280conditionalshownElementsUDINT321600conditionalshowcbElementUDINT321920conditionalshowpEntrysT_HashTableEntry01016464256conditionalshowpFreeEntrysT_HashTableEntry6467200conditionalshowpFirstEntryT_HashTableEntry6467840conditionalshowFB_HashTableCtrl704hTableT_HHASHTABLE6464ItemTypeInOutkeyDWORD321280ItemTypeInputputValuePVOID641920ItemTypeInputputPosPtrT_HashTableEntry642560ItemTypeInputbOkBOOL83200ItemTypeOutputgetValuePVOID643840ItemTypeOutputgetPosPtrT_HashTableEntry644480ItemTypeOutputpT_HashTableEntry645120conditionalshownT_HashTableEntry645760conditionalshownHashDWORD326400conditionalshowA_ResetA_RemoveAllA_GetNextA_GetIndexAtPosPtrA_AddA_RemoveA_GetFirstA_RemoveFirstA_LookupPouTypeFunctionBlockconditionalshow_all_localsFB_BeamParamAssertionPool222144keyDWORD32640ItemTypeInputputPosPtrT_HashTableEntry641280ItemTypeInputputValueST_BP_ArbInternal2464192ItemTypeInputbOkBOOL826560ItemTypeOutputgetPosPtrT_HashTableEntry6426880ItemTypeOutputgetValueST_BP_ArbInternal24642752ItemTypeOutputnCountUDINT3252160ItemTypeOutputepicsDataPoolST_BP_ArbInternal120492805248pytmc pv: Entry io: i - dataPoolST_BP_ArbInternal06115030454528entriesT_HashTableEntry0617808204864fbTableFB_HashTableCtrl704212672hTableT_HHASHTABLE6848213376pRefPtrST_BP_ArbInternal642202240indexOfElemULINT32bit, x64=>64bit)]]>64220288cstSafeBeamST_BeamParams1760220352.nTran0.neVRange0.nRate0.nBCRange0A_ResetA_CountDataPoolToEpicsA_AddA_RemoveA_GetFirstA_GetNextA_LookupPouTypeFunctionBlockno_checkFB_ArbiterdataPoolST_BP_ArbInternal06115030454528entriesT_HashTableEntry0617808204864fbTableFB_HashTableCtrl704212672hTableT_HHASHTABLE6848213376pRefPtrST_BP_ArbInternal642202240indexOfElemULINT32bit, x64=>64bit)]]>64220288cstSafeBeamST_BeamParams1760220352.nTran0.neVRange0.nRate0.nBCRange0A_ResetA_CountDataPoolToEpicsA_AddA_RemoveA_GetFirstA_GetNextA_LookupPouTypeFunctionBlockno_checkFB_ArbiterxRequestMadeBOOL8222400nArbiterIDUDINT32222432pytmc + xRequestMadeBOOL8222400nArbiterIDUDINT32222432pytmc pv: ArbiterID io: i field: DESC Arbiter ID for elev. req. @@ -591,7 +591,7 @@ Use this thing to have a simple indexer with rollover. ]]>128LowerLimitINT16641ItemTypeInputnamingoffValIncINT16801ItemTypeInputUpperLimitINT16961ItemTypeInputnValINT161121namingoffDecIncDecValINT16IncValINT16PouTypeFunctionBlockFB_FastFault61440fbArbiterFB_Arbiter6464ItemTypeInOuti_sDeviceNameSTRING(80)648128DeviceItemTypeInputi_TransitionAssertionIDUDINT328000ItemTypeInputi_stTransitionAssertionST_BeamParams1760832ItemTypeInputi_nRequestedAssertionIDUDINT3225920ItemTypeInputi_stRequestedAssertionST_BeamParams17602624.nTran0.neVRange0.nRate0.nBCRange0ItemTypeInputi_xMovingBOOL]]>843840ItemTypeInputi_xDoneMovingBOOL843920ItemTypeInputstCurrentBeamParametersST_BeamParams17604416ItemTypeInputbRetryBOOL861760ItemTypeInputq_xTransitionAuthorizedBOOL861840ItemTypeOutputbErrorBOOL86192ItemTypeOutputnErrIdUINT166208ItemTypeOutputbDoneBOOL86224ItemTypeOutputbBusyBOOL86232ItemTypeOutputnTargetAssertionIDUDINT3262400stTargetAssertionST_BeamParams17606272nCurrentAssertionIDUDINT3280320xNewBPBOOL88064xTranBPBOOL88072xFinalBPInArbBOOL88080xFinalBPBOOL88088eBPTMStateE_BPTMState1680960ePrevStateE_BPTMState1681120xEntryBOOL88128rTransitionR_TRIG968192xNewTargetBOOL88288bTransAssertionFailedBOOL88296bFinalAssertionFailedBOOL88304LogStrBufferSTRING(80)041265688312LogBuffIdxFB_Index12834880.LowerLimit0.UpperLimit40nAssrtAttemptINT1635008rtRetryR_TRIG9635072rtErrorR_TRIG9635200ffTimeoutFB_FastFault2592035328.i_DescPreemptive requests timed out in BPTM.i_TypeCode10.i_xAutoReset0rtDoneMovingR_TRIG9661248bLatchDoneMovingBOOL861344bFirstMoveBOOL8613521LogBuffSizeINT166136040cMaxAttemptsINT16613763cReqArbCapacityUDINT61440fbArbiterFB_Arbiter6464ItemTypeInOuti_sDeviceNameSTRING(80)648128DeviceItemTypeInputi_TransitionAssertionIDUDINT328000ItemTypeInputi_stTransitionAssertionST_BeamParams1760832ItemTypeInputi_nRequestedAssertionIDUDINT3225920ItemTypeInputi_stRequestedAssertionST_BeamParams17602624.nTran0.neVRange0.nRate0.nBCRange0ItemTypeInputi_xMovingBOOL]]>843840ItemTypeInputi_xDoneMovingBOOL843920ItemTypeInputstCurrentBeamParametersST_BeamParams17604416ItemTypeInputbRetryBOOL861760ItemTypeInputq_xTransitionAuthorizedBOOL861840ItemTypeOutputbErrorBOOL86192ItemTypeOutputnErrIdUINT166208ItemTypeOutputbDoneBOOL86224ItemTypeOutputbBusyBOOL86232ItemTypeOutputnTargetAssertionIDUDINT3262400stTargetAssertionST_BeamParams17606272nCurrentAssertionIDUDINT3280320xNewBPBOOL88064xTranBPBOOL88072xFinalBPInArbBOOL88080xFinalBPBOOL88088eBPTMStateE_BPTMState1680960ePrevStateE_BPTMState1681120xEntryBOOL88128rTransitionR_TRIG968192xNewTargetBOOL88288bTransAssertionFailedBOOL88296bFinalAssertionFailedBOOL88304LogStrBufferSTRING(80)041265688312LogBuffIdxFB_Index12834880.LowerLimit0.UpperLimit40nAssrtAttemptINT1635008rtRetryR_TRIG9635072rtErrorR_TRIG9635200ffTimeoutFB_FastFault2592035328.i_DescPreemptive requests timed out in BPTM.i_TypeCode10.i_xAutoReset0rtDoneMovingR_TRIG9661248bLatchDoneMovingBOOL861344bFirstMoveBOOL8613521LogBuffSizeINT166136040cMaxAttemptsINT16613763cReqArbCapacityUDINT32614082AuthorizeTransitionWaitingForFinalAssertion_DONewTarget_ENTRYAssertTransitionBPAssertFinalBPWaitingForTransitionAssertion_DORemoveTransitionAssertionSetNewTargetRequestBP_DOWaitingForTransitionAssertion_EXITWaitingForFinalAssertion_EXITDeauthorizeTransitionLogActionsBOOL8LogStrSTRING(80)648no_checkPouTypeFunctionBlockno_checkFB_VGC8000UINT1500LowerBorder1UpperBorder100TcVarGlobal315615744GVL_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 pv: @(PREFIX)RequestedBP - io: i + io: i archive: 1Hz monitor TcVarGlobal323947648PMPS_GVL.stCurrentBeamParameters1760ST_BeamParamspytmc pv: @(PREFIX)CurrentBP - io: i + io: i archive: 1Hz monitor TcVarGlobal323949408PMPS_GVL.g_areVBoundaries1024REAL032pytmc pv: @(PREFIX)eVRangeCnst - io: i + 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.cnMaxStateArrayLen16INT20TcVarGlobal323952496PMPS_GVL.stAttenuators64ST_PMPS_Attenuator.nTran1.xAttOK1TcVarGlobal323952512PMPS_GVL.cstFullBeam1760ST_BeamParamspytmc pv: @(PREFIX)FullBeamCnst - io: i + io: i archive: 1Hz monitor field: DESC Full beam constant TcVarGlobal323952576PMPS_GVL.cst0RateBeam1760ST_BeamParamspytmc pv: @(PREFIX)0RateBeamCnst - io: i + 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.reVHyst32REAL5pytmc +////////////////////////////////////]]>32REAL5pytmc pv: @(PREFIX)eVRangeHyst - io: i + io: i archive: 1Hz monitor field: DESC eV Range hystersis field: EGU eV 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 pv: @(PREFIX)L:eVRangeCnst - io: i + 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 pv: @(PREFIX)K:eVRangeCnst - io: i + io: i archive: 1Hz monitor field: DESC eV Range constants field: EGU eV @@ -1004,4 +1004,4 @@ This function provides ILK and Set Point Protection for the Cold Cathode]]>TcVarGlobal3072000PMPS_GVL.AccumulatedFF32UDINTpytmc pv: @(PREFIX)AccumulatedFastFaults io: i - TcVarGlobal3072032PMPS_GVL.BP_jsonDoc64SJsonValueTcVarGlobal3072064LCLSGeneralEventClassApplicationNamePort_851ChangeDate2024-01-18T13:19:49GeneratedCodeSize700416GlobalDataSize65372160 \ No newline at end of file + TcVarGlobal3072032PMPS_GVL.BP_jsonDoc64SJsonValueTcVarGlobal3072064LCLSGeneralEventClassApplicationNamePort_851ChangeDate2024-02-16T16:19:40GeneratedCodeSize700416GlobalDataSize65372160 \ No newline at end of file diff --git a/L2SIVacuum/LineIDs.dbg b/L2SIVacuum/LineIDs.dbg index c6a7bb020a11d1df1155d43994d3edc9f1195b31..3c02a8d829afb8f6c52e6859ac0f07477e9c0c2e 100644 GIT binary patch delta 166 zcmdnPGKaN(^_vKHo-^h?osDy?WOz8Vco-NMn1R?Ch+`NT7?^-`Dv$<&cqknWrIUa( zh#3x+Wnf5wibnwXAT!dS{1_lx6^KD*fq-b6*wfE>Zl0SZVmIoiGD@-l#Xxc(y9Iz4 M1o%P33usn1Q%%V`eoYCx{2ayp#Vj&IbTW1`DbH diff --git a/L2SIVacuum/POUs/Functions/Valves/FB_VCN_VAT590.TcPOU b/L2SIVacuum/POUs/Functions/Valves/FB_VCN_VAT590.TcPOU index aa9e102..3009f66 100644 --- a/L2SIVacuum/POUs/Functions/Valves/FB_VCN_VAT590.TcPOU +++ b/L2SIVacuum/POUs/Functions/Valves/FB_VCN_VAT590.TcPOU @@ -18,6 +18,13 @@ VAR CONSTANT cClosePosition : REAL := 0.0; // Default position setpoint lower scale value cPresSPUpLim : REAL := 1E+6; // Default pressure setpoint upper scale value cPresSPLowLim : REAL := 0; // Default pressure setpoint lower scale value + cMinPress : REAL := 1e-11; // Default Min. pressure in Torr that can be used and requested + cMaxPress : REAL := 1e-2; // Default Max. pressure in Torr that can be used and requested + //Ranges 0 to 1000000 (or 0.0 to 10V) (1E-11 to 1E-2) + cBasePress : REAL := 1E-11; // Pressure sensor lower scale value + cPressRawSlope : REAL := 1E+5; // Slope (in Units per decade) used for conversion of pressure in Torr to valve External Digital pressure sensor 1 input raw value (0-1000000) + cPressRawBase : REAL := 1E+5; // Valve analog output base(in Units per decade) defined for how much the curve is shifted + cPressCtrl : ST_CoEIndSub := (nIndex := 16#2199, nSubIndex := 0); // Selected pressure controller CoE register cSensorDelay_AD : ST_CoEIndSub := (nIndex := 16#219A, nSubIndex := 0); // Adaptive DS controller Sensor Delay CoE register cRampTime_AD : ST_CoEIndSub := (nIndex := 16#219B, nSubIndex := 0); // Adaptive DS controller Ramp Time CoE register @@ -42,12 +49,11 @@ END_VAR VAR fCalcPosSP : REAL := 0; fCalcPresSP : REAL := 0; + fPressRaw : REAL := 0; eValveModeSP : E_ControlModeSP; fReqPos : REAL; // Requested position internal variable fReqPres : REAL; // Requested pressure internal variable - fPresLowLim : REAL := 1E-10; // Pressure sensor lower scale value - fSlope : REAL := 1E+5; // Slope (Units per decade) used for conversion from Torr units - fVbase : REAL := 1E+5; // Vbase (Units per decade) defined for how much the curve is shifted + bRemAcsToggle : BOOL; // Remote access control bit //timer for zero function tZeroTogg : TON := (PT := T#1S); @@ -85,6 +91,7 @@ VAR // Ethercat Interface Outputs o_nRawPositionSP AT %Q* : DINT; // Position setpoint o_nRawPressureSP AT %Q* : DINT; // Pressure setpoint + o_nRawPressure AT %Q* : DINT; // Raw pressure output, eliminate need for external connection, 0-100000 which coresponds to 0-10V o_eCtrlModeSP AT %Q* : E_ControlModeSP; // Valve control mode setpoint o_stGenCtrlSP AT %Q* : ST_GeneralControlSP;// General Control setpoint (*Ethercat Interface Status Check*) @@ -105,7 +112,7 @@ This FB should be used as a low level control block. It provides: Valve position ceiling Interlock -CoE Interface +CoE Interface R/W It could be used for: Valve position/flow linearization @@ -164,28 +171,22 @@ fCalcPosSP := LIMIT(cClosePosition, fCalcPosSP, cOpenPosition); //The requested (*Pressure calculation*) //Limit the input from EPICS between upper and lower limit defined for seleceted pressure sensor -fReqPres := LIMIT(fPresLowLim, fReqPres, fPresMaxLim); +fReqPres := LIMIT(cMinPress, fReqPres, fPresMaxLim); +//Calcuate pressure setpoint +fCalcPresSP := cPressRawSlope * LOG(fReqPres/cBasePress) + cPressRawBase; +fCalcPresSP := LIMIT(cPresSPLowLim, fCalcPresSP, cPresSPUpLim); //The requested pressure SP should remain within this range -// Calculate pressure readback and pressure setpoint according to selected pressure gauge -CASE stVcnVat590.ePressureSensor OF - E_VAT590_PressureSensor.MKS500: - fPresLowLim := 1.0E-10; - fSlope := 1E+5; - fVbase := 1E+5; - //Calcuate pressure setpoint - fCalcPresSP := fSlope * LOG(fReqPres/fPresLowLim) + fVbase; - fCalcPresSP := LIMIT(cPresSPLowLim, fCalcPresSP, cPresSPUpLim); //The requested pressure SP should remain within this range - //Calculate pressure readback in Torr units - stVcnVat590.fPressure := LREAL_TO_REAL(EXPT(10,((DINT_TO_REAL(stVcnVat590.nRawPressure)-fVbase)/fSlope + LOG(fPresLowLim)))); - ELSE - fCalcPresSP := 0; - stVcnVat590.fPressure := 0; -END_CASE +//Calculate pressure readback in Torr units +stVcnVat590.fPressure := LREAL_TO_REAL(EXPT(10,((DINT_TO_REAL(stVcnVat590.nRawPressure)-cBasePress)/cPressRawSlope + LOG(cBasePress)))); + +//Calculate pressure raw value linked to valve External Digital pressure sensor 1 input +fPressRaw := cPressRawSlope * LOG(IG.rPRESS/cBasePress) + cPressRawBase; -(*Calculated Pressure SP and Pressure readback is 0 if Pressure sensor is not working*) -IF NOT (IG.xPRESS_OK AND IG.rPRESS < fPresRbMaxLim ) THEN +(*Calculated Pressure SP, Pressure readback and Pressure Raw output value are 0 if Pressure sensor is not working*) +IF NOT IG.xPRESS_OK THEN fCalcPresSP := 0; stVcnVat590.fPressure := 0; + fPressRaw := 0; END_IF (*Zero function*) @@ -429,10 +430,10 @@ stCoeParamsInternal := stVcnVat590.stCoeParameters; //Save current values to int From 8104cfd93a2c3966a45729b495fa64c3b53e7490 Mon Sep 17 00:00:00 2001 From: Janez Govednik Date: Thu, 7 Mar 2024 14:22:14 -0800 Subject: [PATCH 2/3] Updating pressure readback calculation --- L2SIVacuum/L2SIVacuum.tmc | 2 +- L2SIVacuum/LineIDs.dbg | Bin 668 -> 596 bytes .../POUs/Functions/Valves/FB_VCN_VAT590.TcPOU | 24 ++++++++++-------- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/L2SIVacuum/L2SIVacuum.tmc b/L2SIVacuum/L2SIVacuum.tmc index eb0ada9..56387db 100644 --- a/L2SIVacuum/L2SIVacuum.tmc +++ b/L2SIVacuum/L2SIVacuum.tmc @@ -1004,4 +1004,4 @@ This function provides ILK and Set Point Protection for the Cold Cathode]]>TcVarGlobal3072000PMPS_GVL.AccumulatedFF32UDINTpytmc pv: @(PREFIX)AccumulatedFastFaults io: i - TcVarGlobal3072032PMPS_GVL.BP_jsonDoc64SJsonValueTcVarGlobal3072064LCLSGeneralEventClassApplicationNamePort_851ChangeDate2024-02-16T16:19:40GeneratedCodeSize700416GlobalDataSize65372160 \ No newline at end of file + TcVarGlobal3072032PMPS_GVL.BP_jsonDoc64SJsonValueTcVarGlobal3072064LCLSGeneralEventClassApplicationNamePort_851ChangeDate2024-03-07T14:20:31GeneratedCodeSize700416GlobalDataSize65372160 \ No newline at end of file diff --git a/L2SIVacuum/LineIDs.dbg b/L2SIVacuum/LineIDs.dbg index 3c02a8d829afb8f6c52e6859ac0f07477e9c0c2e..6e0543051257e3a23e2efa054ce1a8a0d3f62f86 100644 GIT binary patch delta 42 wcmbQkdWA)C^_vKHo-^h?osDy?WOz8Vm>C!t&M-1C1ORC{CI$x0jhV(w01vwg9{>OV delta 114 zcmcb@GKV#D^_vKHo-^h?osDy?WOz8Vco-NMn1R?Ch+`NT7?^-`Dv$<&cqknWrIUa( dh#3x+Wnf5wibnwXAT!dS{1_lxb)%v&69Dwk4D0{^ diff --git a/L2SIVacuum/POUs/Functions/Valves/FB_VCN_VAT590.TcPOU b/L2SIVacuum/POUs/Functions/Valves/FB_VCN_VAT590.TcPOU index 3009f66..85bed8f 100644 --- a/L2SIVacuum/POUs/Functions/Valves/FB_VCN_VAT590.TcPOU +++ b/L2SIVacuum/POUs/Functions/Valves/FB_VCN_VAT590.TcPOU @@ -91,7 +91,7 @@ VAR // Ethercat Interface Outputs o_nRawPositionSP AT %Q* : DINT; // Position setpoint o_nRawPressureSP AT %Q* : DINT; // Pressure setpoint - o_nRawPressure AT %Q* : DINT; // Raw pressure output, eliminate need for external connection, 0-100000 which coresponds to 0-10V + o_nRawPressure AT %Q* : DINT; // Raw pressure output, eliminate need for external connection of the press. gauge, 0-100000 which coresponds to 0-10V o_eCtrlModeSP AT %Q* : E_ControlModeSP; // Valve control mode setpoint o_stGenCtrlSP AT %Q* : ST_GeneralControlSP;// General Control setpoint (*Ethercat Interface Status Check*) @@ -164,12 +164,12 @@ ELSE stVcnVat590.eValveControl := E_VCN_VAT590.CloseValve; END_IF -(*Requested Position calculation*) +(*Position SP calculation*) fReqPos := LIMIT(0, fReqPos, fUpperLimit); fCalcPosSP := fReqPos * (cOpenPosition-cClosePosition)/100 + cClosePosition; fCalcPosSP := LIMIT(cClosePosition, fCalcPosSP, cOpenPosition); //The requested position SP should remain within this range -(*Pressure calculation*) +(*Pressure SP calculation*) //Limit the input from EPICS between upper and lower limit defined for seleceted pressure sensor fReqPres := LIMIT(cMinPress, fReqPres, fPresMaxLim); //Calcuate pressure setpoint @@ -177,15 +177,17 @@ fCalcPresSP := cPressRawSlope * LOG(fReqPres/cBasePress) + cPressRawBase; fCalcPresSP := LIMIT(cPresSPLowLim, fCalcPresSP, cPresSPUpLim); //The requested pressure SP should remain within this range //Calculate pressure readback in Torr units -stVcnVat590.fPressure := LREAL_TO_REAL(EXPT(10,((DINT_TO_REAL(stVcnVat590.nRawPressure)-cBasePress)/cPressRawSlope + LOG(cBasePress)))); +//stVcnVat590.fPressure := LREAL_TO_REAL(EXPT(10,((DINT_TO_REAL(stVcnVat590.nRawPressure)-cBasePress)/cPressRawSlope + LOG(cBasePress)))); -//Calculate pressure raw value linked to valve External Digital pressure sensor 1 input -fPressRaw := cPressRawSlope * LOG(IG.rPRESS/cBasePress) + cPressRawBase; - -(*Calculated Pressure SP, Pressure readback and Pressure Raw output value are 0 if Pressure sensor is not working*) -IF NOT IG.xPRESS_OK THEN - fCalcPresSP := 0; - stVcnVat590.fPressure := 0; +(*Calculated Pressure SP, Pressure readback and PressureRaw output value are 0 if Pressure sensor is not working*) +//Calculate PressureRaw value linked to the valve External Digital pressure sensor 1 input +//Pressure information from IG input is liked to stVcnVat590.fPressure +IF IG.xPRESS_OK THEN + stVcnVat590.fPressure := IG.rPRESS; + fPressRaw := cPressRawSlope * LOG(IG.rPRESS/cBasePress) + cPressRawBase; +ELSE + fCalcPresSP := 0; + stVcnVat590.fPressure := 0; fPressRaw := 0; END_IF From 14cce310ee4284f7a891741c1360893c25ef9be8 Mon Sep 17 00:00:00 2001 From: Janez Govednik Date: Fri, 22 Mar 2024 14:05:45 -0700 Subject: [PATCH 3/3] FB_VCN_VAT590 cleanup after field test --- L2SIVacuum/L2SIVacuum.tmc | 6 ++-- L2SIVacuum/LineIDs.dbg | Bin 596 -> 604 bytes .../POUs/Functions/Valves/FB_VCN_VAT590.TcPOU | 26 ++++++++---------- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/L2SIVacuum/L2SIVacuum.tmc b/L2SIVacuum/L2SIVacuum.tmc index 56387db..9fb9037 100644 --- a/L2SIVacuum/L2SIVacuum.tmc +++ b/L2SIVacuum/L2SIVacuum.tmc @@ -1,4 +1,4 @@ -ST_System40xSwAlmRstBOOL80xAtVacuumBOOL88xFirstScanBOOL816xOverrideModeBOOL824xIOStateBOOL832analysis-33T_MaxString2048STRING(255)TcEventSeverity16INT01234plcAttribute_qualified_onlyplcAttribute_strictE_Subsystem16WORDNILVALUE0VACUUM1MPS2MOTION3FIELDBUS4SDS5OPTICS6I_ArgumentsChangeListener64PVOIDOnArgumentsChangedITcAsyncResult32ITcUnknownGetIsBusyHRESULT32bIsBusyBOOL3232GetHasErrorHRESULT32bErrorBOOL3232GetErrorCodeHRESULT32hresultHRESULT32FB_AsyncStrResult128bBusyBOOL865879240bErrorBOOL865879312hrErrorCodeHRESULT3265879328nStringSizeUDINT3265879288sResultSTRING(255)204865879320__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_TcSourceInfonIdUDINT326587912065879168sNameSTRING(255)20486587920065879224ExtendNameBOOL8sExtensionSTRING(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__BBUSYBOOL84032conditionalshoweSeverityTcEventSeverity1665879424ipSourceInfoI_TcSourceInfo6465879384nEventIdUDINT3265879560nUniqueIdUDINT3265879568sEventClassNameSTRING(255)204865879480sEventTextSTRING(255)204865879576EqualsToEventClassBOOL8OtherEventClassGUID128_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_TcMessagenTimeSentULINT6465879624SetJsonAttributeHRESULT32sJsonAttributeSTRING(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_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_TRIG96CLKBOOL864ItemTypeInputQBOOL872ItemTypeOutputMBOOL8801conditionalshowPouTypeFunctionBlockconditionalshow_all_localsR_TRIGTcVarGlobal323958208PMPS_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_0C0228TcVarGlobal5268250244PlcTask Retains066650112PMPS_GVL.SuccessfulPreemption32UDINTpytmc + 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 pv: @(PREFIX)SuccessfulPreemptions io: i TcVarGlobal3072000PMPS_GVL.AccumulatedFF32UDINTpytmc pv: @(PREFIX)AccumulatedFastFaults io: i - TcVarGlobal3072032PMPS_GVL.BP_jsonDoc64SJsonValueTcVarGlobal3072064LCLSGeneralEventClassApplicationNamePort_851ChangeDate2024-03-07T14:20:31GeneratedCodeSize700416GlobalDataSize65372160 \ No newline at end of file + TcVarGlobal3072032PMPS_GVL.BP_jsonDoc64SJsonValueTcVarGlobal3072064LCLSGeneralEventClassApplicationNamePort_851ChangeDate2024-03-22T14:00:03GeneratedCodeSize700416GlobalDataSize65372160 \ No newline at end of file diff --git a/L2SIVacuum/LineIDs.dbg b/L2SIVacuum/LineIDs.dbg index 6e0543051257e3a23e2efa054ce1a8a0d3f62f86..e80ce728bf8755f6c053a43641a0aa68275e6913 100644 GIT binary patch delta 46 ycmcb@a)(8A^_vKHo-^h?osDy?WOz8VSQr=>)-o|LxC7}QK$;au|KBKU&IABS+zY7y delta 38 scmcb^a)m{9^_vKHo-^h?osDy?WOz8Vm>C!t&M-1C1OREdjjHBM0Q5=;?*IS* diff --git a/L2SIVacuum/POUs/Functions/Valves/FB_VCN_VAT590.TcPOU b/L2SIVacuum/POUs/Functions/Valves/FB_VCN_VAT590.TcPOU index 85bed8f..e53ce38 100644 --- a/L2SIVacuum/POUs/Functions/Valves/FB_VCN_VAT590.TcPOU +++ b/L2SIVacuum/POUs/Functions/Valves/FB_VCN_VAT590.TcPOU @@ -20,8 +20,7 @@ VAR CONSTANT cPresSPLowLim : REAL := 0; // Default pressure setpoint lower scale value cMinPress : REAL := 1e-11; // Default Min. pressure in Torr that can be used and requested cMaxPress : REAL := 1e-2; // Default Max. pressure in Torr that can be used and requested - //Ranges 0 to 1000000 (or 0.0 to 10V) (1E-11 to 1E-2) - cBasePress : REAL := 1E-11; // Pressure sensor lower scale value + cBasePress : REAL := 1E-11; // Pressure sensor base value cPressRawSlope : REAL := 1E+5; // Slope (in Units per decade) used for conversion of pressure in Torr to valve External Digital pressure sensor 1 input raw value (0-1000000) cPressRawBase : REAL := 1E+5; // Valve analog output base(in Units per decade) defined for how much the curve is shifted @@ -49,8 +48,8 @@ END_VAR VAR fCalcPosSP : REAL := 0; fCalcPresSP : REAL := 0; - fPressRaw : REAL := 0; - eValveModeSP : E_ControlModeSP; + fPressRaw : REAL := 0; // Ranges 0 to 1000000 (or 0.0 to 10V) (1E-12 to 1E-2) + eValveModeSP : E_ControlModeSP; // Control Mode setpoint internal variable fReqPos : REAL; // Requested position internal variable fReqPres : REAL; // Requested pressure internal variable @@ -91,7 +90,7 @@ VAR // Ethercat Interface Outputs o_nRawPositionSP AT %Q* : DINT; // Position setpoint o_nRawPressureSP AT %Q* : DINT; // Pressure setpoint - o_nRawPressure AT %Q* : DINT; // Raw pressure output, eliminate need for external connection of the press. gauge, 0-100000 which coresponds to 0-10V + o_nRawPressure AT %Q* : DINT; // Raw pressure output, eliminate need for external connection of AI, ranges 0 to 1000000 (or 0.0 to 10V) (1E-12 Torr to 1E-2 Torr) o_eCtrlModeSP AT %Q* : E_ControlModeSP; // Valve control mode setpoint o_stGenCtrlSP AT %Q* : ST_GeneralControlSP;// General Control setpoint (*Ethercat Interface Status Check*) @@ -176,19 +175,16 @@ fReqPres := LIMIT(cMinPress, fReqPres, fPresMaxLim); fCalcPresSP := cPressRawSlope * LOG(fReqPres/cBasePress) + cPressRawBase; fCalcPresSP := LIMIT(cPresSPLowLim, fCalcPresSP, cPresSPUpLim); //The requested pressure SP should remain within this range -//Calculate pressure readback in Torr units -//stVcnVat590.fPressure := LREAL_TO_REAL(EXPT(10,((DINT_TO_REAL(stVcnVat590.nRawPressure)-cBasePress)/cPressRawSlope + LOG(cBasePress)))); - (*Calculated Pressure SP, Pressure readback and PressureRaw output value are 0 if Pressure sensor is not working*) -//Calculate PressureRaw value linked to the valve External Digital pressure sensor 1 input -//Pressure information from IG input is liked to stVcnVat590.fPressure +//Calculate PressureRaw value linked to the Valve's External Digital pressure sensor 1 input +//Pressure information from IG input is linked to stVcnVat590.fPressure IF IG.xPRESS_OK THEN - stVcnVat590.fPressure := IG.rPRESS; - fPressRaw := cPressRawSlope * LOG(IG.rPRESS/cBasePress) + cPressRawBase; + stVcnVat590.fPressure := IG.rPRESS; + fPressRaw := cPressRawSlope * LOG(IG.rPRESS/cBasePress) + cPressRawBase; ELSE - fCalcPresSP := 0; - stVcnVat590.fPressure := 0; - fPressRaw := 0; + fCalcPresSP := 0; + stVcnVat590.fPressure := 0; + fPressRaw := 0; END_IF (*Zero function*)