I am using an LRMate 200iD/4S with an R-30iB controller and a CompactLogix 1769-L16ER-BB1B PLC. Initially, I used Group I/O (GI) for communication between the PLC and the robot but have now switched to Analog I/O instead of using Group I/O. Additionally, I am not using actual hardware sensors.
First, I will explain what I did. I created virtual tags in the PLC for each joint (e.g., joint0, joint1, etc.) with a data type of DINT. The robot was added to the PLC, and I created a program to map each joint to a specific I/O, such as joint0.0 → Robot DO[0]. On the robot side, I configured six Group Inputs (GI), each mapped to eight Digital Inputs (DI).
The TP program was structured as follows:
LBL[1]
PR[1,1] = GI[1]
PR[1,2] = GI[2]
PR[1,3] = GI[3]
PR[1,4] = GI[4]
PR[1,5] = GI[5]
PR[1,6] = GI[6]
J PR[1] 25% FINE
JMP LBL[1]
```
After that, I decided to switch to Analog I/O to achieve a higher range, as this would allow me to use negative values as well. On the robot side, I accessed the Analog I/O configuration and entered the Rack, Channel, and Slot details. However, after starting the cycle, the values were not assigned. On the PLC side, I added a new Analog module in Studio 5000 with a REAL data type. Despite adding the module, it is not properly configuring with the robot.
In some Robot-Forum conversation, I found that the analog module is configured automatically, but I am unsure if my approach is correct. My question is, since the robot does not accept floating-point values for analog input, what data type should I configure in the PLC to ensure proper communication? Also, what is the correct configuration process to make sure the Analog module is properly recognized by the robot?Does a virtual tag work on the PLC without an actual analog module?