사용자 도구

사이트 도구


products:mp_studio:user_protocol

MP STUDIO 2 · 사용자 프로토콜

사용자 프로토콜은 Modbus를 쓰지 않는 장치(CO2 센서, 바코드ㆍQR 리더, ASCII 명령으로 통신하는 인버터ㆍ온도 조절기, 숫자 표시기 등)와 장비가 정해진 바이트 모양으로 데이터를 주고받게 하는 기능입니다(V1.3.0부터). 주고받을 바이트의 모양과 보내는 때를 사용자 프로토콜 창에서 정하면, 장비가 프로그램과 함께 그 통신을 실행합니다. 래더에서 PUTㆍGET으로 바이트를 하나씩 다루지 않아도 되며, 받은 값은 체크섬까지 맞은 뒤에 지정한 메모리에 들어갑니다.

  • 프레임과 거래 정의: 주고받는 바이트를 칩으로 늘어놓아 프레임을 만들 수 있고, 보낼 프레임ㆍ기다릴 프레임ㆍ시작 조건을 거래로 묶을 수 있습니다.
  • 통신 모양 네 가지: 묻고 받기ㆍ받기만ㆍ받으면 답하기ㆍ보내기만을 한 포트에서 함께 쓸 수 있습니다.
  • 래더에서 시작: UPTRIG 펑션으로 원하는 순간에 거래를 한 번 실행할 수 있습니다. 결과는 상태 칸과 완료 비트로 확인할 수 있습니다.
  • 확인 도구: 보낼 바이트 미리보기, 받은 바이트 해석, 맞는 체크섬 갈래 찾기, 시뮬레이션의 가상 상대, 모니터링 중 상태ㆍ통신 기록, PLC 없이 PC의 COM 포트로 장치와 주고받는 PC 직접 시험을 제공합니다.

그림 1. 사용자 프로토콜 창에서 정한 프레임과 거래가 장비에서 실행되는 흐름

지원 제품과 통신포트

사용자 프로토콜은 장비의 시리얼 채널(통신포트1~통신포트3)에 정합니다. 사용할 수 있는 통신포트 수는 기종을 따릅니다.

통신포트 기종
통신포트1 MPS-8A4R(T)-S · MPS-8A8R(T)-S · MPS-16A8R(T)-R2 · MPS-16A16R(T)
통신포트1~통신포트3 MPS-8A8R · MPS-16A8R(T) · MPS-16A8R8T · MPA 시리즈

통신포트에 연결되는 단자(RS-232ㆍRS-485ㆍUART)와 커넥터 그림은 제품 페이지에서 확인해주시기 바랍니다: MPS-8A4R-S · MPS-8A4T-S · MPS-8A8R-S · MPS-8A8T-S · MPS-16A16R · MPS-8A8R · MPS-16A8R · MPS-16A8R8T · MPA Series. MPA 시리즈는 통신포트1이 RS-232, 통신포트2가 RS-485, 통신포트3이 UART입니다.

  • 상대 장치와 보레이트ㆍ데이터 비트ㆍ패리티ㆍ정지 비트가 같아야 합니다. ASCII 장치에 흔한 7 데이터 비트(예: 7-E-1)도 사용할 수 있습니다.
  • RS-485 단자의 송신ㆍ수신 전환은 장비가 처리하므로 래더에서 따로 다루지 않습니다.
  • MPA 시리즈에서 7세그먼트의 FINI를 실행하면 통신포트3(시리얼 3)이 꺼집니다(7세그먼트 표시 참고). 7세그먼트와 함께 쓸 때는 사용자 프로토콜을 통신포트1ㆍ통신포트2에 정해주시기 바랍니다.

동작 방식

사용자 프로토콜은 통신포트마다 프레임과 거래로 정합니다.

  • 프레임: 주고받는 바이트 한 묶음의 모양입니다. 고정 바이트, PLC 메모리의 값, 글자열, 길이, 체크섬 같은 필드를 차례로 놓아 만듭니다.
  • 거래: 어떤 프레임을 언제 보내고 어떤 프레임을 기다리는지 정한 것입니다. 거래마다 통신 모양, 시작 조건, 응답 대기, 다시 시도, 결과를 받을 상태 칸과 완료 비트를 정할 수 있습니다.
통신 모양 시작 동작 쓰임 예
묻고 받기 주기ㆍ래더 UPTRIGㆍ값이 바뀔 때 보낼 프레임을 보내고 받을 프레임을 기다립니다. CO2 센서, 인버터 상태 읽기, 온도 조절기
받기만 늘 듣기 맞는 프레임이 오면 값을 넣습니다. 보내지 않습니다. 바코드ㆍQR 리더, 연속 출력 저울
받으면 답하기 늘 듣기 맞는 프레임이 오면 정한 답 프레임을 바로 보냅니다. PC 프로그램, Modbus가 없는 HMI
보내기만 주기ㆍ래더 UPTRIGㆍ값이 바뀔 때 보낼 프레임을 보내고 응답을 기다리지 않습니다. 숫자 표시기, 프린터, 설정 명령

그림 2. 통신 모양 네 가지에서 장비와 상대 장치가 주고받는 순서

장비에서는 다음과 같이 실행됩니다.

  • 한 통신포트는 한 번에 거래 하나만 실행합니다. 때가 된 거래가 여럿이면 거래 목록 순서로 돌아가며 실행하고, 받으면 답하기의 답은 먼저 보냅니다.
  • 받은 바이트는 프레임 전체가 맞은 뒤에 한꺼번에 메모리에 들어갑니다. 체크섬이나 값 형식이 맞지 않으면 그 프레임의 값은 하나도 넣지 않습니다. 래더는 받은 값을 다음 스캔부터 읽습니다.
  • 받은 바이트가 어느 프레임에도 맞지 않으면 앞에서 한 바이트를 버리고 다시 맞춥니다. 응답 앞에 잡음 바이트가 섞여도 뒤에 맞는 프레임이 있으면 받습니다.
  • 사용자 프로토콜은 프로그램과 함께 장비에 내려갑니다. 창에서 고친 내용은 확인을 누르고 다시 다운로드해야 장비에 반영됩니다.

통신 포트 준비

사용자 프로토콜을 쓰는 시리얼 채널은 모드가 User Protocol이고 이 채널을 다운로드에 사용이 꺼져 있어야 합니다.

