Modbus TCP

현재 버전 (2.1.0)에 대한 매뉴얼을 보고 계십니다. 다른 버전에 액세스하려면 페이지 오른쪽 상단 모서리에 있는 '버전 전환' 버튼을 클릭하세요.

■ 최신 버전의 소프트웨어를 사용하려면 Mech-Mind 다운로드 센터를 방문하여 다운로드하세요.

■ 현재 사용하고 있는 제품의 버전이 확실하지 않은 경우에는 언제든지 당사 기술 지원팀에 문의하시기 바랍니다.

Mech-MSR은 Modbus TCP 프로토콜을 사용하여 외부 장치와 통신할 수 있습니다. 다음 내용을 읽기 전에 Mech-MSR에서 통신 설정이 완료되었는지 확인하세요.

Modbus TCP에 대하여

Mech-MSR은 Modbus TCP 프로토콜을 사용하여 PLC와 통신할 수 있습니다. 이 통신 모드에서는 Mech-MSR이 서버(slave) 역할을, PLC가 클라이언트(master) 역할을 합니다. 모든 통신 요청은 PLC에서 시작되며, Mech-MSR은 이에 응답합니다.

Mech-MSR에서 Modbus TCP 통신이 활성화되면, 소프트웨어는 포트 502(기본 수신 포트)에서 하나 이상의 Modbus 클라이언트 요청을 수신하기 시작합니다.

통신 프로세스

Modbus TCP 통신 프로세스는 다음과 같습니다.

각 신호의 의미를 확인하려면 입력 및 출력 신호 테이블을 참고하세요.
handshake flow

입력 및 출력 신호

Mech-MSR은 홀딩 레지스터(Holding Register)에 접근하기 위해 아래에 명시된 표준 Modbus 기능 코드를 지원합니다.

Function code 설명

0x03

홀딩 레지스터 읽기

0x06

단일 홀딩 레지스터 쓰기

0x10

멀티 홀딩 레지스터 쓰기

홀딩 레지스터 주소는 40001, 40005와 같은 논리 주소(또는 표시 주소)입니다. 접두사 4는 해당 레지스터가 4x 주소 공간(홀딩 레지스터)에 속한다는 것을 의미하며, 뒤의 숫자는 레지스터 번호를 나타냅니다.

실제 Modbus TCP 통신에서 기본 주소는 1이며, 이는 주소가 40001부터 시작한다는 것을 의미합니다. 그러나 통신에 사용되는 실제 레지스터 주소는 다음과 같이 계산됩니다. 실제 주소 = 디스플레이 주소 - 40001. 예를 들어, 40001은 실제 주소 0에 해당하고, 40005는 실제 주소 4에 해당합니다.

입력(PLC에서 Mech-MSR로) 출력(Mech-MSR에서 PLC로)

모듈

명칭

점유된 byte

홀딩 레지스터 주소(4x)

모듈

명칭

점유된 byte

홀딩 레지스터 주소(4x)

CONTROL_INPUT

Command enable

1 byte

40001

CONTROL_OUTPUT

Heartbeat

1 byte

40033

Command trigger

Trigger acknowledge

Data read finished

Data ready

Reset

Execution completed

Reserved field

Reserved field

Reserved field

Reserved field

Reserved field

Reserved field

Reserved field

Error

Reserved field

3 bytes

40002

종합 판정 결과

1 byte

40034

Reserved field

Reserved field

Reserved field

Reserved field

Reserved field

Reserved field

Reserved field

Reserved field

2 bytes

40035

COMMAND

Command code

2 bytes

40005

STATUS_CODE

상태 코드

2 bytes

40037

COMMAND_PARAM

Command parameter 1

2 bytes

40007

RESERVED

Reserved field

2 bytes

40039

Command parameter 2

2 bytes

40009

JUDGE

ID 1의 판정 결과

ID 2의 판정 결과

ID 3의 판정 결과

...

8 bytes

40041

Command parameter 3

2 bytes

40011

Command parameter 4

2 bytes

40013

VALUE

ID 1의 측정 결과

ID 2의 측정 결과

ID 3의 측정 결과

...

256 bytes

(4 bytes × 64)

40049

입력(PLC에서 Mech-MSR로)

CONTROL_INPUT (입력 제어)

주소 데이터 설명

0.0

Command enable (bool)

명령 활성화 신호가 1로 설정된 경우에만 다른 입력 신호가 유효하게 적용됩니다.

0.1

Command trigger (bool)

명령어 트리거 신호가 0에서 1로 변경(상승 에지 감지)되면, Mech-MSR이 명령 코드와 명령 파라미터를 읽습니다. Mech-MSR이 command trigger acknowledge 신호를 반환하면, 명령어 트리거 신호를 0으로 설정할 수 있습니다.

0.2

Data read finished (bool)

PLC가 데이터 읽기를 완료하면 이 신호는 1로 설정됩니다. PLC에 데이터 레디 신호가 0으로 변경되었음을 알리면, 이 신호를 0으로 설정할 수 있습니다.

0.3

Reset (bool)

