Features
This function sends the signal to an external Modbus system.
Function Code 05 Write Single Coil Register
Function Code 06 Write Signle Holding Register
Parameters
|
Parameter Name |
Data Type |
Default Value |
Description |
|
iobus |
string |
- |
modbus name (set in the TP) |
|
value |
int |
-
|
Value for Modbus coil register.
|
|
Value for Modbus holding register |
|||
|
time |
int (or float) |
None |
User-specified delayed time value |
|
val2 |
int |
None |
Value to be applied after user-specified delay time
|
When registered as a multiple signal, it is available by adding address value index to signal name.
Return
|
Value |
Description |
|---|---|
|
0 |
Success |
|
Negative value |
Failed |
Exception
|
Exception |
Description |
|---|---|
|
DR_Error (DR_ERROR_TYPE) |
Parameter data type error occurred |
|
DR_Error (DR_ERROR_VALUE) |
Parameter value is invalid |
|
DR_Error (DR_ERROR_RUNTIME) |
C extension module error occurred |
|
DR_Error (DR_ERROR_STOP) |
Program terminated forcefully |
Example
#Modbus Coil Registers are registered as "do1" and "do2".
set_modbus_output("do1", ON)
set_modbus_output("do2", OFF)
#Modbus Holding Registers are registered as "reg1" and "reg2".
set_modbus_output("reg1", 10)
set_modbus_output("reg2", 24)
#Modbus multiple signal is registered as “multi”(start address=10, cnt=2).
#“multi_10” & “multi_11” abailable
set_modbus_output("multi_10", 24)
set_modbus_output("multi_11", 65535)
# When use timeout
# value defined 100 and after timeout 3sec, value changes to 50
set_modbus_output("reg1-to", 100, 3, 50)
# value defined 50 and after timeout 1sec, value changes to 5
set_modbus_output("reg2-to", 50, 1, 5)