그림 3. 통신 포트 창에서 시리얼 1의 모드를 User Protocol로 정한 모습

  1. 설정 → 통신 포트를 선택하고, 사용할 시리얼 채널의 탭(예: 시리얼 1)에서 보레이트ㆍ데이터 비트ㆍ패리티ㆍ정지 비트를 상대 장치에 맞춰주시기 바랍니다. 115200이 아닌 보레이트를 쓰려면 먼저 이 채널을 다운로드에 사용을 꺼주시기 바랍니다.
  2. 모드는 이 창에서 User Protocol로 골라도 되고, 그대로 두어도 됩니다. 사용자 프로토콜 창에서 확인을 누르면 Normal 모드였던 포트는 User Protocol로 바뀌고, 그 포트의 다운로드 사용이 꺼집니다.
  • Normal이 아닌 다른 모드(예: Modbus RTU Slave)로 정한 포트는 저절로 바꾸지 않습니다. 사용자 프로토콜 창 위에 표시되는 사용자 프로토콜로 바꾸기를 눌러야 바뀝니다.
  • Modbus 장비 표를 쓰는 통신포트에는 사용자 프로토콜을 함께 정할 수 없습니다. 한 포트의 수신 버퍼를 둘이 함께 읽으면 둘 다 동작하지 않으므로, 한쪽을 다른 통신포트로 옮겨야 합니다.
  • 사용자 프로토콜을 지운 포트는 확인을 누를 때 Normal 모드로 돌아갑니다.
  • 통신 포트 창의 각 항목은 Phase 6 · 통신 포트에서 설명합니다.

사용자 프로토콜 창

창 열기

  • 설정 → 사용자 프로토콜…을 선택하면 열립니다.
  • 래더의 UPTRIG 번호 칸에서 사용자 프로토콜 열기를 눌러도 열립니다(아래).
  • 인스펙터나 사용한 데이터 창에서 사용자 프로토콜이 쓰는 칸을 누르면, 그 칸을 쓰는 거래ㆍ프레임ㆍ필드를 고른 채로 창이 열립니다.

그림 4. 설정 메뉴의 사용자 프로토콜…

창은 열어 둔 채 래더를 편집할 수 있습니다. 통신포트에 정의가 없으면 + 이 포트에 만들기와 본보기 목록이 표시됩니다.

그림 5. 정의가 없는 통신포트에서 빈 포트로 시작하거나 본보기를 고르는 화면

본보기 들어가는 내용
CO2·가스 센서 — 1 초마다 묻기 묻고 받기(1초 주기) 거래와 영점 명령을 UPTRIG 3으로 보내는 보내기만 거래. 2진 값 D100, 2의 보수 합 체크섬
CO2·가스 센서 — 받기만 (센서 통신 예제 · 센서가 혼자 보낼 때) 같은 CO2 응답 프레임을 요청 없이 늘 듣는 받기만 거래
바코드·QR 리더 받기만 거래. 끝 문자 CR LF까지의 글자열을 D200부터 넣고 글자 수를 D190에 넣음
인버터·온도 조절기 (ASCII 국번 명령) 묻고 받기(0.5초 주기). ASCII 10진ㆍ16진 값, 합 체크섬(ASCII 16진 2자리), NAK 오류 응답

본보기의 이름과 칸(D100ㆍM100 등)은 넣은 뒤 자유롭게 고칠 수 있습니다. 정의가 있는 포트에도 + 본보기에서 불러오기…로 더할 수 있으며, 이름이 겹치면 뒤에 번호가 붙습니다.

화면 구성

그림 6. 사용자 프로토콜 창(CO2 센서 본보기의 묻고 받기 거래를 고른 모습)

  • ① 통신포트 탭: 정의할 통신포트를 고르는 탭입니다. 정의가 있는 포트에는 사용자 프로토콜과 회선 설정(예: 9600 · 8-N-1)이 함께 표시됩니다.
  • ② 보기: 정의ㆍPC 직접 시험ㆍ통신 기록 중에서 고를 수 있습니다. 시뮬레이션 중에는 시뮬 가상 상대가 더해집니다. 회선 설정…을 누르면 통신 포트 창이 열립니다.
  • ③ 거래: 거래 카드에 이름, 통신 모양, 시작 조건, 보낼 프레임 → 받을 프레임, 상태 칸ㆍ완료 비트가 표시됩니다. 모니터링 중에는 마지막 결과가 함께 표시됩니다. + 거래 추가를 누르고 통신 모양을 고르면 거래가 더해집니다.
  • ④ 프레임: 이 포트의 프레임 목록입니다. 프레임마다 보냄ㆍ받음ㆍ안 씀과 바이트 수가 표시됩니다. + 프레임으로 더하고, 프레임을 고르면 복제ㆍ프레임 삭제를 쓸 수 있습니다.
  • ⑤ 포트 설정: 글자 사이 틈 괜찮음(아래)과 모니터 중 통신 기록(아래)을 정하는 칸입니다. 포트 비우기는 이 포트의 정의를 모두 지웁니다.
  • ⑥ 거래 설정: 고른 거래의 이름ㆍ통신 모양ㆍ시작ㆍ응답 대기ㆍ다시 시도ㆍ상태 칸ㆍ완료 비트를 정하는 칸입니다(거래).
  • ⑦ 칩 띠: 거래가 보내는 프레임(보냄)과 기다리는 프레임(받음ㆍ오류 응답)이 칩으로 표시됩니다(프레임).
  • ⑧ 미리보기: 보낼 바이트를 16진으로 보이고, 받은 바이트를 붙여 넣으면 해석합니다(아래).
  • ⑨ 속성: 고른 칩(필드)의 속성을 고칩니다. 칩을 고르지 않으면 거래나 프레임의 설명이 표시됩니다.
  • ⑩ 램ㆍ플래시ㆍ한 번: 사용자 프로토콜이 쓰는 장비의 램과 플래시(사용자 영역 대비 %), 고른 거래 한 번의 전송 시간 계산값입니다. 전송 시간에는 스캔 시간과 상대 장치의 처리 시간이 들지 않습니다. 고칠 곳이 있으면 램ㆍ플래시는 표시되지 않습니다.
  • ⑪ 바닥: 포트ㆍ거래ㆍ프레임 수와 고칠 곳 수가 표시됩니다. 확인을 누르면 정의가 프로젝트에 들어가고, 취소를 누르면 고친 내용을 버립니다. 프로젝트를 저장해야 파일에 남습니다.

단축키와 되돌리기

