Breadcrumbs

add_modbus_signal()

정의

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의 신호 타입

  • DR_MODBUS_DIG_INPUT

  • DR_MODBUS_DIG_OUTPUT

  • DR_MODBUS_REG_INPUT

  • DR_MODBUS_REG_OUTPUT

index

int

-

Modbus signal의 index

slaveid

int

255

  • Slave ID of the ModbusTCP module
    (0 or 1-247 or 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)

프로그램 강제 종료 시

예제

Python
#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