기능
외부 Modbus 장치에 신호를 내보내기 위한 명령어입니다.
Function Code 05 Write Single Coil Register
Function Code 06 Write Signle Holding Register
인수
|
인수명 |
자료형 |
기본값 |
설명 |
|
iobus |
string |
- |
modbus 이름(TP에서 설정) |
|
value |
int |
-
|
Modbus Coil Register인 경우 value
|
|
Modbus Holding Register인 경우 value |
|||
|
time |
int (또는 float) |
None |
사용자 지정 지연 시간값 |
|
val2 |
int |
None |
사용자가 지정한 지연 시간 뒤에 적용될 value
|
다중 신호로 등록된 경우 신호이름에 인덱스[n]를 붙여 사용가능합니다.
리턴
|
값 |
설명 |
|---|---|
|
0 |
성공 |
|
음수값 |
실패 |
예외
|
예외 |
설명 |
|---|---|
|
DR_Error (DR_ERROR_TYPE) |
인수들의 데이터형 오류 시 |
|
DR_Error (DR_ERROR_VALUE) |
인수의 값이 유효하지 않을 시 |
|
DR_Error (DR_ERROR_RUNTIME) |
C Extension 모듈 에러 발생 시 |
|
DR_Error (DR_ERROR_STOP) |
프로그램 강제 종료 시 |
예제
Python
#Modbus Coil Register "do1", "do2"가 등록되어 있는 경우
set_modbus_output("do1", ON)
set_modbus_output("do2", OFF)
#Modbus Holding Register "reg1", "reg2"가 등록되어 있는 경우
set_modbus_output("reg1", 10)
set_modbus_output("reg2", 24)
#다중신호 신호이름: “multi”(cnt=2)가 등록되어 있는 경우
#“multi[0]”, “multi[1]” 사용가능
set_modbus_output("multi[0]", 24)
set_modbus_output("multi[1]", 65535)
#timeout을 사용하는 경우
set_modbus_output("reg1-to", 100, 3, 50)
set_modbus_output("reg2-to", 50, 1, 5)