키 동작
Ctrl+Enter 확인
Esc 창 닫기. 고친 내용이 있으면 고친 내용을 버릴까요?를 묻습니다.
Ctrl+Z / Ctrl+Y 창 안에서 고친 내용을 한 단계씩 되돌리거나 다시 합니다. 되돌릴 것이 없으면 프로그램 전체의 실행취소ㆍ다시 실행으로 넘어갑니다.
Ctrl+S 프로젝트 저장. 확인 전에 창에서 고친 내용은 저장되지 않습니다.
Ctrl+T / Ctrl+M 다운로드 / 모니터링
← → · Alt+← Alt+→ · Delete · Insert 칩 띠에서 칩 사이 이동 · 칩 옮기기 · 칩 지우기 · 칩 더하기
  • 글자 입력칸 안의 Ctrl+Z는 그 칸의 입력을 되돌립니다. 같은 칸에 이어서 입력한 글자는 한 단계로 되돌아갑니다.
  • 확인은 프로그램 전체의 실행취소 한 단계입니다. 확인한 뒤에는 편집 → 실행취소(Ctrl+Z)로 확인 전 정의로 되돌릴 수 있습니다.

프레임

프레임은 바이트 순서대로 놓인 칩(필드)으로 만듭니다. 칩 아래에는 바이트 자리(1번째부터)가 표시되고, 체크섬 칩을 고르면 체크섬이 계산하는 범위가 띠에 칠해집니다. 칩 띠 끝의 +를 눌러 필드 종류를 고르면 칩이 더해집니다.

그림 7. 칩 띠의 +로 필드 종류를 고르는 모습

필드 보낼 때 받을 때
고정 적은 바이트를 그대로 보냅니다. 같은 바이트여야 이 프레임으로 봅니다(칩에 같아야 함으로 표시).
값 PLC 칸의 값을 정한 형식의 바이트로 바꿔 보냅니다. 바이트를 값으로 바꿔 PLC 칸에 넣습니다.
글자열 PLC 칸의 글자를 보냅니다. 받은 글자를 PLC 칸에 넣고, 글자 수를 따로 넣을 수 있습니다.
건너뜀 채움 바이트를 정한 수만큼 보냅니다. 그 자리의 바이트는 보지 않습니다.
길이 정한 필드들의 바이트 수를 넣어 보냅니다. 실제 바이트 수와 맞는지 확인하고, 길이가 바뀌는 프레임의 끝을 정합니다.
체크섬 계산해 넣습니다. 계산해 맞춰 봅니다(칩에 맞춰 봄으로 표시). 틀리면 값을 넣지 않습니다.

그림 8. CO2 응답 프레임 9바이트의 필드와 체크섬 범위

고정 바이트

바이트 칸에는 16진, 큰따옴표 글자, 제어 문자 이름을 빈칸으로 띄어 적어주시기 바랍니다. 아래에 실제 바이트와 바이트 수가 표시됩니다.

적는 법 예 바이트
16진 두 자리 FF 01 86 FF 01 86
큰따옴표 글자(ASCII) “01R” 30 31 52
제어 문자 이름(NUL~USㆍSPㆍDEL) STX ETX CR LF ACK NAK 02 03 0D 0A 06 15
반복(*N, 1~255) 00*5 00 00 00 00 00

한 칩에는 255바이트까지 적을 수 있습니다. ASCII 밖의 글자는 16진으로 적어야 합니다. FF는 16진 바이트 0xFF로 읽습니다(폼 피드 제어 문자 이름으로 쓰지 않습니다).

값

PLC 주소에 값을 주고받을 칸(예: D100)이나 심볼 이름을 적고 형식을 골라주시기 바랍니다.

그림 9. 값 필드의 속성(2진 2바이트, 큰 끝 먼저)

형식 설정 예
2진 바이트 수 1ㆍ2ㆍ4, 순서(큰 끝 먼저ㆍ작은 끝 먼저), 부호(없음ㆍ있음) 2바이트 큰 끝 먼저: 01 9A ↔ 410
ASCII 10진 자릿수(1~10, 비우면 가변), 채움(0 채움ㆍ공백), 부호(없음ㆍ음수만 -ㆍ늘 +/-), 소수 자리(0~9), 소수점(안 찍음ㆍ찍음) 4자리 0 채움: 100 ↔ “0100” · 소수 자리 2ㆍ찍음: 1234 ↔ “12.34”
ASCII 16진 자릿수, 보낼 때 글자(대문자ㆍ소문자) 4자리: 6699 ↔ “1A2B”
BCD 바이트 수 1ㆍ2ㆍ4, 순서 2바이트: 1234 ↔ 12 34
REAL 순서(4바이트 실수) 실수 칸(R 등)과 주고받습니다.
  • ASCII 10진을 받을 때 앞뒤 공백, +ㆍ-, 정한 자리보다 짧은 소수(“12.3” → 1230)는 읽습니다. 숫자가 아닌 글자나 정한 소수 자리보다 긴 0이 아닌 소수(“12.345”)가 오면 값을 넣지 않고 상태 칸이 값 바꾸기 실패(F4)가 됩니다. 가변 자릿수는 받을 때 1~12글자입니다.
  • 받은 값이 PLC 칸에 들어가지 않을 만큼 크면 값을 넣지 않고 F4가 됩니다. 이런 조합이면 칩에 경고가 표시됩니다.
  • 데이터 비트가 7이면 0x7F보다 큰 바이트는 맨 위 비트가 사라집니다. 7 데이터 비트 포트에서 2진 값ㆍ0x7F보다 큰 고정 바이트를 쓰면 칩이 붉게 표시됩니다.

글자열

  • PLC 주소 (첫 칸)부터 워드 하나에 두 글자씩 들어갑니다. 아래 바이트가 먼저입니다(D200의 아래 바이트 = 첫 글자).
  • 길이: 끝 문자 전까지 · 최대 N은 바로 뒤의 고정 필드(예: CR LF)가 나올 때까지 최대 N글자를 받습니다. 늘 N 글자는 언제나 N글자입니다. N은 1~255입니다.
  • 받은 글자 수를 둘 칸에 워드 주소를 적으면 받은 글자 수가 들어갑니다. 남는 자리 채움 (16진)은 N글자보다 짧을 때 남는 자리를 채우는 바이트입니다.

길이

형식(2진 1바이트ㆍ2진 2바이트ㆍASCII 10진ㆍASCII 16진)과 세는 범위(필드 몇 번부터 몇 번까지)를 정해주시기 바랍니다. 보낼 때는 그 범위의 바이트 수를 넣고, 받을 때는 실제 바이트 수와 맞는지 확인합니다. 장치가 바이트 수에 다른 수를 더해 보낸다면 보정 (더할 수)에 그 수를 적어주시기 바랍니다.

체크섬

