Modifying the Value of Robot R Register by PLC

Hello!
My PLC has communicated with VC. I want to use PLC to modify the value of robot R register in simulation. Robot performs corresponding tasks according to the corresponding value of R register, but I did not find the robot R register when matching variables.

Hi,

Connectivity doesn’t recognize routine variables. But you can create a component property which will work with connectivity and you can also use it as a global variable in program expressions like in IF statement.

-k

I am successful, thank you very much!

Hello, I use your way to achieve the value of the plc modify register. Normally, after the plc modifies the value of the register, the robot will reset the value of the register to zero after executing the corresponding subroutine, but modify the register in this program. The value is not working. Can you help me solve this problem?

It sounds like you have problem in that R1 is getting assignments from both the robot and PLC. So it’s both input and output. I would consider using separate variables for inputs and outputs. So something like in the attachment picture where R1 is only an input for the robot and R_ACK is used to output the PLC that task was received. PLC logic is not shown here but hopefully you understand the idea.

-k

 

Hi,

One alternative might be worth trying. That is to use the “Int-Bool-Int Signal Mapper” under “Misc” in eCatalog that converts integer input signals (R1…n) to boolean output signal to the corresponding output port.

So just connect signals of the mapper outputs to the robot inputs and inputs of the mapper to the PLC and poll the signals in the robot’s main routine as shown in the image: