add_modbus_signal (Auto Mode)
This section explains how to use add_modbus_signal to register a Modbus signal on the robot controller for use in Auto (Run) operations.
A Modbus signal defines the address, register type, and communication parameters for interacting with a Modbus TCP/RTU slave device.
Once registered, the signal can be accessed through
set_modbus_output or get_modbus_input.
Typical usage
Register PLC coil/register addresses for machine control.
Add mappings for industrial I/O modules (remote I/O blocks).
Configure communication with sensors, drives, or controllers.
Prepare Modbus symbols for use in automated production sequences.
Note
strSymbolmust be unique across all Modbus mappings.Incorrect register settings may cause communication failures.
Use meaningful symbol names for clarity (e.g., “PLC_READY”, “VALVE1_CMD”).
Signals should be registered before Auto Mode cycles begin.
Example: Registering Modbus Signals for a PLC Module
#include "DRFLEx.h"
#include <cstdio>
using namespace DRAFramework;
int main() {
CDRFLEx drfl;
// Register a coil output (write) signal
if (!drfl.add_modbus_signal("CONVEYOR_START",
MODBUS_REG_COIL, // coil output
0, // slave ID
100)) // coil address
{
printf("Failed to add Modbus signal.\n");
return -1;
}
// Register an input register (read) signal
drfl.add_modbus_signal("PLC_READY",
MODBUS_REG_INPUT_REGISTER,
0,
10);
printf("Modbus signals registered.\n");
return 0;
}
In this example, two Modbus signals are created: one for controlling a conveyor, and another for receiving a PLC-ready signal.
Tips
Register all Modbus signals during system startup or initialization.
Verify Modbus slave address, port, and register type before mapping.
Use logical symbol names that match your PLC or device documentation.
Avoid modifying signal definitions during active Auto Mode execution.