이 신호를 1로 설정하면 PLC는 수신된 판정 결과와 측정 결과를 삭제합니다. 이 시점에서 PLC는 새로운 명령을 보낼 수 있으며 상태 코드 신호는 재설정됩니다.

0.4

Reserved field (bool)

보류된 필드입니다.

0.5

Reserved field (bool)

보류된 필드입니다.

0.6

Reserved field (bool)

보류된 필드입니다.

0.7

Reserved field (bool)

보류된 필드입니다.

1.0~3.7

Reserved field (byte)

보류된 필드입니다.

COMMAND & COMMAND_PARAM (명령 코드 및 명령 파라미터)

다음 표에서는 Modbus TCP 통신에서 지원하는 명령, 명령 코드(COMMAND), 명령 파라미터(COMMAND_PARAM)에 대해 설명합니다.

명령어 COMMAND COMMAND_PARAM 설명

execute

1

프로젝트 번호입니다. 매번 하나의 프로젝트 번호만 설정할 수 있습니다.

프로젝트를 트리거하여 프로젝트의 판정 결과와 측정 결과를 얻는 데 사용됩니다.

trigger

2

프로젝트 번호입니다. 한 번에 1~4개의 프로젝트 번호를 설정할 수 있습니다.

프로젝트 실행을 트리거하는 데 사용됩니다.

return

3

프로젝트 번호입니다. 매번 하나의 프로젝트 번호만 설정할 수 있습니다.

특정 프로젝트의 판정 결과 및 측정 결과를 얻기 위해 사용됩니다.

judge

4

특정 프로젝트의 전반적인 품질 판정 결과 또는 개별 측정 항목의 판정 결과를 얻는데 사용됩니다.

value

5

특정 프로젝트의 측정값을 얻는 데 사용됩니다.

프로젝트 번호를 확인하는 방법은 프로젝트 리스트 내용을 참조하십시오.

출력(Mech-MSR에서 PLC로)

CONTROL_OUTPUT (출력 제어)

주소 데이터 설명

0.0

Heartbeat (bool)

시스템의 하트비트는 1초마다 바뀝니다. PLC와 Mech-MSR이 연결되어 있는지, 또는 연결이 끊어졌는지 확인하는 데 사용됩니다.

0.1

Trigger acknowledge (bool)

Mech-MSR이 command trigger 신호에 대한 상승 에지를 수신하면 이 신호가 1로 설정됩니다. command trigger 신호에 대해 실패 에지가 감지되면 이 신호가 0으로 설정됩니다.

0.2

Data ready (bool)

Mech-MSR은 출력 포트에 데이터를 쓰고 PLC가 출력 데이터를 읽을 때까지 기다립니다. Data read finished 신호가 1로 설정되면, 이 신호는 0으로 설정됩니다.

0.3

Execution completed (bool)

명령 실행이 완료되면 이 신호는 1로 설정되며 이는 명령 실행이 완료되었음을 나타냅니다.

0.4

Reserved field (bool)

보류된 필드입니다.

0.5

Reserved field (bool)

보류된 필드입니다.

0.6

Reserved field (bool)

보류된 필드입니다.

0.7

Error (bool)

Mech-MSR이 반환한 상태 코드가 0이 아닌 경우, 오류가 발생한 것이며 이 신호는 1로 설정됩니다.

1.0

종합 판정 결과(bool)

프로젝트의 종합 판정 결과로, 0은 합격(OK)을 의미하고 1은 불합격(NG)을 의미합니다.

1.1~1.7

Reserved field (bool)

보류된 필드입니다.

2.0~3.7

Reserved field (byte)

보류된 필드입니다.

STATUS_CODE (상태 코드)

Mech-MSR은 다음 5개의 상태 코드를 반환할 수 있습니다.

  • 일반 상태 코드: 0은 명령이 성공적으로 실행되었음을 나타냅니다.

  • 오류 코드 : -1, -2, -3, -4. 자세한 내용은 오류 코드를 참조하십시오.

JUDGE (판정 결과)

출력 관리 창의 통신 출력 탭에 추가된 측정 항목에 대한 판정 결과입니다. 0은 OK, 1은 NG를 나타냅니다.

단일 프로젝트에 대해 한 번에 최대 64개의 판정 결과를 출력할 수 있습니다.

VALUE (측정 결과)

출력 관리 창의 통신 출력 탭에 추가된 측정 항목에 대한 측정 결과입니다.

단일 프로젝트에 대해 한 번에 최대 64개의 측정 결과를 출력할 수 있습니다.

이 페이지가 도움이 되었습니까?

다음 방법을 통해 피드백을 보내주실 수 있습니다:

저희는 귀하의 개인정보를 소중히 다룹니다.

당사 웹사이트는 최상의 사용자 경험을 제공하기 위해 쿠키를 사용하고 있습니다. "모두 수락"을 클릭하시면 쿠키 사용에 동의하시는 것이며, "모두 거부"를 클릭하시면 이 웹사이트 방문 시 귀하의 정보가 추적되거나 기억되지 않도록 단일 쿠키만 사용됩니다.