World zone in simulation

  • Hi,


    I'm making a simulation in RS, with 2 S4C+ robots. I did the conversion of EIO.cfg to make it works for IRC5.
    Now i want the worldzones of both robots change at the same time.
    I mean : when DO HZ_Robot1 change , DI_Robot1 (in robot 2) change too, but it doesn't works. I thought to create a cross conection but i don't found how to make it.


    Some Help ?


    Thanks in advance

  • man. i cannot understand.
    you mean. you can not make world zone? or when you changed robot1 world zone, robot2 couldnt change world zone. right?


    plz explain situation easy

  • I can make a world zone, but, when Robot 1 WZ is active, then, the output corresponding change value, but the input on the robot 2, corresponding to the output of robot 1 doesn't change.


    It's an existing and running program in reality, but i want to do some tests, so i need to run the program like in reality

  • Being that it's S4 I'm making the assumption that you have a physical connection (on your real system) between the two controllers, i.e. hardwired handshaking ?


    Are you simulating it in RS4 or RS5/6 ?
    If RS4 then I don't remember it well enough to say for sure, but I don't think you can simulate it other than simulating the actual signal.

  • I think yes, i did not check that. In EIO cfg the DO for robot 1 and the DI for robot 2 are declared on the same bit


    I'm simulating in RS6.

  • That could very well be, it all depends on how they're hooked up....


    Look at the I/O configuration and which I/O device it's connected to and then verify how that device is set up.


    Basically it could be set up as a standard I/O with hardwired signals - OR - you might have "MultiMove" for S4 which is very special (special with the air-quotes :zwink: )


    On RS6 you'd probably be best off setting it up as a multimove independent (rather than two completely separate controllers), that way you can create two virtual I/O's and do cross connections between them.... There might be a smarter way to do it but that's what pops into my head right now...

  • The corresponded I/O was declared on this device


    -Name "InterCom" -Type "EXT_DNET_SLAVE" -Bus "CAN2" -Address "16"\
    -Digin 30 -Digout 30 -PollRate 200 -Param "InterCom_VAL"

  • I tried to declared DO robot 1 and DI robot 2 at the same bit, like in reality, but doesn't works. How to do this in the cross connection section ?

  • Yes but I can't "see" DI or DO of robot2 in robot1, so I can't make this cross connection.


    I will simulate it manually, just not very convenient to make stopwatch.


    Thanks for the help !

  • I think there's some level of miscommunication going on....


    The whole point of cross connecting an input to an output is so that the input goes high, when your output goes high.


    You need to set up your system as a multimove (independent) system so that each robot can share the I/O system.


    I think there's ways to accomplish this through the simulation portion as well, but cross connected I/O's are much simpler / faster IMHO.

  • I have done something similar this with 2 paint controllers for collision zones.
    You can directly connect the output from one controller to the input of the 2nd Controller and vice versa, it is done under Simulation and Station Logic select the tab for signals and connections.
    Here you can add the connections between the two controllers.

Advertising from our partners