Compressor of VGR wont start via SCL
SamedAga opened this issue · comments
Hi there,
I am currently trying to understand the SCL Code for the FT plc factory. One thing I want to do, is to move the VGR to a random position (which works fine) and pick up a part (which doesnt seem to work).
The moving part works fine. I'm using the Node RED environment as the backend (move to Position). I've added a new position in HMI VGR - Positions for that.
The next step would be to start the compressor and the vacuum to pick the part. For that I've added some code inside PRG_VGR_Set_Positioning (which is used to move the VGR via Node RED). For some odd reason, the compressor doesn't seem to start. The variable QX_VGR_Compressor_Q7 stays at FALSE the entire time.
However the VGR will pick up a part from the DSI, when I place a part there.
My guess is, that somewhere in the SCL code, QX_VGR_Compressor_Q7 is forced to FALSE, whenever I activate move to Position in the Node RED environment. But I couldn't find where.
Here my code (in PRG_VGR_Set_Positioning ) to test the compressor:
[...]
110: // Position vertical Axis + Offset
...
#li_StepCase := 111; // ADDED THIS HERE
END_IF;
// this part should activate the compressor wait 4 seconds and then turn it off.
111: // activate Compressor
// start compressor
"QX_VGR_Compressor_Q7" := TRUE;
#li_StepCase := 112;
112: // wait sequence
#lx_Start_TON_Wait := TRUE;
#lt_TON_Wait := T#4000ms;
IF #lfb_TON_Wait.Q THEN
#lx_Start_TON_Wait := FALSE;
#li_StepCase := 113;
END_IF;
113:
// turn off the compressor
"QX_VGR_Compressor_Q7" := FALSE;
#li_StepCase := 114;
114: // wait sequence
#lx_Start_TON_Wait := TRUE;
#lt_TON_Wait := T#3500ms;
IF #lfb_TON_Wait.Q THEN
#lx_Start_TON_Wait := FALSE;
#li_StepCase := 120;
END_IF;
120: // Deciding which doing
...
[...]
Thanks,
Samed
Found the problem. In the initialization process of PRG_VGR_Ablauf the Compressor is forced to FALSE leading to explained behavior in previous post. To solve that, either uncomment (not recommended) or create a IF state checking if x_Set_Pos_Activ is TRUE.