Merge pull request #6 from EuropeanSpallationSource/federicor/progs-for-pneumtaics
Federicor/progs for pneumtaics
This commit is contained in:
@@ -1,11 +1,19 @@
|
||||
<?xml version="1.0"?>
|
||||
<TcSmItem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.beckhoff.com/schemas/2012/07/TcSmProject" TcSmVersion="1.0" TcVersion="3.1.4024.62" ClassName="CNestedPlcProjDef">
|
||||
<Project GUID="{FB261665-FD20-4BF2-97F8-2854C82B752D}" Name="tc_project_app" PrjFilePath="..\..\tc_project_app\tc_project_app.plcproj" TmcFilePath="..\..\tc_project_app\tc_project_app.tmc" ReloadTmc="true" AmsPort="852" FileArchiveSettings="#x000e" ClearInvalidPersist="true" SymbolicMapping="true">
|
||||
<Instance Id="#x08502040" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcPath="tc_project_app\tc_project_app.tmc" TmcHash="{C4BD3855-3315-D1A6-F8E7-1C5E39A5801C}">
|
||||
<Instance Id="#x08502040" TcSmClass="TComPlcObjDef" KeepUnrestoredLinks="2" TmcPath="tc_project_app\tc_project_app.tmc" TmcHash="{38EB9C89-F2EA-1F8B-A69A-A8444D140251}">
|
||||
<Name>tc_project_app Instance</Name>
|
||||
<CLSID ClassFactory="TcPlc30">{08500001-0000-0000-F000-000000000064}</CLSID>
|
||||
<Vars VarGrpType="1">
|
||||
<Name>PlcTask Inputs</Name>
|
||||
<Var>
|
||||
<Name>Safety_Shutter.bPSSPermit1</Name>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>Safety_Shutter.bPSSPermit2</Name>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>GVL.nAirPressureSensorGroup1</Name>
|
||||
<Comment><![CDATA[Raw value from analog air pressure sensor for pneumatic axes group 1]]></Comment>
|
||||
@@ -17,6 +25,24 @@
|
||||
<Type>INT</Type>
|
||||
</Var>
|
||||
</Vars>
|
||||
<Vars VarGrpType="2" AreaNo="1">
|
||||
<Name>PlcTask Outputs</Name>
|
||||
<Var>
|
||||
<Name>Safety_Shutter.bPSSPermitPower</Name>
|
||||
<Comment><![CDATA[Define all necessary variables for your application]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>Pneumatic_Box.bPowerLedAndLight</Name>
|
||||
<Comment><![CDATA[Variable to power the green LED and the internal light]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
<Var>
|
||||
<Name>Pneumatic_Box.bPowerPressureSensors</Name>
|
||||
<Comment><![CDATA[Variable to power the air pressure sensors in the pneuatmic box]]></Comment>
|
||||
<Type>BOOL</Type>
|
||||
</Var>
|
||||
</Vars>
|
||||
<Contexts>
|
||||
<Context>
|
||||
<Id>0</Id>
|
||||
|
||||
@@ -12,10 +12,11 @@ VAR_GLOBAL CONSTANT
|
||||
nPNEUMATIC_AXIS_NUM: UINT := 0; //Specifies the total number of pneumatic axes in the system
|
||||
|
||||
//Pneumatic air pressure groups high and low limits
|
||||
fLOW_LIMIT_AIR_PRESSURE1: REAL := 0; //User defined value in bar for low limit air pressure value for pneumatic axes group 1
|
||||
fHIGH_LIMIT_AIR_PRESSURE1: REAL := 0; //User defined value in bar for high limit air pressure value for pneumatic axes group 1
|
||||
fLOW_LIMIT_AIR_PRESSURE2: REAL := 0; //User defined value in bar for low limit air pressure value for pneumatic axes group 2
|
||||
fHIGH_LIMIT_AIR_PRESSURE2: REAL := 0; //User defined value in bar for high limit air pressure value for pneumatic axes group 2
|
||||
tTIME_PRESSURE_OUT_OF_RANGE: TIME := T#10S; //User defined allowed time in seconds for the duration of air pressure value fluctuation
|
||||
fLOW_LIMIT_AIR_PRESSURE1: REAL := 1; //User defined value in bar for low limit air pressure value for pneumatic axes group 1
|
||||
fHIGH_LIMIT_AIR_PRESSURE1: REAL := 6; //User defined value in bar for high limit air pressure value for pneumatic axes group 1
|
||||
fLOW_LIMIT_AIR_PRESSURE2: REAL := 1; //User defined value in bar for low limit air pressure value for pneumatic axes group 2
|
||||
fHIGH_LIMIT_AIR_PRESSURE2: REAL := 6; //User defined value in bar for high limit air pressure value for pneumatic axes group 2
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
</GVL>
|
||||
|
||||
@@ -5,21 +5,6 @@
|
||||
<Data>
|
||||
<o xml:space="preserve" t="GlobalTextListObject">
|
||||
<l n="TextList" t="ArrayList" cet="TextListRow">
|
||||
<o>
|
||||
<v n="TextID">"947"</v>
|
||||
<v n="TextDefault">" LocalMode"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"972"</v>
|
||||
<v n="TextDefault">" bLocalMode"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"587"</v>
|
||||
<v n="TextDefault">"%1d"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"951"</v>
|
||||
<v n="TextDefault">"%2.2f"</v>
|
||||
@@ -40,21 +25,11 @@
|
||||
<v n="TextDefault">"%d"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"39"</v>
|
||||
<v n="TextDefault">"%n"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"821"</v>
|
||||
<v n="TextDefault">"%s"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"916"</v>
|
||||
<v n="TextDefault">"%time_t"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"940"</v>
|
||||
<v n="TextDefault">"%x"</v>
|
||||
@@ -95,11 +70,6 @@
|
||||
<v n="TextDefault">"bBwEnabled"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"633"</v>
|
||||
<v n="TextDefault">"bCoammandAborted"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"225"</v>
|
||||
<v n="TextDefault">"bCommandAborted"</v>
|
||||
@@ -125,11 +95,6 @@
|
||||
<v n="TextDefault">"bError"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"102"</v>
|
||||
<v n="TextDefault">"bExecute"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"999"</v>
|
||||
<v n="TextDefault">"bExtended"</v>
|
||||
@@ -140,11 +105,6 @@
|
||||
<v n="TextDefault">"bFwEnabled"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"297"</v>
|
||||
<v n="TextDefault">"bGeared"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"902"</v>
|
||||
<v n="TextDefault">"bHighTempAxisDisabled"</v>
|
||||
@@ -155,11 +115,6 @@
|
||||
<v n="TextDefault">"bHomed"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"944"</v>
|
||||
<v n="TextDefault">"bCommandAborted"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"509"</v>
|
||||
<v n="TextDefault">"bHWMaskActive"</v>
|
||||
@@ -176,8 +131,8 @@
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"541"</v>
|
||||
<v n="TextDefault">"bInVeloit"</v>
|
||||
<v n="TextID">"835"</v>
|
||||
<v n="TextDefault">"bLocalMode"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
@@ -190,21 +145,11 @@
|
||||
<v n="TextDefault">"bMovingExtend"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"648"</v>
|
||||
<v n="TextDefault">"bMovingExtract"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"998"</v>
|
||||
<v n="TextDefault">"bMovingRetract"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"511"</v>
|
||||
<v n="TextDefault">"bPermit"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"963"</v>
|
||||
<v n="TextDefault">"bPSSPermit"</v>
|
||||
@@ -245,11 +190,6 @@
|
||||
<v n="TextDefault">"disSoftLimFw"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"986"</v>
|
||||
<v n="TextDefault">"ehomeDirect"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"350"</v>
|
||||
<v n="TextDefault">"eHomeDirect"</v>
|
||||
@@ -305,11 +245,6 @@
|
||||
<v n="TextDefault">"eHomeToRef_Fwd"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"313"</v>
|
||||
<v n="TextDefault">"Elapsed time"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"87"</v>
|
||||
<v n="TextDefault">"Elapsed time (ms)"</v>
|
||||
@@ -320,16 +255,6 @@
|
||||
<v n="TextDefault">"ENABLE"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"106"</v>
|
||||
<v n="TextDefault">"ENABLE BW"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"105"</v>
|
||||
<v n="TextDefault">"ENABLE FW"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"1009"</v>
|
||||
<v n="TextDefault">"End switches simulation"</v>
|
||||
@@ -345,11 +270,6 @@
|
||||
<v n="TextDefault">"EndSwitchFwd"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"109"</v>
|
||||
<v n="TextDefault">"English"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"1496"</v>
|
||||
<v n="TextDefault">"enSoftLimBw"</v>
|
||||
@@ -385,11 +305,6 @@
|
||||
<v n="TextDefault">"eWriteParameter"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"768"</v>
|
||||
<v n="TextDefault">"eWriteParameter"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"937"</v>
|
||||
<v n="TextDefault">"E_PneumaticErrors"</v>
|
||||
@@ -400,11 +315,6 @@
|
||||
<v n="TextDefault">"E_PneumaticMode"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"463"</v>
|
||||
<v n="TextDefault">"E_PneumaticMode Selection"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"955"</v>
|
||||
<v n="TextDefault">"fAcceleration"</v>
|
||||
@@ -430,11 +340,6 @@
|
||||
<v n="TextDefault">"fHomePosition"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"157"</v>
|
||||
<v n="TextDefault">"fHomePositions"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"957"</v>
|
||||
<v n="TextDefault">"fPosition"</v>
|
||||
@@ -475,11 +380,6 @@
|
||||
<v n="TextDefault">"fWriteCoEParam"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"299"</v>
|
||||
<v n="TextDefault">"gearIn"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"717"</v>
|
||||
<v n="TextDefault">"gearInMultiMaster"</v>
|
||||
@@ -500,31 +400,11 @@
|
||||
<v n="TextDefault">"High pressure limit (bar)"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"123"</v>
|
||||
<v n="TextDefault">"HOME"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"568"</v>
|
||||
<v n="TextDefault">"Home"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"169"</v>
|
||||
<v n="TextDefault">"homeDirect"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"566"</v>
|
||||
<v n="TextDefault">"homeSensorNeg"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"677"</v>
|
||||
<v n="TextDefault">"homeSensorPos"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"784"</v>
|
||||
<v n="TextDefault">"Interlock Bwd"</v>
|
||||
@@ -550,41 +430,16 @@
|
||||
<v n="TextDefault">"Label"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"19"</v>
|
||||
<v n="TextDefault">"Limit switches simulation"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"919"</v>
|
||||
<v n="TextDefault">"LimitBwd"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"459"</v>
|
||||
<v n="TextDefault">"LimitFwd"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"961"</v>
|
||||
<v n="TextDefault">"Low pressure limit (bar)"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"298"</v>
|
||||
<v n="TextDefault">"masterGear"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"460"</v>
|
||||
<v n="TextDefault">"Mode Selection"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"118"</v>
|
||||
<v n="TextDefault">"Mode selection"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"111"</v>
|
||||
<v n="TextDefault">"moveAbsolute"</v>
|
||||
@@ -610,31 +465,11 @@
|
||||
<v n="TextDefault">"nIndex"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"716"</v>
|
||||
<v n="TextDefault">"nTimeToExtend"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"787"</v>
|
||||
<v n="TextDefault">"nTimeToExtend(ms)"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"992"</v>
|
||||
<v n="TextDefault">"nTimeToExtend(s)"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"929"</v>
|
||||
<v n="TextDefault">"nTimeToRetract"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"444"</v>
|
||||
<v n="TextDefault">"nTimeToRetract(ms)"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"995"</v>
|
||||
<v n="TextDefault">"nTimeToRetract(s)"</v>
|
||||
@@ -645,26 +480,11 @@
|
||||
<v n="TextDefault">"Pneumatic Axis Selection"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"958"</v>
|
||||
<v n="TextDefault">"Pneumatic AxisSelection"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"694"</v>
|
||||
<v n="TextDefault">"Pneumatics"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"942"</v>
|
||||
<v n="TextDefault">"reset"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"611"</v>
|
||||
<v n="TextDefault">"shomeDirect"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"227"</v>
|
||||
<v n="TextDefault">"Single Solenoid Manual"</v>
|
||||
@@ -675,21 +495,6 @@
|
||||
<v n="TextDefault">"Single Solenoid PLC"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"581"</v>
|
||||
<v n="TextDefault">"Single Solenoid PLC ON"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"959"</v>
|
||||
<v n="TextDefault">"Sngle solenoid PLC"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"466"</v>
|
||||
<v n="TextDefault">"Sngle solenoid PLC "</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"855"</v>
|
||||
<v n="TextDefault">"sStatus"</v>
|
||||
@@ -710,36 +515,11 @@
|
||||
<v n="TextDefault">"stop"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"978"</v>
|
||||
<v n="TextDefault">"Stop at any Limit Swtich"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"1033"</v>
|
||||
<v n="TextDefault">"SWLimitSwitches"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"108"</v>
|
||||
<v n="TextDefault">"Test Language"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"103"</v>
|
||||
<v n="TextDefault">"toggle"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"445"</v>
|
||||
<v n="TextDefault">"Write"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
<o>
|
||||
<v n="TextID">"322"</v>
|
||||
<v n="TextDefault">"WriteParameters"</v>
|
||||
<l n="LanguageTexts" t="ArrayList" />
|
||||
</o>
|
||||
</l>
|
||||
<l n="Languages" t="ArrayList" />
|
||||
<v n="GuidInit">{a3a9f9fc-0872-4de9-8fe0-73a54ef2c389}</v>
|
||||
|
||||
-53
@@ -1,53 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<POU Name="Cabinet_Configuration" Id="{f09ddf2c-38c8-0b17-348a-c2e3aa836c88}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[PROGRAM Cabinet_Configuration
|
||||
VAR
|
||||
//fbCabinetMonitoring: FB_ESSMonitoringMCU5001a; FB_ESSMonitoringMCU5001b; FB_ESSMonitoringMCU6001a; FB_ESSMonitoringMCU6001b; FB_ESSMonitoringMCU5002; FB_ESSMonitoringMCU5003;
|
||||
fScaledAirPressureGroup1: REAL;
|
||||
fScaledAirPressureGroup2: REAL;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[//Cabinet monitoring
|
||||
(*fbCabinetMonitoring(
|
||||
nEcMasterNetId:= , //AMS NetId of Device (EtherCAT) from I/Os
|
||||
aErrorID=> ,
|
||||
aErrorMsg=> ,
|
||||
nEcMasterFramesLost=> ,
|
||||
nCPULoad=> ,
|
||||
fCycleExecTime_ms=> ,
|
||||
nAlarmGrpBitNumber=> );
|
||||
*)
|
||||
|
||||
//Scale pressure sensor group 1 and 2
|
||||
fScaledAirPressureGroup1 := mScaledPressureValue(nRawValue:=GVL.nAirPressureSensorGroup1);
|
||||
fScaledAirPressureGroup2 := mScaledPressureValue(nRawValue:=GVL.nAirPressureSensorGroup2);
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
<Method Name="mScaledPressureValue" Id="{3a9ac7a5-453e-098d-2143-f7d60168bb86}">
|
||||
<Declaration><![CDATA[METHOD PUBLIC mScaledPressureValue : REAL
|
||||
VAR_INPUT
|
||||
nRawValue: INT; //Raw value from the Terminal
|
||||
END_VAR
|
||||
VAR
|
||||
rGradient: REAL; //Internal variable to calculate gradient of the slope
|
||||
rOffset: REAL; //Internal variable to calculate the offset value
|
||||
|
||||
fRawHigh: REAL := 30518.0; //Highest value for the Raw value
|
||||
fRawLow: REAL := 0.0; //Lowest value for the Raw value
|
||||
fScaledHigh: REAL := 10.0; //Highest value for the Scaled value 10 bar
|
||||
fScaledLow: REAL := 0.0; //Lowest value for the Scaled value 0 bar
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[rGradient:= (fScaledHigh - fScaledLow)/(fRawHigh - fRawLow);
|
||||
rOffset:= fScaledHigh - rGradient * fRawHigh;
|
||||
mScaledPressureValue:= rGradient * nRawValue + rOffset;
|
||||
|
||||
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<POU Name="Cabinet_Monitoring" Id="{f09ddf2c-38c8-0b17-348a-c2e3aa836c88}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[PROGRAM Cabinet_Monitoring
|
||||
VAR
|
||||
//fbCabinetMonitoring: FB_ESSMonitoringMCU5001a; FB_ESSMonitoringMCU5001b; FB_ESSMonitoringMCU6001a; FB_ESSMonitoringMCU6001b; FB_ESSMonitoringMCU5002; FB_ESSMonitoringMCU5003;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[//Cabinet monitoring
|
||||
(*fbCabinetMonitoring(
|
||||
nEcMasterNetId:= , //AMS NetId of Device (EtherCAT) from I/Os
|
||||
aErrorID=> ,
|
||||
aErrorMsg=> ,
|
||||
nEcMasterFramesLost=> ,
|
||||
nCPULoad=> ,
|
||||
fCycleExecTime_ms=> ,
|
||||
nAlarmGrpBitNumber=> );
|
||||
*)
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
@@ -0,0 +1,105 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<POU Name="Pneumatic_Box" Id="{6f77a7af-7f82-065a-2434-407aca22087a}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[PROGRAM Pneumatic_Box
|
||||
VAR
|
||||
//Define all necessary variables for your application
|
||||
bPowerLedAndLight AT %Q*: BOOL:= TRUE; //Variable to power the green LED and the internal light
|
||||
bPowerPressureSensors AT %Q*: BOOL:= TRUE; //Variable to power the air pressure sensors in the pneuatmic box
|
||||
fScaledAirPressureGroup1: REAL;
|
||||
fScaledAirPressureGroup2: REAL;
|
||||
|
||||
|
||||
//Variable for the PSS box air feeding pressure
|
||||
//fScaledAirPressurePSS: REAL;
|
||||
//nRawAirPressurePSS AT %I*: INT;
|
||||
|
||||
//Variables for air pressure status
|
||||
bAirPressureLowGrp1: BOOL;
|
||||
bAirPressureHighGrp1: BOOL;
|
||||
bAirPressureLowGrp2: BOOL;
|
||||
bAirPressureHighGrp2: BOOL;
|
||||
|
||||
//Timers for air pressur out of range
|
||||
fbOutOfRangeLowTimer1: TON;
|
||||
fbOutOfRangeHighTimer1: TON;
|
||||
fbOutOfRangeLowTimer2: TON;
|
||||
fbOutOfRangeHighTimer2: TON;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[//Scale pressure sensor group 1 and 2
|
||||
fScaledAirPressureGroup1 := mScaledPressureValue(nRawValue:=GVL.nAirPressureSensorGroup1);
|
||||
fScaledAirPressureGroup2 := mScaledPressureValue(nRawValue:=GVL.nAirPressureSensorGroup2);
|
||||
//fScaledAirPressurePSS := mScaledPressureValue(nRawValue:=nRawAirPressurePSS);
|
||||
|
||||
mAirPressureLimits();
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
<Method Name="mAirPressureLimits" Id="{e89d1593-a8ca-0d0d-2454-1b7741864d9f}">
|
||||
<Declaration><![CDATA[METHOD mAirPressureLimits
|
||||
VAR_INPUT
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[fbOutOfRangeLowTimer1(IN := fScaledAirPressureGroup1 < GVL_APP.fLOW_LIMIT_AIR_PRESSURE1,PT:=GVL_APP.tTIME_PRESSURE_OUT_OF_RANGE);
|
||||
fbOutOfRangeHighTimer1(IN := fScaledAirPressureGroup1 > GVL_APP.fHigh_LIMIT_AIR_PRESSURE1,PT:=GVL_APP.tTIME_PRESSURE_OUT_OF_RANGE);
|
||||
|
||||
fbOutOfRangeLowTimer2(IN := fScaledAirPressureGroup2 < GVL_APP.fLOW_LIMIT_AIR_PRESSURE2,PT:=GVL_APP.tTIME_PRESSURE_OUT_OF_RANGE);
|
||||
fbOutOfRangeHighTimer2(IN := fScaledAirPressureGroup2 > GVL_APP.fHigh_LIMIT_AIR_PRESSURE2,PT:=GVL_APP.tTIME_PRESSURE_OUT_OF_RANGE);
|
||||
|
||||
//Check if the air pressure value is too low for longer than defined time
|
||||
IF fbOutOfRangeLowTimer1.Q THEN
|
||||
bAirPressureLowGrp1 := TRUE;
|
||||
ELSE
|
||||
bAirPressureLowGrp1 := FALSE;
|
||||
END_IF
|
||||
|
||||
IF fbOutOfRangeLowTimer2.Q THEN
|
||||
bAirPressureLowGrp2 := TRUE;
|
||||
ELSE
|
||||
bAirPressureLowGrp2 := FALSE;
|
||||
END_IF
|
||||
|
||||
|
||||
//Check if the air pressure value is too high for longer than defined time
|
||||
IF fbOutOfRangeHighTimer1.Q THEN
|
||||
bAirPressureHighGrp1 := TRUE;
|
||||
ELSE
|
||||
bAirPressureHighGrp1 := FALSE;
|
||||
END_IF
|
||||
|
||||
IF fbOutOfRangeHighTimer2.Q THEN
|
||||
bAirPressureHighGrp2 := TRUE;
|
||||
ELSE
|
||||
bAirPressureHighGrp2 := FALSE;
|
||||
END_IF
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
<Method Name="mScaledPressureValue" Id="{0a1832fc-ef94-036a-37c0-f6a54ad9133a}">
|
||||
<Declaration><![CDATA[METHOD PUBLIC mScaledPressureValue : REAL
|
||||
VAR_INPUT
|
||||
nRawValue: INT; //Raw value from the Terminal
|
||||
END_VAR
|
||||
VAR
|
||||
rGradient: REAL; //Internal variable to calculate gradient of the slope
|
||||
rOffset: REAL; //Internal variable to calculate the offset value
|
||||
|
||||
fRawHigh: REAL := 30518.0; //Highest value for the Raw value
|
||||
fRawLow: REAL := 0.0; //Lowest value for the Raw value
|
||||
fScaledHigh: REAL := 10.0; //Highest value for the Scaled value 10 bar
|
||||
fScaledLow: REAL := 0.0; //Lowest value for the Scaled value 0 bar
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[rGradient:= (fScaledHigh - fScaledLow)/(fRawHigh - fRawLow);
|
||||
rOffset:= fScaledHigh - rGradient * fRawHigh;
|
||||
mScaledPressureValue:= rGradient * nRawValue + rOffset;
|
||||
|
||||
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
</Method>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
+8
-8
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<POU Name="Shutter_Operator_panel_Template" Id="{09741edf-58a0-0d9d-0563-de91fec8904d}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[PROGRAM Shutter_Operator_panel_Template
|
||||
<POU Name="Shutter_Operator_Panel" Id="{09741edf-58a0-0d9d-0563-de91fec8904d}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[PROGRAM Shutter_Operator_Panel
|
||||
VAR
|
||||
//Variables used to control the LEDs of the Safety Shutter Operator panel
|
||||
(*
|
||||
@@ -12,7 +12,7 @@ VAR
|
||||
{attribute 'TcLinkTo' := 'TIID^Device 1 (EtherCAT)^KF201 (EK1200)^KF217 (EK1521)^KF01 (EK1501-0100)^KF03 (EL2014)^DIG Outputs^Channel 2^Output'}
|
||||
bMovingLight AT %Q*: BOOL; //Power output for cylinder Moving LED
|
||||
{attribute 'TcLinkTo' := 'TIID^Device 1 (EtherCAT)^KF201 (EK1200)^KF217 (EK1521)^KF01 (EK1501-0100)^KF04 (EL2014)^DIG Outputs^Channel 1^Output'}
|
||||
bNoPermitLight AT %Q*: BOOL; //Power output for No permit LED
|
||||
bPermitLight AT %Q*: BOOL; //Power output for PSS permit LED
|
||||
{attribute 'TcLinkTo' := 'TIID^Device 1 (EtherCAT)^KF201 (EK1200)^KF217 (EK1521)^KF01 (EK1501-0100)^KF04 (EL2014)^DIG Outputs^Channel 2^Output'}
|
||||
bErrorLight AT %Q*: BOOL; //Power output for Error LED
|
||||
*)
|
||||
@@ -22,17 +22,17 @@ END_VAR
|
||||
<ST><![CDATA[//Uncomment the code, it is needed to control the LEDs of the Safety Shutter Operator panel
|
||||
(*
|
||||
//Assign LED to the permit status
|
||||
bNoPermitLight := NOT GVL.astPneumaticAxes[x].stPneumaticAxisInputs.bPSSPermit;
|
||||
bPermitLight := GVL.astPneumaticAxes[1].stPneumaticAxisStatus.bPSSPermitOK;
|
||||
|
||||
//Assign LED to the error status
|
||||
bErrorLight := GVL.astPneumaticAxes[x].stPneumaticAxisStatus.bError;
|
||||
bErrorLight := GVL.astPneumaticAxes[1].stPneumaticAxisStatus.bError;
|
||||
|
||||
//Assign LEDs to the end switches statuses
|
||||
bExtendedLight := GVL.astPneumaticAxes[x].stPneumaticAxisStatus.bExtended;
|
||||
bRetractedLight := GVL.astPneumaticAxes[x].stPneumaticAxisStatus.bRetracted;
|
||||
bExtendedLight := GVL.astPneumaticAxes[1].stPneumaticAxisStatus.bExtended;
|
||||
bRetractedLight := GVL.astPneumaticAxes[1].stPneumaticAxisStatus.bRetracted;
|
||||
|
||||
//Checking the condition for the Moving LED
|
||||
bMovingLight := GVL.astPneumaticAxes[x].stPneumaticAxisStatus.bRetracting OR gvl.astPneumaticAxes[x].stPneumaticAxisStatus.bExtending;
|
||||
bMovingLight := GVL.astPneumaticAxes[1].stPneumaticAxisStatus.bRetracting OR gvl.astPneumaticAxes[1].stPneumaticAxisStatus.bExtending;
|
||||
*)
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
@@ -10,21 +10,17 @@ END_VAR
|
||||
<ST><![CDATA[//Initial parameters of an Pneumatic Axis
|
||||
//Uncomment the next IF statement to configure and activate the intial parameters of the axis
|
||||
(*
|
||||
IF TaskInfo[fbGetCurTaskIndex.index].FirstCycle THEN
|
||||
GVL.astPneumaticAxes[x].stPneumaticAxisConfig.sPneumaticAxisName := 'Shutter';
|
||||
GVL.astPneumaticAxes[x].stPneumaticAxisConfig.bSafetyShutter := TRUE;
|
||||
IF _TaskInfo[fbGetCurTaskIndex.index].FirstCycle THEN
|
||||
GVL.astPneumaticAxes[x].stPneumaticAxisConfig.sPneumaticAxisName := 'P1PneuAxis';
|
||||
GVL.astPneumaticAxes[x].stPneumaticAxisConfig.bSafetyShutter := FALSE;
|
||||
GVL.astPneumaticAxes[x].stPneumaticAxisConfig.nTimeToExtend := 10;
|
||||
GVL.astPneumaticAxes[x].stPneumaticAxisConfig.nTimeToRetract := 10;
|
||||
GVL.astPneumaticAxes[x].stPneumaticAxisConfig.nAllowTimePressureOutOfRange := 5;
|
||||
GVL.astPneumaticAxes[x].stPneumaticAxisConfig.tAllowTimePressureOutOfRange := GVL_APP.tTIME_PRESSURE_OUT_OF_RANGE;
|
||||
GVL.astPneumaticAxes[x].stPneumaticAxisConfig.eSelectPneumaticAxisGroup := E_PneumaticAxisGroup.ePneumaticAxisGroup#;
|
||||
GVL.astPneumaticAxes[x].stPneumaticAxisConfig.fLowLimitPressureValue := GVL_APP.fLOW_LIMIT_AIR_PRESSURE#;
|
||||
GVL.astPneumaticAxes[x].stPneumaticAxisConfig.fHighLimitPressureValue := GVL_APP.fHIGH_LIMIT_AIR_PRESSURE#;
|
||||
END_IF
|
||||
*)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
</POU>
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TcPlcObject Version="1.1.0.1">
|
||||
<POU Name="Safety_Shutter" Id="{6edcef4b-0039-01e0-14cb-28763a1c98aa}" SpecialFunc="None">
|
||||
<Declaration><![CDATA[PROGRAM Safety_Shutter
|
||||
VAR
|
||||
//Define all necessary variables for your application
|
||||
bPSSPermitPower AT %Q*: BOOL := TRUE;
|
||||
bPSSPermit1 AT %I*: BOOL;
|
||||
bPSSPermit2 at %I*: BOOL;
|
||||
END_VAR
|
||||
]]></Declaration>
|
||||
<Implementation>
|
||||
<ST><![CDATA[//Initial parameters of an Pneumatic Axis
|
||||
//Uncomment the next IF statement to configure and activate the intial parameters of the axis
|
||||
(*
|
||||
IF _TaskInfo[fbGetCurTaskIndex.index].FirstCycle THEN
|
||||
GVL.astPneumaticAxes[1].stPneumaticAxisConfig.sPneumaticAxisName := 'SafetyShutter';
|
||||
GVL.astPneumaticAxes[1].stPneumaticAxisConfig.bSafetyShutter := TRUE;
|
||||
GVL.astPneumaticAxes[1].stPneumaticAxisConfig.nTimeToExtend := 10;
|
||||
GVL.astPneumaticAxes[1].stPneumaticAxisConfig.nTimeToRetract := 10;
|
||||
GVL.astPneumaticAxes[1].stPneumaticAxisConfig.tAllowTimePressureOutOfRange := GVL_APP.tTIME_PRESSURE_OUT_OF_RANGE;
|
||||
GVL.astPneumaticAxes[1].stPneumaticAxisConfig.eSelectPneumaticAxisGroup := E_PneumaticAxisGroup.ePneumaticAxisGroup1;
|
||||
GVL.astPneumaticAxes[1].stPneumaticAxisConfig.fLowLimitPressureValue := GVL_APP.fLOW_LIMIT_AIR_PRESSURE1;
|
||||
GVL.astPneumaticAxes[1].stPneumaticAxisConfig.fHighLimitPressureValue := GVL_APP.fHIGH_LIMIT_AIR_PRESSURE1;
|
||||
END_IF
|
||||
|
||||
//PSS Permit signal
|
||||
//GVL.astPneumaticAxes[1].stPneumaticAxisStatus.bPSSPermitOK := bPSSPermit1 AND bPSSPermit2
|
||||
*)
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
</POU>
|
||||
</TcPlcObject>
|
||||
@@ -129,11 +129,14 @@ GVL.fbGetCurTaskIndex();
|
||||
|
||||
//Axes initial parameters and program
|
||||
Axis_Template();
|
||||
Safety_Shutter();
|
||||
//Pneumatics_Template();
|
||||
|
||||
//Application program calls
|
||||
Cabinet_Configuration();
|
||||
Application_Template();
|
||||
Cabinet_Monitoring();
|
||||
Pneumatic_Box();
|
||||
//Shutter_Operator_Panel();
|
||||
//Application_Template();
|
||||
]]></ST>
|
||||
</Implementation>
|
||||
</Action>
|
||||
|
||||
Submodule solution/tc_project_app/tc_mca_std_lib updated: e0866f8a66...b4e85b36da
@@ -37,10 +37,13 @@
|
||||
<Compile Include="POUs\Application_Specific\Applications\Application_Template.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="POUs\Application_Specific\Applications\Cabinet_Configuration.TcPOU">
|
||||
<Compile Include="POUs\Application_Specific\Applications\Cabinet_Monitoring.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="POUs\Application_Specific\Applications\Shutter_Operator_panel_Template.TcPOU">
|
||||
<Compile Include="POUs\Application_Specific\Applications\Pneumatic_Box.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="POUs\Application_Specific\Applications\Shutter_Operator_Panel.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="POUs\Application_Specific\Axes\Axis_Template.TcPOU">
|
||||
@@ -49,6 +52,9 @@
|
||||
<Compile Include="POUs\Application_Specific\Axes\Pneumatics_Template.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="POUs\Application_Specific\Axes\Safety_Shutter.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="POUs\MAIN.TcPOU">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
|
||||
Reference in New Issue
Block a user