종류 계산
합 (8 비트) · 합 (16 비트) 범위의 바이트를 더한 값의 아래 8비트ㆍ16비트
2의 보수 합 바이트 합의 2의 보수(합을 0x100에서 뺀 값)
1의 보수 합 바이트 합의 비트를 뒤집은 값
XOR (BCC) 범위의 바이트를 XOR한 값
CRC-16 아래 갈래 중 하나 또는 직접 정한 값
LRC 범위의 ASCII 16진 글자를 두 글자씩 바이트로 바꿔 더한 합의 2의 보수(Modbus ASCII 방식)
  • 범위 시작: 1 번째부터ㆍ2 번째부터 또는 몇 번째 바이트부터인지 적을 수 있습니다. 머리 바이트(STX 등)를 빼고 계산하는 장치에는 2 번째부터를 골라주시기 바랍니다.
  • 범위 끝: 기본은 체크섬 바로 앞까지입니다. 체크섬 뒤에 끝 문자가 오는 프레임도 이 기본값을 그대로 쓸 수 있습니다.
  • 넣는 모양: 1바이트ㆍ2바이트(큰 끝 먼저ㆍ작은 끝 먼저) 또는 ASCII 16진 2ㆍ4자리입니다. ASCII 16진은 보낼 때 대문자ㆍ소문자를 고를 수 있으며, 받을 때는 대소문자를 가리지 않습니다.

CRC-16은 장치마다 계산 갈래가 다릅니다. CRC-16 갈래를 고르면 다항식ㆍ처음 값ㆍ입력 반사ㆍ출력 반사ㆍ끝 XOR 다섯 칸이 채워지고, 문자열 “123456789”로 계산한 확인값이 표시됩니다. 확인값이 장치 설명서의 check 값과 같은 갈래를 골라주시기 바랍니다. 다섯 칸 중 하나를 고치면 직접 정함이 됩니다.

그림 10. 체크섬 속성의 CRC-16 갈래 목록

갈래 다항식 처음 값 반사(입력ㆍ출력) 끝 XOR 확인값
MODBUS 8005 FFFF 예 0000 4B37
CCITT-FALSE 1021 FFFF 아니오 0000 29B1
XMODEM 1021 0000 아니오 0000 31C3
KERMIT 1021 0000 예 0000 2189
X-25 1021 FFFF 예 FFFF 906E
ARC 8005 0000 예 0000 BB3D
USB 8005 FFFF 예 FFFF B4C8
DNP 3D65 0000 예 FFFF EA82

넣는 모양의 기본값은 MODBUS만 작은 끝 먼저이고, 나머지 갈래는 모두 큰 끝 먼저입니다.

받는 프레임의 끝

받는 프레임이 어디서 끝나는지는 프레임 모양에서 정해지며, 칩 띠 위에 끝 알기: …로 표시됩니다.

표시 끝을 정하는 것
끝 알기: 고정 길이 N 모든 필드의 길이가 정해진 프레임
끝 알기: 길이 필드(필드 N) 앞에 있는 길이 필드의 값
끝 알기: 끝 문자 … 길이가 바뀌는 필드 바로 뒤의 고정 바이트(예: CR LF, ETX)
끝 알기: N ms 조용하면 프레임의 끝 조용한 시간 (ms) 동안 바이트가 오지 않음
끝 알기: 알 수 없음 끝을 정할 수 없어 고칠 곳으로 표시됩니다.

끝 조용한 시간 (ms)은 프레임을 고르면 오른쪽 속성에 표시되며, 20~10000 ms로 정할 수 있습니다(비우면 쓰지 않음). 길이를 알 수 없는 마지막 필드는 이 시간만큼 조용하면 끝난 것으로 봅니다. 받다 만 바이트가 남은 채 회선이 100 ms 이상 조용할 때도 그 바이트를 앞에서부터 버립니다.

그림 11. 받는 프레임의 끝을 정하는 네 가지 방법과 한 바이트씩 밀어 다시 맞추기

미리보기와 받은 바이트 해석

창 아래 미리보기에는 보낼 프레임의 바이트가 16진으로 표시됩니다(값 칸은 0, 길이와 체크섬은 계산한 값). 그 아래 입력칸에 장치가 보낸 바이트를 한 줄에 하나씩 붙여 넣으면 받을 프레임으로 해석해 필드마다 값과 결과를 표시합니다. 16진(FF 86 01)과 STX “01” ETX 같은 고정 바이트 표기를 모두 쓸 수 있습니다.

그림 12. CO2 응답 바이트를 붙여 넣어 D100 = 410으로 해석한 모습

결과 뜻
✓ … 고정 바이트ㆍ길이ㆍ체크섬이 모두 맞습니다. ✓ 뒤에 필드마다 들어갈 값이 표시됩니다(그림 12). 값 필드가 없는 프레임은 이 프레임이 맞습니다로 표시됩니다.
… 덜 왔습니다 프레임이 끝나려면 바이트가 더 와야 합니다.
✕ … 번째 바이트가 정한 고정 바이트와 다릅니다 이 프레임이 아닙니다.
✕ 체크섬 — 기대 … 체크섬이 틀립니다. 계산한 값이 함께 표시됩니다.
✕ … 값으로 바꿀 수 없습니다 숫자가 아니거나 칸에 들어가지 않습니다.

맞는 체크섬 갈래 찾기

장치 설명서에 체크섬 방식이 없거나 확인값이 맞지 않을 때 사용합니다. 장치가 실제로 보낸 프레임을 둘 이상 붙여 넣어주시기 바랍니다. 체크섬이 틀리면 체크섬 종류ㆍCRC-16 갈래ㆍ넣는 모양ㆍ범위 시작을 바꿔 가며 모든 표본에 맞는 조합을 저절로 찾아, 맞는 갈래 찾기 줄에 후보마다 «…» 로 바꾸기 단추를 표시합니다. 표본이 하나면 우연히 맞는 조합이 있을 수 있으므로 «…» 로 바꾸기는 표본이 둘 이상일 때만 켜집니다. 바꾼 내용은 확인을 눌러야 정의에 들어갑니다.

그림 13. 표본 두 개로 «2의 보수 합 · 2 번째부터»를 찾은 모습

거래

거래 목록에서 거래를 고르면 가운데 위에 거래 설정이, 그 아래에 보낼 프레임과 받을 프레임의 칩 띠가 표시됩니다.

그림 14. ASCII 국번 읽기 거래 — 보낼 프레임, 받을 프레임, 오류 응답(NAK)

