특수 프로그램 등록 및 편집
프로그램에서 새 프로그램 추가/작성을 선택합니다
새 프로그램 추가/작성을 하면 아래의 대화상자가 활성화 됩니다.
[설정 항목]
프로그램 이름 : 특수 프로그램 이름을 정해줍니다. 최대 12자까지 입력 할 수 있습니다.
프로그램 ID : 프로그램 마다 각각의 ID를 지정합니다.
프로그램 여유공간 : CPU 상태가 RUN 중일 경우 특수프로그램에서 프로토콜을 편집 하고자 할 때 편집 가능한 최대 사이즈를 표시 합니다.
프로그램 종류 : 현재 등록하고자 하는 프로그램 종류를 정해 줍니다. 특수프로그램을 선택합니다.
파라미터 등록이 완료되었으면 [확인]을 클릭합니다.
[확인]을 하면 프로토콜을 등록 대화상자가 활성화 됩니다. 프로토콜을 등록할 수 있는 ENET_PROT.SPC 파일이 생성됩니다.
[설정 항목]
베이스 : 통신 카드(CM1-EC01A)가 장착되어 있는 베이스를 선택합니다.
슬롯 : 통신 카드(CM1-EC01A)가 장착되어 있는 슬롯을 선택합니다. 슬롯은 CPU 모듈이 장착된 다음 슬롯부터 슬롯 번호가 정해집니다.
[HOST를 추가 버튼]을 클릭하여 HOST를 등록합니다.
[ 통신결과 ]
송신 : SEND 명령 없이 자동송신주기를 설정하여 데이터를 송신하는 경우 해당 번호의 비트에 송신 성공/실패를 표시합니다. (*통신 결과 : M0000)
송신 성공 : M0000의 프레임 번호에 해당되는 비트를 1 Scan On 합니다.
송신 실패 : M0010의 프레임 번호에 해당되는 비트를 1 Scan On 합니다.
수신 : 자동 송신 프레임에 대해 수신 프레임이 송신에 대한 수신 프레임에 정의 되어 있으면 정의된 수신 프레임을 정상적으로 수신하였는지를 표시합니다. (*통신결과 메모리 영역 : M0000)
수신 성공 : M0000의 프레임 번호에 해당되는 비트를 1Scan On 합니다.
수신 실패 : M0010의 프레임 번호에 해당되는 비트를 1 Scan On 합니다.
번호 | 프레임 | 주기 | 송신에 대한 수신프레임 | 수신에 대한 송신프레임 | 통신결과(M0000) | |
성공시 | 실패시 | |||||
3 | 송신프레임 | 50ms | 번호 ‘4’ | - | - | - |
4 | 수신프레임 | - | - | - | M0004 | M0014 |
7 | 송신프레임 | 100ms | - | - | M0007 | M0017 |
[설정 항목]
IP Address : 통신할 상대방(HOST) IP 어드레스를 입력합니다.
Port No : Host Port No을 입력합니다.
통신방식 : UDP 또는 TCP를 설정합니다.
자동수신사용금지 : 특정 프레임 수신 시 해당 Host에 등록된 수신프레임을 모두 비교하여 수신하는 기능을 금지합니다.
Receive Header/Tail 사용 : 프레임 수신 시 Header/Tail을 비교하여 수신합니다.
Header/Tail :
설정 항목 | 설 명 |
입력방법 | 고정값을 바이너리 또는 아스키로 입력합니다. |
Header | 고정값 헤더를 입력합니다. |
Tail | 고정값 테일을 입력합니다. |
프레임 길이 | 고정값 헤더로부터 테일까지의 길이를 입력합니다. |
Host등록 후 Host에 대한 프레임을 추가합니다.
송신후 자동 수신 프레임 : 현재 프레임이 송신된 후 수신되는 프레임을 수신합니다.
자동 송신 사용 : PLC 래더 프로그램에서 SEND명령을 사용하지 않고 자동송신 주기를 설정함으로 설정주기마다 송신을 합니다
프레임을 작성하기 위해 세그먼트를 추가합니다.
SEGMENT0 | SEGMENT1 | ..... | SEGMENT8 | SEGMENT9 |
[세그먼트 유형]
고정값(상수) : 작성하고자 하는 프레임중 데이터의 변화가 없는 고정된 데이터를 의미합니다. ASCII또는 Binary형태로 값을 지정합니다.
데이터가 Binary형태인 경우에는 16진 숫자로 지정하며, 한 Byte의 데이터를 2자리 16진수로 지정하고, 아스키 형태인 경우에는 한 문자가
한 Byte의 데이터로 취급됩니다.
고정값 데이터 송신
PLC | 12345678 | 12345678 |
데이터 변환 | 바이너리 | 아스키 |
상대 기기 | 12345678 | 31 32 33 34 35 36 37 38 |
고정값 데이터 수신
상대 기기 | 12345678 | 31 32 33 34 35 36 37 38 |
데이터 변환 | 바이너리 | 아스키 |
PLC | 12345678 | 31 32 33 34 35 36 37 38 |
무시 : 수신되는 데이터의 값에 관계없이 지정된 길이만큼의 데이터를 수신 후 폐기하는 세그먼트입니다. 수신프레임에서만 설정 가능합니다.
메모리 링크 : CPU의 메모리에 저장되어 있는 데이터를 지정된 길이만큼 송신하거나, 수신된 데이터를 지정된 길이만큼 CPU메모리 영역에 저장하는 세그먼트입니다. 최대 데이터 사이즈는 1024Byte 입니다. 어드레스에는 송/수신할 데이터의 CPU메모리 영역을 지정합니다.
[아스키(ASCII) 데이터변환]
무변환(바이너리) : CPU메모리 영역에 있는 데이터를 변환 없이 그대로 송/수신합니다.
16진 정수 : 송신 시 CPU메모리 영역의 데이터를 16진 ASCII 데이터로 변환하여 송신하고, 수신 시 16진 ASCII 데이터를 바이너리 데이터로 변환하여 CPU 메모리에 저장합니다.
10진 정수 : 송신 시 CPU메모리 영역의 데이터를 10진 ASCII데이터로 변환하여 송신하고, 수신 시 10진 ASCII 데이터를 바이너리 데이터로 변환하여 CPU메모리에 저장합니다.
워드 데이터 상/하위 교환을 선택하게 되면 송/수신 되는 데이터 중 상위 1Byte 데이터와 하위 1Byte 데이터를 교환합니다. 예를 들어 송신 시 CPU메모리 영역에 저장되어 있는 데이터가 h1234(ASC:1234)라 가정하고, 워드 데이터 상/하위 교환을 하면 실제 송신되는 데이터는 h3412(ASC:3421)가 되며, 수신 시 수신되는 데이터가 h1234(ASC:1234)라 가정하고, 워드 데이터 상/하위 교환을 하면 실제 수신되는 데이터 h3412(ASC:3412)가 CPU메모리에 저장됩니다. 단, 워드 메모리 데이터 송신 시 상위 바이트 저장된 데이터가 먼저 송신되며, 워드 메모리 데이터 수신 시 수신된 데이터는 상위 바이트에 먼저 저장됩니다.
메모리 링크 데이터 송신
PLC | 1234h | 1234h | 1234 |
데이터 변환 | 무변환(바이너리) | 16진 정수 | 10진 정수 |
상대 기기 | 1234h | 31323334 | 1234 |
메모리 링크 데이터 수신
상대 기기 | 1234h | 31323334 | 1234 |
데이터 변환 | 무변환(바이너리) | 16진 정수 | 10진 정수 |
PLC | 1234h | 1234h | 1234 |
[오류검사 방식]
프레임의 데이터가 올바르게 송/수신되었는지 에러검출 코드 연산을 합니다. 다양한 방식의 에러검출 코드연산을 지원합니다.
SUM : 편집된 프레임을 선택된 영역 시작부터 끝까지 Binary Sum을 해서 설정 한 길이 (Byte)만큼 데이터를 송/수신합니다. 영역은 오류검사 영역(세그먼트 범위)에서 설정합니다. 아스키 데이터 변환에 관한 내용은 메모리 링크 부분을 참조하십시오.
SUM+MASK : 편집된 프레임을 선택된 영역 시작부터 끝까지 Binary Sum을 하고 마스킹값(FFh)으로 AND 마스킹한 데이터를 설정된 길이(Byte)만큼 송/수신합니다. 아스키 데이터 변환에 관한 내용은 메모리 링크 부분을 참조 하십시오.
XOR : 편집된 프레임을 선택된 영역 시작부터 끝까지 Binary OR을 해서 설정된 길이(Byte) 만큼 데이터를 송/수신합니다. 아스키 데이터 변환에 관한 내용은 메모리 링크 부분을 참조하십시오.
XOR+MASK : 편집된 프레임을 선택된 영역 시작부터 끝까지 Binary OR을 하고 마스킹값(FFFFh)으로 AND 마스킹한 데이터를 설정된 길이(Byte)만큼 송/수신합니다. 아스키 데이터 변환에 관한 내용은 메모리 링크 부분을 참조하십시오.
MUL : 편집된 프레임을 선택된 영역 시작부터 끝까지 Binary MUL을 하고, 설정된 데이터 길이만큼 송/수신합니다.
MUL+MASK : 편집된 프레임을 선택된 영역 시작부터 끝까지 Binary MUL을 하고 마스킹값(FFFFh)으로 AND 마스킹한 데이터를 설정된 길이(Byte)만큼 송/수신합니다
CRC16 : 편집한 프레임을 선택된 영역 시작부터 끝까지 CRC16계산에 의해 나온 데이터를 설정된 길이만큼 송/수신 합니다.
CRC16(MODBUS) : 편집한 프레임을 선택된 영역 시작부터 끝까지 CRC16 (MODBUS) 을 합니다.