For maintenance

사용자정의 통신(사용자 프레임 정의 설정) 본문

PLC/LS

사용자정의 통신(사용자 프레임 정의 설정)

New life 2021. 5. 20. 20:21
반응형

통신 프로토콜은 통신 기기 제조업체에 따라 매우 다양하게 사용되고 있고, 통신모듈에 모든 프로토콜을 내장 하기는 불가능하여 사용자가 응용분야에 맞게 프로토콜을 정의하여 프로그램을 작성하면 Cnet I/F 모듈에서는 정의된 프로토콜에 따라 이기종 기기와의 통신을 가능하게 하여 줍니다. 따라서 Cnet I/F 모듈에서 제공하는 프로토콜(XGT 프로토콜, 모드버스 프로토콜)을 사용하지 않는 이기종의 장비와 통신하기 위해 사용자가 직접 통신하고자 하는 장비에서 사용되는 프로토콜을 작성하여 통신할 수 있는 기능입니다. Cnet I/F 모듈에서 지원하지 않는 프로토콜로 동작하는 통신기기와 데이터를 송수신 할 경우 사용자가 직접 송신 프레임과 수신프레임을 상대방 통신기기의 프로토콜과 동일하게 작성해야만 데이터 송수신이 가능합니다.

 

10.1.1 사용자 정의 통신의 설정순서
사용자 정의 통신을 이용하여 통신기기와 데이터 송수신을 할 경우 아래와 같습니다.

10.2 사용자 정의 통신 프레임의 구성
사용자 정의 통신을 사용하여 프레임을 작성하는 경우 프레임은 크게 프레임의 시작을 나타내는 헤드(HEAD)와 끝을 나타내는 테일(TAIL) 그리고 데이터영역인 바디(BODY)로 구분되며 각각의 헤드와 테일 그리고 바디는 각각의 세그먼트로 구성됩니다. 또한 하나의 프레임의 총 크기는 1024 바이트 이하로 작성하여야 합니다.


10.2.1 헤드(HEAD)의 구성
헤드를 구성하는 세그먼트의 입력 종류는 크게 수치상수와 문자열 상수로 구분합니다. 수치상수의 경우 헥사 값을 의미하며 문자열 상수는 ASCII 문자를 의미합니다. 헤드에서 구성 가능한 세그먼트 개수는 16개 이하로 제한됩니다.
10.2.2 테일(TAIL)의 구성
테일를 구성하는 세그먼트의 입력의 종류는 수치상수와 문자열 상수 그리고 프레임 에러를 체크하는 BCC로 구성됩니다. 수치상수와 문자열 상수는 헤드에서 사용되는 의미와 동일하고 BCC의 경우 송수신 프레임의 오류를 검사하기 위해 사용되는 세그먼트이며, 테일에 오직 1개만 설정할 수 있습니다.
테일에서 구성 가능한 세그먼트 개수는 16개 이하로 제한됩니다.
1) BCC 에러체크
수치상수와 문자열 상수는 헤드에서 사용되는 의미와 동일하고 BCC의 경우 송수신 프레임의 오류를 검사하기 위해 사용되는 세그먼트이며, TAIL에 오직 1개만 설정할 수 있습니다. BCC를 설정한 경우 설정 방식에 따라 송수신 프레임에 대한 BCC 연산을 하고 연산결과가 다를 경우 해당 프레임을 무시하므로 통신의 신뢰성을 높이는 수단이 됩니다. 각 BCC의 오류검사방법에 관한 내용은 아래와 같습니다.

BCC의 설정시 BCC 계산방식에서 전용통신 방식으로 분류된 경우는 BCC 설정범위 및 표시방식을 설정할 필요가 없으며, 범용통신으로 분류된 경우는 BCC 설정범위 및 표시방식을 설정하여야 합니다.

10.2.3 바디(BODY)의 구성
바디를 구성하는 세그먼트의 입력 종류는 송신과 수신에 따라 종류가 다릅니다.
송신의 경우 수치상수와 문자열 상수 가변크기 변수로 분류되며 수치상수와 문자열 상수의 의미는 헤드와 동일합니다. 바디에서 구성 가능한 세그먼트 개수는 100개 이하로 제한됩니다.
1) 가변크기 변수 (수신 프레임의 경우)
프레임 중 크기와 내용이 모두 변경되는 부분은 가변 크기 변수 세그먼트로 정의합니다. 가변크기 변수는 바디에만 설정 가능합니다. 또, 다른 세그먼트와 달리 가변 크기 변수 세그먼트 이후에는 세그먼트를 추가로 설정할 수 없습니다. 가변 크기 세그먼트를 사용하는 경우에는 반드시, 헤드, 테일 중 하나가 반드시 있어야 합니다. 헤드, 테일 없이 가변 크기 변수만으로 프레임을 등록하면, 통신 상황에 따라 프레임 수신 시에 오류가 발생할 가능성이 있습니다. 신뢰성 있는 통신을 위해서는 반드시 헤드, 테일 중 하나 이상을 설정해야 합니다. 송신 프레임에서 가변크기 변수를 사용하더라도 P2P블록 설정에서 가변크기 변수의 크기를 지정하기 때문에 기능 및 특징은 수신의 고정 크기 변수와 같습니다.
2) 고정크기 변수 (수신 프레임의 경우)
프레임 중 크기는 고정되어 있으나 데이터의 내용이 수신 시 변경되는 부분은 고정 크기 변수 세그먼트로 정의합니다. 바디에만 설정 가능합니다. 고정크기 변수의 경우 하나의 바디에 최대 4개까지 설정이 가능합니다.
Cnet I/F 모듈의 사용자 정의 통신에서 지원하는 송수신 프레임의 규격은 아래와 같습니다.

10.3 프레임의 작성
10.3.1 사용자정의 통신을 하는 경우 기본설정하기
사용자 정의 통신을 수행하기 위해서는 클라이언트로 동작하는 경우와 마찬가지로 동작방식을 P2P사용으로 해야만 사용 가능합니다.

10.3.2 송신프레임 작성하기
프레임 구성은 프레임의 시작을 나타내는 헤드(HEAD), 끝을 나타내는 테일(TAIL) 그리고 데이터영역인 바디(BODY)로 구분됩니다. 송신 프레임을 작성하는 방법은 다음과 같습니다.

10.3.4 파라미터 설정하기
XG5000의 사용자 프레임 정의를 통하여 작성한 송수신 프레임을 이용하여 데이터 송수신을 하기 위해서는 작성한 프레임을 P2P블록을 통하여 파라미터를 설정해 주어야 합니다. 파라미터 설정방법은 아래와 같습니다.

10.3.5 파라미터 쓰기

10.4 프레임 모니터
Cnet I/F 모듈의 파라미터를 설정하는XG5000에서는 프레임 모니터링 기능을 통하여 실제 클라이언트/서버간 송수신되는 프레임을 확인할 수 있습니다.