항목 기본값 설명
이름 통신 모양 이름 거래의 이름입니다. 포트 안에서 겹치지 않아야 합니다.
통신 모양 — 묻고 받기ㆍ받기만ㆍ받으면 답하기ㆍ보내기만
시작 주기 묻고 받기ㆍ보내기만: 주기ㆍ래더 UPTRIG 번호ㆍ값이 바뀔 때 · 받기만ㆍ받으면 답하기: 늘 듣기
주기 (ms) 1000 10 ms~1시간. 지난번 시작부터 셉니다.
번호 1 래더 UPTRIG의 번호(1~255)
볼 칸 · 칸 수 — 값이 바뀔 때: 볼 칸부터 칸 수(1~32)만큼의 값이 바뀌면 보냅니다. 장비가 시작할 때도 한 번 보냅니다.
응답 대기 (ms) 200 묻고 받기에서 응답을 기다리는 시간(20~60000 ms)
다시 시도 2 응답이 없거나 틀린 응답만 왔을 때 다시 보내는 횟수(0~10)
상태 칸 비움(안 씀) 거래 결과를 받을 워드 주소(아래)
완료 비트 비움(안 씀) 거래가 끝나면 한 스캔 동안 켜지는 비트 주소
받은 수 칸 비움(안 씀) 받기만ㆍ받으면 답하기: 맞는 프레임을 받을 때마다 1씩 늘어나는 워드 주소(65535 다음은 0)
  • 보낼 프레임과 받을 프레임은 칩 띠 머리의 목록에서 고를 수 있습니다. + 새 프레임을 고르면 빈 프레임이 만들어집니다. 받을 프레임은 + 받을 프레임으로 둘 이상 정할 수 있습니다.
  • 묻고 받기에서는 + 오류 응답 (NAK 등)으로 장치의 오류 응답 프레임을 정할 수 있습니다. 오류 응답을 받으면 거래가 오류 응답(F6)으로 끝납니다.
  • 받으면 답하기의 보냄 프레임이 답입니다. 답에 넣을 값은 PLC 칸에서 읽습니다.

모양별 동작

  • 묻고 받기: 보낸 뒤 응답 대기 시간 안에 받을 프레임이 오면 성공입니다. 응답이 없거나 틀린 응답만 오면 응답 대기를 다 기다린 뒤 다시 보내며, 다시 시도를 모두 쓰면 실패로 끝납니다. 장치가 틀린 응답만 보내면 거래 한 번에 «응답 대기 × (다시 시도 + 1)»만큼 걸립니다. 오류 응답을 받으면 다시 보내지 않고 바로 끝납니다.
  • 보내기만: 프레임을 다 보내면 성공으로 끝납니다.
  • 받기만: 맞는 프레임을 받은 스캔에 값을 넣고, 상태 칸에 성공을 쓰고, 완료 비트를 한 스캔 켜고, 받은 수 칸을 1 늘립니다.
  • 받으면 답하기: 받기만과 같이 값을 넣은 뒤 답 프레임을 바로 보냅니다. 받을 프레임이 맞지 않으면(머리 바이트가 다르거나 체크섬이 틀리면) 답하지 않습니다.

상태 칸

상태 칸은 워드 하나로, 그 거래의 마지막 결과를 나타냅니다.

값(16진) 화면 표시 뜻
0000 아직 한 번도 성공 못 함 장비가 켜진 뒤 이 거래가 아직 한 번도 끝나지 않았습니다. 이 정의가 장비 프로그램에 없을 때도 0입니다.
0001 마지막 거래 성공 마지막 거래가 오류 없이 끝났습니다.
F000 응답 없음(F0) 응답이 오지 않았습니다.
F100 체크섬 틀림(F1) 체크섬이 맞지 않는 응답이 왔습니다.
F200 모양이 다른 바이트만 왔습니다(F2) 받을 프레임과 모양이 다른 바이트만 왔습니다.
F300 회선 바쁨(F3) 송신이 진행되지 않아 보내지 못했습니다.
F400 값 바꾸기 실패(F4) 받은 값이 숫자가 아니거나 칸에 들어가지 않습니다. 보낼 값을 프레임으로 만들 수 없을 때도 F4입니다.
F500 수신 버퍼 넘침(F5) 응답을 기다리는 동안 수신 버퍼가 넘쳤습니다.
F600 오류 응답(F6) 오류 응답으로 정한 프레임(NAK 등)을 받았습니다.
  • 실패한 거래에서는 받은 값 칸을 바꾸지 않습니다. 앞에서 받은 값이 그대로 남습니다.
  • 응답 대기가 끝났을 때 그동안 버린 바이트가 있으면 F1 → F4 → F2 순서로 그 까닭을 상태로 씁니다. 버린 바이트가 없으면 F0입니다.
  • 상태 칸은 거래마다 다른 칸을 써야 합니다. 받는 값 칸과 겹치면 경고가 표시됩니다.

그림 15. 응답 대기ㆍ다시 시도와 상태 칸ㆍ완료 비트가 바뀌는 때

글자 사이 틈 괜찮음

포트마다 정하는 설정으로, 새 포트는 켜져 있습니다.

  • 켜짐: 한 스캔에 1바이트씩 보냅니다. 스캔 시간이 늘지 않지만, 요청이 바이트 수만큼의 스캔에 걸쳐 나갑니다(스캔 5 ms에서 10바이트면 약 50 ms). 대부분의 ASCII 장치는 글자 사이의 틈을 문제 삼지 않습니다.
  • 꺼짐: 프레임을 한 번에 이어서 보냅니다. 그 스캔이 프레임을 보내는 시간만큼 길어집니다. 글자 사이에 틈이 있으면 요청을 버리는 장치에는 꺼야 합니다.

그림 16. 글자 사이 틈 괜찮음을 켰을 때와 껐을 때 요청 바이트가 나가는 모양

래더에서 시작하기(UPTRIG)

거래의 시작을 래더 UPTRIG 번호로 정하면, 래더의 UPTRIG 펑션이 그 거래를 실행합니다. 버튼을 눌렀을 때만 설정 명령을 보내거나, 필요할 때만 값을 읽을 때 사용합니다.

  1. 거래의 시작을 래더 UPTRIG 번호로 고르고 번호(1~255)를 적어주시기 바랍니다. 필요하면 완료 비트와 상태 칸도 적어주시기 바랍니다.
  2. 확인을 눌러주시기 바랍니다.
  3. 래더에 UPTRIG 펑션을 넣고 같은 번호를 적어주시기 바랍니다. 펑션 판 Serialport 분류의 UPTRIG: Start User Protocol Trigger를 고르거나, 펑션 삽입 창(Ctrl+E)에 UPTRIG 3처럼 입력해 넣을 수 있습니다.

그림 17. M3이 켜질 때 트리거 3의 거래(영점 명령)를 보내는 렁

UPTRIG의 번호 칸을 고치면 사용자 프로토콜에 정한 트리거 번호가 통신포트ㆍ거래 이름과 함께 표시되며, 눌러서 고를 수 있습니다. 같은 자리의 사용자 프로토콜 열기를 누르면 사용자 프로토콜 창이 열립니다.

