ROS driver for UC1 punching PEMU machine
Note: It is needed to install the pyModbusTCP library as follows (this version is required):
sudo pip install pyModbusTCP==v0.1.10
test punching machine PLC1 IP addrress is: 192.168.17.195 (testing) PLC2 IP addrress is: 192.168.17.196
By default the IP is 192.168.17.195 and takes the data from "modbusSignals.yaml"
roslaunch punching_machine_driver punching_driver.launch
If we want to connect with two devices we need to launch
roslaunch punching_machine_driver two_punching_driver.launch enable_pm2:=true
this launcher will take the registers from the "modbusSignalsPM1.yaml" and "modbusSignalsPM2.yaml"
The registers are available at config/modbusSignals.yaml
will provide a list with the name of the registers and a list with the values
rosservice call /punching_machine_driver/set_named_signal "name: 'pillowCanBeTaken'
value: [0]"
rosservice call /punching_machine_driver/set_modbus_register "address: 1
value: 65535"
rrosservice call /punching_machine_driver/get_modbus_register "address: 1"
rosservice call /punching_machine_driver/set_modbus_coil "address: 16384
value: false"
rosservice call /punching_machine_driver/get_modbus_coil "address: 16389"
string name
float32[] value
punching_machine_driver/modbus_input_output[] named_registers
int32 address
---
bool ret
bool value
int32 address
bool value
---
bool ret
string name
float32[] value
---
bool ret
string msg