Modbus TCP

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

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

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-workflow

입력 및 출력 신호

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로)

모듈

명칭

점유 바이트

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

모듈

명칭

점유 바이트

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

CONTROL_INPUT

활성화

1 byte

40001

CONTROL_OUTPUT

하트비트

1 byte

40065

명령 트리거

명령 트리거 ACK

데이터 읽기 완료

데이터 준비 완료

출력 데이터 리셋

명령 실행 완료

예약 필드

예약 필드

예약 필드

예약 필드

예약 필드

예약 필드

예약 필드

오류

예약 필드

3 bytes

앞 1 byte: 40001; 뒤 2 bytes: 40002

종합 판정 결과

1 byte

40065

예약 필드

예약 필드

예약 필드

예약 필드

예약 필드

예약 필드

예약 필드

예약 필드

2 bytes

40066

COMMAND

명령 코드

2 bytes

40003

STATUS_CODE

상태 코드

2 bytes

40067

COMMAND_PARAM

명령 파라미터 1

2 bytes

40004

RESERVED

예약 필드

2 bytes

40068

명령 파라미터 2

2 bytes

40005

JUDGE

ID 1의 판정 결과

ID 2의 판정 결과

ID 3의 판정 결과

...

8 bytes

40069~40072

명령 파라미터 3

2 bytes

40006

명령 파라미터 4

2 bytes

40007

명령 파라미터 5

2 bytes

40008

명령 파라미터 6

2 bytes

40009

VALUE

ID 1의 측정 결과

ID 2의 측정 결과

ID 3의 측정 결과

...

256 bytes

(4 bytes x 64)

40073~40200

명령 파라미터 7

2 bytes

40010

명령 파라미터 8

2 bytes

40011

명령 파라미터 9

2 bytes

40012

명령 파라미터 10

2 bytes

40013

VAR_INPUT

변수 1

4 bytes

40014~40015

변수 2

4 bytes

40016~40017

변수 3

4 bytes

40018~40019

변수 4

4 bytes

40020~40021

변수 5

4 bytes

40022~40023

변수 6

4 bytes

40024~40025

변수 7

4 bytes

40026~40027

변수 8

4 bytes

40028~40029

변수 9

4 bytes

40030~40031

변수 10

4 bytes

40032~40033

RESERVED

예약 필드

62 bytes

40034~40064

입력(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

주로 지정한 프로젝트의 측정값을 가져오는 데 사용됩니다.

recipe

6

프로젝트 번호와 파라미터 레시피 번호입니다.

프로젝트에서 사용하는 파라미터 레시피를 전환하는 데 사용됩니다.

solution

7

솔루션 ID입니다.

솔루션을 전환하는 데 사용됩니다.

setNumVar

8

전역 변수 번호이며, 한 번에 1개만 설정할 수 있습니다.

숫자형 전역 변수의 값을 설정하는 데 사용되며, 변수 값은 VAR_INPUT를 통해 전달됩니다.

getNumVar

9

전역 변수 번호이며, 한 번에 1개만 설정할 수 있습니다.

숫자형 전역 변수의 값을 읽는 데 사용되며, 읽기 결과는 VALUE를 통해 반환됩니다.

VAR_INPUT(변수 입력)

setNumVar 명령을 실행할 때 설정한 값은 VAR_INPUT에 기록됩니다.

홀딩 레지스터 주소(4x) 데이터 설명

40014~40015

변수 1(부동 소수점)

숫자형 입력 파라미터 1

40016~40017

변수 2(부동 소수점)

숫자형 입력 파라미터 2

40018~40019

변수 3(부동 소수점)

숫자형 입력 파라미터 3

40020~40021

변수 4(부동 소수점)

숫자형 입력 파라미터 4

40022~40023

변수 5(부동 소수점)

숫자형 입력 파라미터 5

40024~40025

변수 6(부동 소수점)

숫자형 입력 파라미터 6

40026~40027

변수 7(부동 소수점)

숫자형 입력 파라미터 7

40028~40029

변수 8(부동 소수점)

숫자형 입력 파라미터 8

40030~40031

변수 9(부동 소수점)

숫자형 입력 파라미터 9

40032~40033

변수 10(부동 소수점)

숫자형 입력 파라미터 10

출력(Mech-MSR에서 PLC로)

CONTROL_OUTPUT (출력 제어)

주소 데이터 설명

0.0

하트비트 신호(부울 값)

시스템 하트비트는 1초마다 반전됩니다. 이를 통해 PLC와 Mech-MSR 간 통신 연결이 정상인지 또는 끊어졌는지 판단할 수 있습니다.

0.1

명령 트리거 ACK(부울 값)

Mech-MSR이 명령 트리거 신호의 상승 에지를 수신하면 이 신호를 1로 설정합니다. 명령 트리거 신호가 하강 에지가 되면 이 신호를 0으로 설정합니다.

0.2

데이터 준비 완료(부울 값)

Mech-MSR이 출력 포트에 데이터를 기록한 후 PLC가 이를 읽기를 기다립니다. 데이터 읽기 완료 신호가 1이 되면 이 신호는 0으로 설정됩니다.

0.3

명령 실행 완료(부울 값)

명령 실행이 끝나면 이 신호를 1로 설정하여 명령 처리가 완료되었음을 나타냅니다.

0.4

예약 필드(부울 값)

예약 필드입니다.

0.5

예약 필드(부울 값)

예약 필드입니다.

0.6

예약 필드(부울 값)

예약 필드입니다.

0.7

오류(부울 값)

Mech-MSR이 반환한 상태 코드가 1이 아니면 오류가 있는 것이며, 이 신호는 1로 설정됩니다.

1.0

종합 판정 결과(부울 값)

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

1.1~1.7

예약 필드(부울 값)

예약 필드입니다.

2.0~3.7

예약 필드(바이트)

예약 필드입니다.

STATUS_CODE (상태 코드)

Mech-MSR이 반환할 수 있는 상태 코드는 다음과 같습니다.

  • 정상 상태 코드: 1, 명령이 성공적으로 실행되었음을 나타냅니다.

  • 오류 상태 코드: -1, -2, -3, -4, -5. 자세한 내용은 오류 상태 코드 설명을 참조하십시오.

JUDGE (판정 결과)

출력 관리 창의 통신 출력 탭에 추가된 측정 항목의 품질 판정 결과입니다. 1은 합격(OK), 0은 불합격(NG)을 의미합니다.

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

VALUE (측정 결과)

VALUE 모듈은 다음 데이터를 반환할 수 있습니다.

  • 통신 출력 탭에 추가된 측정 항목의 측정 결과

  • getNumVar 명령 실행 시 읽어온 숫자형 전역 변수의 값

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

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

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

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

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