그림 18. UPTRIG 번호 칸에서 정의된 트리거 번호를 고르는 모습

  • UPTRIG의 입력이 꺼짐에서 켜짐으로 바뀔 때마다 그 번호의 거래를 한 번 실행합니다. 입력을 켜 둔 채로는 다시 실행하지 않습니다.
  • 실행 전에 여러 번 불리면 한 번만 실행하고, 실행 중에 불리면 끝난 뒤 한 번 더 실행합니다.
  • 완료 비트는 성공ㆍ실패와 관계없이 거래가 끝난 뒤 한 스캔 동안 켜집니다. 실패 이유는 상태 칸에서 확인할 수 있습니다.
  • 같은 통신포트에서 번호가 같은 거래는 함께 실행됩니다. 다른 통신포트의 거래에 같은 번호를 쓸 수는 없습니다.
  • 트리거로 시작하는 거래는 장비가 켜지거나 다운로드된 뒤 저절로 실행되지 않습니다.
  • UPTRIG의 번호는 1~255의 상수이고 사용자 프로토콜에 그 번호로 시작하는 거래가 있어야 합니다. 아니면 칸이 붉게 표시되고 컴파일되지 않습니다. 반대로 트리거 번호를 정한 거래에 맞는 UPTRIG가 래더에 없으면 «트리거 번호 3 을(를) 부르는 UPTRIG 칸이 없어 이 거래는 시작되지 않습니다» 경고가 표시됩니다.

검사와 경고

사용자 프로토콜 창은 고칠 곳을 칩ㆍ칸을 붉게 하거나 주황색으로 표시하고, 창 아래 줄에 첫 문장을 표시합니다. 문장을 누르면 그 자리로 이동하며, N 건 더를 누르면 모든 문장이 펼쳐집니다. 붉은 고칠 곳이 있으면 고칠 곳 N — 고치기 전에는 프로그램을 만들지 않습니다가 표시되고 다운로드할 수 없습니다. 고칠 곳이 있어도 확인은 눌러지므로 쓰던 정의를 잃지 않습니다.

그림 19. 창 아래 줄의 고칠 곳과 붉게 표시된 칸

래더와 다른 기능에서는 다음 경우를 검사합니다.

경우 표시
같은 통신포트에 PUTㆍGETㆍPUT_LENㆍGET_LEN을 씀 채널이 상수면 붉은 칸, 변수면 경고. 같은 수신 버퍼를 둘이 읽으면 주고받는 바이트가 섞입니다.
래더가 사용자 프로토콜이 받는 칸에 씀 경고. 래더가 쓴 값은 다음에 받을 때 덮어씁니다.
받는 칸끼리 겹침 · 상태ㆍ완료ㆍ받은 수 칸이 받는 칸과 겹침 경고
Modbus 장비 표나 장비 시계(RTC) 블록이 쓰는 칸과 겹침 경고
포트 모드가 User Protocol이 아님 · 모드는 User Protocol인데 정의가 없음 · 다운로드 사용이 켜짐 오류. 사용자 프로토콜 창에서 확인을 누르면 대부분 함께 고쳐집니다.
장비의 램이 모자람 · 프로그램이 플래시를 넘침 오류. 포트ㆍ거래ㆍ프레임이나 메모리 영역 크기를 줄여야 합니다.
프레임이 255바이트를 넘거나 필드가 32개를 넘음 오류
송수신 버퍼가 프레임보다 작음 오류. 설정 → 데이터 메모리의 SERIAL 칸에서 버퍼를 늘리거나 프레임을 줄여야 합니다.

사용자 프로토콜이 쓰는 칸은 찾기ㆍ모두 바꾸기ㆍ인스펙터의 쓰인 자리ㆍ사용한 데이터에도 표시됩니다. 모두 바꾸기로 주소를 바꾸면 사용자 프로토콜의 칸도 함께 바뀝니다.

시뮬레이션

시뮬레이션 중에는 각 통신포트의 사용자 프로토콜에 가상 상대가 붙고, 창에 시뮬 가상 상대 보기가 더해집니다. 장치 없이 래더의 동작과 상태 칸ㆍ완료 비트를 확인할 수 있습니다.

그림 20. 시뮬 가상 상대 보기(ASCII 국번 읽기 거래의 응답과 통신 기록)

  • 거래 — 상태 칸 · 응답 예: 거래를 고르고 가상 상대가 할 일(응답ㆍ응답 없음ㆍ체크섬 틀림ㆍ오류 응답)을 고를 수 있습니다. 응답이면 PLC가 받을 값을 적어주시기 바랍니다. 응답 예를 정하기 전에는 응답이 없습니다(상태 칸 F0).
  • 가상 상대가 혼자 보내기 — 받기만·받으면 답하기: 받을 프레임의 값을 적고 넣기를 누르면 가상 상대가 그 프레임을 보냅니다.
  • 바이트 그대로 넣기(쓰레기·재동기 시험): 적은 바이트를 그대로 넣어 잡음 바이트를 버리고 다시 맞추는 동작을 확인합니다.
  • 통신 기록(가상 시각): PLC가 보낸 바이트와 가상 상대가 보낸 바이트가 줄마다 표시됩니다.

시뮬레이션에는 확인을 누른 정의만 들어갑니다. 고칠 곳이 있는 정의는 시뮬레이션되지 않습니다. 회선 바쁨(F3)ㆍ수신 버퍼 넘침(F5)은 시뮬레이션되지 않으며, 스캔 시간과 상대 장치의 처리 시간도 들지 않습니다. 가상 상대의 설정은 저장되지 않습니다.

모니터링

거래 카드의 상태

모니터링 중에 사용자 프로토콜 창을 열면, 상태 칸을 정한 거래의 카드에 마지막 결과가 표시됩니다. 받기만ㆍ받으면 답하기 거래는 받은 수 칸의 값과 마지막으로 늘어난 뒤 지난 시간도 표시됩니다. 상태는 고른 통신포트의 거래만 읽습니다.

그림 21. 모니터링 중 거래 카드의 상태(CO2 농도 읽기 — 마지막 거래 성공)

카드의 표시는 상태 칸 표의 화면 표시와 같습니다. 표시된 상태를 믿을 수 없을 때는 회색으로 그 까닭이 표시됩니다.

회색 표시 뜻
장비 프로그램이 다름 장비의 프로그램이 지금 문서와 다를 수 있습니다. 다운로드하면 읽습니다.
다운로드 전 설정 모니터링을 시작할 때의 정의에 없는 거래입니다. 확인하고 다운로드한 뒤 모니터링을 다시 시작하면 읽습니다.
PLC 응답 없음 · 값 모름 · 새 값이 안 옴 · 값 모름 모니터 통신에서 새 값이 오지 않습니다.
제한 모니터 · 못 읽음 프로그램 검사 오류가 있는 동안에는 사용자 메모리의 상태 칸을 읽지 않습니다.
이 칸을 런타임이 쓰지 않음 사용자 프로토콜이 쓰지 않는 값입니다. 장비 프로그램이 다르거나 래더가 이 칸에 씁니다.

