정의
add_modbus_signal(ip, port, name, reg_type, index, slaveid=255)
version 3.5 부터 add_modbus_signal 함수의 value 인자가 제거되었습니다.
기존에 해당 함수를 이용하던 프로그램에서는 에러 팝업이 발생할 수 있습니다.
기능
ModbusTCP의 신호를 등록합니다. Modbus I/O 설정의 경우 티치펜던트 I/O set-up 메뉴에서 설정해야하지만 티치펜던트 사용이 어려운 경우에 테스트를 위해서만 본 명령어를 사용하시기 바랍니다. 이 명령어를 사용하여 셋팅한 경우 티치펜던트에서 Modbus 관련 메뉴가 동작하지 않습니다.
인수
|
인수명 |
자료형 |
기본값 |
설명 |
|---|---|---|---|
|
ip |
string |
- |
modbusTCP 모듈 ip 주소 |
|
port |
int |
- |
modbusTCP 모듈 port |
|
name |
string |
- |
modbus signal 이름 |
|
reg_type |
int |
- |
Modbus의 신호 타입
|
|
index |
int |
- |
Modbus signal의 index |
|
slaveid |
int |
255 |
0 : Broadcase address 255 : Default value for ModbusTCP |
리턴
|
값 |
설명 |
|---|---|
|
0 |
성공 |
|
음수값 |
실패 |
예외
|
예외 |
설명 |
|---|---|
|
DR_Error (DR_ERROR_TYPE) |
인수들의 데이터형 오류 시 |
|
DR_Error (DR_ERROR_VALUE) |
인수의 값이 유효하지 않을 시 |
|
DR_Error (DR_ERROR_RUNTIME) |
C Extension 모듈 에러 발생 시 |
|
DR_Error (DR_ERROR_STOP) |
프로그램 강제 종료 시 |
예제
#Modbus IO 2개를 연결하고 접점을 할당하는 예제
#Modbus IO 1번 : IP 192.168.127.254, input 8점: “di1”~”di8”, output 8점: “do1”~”do8”
#Modbus IO 2번 : IP 192.168.127.253, input 8점: “di9”~”di16”, output 8점: “do9”~”do16”
# set <modbus 1> input : di1~di8
add_modbus_signal(ip="192.168.127.254",port=502, name="di1", reg_type=DR_MODBUS_REG_INPUT, index=0)
add_modbus_signal(ip="192.168.127.254",port=502, name="di2", reg_type=DR_MODBUS_REG_INPUT, index=1)
add_modbus_signal(ip="192.168.127.254",port=502, name="di3", reg_type=DR_MODBUS_REG_INPUT, index=2)
add_modbus_signal(ip="192.168.127.254",port=502, name="di4", reg_type=DR_MODBUS_REG_INPUT, index=3)
add_modbus_signal(ip="192.168.127.254",port=502, name="di5", reg_type=DR_MODBUS_REG_INPUT, index=4)
add_modbus_signal(ip="192.168.127.254",port=502, name="di6", reg_type=DR_MODBUS_REG_INPUT, index=5)
add_modbus_signal(ip="192.168.127.254",port=502, name="di7", reg_type=DR_MODBUS_REG_INPUT, index=6)
add_modbus_signal(ip="192.168.127.254",port=502, name="di8", reg_type=DR_MODBUS_REG_INPUT, index=7)
# set <modbus 1> output : do1~do8
add_modbus_signal(ip="192.168.127.254",port=502, name="do1", reg_type=DR_MODBUS_REG_OUTPUT, index=0)
add_modbus_signal(ip="192.168.127.254",port=502, name="do2", reg_type=DR_MODBUS_REG_OUTPUT, index=1)
add_modbus_signal(ip="192.168.127.254",port=502, name="do3", reg_type=DR_MODBUS_REG_OUTPUT, index=2)
add_modbus_signal(ip="192.168.127.254",port=502, name="do4", reg_type=DR_MODBUS_REG_OUTPUT, index=3)
add_modbus_signal(ip="192.168.127.254",port=502, name="do5", reg_type=DR_MODBUS_REG_OUTPUT, index=4)
add_modbus_signal(ip="192.168.127.254",port=502, name="do6", reg_type=DR_MODBUS_REG_OUTPUT, index=5)
add_modbus_signal(ip="192.168.127.254",port=502, name="do7", reg_type=DR_MODBUS_REG_OUTPUT, index=6)
add_modbus_signal(ip="192.168.127.254",port=502, name="do8", reg_type=DR_MODBUS_REG_OUTPUT, index=7)
#==============================================================
# set <modbus 2> input : di9~di16
add_modbus_signal(ip="192.168.127.253",port=502, name="di9", reg_type=DR_MODBUS_REG_INPUT, index=0)
add_modbus_signal(ip="192.168.127.253",port=502, name="di10", reg_type=DR_MODBUS_REG_INPUT, index=1)
add_modbus_signal(ip="192.168.127.253",port=502, name="di11", reg_type=DR_MODBUS_REG_INPUT, index=2)
add_modbus_signal(ip="192.168.127.253",port=502, name="di12", reg_type=DR_MODBUS_REG_INPUT, index=3)
add_modbus_signal(ip="192.168.127.253",port=502, name="di13", reg_type=DR_MODBUS_REG_INPUT, index=4)
add_modbus_signal(ip="192.168.127.253",port=502, name="di14", reg_type=DR_MODBUS_REG_INPUT, index=5)
add_modbus_signal(ip="192.168.127.253",port=502, name="di15", reg_type=DR_MODBUS_REG_INPUT, index=6)
add_modbus_signal(ip="192.168.127.253",port=502, name="di16", reg_type=DR_MODBUS_REG_INPUT, index=7)
# set <modbus 2> output : do9~do16
add_modbus_signal(ip="192.168.127.253",port=502, name="do9", reg_type=DR_MODBUS_REG_OUTPUT, index=0)
add_modbus_signal(ip="192.168.127.253",port=502, name="do10", reg_type=DR_MODBUS_REG_OUTPUT, index=1)
add_modbus_signal(ip="192.168.127.253",port=502, name="do11", reg_type=DR_MODBUS_REG_OUTPUT, index=2)
add_modbus_signal(ip="192.168.127.253",port=502, name="do12", reg_type=DR_MODBUS_REG_OUTPUT, index=3)
add_modbus_signal(ip="192.168.127.253",port=502, name="do13", reg_type=DR_MODBUS_REG_OUTPUT, index=4)
add_modbus_signal(ip="192.168.127.253",port=502, name="do14", reg_type=DR_MODBUS_REG_OUTPUT, index=5)
add_modbus_signal(ip="192.168.127.253",port=502, name="do15", reg_type=DR_MODBUS_REG_OUTPUT, index=6)
add_modbus_signal(ip="192.168.127.253",port=502, name="do16", reg_type=DR_MODBUS_REG_OUTPUT, index=7)
Keyword
add_ / add_modbus / modbus / modbus_ / modbus_signal