        |
Comprobar una unidad maestra de modbus
- Se lleva el programa modbustcp.solaris a la estación en cuestión. Si no está en main1:/incoming, se hce lo siguiente para ponerlo en main1; desde salchicha, como usuario dario:
$ cd /home/dario/Programacion/Proyectos/sico-modbustcp $ fput modbustcp.solaris
- LLevas el ejecutable modbustcp.solaris desde main1:/incoming a la estación donde vas a probar y lo pones en /tmp
- Te pones en /tmp y das permisos de ejecución:
% cd /tmp % chmod 777 modbustcp.solaris
- Por último lo ejecutas. Suponiendo que quieres leer la palabra 701 de la maestra, se hace de la siguiente manera (la palabra a leer es el cuarto parámetro; los parámetros son: ip_maestra, puerto_modbus, timeout_modbus, direccion_a_leer, tipo_direccion):
% ./modbustcp.solaris ip_mestra 502 2000 701 w
- Se consulta el resultado. Si devuelve como error 0, todo está bien. En caso de devolver otro número, consultar las siguientes tablas (nota: en las versiones dmodernas del programa, te da también el nombre del error, no sólo el número):
| Error Modbus | Núm asociado |
| modbus_errOk | 0 |
| modbus_errUndefined | -1 |
| modbus_errException | -2 |
| modbus_errSocket | -3 |
| modbus_errSocketRead | -4 |
| modbus_errSocketWrite | -5 |
| modbus_errTimeout | -6 |
| modbus_errNoMem | -7 |
| modbus_errUnrecognizedResponse | -8 |
| Excepción Modbus | Número asociado |
| modbus_exIllegalFuncion | 1 |
| modbus_exIllegalDataAddress | 2 |
| modbus_exIllegalDataValue | 3 |
| modbus_exIllegalResponseLength | 4 |
| modbus_exAcknowledge | 5 |
| modbus_exSlaveDeviceBusy | 6 |
| modbus_exNegativeAcknowledge | 7 |
| modbus_exMemoryParityError | 8 |
| modbus_exGatewayPathUnavalaible | 10 |
| modbus_exGatewayTargetDevFailedToResponse | 11 |
|