Developer Portal Community

    Showing results for 
    Search instead for 
    Did you mean: 

    How to realize 3 positions with two cylinders

    How to realize 3 positions with two cylinders

    Established Member

    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? 



    5 REPLIES 5

    Community Moderator
    Community Moderator

    I don't recommend an object - only if you have this combination several times and if there is an "organization" for the support of this object (e.g. object is created and maintained by plant TEF).

    The project specific solution looks like this in Control plus Studio or OES:


    If you want to make copy & paste between projects/stations easier, you can create it as an subtree:


    Of course you should create three commands for the three positions , manual functions and an HMI with all inputs/outputs on the CommandHandler (ThreeBasMoveSolution/TwoBasMoveSolution).

    In case of ThreeBasMoveSolution the manual functions of the S1-S3 BasMove do not help the operators/service. Therefore you could hide them in the HMI:


    Hiding objects should be used rarely because you are hiding functionality. You should not only focus on the common operators, but also on the service/maintenance team and maybe even re-construction/re-use of the machine.

    In case of TwoBasMoveSolution it can be very helpful for the service team to move the cylinders separately, e.g. cylinder, valve or cables are defect and must be replaced and tested. HMI (/software) matching the real hardware is the advantage of the solution with only two BasMoves.