set_modbus_output_multi(iobus, val_list)
기능
외부 Modbus 장치에 신호를 내보내기 위한 명령어입니다.
Function Code 15 Write Multiple Coil Registers
Function Code 16 Write Multiple Holding Registers
인수
인수명 | 자료형 | 기본값 | 설명 |
---|---|---|---|
iobus | string | - | modbus 다중신호 이름(TP에서 설정) |
Val_list | list | Modbus 다중신호의 value list |
알아두기
다중 신호 이름에 등록된 신호 개수와 출력 값 list의 원소 개수가 맞지 않으면 에러가 발생합니다.
리턴
값 | 설명 |
---|---|
0 | 성공 |
음수값 | 실패 |
예외
예외 | 설명 |
---|---|
DR_Error (DR_ERROR_TYPE) | 인수들의 데이터형 오류 시 |
DR_Error (DR_ERROR_VALUE) | 인수의 값이 유효하지 않을 시 |
DR_Error (DR_ERROR_RUNTIME) | C Extension 모듈 에러 발생 시 |
DR_Error (DR_ERROR_STOP) | 프로그램 강제 종료 시 |
예제
#Modbus Coil Register가 "do1"(cnt=5), "do2"(cnt=3) 로 등록되어 있는 경우
set_modbus_output_multi("do1", [ON, OFF, ON, ON, ON])
set_modbus_output_multi("do2", [ON, ON, ON])
#Modbus Holding Register가 "reg1"(cnt=5), "reg2"(cnt=3), 로 등록되어 있는 경우
set_modbus_output_multi("reg1", [10, 101, 12345, 777, 555])
set_modbus_output_multi("reg2", [24, 25, 26])