시뮬레이션 중에는 카드에 가상이 함께 표시되며, 확인하지 않은 거래는 확인 전 설정, 멈춘 시뮬레이션은 시뮬레이션 멈춤 · …으로 표시됩니다.

통신 기록

포트의 모니터 중 통신 기록을 켜고 확인을 누른 뒤 다운로드하면, 모니터링 중 통신 기록 보기에 장비가 그 통신포트로 보내고 받은 바이트가 줄마다 표시됩니다. 통신 기록을 켜면 장비의 램과 플래시를 조금 더 씁니다.

그림 22. 통신 기록 보기(CO2 요청과 응답)

  • ① 방향과 시각: →는 장비가 보낸 바이트, ←는 받은 바이트입니다. 줄은 장비가 주고받은 차례로 놓이며, 시각은 PC가 기록을 읽은 때입니다.
  • ② 바이트: 주고받은 바이트입니다. 아래 줄에 거래ㆍ프레임 이름과 해석한 값(예: ✓ D100 = 410 · ✓ 체크섬 DF)이 표시됩니다.
  • ③ 결과: 보낸 줄은 성공ㆍ응답 기다림ㆍ다시 보냄 Nㆍ보내지 못함 또는 실패 까닭, 받은 줄은 응답ㆍ받음ㆍ오류 응답(F6)ㆍ버림 등 그 바이트의 결과입니다. 버림은 어느 프레임에도 맞지 않은 바이트입니다.
  • ④ 바이트 보기: 16진ㆍ글자ㆍ둘 다 중에서 고를 수 있습니다. 글자 보기에서 제어 문자는 ‹STX›처럼 표시됩니다.
  • ⑤ 복사ㆍ기록 지우기: 표시된 줄을 글자로 복사하거나 화면의 기록을 지웁니다. 아래로 스크롤해 두면 새 줄을 따라갑니다.
  • 통신 기록이 꺼진 채 다운로드한 프로그램이나 지금 문서와 다른 프로그램이 장비에 있으면 기록을 읽지 않고 그 까닭이 표시됩니다.
  • 모니터가 읽기 전에 장비가 새 기록을 쓰면 «… 그사이 N 건 놓침»이 표시됩니다.
  • 시뮬레이션 중에는 같은 보기에 가상 상대와의 통신이 가상 시각으로 표시됩니다.

PC 직접 시험

PC 직접 시험은 PLC 대신 PC의 COM 포트(USB-RS485ㆍUSB-RS232 변환기 등)로 장치와 직접 주고받는 기능입니다. 장치를 PLC에 연결하기 전에 프레임과 체크섬이 맞는지 확인할 때 사용합니다. 창에서 고친 정의(확인 전 내용)로 시험하며, 데스크톱 앱에서만 사용할 수 있습니다.

그림 23. PC 직접 시험 보기

  • ① PC 의 COM 포트: PC의 COM 포트 목록입니다. USB 장치는 «COM10 — USB Serial Port»처럼 장치 이름이 함께 표시되고, 블루투스 포트는 «COM23 (Bluetooth)»로 표시됩니다. 처음에는 (포트를 고르세요)가 표시되며, 지난번에 이 통신포트에서 연 COM이 있으면 미리 골라집니다. 새로 읽기로 목록을 다시 읽습니다.
  • ② 열기ㆍ닫기: 고른 COM 포트를 엽니다. 회선은 그 통신포트의 통신 포트 설정(보레이트ㆍ데이터 비트ㆍ패리티ㆍ정지 비트)을 그대로 씁니다. 다른 보기로 옮기거나 창을 닫으면 포트가 닫힙니다.
  • ③ 거래 한 번 — 묻고 받기·보내기만: 왼쪽에서 거래를 고르고 보낼 값(예시 값)을 적은 뒤 한 번 보내기를 누르면, 응답 대기ㆍ다시 시도까지 장비와 같은 방식으로 한 번 주고받고 결과를 표시합니다.
  • ④ 듣기 — 받기만·받으면 답하기: 듣기 시작을 누르면 장치가 보내는 바이트를 받아 해석합니다. 바코드 리더가 실제로 무엇을 보내는지 확인할 때 사용합니다. 받으면 답하기 거래는 ③에 적은 예시 값으로 PC가 답합니다.
  • ⑤ 통신 기록: 주고받은 바이트가 통신 기록 보기와 같은 꼴로 표시됩니다. 체크섬이 틀린 응답이 오면 맞는 갈래 찾기 줄에 맞는 체크섬 후보가 표시되고, 응답이 둘 이상 모이면 «…» 로 바꾸기를 누를 수 있습니다.
  • 모니터링ㆍ다운로드가 쓰는 COM은 «— 모니터·다운로드가 쓰는 중»으로 표시되며 열 수 없습니다. 모니터링ㆍ다운로드를 끝낸 뒤 열어주시기 바랍니다.
  • 통신 포트 설정의 다운로드 COM은 «— 다운로드 포트»로 표시되고, 고르면 PLC와 연결된 포트일 수 있다는 안내가 표시됩니다.
  • PC 직접 시험은 PC 쪽 회선과 장치를 확인하는 기능입니다. 스캔 시간에 따른 동작은 장비에서 다시 확인해주시기 바랍니다.

예제

아래 예제는 MPS-8A8R의 통신포트1~통신포트3에 본보기 셋을 하나씩 정한 구성입니다. 다른 기종은 통신포트 번호만 바꿔 같은 방법으로 사용할 수 있습니다.

예제 1. CO2 센서 값을 1초마다 읽기

통신포트1(9600 · 8-N-1)에 CO2 센서를 연결해 1초마다 농도를 읽고, 버튼 입력으로 영점 명령을 보내는 예제입니다.

  1. 설정 → 통신 포트의 시리얼 1을 보레이트 9600, 데이터 비트 8, 패리티 없음, 정지 비트 1로 정해주시기 바랍니다.
  2. 설정 → 사용자 프로토콜…에서 통신포트1 탭을 고르고 본보기 CO2·가스 센서 — 1 초마다 묻기를 눌러주시기 바랍니다.
  3. 확인을 눌러주시기 바랍니다. 통신포트1이 User Protocol 모드로 바뀝니다.
  4. 래더에 영점 명령을 보낼 렁을 넣어주시기 바랍니다.
