How to realize 3 positions with two cylinders

I have a use case like this.

There are two cylinders mounted one by one(C1, C2), they are used to get 3 positions(S1, S2, S3), but these sensors are not installed in cylinders, they are installed out of these cylinders with fixed positions, and these positions can be got by following operation(just an example):

C1 in work position & C2 in work position  = S1

C1 in base position  & C2 in base position  = S2

C1 in work position  & C2 in base  position = S3

Then I have following options to realize it:

1, use two BasMoveStantdard objects, but the problem is one cylinder can't get right sensor signals, e.g. if C1 in base position, C2 can't get work position.

2, use one BasMove3Positions object, but the problem is for this object, it has 3 output with 3 input, that mean 1 output will get 1 position, this is not suitable for my case, I can use some flags to do converstion in PLC program, but is there any better solution?

3, and if I want to use it as an internal element in another objects, I can't use the option 2, any other solutions for it? 

 

 

Best reply by Thorsten_Brach

If the BasMove3Position does not work,
I think I would create a CommandHandler with the commands BAS, MID, WRK
and under this CommandHandler I would use 3 BasMoveFelxible K301_BAS , K301_MID and K301_WRK.

In each instance, I would always configure all valves and switch them so , that the correct position is reached
and configure the sensors accordingly.

In the command sequences of the CommandHandler, I would then only start the WRK position of the respective instance.

And I would hide the underlaying BasMoveFlexible in the HMI, so that there is only one element to control the 3 positions.



View original
5 replies
Resolved