시작하기
사용자 정의 통신
이 페이지의 내용
  1. 명령
  2. 프레임
  3. 프레임 항목

사용자 정의 통신

사용자가 직접 정의한 프레임으로 외부 기기와 통신합니다. 시리얼, TCP, UDP, 웹소켓, 블루투스, 공유 메모리 연결을 사용할 수 있으며, 연결은 설정 > 사용자 정의 통신 에서 등록합니다(6부).

사용자 정의 통신

사용할 연결을 선택합니다.

명령

  • 보내기(기본값): 프레임에 구성한 데이터를 보냅니다.
  • 받기: 데이터를 받아 프레임에 따라 해석합니다.
수신 완료

새 데이터를 받는 순간 true, 그렇지 않으면 false 가 되는 디지털 타입 변수를 선택합니다. 명령이 받기일 때만 표시됩니다.

프레임

보내거나 받을 데이터 프레임을 항목의 나열로 구성합니다. 표에 항목을 추가하여 구성하며, 프레임은 다음과 같이 동작합니다.

  • 보낼 때: 항목 순서대로 데이터를 구성합니다. 상수, 변수, 무결성 검사 항목을 포함할 수 있고, 변수는 보내는 시점의 값이 사용되며, 무결성 검사 항목은 계산 결과가 프레임에 포함됩니다.
  • 받을 때: 받은 데이터를 프레임과 비교하여 일치하는지 확인합니다. 변수 항목은 받은 데이터를 해석하여 변수에 저장하고, 무결성 검사 항목은 받은 데이터의 계산 결과가 일치하는지 확인합니다.

프레임 항목

이름

항목의 이름을 입력합니다. 임의의 이름을 쓸 수 있습니다.

타입
  • 디지털(기본값): true 또는 false 상수입니다.
  • 숫자: 숫자 상수입니다. 숫자 형식으로 바이트 크기와 정수, 실수 여부를 지정합니다.
  • 텍스트: 텍스트 상수입니다.
  • 바이트배열: 바이트 배열 상수입니다.
  • 변수: 변수의 값을 보내거나 받은 값을 변수에 저장합니다. 디지털, 숫자, 텍스트, 바이트배열 타입 변수만 선택할 수 있습니다.
  • 무결성 검사: 지정한 범위의 데이터로 검사값을 계산하여 프레임에 넣거나 받은 검사값과 대조합니다.
값

상수 값을 입력합니다. 타입이 디지털, 숫자, 텍스트, 바이트배열일 때만 표시됩니다.

변수

보내거나 받을 변수를 선택합니다. 타입이 변수일 때만 표시됩니다.

숫자 형식

숫자를 바이트로 바꾸는 형식을 1바이트 정수(기본값), 1바이트 정수 (부호 없음), 2바이트 정수, 2바이트 정수 (부호 없음), 4바이트 정수, 4바이트 정수 (부호 없음), 4바이트 실수, 8바이트 실수 중에서 선택합니다. 타입이 숫자이거나, 변수이면서 숫자 타입 변수를 선택했을 때만 표시됩니다.

바이트 크기 모름

받을 데이터의 바이트 크기를 미리 알 수 없을 때 켭니다. 프레임에 크기를 모르는 항목은 하나만 둘 수 있습니다. 명령이 받기이고 타입이 변수이면서 텍스트 또는 바이트배열 타입 변수를 선택했을 때만 표시됩니다.

바이트 크기

받을 데이터의 바이트 크기를 1~65535 에서 입력합니다. 이 크기만큼 해석하여 변수에 저장합니다. 바이트 크기 모름이 꺼진 텍스트 또는 바이트배열 변수 항목에서만 표시됩니다.

바이트 역순

보내거나 받을 데이터의 바이트 순서를 뒤집습니다. 상대 기기와 바이트 순서(엔디언) 처리가 다를 때 켭니다. 상수 또는 변수의 타입이 숫자, 텍스트, 바이트배열일 때만 표시됩니다.

검사 방법

무결성 검사의 계산 방법을 선택합니다. 시작 데이터부터 종료 데이터까지의 항목이 계산 대상입니다. 타입이 무결성 검사일 때만 표시됩니다.

검사 방법계산
BYTE SUM모든 바이트를 더한 합계
WORD SUM워드(16비트) 단위로 더한 합계
BYTE XOR모든 바이트를 XOR 로 누적
7BIT SUM각 바이트의 상위 1비트를 제외한 7비트를 더한 합계
7BIT XOR각 바이트의 상위 1비트를 제외한 7비트를 XOR 로 누적
7BIT SUM (0x20 이상)값이 0x20(공백) 이상인 바이트만 7비트로 더한 합계
BYTE SUM (2의 보수)모든 바이트의 합계를 2의 보수로 변환
BYTE SUM (1의 보수)모든 바이트의 합계를 1의 보수(비트 반전)로 변환
CRC16 STANDARD표준 다항식의 16비트 CRC
CRC16 CCITTCCITT 다항식(0x1021)의 16비트 CRC
CRC16 MODBUSModbus 다항식(0x8005)의 16비트 CRC
시작 데이터, 종료 데이터

무결성 검사를 계산할 범위의 첫 항목과 마지막 항목을 프레임 항목 중에서 선택합니다. 타입이 무결성 검사일 때만 표시됩니다.

ASCII로 변환

켜면 계산한 검사값을 16진수 문자열로 바꿔 넣습니다(예: 0x9C 는 문자열 「9C」). 타입이 무결성 검사일 때만 표시됩니다.