렁 입력 펑션 하는 일
0 M3(a 접점) UPTRIG 3 M3이 켜질 때 영점 명령을 한 번 보냅니다.
프레임 바이트
CO2 요청 FF 01 86 00 00 00 00 00 79 (고정 FFㆍ01ㆍ86ㆍ00*5 + 2의 보수 합, 2번째부터)
CO2 응답 FF 86 + 농도 2바이트(큰 끝 먼저 → D100) + 건너뜀 4 + 2의 보수 합
영점 명령 FF 01 87 00 00 00 00 00 78

센서가 FF 86 01 9A 00 00 00 00 DF를 보내면 D100은 410(ppm)이 되고, 상태 칸 D101은 0001(10진 1), 완료 비트 M100은 한 스캔 켜집니다.

그림 24. 예제 1을 모니터링하는 모습(감시 판의 D100 농도ㆍD101 상태ㆍM100 완료 비트)

예제 2. 바코드 리더의 글자 받기

통신포트2(9600 · 8-N-1)에 바코드 리더를 연결해, 읽은 글자를 D200부터 받는 예제입니다.

  1. 시리얼 2를 9600 · 8-N-1로 정해주시기 바랍니다.
  2. 사용자 프로토콜의 통신포트2 탭에서 본보기 바코드·QR 리더를 고르고 확인을 눌러주시기 바랍니다.
항목 값
프레임 «바코드» 글자열(D200 · 끝 문자 전까지 · 최대 32 · 받은 글자 수 D190) + 고정 CR LF
거래 «바코드 받기» 받기만 · 늘 듣기 · 완료 비트 M101 · 받은 수 칸 D191

리더가 ILOGICS-1234와 CR LF를 보내면 D190은 12가 되고, D200부터 두 글자씩(D200 = IㆍL) 들어갑니다. M101이 한 스캔 켜지고 D191이 1 늘어납니다. 빈 줄(CR LF만)이 오면 글자 수 0인 프레임으로 받습니다.

그림 25. 예제 2의 통신 기록(글자 보기)과 받은 수

예제 3. ASCII 국번 명령으로 인버터 값 읽기

통신포트3(9600 · 7-E-1)에 국번 01인 ASCII 명령 장치를 연결해, 번지 100의 값을 0.5초마다 D11로 읽는 예제입니다.

  1. 시리얼 3을 보레이트 9600, 데이터 비트 7, 패리티 짝수, 정지 비트 1로 정해주시기 바랍니다.
  2. 사용자 프로토콜의 통신포트3 탭에서 본보기 인버터·온도 조절기 (ASCII 국번 명령)을 고르고 확인을 눌러주시기 바랍니다.
  3. 래더에 읽을 번지를 넣는 렁을 넣어주시기 바랍니다.
렁 입력 펑션 하는 일
0 @ON MOVE 100 D10 읽을 번지 100을 D10에 넣습니다.
프레임 모양 예
국번 요청 STX “01” “R” + 번지(ASCII 10진 4자리 · D10) + ETX + 합(8 비트) ASCII 16진 2자리(2번째부터) 02 “01R0100” 03 “77”
국번 응답 ACK “01” “R” + 값(ASCII 16진 4자리 · D11) + ETX + 합(8 비트) ASCII 16진 2자리(2번째부터) 06 “01R03E8” 03 “96” → D11 = 1000
국번 오류 (NAK) NAK “01” ETX 받으면 상태 칸 D12 = F600

거래 «국번 읽기»는 묻고 받기, 주기 500 ms, 응답 대기 300 ms, 다시 시도 3, 상태 칸 D12입니다. 이 본보기는 글자 사이 틈 괜찮음이 꺼져 있어 요청을 한 번에 이어서 보냅니다.

그림 26. 예제 3의 통신 기록(둘 다 보기 — 16진과 제어 문자)

문제 해결

증상 확인할 항목
상태 칸이 계속 0000 다운로드한 프로그램에 사용자 프로토콜이 들어 있는지, 거래 시작이 트리거면 래더의 UPTRIG 입력이 꺼짐 → 켜짐으로 바뀌었는지 확인해주시기 바랍니다.
F000(응답 없음) PC 직접 시험으로 같은 프레임에 장치가 답하는지 확인해주시기 바랍니다. 답하면 통신포트 번호와 단자(RS-232ㆍRS-485ㆍUART), RS-485의 +ㆍ- 배선, 통신 포트 설정을 확인해주시기 바랍니다. 장치의 응답이 늦으면 응답 대기를 늘려주시기 바랍니다.
F100(체크섬 틀림) 장치가 보낸 바이트를 둘 이상 붙여 넣어 맞는 체크섬 갈래 찾기로 확인해주시기 바랍니다.
F200(모양이 다른 바이트만 옴) 장치가 보낸 바이트를 미리보기에 붙여 넣어 몇 번째 바이트가 다른지 확인해주시기 바랍니다. 국번ㆍ머리 바이트, 데이터 비트(7ㆍ8)와 패리티를 확인해주시기 바랍니다.
F400(값 바꾸기 실패) 미리보기에서 값 필드의 형식(자릿수ㆍ소수 자리ㆍ16진)과 PLC 칸의 크기를 확인해주시기 바랍니다.
F500(수신 버퍼 넘침) 보레이트에 비해 스캔 시간이 길면 한 스캔 사이에 수신 버퍼보다 많은 바이트가 쌓입니다. 스캔 시간을 줄이거나 설정 → 데이터 메모리의 SERIAL 칸에서 수신 버퍼를 늘려주시기 바랍니다. 128바이트 버퍼와 115200 bps에서는 스캔 시간이 약 11 ms를 넘지 않아야 합니다.
요청은 나가는데 장치가 답하지 않음(글자 사이 틈) 장치가 글자 사이의 틈을 허용하지 않을 수 있습니다. 포트의 글자 사이 틈 괜찮음을 끄고 다운로드해 다시 확인해주시기 바랍니다.
긴 바코드가 뒷부분만 들어옴 글자열의 최대 글자 수보다 긴 코드가 오면 뒤쪽 최대 글자 수만큼만 들어갑니다. N을 가장 긴 코드보다 크게 정해주시기 바랍니다.
잡음이 있는데 값이 들어옴 장비는 패리티 오류를 검사하지 않습니다. 체크섬이 있는 프레임으로 정의해주시기 바랍니다.
PC 직접 시험에서 포트가 열리지 않음 모니터링ㆍ다운로드나 다른 프로그램이 그 COM을 쓰고 있지 않은지 확인해주시기 바랍니다.

확인할 점

  • 사용자 프로토콜이나 UPTRIG를 쓴 .mpx 프로젝트는 V1.2.0 이하에서 열 수 없습니다.
  • 받는 값 칸은 래더가 읽기만 하도록 구성해주시기 바랍니다.

관련 문서

products/mp_studio/user_protocol.txt · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki