MITSUBISHI ● 안전상의 주의 ● (실습에 앞서 반드시 읽어주십시오.) 시스템을 설계할 때에는 반드시 관련 매뉴얼을 읽고 안전에 대해 충분한 고려를 하시기 바랍니다. 또한, 실습할 때에는 다음과 같은 사항에 주의하면서 올바르게 취급하여 주실 것을 당부 드립니다. 【실습 시의 주의사항】 위험 ● 감전 사고가 발생하지 않도록 전기가 공급되는 동안에는 단자에 접촉하지 마십시오. ● 안전 커버를 열 때에는 전기를 차단하거나 안전을 확인하고 나서 작업하십시오. 주의 ● 강사의 지시에 따라 실습에 임하십시오. ● 무단으로 실습기의 모듈을 분리하거나 배선을 바꾸지 마십시오. 고장, 오동작, 부상, 화재의 원인이 됩니다. ● 모듈을 착탈할 때에는 전원을 OFF한 후에 실행하십시오. 전원이 공급되는 동안에 실행을 하면, 모듈의 고장이나 감전의 원인이 됩니다. ● 실습기(X/Y 테이블 등)에 냄새나 소음이 발생하는 경우에는,「전원 스위치」또는「비상 스위치」를 눌러서 정지시키십시오. ● 이상이 발생한 경우에는 바로 강사에게 연락하여 주십시오. A - 1 개정 이력 ※텍스트 번호는 본 교재 뒷면의 왼쪽 아래에 기재되어 있습니다. 인쇄 일자 2001년10월 ※텍스트 번호 개정 내용 SH(명)-080196-A 초판 인쇄 본 서에 의해서 공업소유권 및 그 외의 권리의 실시에 대한 보증, 또는 실시권을 허락하는 것이 아닙니다. 또한, 본 서 의 내용 의 사 용에 기 인하 는 공 업 소유 권상 의 여러 문제 에 대해 서 당 사 는 책 임을 지 지 않 습니 다. © 2001 MITSUBISHI ELECTRIC CORPORATION A - 2 안 내 본 교재는 MELSEC-Q 시리즈의 Ethernet 모듈 QJ71E71의 사용 방법과 프로그래밍에 대한 이해를 돕기 위한 자료입니다. 실습용 외부기기는 Microsoft Visual Basic 6.0이 동작하는 PC를 사용합니다. R R 아래는 본 교재와 관련되는 자료입니다. 매뉴얼 번호 매뉴얼 명칭 (형명 코드) Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편) Ethernet 모듈의 사양, 상대 기기와의 데이터 교신 순서, 회선 접속(오픈/클로즈), 고정 버퍼 교신, 랜덤 액세스용 버퍼 교신, 트러블슈팅에 대해서 설명하고 있습니다. SH-080004 (13JQ36) Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(응용편) Ethernet 모듈의 전자 메일 기능, PLC CPU의 상태 감시, MELSECNET/H, MELSECNET/10을 SH-080005 중계로 하여 교신하는 기능, 데이터링크용 명령으로 교신하는 기능, 파일 전송(FTP (13JQ37) 서버)을 사용하는 경우에 대해서 설명하고 있습니다. Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(Web 기능편) Ethernet 모듈의 Web 기능을 사용하는 경우에 대해서 설명하고 있습니다. SH-080144 (13JT53) Q 대응 MELSEC 커뮤니케이션 프로토콜 레퍼런스 매뉴얼 시리얼 커뮤니케이션 모듈/Ethernet 모듈을 사용하여, 교신 상대 기기로부터의 PLC SH-080003 CPU에 대한 데이터 읽기, 쓰기 등을 실행하기 위한 MC프로토콜에 의한 교신 방법, 제어 (13JQ34) 순서에 대해서 설명하고 있습니다. MX Component Version2 오퍼레이팅 매뉴얼(스타트업편) MX Component에서의 인스톨, 언인스톨 및 오퍼레이팅 매뉴얼 열람 순서 등을 설명하고 있습니다. SH-080150 (13JN87) SH-080151 MX Component Version2 오퍼레이팅 매뉴얼 MX Component에서의 각 유틸리티에 대한 설정, 조작 방법 등을 설명하고 있습니다. MX Component Version 2 프로그래밍 매뉴얼 ActiveX 컨트롤의 프로그래밍 순서, 상세 설명 및 에러 코드에 대해서 설명하고 있습 니다. GX Developer Version7 오퍼레이팅 매뉴얼 GX Developer에서의 프로그램 작성 방법, 인쇄 방법, 모니터 방법, 디버그 방법 등의 기능에 대해서 설명하고 있습니다. A - 3 (13JN88) SH-080152 (13JC07) SH-080160 (13JN90) 차 례 안전상 주의 ······································ 개정 이력 ······································· 안 내 ········································· 차 례 ········································· 총칭ㆍ약칭 ······································· 제1장 Ethernet 네트워크의 기초 AAAAA- 1 2 3 4 7 1- 1~1-12 1.1 「Ethernet」의 개요································· 1.2 어드레스 ····································· 1.2.1 MAC 어드레스(Ethernet 어드레스) ······················· 1.2.2 IP 어드레스 ································· 1.3 통신 프로토콜 ··································· 1.3.1 통신 모델 ·································· 1.3.2 IP 프로토콜 ································· 1.3.3 TCP와 UDP ·································· 1.4 MELSEC-Q Ethernet 모듈······························· 1.4.1 Ethernet 모듈의 역할····························· 1.4.2 Ethernet 모듈의 개요····························· 제2장 Ethernet 모듈을 사용하기 전에 숙지해야 할 사항 1- 1 1- 2 1- 2 1- 3 1- 6 1- 6 1- 8 1- 9 1-11 1-11 1-12 2- 1~2-24 2.1 2개의 데이터 코드 ································· 2.2 데이터 교신 기능의 종류 ······························ 2.2.1 MC프로토콜에 의한 교신···························· 2.2.2 고정 버퍼에 의한 교신 ···························· 2.2.3 랜덤 액세스용 버퍼에 의한 교신 ························ 2.2.4 데이터 교신 기능별 상대 기기와의 교신 가부 ·················· 2.3 오픈/클로즈 처리 ································· 2.3.1 Active 오픈/클로즈 처리 ··························· 2.3.2 Passive 오픈/클로즈 처리 ··························· 2.3.3 UDP/IP 오픈/클로즈 처리 ··························· 2- 1 2- 3 2- 3 2- 6 2- 9 2-10 2-11 2-17 2-19 2-22 3- 1~3- 4 제3장 시스템 구성 3.1 적용 시스템 ···································· 3- 1 3.2 네트워크 구성 시에 필요한 기기 ··························· 3- 2 제4장 Ethernet 모듈의 사양ᆞ운전까지의 설정 순서 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4- 1~4-18 성능 사양 ····································· 기능 일람 ····································· 운전까지의 설정 순서································ 각 부의 명칭 ··································· 네트워크로의 접속 ································· GX Developer에서의 설정 ······························ 자기진단 테스트 ·································· 4.7.1 자기진단 테스트 ······························· 4.7.2 하드웨어 테스트 ······························· 4.8 모듈의 착탈 ··································· A - 4 4- 1 4- 3 4- 5 4- 7 4- 8 4- 9 4-14 4-14 4-17 4-18 제5장 과제1(PC-PLC CPU 간 MC프로토콜 교신) 5- 1~5-38 5.1 실습 시스템 구성·································· 5.2 파라미터 설정 및 PC의 TCP/IP 설정 ························· 5.2.1 GX Developer의 기동과 멀티 CPU 설정 ····················· 5.2.2 네트워크 파라미터 MNET/10H Ethernet 장수 설정 ················ 5.2.3 연결 대상 지정································ 5.2.4 파라미터 쓰기 ································ 5.2.5 PC의 TCP/IP 설정······························· 5.3 MX Component의 조작 ································ 5.3.1 논리 국번 설정································ 5.3.2 통신 진단 ·································· 5.4 Visual Basic 프로그램(디바이스 읽기) ························ 5.4.1 Visual Basic 프로그램 ···························· 5.4.2 실습기 조작 ································· 5.5 Visual Basic 프로그램(디바이스 쓰기) ························ 5.5.1 Visual Basic 프로그램 ···························· 5.5.2 실습기 조작 ································· 제6장 과제2(PLC CPU-PLC CPU 간 고정 버퍼 교신(수순)) 6- 1~6-18 6.1 실습 시스템 구성·································· 6.2 송신 측 Ethernet 모듈의 설정···························· 6.2.1 GX Developer에서 파라미터를 설정한다 ····················· 6.2.2 시퀀스 프로그램 ······························· 6.3 수신 측 Ethernet 모듈의 설정···························· 6.3.1 GX Developer에서 파라미터를 설정한다 ····················· 6.3.2 시퀀스 프로그램 ······························· 6.4 GX Developer에서의 PING 테스트(CPU 경유) ······················ 6.5 실습기 조작 ···································· 제7장 과제3(PLC CPU-PLC CPU 간 고정 버퍼 교신(무수순)) 6- 1 6- 3 6- 3 6- 6 6- 9 6- 9 6-12 6-14 6-17 7- 1~7-20 7.1 실습 시스템 구성·································· 7.2 Ethernet 모듈의 설정(PLC A1~A5) ·························· 7.2.1 GX Developer에서 파라미터를 설정한다 ····················· 7.2.2 시퀀스 프로그램 ······························· 7.3 Ethernet 모듈의 설정(PLC B1~B5) ·························· 7.3.1 GX Developer에서 파라미터를 설정한다 ····················· 7.3.2 시퀀스 프로그램 ······························· 7.4 GX Developer에서의 PING 테스트(CPU 경유) ······················ 7.5 실습기 조작 ···································· A - 5 5- 1 5- 4 5- 4 5- 6 5- 9 5-10 5-11 5-13 5-13 5-16 5-17 5-17 5-24 5-29 5-29 5-34 7- 1 7- 3 7- 3 7- 6 7-11 7-11 7-14 7-18 7-19 제8장 과제4(라우터를 경유하는 PLC CPU-PLC CPU 간 고정 버퍼 교신(무수순)) 8- 1~8- 10 8.1 실습 시스템 구성·································· 8.2 Ethernet 모듈의 설정(PLC A1~A5) ·························· 8.2.1 GX Developer에서 파라미터를 설정한다 ····················· 8.2.2 시퀀스 프로그램 ······························· 8.3 Ethernet 모듈의 설정(PLC B1~B5) ·························· 8.3.1 GX Developer에서 파라미터를 설정한다 ····················· 8.3.2 시퀀스 프로그램 ······························· 8.4 PC에서의 PING 테스트································ 8.5 실습기 조작 ···································· 8- 1 8- 2 8- 2 8- 5 8- 6 8- 6 8- 9 8-10 8-10 부- 1~부-69 부 록 부1 Visual Basic Version6 ······························부- 1 부1.1 Visual Basic 의 기동 ····························부- 1 부1.2 개략 커맨드 ·································부- 4 부1.3 용 어 ····································부- 9 부1.4 툴 박스 일람·································부-10 부1.5 툴 바 일람··································부-12 부1.6 속성 일람 ··································부-14 부1.7 메소드 일람 ·································부-19 부1.8 함수 일람 ··································부-21 부2 MX Component ···································부-25 부2.1 MX Component로 할 수 있는 것 ·························부-25 부2.2 함수 일람 ··································부-30 부2.3 에러 코드 일람································부-36 부3 GX Developer와 PLC CPU의 Ethernet 경유 접속 ····················부-46 부4 트러블슈팅 ····································부-48 부4.1 LED에 의한 이상 확인 방법 ··························부-49 부4.1.1 이상 표시의 확인 ····························부-49 부4.1.2 COM.ERR LED의 소등, 에러 정보 읽기·클리어 방법 ·············부-51 부4.2 GX Developer에 의한 이상 확인 방법 ·····················부-52 부4.2.1 Ethernet 진단······························부-53 부4.2.2 시스템 모니터······························부-54 부5 전용 명령 ·····································부-56 부5.1 전용 명령 일람 ·······························부-56 부5.2 OPEN 명령··································부-57 부5.3 CLOSE 명령 ·································부-61 부5.4 BUFSND 명령·································부-64 부5.5 BUFRCV 명령·································부-67 R R A - 6 총칭ᆞ약칭 본 교재는 특별히 명기한 경우를 제외하고 아래에 기재한 총칭ㆍ약칭을 사용 합니다. 총칭/약칭 총칭ᆞ약칭의 내용 DOS/VPC IBM PC/AT Ethernet 모듈 QJ71E71, QJ71E71-B2, QJ71E71-100의 총칭. Q시리즈 시리얼 커뮤니케이션 모듈 또는 Ethernet 인터페이스 모듈의 교신 순서로써 상대기기에서 PLC CPU에 액세스하기 위한 통신 방식의 이름. (본문 중에는 MC프로토콜이라고 표현) ASCII 코드 데이터에 의한 교신 방법과 바이너리 코드 데이터에 의한 교신 방법이 있다. MELSEC 커뮤니케이션 프로토콜 (MC프로토콜) R 및 호환기의 DOS/V대응 PC의 약칭(PC98-NX 을 포함). R PC-9800 PC-9800 시리즈의 약칭(PC98-NX 을 포함) QJ71E71 QJ71E71형 Ethernet 인터페이스 모듈의 약칭. QJ71E71-B2 QJ71E71-B2형 Ethernet 인터페이스 모듈의 약칭. QJ71E71-100 상대기기 R R QJ71E71-100형 Ethernet 인터페이스 모듈의 약칭. 데이터 교신을 하기 위하여 Ethernet에 접속되어 있는 PC, 계산기, 워크스테이션(WS), 기타 Ethernet 모듈 등의 총칭. 인터넷 통신 프로토콜 TCP/IP를 이용하여 전세계의 네트워크를 상호 접속하는 거대한 컴퓨터 (Internet) 네트워크 망. 인터넷은 전체를 총괄하는 컴퓨터가 없는 분산형 네트워크로, 전세계에 무수하게 산재해 있는 서버가 상호 접속되어, 각각의 서버가 서비스를 제공함으로써 성립되고 있다. 인트라넷 통신 프로토콜 TCP/IP를 근간으로 한 인터넷 표준 기술을 이용하여 구축된 기업 내의 (Intranet) 네트워크. 인터넷과 제휴한 어플리케이션의 구축이나 조작성의 통합 등의 장점이 있다. PC DOS/VPC 및 PC-9800 의 총칭. R A - 7 메 모 A - 8 제1장 Ethernet 네트워크의 기초 부탁 말씀 본 교재에서는 MELSEC-Q 시리즈 Ethernet 모듈의 기본적인 사용 방법을 주로 설 명하고 있습니다. 일반적인 컴퓨터 네트워크 기술(TCP/IP통신 등)의 상세 내용에 관해서는 시중 의 도서를 참조하여 주시기 바랍니다. 또한, Ethernet 모듈의 상세 내용에 대해서는 제품의 매뉴얼을 참조해 주십시 오. 1.1「Ethernet」의 개요 1973년 미국의 Xerox사 팔로 알토 연구소에서 연구가 시작되었으며, 이후에 ANSI/IEEE 표준규격, ISO 국제표준으로써 승인된 네트워크 기술의 규격입니다. 최근에는 네트워크 기기나 전달 경로도 포함한 광의의 의미로써 사용되고 있습니다. (*1) 실제로 네트워크가 동작하는 데는 (협의의 의미로써) Ethernet으로 규정된 전송 선로 등의 하드웨어 이외에, TCP/IP 등의 통신을 수행하기 위한 통신 규격(프로토 콜:약속된 순서(수순))의 기술이 필요합니다. 아래 표는 현재 일반적으로 이용되고 있는 Ethernet 사양입니다. 사양 10BASE5 10BASE2 10BASE-T 100BASE-TX 데이터 전송 속도 10Mbps 10Mbps 10Mbps 100Mbps 최대 세그먼트 길이 500m 185m 100m 100m 최대 네트워크 길이 2500m 925m (or 최대 노드 간격) (5세그먼트) (5세그먼트) ― ― 노드간 최대 거리 2.5m 0.5m ― ― 동축50Ω(직경12mm) 동축50Ω(직경5mm) UTP(비실드 UTP(비실드 ※통칭:이에로 케이블 대선)카테고리3 케이블 대선)카테고리5, STP(실드 대선)IBM Type1, 2 네트워크 타입 버스 버스 스타 스타 *1 본 교재에서는 통신 회선(10BASE-T, 10BASE-TX, 10BASE5 및 10BASE2)을 「Ethernet」으로 표기합니다. 【10BASE2/10BASE5에 의한 접속】 【10BASE-T/100BASE-TX에 의한 접속】 세그먼트 길이 허브 트랜시버 노드 최대100m(5m) 터미네이터 세 그 먼 트 길 이 리피터 노드 노드 노드 간 최장거리 최대100 m 가스켓 접속은 최대 4단(2단)까지 리피터 노드 세 그 먼 트 노드 길 이 * 10BASE2에 의한 접속 시에 트랜시버는 없습니다. 1 - 1 E 7 1 * ( )는 100BASE-TX에 의한 접속 시를 의미합니다. 1.2 어드레스 Ethernet에 접속되는 기기·컴퓨터가 네트워크상에서 교신하기 위해서는 서로를 인식하기 위한 어드레스가 필요합니다. 기본적으로 Ethernet의 경우, 사용자가 인식하는 어드레스는 IP 어드레스라고 생각해 주십시오. A씨네 집 우편 포스트 텍스트 우편 접수 우편 네트워크 사용자 주소 (어드레스) 사용자 주소 (어드레스) 사진 데이터 (패킷) 헤더 통신 형식 1.2.1 MAC 어드레스(Ethernet 어드레스) MAC 어드레스(Media Access Control Address)는 각 네트워크 기기에 할당된 고유 의 물리 어드레스입니다. (서로 다른 기기에서 동일한 MAC 어드레스를 갖는 기기는 존재하지 않습니다.) Ethernet의 경우에는 기기 제조회사를 구분하는 벤더 코드 3바이트(IEEE관리)와 노드번호 3바이트(각 제조회사 관리)의 합계 6바이트의 코드로 표시됩니다.(*1) Ethernet 접속기기는 사용자가 지정한 IP 어드레스부터 자동적으로 MAC 어드레스 를 확보하여 교신합니다만, 기본적으로는 사용자가 이를 인식할 필요가 없습니다. MAC 어드레스는 Ethernet 어드레스 또는 인터넷 어드레스라고 불리는 경우가 있 으나, 다음에 기술한 IP 어드레스와는 다르므로 주의하시기 바랍니다. *1 Ethernet 모듈의 MAC 어드레스는 모듈 측면에 있는 정격명판의 MAC ADD. 난 에 기재되어 있습니다. 1 - 2 1.2.2 IP 어드레스 IP 어드레스(Internet Protocol Address)는 인터넷이나 인트라넷 등의 IP 네트워 크에 접속된 기기ㆍPC를 구분하기 위하여 할당하는 인식번호입니다(편지의 주소, 전화의 전화번호에 해당). 네트워크를 세계적 규모로 접속한 인터넷상에서는 국제적으로 각 국에서 관리하 는 하나의 어드레스가 사용되고 있습니다. 현재 보급되고 있는 IPV4에서는 IP 어드레스를 32비트 수치로 표현합니다. 일반적으로는「192.168.1.1」의 8비트씩 4부분으로 구분하여 10진수로 표기합니 다. 32비트의 값은 각 네트워크를 인식하는 네트워크 부와 이 네트워크 내의 접속기 기(PC 등)를 인식하는 호스트 부로 분할됩니다. (IP 어드레스)=((클래스)+네트워크 부 어드레스)+(호스트 부 어드레스) IP 어드레스의 표현 방법 IP 어드레스(IPv4)는 32비트의 수치로 표현된다. 2진수 00000000000000000000000000000000 ~ 11111111111111111111111111111111 10진수 0 ~ 4294967295 16진수 0 ~ FFFFFFFF 사람이 이해하기 쉽게 하기 위해 8비트씩 구분한다. 2진수 00000000.00000000.00000000.00000000 ~ 11111111.11111111.11111111.11111111 10진수 0. 0. 0. 0 ~ 255. 255. 255. 255 16진수 0. 0. 0. 0 ~ FF. FF. FF. FF (1) 클래스로의 분류 오래 전부터 IP 어드레스의 네트워크 부와 호스트 부의 경계를 고정적으로 취 급하는「클래스」라고 불리는 분류 방식이 사용되었습니다. 클래스 상위 8비트 비트 할당(*1) 상위 비트――――――――하위 비트 네트 워크부(8) 클래스A 0******* 0 네트워크 ID 24 호스트 ID 네트워크부(16) 클래스B 2 1 0 3 1 1 0 (0~127) 상위에서 8비트 10.0.0.0~10.255.255.255 상위에서 16비트 172.16.0.0~172.31.255.255 상위에서 24비트 192.168.0.0~192.168.255.255 호스트부(16) 14 네트워크 ID 네트워크부(24) 클래스C 프라이비트 IP 어드레스 범위 호스트부(24) 7 1 네트워크 어드레스의 경계 21 네트워크 ID 16 호스트 ID 10****** (128~191) 호스트부(8) 8 호스트 ID 110***** (192~223) *1 IP 어드레스를 표현하는 수치의 상위에 표시한 부가 클래스입니다. 클래스A~C가 일반적으로 이용됩니다. 반면에, 인터넷에 직접 접속하지 않는 기기에 이용 가능한 어드레스를 「프라이비트 IP 어드레스」라고 칭합니다. 1 - 3 예전에는 이 클래스 단위로 어드레스를 관리하였습니다만, 현재는 어드레스 공간을 효율적으로 이용할 수 있도록, 경계 비트 수를 가변 길이로 한 클래스 어드레스가 사용되고 있습니다. (2) 클래스 어드레스의 관리 예전부터 클래스 단위로 관리되어 왔지만, 현재는 IP 어드레스의 부족으로, 어 드레스 공간을 효율적으로 이용하기 위하여, 네트워크 부를 가변 길이로 한 클 래스 어드레스가 이용되고 있습니다. Prefix 길이 IP 어드레스 네트워크부 (서브)네트워크 1111 포스트부 1111 000 모두 1 000 모두 0 IP 어드레스의 호스트 부의 비트를 모두 0으로 한 것이(Ethernet 단위의) 네트 워크 어드레스입니다. 네트워크 어드레스의 길이(Prefix 길이)를 명시하기 위 하여 IP 어드레스의 뒤에“/”를 부가하며, 이후에 네트워크 어드레스 부의 비 트 길이를 부가하는 경우도 있습니다. 일반적으로 역사적인 이유로 네트워크 마스크(netmask)가 자주 이용됩니다. 이러한 네트워크 부를 모두 1로, 호스트 부를 0으로 한 것입니다. 또한, 네트워크를 분할 관리(서브 네트워크화) 한다고 하여, 서브 네트워크 마스크(sub netmask)라고 부릅니다. 예.IP 어드레스 192.168.10.68로써 Prefix 길이 26비트의 경우 호스트부(6) 네트워크부(26) 2진수 11000000.10101000.00001010.01000100 / 26 10진수 192 16진수 C0 . 168 . 10 . 68 / 26 . . A . 44 / 26 A8 슬래시 이후 숫자가 Prefix 길이 호스트에 IP 어드레스를 설정한 경우에 관한 정보 예 정 보 어드레스 어드레스의 값(2진수) IP 어드레스 192.168. 10. 68/26 1100 0000 1010 1000 0000 1010 0100 0100 (서브)네트워크 마스크 255.255.255.192 1111 1111 1111 1111 1111 1111 1100 0000 네트워크 어드레스 192.168. 10. 64/26 1100 0000 1010 1000 0000 1010 0100 0000 브로드캐스트 어드레스 192.168. 10.127 1100 0000 1010 1000 0000 1010 0111 1111 1 - 4 비 고 - 호스트 부분이 1인 어드레스 비고 특수한 IP 어드레스 (1) 모든 비트가 0과 1 0.0.0.0 이라고 하는 IP 어드레스는 자신의 IP 어드레스가 분할되지 않거나, 교신 상대에 통지되지 않는 경우에 이용됩니다. 255.255.255.255는 브로드캐스트 어드레스(교신 상대:동일한 네트워크에 접속되어 있는 모든 기기ㆍPC)를 의미합니다. (2) 루프 백 어드레스 동일 기기(PC)에서 실행되고 있는 프로그램에서 이용되는 어드레스입니다. 127.0.0.0~127.255.255.255의 범위에서 사용합니다. (3) 멀티 캐스트 어드레스 특정 그룹 사이에서 통신할 때에 이용되는 어드레스입니다. 224.0.0.0~239.255.255.255 의 범위에서 사용합니다. (4) 프라이비트 어드레스 인터넷에 접속되어 있지 않은 때는 어떠한 IP 어드레스를 사용하여도 무방합니 다만, 트러블을 방지하기 위해서 자유롭게 할당 가능한 어드레스가 지정되어 있습니다. 이것이 프라이비트 어드레스라고 하는 것입니다. 네트워크 어드레스(*1) IP 어드레스의 범위(*2) 10/8 10.0.0.0~10.255.255.255 172.16/12 172.16.0.0~172.31.255.255 192.168/16 192.168.0.0~192.168.255.255 *1 /의 우측의 수치는 IP 어드레스의 상위 측에 표시되는 네트워크 어드레스 의 비트수(최상위 비트로부터의 비트수)를 나타냅니다. *2 브로드캐스트용 IP 어드레스를 포함합니다. 1 - 5 1.3 통신 프로토콜 여기에서 대상으로 하는 MELSEC-Q Ethernet 모듈은 통신을 위한 프로토콜(규약: 약속)로써, TCP/IP와 UDP/IP의 2가지 프로토콜에 대응하고 있습니다. 1.3.1 통신 모뎀 통신 장치로써 ISO(국제표준화기구)에 의한「OSI 참조 모델」이라는 것이 있습니 다. 이는 통신에 필요한 기능을 7개의 계층으로 나눈 것입니다. 계 층 기능 이미지 「이용자와 가장 가까운 계층」 각 애플리케이션 프로토콜 ㆍ실제 서비스 내용에 관한 결정 7 애플리케이션 층 프로토콜 예 ㆍ사용자가 실제로 검토하는 것 ㆍ이용 가능한 서비스 원격 로깅 TELNET 프로토콜 파일 전송 FTP 프로토콜 HTTP TELNET FTP SMTP 「데이터 포맷을 정의ㆍ변환」 ㆍ데이터 표현 방식의 정의 6 프레젠테이션 층 ㆍ데이터의 암호/해독, 압축/전개 MIME 네트워크 공통 포맷 데이터 포맷A 데이터 포맷A ㆍ문자 코드, 데이터 포맷 HTML XML 데이터 표현이 잘못된 것을 흡수 「통신 커넥션을 확립」 5 섹션 층 통신 커넥션 관리 ㆍ커넥션의 확립/차단 RPC ㆍ커넥션의 인증 ㆍ데이터 교신의 동기 「교신 상대까지 정확한 데이터 전송 제공」 ㆍ시점 4 트랜스포트 층 종점 간의 데이터 신뢰성 확보 신뢰성 확보 TCP ㆍ에러 정정(도착순 정정, 재송신 요구) ㆍ통신흐름 제어 UDP ACK 「인접하지 않은 교신 상대와의 통신 순서」 ㆍ경로 제어(루틴) 정의 ㆍ통신 경로 결정의 정의 3 네트워크 층 IP ㆍ어드레스에 의한 가상 접속 확립 경로 선택 「인접한 장치 간의 데이터 교신」 ㆍ인접한 장치 간의 통신 순서 2 데이터링크 층 0101 ㆍ송수신 데이터 포맷 정의 ㆍ장치 간의 데이터 오류 검출, 정정 방법 프레임과 비트열의 교환 인접 장치 간 데이터 전송 Ethernet PPP 정의 「물리적인 접촉을 제어」 1 물리 층 ㆍ최하위 레벨의 전기적 접속 조건 ㆍ데이터 신호의 ON/OFF 정의 Ethernet 0101 0101 ㆍ커넥터 형상, 각 신호 핀 배열 등 ISDN 전화 회선 숫자가 큰 쪽이 상위(논리적) 계층이고, 작은 쪽이 하위(물리적) 계층입니다. IP는 네트워크 층, TCP와 UDP는 트랜스포트 층에 대응합니다. 또한, Ethernet은 데이터링크 층ㆍ물리 층에 대응합니다. 1 - 6 <Ethernet 모듈과 통신 모뎀> 「OSI 참조 모델」에 대응하는 Ethernet 모듈의 소프트웨어 구성에 대해 설명 합니다. 물리 층, 데이터링크 층은 Ethernet 모듈의「Ethernet」부분 에 대응합니다. 네트워크 층, 트랜스포트 층은 Ethernet 모듈의「IP」,「TCP/UDP」부분에 대응 합니다. 보다 상위의 섹션 층, 프레젠테이션 층, 애플리케이션 층에 대해서는 QPLC CPU 와 Ethernet 모듈의 조합으로 실현되고 있는 MELSEC-Q 독자의 각종 기능의 소프트웨어 부분에 대응합니다. 1 - 7 1.3.2 IP 프로토콜 (1) IP의 역할 IP는 IP 네트워크에 접속하는 모든 기기가 처리하는 네트워크 층의 프로토콜 입니다. TCP/IP(UDP/IP) 네트워크의 가장 중요한 역할은「목적(상대) 어드레스의 기 기ㆍPC로 데이터를 운반하는 것」입니다. 이 역할은 IP(Internet Protocol)에 의해 실현됩니다. 데이터(화물)에는「IP 헤더」라고 하는 정보(꼬리표)를 부가하여 배송합니다. (2) IP에서의 제어사항 IP는 데이터를 목적하는 PC에 운반하는 역할을 합니다만, 몇 가지 제한이 있습 니다. (a) 목적지로의 도달 보증이 없다 3 2 1 IP 네트워크 3 1 (b) 송신한 순번대로 도달하는 지에 대한 보증이 없다 3 2 1 IP 네트워크 2 1 3 (c) 한 번에 운반할 수 있는 사이즈에 제한이 있으므로, 화물 단위(패킷)가 전송 시에 여럿으로 분할될 가능성이 있다(*1) 1 IP 네트워크 1-2 1-1 (d) 데이터가 손상되지 않는다는 보증이 없다 123456789 IP 네트워크 손상 데이터 124789356 즉, IP는「목적한 기기ㆍPC에 데이터(화물)을 운반하는데 노력은 하지만 보증 은 하지 않는다」(최선 노력:Best Effort)라고 하는 역할을 합니다. 단, IP의 상위 층으로 TCP를 이용하는 경우에는, 이러한 제한을 둘 필요는 없 습니다. 상위 층으로 UDP를 이용하는 경우에는, 데이터 손상 검출 이외에는 상기의 제 한이 있으므로 주의가 필요합니다. *1 Ethernet 모듈이 송수신할 수 있는 1전문(1패킷)의 크기는 최대 1500바이 트(IP 헤더를 포함)입니다. 1500바이트를 초과하는 데이터는 TCP/IP통신, UDP/IP통신의 어느 경우에 도 분할하여 송신되며, 분할된 데이터는 수신 측에서는 합쳐져서, 애플리 케이션(응용) 프로그램에 도달하게 됩니다. 1 - 8 1.3.3 TCP와 UDP TCP와 UDP는 통신하는 양단의 기기ㆍPC가 처리하는 (트랜스포트 층) 프로토콜 입니다. (1) 포트번호 실제적인 통신은 기기ㆍPC 내에서 동작하는 애플리케이션 프로그램을 통해 이루어집니다. TCP와 UDP에서는 포트번호(port number)에 의해, 어떤 애플리케이션 프로그램 과 어떤 애플리케이션 프로그램이 통신되고 있는지를 인식합니다. IP 어드레스를「주소」라고 생각할 때, 포트번호는「건물의 층」에 해당합니 다. 건물의 층 (포트 번호) 건물의 층 (포트 번호) 애플리케이션 프로그램 A IP네트워크 애플리케이션 프로그램 B 애플리케이션 프로그램 D 애플리케이션 프로그램 C 애플리케이션 프로그램 E 주소XX (IP 어드레스) 주소YY (IP 어드레스) 실제적으로는 다음의 5개의 조합으로 통신이 인식됩니다. ㆍ송신 상대 IP 어드레스 ㆍ송신 소스 IP 어드레스 ㆍ송신 상대 포트번호 ㆍ송신 소스 포트번호 ㆍ프로토콜번호(TCP=6H, UDP=17H) 1 - 9 (2) TCP와 UDP의 비교 이용자 애플리케이션에 따라, 네트워크에 대한 요구 레벨이 다릅니다. 하지만, 많은 요구에 대해 고유의 프로토콜을 만드는 것은 대단한 일입니다. 여기서, 최소한으로 필요한 기본 서비스로써, TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)가 만들어 졌습니다. TCPㆍㆍㆍ신뢰성이 높고, 가장 먼저 송신 상대로의 경로(커넥션)를 고정하며, 쌍방향으로 1:1통신을 합니다. UDPㆍㆍㆍ애플리케이션으로부터 넘어 온 데이터를 지정한 송신 상대에 한 쪽 방향으로 통신을 합니다. IP를 사용하여 그 상태 그대로 송신하므로 고속입니다. 다음 표는 이들의 특징을 비교한 것입니다. 항목 TCP UDP 신뢰성 높다 낮다 (처리)속도 저속 고속 비고 유니 캐스트(1:1통신). 통신 상대기기의 수 1:1 1:1 또는 1:n 멀티 캐스트(1:n통신). (*1) 송신 상대로의 도달 보증 송신 에러 시의 동작 있다 자동으로 재송신한다(설정에 따름 ) 통신 커넥션의 확립 필요 전송 타입 (문자열로 명령ㆍ데이터를 없음 재송신 없음(패킷 파손) 불필요 스트림형 송신) 데이터그램형 (고정 포맷으로 송신) TCP에서는 패킷 단위의 송 신 순으로 도착. TCP에서도 애플리케이션 레벨로 데이터그램형 실현 가능. 데이터 수신 측의 버퍼 크 흐름 제어 있음 없음 기에 대응하여 송신 측이 송신 데이터량을 제어. 폭주 제어 (재송신 제어)(*2) 있음 없음 불가능 가능(*3) 커넥션의 오픈 중 상대기기 변경 네트워크의 혼잡도에 대응 하여 패킷 송신량을 제어. 커넥션에 대해서는 2.3항 참조 TCP는 데이터를 확실하게 전송하고자 하는 경우 등에 이용됩니다.. UDP는 PC화면 등에서 리얼 타임 모니터를 할 경우 등에 이용됩니다. *1 멀티 캐스트(1:n통신)의 n은 동일 Ethernet상의 1개의 그룹에 포함되는 여러 기기의 집합을 나타냅니다. *2 네트워크상의 교신패킷의 정체를「폭주」로 표현합니다. *3 커넥션이 오픈 중일 때 교신 상대기기를 변경하는 것은 교신 트러블의 요인이 됩니다. 가능하다면, 커넥션이 오픈 중일 때에는 교신할 상대기기를 변경하지 마십시오. 1 - 10 1.4 MELSEC-Q Ethernet 모듈 1.4.1 Ethernet 모듈의 역할 Ethernet 모듈은 Ethernet으로 접속된 외부기기와 PLC CPU 또는 PLC CPU 간의 데이터 교신을 지원하고, TCP/IP 또는 UDP/IP 통신으로 상대기기와 데이터를 송수 신하는 역할을 합니다. 따라서, 멀리 떨어져 있는 외부기기로부터 PLC CPU의 상황을 확인할 수 있습 니다. 공장 A 외부 기기 PLC PLC Ethernet 모듈 Ethernet 모듈 루트 공장 B Ethernet 모듈 외부 기기 외부 기기 PLC 모든 외부기기는 Ethernet을 경유하여 공장A와 공장B의 PLC와 교신할 수 있습니 다. 또한, 공장A와 공장B의 PLC 간에도 동일한 교신을 수행할 수 있습니다. 1 - 11 1.4.2 Ethernet 모듈의 개요 (1) 통신 방식으로써 TCP/IP통신, UDP/IP통신이 가능 Ethernet 모듈은 TCP/IP통신과 UDP/IP통신을 지원합니다. 상대기기에 맞는 통신 방식을 선택할 수 있습니다. (2) 데이터 코드의 선택 가능 Ethernet 모듈은 바이너리 코드 또는 ASCII 코드의 데이터로써 교신할 수 있습 니다. 데이터 코드의 상세 내용은 2.1항을 참조하십시오. (3) 교신 목적에 부합하도록 하는 3가지 교신 기능 Ethernet 모듈은 아래에 기재된 3가지의 교신 기능을 갖고 있습니다. 사용자의 교신 목적을 충족시키기 위해, 기능을 선택하여 데이터 교신할 수 있습니다. 상세 내용은 2.2항을 참조하십시오. ㆍMC프로토콜에 의한 교신 ㆍ고정버퍼에 의한 교신(수순/무수순) ㆍ랜덤 액세스 버퍼에 의한 교신 포인트 교신하는 기기 간에 통신 방식과 송수신할 데이터의 데이터 코드를 일치시킬 필요가 있습니다. (4) 전자 메일에 의한 원격지와의 교신 전자 메일 송수신 기능에 의해, 원격지의 PC와 데이터를 송수신할 수 있습니 다. 또한, 자동 통지 조건을 설정하여 놓으면, 이 조건의 성립 시에 전자 메일을 자동적으로 송신하게 할 수 있습니다. (5) Web기능에 의한 인터넷 액세스(QJ71E71-100만 대응) 시판하는 Web 브라우저를 사용하여, 시스템 관리자가 원격지에 있는 Q 시리즈 PLC CPU를 인터넷을 경유하여 감시할 수 있습니다. Web기능을 이용할 때에는 통신 라이브러리ㆍ사용자 작성 화면 및 Q PLC 액세스 용 프로그램을 Web 서버에 저장해 놓을 필요가 있습니다. 1 - 12 제2장 Ethernet 모듈을 사용하기 전에 숙지해야 할 사항 2.1 2개의 데이터 코드 Ethernet 모듈은 바이너리 코드 또는 ASCII 코드의 데이터로 외부기기와 교신할 수 있습니다. 바이너리 코드/ASCII 코드의 전환은 GX Developer로써 설정합니다. 상세 내용은 4.6항을 참조하십시오. (1) 바이너리 코드에 의한 교신 Ethernet 모듈은 자신의 1바이트 데이터를 그대로 송신/수신합니다. (a) 장점 ① ASCII 코드에 비해 송신/수신하는 데이터의 용량을 1/2로 회선의 부하 를 줄일 수 있습니다. ② 00H~FFH의 데이터를 취급할 수 있습니다. (b) 단점 수치 데이터를 표시하는 경우, ASCII 코드로 변환할 필요가 있습니다. 예:1234H 를 송신/수신하는 경우 2 - 1 (2) ASCII 코드에 의한 교신 Ethernet 모듈은 1바이트의 데이터를 ASCII 코드 2문자의 데이터로 송신/수신 합니다. (a) 장점 외부기기 측은 자신의 데이터를 그대로 표시합니다. (b) 단점 ① 바이너리 코드의 데이터에 비해 송신/수신하는 데이터의 용량이 2배 로 회선의 부하가 많아집니다. ② 수치를 취급 데이터는 ASCII-바이너리로 변환할 필요가 있습니다. (Ethernet 모듈 측에서는 자동적으로 변환됩니다.) 예:“1234”를 송신/수신하는 경우 (3) 각 교신 방법과 데이터 코드의 관계 각 교신 방법에 있어서의 데이터 코드의 사용 여부는 아래와 같습니다. 데이터 교신 기능 MC프로토콜에 의한 교신 고정 버퍼에 의한 교신 자동오픈 UDP 포트 교신 데이터 코드 설정 바이너리 코드 *1 ○ ASCII 코드 - 사용자 오픈 포트 ○ ○ 수순 ○ ○ 무수순 랜덤 액세스용 버퍼에 의한 교신 *1 ○ ○ - ○ ○:선택 가능 -:교신 불가능 *1 GX Developer에서의 교신 데이터 코드 설정에 관계없이 Ethernet 모듈은 바이너 리 코드의 데이터 교신을 실행합니다. 2 - 2 2.2 데이터 교신 기능의 종류 Ethernet 모듈은「MC프로토콜에 의한 교신」,「고정 버퍼에 의한 교신」,「랜덤 액세스용 버퍼에 의한 교신」등 3가지의 교신 기능을 보유하고 있습니다. 다음은 각 교신 기능에 대한 개요입니다. 2.2.1 MC프로토콜에 의한 교신 MC프로토콜은 Ethernet 모듈 또는 Q시리즈 시리얼 커뮤니케이션 모듈을 중계로 하여 PC에서 PLC CPU의 디바이스 데이터, 프로그램의 읽기/쓰기 등을 실행하기 위한 기능입니다. PC 측은 MC프로토콜에 맞게 데이터의 송수신을 할 수 있는 프로그램을 작성하면, 간단하게 PLC CPU에 액세스할 수 있습니다. PLC CPU 측은 교신 프로그램을 작성할 필요가 없습니다. 포인트 MC프로토콜에 의한 데이터 교신을 실행하는 경우에는 Q대응 MELSEC 커뮤니케이 션 프로토콜 레퍼런스 매뉴얼을 참조하십시오. (1) MC프로토콜의 기능 (a) PLC CPU 데이터의 읽기, 쓰기 Ethernet 접속국(자국) 또는 MELSECNET/H, MELSECNET/10상의 다른 국 PLC CPU의 디바이스 메모리, 인텔리전트 기능 모듈의 버퍼 메모리에 대한 데이터의 읽기, 쓰기를 실행할 수 있습니다. 데이터의 읽기, 쓰기를 실행함으로써, PC에서 PLC CPU의 동작 감시, 데이터 해석 및 생산 관리 등을 수행할 수 있습니다. 또한, PC에서 생산 지시 등도 할 수 있습니다. 디바이스 메모리, 버퍼 메모리 읽기, 쓰기 가능 읽기 PC 쓰기 PLC CPU 2 - 3 (b) PLC CPU 파일의 읽기, 쓰기 PLC CPU에 저장되어 있는 시퀀스 프로그램이나 파라미터 등의 파일을 읽거 나 쓸 수 있습니다. 파일을 읽기/ 쓰기 함으로써 QCPU 및 타국 QnACPU의 파일을 PC에서 관리할 수 있습니다. 또한, PC에서 PLC CPU의 실행 프로그램 등을 변경할 수 있습니다. 디바이스 메모리, 버퍼 메모리 읽기, 쓰기 가능 읽기 PC 쓰기 PLC CPU (c) PLC CPU의 리모트 제어가 가능 리모트 RUN/STOP/PAUSE/래치 클리어/리셋이 가능합니다. PLC CPU의 리모트 제어 기능을 사용함으로써, PC에서 PLC CPU를 원격 조작 할 수 있습니다. (2) MX Component, MX Links의 활용 하기 OS로 동작하고 있는 PC의 경우, MX Component 또는 MX Links(SW3D5F-CSKP 이후)를 사용함으로써, MC프로토콜의 상세 프로토콜(송수신 순서)을 의식하지 않고 교신 프로그램을 작성할 수 있습니다. (대응하는 기본 OS) ㆍMicrosoft R Windows 95 Operating System ㆍMicrosoft R Windows 98 Operating System ㆍMicrosoft R Windows NT ㆍMicrosoft R Windows ㆍMicrosoft R Windows 2000 Professional Operating System(*1) R R R R Workstation 4.0 Operating System Millennium Edition Operating System(*1) R *1 MX Component Version 2 이후부터 대응합니다. 본 교재의 5장에 MX Component를 사용한 과제를 정리해 놓았습니다. 또한, 부록2항에 MX Component의 특징이 기재되어 있습니다. 2 - 4 (3) 데이터 교신이 가능한 상대 기기 MC프로토콜에 의한 교신은 아래의 상대 기기에서 실행할 수 있습니다. ① Ethernet 모듈과 같은 Ethernet상에 접속되어 있는 기기 ② 라우터를 경유하여 다른 Ethernet상에 접속되어 있는 기기 ③ PLC CPU를 중계로 하여 MELSECNET/H에 접속되어 있는 기기 ② PC Ethernet-2 ① 라우터 PC Ethernet-1 PLC CPU (액세스 상대국) PLC CPU MELSECNET/H ③ PC PC (4) 데이터 송신/수신 순서의 개요 아래의 그림에 나타낸 흐름과 같이 데이터의 송신/수신이 이루어집니다. (a) TCP/IP 통신 시 상대 기기 Ethernet 모듈 PLC CPU 커맨드 수신 버퍼 메모리 ACK 송신 송신 처리 응답 송신 ACK 수신 수신 처리 (b) UDP/IP통신 시 상대 기기 Etherne 모듈 PLC CPU 커맨드 수신 송신 처리 버퍼 메모리 응답 송신 수신 처리 비 고 MC프로토콜에 의한 교신에 있어서, 하기 언어를 사용한 PC 측의 교신 프로그램 예는 Q대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편)을 참조하십시오. ㆍMicrosoft Corporation의 Visual C++ R ㆍMicrosoft Corporation의 visual basic R 2 - 5 2.2.2 고정 버퍼에 의한 교신 Ethernet 모듈 내의 버퍼메모리에 준비되어 있는 고정 버퍼를 사용하여 타 PLC CPU 또는 PC와 교신할 수 있습니다. PLC CPU 간 또는 PLC CPU와 상위 시스템 간에서, 최대 1k워드분의 임의의 데이터 를 송신 또는 수신할 수 있습니다. Ethernet 모듈에는 1k워드의 고정 버퍼가 16개 준비되어 있어, 각각을 임의의 기기와 송신용 또는 수신용 버퍼로써 할당하여 사용합니다. MC프로토콜에 의한 교신이 수동적인 교신인 것에 대해, 고정 버퍼에 의한 교신은 능동적인 교신을 하기 위한 기능입니다. 기계 설비의 에러 발생 시나 어떠한 조건 성립 시에, PLC CPU 측으로부터 상위 시스템에 데이터를 송신할 수 있습니다. 또한, 인터럽트 프로그램에 의한 데이터 수신 기능을 사용함으로써, PLC CPU로의 수신 데이터의 수취를 빠르게 할 수 있습니다. 에러 확인 PC 에러 발생 PLC CPU(자국) 에러 확인 PLC CPU (1) 제어 방식 Ethernet 모듈 내의 고정 버퍼를 사용하여 상대 기기와 교신합니다. 상대 기기 PLC 송신 수신 BUFSND 명령 버퍼메모리 고정 버퍼 BUFRCV 명령 No.1 No.2 No.3 No.4 No.16 2 - 6 아래 그림에 표시한 대로, 각각의 고정 버퍼(No.1~No.16)를 사용하여 교신 할 상대 기기의 IP어드레스 및 사용 용도(송신용/수신용, 수순/무수 순)등을 Ethernet 모듈의 커넥션(논리 회선)의 오픈 시에 설정하여, 각각의 버퍼에 대한 상대 기기를 고정합니다.(*1) *1 데이터 교신에서 사용할 커넥션의 번호(1~16)와 고정 버퍼의 번호는 같습 니다. 고정 버퍼No.1 상대 기기1에 대한 송신용 고정 버퍼No.2 상대 기기1에 대한 수신용 고정 버퍼No.3 상대 기기8에 대한 수신용 상대 기기1 상대 기기8 1 고정 버퍼No.16 상대 기기28에 대한 송신용 상대 기기28 (2) 수순과 무수순의 차이점 고정 버퍼 교신(수순)과 고정 버퍼 교신(무수순)의 차이점은 아래와 같습니 다. 수순 무수순 자국PLC CPU와 상대 기기의 어플리케이션 통신방법 프로그램이, 핸드쉐이크(신호변경)를 하면 서 교신한다. 오픈한 커넥션의 용도 어플리케이션 데이터부의 전문 포맷 교신 데이터의 코드 전용 명령 사용시의 데 이터 길이 단위 자국PLC CPU와 상대 기기의 어플리케이션 프로그램이, 핸드쉐이크(신호변경)를 하지 않고 교신한다.(데이터 송신 시에 상대 기 기의 수신확인을 할 수 없음.) 고정 버퍼 교신, 랜덤 액세스용 버퍼에 의 한 교신, MC프로토콜에 의한 교신이 가능. Ethernet 모듈이 결정한 전문 포맷. 고정 버퍼 교신 가능. 전문 포맷의 제약 없음.(상대 기기측의 전문 포맷으로 교신 가능.) ASCII 코드 또는 바이너리 코드 바이너리 코드 워드 바이트 (3) 데이터 교신이 가능한 상대 기기 고정 버퍼에 의한 교신은 아래의 상대 기기와 행할 수 있습니다. ① Ethernet 모듈과 동일 Ethernet상에 접속되어 있는 기기 ② 라우터를 경유하는 다른 Ethernet상에 접속되어 있는 기기 ② PC Ethernet-2 ① 라우터 PC Ethernet -1 PLC CPU (액세스국) 2 - 7 (4) 데이터 송신/수신순서의 개요 아래 그림에 표시하는 흐름으로, 데이터의 송신/수신이 행해집니다. (a) TCP/IP통신 시 ① 고정 버퍼 교신(수순) PLC CPU Ethernet 모듈 송신 요구 고정 버퍼-n BUFSND 명령 완료 수신 완료 BUFRCV 명령 고정 버퍼-m 상대 기기 데이터 송신 ACK 수신 응답 수신 ACK 송신 데이터 수신 ACK 송신 응답 송신 ACK 수신 수신 완료 수신 처리 송신 처리 확인 ② 고정 버퍼 교신(무수순) 상대 기기 Ethernet 모듈 PLC CPU 데이터 송신 송신 요구 고정 버퍼-n BUFSND 명령 ACK 수신 완료 데이터 수신 수신 완료 고정 버퍼-m BUFRCV 명령 수신 처리 ACK 송신 수신 완료 송신 처리 확인 (b) UDP/IP통신 시 ① 고정 버퍼 교신(수순) PLC CPU Ethernet 모듈 송신 요구 BUFSND 명령 고정 버퍼-n 응답 수신 완료 수신 완료 BUFRCV 명령 상대 기기 데이터 송신 수신 처리 데이터 수신 고정 버퍼-m 응답 송신 송신 처리 수신 완료 확인 ② 고정 버퍼 교신(무수순) PLC CPU BUFSND 명령 상대 기기 Ethernet 모듈 송신 요구 고정 버퍼-n 데이터 송신 수신 처리 완료 수신 완료 고정 버퍼-m BUFRCV 명령 수신 완료 확인 2 - 8 데이터 수신 송신 처리 2.2.3 랜덤 액세스용 버퍼에 의한 교신 Ethernet 모듈 내의 버퍼메모리에 준비되어 있는 랜덤 액세스용 버퍼를 사용하여 PC와 교신할 수 있습니다. 고정 버퍼 교신으로는 데이터 용량(최대 1k워드)이 부족한 경우에, 랜덤 액세스 용 버퍼에 의한 교신 기능을 사용하면, 대량의 데이터를 송수신할 수 있습니다. (1) PLC CPU와 상대 기기의 공통 메모리로써의 활용 상대 기기와 대용량(최대 6k워드)의 데이터 통신을 할 수 있습니다. 랜덤 액세스용 버퍼는 상대 기기를 고정하지 않고, 임의의 상대 기기(*1)에서 자유롭게 읽기/쓰기를 할 수 있습니다. 따라서, Ethernet에 접속되어 있는 상대 기기의 공통 메모리로써, 랜덤 액세스 용 버퍼를 사용할 수 있습니다.(*2) *1 PLC CPU 사이에서의 교신용으로써 랜덤 액세스용 버퍼에 의한 교신 기능은 사용할 수 없습니다. *2 랜덤 액세스용 버퍼에 대한 PLC CPU로부터의 읽기/쓰기와 , 상대 기기로 부터의 읽기/쓰기는 비동기로 실행됩니다. Ethernet 모듈 PLC CPU 버퍼 메모리 쓰기 TO 명령 시스템 액세스용 읽기 FROM 명령 버퍼 상대 기기 쓰기 상대 기기 읽기 (2) 데이터 교신이 가능한 상대 기기 랜덤 액세스용 버퍼에 의한 교신은 아래의 상대 기기와 실행할 수 있습니다. ① Ethernet 모듈과 같은 Ethernet상에 접속되어 있는 기기 ② 라우터를 경유하는 다른 Ethernet상에 접속되어 있는 기기 ② PC Ethernet-2 ① PC 라우터 Ethernet -1 PLC CPU (액세스국) 2 - 9 (3) 데이터 송신/수신 순서의 개요 아래 그림에 나타낸 흐름과 같이 데이터의 송신/수신이 이루어집니다. (a) TCP/IP통신 시 PLC CPU 상대 기기 Ethernet 모듈 커맨드 수신 (읽기/쓰기 요구) ACK 송신 (쓰기 시) (데이터) TO 명령 FROM 명령 송신 처리 랜덤 액세스용 버퍼 (데이터) 응답 송신 (읽기 시) 수신 처리 ACK 수신 (b) UDP/IP통신 시 PLC CPU Ethernet 모듈 상대 기기 ( 쓰기 시) 커맨드 수신 (데이터) TO 명령 FROM 명령 송신 처리 (읽기/쓰기 요구) 랜덤 액세스용 버퍼 응답 송신 (데이터) 수신 처리 (읽기 시) 2.2.4 데이터 교신 기능별 상대 기기와의 교신 여부 Ethernet 모듈은「MC프로토콜에 의한 교신」,「고정 버퍼에 의한 교신」,「랜덤 액세스용 버퍼에 의한 교신」 등 3가지의 교신 기능을 갖고 있습니다. Ethernet 모듈의 각 교신 기능의 상대 기기와의 교신 가능 여부를 표시합니다. 상대 기기(*1) PC 기 능 MC프로토콜에 의한 교신 PC QJ71E71 QJ71E71 종래 기종 ↓ ↑ ↓↑ ↓ ↓ QJ71E71 QJ71E71 QJ71E71 종래 기종 QJ71E71 ○ 고정 버퍼에 의한 교신 × ○ 랜덤 액세스용 버퍼 ○ 에 의한 교신 × ○:교신 가능 ×:교신 불가능 *1 종래 기종은 MELSEC-A시리즈, QnA시리즈의 Ethernet 인터페이스 모듈을 의미 합니다. 2 - 10 2.3 오픈/클로즈 처리 Ethernet 모듈을 사용하여 상대 기기와 교신할 때는 모듈의 기동 시에 자동적으 로 실행되는 이니셜(초기화) 처리 완료 후에, 상대 기기와 데이터 교신하기 위한 커 넥션의 확립(논리 회선의 접속)을 할 필요가 있습니다. Ethernet 모듈의 경우 커넥션은 시스템용과 사용자용이 있으며, 모두 오픈 처리 가 실행됨으로써, 상대 기기와의 데이터 교신이 가능해 집니다. 또한, 확립한 커넥션을 교신 종료 후에 클로즈 처리합니다. 다음은 Ethernet 모듈의 커넥션과 오픈 처리, 클로즈 처리에 대한 설명입니다. (데이터 교신 순서의 개략도) (1) Ethernet 모듈의 커넥션 (a) 시스템용 커넥션 ① 위 그림의 오른쪽에 표시한 Ethernet 모듈의 특수 기능 등을 이용하여, 사용자가 데이터 교신할 때에 사용되는 커넥션입니다. ② Ethernet 모듈의 기동 시에 자동적으로 오픈 처리가 실행됩니다. 사용자가 수동으로 커넥션의 오픈 처리, 클로즈 처리를 할 필요가 없습 니다. (b) 사용자용 커넥션 ① 위 그림의 왼쪽에 표시한 Ethernet 모듈의 기본 기능을 이용하여, 사용 자가 데이터 교신할 때에 사용되는 커넥션입니다. ② 상대 기기와의 데이터 교신을 시작할 때에 사용자가 오픈 처리를 실행 하고, 데이터 교신을 종료할 때에 사용자가 클로즈 처리를 실행합니다. ③ 상대 기기와 데이터 교신할 때의 통신 방식에 따라, 커넥션의 확립이 실행됩니다. 2 - 11 (TCP/IP통신을 하는 경우) ㆍ오픈 처리가 정상 완료됨으로써, 커넥션이 확립됩니다. ㆍ데이터 교신 종료 후에 클로즈 처리가 정상 완료됨으로써, 커넥션 이 끊깁니다. ㆍ커넥션의 확립 방법으로써 능동적인 Active 오픈, 수동적인 Passive 오픈이 있습니다. (Active 오픈) 커넥션의 확립을 대기하고 있는 지정 상대 기기에 대하여, 커넥 션의 확립요구를 실행합니다. 전화 회선의 경우, 전화를 거는 쪽이 해당됩니다. (Passive 오픈) Fullpassive 오픈과 Unpassive 오픈이 있습니다. 전화 회선의 경우, 전화를 받는 쪽이 해당됩니다. Ethernet 모듈 측의 Passive 오픈에 의한 오픈 처리, 클로즈 처리는 PLC CPU에서 수행하는 방법과 Ethernet 모듈의 시스템이 수행하는 방법이 있습니다.(*1) (Fullpassive 오픈) 지정한 상대 기기에서 자국 소스 커넥션의 확립요구(Active 오픈)를 기다립니다. (Unpassive 오픈) 임의의 상대 기기에서 자국 소스 커넥션의 확립요구(Active 오픈)를 기다립니다. (커넥션 확립 순서의 개략도) PLC CPU 이니셜 처리 이니셜 완료 Fullpassive/ Unpassove 오픈 오픈 완료 Ethernet 모듈 Ethernet 모듈 이니셜 요구 이니셜 요구 이니셜 완료 이니셜 완료 오픈 PLC CPU 이니셜 처리 이니셜 완료 Active 오픈 오픈 요구 대기 오픈 요구 오픈 완료 오픈 완료 오픈 완료 (UDP/IP통신을 하는 경우) ㆍ오픈 처리, 클로즈 처리는 상대 기기와 데이터 교신이 가능하도록 하기 위한 Ethernet 모듈의 내부 처리입니다. ㆍ오픈 처리가 정상 완료된 후의 데이터 교신 시에 커넥션이 확립됩 니다. ㆍUDP/IP 통신할 때의 Ethernet 모듈 측의 오픈 처리, 클로즈 처리는 PLC CPU가 수행하는 방법과 Ethernet 모듈의 시스템이 수행하는 방법이 있습니다.(*1) 2 - 12 *1 다음에 기재한 Ethernet 모듈 측의 오픈 처리, 클로즈 처리는 PLC CPU가 수행하는 방법과 Ethernet 모듈의 시스템이 수행하는 방법이 있으며, 아 래 GX Developer에서의 Ethernet 모듈용 파라미터의 설정값에 따라 결정 됩니다. ㆍTCP/IP통신할 때의 Passive 오픈에 의한 오픈 처리, 클로즈 처리. ㆍUDP/IP통신할 때의 오픈 처리, 클로즈 처리. (1) GX Developer에서의 Ethernet 모듈용 파라미터 설정에 있어, 하기 ①과 ②의 양쪽의 설정에 해당하는 커넥션의 오픈 처리, 클로즈 처리는 Ethernet 모듈의 시스템이 수행합니다. 상대 기기와의 데이터 교신에서 사용하는 커넥션에 대해 시퀀스 프로 그램으로 오픈 처리, 클로즈 처리를 할 필요가 없습니다. (설정 화면은 다음 쪽을 참조하십시오.) ① 동작 설정의「이니셜 타이밍 설정」에서,「상시 OPEN 대기」를 설 정한 경우(모든 사용자용 커넥션 공통의 설정입니다.). ② 오픈 설정의「프로토콜」,「오픈 방식」에서, 아래의 설정을 실행 한 사용자용 커넥션. ㆍ「프로토콜」=TCP, 「오픈 방식」=Unpassive ㆍ「프로토콜」=TCP, 「오픈 방식」=Fullpassive ㆍ「프로토콜」=UDP, 「오픈 방식」=(설정 불필요) 비 고 상기 설정으로 Ethernet 모듈을 기동시킨 경우 (「프로토콜」=TCP를 설정한 커넥션) ㆍ상대 기기로부터의 오픈 처리(Active 오픈)로 오픈 중에 있으며, 데이터 교신을 할 수 있습니다. ㆍ데이터 교신을 종료할 때에도, 상대 기기로부터의 클로즈 처리로 써 커넥션이 끊깁니다. ㆍ필요에 따라 상대 기기에서 오픈 처리, 클로즈 처리를 실행하여 데이터 교신을 하십시오. 단, 커넥션이 오픈 중에 교신 트러블 등에 의해 PLC CPU 측에서 해당 커넥션을 클로즈했을 때에는 CLOSE 명령을 사용하여 시퀀스 프로그램으로 클로즈 처리를 실행하십시오. 이 경우, Ethernet 모듈의 시스템에 의한 해당 커넥션의 오픈 대기 처리는 실행되지 않으므로, Ethernet 모듈 측의 이후의 오픈 처리(OPEN 명령을 사용), 클로즈 처리는 모두 시퀀스 프로그램 으로 실행할 필요가 있습니다. (「프로토콜」=UDP를 설정한 커넥션) Ethernet 모듈의 기동으로 상대 기기와 데이터 교신을 할 수 있습니 다. 2 - 13 (2) 상기 파라미터 설정을 통해 하기 ① 또는 ②와 같이 설정을 한 경우에, 해당 커넥션의 오픈 처리, 클로즈 처리는 시퀀스 프로그램으로 실행 합니다. Ethernet 모듈의 시스템은 이러한 오픈 처리, 클로즈 처리를 실행하지 않습니다. ① 동작 설정의「이니셜 타이밍 설정」에서,「OPEN 대기로 하지 않는 다」를 설정한 경우(모든 사용자용 커넥션의 공통 설정입니다.). ② 오픈 설정의「프로토콜」,「오픈 방식」에서, 아래와 같이 설정한 사용자용 커넥션. ㆍ「프로토콜」=TCP,「오픈 방식」=Active 2 - 14 (2) 오픈 처리 (a) 오픈 처리는 상대 기기와 데이터 송수신을 가능하게 하는 처리입니다. ① TCP/IP통신을 하는 경우 ㆍEthernet 모듈의 시스템은 데이터 교신에 이용하는 커넥션을 사용하 여 상대 기기와 교신하며, 커넥션을 확립(논리 회선의 접속)합니다. ㆍ오픈 처리가 정상 완료함에 따라, 이 커넥션을 사용하여 사용자가 데 이터를 송수신할 수 있습니다. ② UDP/IP통신을 하는 경우 ㆍEthernet 모듈의 시스템은 내부 처리를 실행합니다. ㆍ오픈 처리가 정상 완료함에 따라, 오픈 처리한 커넥션을 사용하여 사용자가 데이터를 송수신할 수 있습니다. (b) 오픈 처리를 실행하기 위해서는 이니셜 처리가 정상 완료되어 있을 필요가 있습니다. (c) 오픈 처리는 최대 16장의 상대 기기에 대하여 실행합니다. 단,「동일한 상대 기기와 고정 버퍼 교신에 의해 송신ㆍ수신」을 실행한 경우에는 2개의 고정 버퍼가 필요하므로 교신할 수 있는 상대 기기가 적어집니다. 포인트 MC프로토콜에 의한 교신, 랜덤 액세스용 버퍼에 의한 교신을 실행한 경우에는 아래 사항에 주의하여 주십시오. ㆍEthernet 모듈 장착국의 PLC CPU를 STOP으로 한 경우라도 데이터 교신을 계속하고자 할 때에는「이니셜 타이밍 설정」을 「상시 오픈 대기(STOP 중 교신 가능)」로 설정하십시오. 2 - 15 (3) 클로즈 처리 (a) 클로즈 처리는 상대 기기와 데이터를 송수신할 수 없도록 하는 처리입니 다. ① TCP/IP통신을 하는 경우 ㆍEthernet 모듈의 시스템은 데이터 교신에서 이용한 커넥션을 사용하 여 상대 기기와 교신하며, 커넥션 끊기(논리 회선의 차단)를 실행합 니다. ㆍ클로즈 처리가 정상 완료함에 따라, 이 커넥션을 사용하여 데이터 교신하는 상대 기기의 변경이 가능해 집니다. ② UDP/IP통신을 하는 경우 ㆍEthernet 모듈의 시스템은 내부 처리를 실행합니다. ㆍ클로즈 처리가 정상 완료함에 따라, 이 커넥션을 사용하여 데이터 교신하는 상대 기기의 변경이 가능해 집니다. (b) 하기와 같은 경우에 클로즈 처리를 실행합니다. ㆍ상대 기기와의 교신을 종료한다. ㆍ교신하는 상대 기기를 변경한다. ㆍ교신 조건을 변경한다. (c) 시퀀스 프로그램으로 오픈 처리를 실행한 커넥션은 클로즈 처리 역시 시퀀 스 프로그램으로 실행하여 주십시오. (d) 클로즈 처리의 타이밍은 상대 기기에 따라 결정하십시오. 포인트 클로즈 요구가 없다 할지라도 다음과 같은 경우에는 자동적으로 오픈 완료 신호(어드레스:5000H의 해당 비트)가 OFF하여 통신 회선이 클로즈됩니다. (1) 생존확인 기능의 타임아웃이 발생한 경우 (2) 상대 기기로부터의 클로즈, ABORT(RST)명령을 수신한 경우 (3) TCP/IP에서의 오픈 완료 상태에서, 상대 기기로부터 다시 Active 오픈 요구 를 수신한 경우(RST 커맨드를 송신한 후에 커넥션이 클로즈됩니다.) 2 - 16 2.3.1 Active 오픈/클로즈 처리 Active 오픈은 TCP/IP통신을 하는 커넥션의 오픈 대기 상태(Fullpassive/ Unpassive)로 되어 있는 상대 기기에 대하여 접속 처리를 실행하고, 데이터 교신이 가능하도록 합니다. PLC CPU Ethernet 모듈 이니셜 처리 이니셜 완료 Fullpassive/ Unpassove 오픈 Ethernet 모듈 이니셜 요구 이니셜 요구 이니셜 완료 이니셜 완료 오픈 이니셜 처리 이니셜 완료 Active 오픈 오픈 요구 대기 오픈 완료 PLC CPU 오픈 요구 오픈 완료 오픈 완료 오픈 완료 아래는 Ethernet 모듈 시퀀스 프로그램 및 타이밍 차트입니다. << 전용 명령-OPEN 명령에 의한 커넥션No.1의 오픈 처리>> 지시 D0~D8에 컨트롤 데이터를 설정 ZP.OPEN M0 "U0" K1 D0 M0 M1 정상 완료 시의 처리 GX Developer 의「오픈 설정」에서 설정한 「사용 용도」를 사용할 때 (*1) ・컨트롤 데이터[D0]: H0 OPEN 명령의 컨트롤 데이터에서 「사용 용도」를 설정할 때 (*1) ・[D0] : H8000 ・[D1]~[D9]를 사용 용도에 맞게 설정 M1 이상 완료 시의 처리 << 전용 명령-CLOSE 명령에 의한 커넥션No.1의 클로즈 처리>> 지시 ZP.CLOSE M100 "U0" K1 D100 M100 M101 정상 완료 시의 처리 M101 이상 완료 시의 처리 *1「사용 용도」의 설정 항목은 아래와 같습니다. 상세 내용은 Q대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편)을 참 조하십시오. ㆍ고정 버퍼의 용도(송신용, 수신용) ㆍ교신 상대 생존확인(생존확인한다, 생존확인하지 않는다) ㆍ페어링 오픈(페어링 오픈한다, 페어링 오픈하지 않는다) ㆍ통신 방식(TCP/IP, UDP/IP) ㆍ고정 버퍼 교신의 순서 유무(수순, 무수순) ㆍ오픈 방법(Active 또는 UDP/IP, Unpassive, Fullpassive) 2 - 17 번호 ① ② ③ 내 용 파라미터 교신 후에 Ethernet 모듈의 이니셜 처리의 정상 완료를 확인합니다. (이니셜 정상 완료 신호(X19):ON) 전용 명령-OPEN 명령을 사용하여 오픈 처리를 시작합니다. (오픈 요구 신호(어드레스:5002H…b0):ON) 오픈 처리를 실행합니다. ㆍ오픈 처리 정상 종료 시 데이터 교신이 가능해 집니다. ④ ㆍ오픈 처리 이상 종료 시 OPEN 명령의 컨트롤 데이터에 저장되어 있는「완료 스테이터스(상태)」를 확인하여 복구 처리를 실행 하십시오. ⑤ 전용 명령-CLOSE 명령을 사용하여 클로즈 처리를 시작합니다.(오픈 요구 신호:OFF) ⑥ 클로즈 처리를 실행합니다. ⑦ 오픈 완료 신호가 OFF합니다. 2 - 18 2.3.2 Passive 오픈/클로즈 처리 Passive 오픈은 TCP/IP통신을 하는 커넥션의 상대 기기로부터의 오픈 요구(Active 오픈에 의한 접속 요구)를 수신 대기하는 상태가 됩니다. Passive 오픈에는 Unpassive 오픈과 Fullpassive 오픈이 있습니다. 2가지 모두 TCP커넥션의 수동 오픈 처리입니다. 오픈 방식 Unpassive Fullpassive 내 용 네트워크에 접속되어 있는 모든 기기를 대상으로 자국 소스의 오픈 요구(접속 요구)를 수신 대기합니다. 지정한 상대 기기를 대상으로 자국 소스의 오픈 요구(접속 요구)를 수신 대기합니다. GX Developer에 의한 동작 설정의 이니셜 타이밍 설정(「OPEN 대기로 하지 않는 다」,「상시 OPEN 대기」)의 설정값에 따라 Ethernet 모듈의 처리가 달라집니다. (1) 동작 설정에서「상시 OPEN 대기」를 설정한 경우 Ethernet 모듈의 시스템은 항상 커넥션을 오픈 대기 상태로 합니다. (오픈 처리 및 클로즈 처리에 대한 시퀀스 프로그램은 불필요합니다.) 전원 파라미터 투입 수신 완료 ① 오픈 상태 (*1) 오픈 가능 상태 (클로즈 중) (Active 오픈 수신 가능) 클로즈 상태 이니셜 정상 완료 X19 ④ 오픈 완료 신호 (어드레스:5000H) 오픈 요구 신호 (어드레스 :5002H) SYN+ACK ② SYN 번호 FIN+ACK ③ FIN 내 용 파라미터 교신 후에 Ethernet 모듈의 이니셜 처리의 정상 완료를 확인합니다. ① (이니셜 정상 완료 신호(X19):ON) 이니셜 처리가 정상 완료한 후에 커넥션은 오픈 가능 상태가 되고, 상대 기기로부터의 오픈 요구를 수신 대기 상태로 합니다. 상대 기기에서 오픈 요구(SYN)를 수신하면, Ethernet 모듈은 오픈 처리를 실행합니다. ② 오픈 처리가 정상 종료되면, 오픈 완료 신호(어드레스:5000H…b0)가 ON합니다. 데이터를 교신할 수 있는 상태가 됩니다. 상대 기기에서 클로즈 요구(FIN)를 수신하면, Ethernet 모듈은 클로즈 처리를 실행합니다. ③ 클로즈 처리가 완료되면, 오픈 완료 신호가 OFF합니다. 데이터를 교신할 수 없는 상태가 됩니다. ④ Ethernet 모듈의 클로즈 처리가 완료된 후에, 커넥션은 다시 오픈 가능한 상태가 됩니다. *1 이니셜 처리의 정상 완료 후부터 오픈 수신 가능 상태까지 수신한 오픈 요 구(SYN)는 에러가 되고, Ethernet 모듈은 커넥션의 강제 클로즈(RST)를 송신 합니다. 2 - 19 (2) 동작 설정에서「OPEN 대기로 하지 않는다」를 설정한 경우 시퀀스 프로그램으로 오픈 처리 및 클로즈 처리를 실행합니다. 커넥션의 오픈 처리가 정상 완료된 후에, 데이터의 송신/수신이 가능해 집니 다. 오픈 처리 및 클로즈 처리는 전용 명령을 사용하여 실행해 주십시오. << 전용 명령-OPEN 명령에 의한 커넥션No.1의 오픈 처리>> 지시 D0~D9에 컨트롤 데이터를 설정 ZP.OPEN M0 "U0" K1 D0 M0 M1 정상 완료 시의 처리 GX Developer 의「오픈 설정」에서 설정한 사용 용도를 사용할 때 (*1) ・컨트롤 데이터[D0]: H0 OPEN 명령의 컨트롤 데이터에서 사용 용도를 설정할 때 (*1) ・[D0] : H8000 ・[D1]~[D9]를 사용 용도에 맞게 설정 M1 이상 완료 시의 처리 << 전용 명령-CLOSE 명령에 의한 커넥션No.1의 클로즈 처리>> 지시 ZP.CLOSE M100 "U0" K1 D100 M100 M101 정상 완료 시의 처리 M101 이상 완료 시의 처리 *1「사용 용도」의 설정항목은 아래와 같습니다. 상세 내용은 Q대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편)을 참조하십시오. ㆍ고정 버퍼의 용도(송신용, 수신용) ㆍ교신 상대 생존확인(생존확인한다, 생존확인하지 않는다) ㆍ페어링 오픈(페어링 오픈한다, 페어링 오픈하지 않는다) ㆍ통신 방식(TCP/IP, UDP/IP) ㆍ고정 버퍼 교신의 순서 유무(수순, 무수순) ㆍ오픈 방법(Active 또는 UDP/IP, Unpassive, Fullpassive) 2 - 20 번호 ① ② 내 용 파라미터 교신후에 Ethernet 모듈의 이니셜 처리의 정상 완료를 확인합니다. (이니셜 정상 완료 신호(X19):ON) 전용 명령-OPEN 명령을 사용하여 오픈 처리를 시작합니다. (오픈 요구 신호(어드레스:5002H…b0):ON) 상대 기기에서 오픈 요구(SYN)를 수신하면, Ethernet 모듈은 오픈 처리를 실행합니다. ㆍ오픈 처리 정상 종료 시 ③ 오픈 완료 신호(어드레스:5000H…b0)가 ON합니다. 데이터를 교신할 수 있는 상태가 됩니다. ㆍ오픈 처리 이상 종료 시 OPEN 명령의 컨트롤 데이터에 저장되어 있는 「완료 스테이터스」를 확인하여 복구 처리를 실행하십시오. ④ ⑤ 상대 기기에서 클로즈 요구(FIN)를 수신하면, Ethernet 모듈은 클로즈 처리를 실행합니다. 클로즈 처리가 완료되면, 오픈 완료 신호가 OFF합니다. 데이터를 교신할 수 없는 상태가 됩니다. 전용 명령-CLOSE 명령을 사용하여 클로즈 처리를 시작합니다.(오픈 요구 신호:OFF) *1 이니셜 처리의 정상 완료 후부터 오픈 수신 가능 상태까지 수신한 오픈 요 구(SYN)는 에러가 되고 Ethernet 모듈은 커넥션의 강제 클로즈(RST)를 송 신합니다. *2 상기 그림은 상대 기기 측으로부터의 클로즈 요구에 대한 Ethernet 모듈 측의 클로즈 처리 타이밍을 기재한 것입니다. Ethernet 모듈 측에서 커넥션 끊기를 실행한 경우에는 시퀀스 프로그램에 서 클로즈 명령을 이용하여 클로즈 처리를 실행합니다. (FIN의 송신 처리, FIN+ACK의 수신 처리가 실행됩니다.) 2 - 21 2.3.3 UDP/IP오픈/클로즈 처리 UDP/IP로의 오픈 처리/클로즈 처리는 Ethernet 모듈의 내부 처리입니다. GX Developer에 의한 동작 설정의 이니셜 타이밍 설정(「상시 OPEN 대기」, 「OPEN 대기로 하지 않는다」)의 설정값에 따라, Ethernet 모듈의 처리가 달라집 니다. (1) 동작 설정에서 「상시 OPEN 대기」를 설정한 경우 Ethernet 모듈의 시스템은 항상 데이터를 송신/수신할 수 있는 상태가 됩니 다. (오픈 처리 및 클로즈 처리의 시퀀스 프로그램은 불필요합니다.) 비 고 「상시 OPEN 대기(STOP 중 교신 가능)」를 설정하여도, Ethernet 모듈 측에서 전용 명령-OPEN 명령, CLOSE 명령을 사용하여 오픈 처리, 클로즈 처리를 실행한 경우에 해당 커넥션의 이후의 오픈 처리, 클로즈 처리는 모든 시퀀스 프로그램 에서 실행할 필요가 있습니다. (「OPEN 대기로 하지 않는다(STOP 중 교신 불가능)」를 설정한 경우의 커넥션과 동일한 오픈 처리, 클로즈 처리가 필요해집니다.) (2) 동작 설정에서「OPEN 대기로 하지 않는다」를 설정한 경우(STOP 중 교신 불가능), 시퀀스 프로그램으로 오픈 처리 및 클로즈 처리를 실행합니다. 커넥션의 오픈 처리가 정상 완료된 후에, 데이터의 송신/수신이 가능해집니 다. 오픈 처리 및 클로즈 처리는 전용 명령을 사용하여 실행해 주십시오. << 전용 명령-OPEN 명령에 의한 커넥션No.1의 오픈 처리>> 지시 D0~D9에 컨트롤 데이터를 설정 ZP.OPEN M0 "U0" K1 D0 M0 M1 정상 완료 시의 처리 GX Developer 의「오픈 설정」에서 설정한 「사용 용도」를 사용할 때 (*1) ・컨트롤 데이터[D0]: H0 OPEN 명령의 컨트롤 데이터에서 「사용 용도」를 설정할 때 (*1) ・[D0] : H8000 ・[D1]~[D9]를 사용 용도에 맞게 설정 M1 이상 완료 시의 처리 << 전용 명령-CLOSE 명령에 의한 커넥션No.1의 클로즈 처리>> 지시 ZP.CLOSE M100 "U0" K1 D100 M100 M101 정상 완료 시의 처리 M101 이상 완료 시의 처리 *1「사용 용도」의 설정 항목은 2.3.1항을 참조하십시오. 상세 내용은 Q대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편)을 참조하십시오. 2 - 22 전원 투입 파라미터 교신 완료 오픈 상태 오픈 가능 상태 (클로즈 중) ① 클로즈 상태 이니셜 정상 완료 X19 ② OPEN 명령 1스캔 OPEN 명령 완료 디바이스 OPEN 명령 완료 디바이스+1 ⑤ CLOSE 명령 1스캔 CLOSE 명령 완료 디바이스 CLOSE 명령 완료 디바이스+1 ⑦ 오픈 완료 신호 (어드레스 : 5000H) ③ 번호 ① ② ③ 내부 처리 ④ ⑥ 내부 처리 내 용 파라미터 교신 후에 Ethernet 모듈의 이니셜 처리의 정상 완료를 확인합니다. (이니셜 정상 완료 신호(X19):ON) 전용 명령-OPEN 명령을 사용하여 오픈 처리를 시작합니다. (오픈 요구 신호(어드레스:5002H…b0):ON) Ethernet 모듈은 오픈 처리를 실행합니다(내부 처리에 한함). ㆍ오픈 처리 정상 종료 시 ④ 오픈 완료 신호(어드레스:5000H…b0)가 ON합니다. 데이터를 교신할 수 있는 상태가 됩니다. ㆍ오픈 처리 이상 종료 시 OPEN 명령의 컨트롤 데이터에 저장되어 있는 「완료 스테이터스」를 확인하여 복구 처리를 실행하십시오. ⑤ 전용 명령-CLOSE 명령을 사용하여 클로즈 처리를 시작합니다(오픈 요구 신호:OFF). ⑥ 클로즈 처리를 실행합니다.(내부 처리에 한함) ⑦ 오픈 완료 신호가 OFF합니다. 2 - 23 메 모 2 - 24 제3장 시스템 구성 3.1 적용 시스템 Ethernet 모듈은 아래의 시스템에서 사용할 수 있습니다. (1) 적용 모듈과 장착 가능 장수 Ethernet 모듈을 장착할 수 있는 CPU 모듈 및 리모트 I/O국과 장착 가능 장수 를 나타냅니다. 적용 모듈 장착 가능 장수 Q02CPU ・Q모드에만 장착 가능 Q02HCPU Q06HCPU 최대 4장 Q12HCPU CPU 모듈 비 고 ・MELSECNET/H용 모듈도 포함 하여 8장까지 장착 가능 (*1) Q25HCPU Q00JCPU Q00CPU 최대 1장 (*1) Q01CPU QJ72LP25-25 리모트 I/O국 QJ72LP25G 최대 4장 QJ72BR15 MELSECNET/H 리모트 I/O국 (*2)(*3) *1 사용하는 CPU 모듈의 사용자 매뉴얼(기능해설・프로그램 기초편)을 참조하십시오. *2 Q대응 MELSECNET/H 네트워크 시스템 레퍼런스 매뉴얼(리모트 I/O 네트워크편)을 참조하십시오. *3 기능버전B의 Ethernet 모듈을 사용하여 주십시오. (2) 장착 가능 베이스 모듈 Ethernet 모듈은 베이스 모듈의 임의의 I/O슬롯(*1)에 장착할 수 있습니다. *1 CPU 모듈, 리모트I/O국의 I/O점수 범위 내로 제한됩니다. (3) 적용 소프트웨어 패키지 다음은 Ethernet 모듈 대응 소프트웨어 패키지 일람입니다. (a) PLC용 소프트웨어 품 명 형 명 GX Developer SWnD5C-GPPW 비 고 MELSEC PLC 프로그래밍 소프트웨어. 형명중의 n 은 4 이상. (b) 상대기기용 통신 지원 툴 품 명 형 명 MX Component SWnD5C-ACT MX Links SWnD5F-CSKP 3 - 1 비 고 통신용 ActiveX 라이브러리. 형명중의 n은 0 이상. 통신용 DLL 라이브러리. 형명중의 n은 3 이상. 3.2 네트워크 구성 시에 필요한 기기 네트워크의 구성기기에 대하여 설명합니다. 네트워크의 설치 공사는 안전에 대해 충분한 대책이 필요하므로, 전문가에 의뢰하여 주십시오. 비 고 본 항에서는 QJ71E71-100을 사용하였을 경우에 대해 기재하고 있습니다. 그 밖의 모듈(QJ71E71, QJ71E71-B2)에 대해서는 Q대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편)을 참조하십시오. (1) QJ71E71-100으로 Ethernet 시스템을 구성하는 경우 QJ71E71-100을 네트워크에 접속하는 경우에는 10BASE-T 또는 100BASE-TX를 사 용할 수 있습니다. 10BASE-T와 100BASE-TX의 구별은 허브에 연결되어 있는 Ethernet 모듈이 담당 합니다. (a) 100BASE-TX에 의한 접속 허브 트위스트 페어 케이블 * 가스켓 접속은 최대 2단까지 상대 기기 Ethernet 모듈 IEEE802.3 100BASE-TX의 규격을 만족하는 기기를 사용하여 주십시오. (허브 이외의 기기에 대하여) ・ 실드 트위스트 페어 케이블(STP 케이블)(카테고리5) * 스트레이트 케이블 사용 가능 (Ethernet 모듈의 100BASE-TX에 의한 접속에서, 크로스 케이블을 사 용하여 상대기기와 접속하는 경우에는 동작을 보증할 수 없습니 다. 단, Ethernet 모듈(QJ71E71-100와 같은 사양)과의 데이터 교신 또 는 GOT와의 접속 시에는 크로스 케이블에 의한 접속이 가능합니 다.) ・ RJ45잭 ・ 100Mbps용 허브 3 - 2 (b) 10BASE-T에 의한 접속 허브 트위스트 페어 케이블 * 가스켓 접속은 최대 4단까지 상대 기기 Ethernet 모듈 IEEE802.3 10BASE-T의 규격을 만족하는 기기를 사용하여 주십시오. (허브 이외의 기기에 대하여) ・ 비실드 트위스트 페어 케이블(UTP 케이블)(카테고리3(4, 5)) * 스트레이트 케이블 사용 가능 (Ethernet 모듈의 10BASE-T에 의한 접속에서, 크로스 케이블을 사용 하여 상대기기와 접속한 경우에는 동작을 보증할 수 없습니다. 단, Ethernet 모듈(QJ71E71과 같은 사양, QJ71E71과 QJ71E71-100) 과의 데이터 교신 또는 GOT와의 접속 시에는 크로스 케이블에 의 한 접속이 가능합니다.) ・ RJ45잭 ・ 10Mbps용 허브 포인트 100BASE-TX 접속에 의한 고속 통신(100Mbps)에서는 설치 환경에 따라 PLC 이외 의 기기 등으로부터의 고주파 노이즈의 영향으로 통신 에러가 발생하는 경우가 있습니다. 다음은 네트워크 시스템 구축 시의 고주파 노이즈의 영향을 방지하기 위한 QJ71E71-100측의 대책입니다. (1) 배선 접속 ・ 트위스트 페어 케이블의 배선 시에는 주 회로나 동력선 등과 함께 묶거나 근접시키지 않는다. ・ 트위스트 페어 케이블을 덕트에 수납한다. (2) 통신 방식 ・ TCP/IP통신으로써 상대기기와 데이터 교신을 한다. ・ 필요에 따라 통신 리트라이(재시도)횟수를 늘린다. (3) 10Mbps통신 ・ QJ71E71-100의 접속 허브를 10Mbps 제품으로 변경하여, 데이터 전송 속도 를 10Mbps로 하여 교신한다. 3 - 3 메 모 3 - 4 제4장 Ethernet 모듈의 사양・운전까지의 설정과 순서 4.1 성능 사양 QE71E71-100의 성능 사양에 대해 설명합니다. 기타 Ethernet 모듈의 성능 사양에 대해서는 Q대응 Ethernet 모듈 사용자 매뉴 얼(기본편)을 참조하십시오. 사 양 항 목 100BASE-TX 데이터 전송 속도 10BASE-T 100Mbps 10Mbps 전송 방법 전송 사양 베이스핸드 노드간 최장 거리 ─ 허브와 노드간의 길이 최대 노드수/접속 100m 캐스케이드 접속 최대2단 캐스케이드 접속 최대4단 최소 노드 간격 동시 오픈 가능수 송수신 데이터 저장용 메모리 ─ 16커넥션(시퀀스 프로그램에서 사용할 수 있는 커넥션) 고정 버퍼 1k워드×16 랜덤 액세스용 버퍼 6k워드×1 전자 첨부 파일 6k워드×1(*1) 메일 본문 960워드×1(*1) 입출력 점유 점수 32점(I/O할당:인텔리전트) DC5V 내부 소비 전류 0.50A 노이즈 내량 Ethernet 모듈 장착국의 전원 모듈사양에 따름 내전압 절연 저항 외형 치수 98(H)×27.4(W)×90.5(D)[mm] 중량 0.11kg 데이터 첨부 파일 6k워드×1 사이즈 본문 960워드×1 데이터 전송 방법 송신 시:첨부 파일, 본문 중에 하나를 송신(선택) 수신 시:첨부 파일을 수신 Subject(건명) Us-ASCII 형식 또는 ISO-2022-JP(Base64) 첨부 파일 형식 MIME 형식 MIME 버전1.0 첨부 파일의 데이터 전자 메일 전송 사양 형식 첨부 파일의 분할 송수신 바이너리/ASCII/CSV 중에 선택 가능 파일명:XXXX.bin(바이너리), XXXX.asc(ASCII), XXXX.csv(CSV)(CSV:Comma Separated Value) 불가능(1파일만 송신/수신 가능) * 분할 파일을 수신한 경우에는, 최초의 파일만 수신하고 남아 있는 파일은 삭제된다. Subject 데이터 (*1) 송신시(인코드) 본 : Base64/7bit :7bit 첨부 파일 :Base64 Subject :(디코드하지 않음) 본 수신시(디코드) 문 문 첨부 파일 :(수신 불가능) :Base64/7bit/8bit/Quoted Printable * 상대기기에서 PLC측으로 전자 메일을 송신할 때, 첨부 파일의 엔코드 방식(Base64/7bit/ 8bit/Quoted Printable)을 지정한다. 암호화 없음 압축 없음 메일 서버와의 교신 SMTP(송신서버) 포트번호=25, POP3(수신서버) 포트번호=110 4 - 1 *1 PLC CPU에 의한 전자 메일의 송수신 기능과 랜덤 액세스용 버퍼에 의한 교신 기능은 병용할 수 없습니다. 한 가지의 기능만 사용할 수 있습니다.(Ethernet 모듈의 PLC CPU 감시 기능에 의한 전자 메일의 송신 기능과 랜덤 액세스용 버퍼에 의한 교신 기능은 병용할 수 있습니다.) 비 고 다음은 10BASE-T/100BASE-TX에 의한 접속의 전송 사양입니다. 허브 최대 100m(5m) 최대 100m 가스켓은 최대 4단(2단)까지 Ethernet 모듈 * ( )는 100BASE-TX에 의해 접속한 경우를 나타냅니다. 4 - 2 4.2 기능 일람 Ethernet 모듈의 기능 일람을 나타냅니다. (1) Ethernet 모듈의 기본 기능 Ethernet 모듈은 TCP/IP 및 UDP/IP통신에 의해 아래 표와 같이 교신할 수 있습니다. 기능 기능 개요 설명항 MC프로토콜에 QnA호환 3E 프레임 의한 교신 A호환 1E 프레임 고정 수순 Ethernet 모듈의 고정 버퍼를 사용하여, PLC CPU와 6장 무수순 상대기기 간에 임의 데이터의 송신/수신을 실행. 7장 버퍼에 의한 교신 랜덤 액세스용 버퍼에 의한 교신 상대기기에서 PLC CPU 데이터의 읽기/쓰기를 실행. MELSEC 커뮤니케이션 프로토콜 레퍼런스 복수의 상대기기에서 Ethernet 모듈의 랜덤 액세스용 Q대응 Ethernet 모듈 버퍼에 대해 데이터의 읽기/쓰기를 실행. 사용자 매뉴얼(기본편) 전자 메일을 사용하여 데이터를 송신/수신한다. 전자 메일에 의한 송신/수신 ・ PLC CPU에 의한 송신/수신 ・ PLC CPU감시 기능(자동통지기능)에 의한 송신 데이터링크용 명령에 의한 교신 데이터링크용 명령을 사용하여, Ethernet경유로 타국 PLC CPU 데이터의 읽기/쓰기를 실행. Q대응 Ethernet 모듈 사용자 매뉴얼(응용편) 상대기기에서 FTP커맨드를 사용하여 파일 단위의 파일 전송(FTP서버 기능) 읽기/쓰기를 실행. 시판하는 Web브라우저에서 인터넷 경유로 PLC CPU Web기능에 의한 교신 데이터의 읽기/쓰기를 실행. Q대응 Ethernet 모듈 사용자 매뉴얼 (Web기능편) (2) Ethernet 모듈의 부가 기능 아래 표에 나타낸 Ethernet 모듈의 부가 기능을 사용할 수 있습니다. 기능 기능 개요 설명항 Ethernet과 MELSECNET/H, MELSECNET/10이 혼재하는 MELSECNET/H, MELSECNET/10 중계 네트워크 시스템 또는 Ethernet를 복수로 중계하는 Q대응 Ethernet 모듈 교신 네트워크 시스템에서, 이들 네트워크를 복수로 경유하 사용자 매뉴얼(응용편) 여 데이터 교신을 실행한다. 라우터 중계 교신(라우터 중계 기능) 상대기기의 생존 체크 페어링 오픈에 의한 교신 라우터 및 게이트웨이를 중계로 하여 데이터 교신을 한다.(라우터 중계 기능은 Ethernet 모듈이 라우터로 8장 써 동작하는 기능에는 없다.) 커넥션을 접속(오픈 처리)한 후에, 상대기기가 정상적 으로 동작하고 있는지를 체크한다. 수신용 커넥션과 송신용 커넥션을 1개의 페어로 하여 오픈한다.(고정 버퍼 교신용) Ethernet 모듈의 장착국을 기동한 후에 교신이 가능 자동 오픈 UDP포트로의 교신 리모트 패스워드 체크 해진다.(시퀀스 프로그램에 의한 오픈, 클로즈 처리가 Q대응 Ethernet 모듈 불필요) 사용자 매뉴얼(기본편) 원격지의 사용자가 QCPU에 부정 액세스하는 것을 방 지한다. UDP/IP에 의한 데이터 교신에서, Ethernet 모듈과 같 일제동보(동시 전송) 통신 은 Ethernet상의 모든 상대기기에 대해서 데이터의 송신/수신을 실행(일제동보). 4 - 3 (3) Ethernet 모듈의 상태 체크 Ethernet 모듈이 정상적으로 동작하고 정상적으로 교신할 수 있는지를 체크합니다. 기능 자기진단 테스트 하드웨어 테스트 교신 에러의 저장 기능 개요 Ethernet 모듈의 송수신 기능, 회선 접속 상태를 체크 한다. Ethernet 모듈의 RAM 및 ROM을 테스트한다. 데이터 교신 에러 발생 시에, 전문(스테이트먼트)의 서브 헤더(머리글), 상대기기의 IP 어드레스 등을 포 함한 에러 정보(에러 이력 정보)를 최대16조분 버퍼 메모리에 저장한다. 4 - 4 설명항 4.7.1항 4.7.2항 Q대응 Ethernet 모듈 사용자 매뉴얼(기본편) 4.3 운전까지의 설정과 순서 Ethernet 모듈의 설정과 조작의 순서를 나타냅니다. 운전까지의 순서 Ethernet 모듈을 베이스 모듈에 장착한다. Ethernet 모듈을 Ethernet 네트워크에 접속한다. GX Developer와 QCPU를 케이블 접속한다. GX Developer에 의해 Ethernet 모듈용 네트워크 파라미터를 설정한다. GX Developer에 의해 자기진단 테스트를 실행한다. GX Developer에 의해 운전 모드를「온 라인」으로 설정한다. 상대 기기로부터「PING」커맨드를 송신하여, Ethernet 모듈의 이니셜 처리의 완료를 확정한다. 진단 테스트를 실행한다. 각각의 교신용 프로그램을 작성한다. 운 전 ・ ・ 2.3항 참조 포인트 GX Developer에서 파라미터 설정을 추가/변경한 경우에, 추가/변경한 파라 미터로써 Ethernet 모듈을 운전하고자 하는 경우에는, PLC CPU에 파라미터를 쓰고 나서 PLC CPU를 리셋하십시오. 4 - 5 중 요 (1) 모듈의 버퍼 메모리의 「시스템 영역」에 데이터를 쓰지 마십시오. (2) 출력 신호 중에 「사용 금지」의 신호를 출력(ON)하지 마십시오. (3) Ethernet 모듈을 교환한 경우에는, 상대기기도 리셋하십시오(상대기기가 교신 상대 MAC 어드레스를 유지하고 있는 경우에 Ethernet 모듈을 교환하면 MAC 어드레스가 바뀌므로, 계속 교신할 수 없게 되는 경우가 있습니다.). 마찬가지로, 상대기기(PC 등)를 교환한 경우도 Ethernet 모듈을 재기동해 주십시오. 4 - 6 4.4 각 부의 명칭 Ethernet 모듈의 각 부의 명칭을 나타냅니다. QJ71E71-100 RUN INIT. OPEN SD ERR. COM.ERR 100M RD ① 명 칭 내 용 ① 표시LED (1) 표시LED의 표시 내용 참조 Ethernet 모듈을 10BASE-T/100BASE-TX에 접속하기 위한 ② 10BASE-T/100BASE-TX 커넥터. 접속 커넥터 (10BASE-T와 100BASE-TX는 허브(상대기기)에 맞추어 Ethernet 모듈이 구별합니다.) 10BASE-T/100BASE-TX Ethernet 모듈을 베이스 모듈에 바르게 장착하기 위한 ③ 모듈 장착용 레버 가이드. ② QJ71E71-100 ③ (1) 표시LED의 표시 내용(*1) LED명칭 표시 내용 점등 시 소등 시 RUN 정상 운전 표시 정상 이상 INIT 이니셜 처리 상태 표시 정상 완료 미처리 OPEN 오픈 처리 상태 표시 오픈 정상 완료 커넥션 오픈 정상 완료 커넥션 있음 없음 데이터 송신 중 데이터 미송신 SD 데이터 송신 표시 ERR. 설정 이상 표시 이상 정상 설정 COM.ERR 교신 이상 표시 교신 이상 발생 정상 교신 중 100M 전송 속도 표시 100Mbps 10Mbps/미접속 시 데이터 수신 상태 표시 데이터 수신 중 데이터 미수신 RD *1 이상 표시의 원인, 처리에 대해서는 부록4.1항을 참조하십시오. 4 - 7 4.5 네트워크로의 접속 Ethernet 모듈을 10BASE-T/100BASE-TX의 네트워크에 접속하는 방법에 대해 설명 합니다. <조작 순서> (순서1) 트위스트 페어 케이블을 허브에 접속합니다. 1대1로 접속하는 경우는 상대기기의 접속 커넥터에 접속합니다. (순서2) 아래와 같이 트위스트 페어 케이블을 Ethernet 모듈에 접속합니다. QJ71E71-100 트위스트 페어 케이블 포인트 10BASE-T와 100BASE-TX는 허브(상대기기)에 연결된 Ethernet 모듈이 판별합 니다. 4 - 8 4.6 GX Developer에서의 설정 Ethernet 모듈을 사용하기 위해서는 미리 GX Developer로써 파라미터를 설정할 필요가 있습니다. 본 교재의 각 과제에 있는 파라미터의 설정은 각 과제(5~8장)의 파라미터 설정을 참조하십시오. 또한, 각 화면의 상세 내용은 GX Developer 오퍼레이팅 매뉴얼 및 Q대응 Ethernet 모듈 사용자 매뉴얼을 참조하십시오. 본 교재에 따라 파라미터를 설정하려면 GX Developer Version7 이후의 제품이 필 요합니다(본 교재에서는 GX Developer Version7을 사용하여 설명하고 있습니다.). (1) 멀티 CPU 설정 멀티 CPU를 구성하기 위한 CPU 장수, 동작 모드, 리프레시 등을 설정합니다. 멀티 CPU 시스템에서는 반드시 설정하십시오. 멀티 CPU 설정 화면을 나타내는 데까지의 조작에 대해서는 5.2.1항을 참조 하십시오. 비 고 본 교재에서 사용하는 실습기에는 멀티 CPU를 구성하기 위해 2장의 CPU가 장착되어 있는 바, PLC 파라미터의 멀티 CPU 설정이 필요합니다. 멀티 CPU 시스템에 관한 설정에 있어 본 교재에서는, 하기 이외의 파라미터(관리 CPU의 설정 등)는 디폴트 값을 그대로 사용하고 있습니다. 항목명 설정 내용 CPU 장수 멀티 CPU 시스템 사용 시의 CPU 장수를 설정합니다. 동작 모드 PLC 정지 에러 시의 동작(정지)을 설정합니다. 그룹 이외의 입력/출력 상태 페치(수신)할 지의 여부를 설정합니다. 그룹 이외의 입력 설정 *1 그룹분을 실행하지 경우는, 모두 1호기가 관리합니다. 그룹 이외의 모듈에 대하여 액세스한 경우, OPERATION ERROR가 발생합니다. 리프레시 설정 *1 멀티 CPU 간의 CPU 공유 메모리G를 설정합니다. 멀티 파라미터 유용 버튼 *1 유용할 프로젝트를 지정하고 멀티 파라미터를 읽습니다. *1 본 교재에서는 사용하지 않습니다. 4 - 9 (2) 네트워크 파라미터 MNET/10H Ethernet 장수 설정 Ethernet 모듈을 네트워크 모듈로써 사용하기 위한 설정을 실행합니다. Ethernet 모듈을 사용하기 위한 「동작 설정」, 「이니셜 설정」 등을 설정할 때의 메인 화면입니다. 항목명 설정 내용 네트워크 종류 Ethernet를 설정합니다. 선두I/O No. Ethernet 모듈의 선두 입출력번호를 설정합니다. Ethernet 모듈의 MELSECNET/H, MELSECNET/10용 네트 네트워크No. 워크번호를 설정합니다. Ethernet 모듈의 MELSECNET/H, MELSECNET/10용 그룹 그룹No. 번호를 설정합니다. Ethernet 모듈의 MELSECNET/H, MELSECNET/10용 국 국번 번호를 설정합니다. 모드 Ethernet 모듈의 운전 모드를 설정합니다. 교신 데이터 코드, Ethernet 모듈의 IP 어드레스 등 동작 설정 을 설정합니다. TCP/IP통신용 공통 타이머값 및 전자 메일 기능을 이니셜 설정 *1 사용하기 위한 DNS서버에 대해 설정합니다. 상대기기와 데이터 교신하기 위한 커넥션의 오픈 오픈 설정 처리나 고정 버퍼 교신용 버퍼 메모리의 용도에 관 하여 설정합니다. 라우터를 경유하여 다른 Ethernet상의 상대기기와 루틴 정보 데이터 교신하는 경우에 설정합니다. Ethernet이나 MELSECNET/H, MELSECNET/10을 경유하 MNET/10 루틴 정보 *1 여 다른 국 PLC CPU와 교신하기 위한 설정을 실행합 니다. 파일 전송(FTP) 기능을 사용하는 경우에 사용합니 FTP 파라미터 *1 다. 전자 메일 설정 *1 전자 메일을 송신/수신하는 경우에 설정합니다. 인터럽트 설정 *1 인터럽트 프로그램을 실행하는 경우에 설정합니다. *1 본 교재에서는 사용하지 않습니다. 4 - 10 (a) 동작 설정 송신, 수신할 데이터 코드, 오픈 처리할 타이밍, 자국 Ethernet 모듈의 IP 어드레스를 설정합니다. 항목명 설정 내용 바이너리 코드로 교신할지, ASCII 코드로 교신할지 를 설정합니다. 교신 데이터 코드 MC프로토콜 교신에서 자동 오픈 UDP 포트를 사용하 고, 고정 버퍼 교신의 무수순을 사용하는 경우에는, 설정에 관계없이 바이너리 코드로 교신합니다. 이니셜 타이밍 설정 커넥션의 오픈 타이밍을 설정합니다. IP 어드레스 자국의 IP 어드레스를 설정합니다. Ethernet 모듈이 송신할 프레임을 설정합니다. 송신 프레임 설정 본 교재에서는 「Ethernet(V2.0)」만 사용합니다. MC프로토콜에 의한 교신에서, PLC CPU가 RUN 중에 RUN 중 쓰기의 허가 상대기기로부터의 데이터 쓰기를 허가/금지로 할 것인지를 선택합니다. 포인트 동작 설정은 Ethernet 모듈 측의 사용자용 각 커넥션 공통 설정 항목입니다. 4 - 11 (b) 오픈 설정 데이터 교신할 때의 프로토콜이나 오픈 방식을 설정합니다. 항목명 설정 내용 프로토콜 통신 방식(TCP, UDP)을 선택합니다. 프로토콜로써 TCP를 설정할 때의 오픈 방식 (Active, Unpassive, Fullpassive)을 오픈 방식 선택합니다. 또한, MELSOFT 접속(MELSOFT 제품과의 접속용) 방법을 선택합니다. 고정 버퍼 고정 버퍼를 송신용으로써 사용할 지, 수신용으로써 사용할 지를 선택합니다. 고정 버퍼 교신 순서 「수순」, 「무수순」을 선택합니다. 페어링 오픈 페어링 오픈을 실행할 지의 여부를 선택합니다. 생존 확인 상대기기의 생존 확인을 실행할 것인지를 선택합니다. 자국 포트번호(*1) 데이터 교신에서 사용할 자국의 포트번호를 16진수로 설정합니다. 교신 상대 IP 어드레스(*1) 데이터 교신할 상대기기의 IP 어드레스를 설정합니다. 교신 상대 포트번호(*1) 데이터 교신할 상대기기의 포트번호를 설정합니다. 오픈에 관한 상세 사항은 2.3항을 참조하십시오. *1 「프로토콜」, 「오픈 방식」의 설정값에 따라 다음과 같이 설정하십시오. 프로토콜 TCP(Active) 오픈 방식 상대기기의 ARP 기능 TCP(Passive) Unpassive 있음 설정 항목 UDP MELSOFT Fullpassive 상대기기의 ARP 기능 접속 없음 있음 없음 자국 포트번호 ○ ○ ○ ○ × ○ ○ 교신 상대IP 어드레스 ○ ○ × ○ × ○ ○ 교신 상대 포트번호 ○ ○ × ○ × ○ ○ ○:설정 필요 ×:설정 불필요 포인트 (1) 화면 오른쪽의 값(1~16)은 Ethernet 모듈 측의 커넥션번호에 대응 합니다. (2) 사용할 모든 커넥션에 대하여 오픈 설정을 실행하십시오. (3) ARP 기능이 없는 기기와 교신할 때에는, OPEN 명령(전용 명령)을 사용하여 오픈 처리하십시오.(상대기기의 MAC 어드레스를 OPEN 명령의 컨트롤 데이터에 설정하여 오픈 처리를 실행합니다.(부5.2항 참조)) 4 - 12 (c) 루틴 정보 라우터 경유로 상대기기와 교신하는 경우에 설정합니다. 과제4에서는 루틴 정보를 사용합니다. 상세 내용은 제8장을 참조하십시오. 항목명 설정 내용 라우터 중계 기능을 사용할 것인지의 여부를 선택 라우터 중계 기능 합니다. 서브 네트워크 마스크 패턴 네트워크의 서브 네트워크 마스크를 설정합니다. 타 Ethernet상의 상대기기와 데이터 교신할 때의 디폴트 라우터IP 어드레스 기본 경로가 되는 라우터(디폴트 라우터라고 부릅 니다.)의 IP 어드레스를 설정합니다. 각 설정 항목의 입력 형식(10진수/16진수)을 선택 입력 형식 합니다. 디폴트 라우터 이외를 경유하여 다른 Ethernet상의 서브 네트워크 어드레스 상대기기와 교신할 때의 상대국의 네트워크 어드레 스 또는 서브 네트워크 어드레스를 설정합니다. 디폴트 라우터 이외를 경유하여 다른 Ethernet상의 라우터 IP 어드레스 상대기기와 교신할 때에 경유할 라우터의 IP 어드레 스를 설정합니다. 교신 상대 2 교신 상대1 Ethernet1 Ethernet2 라우터1 라우터 2 자국Ethernet Ethernet3 디폴트 라우 터 Ethernet 모듈 (자국) Ethernet4 교신 상대 4 교신 상대 3 Ethernet 모듈은 송신 시,직접 상 대국에 송 신하는 것 은 아니고 , 루틴 정보 에 따라 지 정 라우터 에 일단 데이 터를 보냅 니다. 라우터는 보 내 온 데이터 를 상대국 으로 다시 보 냅니다 . 4 - 13 4.7 자기진단 테스트 4.7.1 자기진단 테스트 자기진단 테스트는 Ethernet 모듈이 자국 소스에 테스트 전문을 송신하고, 정확 하게 수신할 수 있는지를 확인하는 테스트입니다. (1) 실습기의 시스템 구성 다음은 실습기 시스템의 구성 내용입니다. Q64 QX QE71E QY Q64 DA Q61P QCPU 71-100 42P QCPU* 42 AD (2호기)(64점) (64점) (16점) (16점) (32점) -A1 (1호기) (전원) X0 Y40 X80 Y80 X90 Y90 XA0 YA0 X3F Y7F *본 텍스트에 의한 실습 에서는 STOP 상태로 둡니다. X8F Y8F X9F Y9F XBF YBF PC GX Developer 허브 (2) 파라미터 설정 자기진단 테스트를 실행한 경우, GX Developer에서 파라미터를 설정할 필요가 있습니다. 다음은 파라미터를 설정하기까지의 조작 순서입니다. ① 5.2.1항을 참조하여, 프로젝트를 기동한 후에, 멀티 CPU 설정을 실행합니다. ② 프로젝트 데이터 일람에서「네트워크 파라미터」 를 더블 클릭합니다. ③ 네트워크 파라미터 선택 대화상자가 표시되면, MELSECNET/Ethernet 버튼을 클릭합니다. 다음 쪽에서 계속 4 - 14 이전 쪽에서 계속 ③ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면이 표시됩니다. ④ 아래의 내용을 설정합니다. 네트워크 종류 :Ethernet 선두I/O번호 :00A0 (Ethernet 모듈의 선두 입출력 신호) 네트워크No. :1~239(임의) 그룹No. :0~32(임의) 국번 :1~64(임의) 모드 :자기진단 테스트 ⑤ 동작 설정 버튼을 클릭하면, Ethernet 동작 설정 대화상자가 표시됩니다. ⑨ 종료 버튼을 클릭하면, Ethernet 동작 설정 대화상자가 열립니다. 자기진단 테스트의 설정 내용은 임의로 설정합니다. (본 교재에서는 디폴트값을 사용합니 다.) ⑩ 종료 버튼을 클릭하면, 네트워크 파라미 터 MNET/10H Ethernet 장수 설정 화면이 열립니다. 이를 설정하면 자기진단 테스트의 파라 미터 설정이 완료됩니다. 설정이 완료되면, 설정 내용을 PLC CPU에 씁니다. 4 - 15 (3) 파라미터 쓰기 설정한 파라미터를 PLC CPU에 씁니다. 접속 상대 지정에 대해서는 5.2.3항을 참조하십시오. 파라미터 쓰기 조작에 대해서는 5.2.4항을 참조하십시오. (4) 자기진단 테스트 실행 자기진단 테스트를 실행하기 전에, Ethernet 모듈과 허브를 트위스트 페어 케이블로 접속하십시오. MODE RUN ERR. USER BAT. BOOT ① PLC CPU 커버를 열고, RESET/L.CLS 스위치를 RESET측으로 돌렸다가 본래의 위치로 되돌려 놓습니다. (STOP/RUN 스위치는 STOP측으로 합니다.) RESET L CLR ON SW 1 2 3 4 5 RESET L CLR STOP RUN RESET L CLR USB RESET L CLR RS-232 ② Ethernet 모듈의「RUN」과「OPEN」표시LED가 5초 간 점등한 후에 LED 상태를 확인합니다. QJ71E71-100 RUN INIT OPEN SD ERR. COM.ERR 100M RD ・ 「RUN」LED만 점등한 경우 Ethernet 모듈은 정상입니다. 5초 후 ・ 「RUN」LED, 「ERR.」LED가 점등한 경우 QJ71E71-100 RUN INIT OPEN SD QJ71E71-100 ERR. COM.ERR 100M RD 모듈 정상 RUN INIT OPEN SD ERR. COM.ERR 100M RD 모듈 이상 4 - 16 Ethernet 모듈의 하드웨어 이상입니다. Ethernet 모듈의 버퍼 메모리(E5H) 에러 코드를 확인하여 대응 하십시오. 에러 코드의 내용은 Q대응 Ethernet 모듈 사용 자 매뉴얼(기본편)을 참조하십시오. 4.7.2 하드웨어 테스트 하드웨어 테스트는 Ethernet 모듈의 RAM 및 ROM에 이상이 있는지를 확인하는 테 스트입니다. 하드웨어 테스트의 조작순서는 자기진단 테스트와 같습니다. 단, 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면의 「모드」를 「H/W 테 스트」로 설정하십시오. (1) 테스트 결과 모듈 이상이 발생한 경우 Ethernet 모듈의 RAM 또는 ROM 이상입니다. Ethernet 모듈의 버퍼 메모리(E5H) 에러 코드를 확인하여 처리하십시오. 에러 코드의 내용은 Q대응 Ethernet 모듈 사용자 매뉴얼(기본편)을 참조하십시 오. 4 - 17 4.8 모듈의 착탈 Ethernet 모듈의 착탈 순서에 대해 설명합니다. (1) Ethernet 모듈 교환 시의 조작 순서 (순서1) Ethernet 모듈 장착국의 전원을 OFF한다. (순서2) 네트워크 케이블 및 Ethernet 모듈을 빼낸다. (순서3)「4.3 운전까지의 설정과 순서」에 따라서 Ethernet 모듈을 기동한다. (순서4) 상대기기를 리셋한다. 포인트 Ethernet 모듈을 교환하는 경우에는 상대 기기도 리셋하십시오. 상대기기가 교신 상대 Ethernet 어드레스를 유지하고 있는 경우, Ethernet 모듈의 교환으로 Ethernet 어드레스가 바뀜에 따라 계속 교신할 수 없는 경우가 있습니다. 마찬가지로, 상대기기(PC 등)를 교환한 경우에도 Ethernet 모듈을 다시 기동 하십시오. (2) QCPU 교환 시의 조작 순서 (순서1) GX Developer를 사용하여 PLC CPU에서 Ethernet 모듈용 파라미터를 읽고 저장한다. (*1) (순서2) QCPU를 교환한다(QCPU 사용자 매뉴얼 참조). (순서3) GX Developer에 저장된 Ethernet 모듈용 파라미터를 QCPU에 쓴다. (순서4) 상대기기를 리셋한다. *1 CPU 교환 시에 Ethernet 모듈용 파라미터를 작성ㆍ변경한 경우에는, 파라미터를 기록ㆍ저장해 놓을 것을 추천합니다. 4 - 18 ````제5장 과제1(PC-PLC CPU간 MC프로토콜 교신) 본 과제에서는 MC프로토콜에 의한 교신 기능에 대해 실습합니다. 상대기기인 PC는 MX Component를 사용하여 PLC CPU의 정보를 읽습니다. 5.1 실습 시스템 구성 다음은 과제1에서 실습할 시스템 구성입니다. Ethernet상에는 10대의 기기가 접속되어 있으나, 과제1에서는 이들 중 실습기No. 가 동일한 기기 간에서만 교신합니다. (1) 모듈 구성 <실습기No.1> <PC1> <PLC A1> Ethernet 모듈 IP 어드레스 네트워크No. 그룹No. 국번 (QJ71E71-100) :192.168.1.101 Q61P Q02H :1 -A1 CPU :0 :11 QX QY Q64 Q64 42 42P AD DA IP 어드레스 네트워크No. 그룹No. 국번 :192.168.1.1 :1 :0 :1 IP 어드레스 네트워크No. 그룹No. 국번 :192.168.1.2 :1 :0 :2 IP 어드레스 네트워크No. 그룹No. 국번 :192.168.1.3 :1 :0 :3 <실습기No.2> <PC2> <PLC A2> (QJ71E71-100) Ethernet 모듈 192.168.1.102 IP 어드레스 : :1 Q61P Q02H QX QY Q64 Q64 :0 네트워크No. -A1 CPU 42 42P AD DA :12 그룹No. 국번 <실습기No.3> <PC3> <PLC A3> Ethernet 모듈 IP 어드레스 네트워크No. 그룹No. 국번 (QJ71E71-100) :192.168.1.103 Q61P Q02H :1 -A1 CPU :0 :13 QX QY Q64 Q64 42 42P AD DA <실습기No.4> <PC4> IP 어드레스 네트워크No. 그룹No. 국번 <PLC A4> Ethernet 모듈 IP 어드레스 네트워크No. 그룹No. 국번 (QJ71E71-100) :192.168.1.104 Q61P Q02H :1 -A1 CPU :0 :14 QX QY Q64 Q64 42 42P AD DA :192.168.1.4 :1 :0 :4 <실습기No.5> <PC5> IP 어드레스 네트워크No. 그룹No. 국번 <PLC A5> Ethernet 모듈 IP 어드레스 네트워크No. 그룹No. 국번 (QJ71E71-100) :192.168.1.105 Q61P Q02H :1 -A1 CPU :0 :15 QX QY Q64 Q64 42 42P AD DA Ethernet 5 - 1 :192.168.1.5 :1 :0 :5 (2) I/O 할당 5 - 2 (3) 실습 내용 MX Component의 프로그램을 사용하여 디바이스의 모니터, 쓰기를 실행 합니다. <디바이스 읽기 (5.4항)> <디바이스 쓰기 (5.5항)> (커넥션1을 사용) 읽기 쓰기 PLC CPU 5 - 3 5.2 파라미터 설정 및 PC TCP/IP 설정 PC와 교신하기 전에 PLC CPU 측의 Ethernet 모듈의 파라미터를 GX Developer로써 설정합니다. 또한, MX Component가 인스톨되어 있는 PC의 TCP/IP를 설정합니다. 설정 내용은 5.1항의 내용과 동일합니다. 5.2.1 GX Developer의 기동과 멀티 CPU 설정 PLC CPU 측의 멀티 CPU 설정, Ethernet 파라미터 설정을 실행하기 위해 GX Developer를 기동합니다. ① [시작]→[프로그램]→[MELSOFT 어플리케이션]→ [GX Developer]를 클릭합니다. ② GX Developer가 기동되면, [프로젝트]→[프로젝트 새로 만들기] 메뉴를 클릭합니다. ③ 본 실습에서는 Q02HCPU를 사용하므로, 「PLC 시리즈」를 “QCPU(Q모드)”, 「PLC 유형」을 “Q02(H)”로 설정하고, 확인 버튼을 클릭합니다. 다음 쪽에 계속 5 - 4 이전 쪽에서 계속 ④ 프로젝트 데이터 일람에서「PLC 파라미터」를 더 블 클릭합니다. ⑤ Qn(H) 파라미터 설정 대화상자가 표시되면, 멀티 CPU 설정 버튼을 클릭합니다. ⑥ 멀티 CPU 설정 대화상자가 표시됩니다. ⑦「CPU 장수」를 “2장”으로 설정하고, 종료 버튼을 클릭합니다. ⑧ Qn(H) 파라미터 설정 대화상자의 종료 버튼을 클릭합니다. 5 - 5 5.2.2 네트워크 파라미터 MNET/10H Ethernet 장수 설정 Ethernet에 접속하기 위해 Ethernet 파라미터를 설정합니다. ① 프로젝트 데이터 일람에서「네트워크 파라미터」 를 더블 클릭합니다. ② 네트워크 파라미터 선택 대화상자가 표시되면, MELSECNET/Ethernet 버튼을 클릭합니다. ③ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면이 표시됩니다. ④ 아래의 내용을 설정합니다. 네트워크 종류 :Ethernet 선두I/O번호 :00A0 네트워크No. :1 그룹No. :0 국번 :각 실습기의 국번을 설정 (11~15) 모드 :온라인 ⑤ 동작 설정 버튼을 클릭하면, Ethernet 동작 설정 대화상자가 나타납니다. 다음 쪽에 계속 5 - 6 이전 쪽에서 계속 ⑥ 아래의 내용을 설정한 후에, 종료 버튼을 클릭 하여, Ethernet 동작 설정 대화상자를 엽니다. (192.168.1.101~192.168.1.105를 설정합니다.) 교신 데이터 코드 설정 :바이너리 코드 교신 이니셜 타이밍 설정 :OPEN을 기다리지 않음 IP 어드레스 설정 :각 실습기의 IP 어드레 스를 설정 (192.168.1.101~ 192.168.1.105) 송신 프레임 설정 :Ethernet(V2.0) RUN 중 쓰기 설정 :허가 ⑦ 오픈 설정 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 나타냅니다. ⑧ 아래의 내용을 설정합니다. 프로토콜 :TCP 오픈 방식 :MELSOFT 연결 MELSOFT 연결을 지정하면, 다른 MELSOFT 제품에서 동시에 PLC CPU로 액세스할 수 있습니다. ⑨ 종료 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 엽니다. ⑩ 종료 버튼을 클릭하여, 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면을 엽니다. 다음 쪽에 계속 5 - 7 이전 쪽에서 계속 ⑪ 버튼을 클릭합니다. (프로젝트 저장) ⑫ 드라이브/경로, 프로젝트 이름을 설정하고, 저장 버튼을 클릭합니다. 드라이브/경로명:A:₩Q-E71 프로젝트 이름 :EX1-A 는 실습기No. 예. 실습기No.1의 경우 EX1-A1 5 - 8 5.2.3 연결 대상 지정 PLC CPU에 파라미터를 쓰기 위해, 연결 상대를 지정합니다. ① [온라인]→[연결 대상 지정]메뉴를 클릭합니다. ② 연결 대상 지정 화면에서 다음 설정을 확인합니 다. 「PC측 I/F」 :“시리얼 USB” 「PLC측 I/F」 :“CPU 모듈” 「타국 지정」 :“지정 내용 없음” 「통신 테스트」를 클릭하면, 접속 상태나 전송 사양의 설정에 문제가 있는지를 확인할 수 있습 니다. 필요에 따라 테스트하십시오. ③ 확인 버튼을 클릭합니다. 이것으로 연결 상대 지정이 완료됩니다. 5 - 9 5.2.4 파라미터 쓰기 설정한 Ethernet 파라미터를 PLC CPU에 씁니다. ① 을 클릭합니다. (PLC 쓰기) ② PLC 쓰기 화면에서 파라미터+프로그램 버튼을 클릭하면, 프로그램의「MAIN」과 파라미터의 「PLC/네트워크」가 체크됩니다. ③ 실행 버튼을 클릭하여, 파라미터를 씁니다. ④ 쓰기가 완료되어 왼쪽 화면이 표시되면, 확인 버튼을 클릭합니다. ⑤ 닫기버튼을 클릭하여, PLC 쓰기 대화상자를 닫습 니다. 쓰여진 파라미터가 유효해지도록 PLC CPU를 리셋 합니다. 이로써 파라미터의 쓰기가 완료됩니다. 5 - 10 5.2.5 PC의 TCP/IP 설정 PC의 TCP/IP를 설정합니다. 본 교재에서는 Microsoft R Windows R 98 Operating System 환경에서 동작하는 PC를 사용하여 설명합니다. ① [시작]→[설정]→[제어판]을 클릭합니다. ② 제어판이 표시되면,「네트워크 연결」을 선택합 니다. ③“네트워크”대화상자가 표시되면,“인터넷 프로 토콜(TCP/IP)”을 선택하고 속성버튼을 클릭합니 다. 다음 쪽에 계속 5 - 11 이전 쪽에서 계속 ④“IP 어드레스”탭을 선택하고, 아래의 내용을 설 정합니다. IP 주소 :각 PC의 IP 어드레스 (192.168.1.1~192.168.1.5) 서브넷 마스크 :255.255.255.0(클래스C) ⑤“기본 게이트웨이”를 클릭하여, 라우터의 PC 측 IP 어드레스를 설정합니다. 기본 게이트웨이 :라우터의 IP 어드레스 (192.168.1.254) ⑥ 확인 버튼을 클릭하여, 화면을 닫습니다. ⑦ 5 - 12 닫기 버튼을 클릭하여“네트워크”대화상자를 닫 습니다. 5.3 MX Component의 조작 MX Component의 조작에 대해 설명합니다. 본 교재에서는 Visual Basic R 으로 어플리케이션을 작성하여, Ethernet 경유로 PLC CPU에 액세스합니다. 5.3.1 논리 국번 설정 논리 국번이라는 것은 통신 회선을 오픈시키기 위하여, 필요한 접속 상대 정보를 통신 설정 유틸리티를 사용하여 하나의 데이터로 합치고, 이 데이터에 논리적인 번호를 부여한 것을 말합니다. 먼저, PLC CPU에 액세스하기 위하여 논리 국번을 설정합니다. (예) Ethernet 통신 시 ① [시작]→[프로그램]→[MELSOFT Application]→ [MX Component]→[Communication Setup Utility] 를 클릭 합니다. ② 통신 설정 유틸리티가 기동합니다. 다음 쪽에 계속 5 - 13 이전 쪽에서 계속 ③ Wizard 버튼을 클릭합니다. ④ 왼쪽 화면이 표시되면, 「Logical station number」를 “1”로 설정하고, aNext 버튼을 클릭 합니다. ⑤ PC측을 아래와 같이 설정하고 설정이 끝나면, aNext 버튼을 클릭합니다. PC측 I/F :Ethernet 보드 접속 상대 모듈 타입 :QJ71E71 프로토콜 :TCP 네트워크No. :1 국번 :각 실습기의 국번을 설정(1~5) 타임아웃 :10000ms (응답 수신 감시용) ⑥ PLC측을 아래와 같이 설정하고 설정이 끝나면, aNext 버튼을 클릭합니다. PLC측 I/F :Ethernet Module 모듈 타입 :QJ71E71 호스트명 :각 실습기의 IP 어드레스를 설정 (192.168.1.101~192.168.1.105) 네트워크No. :(1) 국번 :각 실습기의 국번을 설정(11~15) 다음 쪽에 계속 5 - 14 이전 쪽에서 계속 ⑦ 통신 설정을 실행하고, 아래와 같이 설정되면, aNext 버튼을 클릭합니다. 국번 타입 :Host station CPU 타입 :Q02(H) 멀티 CPU 호기 :None ⑧ 코멘트는 본 교재에서는 설정하지 않으므로, aFinish 버튼을 클릭합니다. (논리 국번에 코멘트를 부가하는 경우에는, 여기 서 설정합니다.) ⑨ 설정이 완료되어 통신 설정 화면이 표시되면, 설 정 내용을 확인합니다. 5 - 15 5.3.2 통신 진단 통신 진단을 실행하여 논리 국번이 바르게 설정되어 있는지를 확인합니다. ① 「Connection test」탭을 클릭합니다. ② 통신 테스트 화면이 표시됩니다. 통신 테스트를 수행할 논리 국번(본 교재에서는 「 1」을 지정)을 설정합니다. aTest 버튼을 클릭하여, 통신 테스트를 실시합 니다. ③ PLC CPU와 정상적으로 교신되면, “통신 테스트가 완료되었습니다.”라고 표시합 니다. 또한, 테스트 결과를 “0x00000000”으로 나타냅 니다. 이상이 발생한 경우에는 표시된 에러 코드를 확인하십시오. 에러 코드는 부2.3항을 참조하십시오. ④ Exit 버튼을 클릭합니다. 5 - 16 5.4 Visual Basic 프로그램(디바이스 읽기) PLC CPU의 비트 디바이스 X0~X7(8점분)의 ON/OFF 상태 및 워드 디바이스 D0~D4 (5워드분)의 내용을 읽습니다. 5.4.1 Visual Basic 프로그램 프로젝트 파일명 Option Explicit '변수 선언 Const MonitorTime As Integer = 100 '디바이스 모니터 간격 정의 E71-1.VBP Private Sub cmdOpen_Click() Dim lRet As Long '반환값 lRet = ActEasyIF1.Open '통신 회선 오픈 If lRet = 0 Then txtStatus.Text = _ "통신 회선을 정상적으로 오픈하였습니다." cmdOpen.Enabled = False cmdClose.Enabled = True cmdMonitor.Enabled = True cmdEnd.Enabled = False Else txtStatus.Text = _ "에러 발생(에러 코드:" + Hex$(lRet) + ")" End If '정상 시의 메시지 '오픈 버튼이 무효하게 된다 '클로즈 버튼이 유효하게 된다 '모니터 시작 버튼이 유효하게 된다 '종료 버튼이 무효하게 된다 '이상 시의 메시지 End Sub Private Sub cmdClose_Click() Dim lRet As Long '반환값 lRet = ActEasyIF1.Close '통신 회선 클로즈 If lRet = 0 Then txtStatus.Text = _ "통신 회선을 정상적으로 클로즈하였습니다." cmdOpen.Enabled = True cmdClose.Enabled = False cmdMonitor.Enabled = False cmdEnd.Enabled = True Else txtStatus.Text = _ "에러 발생(에러 코드:" + Hex$(lRet) + ")" End If End Sub 5 - 17 '정상 시의 메시지 '오픈 버튼이 유효하게 된다 '클로즈 버튼이 무효하게 된다 '모니터 시작 버튼이 무효하게 된다 '종료 버튼이 유효하게 된다 '이상 시의 메시지 Private Sub cmdMonitor_Click() If tmrTime.Interval = 0 Then tmrTime.Interval = MonitorTime txtStatus.Text = "모니터 중" cmdMonitor.Caption = "모니터 정지" cmdClose.Enabled = False Else tmrTime.Interval = 0 txtStatus.Text = "모니터를 정지하였습니다." cmdMonitor.Caption = "모니터 시작" cmdClose.Enabled = True End If '모니터 중인지를 확인 '모니터 실행 '모니터 중인 메시지 표시 '버튼 표시 변경 '클로즈 버튼이 무효하게 된다 '모니터 종료 '모니터 정지 메시지 표시 '버튼 표시 변경 '클로즈 버튼이 유효하게 된다 End Sub Private Sub cmdEnd_Click() End '프로그램 종료 End Sub Private Dim Dim Dim Dim Dim Dim Dim Sub tmrTime_Timer() i As Integer j As Integer k As Integer szDeviceList As String Devbox(12) As String lData(12) As Long lRet As Long '루프용 '루프용 '루프용 '모니터 '모니터 '모니터 '반환값 Const lSize As Long = 13 변수1 변수2 변수3 디바이스 저장용 디바이스 일시 저장용 디바이스값 저장 '모니터할 디바이스 개수 '모니터할 디바이스 설정 Devbox(0) = "X0" Devbox(1) = "X1" Devbox(2) = "X2" Devbox(3) = "X3" Devbox(4) = "X4" Devbox(5) = "X5" Devbox(6) = "X6" Devbox(7) = "X7" Devbox(8) = "D0" Devbox(9) = "D1" Devbox(10) = "D2" Devbox(11) = "D3" Devbox(12) = "D4" For i = 0 To lSize - 1 szDeviceList = szDeviceList + Devbox(i) If i <> lSize Then szDeviceList = szDeviceList + vbLf End If Next 5 - 18 '모니터할 디바이스 설정 '랜덤 읽기 lRet = ActEasyIF1.ReadDeviceRandom(szDeviceList, lSize, lData(0)) If lRet <> 0 Then txtStatus.Text = _ "에러 발생(에러 코드:" + Hex$(lRet) + ")" '에러 시에 에러 코드 표시 End If '비트 디바이스(X0~X7)의 표시 For j = 0 To 7 If lData(j) = 1 Then lblON_OFF(j).Caption = "●" Else lblON_OFF(j).Caption = "○" End If Next 'ON 시에 ●를 표시 'OFF 시에 ○를 표시 '워드 디바이스(D0~D4) 표시 For k = 0 To 4 lbl_Dvalue(k).Caption = lData(k + 8) Next End Sub 5 - 19 (1) 플로 차트 (a) cmdOpen_Click()(오픈 버튼 클릭에 의한 동작) START 통신 회선 오픈 (OPEN()) 오픈은 정상? No Yes 정상 표시 ”통신 회선을 정상적 으로 오픈하였습니다. 오픈 버튼을 무효로 설정 클로즈 버튼을 유효로 설정 모니터 시작 버튼을 유효로 설정 종료 버튼을 무효로 설정 END 5 - 20 이상 표시 ”에러 발생 (에러 코드: )” (b) cmdClose_Click()(클로즈 버튼 클릭에 의한 동작) START 통신 회선 클로즈 (CLOSE()) 클로즈는 정상? No Yes 정상 표시 이상 표시 ”통신 회선을 정상적 으로 클로즈하였습니다. ” ”에러 발생 (에러 코드: )” 오픈 버튼을 유효로 설정 클로즈 버튼을 무효로 설정 모니터 시작 버튼을 무효로 설정 종료 버튼을 유효로 설정 END 5 - 21 (c) cmdMonitor_Click()(모니터 시작 버튼 클릭에 의한 동작) START 마스터 동작 중? No Yes 100ms 간격으로 모니터 시작 모니터를 정지 스테이터스 표시 스테이터스 표시 ”모니터 중” ”모니터를 정지 하였습니다. ”모니터 시작”버튼을 ”모니터 정지”버튼으로 변경 ” ”모니터 정지”버튼을 ”모니터 시작”버튼으로 변경 클로즈 버튼을 무효로 설정 클로즈 버튼을 유효로 설정 END (d) cmdEnd_Click()(END 버튼 클릭에 의한 동작) START 프로그램을 종료 END 5 - 22 (e) tmrTime_Timer()(모니터 중의 동작) START 모니터할 디바이스를 Devbox 에 저장 SzDeviceList에 디바이스 리스트 를 저장 랜덤 읽기를 실행 (ReadDeviceRandom ()) 에러 발생? Yes 이상 표시 ”에러 발생 (에러 코드: )” 비트 디바이스값 표시 ON 시 :“●” OFF 시:“○” 워드 디바이스값 표시 END 5 - 23 No 5.4.2 실습기의 조작 프로그램을 실행하고, PLC CPU의 디바이스를 모니터합니다. (1) 프로그램의 화면 다음은 프로그램의 화면 상의 오브젝트명입니다. lblON_OFF(0) lbl_Dvalue (0) lblON_OFF(7) lbl_Dvalue (4) cmdMonitor cmdEnd txtStatus cmdOpen cmdClose (2) X0~X7의 디바이스 상태 확인 ① Visual Basic 을 기동하고, 5.4.1항에 기재한 프로젝트 파일(E71-1.VBP)을 읽습니다. R ② ActEasyIF1 속성의 ActLogicalStation Number가 “1”로 되어 있는지를 확인하십시오. 이 설정번호는 5.3.1항에서 설정한 논리 국번에 대응합니다. 논리 국번을 사용함으로써, 논리 국번으로 설정 되어 있는 경로로 통신할 수 있게 됩니다. ③ 버튼(시작)을 클릭하여, 프로그램을 실행합 니다. 다음 쪽에 계속 5 - 24 이전 쪽에서 계속 ④ OPEN 버튼을 클릭하여, 통신 회선을 오픈합니다. 정상적으로 오픈되면, 통신 상태에“통신 회선을 정상적으로 OPEN합니다.”라고 표시됩니다. 이상이 발생하면, 에러 코드가 표시됩니다. 에러 코드의 상세 내용은 부2.3항을 참조하십시 오. ⑤ 정상적으로 오픈되면, 모니터 개시 버튼이 활성 화되는데, 클릭하여 모니터를 시작합니다. X7 X6 X5 X4 X3 X2 X1 X0 ON OFF ⑥ I/O 패널의 X0~X7의 스위치를 ON/OFF함에 따라 프로그램상의 비트 디바이스의 상태가 변화하는 지를 확인하십시오. 계속하여 워드 디바이스(D0~D4)의 내용을 확인합 니다. 5 - 25 (3) D0~D4의 디바이스 상태 확인 MX Component로써 변경한 값을 프로그램에서 확인합니다.(*1) *1 실습기의 X7~XB와 표시기를 사용하여, 아래 내용을 처리할 수도 있습니다. X7:D0~D4에 「0」을 저장 X8, X9 :D0~D4에 임의의 값을 저장 XA:D0~D2의 값을 표시 XB :D3~D4의 값을 표시 ① [시작]→[프로그램]→[MELSOFT Application]→ [MX Component]→[PLC Monitor Utility]를 클릭합 니다. ② 접속 상대 설정 화면이 표시되면, 「Logical station number」를“1”로 설정허고, aOK 버튼을 클릭합니다. ③ PLC 모니터 유틸리티가 기동되면, 「Device」를 “D0”으로 설정하고, Start monitor 버튼을 클릭 합니다. ④ 디바이스가 표시되면, 변경하고자 하는 값의 디바 이스란을 더블 클릭합니다. D0~D4의 값을 변경(*1)하면, 프로그램상의 D0~ D4의 표시가 변경됩니다. *1 화면에 지정되어 있는 형식대로 값을 입력하 십시오. 다음 쪽에 계속 5 - 26 이전 쪽에서 계속 ⑤ 디바이스 쓰기 화면이 표시되면, 「Set Value」에 임의의 값을 입력하고, aStart 버튼을 클릭합니 다. 여기에서는 D0을 100으로 설정합니다. ⑥ 디바이스 쓰기 화면의 a닫기 버튼을 클릭하여, 화면을 엽니다. ⑦ 프로그램을 활성(*1)화하여, 워드 디바이스의 값 이 변화하는지를 확인하십시오. ④~⑤의 조작을 반복하여 D0~D4의 값을 변경하 면, 프로그램상의 D0~D4의 값도 변화합니다. 다음 쪽에 계속 5 - 27 이전 쪽에서 계속 ⑧ 모니터를 종료할 경우에는, 모니터 정지 버튼을 클릭합니다. ⑨ CLOSE 버튼을 클릭하여, 통신 회선을 클로즈합 니다. 정상적으로 클로즈되면, 통신 상태에“통신 회선 을 정상적으로 클로즈하였습니다.”라고 표시됩 니다. 이상이 발생하면 에러 코드가 표시됩니다. 에러 코드의 상세 내용은 부2.3항을 참조하십시 오. ⑩ 종료 버튼을 클릭하여 프로그램을 종료합니다. 다음 프로젝트 파일의 읽기가 가능해 집니다. 5 - 28 5.5 Visual Basic 프로그램(디바이스 쓰기) PLC CPU의 비트 디바이스Y70~Y77(8점분) 및 워드 디바이스D0~D4(5워드분)의 내용을 변경합니다. 5.5.1 Visual Basic 프로그램 프로젝트 파일명 Option Explicit '변수 선언 Const MonitorTime As Integer = 100 '디바이스 모니터 간격 설정 E71-2.VBP Private Sub cmdOpen_Click() Dim lRet As Long '반환값 lRet = ActEasyIF1.Open '통신 회선 오픈 If lRet = 0 Then txtStatus.Text = _ "통신 회선을 정상적으로 오픈하였습니다." cmdOpen.Enabled = False cmdClose.Enabled = True cmdMonitor.Enabled = True cmdEnd.Enabled = False Else txtStatus.Text = _ "에러 발생(에러 코드:" + Hex$(lRet) + ")" End If '정상 시의 메시지 '오픈 버튼이 무효하게 된다 '클로즈 버튼이 유효하게 된다 '모니터 시작 버튼이 유효하게 된다 '종료 버튼이 무효하게 된다 '이상 시의 메시지 End Sub Private Sub cmdClose_Click() Dim lRet As Long '반환(복귀)값 lRet = ActEasyIF1.Close '통신 회선 클로즈 If lRet = 0 Then txtStatus.Text = _ "통신 회선을 정상적으로 클로즈하였습니다." cmdOpen.Enabled = True cmdClose.Enabled = False cmdMonitor.Enabled = False cmdEnd.Enabled = True Else txtStatus.Text = _ "에러 발생(에러 코드:" + Hex$(lRet) + ")" End If End Sub 5 - 29 '정상 시의 메시지 '오픈 버튼이 유효하게 된다 '클로즈 버튼이 무효하게 된다 '모니터 시작 버튼이 무효하게 된다 '종료 버튼이 유효하게 된다 '이상 시의 메시지 Private Sub cmdMonitor_Click() Dim Dim Dim Dim Dim Dim Dim i As Integer j As Integer k As Integer szDeviceList As String Devbox(12) As String lData(12) As Long lRet As Long '루프용 변수1 '루프용 변수2 '루프용 변수3 '쓰기 디바이스 저장용 '쓰기 디바이스 일시 저장용 '쓰기 디바이스값 저장 '반환값 Const lSize As Long = 13 '쓰기 디바이스 개수 '쓰기 디바이스 설정 Devbox(0) = "Y70" Devbox(1) = "Y71" Devbox(2) = "Y72" Devbox(3) = "Y73" Devbox(4) = "Y74" Devbox(5) = "Y75" Devbox(6) = "Y76" Devbox(7) = "Y77" Devbox(8) = "D0" Devbox(9) = "D1" Devbox(10) = "D2" Devbox(11) = "D3" Devbox(12) = "D4" For i = 0 To lSize - 1 szDeviceList = szDeviceList + Devbox(i) If i <> lSize Then szDeviceList = szDeviceList + vbLf End If Next '비트 디바이스(Y70~Y77)의 값을 설정 For j = 0 To 7 If lblON_OFF(j).Caption = "●" Then lData(j) = 1 Else lData(j) = 0 End If Next '쓰기 디바이스 설정 '●이면 "1"을 저장 '○이면 "0"을 저장 '워드 디바이스(D0~D4)의 값을 설정 For k = 0 To 4 lData(k + 8) = Val(txtDvalue(k).Text) Next 5 - 30 '랜덤 쓰기 lRet = ActEasyIF1.WriteDeviceRandom(szDeviceList, lSize, lData(0)) If lRet = 0 Then txtStatus.Text = "정상적으로 쓰여졌습니다." '정상 시의 메시지 Else txtStatus.Text = _ "에러 발생(에러 코드:" + Hex$(lRet) + ")" '에러 시에 에러 코드 표시 End If End Sub Private Sub cmdEnd_Click() End '프로그램 종료 End Sub Private Sub lblON_OFF_DblClick(Index As Integer) '더블 클릭하면 ●, ○이 반전됨 If lblON_OFF(Index).Caption = "●" Then lblON_OFF(Index).Caption = "○" Else lblON_OFF(Index).Caption = "●" End If End Sub 5 - 31 (1) 플로 차트 (a) cmdOpen_Click()(오픈 버튼 클릭에 의한 동작) 5.4.1항(1)(a)와 동일하므로 참조하십시오. (b) cmdClose_Click()(클로즈 버튼 클릭에 의한 동작) 5.4.1항(1)(b)와 동일하므로 참조하십시오. (c) cmdMonitor_Click()(모니터 시작 버튼 클릭에 의한 동작) START 쓰기 디바이스를 Devbox에 저장 SzDeviceList에 디바이스 리스트 를 저장 비트 디바이스(Y70~77)값을 IData에 설정 워드 디바이스(D0~D04)값을 IData에 설정 랜덤 쓰기를 실행 (WriteDeviceRandom ()) 에러 발생? No Yes 이상 표시 ”에러 발생 (에러 코드: )” 정상 표시 ”정상적으로 쓰기 하였습니다. ” END (d) cmdEnd_Click()(END 버튼 클릭에 의한 동작) 5.4.1항(1)(d)과 동일하므로 참조하십시오. 5 - 32 (e) lblON_OFF_DblClick()(라벨 더블 클릭 시의 동작) START “ ” 라벨의 표시는“●”? No Yes 라벨 표시 라벨 표시 “○”로 변경 “●”로 변경 END 5 - 33 5.5.2 실습기의 조작 프로그램을 실행하고, PLC CPU의 디바이스값을 변경합니다. (1) 프로그램의 화면 다음은 프로그램의 화면상의 오브젝트명입니다. lblON_OFF(0) txtDvalue (0) lblON_OFF(7) txtDvalue (4) cmd Monitor cmd End txt Status cmdOpen cmdClose (2) 조작 순서 ① Visual Basic 을 기동하고, 5.5.1항에 설명한 프로젝트 파일(E71-2.VBP)을 읽습니다. R ② ActEasyIF1의 속성 ActLogicalStation Number가 “1”로 되어 있는지를 확인하십시오. 본 설정에서는 5.3.1항에서 설정한 논리 국번을 설정합니다. 논리 국번을 설정함으로써, 논리 국번으로 설정 된 통신 경로로 통신할 수 있습니다. ③ 버튼(시작)을 클릭하여, 프로그램을 실행합 니다. 다음 쪽에 계속 5 - 34 이전 쪽에서 계속 ④ OPEN 버튼을 클릭하여, 통신 회선을 오픈합니다. 정상적으로 오픈되면, 통신 상태에“통신 회선 을 정상적으로 OPEN합니다.”라고 표시됩니다. 이상이 발생하면, 에러 코드가 표시됩니다. 에러 코드의 상세 내용은 부2.3항을 참조하십시 오. ⑤ 값을 변경할 비트 디바이스의“○”을 더블 클릭 하여, ON/OFF를 설정합니다. “○”은 OFF, “●”은 ON을 나타냅니다. ⑥ 값을 변경할 워드 디바이스의 텍스트 상자에 값 을 입력합니다. 입력할 값은 10진수로 취급됩니다. ⑦ 쓰기 버튼을 클릭하여 씁니다. Y77 Y76 Y75 Y74 Y73 Y72 Y71 Y70 ⑧ 정상적으로 쓰기가 완료되면 통신 상태에“정상 적으로 쓰여졌습니다.”라고 표시됩니다. I/O 패널의 Y70~Y77 LED를 확인합니다. 프로그램상에서 ON된 비트 디바이스의 LED가 점 등되어 있는지를 확인합니다. 다음 쪽에 계속 5 - 35 이전 쪽에서 계속 ⑨ 쓰여진 값을 MX Component로써 확인합니다.(*1) 5.4.2항(3)을 참조하여, PLC 모니터 유틸리티를 기동하고, 논리 국번을 “1”로 설정합니다. [시작]→[프로그램]→[MELSOFT Application]→ [MX Component]→[PLC Monitor Utility]. 접속 상대 설정 화면에서「Logical station number」를 “1”로 설정하고, aOK 버튼을 클릭합 니다. ⑩「디바이스」를“D0”으로 설정하고, 모니터 시작 버튼을 클릭합니다. ⑪ 쓰여진 디바이스값이 표시되는지를 확인합니다. 확인후, 종료 버튼을 클릭합니다. ⑫ CLOSE 버튼을 클릭하여, 통신 회선을 클로즈합니 다. 정상적으로 클로즈되면, 통신 상태에“통신 회선 을 정상적으로 클로즈하였습니다.” 라고 표시됩 니다. 이상이 발생하면 에러 코드가 표시됩니다. 에러 코드의 상세 내용은 부2.3항을 참조하십시 오. 다음 쪽에 계속 5 - 36 이전 쪽에서 계속 ⑬ 종료 버튼을 클릭하여 프로그램을 종료합니다. 다음 프로젝트 파일의 읽기가 가능해집니다. *1 실습기의 표시기에서 X7~XB를 사용하여, 아래와 같은 작업을 수행할 수 있습니다. X7 :D0~D4에「0」을 저장 X8, X9 :각각, D0~D4에 임의의 값을 저장 XA :D0~D2의 값을 표시 XB 5 - 37 :D3~D4의 값을 표시 메 모 5 - 38 제6장 과제2(PLC CPU-PLC CPU 간 고정 버퍼 교신(수순)) 본 과제에서는 고정 버퍼 교신(수순) 기능에 대해 실습합니다. PLC A 측은 데이터를 송신하고, PLC B 측은 데이터를 수신합니다. 6.1 실습 시스템 구성 과제2에서 실습할 시스템 구성을 나타냅니다. 과제2에서는 TCP/IP통신으로 데이터 교신하고, 송신 측 PLC CPU의 디바이스(X)를 수신 측 실습기로써 모니터합니다. Ethernet상에는 10대의 PLC CPU가 접속되어 있습니다만, 과제2에서는, 실습기 No.가 같은 PLC CPU 사이에서만 교신합니다. (1) 모듈 구성 6 - 1 (2) 실습 내용 송신 측 PLC CPU의 X0~X7, X20~X2F의 정보를 수신 측 PLC CPU의 Y70~Y77, Y40~Y4F에 나타냅니다. <송신 측 PLC CPU(Active 오픈> <수신 측 PLC CPU(Passive 오픈> X2F Y4F X20 Y40 1 4 0 2 (커넥션1을 사용) X7 X6 X5 X4 X3 X2 X1 (커넥션1을 사용) X0 Y77 ON OFF 6 - 2 Y76 Y75 Y74 Y73 Y72 Y71 Y70 6.2 송신 측 Ethernet 모듈의 설정 송신 측 Ethernet 모듈에 대해 설정합니다. 6.2.1 GX Developer로써 파라미터를 설정한다 Ethernet 모듈의 파라미터를 GX Developer로써 설정합니다. 설정 내용이 6.1항의 내용과 같아지도록 설정합니다. (1) GX Developer의 기동과 멀티 CPU 설정 5.2.1항과 동일하게 멀티 CPU 설정을 실시해 주십시오. (2) 네트워크 파라미터 MNET/10H Ethernet 장수 설정 ① 프로젝트 데이터 일람에서 「네트워크 파라미 터」를 더블 클릭합니다. ② 네트워크 파라미터 선택 대화상자가 표시되면, MELSECNET/Ethernet 버튼을 클릭합니다. ③ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면이 표시됩니다. 다음 쪽에 계속 6 - 3 이전 쪽에서 계속 ④ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면의 아래 내용을 설정합니다. 네트워크 종류 :Ethernet 선두I/O No. :00A0 네트워크No. :1 그룹No. :0 국번 :각 실습기의 국번을 설정 (11~15) 모드 :온라인 ⑤ 동작 설정 버튼을 클릭하여, Ethernet 동작 설정 대화상자를 표시합니다. ⑥ 아래의 내용을 설정하고, 종료 버튼을 클릭하 여, Ethernet 동작 설정 대화상자를 닫습니다. 교신 데이터 코드 설정 :ASCII 코드 교신 이니셜 타이밍 설정 :상시 OPEN 대기 IP 어드레스 :각 실습기의 IP 어드레스를 설정 (192.168.1.101~ 192.168.1.105) 송신 프레임 설정 :Ethernet(V2.0) ⑦ 다음 쪽에 계속 오픈 설정 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 표시합니다. ⑧ 아래의 내용을 설정합니다. 프로토콜 :TCP 오픈 방식 :Active 고정 버퍼 :송신 고정 버퍼 교신 순서 :수순 있음 페어링 오픈 :페어로 하지 않음 생존 확인 :확인 안함 자국 포트No. :0401 교신 상대 IP 어드레스 :각 실습기의 IP 어드레스를 설정 (192.168.1.201~ 192.168.1.205) 교신 상대 포트No. :0401 6 - 4 이전 쪽에서 계속 ⑨ 종료 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 닫습니다. ⑩ 종료 버튼을 클릭하여, 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면을 닫습니다. ⑪ 버튼을 클릭합니다. (프로젝트 저장) ⑫ 드라이브/경로, 프로젝트 이름을 설정하고, 저장 버튼을 클릭합니다. 드라이브/경로명:A:₩Q-E71 프로젝트 이름 :EX2-A 는 실습기No. 예.실습기No.1의 경우 EX2-A1 6 - 5 6.2.2 시퀀스 프로그램 수신 측 PLC CPU에 데이터를 송신하기 위한 프로그램을 작성합니다. 커넥션1의 오픈 처리를 실시하고 데이터를 송신합니다. 데이터 송신 후에는 커넥션1의 클로즈 처리를 실행합니다. 포인트 시퀀스 프로그램을 작성하고 GX Developer로써 아래와 같이 조작합니다. ① FD로의 저장 드라이브/경로명:A:₩Q-E71 프로젝트 이름 :EX2-A ( 는 실습기No.) 예.실습기No.1의 경우, EX2-A1 ② 접속 상대 지정(5.2.3항 참조) ③ PLC CPU로의 쓰기(5.2.4항 참조) (1) 사용하는 디바이스 일람 디바이스명 SM400 M0 M1 M10 M11 M20 M21 M22 M48 M64 X0~X7 내용 디바이스명 상시 ON. 커넥션No.1의 오픈 처리가 완료된 후, 1스캔 만 ON한다. 커넥션No.1의 오픈 처리가 이상 완료된 경 우, 1스캔만 ON한다. X0B 커넥션을 클로즈하는 스위치. X20~X2F 수신 측에 송신하는 데이터. X0B9 (X(n+1)9) 커넥션No.1의 클로즈 처리가 완료된 후, 1스캔만 ON한다. X0BC (X(n+1)C) 커넥션No.1의 클로즈 처리가 이상 완료된 경우, 1스캔만 ON한다. 데이터 송신이 완료된 후, 1스캔만 ON한다. 데이터 송신이 이상 완료된 경우, 1스캔만 ON한다. 데이터 송신 시에 ON한다. 또한, 데이터 송 신 완료 시에 OFF한다. 커넥션No.1이 오픈 상태일 때 ON한다. 커넥션No.1의 오픈 요구가 발행되었을 때와 오픈 중일 때 ON한다. 내용 Ethernet 모듈의 이니셜 처리가 정상 완료 되면 ON한다. COM.ERR LED 점등 시에 ON한다. Y7A 데이터 송신이 정상 완료된 때에 ON한다. Y7B 데이터 송신이 이상 완료된 때에 ON한다. Y0B7 COM. ERR LED 소등 요구. D0~D9 OPEN명령의 컨트롤 데이터를 저장한다. D10~D11 CLOSE명령의 컨트롤 데이터를 저장한다. D20~D21 BUFSND명령의 컨트롤 데이터를 저장한다. 수신 측에 송신하는 데이터. D22 송신 데이터 길이를 저장한다. X8 데이터의 송신을 지령하는 스위치. D23 송신 데이터(X0~X7)를 저장한다. X9 표시LED의 에러 표시를 클리어하는 스위치. D24 송신 데이터(X20~X2F)를 저장한다. X0A 커넥션을 오픈하는 스위치. ―― 6 - 6 ―――― (2) 시퀀스 프로그램 전용 명령의 상세 내용에 대해서는 Q대응 Ethernet 인터페이스 모듈 사용자 매 뉴얼 (기본편)의 제10장을 참조하십시오. 드라이브/경로 프로젝트 이름 6 - 7 A:₩Q-E71 EX2-A 6 - 8 6.3 수신 측 Ethernet 모듈의 설정 수신 측 Ethernet 모듈에 대해 설정합니다. 6.3.1 GX Developer로써 파라미터를 설정한다 Ethernet 모듈의 파라미터를 GX Developer로써 설정합니다. 설정 내용은 6.1항의 내용과 같아지도록 설정합니다. (1) GX Developer의 기동과 멀티 CPU 설정 5.2.1항과 동일하게 멀티 CPU 설정을 실행합니다. (2) 네트워크 파라미터 MNET/10H Ethernet 장수 설정 ① 프로젝트 데이터 일람에서 「네트워크 파라미 터」를 더블 클릭합니다. ② 네트워크 파라미터 선택 대화상자가 표시되면, MELSECNET/Ethernet 버튼을 클릭합니다. ③ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면이 표시됩니다. 다음 쪽에 계속 6 - 9 이전 쪽에서 계속 ④ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면의 아래 내용을 설정합니다. 네트워크 종류 :Ethernet 선두I/O No. :00A0 네트워크No. :1 그룹No. :0 국번 :각 실습기의 국번을 설정 (21~25) 모드 :온라인 ⑤ 동작 설정 버튼을 클릭하여, Ethernet 동작 설정 대화상자를 표시합니다. ⑥ 아래의 내용을 설정하고, 종료 버튼을 클릭하 여, Ethernet 동작 설정 대화상자를 닫습니다. 교신 데이터 코드 설정 :ASCII 코드 교신 이니셜 타이밍 설정 :상시 OPEN 대기 IP 어드레스 :각 실습기의 IP 어드레스를 설정 (192.168.1.201~ 192.168.1.205) 송신 프레임 설정 :Ethernet(V2.0) ⑦ 다음 쪽에 계속 오픈 설정 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 표시합니다. ⑧ 아래의 내용을 설정합니다. 프로토콜 :TCP 오픈 방식 :Unpassive 고정 버퍼 :수신 고정 버퍼 교신 순서 :수순 있음 페어링 오픈 :페어로 하지 않음 생존 확인 :확인 안함 자국 포트No. :0401 6 - 10 이전 쪽에서 계속 ⑨ 종료 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 닫습니다. ⑩ 종료 버튼을 클릭하여, 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면을 닫습니다. ⑪ 버튼을 클릭합니다. (프로젝트 저장) ⑫ 드라이브/경로, 프로젝트 이름을 설정하고, 저장 버튼을 클릭합니다. 드라이브/경로명:A:₩Q-E71 프로젝트 이름 :EX2-B 는 실습기No. 예.실습기No.1의 경우 EX2-B1 6 - 11 6.3.2 시퀀스 프로그램 상대기기에서 송신한 데이터를 수신 처리하는 프로그램을 작성합니다. 데이터 수신이 정상 완료된 경우, 송신된 데이터(X0~X7, X20~X2F)를 Y70~Y77, Y40~Y4F에 출력합니다. 포인트 시퀀스 프로그램을 작성하고 GX Developer로써 아래와 같이 조작합니다. ① FD로의 저장 드라이브/경로명:A:₩Q-E71 프로젝트 이름 :EX2-B ( 는 실습기No.) 예.실습기No.1의 경우, EX2-B1 ② 접속 상대 지정(5.2.3항 참조) ③ PLC CPU로의 쓰기(5.2.4항 참조) (1) 사용하는 디바이스 일람 디바이스명 SM400 M30 M31 M80 X9 X0BC (X(n+1)C) Y40~Y4F Y70~Y77 내용 디바이스명 내용 상시 ON. Y78 데이터 수신이 정상 완료된 때에 ON한다. 데이터 수신이 완료된 후, 1스캔만 ON한다. Y79 데이터 수신이 이상 완료된 때에 ON한다. 데이터 수신이 이상 완료된 경우, 1스캔만 ON한다. Y0B7 (Y(n+1)7) Ethernet 모듈의 커넥션No.1이 데이터를 수 신하고 있는 경우에 ON한다. D30~D31 COM. ERR LED 소등 요구. BUFRCV명령의 컨트롤 데이터를 저장한다. 표시LED의 에러 표시를 클리어하는 스위치. D32 수신 데이터 길이가 저장된다. COM.ERR LED 점등 시에 ON한다. D33 수신 데이터(X0~X7)가 저장된다. D34 수신 데이터(X20~X2F)가 저장된다. 송신 측에서 송신된 X20~X2F의 정보를 저장 한다. 송신 측에서 송신된 X0~X7의 정보를 저장 한다. 6 - 12 ―― ―――― (2) 시퀀스 프로그램 전용 명령의 상세 내용에 대해서는 Q대응 Ethernet 인터페이스 모듈 사용자 매 뉴얼(기본편)의 제10장을 참조하십시오. 드라이브/경로 프로젝트 이름 6 - 13 A:₩Q-E71 EX2-B 6.4 GX Developer에서의 PING 테스트(CPU 경유) GX Developer에서의 PING 테스트를 실행합니다. PING 테스트는 자국 Ethernet 모듈의 이니셜 처리가 정상 완료하고, 동일한 Ethernet상의 상대기기와 바르게 접속되어 있는지를 확인하는 테스트입니다. PING 테스트를 실시하기 전에 송신 측 PLC CPU, 수신 측 PLC CPU의 전원을 투입 하고, STOP 상태로 해 주십시오. <송신 측 PLC CPU> GX Developer IP 어드레스 192.168.1.101 PING 테스트를 실행 Q61P -A1 Q02H CPU QX QY Q64 Q64 E71 42 42P AD DA <수신 측 PLC CPU> IP 어드레스 192.168.1. 201 Q61P -A1 Q02H CPU QX QY Q64 Q64 E71 42 42P AD DA ① 송신 측 PLC CPU의 프로젝트 파일을 엽니다. ② [진단]→[Ethernet 진단] 메뉴를 클릭합니다. ③ Ethernet 진단 화면이 표시됩니다. Ethernet 진단을 실시할 자국의 대상 Ethernet 모듈은 「모듈No.」의 항목에서 지정합니다. 다음 쪽에 계속 6 - 14 이전 쪽에서 계속 ④ PING 테스트 버튼을 클릭합니다. ⑤ PING 테스트 화면이 표시되면, 아래의 내용을 설 정합니다. 네트워크No. :1 국번 :각 실습기의 국번을 설정 (11~15) IP 어드레스 :PING 테스트를 실시할 교신 상대 실습기의 IP 어드레스 를 설정 (192.168.1.201~ 192.168.1.205) ⑥ 실행 버튼을 클릭합니다. ⑦ 예 버튼을 클릭하여, PING 테스트를 실시합니다. <정상 완료 시> ⑧ PING 테스트 실행 결과가 표시됩니다. <이상 완료 시> 타임아웃으로 표시되는 경우는, “교신 상대 IP 어드레스가 잘못되어 있다” 또는 “단선되어 있 다”의 가능성이 있으므로, 확인하시기 바랍니 다. 6 - 15 비 고 다음은 동일 Ethernet상에 접속되어 있는 상대기기에서 자국 Ethernet 모듈에 PING 커맨드를 발행(DOS/V PC→Ethernet 모듈)하여 이니셜 처리의 완료를 확인 하는 예에 대한 설명입니다. (IP 어드레스의 클래스와 네트워크 ID가 같은 기기인 경우에 확인하는 예) 【지정 방법】 Ping IP 어드레스 【프로그램 예】 Ethernet 모듈의 IP 어드레스:192.168.1.201 정상 시의 화면 예 C:₩>ping 192.168.1.201 … ping 커맨드의 실행 Pinging 192.168.1.201 with 32 bytes of data: Reply Reply Reply Reply from from from from 192.168.1.201 : 192.168.1.201 : 192.168.1.201 : 192.168.1.201 : bytes=32 bytes=32 bytes=32 bytes=32 time=2ms time<1ms time<1ms time<1ms TTL=250 TTL=250 TTL=250 TTL=250 Ping statistics for 192.168.1.201 : Packets: Sent = 4, Received = 4, Lost = 0 (0% loss) Approximate round trip times in milli-seconds: Minimum = 1ms,Maximum = 2ms,Average = 1ms C:₩>_ 정상 시의 화면 예 C:₩>ping 192.168.1.201 … ping 커맨드의 실행 Pinging 192.168.1.201 with 32 bytes of data: Request Request Request Request timed timed timed timed out: out: out: out: Ping statistics for 192.168.1.201 : Packets: Sent = 4, Received = 0, Lost = 4 (100% loss) Approximate round trip times in milli-seconds: Minimum = 0ms,Maximum = 0ms,Average = 0ms C:₩>_ <이상 완료한 경우> 아래의 내용을 확인한 후에 다시 PING 커맨드를 송신하십시오. ・ Ethernet 모듈의 장착 상태. ・ Ethernet의 접속 상태. ・ PLC CPU에 입력되어 있는 각종 파라미터의 내용. ・ PLC CPU의 동작 상태(이상이 발생하고 있지나 않은지?). ・ PING 커맨드로 지정된 송신 상대 Ethernet 모듈의 IP 어드레스. 6 - 16 6.5 실습기의 조작 실습기를 조작하여 Ethernet 경유로 PLC CPU A(송신 측)에서 PLC CPU B(수신 측)로 데이터가 송신되는지를 확인합니다. ① 5.2.4항을 참조하여 PLC CPU A, PLC CPU B에 파라 미터와 프로그램을 씁니다. ② PLC CPU A(송신 측), PLC CPU B(수신 측) 모두를 RUN 상태로 합니다. OFF ON OFF ③ PLC CPU A I/O 패널의 「XA」를 OFF→ON→OFF 하고, 커넥션을 오픈합니다. PLC CPU B는 파라미터의 동작 설정에 다음과 같이 설정되어 있으므로, 오픈 대기 상태 (Unpassive 오픈)가 됩니다. 이니셜 타이밍 설정:상시 OPEN 대기 XA ④ Ethernet 모듈의 커넥션이 오픈되며, “OPEN” LED가 점등합니다. QJ71E71-100 RUN INIT OPEN SD ERR. COM.ERR 100M RD OFF ⑤ PLC CPU A의 X0~X7을 ON/OFF합니다. 또한, 디지털 스위치(X20~X2F)에 값을 입력합니 다. ON X8 PLC CPU A I/O 패널의 「X8」을 ON하고, 데이터를 송신합니다. <수신 측> <송신 측> Y4F X2F Y40 X20 1 4 0 2 ⑥ PLC CPU A X0~X7의 상태에 부합하여, PLC CPU B Y70~Y77이 점등합니다. 또한, PLC CPU A의 디지털 스위치(X20~X2F)의 값이 PLC CPU B의 LED표시기(Y40~Y4F)에 표시됩니 다. <송신 측> X7 X6 X5 X4 X3 X2 X1 X0 ON OFF <수신 측> Y77 Y76 Y75 Y74 Y73 Y72 Y71 Y70 다음 쪽에 계속 6 - 17 이전 쪽에서 계속 ON ⑦ I/O 패널에서의 확인이 끝나면, PLC CPU A의 「X8」을 OFF하고, 데이터 송신을 종료합니다. OFF 다시 데이터를 송신할 때에는 ⑤부터 실행하십시 오. X8 OFF ON OFF ⑧ PLC CPU A I/O 패널의 「XB」를 OFF→ON→OFF하여 커넥션을 클로즈합니다. XB QJ71E71-100 RUN INIT OPEN SD ERR. COM.ERR 100M RD ⑨ 커넥션이 클로즈되며, 각 Ethernet 모듈의 “OPEN”LED가 소등합니다. 6 - 18 제7장 과제3(PLC CPU-PLC CPU 간 고정 버퍼 교신(무수순)) 본 과제에서는 고정 버퍼 교신(무수순) 기능에 대해 실습합니다. PLC A 측과 PLC B 측은 각각 데이터 송신과 데이터 수신을 수행합니다. 7.1 실습 시스템 구성 다음은 과제3에서 실습할 시스템 구성입니다. 과제3에서는 TCP/IP통신으로 데이터를 송수신하고, 송신 측 PLC CPU의 디바이 스(X)를 수신 측의 실습기로써 모니터 합니다. Ethernet상에는 10장의 PLC CPU가 접속되어 있으나, 과제3에서는 실습기No.가 같은 PLC CPU 간에만 교신합니다. (1) 모듈 구성 7 - 1 (2) 실습 내용 PLC CPU A X0~X7, X20~X2F의 정보가 PLC CPU B의 Y70~Y77, Y40~Y4F에 표시됩니다. 또한, PLC CPU B X0~X7, X20~X2F의 정보가 PLC CPU A의 Y70~Y77, Y40~Y4F에 표시됩니다. 7 - 2 7.2 Ethernet 모듈의 설정(PLC A1~A5) PLC A1~A5 측의 Ethernet 모듈을 설정합니다. 7.2.1 GX Developer로써 파라미터를 설정한다 Ethernet 모듈의 파라미터를 GX Developer로써 설정합니다. 설정 내용은 7.1항의 내용과 같아지도록 설정합니다. (1) GX Developer의 기동과 멀티 CPU 설정 5.2.1항과 동일하게 멀티 CPU 설정을 실시하십시오. (2) 네트워크 파라미터 MNET/10H Ethernet 장수 설정 ① 프로젝트 데이터 일람에서 「네트워크 파라미 터」를 더블 클릭합니다. ② 네트워크 파라미터 선택 대화상자가 표시되면, MELSECNET/Ethernet 버튼을 클릭합니다. ③ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면이 표시됩니다. 다음 쪽에 계속 7 - 3 이전 쪽에서 계속 ④ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면의 아래 내용을 설정합니다. 네트워크 종류 :Ethernet 선두I/O번호 :00A0 네트워크No. :1 그룹No. :0 국번 :각 실습기의 국번을 설정 (11~15) 모드 :온라인 ⑤ 동작 설정 버튼을 클릭하여, Ethernet 동작 설정 대화상자를 표시합니다. ⑥ 아래 내용을 설정하고, 종료 버튼을 클릭하여, Ethernet 동작 설정 대화상자를 닫습니다. 교신 데이터 코드 설정 :임의 (설정에 관계없이, 바이너리 코드로 교신합니다.) 이니셜 타이밍 설정 :상시 OPEN 대기 IP 어드레스 :각 실습기의 IP 어드레스를 설정 (192.168.1.101~ 192.168.1.105) 송신 프레임 설정 :Ethernet(V2.0) ⑦ 다음 쪽에 계속 7 - 4 오픈 설정 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 표시합니다. 이전 쪽에서 계속 ⑧ 아래 내용을 설정합니다. 프로토콜 :TCP 오픈 방식 :Active 고정 버퍼 교신 순서 :순서 없음(무수순) 페어링 오픈 :페어로 한다 생존 확인 :확인 안함 자국 포트No. :0401 교신 상대IP 어드레스 :각 실습기의 IP 어드레스를 설정(192.168.1.201~ 192.168.1.205) 교신 상대 포트 No. :0401 ⑨ 종료 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 닫습니다. ⑩ 종료 버튼을 클릭하여, 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면을 닫습니다. ⑪ 버튼을 클릭합니다. (프로젝트 저장) ⑫ 드라이브/경로, 프로젝트 이름을 설정하고, 저장 버튼을 클릭합니다. 드라이브/경로명:A:₩Q-E71 프로젝트 이름 :EX3-A 는 실습기No. 예. 실습기No.1의 경우 EX3-A1 7 - 5 7.2.2 시퀀스 프로그램 시퀀스 프로그램을 작성합니다. 파라미터의 오픈 설정에서 설정한 페어링 오픈 지정에 의해, 커넥션1과 커넥션2 에 대한 오픈 처리(페어링 오픈 지정)를 실행하고 데이터를 송수신합니다. 데이터 송수신 후에는 커넥션1과 커넥션2의 클로즈 처리를 실시합니다. 포인트 (1) 무수순으로 교신하는 경우에는 데이터 길이의 지정이 바이트 단위로 되어 있으니 주의하십시오. 순서 있음(수순)으로써 교신을 하는 경우는 워드 단위입니다. (2) 시퀀스 프로그램을 작성하고 GX Developer로써 아래와 같이 조작하십시오. ① FD로의 저장 드라이브/경로명:A:₩Q-E71 프로젝트 이름 :EX3-A ( 는 실습기No.) 예. 실습기No.1의 경우, EX3-A1 ② 접속 상대 지정(5.2.3항 참조) ③ PLC CPU로의 쓰기(5.2.4항 참조) 7 - 6 (1) 사용 디바이스 일람 디바이스명 SM400 M0 M1 M10 M11 M20 M21 M22 M30 M31 내용 디바이스명 상시 ON. X20~X2F 커넥션No.1의 오픈 처리 완료 후, 1스캔만 ON한다. 커넥션No.1의 X0B9 (X(n+1)9) 오픈 처리가 이상 완료된 경우, 1스캔만 ON한다. X0BC (X(n+1)C) 커넥션No.1 클로즈 처리 완료 후, 1스캔만 ON한다. 커넥션No.1의 클로즈 처리가 이상 완료된 경우, 1스캔만 ON한다. 데이터 송신 완료 후, 1스캔만 ON한다. 데이터 송신이 이상 완료된 경우, 1스캔만 ON한다. 데이터 송신 시에 ON한다. 또한, 데이터 송신이 완료되면 OFF한다. 데이터 수신 완료 후, 1스캔만 ON한다. 데이터 수신이 이상 완료된 경우, 1스캔만 ON한다. Y40~Y4F Y70~Y77 내용 PLC CPU B에 송신할 데이터. Ethernet 모듈의 이니셜 처리가 정상 완료 되면 ON한다. COM.ERR LED 점등 시에 ON한다. PLC CPU B에서 송신된 X20~X2F의 정보가 저장된다. PLC CPU B에서 송신된 X0~X7의 정보가 저장된다. Y78 데이터 수신이 정상 완료되면 ON한다. Y79 데이터 수신이 이상 완료되면 ON한다. Y7A 데이터 송신이 정상 완료되면 ON한다. Y7B 데이터 송신이 이상 완료되면 ON한다. Y0B7 (Y(n+1)7) COM. ERR LED 소등 요구. M48 커넥션No.1이 오픈 상태일 때 ON한다. D0~D9 OPEN명령의 컨트롤 데이터를 저장한다. M49 커넥션No.2가 오픈 상태일 때 ON한다. D10~D11 CLOSE명령의 컨트롤 데이터를 저장한다. D20~D21 BUFSND명령의 컨트롤 데이터를 저장한다. M64 M65 M80 X0~X7 X8 X9 커넥션No.1의 오픈 요구가 실행되거나 오픈 중일 때 ON한다. 커넥션No.2의 오픈 요구가 실행되거나 오픈 중일 때 ON한다. Ethernet 모듈의 커넥션No.1이 데이터 수신 중일 때 ON한다. PLC CPU B에 송신할 데이터. 데이터 송신을 지시하는 스위치. D22 송신 데이터 길이를 저장한다. D23 송신 데이터(X0~X7)를 저장한다. D24 송신 데이터(X20~X2F)를 저장한다. D30~D31 표시LED 에러 표시의 클리어를 지시하는 스위치. BUFRCV명령의 컨트롤 데이터를 저장한다. D32 수신 데이터 길이가 저장된다. X0A 커넥션의 오픈을 지시하는 스위치. D33 수신 데이터(X0~X7)가 저장된다. X0B 커넥션의 클로즈를 지시하는 스위치. D34 수신 데이터(X20~X2F)가 저장된다. 7 - 7 (2) 시퀀스 프로그램 전용명령의 상세 내용에 대해서는 Q대응 Ethernet 인터페이스 모듈 사용자 매 뉴얼(기본편)의 제10장을 참조하십시오. 드라이브/경로 프로젝트 이름 7 - 8 A:₩Q-E71 EX3-A 7 - 9 7 - 10 7.3 Ethernet 모듈의 설정(PLC B1~B5) PLC B1~B5 측의 Ethernet 모듈을 설정합니다. 7.3.1 GX Developer로써 파라미터를 설정한다 Ethernet 모듈의 파라미터를 GX Developer로써 설정합니다. 설정 내용은 7.1항의 내용과 같아지도록 설정합니다. (1) GX Developer의 기동과 멀티 CPU 설정 5.2.1항과 동일하게 멀티 CPU 설정을 실시하십시오. (2) 네트워크 파라미터 MNET/10H Ethernet 장수 설정 ① 프로젝트 데이터 일람에서 「네트워크 파라미 터」를 더블 클릭합니다. ② 네트워크 파라미터 선택 대화상자가 표시되면, MELSECNET/Ethernet 버튼을 클릭합니다. ③ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면이 표시됩니다. 다음 쪽에 계속 7 - 11 이전 쪽에서 계속 ④ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면의 아래 내용을 설정합니다. 네트워크 종류 :Ethernet 선두I/O번호 :00A0 네트워크No. :1 그룹No. :0 국번 :각 실습기의 국번을 설정 (21~25) 모드 :온라인 ⑤ 동작 설정 버튼을 클릭하여, Ethernet 동작 설정 대화상자를 표시합니다. ⑥ 아래 내용을 설정하고, 종료 버튼을 클릭하여, Ethernet 동작 설정 대화상자를 닫습니다. 교신 데이터 코드 설정 :임의 (설정에 관계없이, 바이너리 코드로 교신합니다.) 이니셜 타이밍 설정 :상시 OPEN 대기 IP 어드레스 :각 실습기의 IP 어드레스를 설정 (192.168.1.201~ 192.168.1.205) 송신 프레임 설정 :Ethernet(V2.0) ⑦ 다음 쪽에 계속 7 - 12 오픈 설정 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 표시합니다. 이전 쪽에서 계속 ⑧ 아래 내용을 설정합니다. 프로토콜 :TCP 오픈 방식 :Unpassive 고정 버퍼 교신 순서 :순서 없음(무수순) 페어링 오픈 :페어로 한다 생존 확인 :확인 안함 자국 포트No. :0401 ⑨ 종료 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 닫습니다. ⑩ 종료 버튼을 클릭하여, 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면을 닫습니다. ⑪ 버튼을 클릭합니다. (프로젝트의 저장) ⑫ 드라이브/경로, 프로젝트 이름을 설정하고, 저장 버튼을 클릭합니다. 드라이브/경로명:A:₩Q-E71 프로젝트 이름 :EX3-B 는 실습기No. 예. 실습기No.1의 경우 EX3-B1 7 - 13 7.3.2 시퀀스 프로그램 시퀀스 프로그램을 작성합니다. PLC CPU A1~A5 측의 Active 오픈에 의해 커넥션을 확립하고, 데이터를 송수신 합니다. 포인트 (1) 무수순으로 교신하는 경우는 데이터 길이의 지정이 바이트 단위로 되어 있으므로 주의하십시오. 순서 있음(수순)으로써 교신을 하는 경우에는 워드 단위입니다. (2) 시퀀스 프로그램을 작성하고 GX Developer로써 아래와 같이 조작하십시오. ① FD로의 저장 드라이브/경로명:A:₩Q-E71 프로젝트 이름 :EX3-B ( 는 실습기No.) 예. 실습기No.1의 경우, EX3-B1 ② 접속 상대 지정(5.2.3항 참조) ③ PLC CPU로의 쓰기(5.2.4항 참조) 7 - 14 (1) 사용 디바이스 일람 디바이스명 SM400 M20 M21 M22 M30 M31 M48 M80 X0~X7 X8 X9 내용 상시 ON. Y40~Y4F 데이터 송신 완료 후, 1스캔만 ON한다. Y70~Y77 데이터 송신이 이상 완료된 경우, 1스캔만 ON한다. 데이터 송신 시에 ON한다. 또한 데이터 송신 이 완료되면 OFF한다. 데이터 수신 완료 후, 1스캔만 ON한다. 데이터 수신이 이상 완료된 경우, 1스캔만 ON한다. 커넥션No.1이 오픈 상태일 때 ON한다. Ethernet 모듈의 커넥션No.1이 데이터 수신 중일 때 ON한다. X0BC PLC CPU A에서 송신된 X0~X7의 정보가 저장 된다. Y78 데이터 수신이 정상 완료되면 ON한다. Y79 데이터 수신이 이상 완료되면 ON한다. Y7A 데이터 송신이 정상 완료되면 ON한다. Y7B 데이터 송신이 이상 완료되면 ON한다. Y0B7 COM. ERR LED 소등 요구. D20~D21 BUFSND명령의 컨트롤 데이터를 저장한다. 데이터 송신을 지시하는 스위치. D23 송신 데이터(X0~X7)를 저장한다. D24 송신 데이터(X20~X2F)를 저장한다. 표시LED 에러 표시의 클리어를 지시하는 스위치. 커넥션No.1이 오픈 완료되면 (X(n+1)C) 저장된다. 송신 데이터 길이를 저장한다. PLC CPU A에 송신할 데이터. (X(n+1)9) PLC CPU A에서 송신된 X20~X2F의 정보가 D22 X0B0 X0B9 내용 PLC CPU A로 송신할 데이터. X20~X2F (X(n+1)0) 디바이스명 D30~D31 ON한다. Ethernet 모듈의 이니셜 처리가 정상 완료 되면 ON한다. COM.ERR LED 점등 시에 ON한다. 7 - 15 BUFRCV명령의 컨트롤 데이터를 저장한다. D32 수신 데이터 길이가 저장된다. D33 수신 데이터(X0~X7)가 저장된다. D34 수신 데이터(X20~X2F)가 저장된다. (2) 시퀀스 프로그램 전용명령의 상세 내용에 대해서는 Q대응 Ethernet 인터페이스 모듈 사용자 매 뉴얼(기본편)의 제10장을 참조하십시오. 드라이브/경로 프로젝트 이름 7 - 16 A:₩Q-E71 EX3-B 7 - 17 7.4 GX Developer에서의 PING 테스트(CPU경유) GX Developer에서의 PING 테스트를 실행합니다. PING 테스트는 자국 Ethernet 모듈의 이니셜 처리가 정상 완료하고, 같은 Ethernet상의 상대기기와 바르게 접속되어 있는지를 확인하는 테스트입니다. PING 테스트를 실행하기 전에 PLC A1~A5, PLC B1~B5의 전원을 투입하고, STOP 상태로 하십시오. <PLC CPU A> IP 어드레스 192.168.1.101 PING 테스트를 실행 Q61P -A1 Q02H CPU QX QY Q64 Q64 E71 42 42P AD DA <PLC CPU B> IP 어드레스 192.168.1. 201 Q61P -A1 조작 순서는 6.4항과 같습니다. 7 - 18 Q02H CPU QX QY Q64 Q64 E71 42 42P AD DA 7.5 실습기의 조작 실습기를 조작하여 Ethernet 경유로 PLC A와 PLC B 간에 데이터가 송수신되는지를 확인합니다. 간단히 하기 위해, PLC A1~A5 측을 PLC A, PLC B1~B5 측을 PLC B로 기재합니다. ① 5.2.4항을 참조하여, PLC A, PLC B에 파라미터와 프로그램을 씁니다. ② PLC A, PLC B 모두를 RUN 상태로 합니다. OFF ON OFF ③ PLC CPU A I/O 패널의 「XA」를 OFF→ON→OFF하여 커넥션을 오픈합니다. PLC CPU B는 파라미터의 동작 설정에서 아래의 내용이 설정되어 있는 바, 오픈 대기 상태 (Unpassive오픈)로 되어 있습니다. XA ④ Ethernet 모듈의 커넥션이 오픈되고, “OPEN”LED 가 점등합니다. QJ71E71-100 RUN INIT OPEN SD ERR. COM.ERR 100M RD OFF ⑤ 송신 측 PLC CPU의 X0~X7을 ON/OFF합니다. 또한, 디지털 스위치(X20~X2F)에 값을 입력합니 다. ON X8 송신 측 PLC CPU I/O 패널의「X8」을 ON하고 데이 터를 송신합니다. X2F X7 X6 X5 X4 X3 X2 X1 X0 Y77 Y76 Y75 Y74 Y73 Y72 Y71 Y70 Y4F X20 ON OFF ⑥ 송신 측의 X0~X7의 상태에 부합하여 수신 측의 Y70~Y77이 점등합니다. 또한, 송신 측 디지털 스위치(X20~X2F)의 값이 수신 측의 LED표시기(Y40~Y4F)에 표시됩니다. Y40 1 4 0 2 다음 쪽에 계속 7 - 19 이전 쪽에서 계속 ON ⑦ I/O 패널에서의 확인이 종료되며, 송신 측 I/O 패널의 「X8」을 OFF하고, 데이터 송신을 종료합 니다. OFF X8 OFF ON OFF 다시 데이터를 송신할 때에는, ⑤부터 실행하십 시오. ⑧ PLC A I/O패널의「XB」를 OFF→ON→OFF하고, 커넥 션을 클로즈합니다. XB QJ71E71-100 RUN INIT OPEN SD ERR. COM.ERR 100M RD ⑨ 커넥션이 클로즈되고, 각 Ethernet 모듈의 “OPEN”LED가 소등합니다. 7 - 20 제8장 과제4(라우터를 경유하는 PLC CPU-PLC CPU 간 고정 버퍼 교신(무수순)) 본 과제에서는 라우터를 경유하여 데이터 교신을 하는 실습을 합니다. 데이터 교신의 내용은 제7장의 과제3의 고정 버퍼(무수순)에 의한 교신을 라우 터를 경유하는 것으로 바꾸어 실행합니다. 8.1 실습 시스템 구성 다음은 과제4에서 실습한 시스템 구성입니다. Ethernet상에는 10장의 PLC CPU가 접속되어 있으나, 과제4에서는 실습기No.가 동일한 PLC CPU 사이에서만 교신합니다. (1) 모듈 구성 *1 사용할 라우터의 설명서에 따라서 라우터를 설정하십시오. (2) 실습 내용 과제3과 실습 내용이 동일한 바, 7.1항(2)을 참조하십시오. 8 - 1 8.2 Ethernet 모듈의 설정(PLC A1~A5) PLC A1~A5측의 Ethernet 모듈에 대해 설정합니다. 8.2.1 GX Developer로써 파라미터를 설정한다 Ethernet 모듈의 파라미터를 GX Developer로써 설정합니다. 설정 내용은 8.1항의 내용과 같게 설정합니다. (1) GX Developer의 기동과 멀티 CPU 설정 5.2.1항과 동일하게 멀티 CPU 설정을 실행하십시오. (2) 네트워크 파라미터 MNET/10H Ethernet 장수 설정 ① 프로젝트 데이터 일람에서 「네트워크 파라미 터」를 더블 클릭합니다. ② 네트워크 파라미터 선택 대화상자가 표시되면, MELSECNET/Ethernet 버튼을 클릭합니다. ③ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면이 표시됩니다. 다음 쪽에 계속 8 - 2 이전 쪽에서 계속 ④ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면의 다음 내용을 설정합니다. 네트워크 종류 :Ethernet 선두I/O번호 :00A0 네트워크No. :1 그룹No. :0 국번 :각 실습기의 국번을 설정 (11~15) 모드 :온라인 ⑤ 동작 설정 버튼을 클릭하여, Ethernet 동작 설정 대화상자를 표시합니다. ⑥ 다음의 내용을 설정하고, 종료 버튼을 클릭하 여, Ethernet 동작 설정 대화상자를 닫습니다. 교신 데이터 코드 설정 :임의 (설정에 관계없이 바이너리 코드로 교신합니다.) 이니셜 타이밍 설정 :상시 OPEN 대기 IP 어드레스 :각 실습기의 IP 어드레스를 설정 (192.168.1.101~ 192.168.1.105) 송신 프레임 설정 :Ethernet(V2.0) ⑦ 다음 쪽에 계속 8 - 3 오픈 설정 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 표시합니다. 이전 쪽에서 계속 ⑧ 다음의 내용을 설정합니다. 프로토콜 :TCP 오픈 방식 :Active 고정 버퍼 교신 순서 :순서 없음(무수순) 페어링 오픈 :페어로 한다 생존 확인 :확인 안함 자국 포트No. :0401 교신 상대IP 어드레스 :각 실습기의 IP 어드레스를 설정(172.16.1.101~ 172.16.1.105) 교신 상대 포트No. :0401 ⑨ 종료 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 닫습니다. ⑩ 라우터 중계 파라미터 버튼을 클릭하여, Ethernet 루틴 정 보 설정 화면을 표시합니다. ⑪ 다음의 내용을 설정하고, 종료 버튼을 클릭하 여, Ethernet 루틴 정보 설정 화면을 닫습니다. 라우터 중계 기능 :사용 서브 네트워크 마스크 패턴 :255.255.255.0 (본 교재에서는 클 래스C의 디폴트를 사용합니다.) 디폴트 라우터 IP 어드레스:192.168.1.254 다음 쪽에 계속 8 - 4 이전 쪽에서 계속 ⑫ 종료 버튼을 클릭하여, 네트워크 파라미터 MNET/10H Ethernet장수 설정 화면을 닫습니다. ⑬ 버튼을 클릭합니다. (프로젝트 저장) ⑭ 드라이브/경로, 프로젝트 이름을 설정하고, 저장 버튼을 클릭합니다. 드라이브/경로명:A:₩Q-E71 프로젝트 이름 :EX4-A 은 실습기No. 예.실습기No.1의 경우 EX4-A1 8.2.2 시퀀스 프로그램 7.2.2항과 동일한 시퀀스 프로그램을 사용하십시오. 포인트 시퀀스 프로그램을 작성하고 GX Developer로써 아래와 같이 조작하십시오. ① FD로의 저장 드라이브/경로명:A:₩Q-E71 프로젝트 이름 :EX4-A ( 은 실습기No.) 예.실습기No.1의 경우, EX4-A1 ② 접속 상대 지정(5.2.3항 참조) ③ PLC CPU로의 쓰기(5.2.4항 참조) 8 - 5 8.3 Ethernet 모듈의 설정(PLC B1~B5) PLC B1~B5측의 Ethernet 모듈에 대해 설정합니다. 8.3.1 GX Developer로써 파라미터를 설정한다 Ethernet 모듈의 파라미터를 GX Developer로써 설정합니다. 설정 내용은 8.1항의 내용과 같게 설정합니다. (1) GX Developer의 기동과 멀티 CPU 설정 5.2.1항과 동일하게 멀티 CPU 설정을 실행하십시오. (2) 네트워크 파라미터 MNET/10H Ethernet 장수 설정 ① 프로젝트 데이터 일람에서 「네트워크 파라미 터」를 더블 클릭합니다. ② 네트워크 파라미터 선택 대화상자가 표시되면, MELSECNET/Ethernet 버튼을 클릭합니다. ③ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면이 표시됩니다. 다음 쪽에서 계속 8 - 6 이전 쪽에서 계속 ④ 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면의 다음 내용을 설정합니다. 네트워크 종류 :Ethernet 선두I/O번호 :00A0 네트워크No. :2 그룹No. :0 국번 :각 실습기의 국번을 설정 (11~15) 모드 :온라인 ⑤ 동작 설정 버튼을 클릭하여, Ethernet 동작 설정 대화상자를 표시합니다. ⑥ 다음의 내용을 설정하고, 종료 버튼을 클릭하 여, Ethernet 동작 설정 대화상자를 닫습니다. 교신 데이터 코드 설정 :임의 (설정에 관계없이 바이너리 코드로 교신합니다.) 이니셜 타이밍 설정 :상시 OPEN 대기 IP 어드레스 :각 실습기의 IP 어드레스를 설정 (172.16.1.101~ 172.16.1.105) 송신 프레임 설정 :Ethernet(V2.0) ⑦ 다음 쪽에서 계속 8 - 7 오픈 설정 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 표시합니다. 이전 쪽에서 계속 ⑧ 다음의 내용을 설정합니다. 프로토콜 :TCP 오픈 방식 :Unpassive 고정 버퍼 교신 순서 :순서 없음(무수순) 페어링 오픈 :페어로 한다 생존 확인 :확인 안함 자국 포트No. :0401 ⑨ 종료 버튼을 클릭하여, 네트워크 파라미터 Ethernet 오픈 설정 화면을 닫습니다. ⑩ 라우터 중계 파라미터 버튼을 클릭하여, Ethernet 루틴 정 보 설정 화면을 표시합니다. 본 루틴 정보 설정은 8.4항에 기재한 PING 테스 트용입니다. 본 장의 데이터 교신만 실행하는 경우에는, 본 루틴 정보를 설정할 필요가 없습니다. ⑪ 다음의 내용을 설정하고, 종료 버튼을 클릭하 여, Ethernet 루틴 정보 설정 화면을 닫습니다. 라우터 중계 기능 :사용 서브 네트워크 마스크 패턴 :255.255.0.0 (본 교재에서는 클래스B의 폴트를 사용합니다.) 디폴트 라우터 IP 어드레스 :172.16.1.254 ⑫ 종료 버튼을 클릭하여, 네트워크 파라미터 MNET/10H Ethernet 장수 설정 화면을 닫습니다. 다음 쪽에 계속 8 - 8 이전 쪽에서 계속 ⑬ 버튼을 클릭합니다. (프로젝트 저장) ⑭ 드라이브/경로, 프로젝트 이름을 설정하고, 저장 버튼을 클릭합니다. 드라이브/경로명:A:₩Q-E71 프로젝트 이름 :EX4-B 은 실습기No. 예.실습기No.1의 경우 EX4-B1 8.3.2 시퀀스 프로그램 7.3.2항과 동일한 시퀀스 프로그램을 사용하십시오. 포인트 시퀀스 프로그램을 작성하고 GX Developer로써 아래와 같이 조작하십시오. ① FD로의 저장 드라이브/경로명:A:₩Q-E71 프로젝트 이름 :EX4-B ( 은 실습기No.) 예.실습기No.1의 경우, EX4-B1 ② 접속 상대 지정(5.2.3항 참조) ③ PLC CPU로의 쓰기(5.2.4항 참조) 8 - 9 8.4 PC에서의 PING 테스트 MX Component를 실습한 PC에서 PLC B측에 대하여, PING 테스트를 실행합니다. PING 테스트는 PLC B측 Ethernet 모듈의 이니셜 처리가 정상 완료되고, PC와 PLC B측이 바르게 접속되어 있는지를 확인하는 테스트입니다. PING 테스트를 실행하기 전에 PLC A1~A5, PLC B1~B5의 전원을 투입하고 STOP 상태 로 하십시오. PC측의 조작 순서 예는 6.4항의 비고를 참조하십시오. 8.5 실습기의 조작 7.5항과 같습니다. 8 - 10 부 록 부1 Visual Basic R Version6 부1.1 Visual Basic 의 기동 R 【기동】 ① [시작]-[프로그램]-[Microsoft Visual Studio 6.0]-[Microsoft Visual Basic 6.0]을 클릭합니다. 【애플리케이션의 읽기】 ① [파일(F)]-[프로젝트를 열기(0)]를 선택합니다. ② A 드라이브에 텍스트FD를 넣고, 드라이브(V)를 [a:]로 선택합니다. ③ 프로젝트 파일명을 선택하고, [열기]버튼을 클릭합니다. 프로젝트에 포함되어 있는 모든 파일이 읽혀집니다. 부 - 1 【Visual Basic ② 툴 박스 ① 툴 바 R 화면】 ③ 폼 창 ④ 프로젝트 창 ⑥ 코드 창 ⑤ 속성 창 ① 툴(도구) 바 자주 사용하는 커맨드는 여기에서 선택할 수 있습니다. ② 툴 상자 폼상에 배치할 컨트롤을 선택하기 위한 창입니다. ③ 폼(형식) 창(윈도우) 애플리케이션(응용)의 기본이 되는 창입니다. 폼상에 컨트롤을 배치하고자 하는 인터페이스를 작성합니다. ④ 프로젝트 창 프로젝트(응용 프로그램)를 구성하는 파일의 일람이 표시됩니다. ⑤ 속성 창 컨트롤에 형식이나 색 등의 속성을 설정하기 위한 창입니다. ⑥ 코드 창 폼상에 배치한 오브젝트를 더블 클릭하면 창이 표시되며, 여기에 Basic 코드(프로그램)를 기술합니다. 부 - 2 【폼 창의 표시】 프로젝트 창에서 폼 모듈 파일을 선택하고, [폼]버튼을 클릭합니다. 【코드 창의 표시】 폼에서 컨트롤을 더블 클릭합니다. 또는 프로젝트 창에서 폼 모듈 파일을 선택하고, [코드]버튼을 클릭합니다. 【속성 창의 표시】 속성 창의 안쪽을 클릭합니다. 또는 폼 창을 활성화하고, [표시(V)]→[속성 창(S)](툴 바의 창))을 선택합니다. 【실행】 [실행(R)]→[시작(S)](툴 바의 (시작))을 선택합니다. 【애플리케이션의 종료】 [실행(R)]→[종료(E)](툴 바의 (종료))를 선택합니다. 또는 애플리케이션의 타이틀바 아이콘에서 [열기(C)]를 선택합니다. 【종료】 [파일(F)]→[종료(X)]를 선택합니다. 부 - 3 (속성 부1.2 개략 커맨드 For...Next 스테이트먼트 기능 지정한 횟수에 한해 일련의 스테이트먼트(구문)를 반복하는 플로(흐름) 제어 스테이트먼트 입니다. 서식 For counter = start To end[Step step] [statements] [Exit For] [statements] Next[counter] For...Next 스테이트먼트의 지정 항목은 다음과 같습니다. 지정 항목 내용 counter 루프 카운터에 사용할 수치 변수를 지정합니다. 사용자 정의형 요소는 지정할 수 없습니다. start 인수 counter의 초기값을 지정합니다. end 인수 counter의 최종값을 지정합니다. step 루프를 반복할 때마다 인수 counter에 가산될 값을 지정합니다. 인수 step을 생략하면, 루프를 반복할 때마다 인수 counter에는 1이 가산됩니다. statements 해설 루프 내에서 실행될 일련의 스테이트먼트로써, For와 Next 사이에 기술합니다. 여기에 기술한 스테이트먼트는 For...Next에서 지정한 횟수만큼 실행 됩니다. 인수 step에는 양수, 음수를 지정할 수 있습니다. 인수 step에서 지정한 값에 의해 루프는 다음과 같이 제어됩니다. 설정값 양수 또는 0 음수 실행 조건 counter<=end counter>=end 프로그램의 실행이 루프로 옮겨져서 실행되고, 루프 내의 일련의 스테이트먼트가 모두 실 행되면, 인수 step의 값이 인수 counter에 가산됩니다. 이 시점에서 종료 조건이 충족되지 않은 경우에는 루프 내의 스테이트먼트가 다시 실행되 고, 이외에는 루프에서 벗어난 Next 스테이트먼트의 다음의 스테이트먼트로 제어가 넘겨집 니다. Exit For 스테이트먼트는 제어구조 For Each...Next 또는 For...Next 안에서만 사용할 수 있으며, 지정한 횟수 이외의 조건에서 For...Next를 종료시킬 수 있습니다. Exit For 스테이트먼트는 For Each...Next 또는 For...Next 루프 내의 임의의 위치에 몇 번이라도 지정할 수 있습니다. Exit For는 조건 평가(예를 들어If...Then 등)와 마찬가지로 사용되는 경우가 많으며, Next 직후의 스테이트먼트로 제어를 넘깁니다. For...Next 루프는 네스팅(입자) 구조로 할 수 있습니다. 즉, For...Next 루프의 내부에 별도의 For...Next 루프를 넣을 수 있습니다. 루프를 네스팅(입자)시킬 때에는 각각의 인수 counter에 별도의 변수명을 지정하십시오. 다음은 바르게 작성한 스테이트먼트의 예입니다. 부 - 4 For I = 1 To 10 For J = 1 To 10 For K = 1 To 10 ... Next K Next J Next I 주의 Next 스테이트먼트의 인수 counter를 생략하면, 인수 counter가 지정되어 있는 것처럼 실행을 계속합니다. Next 스테이트먼트가 대응하는 For 스테이트먼트보다 앞에 있으면 에러가 발생합니다. 부 - 5 Hex 함수 기능 지정한 값을 16진수의 문자열로 표시합니다. 서식 Hex(number) 인수number에는 임의의 수식 또는 문자열 식을 지정합니다. 해설 인수number가 정수가 아닌 경우, 변환하기 전에 한 번 가까운 정수로 바꿉니다. number값 Null Empty 그 밖의 수치 반환값 Null값 0 16진수를 표시하는 최대 8자리의 문자열 적절한 범위의 값 앞에 &H를 부가하면, 값을 직접 16진수로 기술할 수 있습니다. 예를 들어, 10진수의 16을 &H10과 같이 16진수로 표기할 수 있습니다. 부 - 6 If...Then...Else 스테이트먼트 기능 식의 값을 기준으로 조건을 부가하여 실행하는 플로(흐름) 제어 스테이트먼트입니다. 서식 If condition Then statements[Else elsestatements] 또는 다음에 표시한 블록 형식의 구문을 사용할 수도 있습니다. If condition Then [statements] [ElseIf condition-n Then [elseifstatements]]... [Else [elsestatements]] End If If...Then...Else 스테이트먼트의 지정 항목은 다음과 같습니다. 지정 항목 내용 condition 다음의 2종류의 식 중에서 지정합니다. 참(True)인지 거짓(False)인지를 평가하는 수식 또는 문자열 식. 인수 condition 값이 Null인 경우, 인수 condition은 거짓(False)으로 간주됩니다. TypeOf objectname Is objecttype 형식의 식. 인수objectname은 임의의 오브젝트의 참조용이며, 인수objecttype은 임의의 유효한 오브젝트형입니다. 본 식은 인수objectname이 인수objecttype으로 지정된 오브젝트형 이라면 참(True)을, 이외일 때는 거짓(False)을 반환합니다. statements 인수 condition이 참(True)일 때 실행됩니다. 콜론(:)으로 구분된 일련의 스테이트먼트를 지정합니다. condition-n 인수 condition과 동일. elseifstatements 인수 condition-n이 참(True)일 때 실행되며, 일련의 스테이트먼트를 지정합니다. elsestatements Else 이전에 정의되어 있는 조건(인수 condition 또는 인수 condition-n)의 어느 것도 참(True)이 아닌 경우에 실행되며, 일련의 스테이트먼트를 지정합니다. 해설 1행의 If...Then...Else 스테이트먼트(제1의 구문)는 짧고 간단한 조건을 판단할 때에 사용합니다. 블록 형식의 If...Then...Else 스테이트먼트(제2의 구문)는 1행의 구문에 비하여 보다 구조화되고 유연하게 기술할 수 있습니다. 또한, 코드를 읽기가 수월하고 보수성이 향상되어 디버그도 쉽게 할 수 있습니다. 부 - 7 주의 제1의 구문에서도 1개의 조건에 대해 여러 개의 스테이트먼트를 기술할 수 있습니다만, 이 경우는 다음과 같이 콜론으로 구분하여 1행으로 기술할 필요가 있습니다. If A>10 Then A=A+1:B=B+A:C=C+B 블록 형식의 If(제2의 구문)가 실행되면, 처음으로 인수 condition이 평가됩니다. 인수 condition이 참(True)이면, Then으로 계속 스테이트먼트가 실행됩니다. 인수 condition이 거짓(False)이면, 대신하여 ElseIf로 지정한 조건(condition-n)이 평가 됩니다. 어느 하나의 조건이 참(True)이면, 대응하는 Then으로 계속 스테이트먼트가 실행됩니다. ElseIf로 지정된 조건식이 모두 거짓(False)일 때(또는 ElseIf절이 없을 때)는, Else로 계속 스테이트먼트가 실행됩니다. Then 또는 Else로 계속되어진 스테이트먼트의 실행이 종료되면, End If의 다음 스테이트 먼트에서 프로그램이 계속 실행됩니다. Else절과 ElseIf절은 모두 필요에 따라 정의합니다. 또한, 블록 형식의 If에서는 ElseIf절이 몇 개가 지정되어도 관계없습니다. 단, Else절 이후에는 ElseIf절을 지정할 수 없습니다. 또한, 블록 형식의 If는 네스팅(입자) 구조로 작성할 수 있습니다. 부 - 8 부1.3 용어 폼 애플리케이션의 인터페이스의 기본이 되는 창입니다. 애플리케이션은 적어도 1개의 폼으로 구성됩니다. 컨트롤 폼의 가운데에 배치시키는 다양한 부품입니다(커맨드 버튼이나 텍스트 상자 등). 오브젝트 폼이나 컨트롤 등 사용자가 조작을 하는 대상이 되는 것을 총칭하여 오브젝트 라고 합니다. 속성 오브젝트의 속성입니다. 속성에 값을 설정함으로써 오브젝트의 크기, 색, 화면상의 표시 위치 등 외관 의 특징이나 크기를 변경할 수 있는지의 여부를 정의할 수 있습니다. 이벤트 마우스를 클릭하거나, 키를 누르는 등의 동작입니다. 오브젝트의 종류에 따라 인식할 수 있는 이벤트는 다릅니다. 애플리케이션에는 이벤트 별로 대응하는 처리를 Basic코드로써 기술합니다. 이벤트는 주로 사용자가 오브젝트를 조작함으로써 발생합니다만, 이외에도 프 로그램 자체에서 발생하거나, 시스템에서 발생하는 것도 있습니다. 메소드 오브젝트를 제어하기 위한 키워드입니다. 오브젝트명, 메소드의 형식으로 기술합니다. 부 - 9 부1.4 툴 상자 일람 폼에 컨트롤을 배치할 때는, 툴 상자상의 버튼을 사용합니다. 컨트롤 기 능 폼과 배치되어 있는 컨트롤을 이동시키고 크기를 변경한다. 포인터는 컨트롤이 포인터 아니다. 그리기 상자 비트맵, 아이콘, Microsoft Windows의 파일 등을 표시한다. 텍스트를 표시하거나 그리기 상자의 가운데에 그 밖의 컨트롤을 배치할 수 있다. 라벨 텍스트를 표시한다. 이러한 텍스트는 사용자가 직접 입력하거나 변경할 수 없다. 텍스트 상자 텍스트를 입력하거나 표시한다. 프레임 외관이나 기능별로 컨트롤을 프레임 내에 배치하고 그룹으로 나눈다. 커맨드 버튼 사용자가 선택한 커맨드나 조작을 실행한다. 체크 상자 옵션 버튼 온(체크)과 오프(미체크)를 설정한다. 동시에 여러 개의 체크 상자를 온할 수 있다. 복수의 항목에서 1개를 선택하기 위한 버튼. 여러 개의 옵션 버튼을 1개의 그룹으로 하여 사용한다. 리스트 상자 리스트를 표시하여, 이 중에 항목을 사용자가 선택할 수 있도록 한다. 콤보 상자 텍스트 상자와 리스트 상자를 조합하여 사용한다. 수평 및 수직 볼륨의 설정 등 범위 내에서 연속으로 변화하는 값을 표시하거나 설정할 때에 스크롤바 사용한다. 타이머 일정한 시간 간격 별로 이벤트가 발생하도록 한다. 드라이브 리스트 상자 유효한 디스크 드라이브의 리스트를 표시하고, 사용자가 선택할 수 있도록 한다. 디렉토리 리스트 상자 디렉토리 경로를 표시하고, 사용자가 선택할 수 있도록 한다. 파일 리스트 상자 디렉토리 내의 파일명을 표시하고, 사용자가 선택할 수 있도록 한다. 모양 폼 내에서 직사각형, 타원, 원을 그릴 때 사용한다. 선 폼 내에서 선을 그릴 때 사용한다. 이미지 비트맵, 아이콘, Windows의 파일 등을 표시한다. 클릭하면, 커맨드 버튼과 동일하게 동작한다. 데이터 기존의 데이터베이스에 접속하고, 이 정보를 폼 상에 표시한다. OLE 작성할 애플리케이션에서 OLE 오브젝트를 이용할 수 있도록 한다. 부 - 10 표준 툴 상자(도구 모음)에 준비되어 있지 않은 컨트롤을 ActiveX 컨트롤라고 합니다. 사용자 컨트롤은 [프로젝트]메뉴의 [구성 요소]커맨드를 사용하여 컨트롤을 추가/삭제할 수 있습니다. 【컨트롤의 추가】 ① [프로젝트]-[구성 요소]를 선택합니다. ② 추가할 컨트롤의 체크 상자를 온으로 하고 [확인]를 선택합니다. 비 고 MX Component를 사용하는 경우에는 “MITSUBISHI Act~”를 추가합니다. 부 - 11 부1.5 툴 바 일람 자주 사용하는 커맨드를 간단하게 호출하기 위한 버튼이 준비되어 있습니다. 버튼 명 칭 기 능 표준 EXE ActiveX EXE 현재 열려 있는 프로젝트 그룹에 추가할 수 있는 프로젝트의 종류가 서브 메뉴에 표시된다. ActiveX DLL 아이콘은 최후에 추가된 프로젝트 종류로 바뀐다. ActiveX 컨트롤 폼 모듈 MDI폼 모듈 표준 모듈 작업 중인 프로젝트에 추가할 수 있는 항목 일람이 서브 메뉴에 표시 클래스 모듈 된다. 아이콘은 최후에 추가된 오브젝트로 바뀐다. 사용자 컨트롤 속성 페이지 사용자 도큐먼트 메뉴 에디터 프로젝트 열기 [메뉴 에디터]대화상자를 표시한다. 프로젝트를 로드하면, 현재 열려 있는 프로젝트는 닫히고, 로드한 프로젝트가 열린다. 프로젝트 저장 현재의 프로젝트와 모든 컴포넌트가 저장된다. 잘라내기 선택한 컨트롤 또는 문자열을 삭제하고, 클립보드에 전송한다. 복사 선택한 컨트롤 또는 문자열을 클립보드에 복사한다. 붙여넣기 클립보드의 내용을 현재의 커서위치에 삽입한다. 찾기 [찾기]대화상자에서 지정한 범위 내에서 지정된 문자열을 찾는다. 실행 취소 최후에 실행된 편집 조작을 취소한다. 다시 실행 [실행 취소]조작후 그 밖의 조작을 실행하지 않은 경우에, 최후에 편집한 문자열을 복원한다. 시작 디자인 시에 작성 중인 애플리케이션을 실행한다. 중단 프로그램의 실행이 중지되고 중지 모드로 전환된다. 부 - 12 버튼 명 칭 기 능 종료 프로그램의 실행이 중지되고, 디자인 시에 복구된다. 프로젝트 익스플로러 프로젝트 창을 표시한다. 속성 창 속성 창을 표시한다. 폼 레이아웃 창 폼 레이아웃 창을 표시한다. 오브젝트 브라우저 오브젝트 브라우저를 표시한다. 툴 상자 툴 상자를 표시한다. 데이터 뷰 창 데이터 뷰 창을 표시한다. Visual Component Manager Visual Component Manager를 표시한다. 부 - 13 부1.6 속성 일람 속성 기 능 Action OLE클라이언트가 실행하는 조작. ActiveContol 포커스가 있는 컨트롤. ActiveForm 포커스가 있는 폼. Align 그리기 상자의 표시 방법. Alignment Caption 속성의 배치. Appearance 컨트롤의 외관 표시를 플랫으로 할 것인지의 여부. AppIsRunning OLE 컨테이너 중의 오브젝트의 작성 소스 애플리케이션을 기동할 것인지의 여부. Archive 파일 리스트 상자에 아카이브 속성의 파일을 표시할 것인지의 여부. AutoActivate OLE 컨테이너에서 오브젝트를 활성화하기 위한 방법 설정. AutoRedraw 그래픽 다시 그리기를 자동으로 실행할 것인지의 여부. AutoShowChildren MDI子폼 로드 시에 표시할 것인지의 여부. AutoSize 컨트롤의 크기를 내용에 맞추어 자동 변경할 것인지의 여부. AutoVerbMenu OLE 컨테이너를 마우스의 오른쪽 클릭 시에 팝업 메뉴를 표시할 것인지의 여부. BackColor 오브젝트의 배경색. BackStyle 라벨이나 모양의 배경. BoderColor 컨트롤의 경계색. BoderStyle 컨트롤의 경계선의 스타일. BorderWidth 컨트롤의 경계선의 폭. Calendar 프로젝트에서 사용하고 있는 달력의 종류 설정. Cancel 커맨드 버튼을 취소 버튼으로 할 것인지의 여부. Caption 폼의 제목, 컨트롤로써 표시하는 텍스트. Checked 메뉴 커맨드에 체크 마크를 부가할 것인지의 여부. Class 임베드된 OLE 오브젝트의 클래스명. ClipControls 그래픽 그리기 시에 오브젝트 전체를 다시 그릴 것인지의 여부. Columns 리스트 상자의 스크롤 방향. ControlBox 실행 시, 폼에 컨트롤 메뉴 상자를 표시할 것인지의 여부. Count 로드되어 있는 폼, 폼상의 컨트롤의 수. CurrentX 표시 시작점의 X좌표. CurrentY 표시 시작점의 Y좌표. Data 데이터가 저장된 메모리나 GDI 오브젝트의 핸들. DataBindingBehavior 오브젝트를 데이터 소스와 바인드하는 방법을 지정. DataChanged 현재 컨트롤 내에 있는 데이터는 커렌트 코드 내의 데이터와 다르게 할지의 여부. DataField 연결되어 있는 데이터베이스의 필드명 설정. DataFormat 연결되어 있는 ADO 데이터 컨트롤에서, 이 control에 표시할 데이터 형식의 설정. DataMember 연결되어 있는 ADO 데이터 컨트롤이 참조할 데이터세트의 데이터 멤버명을 설정. DataSource 연결할 데이터 컨트롤명을 디자인 시에 설정. DataSourceBehavior 데이터 소스로써 기능할 것인지의 여부. DataText OLE 오브젝트의 문자열. 부 - 14 속성 기 능 Default 디폴트가 되는 커맨드 버튼. DisplayType 오브젝트의 표시 형태 설정. DownPicture 컨트롤을 클릭하여 아래로 눌려진 상태일 때에 표시시킬 그림 설정. DragIcon 드래그 앤 드롭 조작 시에 포인터가 되는 아이콘. DragMode 드래그 앤 드롭 조작 시의 모드. DrawMode 그래픽의 외관. DrawStyle 그래픽 메소드에서 사용하는 선의 종류. DrawWidth 그래픽 메소드에서 사용하는 선의 폭. Drive 드라이브 리스트 상자에서 실행할 때에 선택되어 있는 드라이브의 확보와 설정. Enabled 오브젝트가 이벤트를 인식할 것인지의 여부. EXEName 실행 가능 파일의 루트명. FileName 파일 리스트 상자에서 선택되어 있는 파일의 파일명. FileNumber OLE 오브젝트의 저장, 로드 시의 파일번호. FillColor 도형 내부 채우기 FillStyle 도형 내부를 채우기한 패턴. FontBold 폰트(글꼴)의 볼드 지정. FontCount 이용 가능한 폰트의 개수를 확보. FontItalic 이탤릭체의 폰트 지정. FontName 폰트 지정. Fonts 폰트명 확보. FontSize 폰트 크기 설정. FontStrikeThru 폰트의 취소선 지정. FontTransparent 폰트의 배경을 투과하여 표시. FontUnderline 폰트의 아랫선 지정. ForeColor 폰트의 색. Format 서버 애플리케이션의 데이터 설정, 확보 시의 데이터 형식. HasDC 디스플레이 문맥을 컨트롤로 할당할 것인지의 여부. hdc 디바이스 문맥의 핸들. Height 오브젝트의 높이. HelpContextID 도움말에 대응하는 문맥번호. HelpFile 애플리케이션의 도움말 파일의 이름. Hidden 파일 리스트 상자에 숨겨진 속성의 파일을 표시할 것인지의 여부. HideSelection 컨트롤이 포커스가 잘못되었을 때, 선택되어 있는 텍스트를 강조하여 표시할 것인지의 여부. HostName 클라이언트 애플리케이션의 이름. hWnd 오브젝트의 핸들. Icon 폼을 아이콘화하는 경우의 아이콘. Image 계속 표시 속성을 갖고 있는 비트맵에 대응하는 핸들. IMEMode 컨트롤이 포커스를 갖고 있는 경우에 지정되는 IME 모드. Index 컨트롤 배열 내의 컨트롤을 특정하게 하는 번호. 부 - 15 속성 기 능 Instancing ActiveX 클래스 모듈의 인스턴스 동작을 설정. IntegralHeight 모든 항목이 리스트상에 표시될 수 있도록 리스트의 높이를 자동적으로 변경할 것인지의 여부. Interval 타이머 컨트롤의 타이머 이벤트가 발생하는 시간 간격. ItemData 콤보 상자나 리스트 상자의 각 항목의 번호. Key 컬렉션 내의 고유의 멤버를 인식하는 문자열. KeyPreview 폼과 컨트롤의 키보드 이벤트의 실행 순서. LargeChange 스크롤바를 클릭하는 경우의 스크롤 량. LBound 컨트롤 배열의 인덱스번호의 최소값. Left 오브젝트의 왼쪽 끝과 컨테이너 왼쪽 끝의 거리. LinkItem DDE통신에서 데스티네이션 컨트롤로 넘어가는 데이터. LinkMode DDE통신의 링크 타입. LinkTimeout DDE메시지에 대한 컨트롤의 대기 시간. LinkTopic DDE통신으로 수신된 데이터. List 리스트 항목. ListCount 리스트 항목수. ListIndex 선택되어 있는 리스트 항목의 인덱스번호. Locked 텍스트 또는 행을 변경할 수 없도록 록(잠금)할 것인지의 여부. lpOleObject OLE 오브젝트의 어드레스. MaskColor 컨트롤의 그리기에서 마스크(투명)되는 색 설정. Max Value 속성의 최대값. MaxButton 폼에 최대화 버튼을 표시할 것인지의 여부. MaxLength 텍스트 상자의 텍스트 속성의 길이. MDIChild 폼을 MDI 폼의 하위 폼으로 할 것인지의 여부. Min Value 속성의 최소값. MinButton 폼에 최소화 버튼을 표시할 것인지의 여부. MiscFlags 이용하는 확장 기능의 설정. MouseIcon MousePointer 속성을 99로 설정한 경우에 사용하는 사용자정의 아이콘의 설정. MousePointer 마우스 포인터의 종류. Moveable 폼을 이동할 수 있게 할 것인지의 여부. MultiLine 텍스트 상자에서 복수행 입력할 수 있게 할 것인지의 여부. MultiSelect 리스트 상자에서 복수의 항목을 선택할 수 있게 할 것인지의 여부. Name 프로그램에서 참조하는 오브젝트의 이름. Negotiate 활성 오브젝트의 툴 바를 표시하는 경우에, 컨트롤을 표시할 것인지의 여부. NegotiateMenus 폼 메뉴바에 폼상의 오브젝트에서 메뉴를 취급할 것인지의 여부. NegotiatePosition 최상위 레벨의 메뉴 컨트롤을 메뉴바에 표시할 것인지의 여부. NegotiateToolbars 활성 오브젝트의 툴 바를, MDI폼상에 표시할 것인지의 여부. NewIndex 리스트 상자에 최후에 부가된 항목의 인덱스번호. Normal 파일 리스트 상자에 기본 속성의 파일을 표시할 것인지의 여부. Object 오브젝트 또는 오브젝트의 속성 또는 메소드의 확보. 부 - 16 속성 ObjectAcceptFormats 기 능 오브젝트에 수납할 수 있는 데이터 형식의 일람. ObjectAcceptFormatsCoun 수납할 수 있는 데이터 형식 일람에 포함된 요소의 수. t ObjectGetFormats 오브젝트가 제공할 수 있는 데이터 형식 일람. ObjectGetFormatsCount 제공할 수 있는 데이터 형식 일람에 에 포함된 요소의 수. ObjectVerbFlags OLE 동작에 대응하는 메뉴의 상태. ObjectVerbs 오브젝트가 지원하는 일련의 OLE 동작. ObjectVerbsCount 오브젝트가 지원하는 OLE 동작의 수. OLEDragMode OLE 드래그 앤 드롭 조작의 처리를 프로그램이 수행할 것인지의 여부. OLEDropAllowed OLE 컨테이너가 드롭 타겟이 될지의 여부. OLEDropMode control이 드롭조작을 처리하는 방법. OLEType OLE 컨테이너 중의 오브젝트의 상태. OLETypeAllowed OLE 컨테이너에 들어갈 수 있는 오브젝트의 형식. Page 인쇄 시 현재의 항번호. Palette 컨트롤에서 사용하는 팔레트가 저장된 비트맵 이미지의 설정. PaletteMode 오브젝트에 배치된 컨트롤에서 사용하는 팔레트 모드의 설정. Parent 컨트롤이나 하위 폼의 기본에 해당하는 폼. PasswordChar 텍스트 상자에서 경로를 워드로 입력할 때의 표시 문자열. Paste확인 클립보드의 내용을 OLE클라이언트 컨트롤에 붙여넣기할 수 있게 할 것인지의 여부. Path 현재 전개되어 있는 디렉토리의 절대 경로. Pattern 파일 리스트 상자에 표시할 파일명의 패턴. Persistale 오브젝트가 인스턴스 사이에서 데이터를 저장, 복원할 수 있게 할 것인지의 여부. Picture 컨트롤 내에 표시할 비트맵 또는 아이콘. Public 컨트롤을 다른 애플리케이션과 공유 할 수 있게 할 것인지의 여부. ReadOnly 파일 리스트 상자에 읽기 전용의 속성 파일을 표시할 것인지의 여부. RightToLeft 텍스트의 표시방향을 표시하는 풀 값. ScaleHeight 오브젝트의 수직 방향의 길이. ScaleLeft 오브젝트의 왼쪽 끝의 수평 좌표. ScaleMode 오브젝트의 좌표계의 단위. ScaleTop 오브젝트의 위쪽 끝의 수직 좌표. ScaleWindth 오브젝트의 수평 방향의 길이. ScrollBars 수평 및 수직 스크롤바의 설정. SelCount 리스트 상자 컨트롤에서 선택되어 있는 항목의 수. Selected 리스트 상자 내의 항목이 선택 상태로 되어 있는지의 여부. SelLength 선택되어 있는 텍스트의 문자수. SelStart 선택되어 있는 텍스트의 시작점. SelText 선택되어 있는 텍스트의 문자열. Shape 모양 컨트롤의 유형. Shortcut 메뉴의 단축키. ShowInTaskbar 폼 오브젝트를 태스크바에 표시시킬 것인지의 여부. 부 - 17 속성 기 능 SizeMode 오브젝트가 입력되었을 때의 OLE 컨테이너의 크기나 이미지를 표시하는 방법의 설정. SmallChange 스크롤바의 스크롤 화살표를 클릭하는 경우의 스크롤량. Sorted 리스트 상자 내의 항목을 자동적으로 소트(정렬)할 것인지의 여부. SourceDoc 파일을 기준으로 OLE 오브젝트를 작성할 때의 파일명. SourceItem 파일을 기준으로 OLE 오브젝트를 작성할 때의 데이터. StartUpPosition 폼의 초기 표시 위치의 설정. Stretch 이미지 컨트롤의 크기에 맞도록 그림의 크기를 변경할 수 있게 할 것인지의 여부. Style 콤보 상자의 종류. System 파일 리스트 상자에 시스템 속성의 파일을 표시할 것인지의 여부. TabIndex Tab 키로 컨트롤의 포커스를 이동할 때의 순서. TabStop Tab 키를 사용하여 포커스를 이동할 때, 이 오브젝트에 포커스가 옮겨질 것인지의 여부. Tag 프로그램에서 참조하기 위한 데이터를 저장할 문자열. Text 텍스트 상자, 콤보 상자, 클립 상자에 표시할 텍스트. ToolTipText 실행 시에 control상에 마우스가 위치할 때 표시할 텍스트의 설정. Top 오브젝트의 위쪽 끝과 컨테이너의 위쪽 끝 간의 거리. TopIndex 리스트 상자에서 가장 위쪽 끝에 표시할 항목. TwipsPerPixelX 오브젝트의 수평 방향의 픽셀당 twip수. TwipsPerPixelY 오브젝트의 수직 방향의 픽셀당 twip수. UBound 컨트롤 배열 내의 컨트롤 인덱스번호의 최대값. UpdateOptions 서버와의 링크 종류. UseMaskColor MaskColor 속성으로 설정한 색을 마스크색으로 하여 사용할 것인지의 여부. UseMnemonic Caption 속성의 문자열에 앰퍼샌드를 사용하여 액세스 키를 정의할 것인지의 여부. Value 체크 상자, 옵션 버튼이 선택되어 있는 위치ㆍ스크롤바의 현재 위치. Verb OLE 오브젝트가 활성화되어 있을 때에 실행하는 조작. Visible 오브젝트를 화면에 표시할 것인지의 여부. WhatsThisButton 폼의 타이틀바에 [?] 버튼을 표시할 것인지의 여부. WhatsThisHelp 문맥 도움말과 메인 도움말 창 중에 어느 것을 사용할 것인지의 여부. WhatsThisHelpID 오브젝트에 대응하는 도움말 항목의 문맥번호 설정. Width 오브젝트의 폭. WindowList 메뉴를 사용하여 MDI 하위 창의 관리를 할 것인지의 여부. WindowState 폼 창의 표시 상태. WordWrap 라벨의 폭을 Caption 속성에 대응하여 넓혀지게 할 것인지의 여부. X1, X2, Y1, Y2 선 컨트롤의 시작점(X1, Y1), 종료점(X2, Y2)의 좌표. 부 - 18 부1.7 메소드 일람 메소드 기 능 AddItem 리스트 상자, 클립 등에 항목을 추가. Arrange MDI 폼상의 창, 아이콘을 정렬. Circle 원, 타원, 원호 그리기. Clear 리스트 상자의 내용 클리어. Close 오브젝트를 닫고 오브젝트를 제공하고 있는 애플리케이션과의 접속을 종료. Cls 텍스트, 그래픽의 클리어. Copy OLE 컨테이너의 오브젝트를 클립보드에 복사. CreatEmbed 매립 오브젝트를 작성. CreateLink 파일의 내용에서 링크 오브젝트를 작성. Delete 지정된 오브젝트를 삭제하고 할당된 메모리를 해제. DoVerb OLE 오브젝트가 실행될 OLE 동작을 설정. Drag 컨트롤의 드래그 동작을 지정. Enddoc 인쇄 디바이스나 출력을 스풀링으로 처리. FetchVerbs 오브젝트가 지원하는 OLE 동작의 일람 갱신. GetData 클립보드에 로드되어 있는 그림을 반환. GetFormat 클립보드 내의 데이터의 형식을 반환. GetText 클립보드에서 텍스트 문자열을 반환. Hide 폼을 숨기기로 한다. Item 정수 또는 키 문자열로 지정한 Collection 오브젝트의 멤버를 반환. Line 오브젝트에 선 또는 사각형을 그린다. LinkExecute DDE통신의 소스 애플리케이션으로 커맨드 문자열을 전송. LinkP확인e DDE통신의 소스 애플리케이션으로 컨트롤의 내용을 전송. LinkRequest DDE통신의 소스 애플리케이션으로 컨트롤 내용의 갱신을 요구. LinkSend DDE통신의 데스티네이션 애플리케이션으로 그리기 컨트롤의 내용을 전송. Move 폼이나 컨트롤의 이동. NewPage 현재의 페이지를 종료하고, 다음 페이지로 이동. OLEDrag OLE 드래그 앤 드롭 조작의 시작. PaintPicture 폼, 그리기 상자, Printer 오브젝트상의 임의의 위치에 그래픽 그리기. Paste 클립보드에서 OLE 컨테이너에 데이터를 첨부. PasteSpecialDlg 「형식을 선택하여 붙여넣기」대화상자의 표시. Point 폼이나 그리기상의 지정된 점의 색 확보. PopupMenu 현재의 마우스의 위치 또는 지정된 좌표에 단축키 메뉴를 표시. Print 현재 설정되어 있는 폰트와 색으로 오브젝트에 문자열을 출력. PrintForm 폼상의 비트 단위의 이미지를 프린터에 전송. PSet 지정한 색으로 오브젝트에 점 그리기. 부 - 19 메소드 기 능 ReadFromFile SaveToFile 메소드로 작성한 데이터 파일에서 오브젝트 읽기. Refresh 폼이나 컨트롤을 강제적으로 갱신. Remove 컬렉션에서 항목 삭제. RemoveItem 리스트 상자, 콤보 상자에서 항목을 삭제하고, 클립에서 행을 삭제. SaveToFile 데이터 파일에 오브젝트를 저장. SaveToOle1File 오브젝트를 OLE Version 1.0 파일의 형식으로 저장. Scale 컨트롤의 좌표계를 정의. ScaleX/ScaleY ScaleMode 속성으로 설정되어 있는 단위에서 다른 단위로 변환. SetData 그리기를 클립보드에 전송. SetFocus 지정된 컨트롤 또는 폼으로 포커스를 옮김. SetText 텍스트 문자열을 클립보드에 전송. Show 폼을 표시. ShowWhatsThis 도움말 파일에서 선택된 항목을 문맥 도움말을 사용하여 표시. TextHeight 텍스트 문자열을 현재의 폰트로 출력하는 경우의 높이를 반환. TextWidth 텍스트 문자열을 현재의 폰트로 출력하는 경우의 폭을 반환. Update 오브젝트를 제공한 애플리케이션에서 최신의 데이터를 수신하고, OLE 컨테이너에 이 데이 터를 그래픽 데이터로써 표시. WhatsThisMode 마우스 포인터를 도움말 포인터로 변경하고, 문맥 도움말을 표시할 수 있는 상태로 한다. ZOrder 지정한 폼, 컨트롤과 동일한 계층 내에서 Z오더를 변경. 부 - 20 부1.8 함수 일람 함 수 기 능 Abs 수식의 절대값을 반환. Array 배열 데이터를 갖고 있는 베리언트형의 값을 반환. Asc 지정한 문자열 내에 있는 선두 문자의 문자 코드를 반환. Atn 지정한 값의 아크탄젠트를 배 정밀도의 부동소수점형으로 반환. CallByName 지정한 오브젝트의 메소드 실행 또는 속성 값의 확보, 설정. CBool 수치 또는 문자열을 루프형으로 변환. CByte 수치 또는 문자열을 바이트형으로 변환. CDate 수치 또는 문자열을 날짜형으로 변환. CCur 수치 또는 문자열을 통화형으로 변환. CDbl 수치 또는 문자열을 배 정밀도의 부동소수점형으로 변환. Choose 인수 리스트에서 값을 선택하여 반환. Chr, Chr$ 지정한 ASCII코드에 대응하는 문자열을 반환. CInt 수치 또는 문자열을 정수형으로 변환. Clng 수치 또는 문자열을 long(긴) 타입의 정수형으로 변환. Command, Command$ VisualBasic의 기동 시에 지정된 커맨드의 문자열을 반환. Cos 지정한 각도의 코사인값을 반환. CreateObject OLE 오토메이션 오브젝트의 작성. CSng 수치 또는 문자열을 단정밀도의 부동소수점형으로 변환. CStr 수치 또는 문자열을 문자열형으로 변환. CurDir, CurDir$ 지정한 드라이브의 현재의 경로를 반환. CVar 수치 또는 문자열을 베리언트형으로 변환. CVDate 지정한 식을 VarType7(날짜)의 베리언트형으로 변환. Date, Date$ 현재의 날짜를 표시하는 문자열을 반환. DateAdd 지정된 시간 간격을 가산한 날짜의 문자열을 반환. DateDiff 2개의 지정한 날짜의 시간 간격을 표시하는 문자열을 반환. DatePart 날짜의 지정한 부분을 포함하는 문자열을 반환. DateSerial 인수로 지정한 년, 월, 일에 대응하는 문자열을 반환. DateValue 문자열로 지정된 날짜를 표시하는 시리얼값을 반환. Day 날짜의 시리얼값에서 일(日)을 반환. DDB 배율법 등의 지정한 방법을 사용하여 특정한 기간의 자산의 감가상각비를 반환. Dir, Dir$ 지정한 파일 패턴이나 속성에 대응하는 파일명을 반환. DoEvents 발생한 이벤트가 오퍼레이팅 시스템에 의해 처리되도록 프로그램에서 점유된 제어를 오퍼 레이팅 시스템으로 넘긴다. Environ, Environ$ OS의 환경 변수에 할당된 문자열을 반환. EOF 파일의 현재 위치가 파일의 끝에 도달하고 있는지를 조사한다. Error, Error$ 지정한 에러번호에 대응하는 에러 메시지를 반환. 부 - 21 함 수 기 능 Exp 지수 함수. FileAttr 파일의 모드 또는 OS의 파일 핸들의 정보를 반환. FileDateTime 파일의 작성, 갱신 일시를 표시하는 문자열을 반환. FileLen 파일의 길이를 반환. Filter 지정된 필터 조건을 기준으로 한 문자열 배열의 서브 셋을 포함하는 제로 베이스의 배열을 반환. Fix 값의 소수부를 버리고, 정수부만을 반환. Format, Format$ 서식에 따라서 수치, 날짜, 시간, 문자열을 반환. FormatCurrency 시스템의 [컨트롤 패널]로 정의되어 있는 서식을 사용하여 통화형식의 문자열로 변환. FormatDateTime 날짜 형식 또는 시각 형식의 문자열을 반환. FormatNumber 수치형식의 문자열을 반환. FormatPercent 100으로 환산한 퍼센트 형식의 식으로 퍼센트 기호를 부가하여 반환. FreeFile 다음에 사용 가능한 파일번호를 반환. FV 정액의 지불을 정기적으로 실행하고, 이율이 일정하다고 가정하고 투자의 미래 가치를 반환. GetAllsettings Windows의 레지스트리에 있는 애플리케이션의 목록에서 키 설정값의 일람을 확보. GetAttr 파일, 디렉토리, 볼륨 라벨의 속성을 반환. GetObject OLE 오토메이션 오브젝트의 확보. GetSetting Windows의 레지스트리에 있는 애플리케이션의 항목에서 키 설정값을 확보. Hex, Hex$ 수치를 16진수로 표시한 문자열을 반환. Hour 날짜 시각의 시리얼값에서 시(0~23)를 표시하는 정수값을 반환. IIf 식의 평가 결과에 따라, 2개의 인수 중에서 1개를 반환. IMEStatus IME의 현재의 상태를 확보. Input, Input$ 시퀀셜 파일에서 지정한 길이의 문자열을 읽고 그 값을 반환. InputB, InputB$ 시퀀셜 파일에서 지정한 길이의 문자열을 읽고 그 값을 리턴(반환). InputBox, InputBox$ 대화상자에 프롬프트를 표시하고, 텍스트 상자의 내용을 반환. InStr 보관된 문자열에서 지정된 문자열을 찾은 문자의 위치를 반환. InStrB 보관된 문자열에서 지정된 문자열을 찾은 바이트의 위치를 반환. InstrRev 보관된 문자열의 역방향으로 지정된 문자열을 찾은 문자의 위치를 반환. Int 값의 소수부를 버리고, 이 보다 작은 정수값을 반환. IPmt 투자 기간 내의 지정한 기간에 지불할 금리를 반환. IRR 일련의 정기적인 캐시 플로(흐름)에 대한 내부 이익률을 반환. IsArray 베리언트형 인수가 배열인지를 리턴(반환). IsDate 베리언트형 인수를 날짜형으로 변환할 수 있게 할 것인지의 여부를 반환. IsEmpty 베리언트형 인수가 Empty값인지를 반환. IsError 베리언트형 인수가 에러값인지를 반환. IsMissing 지정된 인수가 소실되지 않았는지를 반환. IsNull 베리언트형 값이 Null인지를 반환. IsNumeric 베리언트형 인수를 수치로 변환할 수 있게 할 것인지의 여부를 반환. 부 - 22 함 수 기 능 IsObject 식이 실제로 오브젝트를 참조하고 있는지를 반환. Join 배열에 포함된 각 요소의 내부 문자열을 결합하고 작성된 문자열을 반환. LBound 배열 첨자의 최소값을 반환. LCase, LCase$ 알파벳 대문자를 소문자로 변환. Left, Left$ 문자열의 왼쪽 끝에서 지정한 문자수만큼의 문자를 발췌. LeftB, LeftB$ 문자열의 왼쪽 끝에서 지정한 바이트수만큼의 문자를 발췌. Len 문자열의 문자수, 변수의 바이트수를 반환. LenB 문자열의 바이트수, 변수의 바이트수를 반환. LoadPicture 그림을 로드. LoadResData 리소스 파일에서 로드 가능한 형식의 데이터를 로드하고 바이트형 배열을 반환. LoadResPicture 리소스 파일에서 비트맵, 아이콘 또는 커서를 로드. LoadResString 리소스 파일에서 문자열을 로드. Loc 파일의 현재의 위치를 반환. LOF 파일의 길이를 바이트 단위로 반환. Log 자연대수. LTrim, LTrim$ 문자열에서 선두의 스페이스를 삭제. Mid, Mid$ 문자열에서 지정한 문자수만큼의 문자열을 반환. MidB, MidB$ 문자열 중에서 지정한 바이트수만큼의 문자를 반환. Minute 날짜 시각의 시리얼값에서 분(0~59)을 표시하는 정수값을 반환. MIRR 캐시 플로(흐름)를 기준으로 하여 수정된 내부 이익률을 반환. Month 날짜 시각의 시리얼값에서 월(1~12)을 표시하는 정수값을 반환. MonthName 지정된 월을 표시하는 문자열을 반환. MsgBox 메시지상자를 표시. Now 현재의 날짜 시각을 표시하는 시리얼값을 반환. NPer 인수를 기준으로 하여 투자에 필요한 기간을 반환. NPV 인수를 기준으로 하여 투자한 미래의 가치를 현재의 가치로 환산하여 반환. Oct, Oct$ 8진수로 표시한 문자열을 반환. Partition 값이 분할된 복수의 범위 중에서, 어떤 범위에 포함되는지를 표시하는 문자열을 반환. Pmt 인수를 기준으로 하여 투자에 필요한 정기 지불액을 반환. PPmt 인수를 기준으로 하여 지정한 기간에 지불되는 원금을 반환. PV 인수를 기준으로 하여 투자의 현재 가치를 반환. QBColr 기존의 QuickBasic에서 사용하던 색번호에 대응하는 RGB코드를 표시하는 값을 반환. Rate 인수를 기준으로 하여 투자기간을 통하여 얻는 이율을 반환. Replase 지정된 문자열의 일부를 별도의 문자열로 지정된 횟수만큼 변환한 문자열을 반환. RGB 색의 RGB값을 반환. Right, Right$ 문자열의 오른쪽 끝에서 지정한 문자수만큼의 문자를 발췌. RightB, RightB$ 문자열의 오른쪽 끝에서 지정한 바이트수만큼의 문자를 발췌. 부 - 23 함 수 기 능 Rnd 난수를 발생한다. Round 지정된 소수점 이후를 버리고 난 수치를 반환. RTrim, RTrim$ 문자열의 오른쪽 끝의 스페이스를 삭제. Second 날짜 시각의 시리얼값에서 초를 반환. Seek 파일의 현재 위치를 반환. Sgn 값의 부호를 반환. Shell 지정한 프로그램을 기동. Sin 지정한 각도의 사인값을 반환. SLN 인수를 기준으로 하여 정액법에 의한 자산의 1기당 감가상각비를 반환. Space, Space$ 지정한 개수의 스페이스를 반환. Spc Print#, Print 메소드 중에서 사용하고, 지정한 개수의 스페이스를 반환. Split 각 요소 별로 분리한 문자열에서 1차원 배열을 작성하여 반환. Sqr 평방근을 반환. Str, Str$ 수치를 10진 문자열로 변환. StrComp 2개의 문자열을 비교. StrConv 지정한 문자열로 변환. String, String$ 지정한 문자 코드를 표시하는 문자 또는 문자열의 선두 문자를, 지정한 문자수만 나열한 문자열을 반환. StrReverse 지정된 문자열의 문자를 거꾸로 나열한 문자열을 반환. Switch 식의 리스트를 평가하여 리스트 중에서 참이 된 최초의 조건식에 대응하는 값을 반환. SYD 인수를 기준으로 하여 연수 합계법으로 계산한 지정한 기간동안의 감가상각 을 반환. Tab Print, Print 메소드 중에서 사용하고, 다음의 문자의 출력위치를 지정. Tan 지정한 각도의 탄젠트값을 반환. Time, Time$ 현재의 시각을 표시하는 문자열을 반환. Timer 오전 0시에서 경과한 초수를 반환. TimeSerial 지정한 시간, 분, 초에 대응하는 시리얼값을 반환. TimeValue 지정된 시각의 시리얼값을 반환. Trim, Trim$ 문자열의 선두와 오른쪽 끝의 스페이스를 삭제. TypeName 변수에 관한 정보를 제공하는 문자열형 문자열을 반환. UBound 배열번호의 최대 값을 반환. UCase, UCase$ 알파벳의 소문자를 대문자로 변환. Val 문자열을 수치로 변환. VarType 인수에서 표시하는 베리언트형 데이터의 타입을 반환. Weekday 날짜의 시리얼값에서 요일을 표시하는 정수값을 반환. WeekdayName 지정된 요일을 표시하는 문자열을 반환. Year 날짜의 시리얼값에서 년을 표시하는 정수값을 반환. 부 - 24 부2 MX Component 부2.1 MX Component로 할 수 있는 것 MX Component를 사용하면, Visual Basic , Visual C++ , VBScript, VBA로 작성한 R R 애플리케이션으로써 다양한 통신 경로로써 PLC CPU에 액세스할 수 있습니다. 본 교재에서는 Visual Basic 으로써 애플리케이션을 작성하고, Ethernet을 경유 R 하여 PLC CPU에 액세스하도록 합니다. (1) PLC에 대한 통신 경로를 폭넓게 지원 PLC로의 통신 경로를 폭넓게 지원하고 있으므로, 사용자에 부합하는 시스템 구 축이 가능합니다. 부 - 25 (2) 사용자 개발 효율의 대폭적인 향상 MX Component는 위저드 형식의 통신 설정 유틸리티를 준비하고 있습니다. 사용자는 화면상에서 대화형식의 설정을 통해 통신하고자 하는 PLC CPU에 액세 스하기 위한 통신 설정을 실현할 수 있습니다. 또한, 한 번 통신 설정을 실시하면 통신 설정 유틸리티에서 기억한 PLC CPU의 논리국번을 지정하는 것만으로 액세스할 수 있습니다. (3) 통신 설정의 내용 저장, 읽기가 가능 MX Component는 통신 설정 유틸리티에서 설정한 통신 설정 내용을 파일에 저장 하고 읽는 기능을 갖고 있습니다. 개발용 DOS/V PC에서 실제로 사용하는 DOS/V PC로 설정 데이터가 간단하게 이 행됩니다. 주) 개발용 DOS/V PC 및 실제로 사용하는 DOS/V PC에는 MX Component가 인스톨 되어 있을 필요가 있습니다. (4) 디바이스 모니터 기능 PLC 모니터 유틸리티를 이용함으로써, 지정한 디바이스의 상태를 감시하고, 데이터를 변경할 수 있습니다. (5) 특수 기능 모듈의 버퍼메모리에 액세스 가능 PLC CPU의 디바이스뿐만 아니라, 특수기능 모듈의 버퍼메모리에 액세스할 수 있습니다. 부 - 26 (6) PLC CPU의 시계 데이터 읽기/쓰기가 가능 DOS/V PC와 접속된 PLC CPU의 시계 데이터를 읽기, 쓰기할 수 있습니다. (7) 멀티 스레드 통신이 가능 복수의 스레드에서 동시에 같은 통신 경로에 대한 액세스가 가능합니다. (8) GX Simulator를 사용하여 오프라인에서의 디버그가 가능 GX Developer와 GX Simulator를 사용함으로써, PLC를 접속하지 않고 1대의 DOS/V PC상에서 디버그할 수 있습니다. 포인트 GX Simulator를 사용하는 경우는 GX Developer와 GX Simulator가 별도로 필요합 니다. 부 - 27 (9) 다양한 프로그램 언어를 지원 Visual Basic , Visual C++ 은 물론 MX Component는 VBScript 및 VBA를 지원 R R 하고 있습니다. (a) VBScript에 의한 모니터링 페이지 작성 가능 ① HTML형식으로 모니터링 페이지 작성 가능 텍스트 에디터를 사용하여 그래픽한 모니터용 홈페이지(HTML형식)를 작성할 수 있습니다. Visual Basic , Visual C++ R R 등을 별도로 구입할 필요가 없습니다. Internet Explorer에서 모니터 가능 ・MX Component Version 2 ・Web 브라우저 ・Internet Explorer 5.0 이후 ・PLC 모니터용 HTML MELSECNET/H 등 ② ASP기능에 의한 인터넷ㆍ인트라넷을 경유하는 모니터 가능 VBScript의 ASP기능을 이용하고, 공장(MX Component에서 모니터링을 하는 쪽)의 Web 페이지를 공개함으로써, Internet Explorer에서 공장의 URL을 지정하는 것만으로, 인터넷/인트라넷을 경유하여 원격지나 출장 지에서도 PLC의 디바이스 상태, 이상 발생 시의 리모트 조작을 실행할 수 있습니다. 인터넷 인트라넷 <공장용> ・MX Component Version 2 ・PLC 액세스용 ASP Web 서버 Internet Infomation Server 4.0 Internet Infomation Server 5.0 Personal Web Server 4.0 <사무실용> Web 브라우저 Internet Explorer 5.0 이후 MELSECNET/H 등 부 - 28 (b) VBA에 의한 데이터 수집, 모니터링 기능 VBA(*1)로 프로그램을 실행함으로써, Excel 2000 및 Access 2000의 기능을 이용하고, 리얼 타임으로 그래프를 표시하고 애플리케이션을 작성할 수 있습니다. PLC의 디바이스 데이터를 로깅하고, 리얼 타임으로 디바이스 데이터를 수집ㆍ저장할 수 있습니다. <Access 2000> <Excel 2000> *1 Microsoft 사의 모든 애플리케이션의 공통 매크로 언어입니다. R (10)QCPU(Q모드)의 멀티 CPU 시스템에 대응 통신 설정 유틸리티 또는 ACT 컨트롤의 속성을 설정함으로써, 멀티 CPU 시스템 에 액세스할 수 있습니다. (11)PC CPU 모듈상에서 동작 가능 PC CPU 모듈에서 Q 시리즈 버스 통신으로 동일한 베이스상의 QCPU(Q모드)에 액세스할 수 있습니다. 또한, MELSECNET/H 통신용 컨트롤 및 CC-Link 통신용 컨트롤을 사용함으로써, PC CPU 모듈이 관리하고 있는 MELSECNET/H모듈 및 CC-Link모듈을 경유하는 다른 국에 액세스할 수 있습니다. QCPU (Q모드) QCPU(Q모드) 등 PC CPU 모듈 MELSECNET/H QCPU(Q모드) 등 부 - 29 CC-Link 부2.2 함수 일람 MX Component의 함수에 대해 설명합니다. (1)~(4)에 본 교재에서 사용하고 있는 함수의 상세 내용을 기재하였습니다. 그 밖의 함수의 상세 내용은 MX Component Version2 프로그래밍 매뉴얼을 참조 하십시오. 함수명 기 능 Open 통신 회선의 오픈. (1)참조 Close 통신 회선의 클로즈. (2)참조 ReadDeviceBlock 디바이스의 일괄 읽기. WriteDeviceBlock 디바이스의 일괄 쓰기. ReadDeviceRandom 디바이스의 랜덤 읽기. (3)참조 WriteDeviceRandom 디바이스의 랜덤 쓰기. (4)참조 SetDevice 디바이스 1점을 설정. GetDevice 디바이스 1점의 데이터 확보. ReadBuffer 버퍼메모리의 읽기. WriteBuffer 버퍼메모리의 쓰기. GetClockData PLC CPU의 시계 데이터 읽기. SetClockData PLC CPU의 시계 데이터 쓰기. GetCpuType PLC CPU 형명 읽기. SetCpuStatus PLC CPU의 리모트 RUN/STOP/PAUSE. EntryDeviceStatus 디바이스의 상태 감시 등록. FreeDeviceStatus 디바이스의 상태 감시 등록 해제. OnDeviceStatus 이벤트 통지. 부 - 30 (1) Open(통신 회선의 오픈) (a) 기 능 통신 회선을 오픈합니다. (b) 서 식 Visual Basic , Visual C++ , VBA:lRet = object.Open() R R Long lRet 반환값 Output VBScript:varRet = object.Open() VARIANT varRet 반환값(내용은 LONG형) Output (c) 설 명 Open 메소드용 속성의 설정값을 기준으로 회선의 접속을 실행합니다. (d) 반환값 정상 종료:0을 반환. 이상 종료:0 이외를 반환 (부2.3을 참조) 포인트 (1) Open 완료 후에 Open 메소드용 속성을 변경하여도, 통신 상대는 변경되지 않습니다. 통신 설정을 변경한 경우는 한 번 통신 회선을 클로즈한(닫은) 다음에, 통 신 상대 설정을 실행하고, 다시 통신 회선을 오픈하십시오. (2) Open할 때에는 속성 ActCpuType에 통신을 실행한 CPU와 다른 CPU 타입을 입력한 경우에도, Open이 정상적으로 종료할 수 있습니다. 이러한 경우, 접속 범위, 사용 가능 메소드 및 디바이스 범위가 좁아지는 등의 현상이 발생합니다. Open할 때에는 속성 ActCpuType에 올바른 CPU 타입을 설정하십시오. (2) Close(통신 회선의 클로즈) (a) 사용 가능 ACT 컨트롤 모든 ACT 컨트롤에서 사용 가능합니다. (b) 기 능 통신 회선을 클로즈합니다. (c) 서 식 Visual Basic , Visual C++ , VBA:lRet = object.Close() R Long R lRet 반환값 Output VBScript:varRet = object.Close() VARIANT varRet 반환값(내용은 LONG형) (d) 설 명 Open함수로 접속한 회선을 클로즈합니다. (e) 반환값 정상 종료:0을 반환. 이상 종료:0 이외를 반환 (부2.3을 참조) 부 - 31 Output (3) ReadDeviceRandom(디바이스의 랜덤 읽기) (a) 사용 가능 ACT 컨트롤 모든 ACT 컨트롤에서 사용 가능합니다. (b) 기 능 디바이스의 랜덤 읽기를 실행합니다. (c) 서 식 Visual Basic , VBA:lRet = object.ReadDeviceRandom(szDeviceList, lSize, R lData(0)) Long lRet 반환값 Output String szDeviceList 디바이스명 Input Long lSize 읽은 점수 Input Long lData(n) 읽은 디바이스값 Output Visual C++ R :lRet = object.ReadDeviceRandom(szDeviceList, lSize, *lplData) Long lRet 반환값 Output CString szDeviceList 디바이스명 Input Long lSize *lplData 읽은 점수 Input 읽은 디바이스값 Output Long VBScript :varRet = object.ReadDeviceRandom(varDeviceList, varSize, lpvarData) VARIANT varRet VARIANT varDeviceList 디바이스명(내용은 문자열형) 반환값(내용은 LONG형) Output Input VARIANT varSize 읽은 점수(내용은 LONG형) Input VARIANT lpvarData 읽은 디바이스값(내용은 LONG배열형) Output (d) 설 명 ㆍszDeviceList(varDeviceList)에서 지정한 디바이스군을 lSize(varSize) 분의 디바이스값만 읽습니다. ㆍ읽은 디바이스값은 lData(lplData 또는 lpvarData)에 저장됩니다. ㆍ디바이스 리스트에 지정하는 문자열은 행바꾸기 기호로 구분하여 주십 시오. 최종 디바이스 뒤에는 행바꾸기 기호가 필요하지 않습니다. (예) Visual Basic , VBA, VBScript :”D0” & vbLf & “D1” & vbLf &“D2” R Visual C++ :D0₩nD1₩nD2 R ㆍlData(lplData 또는 lpvarData)는 lSize(varSize) 이상의 배열을 확보하 십시오. 부 - 32 (e) 디바이스 지정 방법 디바이스의 지정 방법에 대해 설명합니다. (예1) 아래와 같이 지정한 경우(점수는 3점) Visual Basic , VBA, VBScript 사용 시 :M0 & vbLf & D0 & vbLf & K8M0 R Visual C++ 사용 시 :M0₩nD0₩nK8M0 R 상위 2바이트 하위 2바이트 *1 M0 *1 M16~M31*2 D0 M0~M15*2 (예2) FXCPU의 CN200 이후를 포함하는 디바이스를 지정한 경우(점수는 *3 합계3점) Visual Basic , VBA, VBScript 사용 시 :D0 & vbLf & CN200 & vbLf & D1 R Visual C++ 사용 시 :D0₩nCN200₩nD1 R 상위 2바이트 하위 2바이트 *1 D0 CN200의 H CN200의 L *1 D1 (예3) FD를 포함하는 디바이스를 지정한 경우(점수는 합계3점) Visual Basic , VBA, VBScript 사용 시 :D0 & vbLf & FD0 & vbLf & D1 R Visual C++ 사용 시 :D0₩nFD0₩nD1 R 상위 2바이트 하위 2바이트 *1 D0 *1 FD의 LL *1 D1 *1:사용하지 않습니다(0이 저장됩니다.) *2:디바이스의 번호순으로 하위 비트부터 저장됩니다. *3:FXCPU의 CN200 이후는 랜덤 읽기 시에 1점에 2워드분을 읽습니다. (f) 반환값 정상 종료:0을 반환. 이상 종료:0 이외를 반환 (부2.3을 참조) 포인트 (1) lSize(varSize)로 지정할 수 있는 최대 읽기 점수는 0x7FFFFFFF점까지입니 다. (2) lData(lplData 또는 lpvarData)는 lSize(varSize)에 지정한 점수만큼의 메 모리 영역을 준비하십시오. 메모리 영역이 없는 경우는 애플리케이션 에러 등 중대한 현상이 발생할 가 능성이 있습니다. 부 - 33 (4) WriteDeviceRandom(디바이스의 랜덤 쓰기) (a) 사용 가능 ACT 컨트롤 모든 ACT 컨트롤에서 사용 가능합니다. (b) 기 능 디바이스의 랜덤 쓰기를 실행합니다. (c) 서 식 Visual Basic , VBA:lRet = object.WriteDeviceRandom(szDeviceList, lSize, R lData(0)) Long lRet String szDeviceList 디바이스명 Input Long lSize 쓰기 점수 Input Long lData(n) 쓰기 디바이스값 Input Visual C++ R 반환값 Output :lRet = object.WriteDeviceRandom(szDeviceList, lSize, *lplData) Long lRet 반환값 Output CString szDeviceList 디바이스명 Input Long lSize *lplData 쓰기 점수 Input 쓰기 디바이스값 Intput Long VBScript :varRet = object.WriteDeviceRandom(varDeviceList, varSize, varData) VARIANT varRet VARIANT varDeviceList 디바이스명(내용은 문자열형) 반환값(내용은 LONG형) Output Input VARIANT varSize 쓰기 점수(내용은 LONG형) Input VARIANT varData 쓰기 디바이스값(내용은 LONG배열형) Intput (d) 설 명 ㆍszDeviceList(varDeviceList)에서 지정한 디바이스군을 lSize(varSize) 분의 디바이스값만 씁니다. ㆍ쓰여진 디바이스값을 lData(lplData 또는 varData)에 저장합니다. ㆍ디바이스 리스트에 지정하는 문자열은 행바꾸기 기호로 구분하여 주십 시오. 최종 디바이스의 뒤에는 행바꾸기 기호가 필요없습니다. (예) Visual Basic , VBA, VBScript :”D0” & vbLf & “D1” & vbLf & “D2” R Visual C++ :D0₩nD1₩nD2 R ㆍlData(lplData 또는 varData)는 lSize(varSize) 이상의 배열을 확보하십 시오. 부 - 34 (e) 디바이스 지정 방법 디바이스의 지정 방법에 대해 설명합니다. (예1) 아래와 같이 지정한 경우(점수는 3점) Visual Basic , VBA, VBScript 사용 시 :M0 & vbLf & D0 & vbLf & K8M0 R Visual C++ 사용 시 :M0₩nD0₩nK8M0 R 상위 2바이트 하위 2바이트 *1 M0 *1 M16~M31*2 D0 M0~M15*2 (예2) FXCPU의 CN200 이후를 포함하는 디바이스를 지정한 경우(점수는 *3 합계3점) Visual Basic , VBA, VBScript 사용 시 :D0 & vbLf & CN200 & vbLf & D1 R Visual C++ 사용 시 :D0₩nCN200₩nD1 R 상위 2바이트 하위 2바이트 *1 D0 CN200의 H CN200의 L *1 D1 (예3) FD를 포함하는 디바이스를 지정한 경우(점수는 합계3점) Visual Basic , VBA, VBScript 사용 시 :D0 & vbLf & FD0 & vbLf & D1 R Visual C++ 사용 시 :D0₩nFD0₩nD1 R 상위 2바이트 하위 2바이트 *1 D0 *1 FD의 LL *1 D1 *1:사용하지 않습니다(0이 저장됩니다.) *2:디바이스의 번호순으로 하위 비트부터 저장됩니다. *3:FXCPU의 CN200 이후는 랜덤 읽기 시에 1점당 2워드분을 읽습니다. (f) 반환값 정상 종료:0을 반환. 이상 종료:0 이외를 반환 (부2.3을 참조) 포인트 (1) lSize(varSize)에 지정할 수 있는 최대 쓰기 점수는 0x7FFFFFFF점까지입니 다. (2) lData(lplData 또는 varData)는 lSize(varSize)에 지정한 점수만큼의 메모 리 영역을 준비하십시오. 메모리 영역이 없는 경우는 애플리케이션 에러 등 중대한 현상이 발생할 가 능성이 있습니다. 부 - 35 부2.3 에러 코드 일람 MX Component를 사용할 때에 ACT 컨트롤이 반환한 에러 코드 및 PLC CPUㆍ인텔리 전트 기능 모듈ㆍ네트워크 보드가 반환한 에러 코드에 대해 설명합니다. (1) ACT 컨트롤이 반환한 에러 코드 다음은 ACT 컨트롤이 반환한 에러 코드 일람입니다. 에러 코드 에러 내용 처리 방법 0x00000000 정상 종료 - 0x01010002 RUN 중 금지 에러 RUN 중에 실행하면 안되는 조작을 하였다. STOP 상태로 하여 실행한다. *1 0x01010005 섬체크 에러 패킷의 섬체크 내용이 이상하다. 시스템의 노이즈를 확인한다. 0x01010010 PLC No. 에러 지정한 국번에서는 통신할 수 없다. 통신 설정 유틸리티로써 설정한 국번을 체크한다. ActStationNumber에 설정된 국번을 확인한다. 시스템 구성이 지원되지 않는 구성인지 확인한다. CPU 타입이 바르게 설정되어 있는지를 확인한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 폐사의 서비스센터에 문의한다. 다른 데이터 에러 0x01010013 무엇인가의 원인으로 통신할 수 없다. 리모트 요구 에러 0x01010018 통신 중인 경로와 다른 별도의 경로를 통해 리모트 별도의 경로로 실행 중인 리모트 조작을 해제한다. 조작이 실행중이다. 0x01010020 통신 상대 또는 관리국(마스터국), 루틴으로 통과 하는 국에 대하여 리셋 조작을 실행하지 않았는지 를 확인한다. 네트워크 파라미터의 설정이 바르게 되어 있는지를 확인한다. 링크 에러 링크 교신이 실행되지 않는다. 0x01800001 노커맨드 에러 해당 메소드가 지원되지 않는다. 0x01800002 메모리 로그 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x01800003 메모리 확보 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 다른 프로그램을 종료하고, 빈 메모리를 확보한다. 0x01800004 DLL 로드 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 다른 프로그램을 종료하고, 빈 메모리를 확보한다. MX Component를 다시 인스톨한다. 0x01800005 리소스 확보 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 다른 프로그램을 종료하고, 빈 메모리를 확보한다. 0x01801002 다중 회선 오픈 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x01801003 오픈 미실행 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x01801005 지정 포트 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. MX Component를 다시 인스톨한다. 0x01801006 지정 모듈 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. MX Component를 다시 인스톨한다. *1:네트워크 보드를 경유하는 경우, 타임아웃 에러의 가능성이 있습니다. 케이블 상태를 확인하십시오. 부 - 36 에러 코드 에러 내용 처리 방법 ActCpuType에 설정한 CPU 타입을 확인한다. 시스템 구성이 지원되지 않는 구성인지를 확인한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x01801007 지정 CPU 에러 MX Component를 다시 인스톨한다. ActPacketType에 설정한 패킷 타입을 확인한다. 0x01801008 대상국 액세스 에러 대상국을 검토한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x0180100C 레지스트리 찾기 실패 MX Component를 다시 인스톨한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x0180100D GetProcAddress 실패 MX Component를 다시 인스톨한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x0180100E DLL 미로드 에러 0x0180100F 0x01802001 MX Component를 다시 인스톨한다. 다른 Object 실행 중 배타 제어 중에 메소드를 실행할 수 없다. 디바이스 에러 메소드에 지정한 디바이스 문자열이 부정확하다. 일정한 시간을 두고 다시 실행한다. 디바이스명을 검토한다. 디바이스 번호 에러 0x01802002 메소드에 지정한 디바이스 문자열의 번호가 부정확 디바이스 번호를 검토한다. 하다. 모듈측의 섬체크 설정 내용을 확인한다. 0x01802004 컨트롤의 섬체크용 속성을 확인한다. 섬체크 에러 케이블을 확인한다. 수신한 데이터의 섬체크값이 이상하다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. MX Component를 다시 인스톨한다. 메소드에 지정한 점수를 확인한다. 0x01802005 PLC CPU, 모듈의 설정 및 케이블 상태 등의 시스템 크기(사이즈) 에러 을 검토한다. 메소드에 지정한 점수가 부정확하다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. MX Component를 다시 인스톨한다. 블록No. 에러 0x01802006 메소드에 지정한 디바이스 문자열의 블록 지정 번호가 부정확하다. 메소드에 지정한 디바이스 문자열의 블록 지정 번 호를 검토한다. PLC CPU, 모듈의 설정 및 케이블 상태 등의 시스템 0x01802007 수신 데이터 에러 을 검토한다. 수신한 데이터가 이상하다. 케이블을 확인한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 속성의 CPU 타입에 올바른 CPU 타입을 설정한다. PLC 타입 불일치 0x0180200B 속성에 설정되어 있는 CPU 타입 및 통신 설정 유틸 리티로 설정한 CPU 타입이 통신 상대 CPU와 다르 다. 통신 설정 유틸리티로써 올바른 CPU 타입을 설정한 다. PLC CPU, 모듈의 설정 및 케이블 상태 등의 시스템 을 검토한다. 부 - 37 에러 코드 에러 내용 처리 방법 국번 지정 에러 0x01802016 메소드가 지정한 국번에 대한 조작을 지원하지 않 국번을 검토한다. 는다. 쓰기 시계 데이터 에러 0x0180201C 쓰기 지정한 시계 데이터에 오류가 있으므로, 정상 쓰기 시계 데이터를 검토한다. 적으로 쓸 수 없다. 시계 데이터 RUN 중 쓰기 에러 시계 데이터의 쓰기에 실패하였다. 0x0180201D PLC CPU를 STOP 상태로 한다. PLC CPU가 RUN 중이므로, 시계 데이터를 쓸 수 없 다. 0x01802020 선두 I/O번호 에러 메소드에 지정한 선두I/O번호가 부정확한 값이다. 메소드에 지정할 선두 I/O번호의 값을 확인한다. GPP 기능으로 PLC의 파라미터(IO할당)를 확인한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 선두 어드레스 에러 메소드에 지정한 버퍼 어드레스의 값을 확인한다. 0x01802021 메소드에 지정한 버퍼 어드레스가 부정확한 값이 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 다. 시계 데이터 읽기/쓰기 에러 0x01802038 시계 소자가 없는 PLC CPU에 대해 시계 데이터 읽 시계 데이터 읽기/쓰기를 실행하지 않는다. 기/쓰기 메소드를 실행하였다. 0x01808001 2중 오픈 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 채널번호 지정 에러 속성의 포트번호에 올바른 값을 설정한다. 0x01808002 속성을 설정한 포트번호 및 통신 설정 유틸리티에 통신 설정 유틸리티에서 통신 설정 내용을 다시 설 서 설정한 포트번호가 부정확한 값이다. 정한다. 0x01808003 드라이버 미기동 네트워크 보드의 드라이버가 기동되지 않는다. 드라이버를 기동한다. MUTEX 생성 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x01808005 배타 제어를 수행하기 위한 MUTEX의 작성에 실패하 MX Component를 다시 인스톨한다. 였다. 0x01808007 동일한 포트번호를 사용한 애플리케이션을 기동하 지 않았는지를 확인한다. 속성의 포트번호의 값을 변경하고 리트라이(재시 도)한다. 통신 설정 유틸리티로써 포트번호의 값을 변경하고 리트라이(재시도)한다. Ethernet 보드 및 프로토콜 설정 내용을 OS의 컨트 롤 패널로써 실행한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 소켓 오브젝트 생성 에러 Socket 오브젝트의 생성에 실패하였다. 속성의 IP어드레스 및 포트번호의 값을 검토한다. 통신 설정 유틸리티로써 포트번호의 값을 검토한 다. PLC CPU, 모듈의 설정 및 케이블 상태 등의 시스템 을 검토한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 포트 접속 에러 0x01808008 커넥션의 확립에 실패하였다. 교신 상대가 응답이 없다. 부 - 38 에러 코드 에러 내용 처리 방법 COM 포트 핸들 에러 COM 포트의 핸들을 확보할 수 없다. 0x01808009 COM 포트 오브젝트를 복사할 수 없다. SOCKET 오브젝트를 복사할 수 없다. COM 포트를 사용하고 있는 애플리케이션이 없는지 를 확인한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 버퍼 크기 설정 에러 COM 포트의 버퍼 크기의 설정에 실패하였다. COM 포트를 사용하고 있는 애플리케이션이 없는지 를 확인한다. COM 포트의 설정 내용을 OS의 컨트롤 패널로써 실 행한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. DCB값 확보 에러 COM 포트의 DCB값의 확보에 실패하였다. COM 포트를 사용하고 있는 애플리케이션이 없는지 를 확인한다. COM 포트의 설정 내용을 OS의 컨트롤 패널로써 실 행한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x0180800C DCB설정 에러 COM 포트의 DCB값의 설정에 실패하였다. COM 포트를 사용하고 있는 애플리케이션이 없는지 를 확인한다. COM 포트의 설정 내용을 OS의 컨트롤 패널로써 실 행한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x0180800E 공유 메모리 오픈 에러 공유 메모리의 오픈 처리에 실패하였다. GX Simulator가 기동하고 있는지를 확인한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 타임아웃값 설정 에러 COM 포트의 타임아웃값의 설정에 실패하였다. 속성의 타임아웃값을 검토한다. 통신 설정 유틸리티로써 타임아웃값을 검토한다. COM 포트를 사용하고 있는 애플리케이션이 없는지 를 확인한다. COM 포트의 설정 내용을 OS의 컨트롤 패널로써 실 행한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x0180800A 0x0180800B 0x0180800D 0x01808101 2중 클로즈 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 핸들 클로즈 에러 0x01808102 COM 포트의 핸들의 클로즈에 실패하였다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 드라이버 클로즈 에러 드라이버 핸들의 클로즈에 실패하였다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x01808201 송신 에러 데이터 송신에 실패하였다. PLC CPU, 모듈의 설정 및 케이블 상태 등의 시스템 을 검토한다. COM 포트의 설정 내용을 OS의 컨트롤 패널로써 실 행한다. Ethernet보드 및 프로토콜의 설정 내용을 컨트롤 패널로써 실행한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x01808202 송신 데이터 크기 에러 데이터 송신에 실패하였다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x01808203 큐 클리어 에러 COM 포트의 큐 클리어에 실패하였다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 한 번 Close하고, 다시 Open한다. 수신 에러 데이터 수신에 실패하였다. PLC CPU, 모듈의 설정 및 케이블 상태 등의 시스템 을 검토한다. 속성의 타임아웃값을 검토한다. 통신 설정 유틸리티로써 타임아웃값을 검토한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x01808103 0x01808301 부 - 39 에러 코드 에러 내용 처리 방법 수신 버퍼 크기 부족 0x01808304 수신 데이터가 시스템에서 준비한 수신 버퍼 크기 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 보다 크다. 0x01808401 0x01808403 컨트롤 에러 COM 포트의 통신 제어 변경에 실패하였다. 신호선 지정 에러 COM 포트의 통신 제어 변경에 실패하였다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 통신 파라미터 에러 0x01808405 속성의 데이터 비트 및 스톱 비트의 조합이 부정확 하다. 0x01808407 0x01808408 0x01808409 0x0180840A 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 오픈을 실행한다. 0x01808404 오픈 미실행 0x01808406 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 속성의 데이터비트 및 스톱비트의 값을 검토한다. 통신 설정 유틸리티로써 다시 설정한다. 보드레이트값 지정 에러 속성의 보드레이트 값을 검토한다. 속성의 보드레이트가 부정확하다. 통신 설정 유틸리티로써 다시 설정한다. 데이터 길이 에러 속성의 데이터비트의 값을 검토한다. 속성의 데이터 비트의 값이 부정확하다. 통신 설정 유틸리티로써 다시 설정한다. 패리티 지정 에러 속성의 패리티의 값을 검토한다. 속성의 패리티의 값이 부정확하다. 통신 설정 유틸리티로써 다시 설정한다. 스톱비트 지정 에러 속성의 스톱비트의 값을 검토한다. 속성의 스톱비트의 값이 부정확하다. 통신 설정 유틸리티로써 다시 설정한다. 통신 제어 설정 에러 속성의 컨트롤의 값을 검토한다. 속성의 컨트롤의 값이 부정확하다. 통신 설정 유틸리티로써 다시 설정한다. 속성의 타임아웃값을 검토한다. 통신 설정 유틸리티로써 다시 설정한다. 타임아웃 에러 0x0180840B 타임아웃 시간을 경과하였으나, 데이터를 수신할 수 없었다. PLC CPU, 모듈의 설정 및 케이블 상태 등의 시스템 을 검토한다. 한 번 Close하고, 다시 Open 한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x0180840C 커넥트 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x0180840D 2중 커넥트 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x0180840E 0x0180840F 0x01808410 어태치(첨부) 실패 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 소켓 오브젝트의 어태치에 실패하였다. 신호선 상태 확보 실패 COM 포트의 신호선 상태의 확보에 실패하였다. PLC CPU, 모듈 설정 및 케이블 상태 등 시스템을 CD신호선 OFF 검토한다. 통신 상대 CD신호가 OFF 상태이다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x01808411 패스워드 불일치 에러 0x01808501 0x01808502 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 속성의 리모트 패스워드를 확인한다. USB드라이버 로드 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. USB드라이버의 로드에 실패하였다. MX Component를 다시 인스톨한다. USB드라이버 커넥트 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. USB드라이버의 커넥트에 실패하였다. MX Component를 다시 인스톨한다. 부 - 40 에러 코드 에러 내용 처리 방법 PLC CPU, 모듈의 설정 및 케이블 상태 등의 시스템 0x01808503 을 검토한다. USB드라이버 송신 에러 USB 설정 내용을 OS의 컨트롤 패널(디바이스 매니 데이터의 송신에 실패하였다. 저)로써 실행한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. PLC CPU, 모듈의 설정 및 케이블 상태 등의 시스템 0x01808504 을 검토한다. USB드라이버 수신 에러 USB 설정 내용을 OS의 컨트롤 패널(디바이스 매니 데이터의 수신에 실패하였다. 저)로써 실행한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x01808506 0x01808507 USB 설정 내용을 OS의 컨트롤 패널(디바이스 매니 USB드라이버 초기화 에러 저)로써 실행한다. USB드라이버의 초기화에 실패하였다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 케이블을 한 번 뽑은 후, 다시 접속한다. USB 기타 에러 데이터 송수신에 관한 에러가 발생하였다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. MX Component를 다시 인스톨한다. ActCpuType에 설정한 CPU 타입을 확인한다. 0x04000001 시스템 구성이 지원되지 않는 구성이 아닌지를 확인 노 커맨드 에러 한다. 지정한 CPU 타입으로는 처리할 수 없다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. MX Component를 다시 인스톨한다. MX Component의 인스톨 파일이 삭제 또는 이동되어 0x04000004 내부 서버 DLL 로드 에러 있지 않은지를 확인한다. 내부 서버의 기동에 실패하였다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. MX Component를 다시 인스톨한다. 0x10000002 MX Component의 통신용 DLL의 기동에 실패하였다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. MX Component를 다시 인스톨한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x10000003 Open에 실패하였다(DiskDrive) MX Component를 다시 인스톨한다. 0x10000004 2중 Open 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 일정한 시간을 두고 다시 실행한다. 0x1000000C 다른 애플리케이션 또는 다른 스레드가 응답 실행 COM 및 ActiveX의 멀티 스레드 규칙에 따라 프로그 중이므로 실행에 실패하였다. 램을 실행한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x10000011 메모리 확보 에러 MX Component를 다시 인스톨한다. 0x10000012 오픈 미실행 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 메소드에 지정한 점수를 확인한다. 0x10000017 지정 크기(디바이스수)가 부정확하다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x10000018 등록된 디바이스가 아니다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 0x1000001E 레지스트리 찾기에 실패하였다. 다른 프로그램을 종료하고, 빈 메모리를 확보한다. MX Component를 다시 인스톨한다. 지정 디바이스의 내용을 검토한다. 0x10000032 지정 디바이스 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 다른 프로그램을 종료하고, 빈 메모리를 확보한다. 부 - 41 에러 코드 에러 내용 처리 방법 지정 디바이스의 내용을 검토한다. 0x10000033 지정 디바이스 범위 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 다른 프로그램을 종료하고, 빈 메모리를 확보한다. 0x10000040 서버 기동에 실패하였다. 0xF0000001 0xF0000002 0xF0000003 0xF0000004 프로그램을 종료하고, DOS/V PC를 다시 기동한다. 라이센스 없음 에러 라이센스키 FD로써 DOS/V PC에 라이센스를 부가한 DOS/VPC에 라이센스가 부가되어 있지 않다. 다. 설정 데이터 읽기 에러 올바른 논리 국번을 지정한다. 논리 국번의 설정 데이터 읽기에 실패하였다. 통신 설정 유틸리티로써 논리 국번을 설정한다. 오픈 완료 에러 통신 대상 CPU를 변경할 경우는 Close 후에 Open 오픈 상태에서 Open 메소드를 실행하였다. 메소드를 실행한다. 미오픈 에러 Open 메소드를 실행한 후에 해당 메소드를 실행한 Open 메소드를 실행하지 않고 있다. 다. 초기화 에러 0xF0000005 MX Component 내부 저장 오브젝트의 초기화에 실패 하였다. 0xF0000006 0xF0000007 프로그램을 종료하고, DOS/V PC를 다시 기동한다. MX Component를 다시 인스톨한다. 메모리 확보 에러 프로그램을 종료하고, DOS/V PC를 다시 기동한다. MX Component 내부 메모리의 확보에 실패하였다. 다른 프로그램을 종료하고, 빈 메모리를 확보한다. 기능 미지원 에러 해당 메소드가 지원되지 않는다. 메소드가 지원되지 않는다. 메소드에 지정한 문자열을 확인한다. PLC CPU에서 확보한 ASCII 문자열을 초과한다. 문자 코드 변환 에러 0xF1000001 문자 코드의 변환(UNICODE→ASCII코드 또는 ASCII코드→UNICODE)에 실패하였다. PLC CPU, 모듈의 설정 및 케이블 상태 등의 시스템 을 검토한다. 프로그램을 종료하고, DOS/V PC를 다시 기동한다. GetCpuType 메소드를 리트라이(재시도)한다. 선두 I/O번호 에러 0xF1000002 지정한 선두 I/O번호가 부정확한 값이다. 일치하는 선두 I/O번호가 존재하지 않는다. 메소드로 지정한 선두 I/O번호의 수치를 확인한다. GPP 기능에서 PLC의 파라미터(IO할당)을 확인한다. 버퍼 어드레스 에러 0xF1000003 지정한 버퍼 어드레스가 부정확한 값이다. 메소드에 지정한 버퍼 어드레스의 값을 확인한다. 버퍼 어드레스가 범위 외이다. 다시 Open 처리를 실행한다. PLC CPU, 모듈의 설정 및 케이블 상태 등의 시스템 버퍼 읽기 크기 에러 0xF1000004 버퍼 읽기를 실행한 결과, 지정한 크기를 확보할 을 검토한다. 리트라이(재시도)한다. 수 없었다. 프로그램을 종료한다. 크기 에러 0x1000005 읽기/쓰기 메소드로 지정한 크기가 초과한다. 읽기/쓰기 선두+크기가 디바이스 또는 버퍼의 영 메소드에 지정한 크기를 확인한다. 역을 초과하고 있다. 오퍼레이션 에러 0xF1000006 리모트 조작으로 지정한 오퍼레이션이 이상한 값이 메소드에 지정한 오퍼레이션 값을 확인한다. 다. 부 - 42 에러 코드 0xF1000007 에러 내용 처리 방법 메소드에 지정한 시계 데이터를 확인한다. 시계 데이터 에러 PLC CPU의 시계 데이터에 올바른 시계 데이터를 설 시계 데이터가 이상하다. 정한다. 감시 디바이스 등록수 초과 EntryDeviceStatus 메소드에 등록된 디바이스 점수 0xF1000008 가 0점 이하다. EntryDeviceStatus 메소드에 등록된 디바이스 점수 EntryDeviceStatus 메소드에 등록할 디바이스 점수 를 1점 이상, 20점 이하로 한다. 가 20점보다 많다. FreeDeviceStatus 메소드에서 등록 해제를 실행한 0xF1000009 감시 디바이스 데이터 등록 완료 에러 0xF1000010 후에 다시 EntryDeviceStatus 메소드를 실행한다. 디바이스 상태 감시 처리의 기동에 실패하였다. EntryDeviceStatus() 메소드에서 디바이스 상태 감 디바이스 상태 감시 처리의 종료에 실패하였다. 시 처리의 기동/종료를 다시 실행한다. VARIANT 인수로 지정한 데이터 타입을 검토한다. F1000011 VARIANT 인수의 데이터 타입이 잘못되어 있다. ㆍ배열 변수의 크기가 충분한지를 확인한다. ㆍ각 메소드에 지정된 데이터 타입이 설정되어 있 는지를 확인한다. 0xF1000012 0xFF000001 디바이스 상태 감시 간격 시간의 범위가 1초에서 1시간(1~3600) 이외의 값이다. 디바이스 상태 감시 시간을 1~3600을 지정한다. MX Component 체험판 에러 MX Component 체험판을 언인스톨하고, 제품판을 인 MX Component 체험판의 기한이 끝났다. 스톨하거나 다시 체험판을 인스톨한다. 부 - 43 (2) PLC CPU, 인텔리전트 기능 모듈, 네트워크 보드가 반환하는 에러 코드 PLC CPU, 인텔리전트 기능 모듈 및 네트워크 보드가 반환하는 에러 코드에 대해 설명합니다. 포인트 “(a) 에러 코드 일람”에서와 같은 에러 코드가 반환되지 않는 경우가 있습 니다. 먼저,“(b) 에러 코드 확인 시의 주의 사항”의 내용을 확인한 후에,“(a) 에러 코드 일람”을 참조하십시오. (a) 에러 코드 일람 PLC CPU, 인텔리전트 기능 모듈 및 네트워크 보드가 에러를 검출한 경우는 다음 표에 기재한 에러 코드가 반환됩니다. 상위 2바이트가 에러 검출 모듈을 나타내며, 하위 2바이트가 에러 검출 모듈로부터 반환되는 에러 코드를 나타냅니다. 에러의 상세 내용에 대해서는 에러 코드에 대응하는 PLC CPU, 인텔리전트 기능 모듈 또는 네트워크 보드의 매뉴얼을 참조하십시오. 에러 코드 에러 검출 모듈 QCPU(A모드), ACPU, 모션 컨트롤러 CPU 0x01010000~0x0101FFFF *1 0x01020000~0x0102FFFF *1 QnACPU 0x01030000~0x0103FFFF *1 C24 0x01040000~0x0104FFFF *1 QC24(N) 0x01050000~0x0105FFFF *1 E71 0x01060000~0x0106FFFF *1 QE71 0x01070000~0x0107FFFF *1 0x01090000~0x0109FFFF *1 FXCPU 0x010A0000~0x010AFFFF *1 QCPU(Q 모드) 0x010B0000~0x010BFFFF *1 Q 시리즈 대응 C24 0x010C0000~0x010CFFFF *1 Q 시리즈 대응 E71 0x010D0000~0x010DFFFF *1 PC CPU 모듈 MELSECNET/H 보드, MELSECNET/10 보드, MELSECNET(Ⅱ) 보드, CC-Link 보드, CPU 보드, AF 보드 *1:포인트를 참조하십시오. (b) 에러 코드 확인 시의 주의 사항 PLC CPU, 인텔리전트 기능 모듈 및 네트워크 보드가 반환하는 에러 코드 확인 시의 주의 사항에 대해 설명합니다. ① 속성 설정 잘못 사용하고 있는 시스템 구성과 설정한 속성값이 일치하지 않는 경우, 상 위 2바이트가 올바른 에러 검출 모듈을 표시하지 않습니다. 예를 들면, QCPU(Q모드)에 대하여 ActCpuType에 ACPU의 속성값이 설정 되어 있는 경우에 상위 2바이트는 ACPU가 에러 검출 모듈이 되는 경우 가 있습니다. 이와 같은 경우에는 시스템 구성과 설정한 모든 속성값을 확인한 후에, 다시 통신하십시오. 또한, ActMulti, ActMLMulti 컨트롤을 사용하고 있는 경우는, 통신 설정 유틸리티의 설정 내용을 확인하십시오. 부 - 44 ② AJ71E71, AJ71QE71 사용 시 E71 및 QE71 통신 시에 발생한 에러 코드에서, 하위 2바이트의 에러 코 드가 E71 및 QE71의 매뉴얼에 기재되어 있지 않는 경우, E71 및 QE71 모듈 전면의 딥스위치(SW2)와 속성 ActPacketType에 설정된 값이 일치 하고 있는지를 확인하십시오. 딥스위치가 바르게 설정되어 있지 않으면, 패킷 형식(ASCII/바이너리) 에 오류가 발생하게 되므로, 모듈에서 반환된 에러 코드를 바르게 인식 할 수 없게 됩니다. ③ 다른 국 액세스 시 다른 국 액세스 시에는 사용하고 있는 경유 모듈(MELSECNET/H, MELSECNET/10, MELSECNET(Ⅱ), CC-Link, 계산기링크, Ethernet 모듈)의 에러 코드가, 하위 2바이트에 들어 있는 경우가 있습니다. 이와 같은 경우, 에러 검출 모듈을 표시하는 상위 2바이트가 에러가 발생한 모듈과 일치하지 않는 경우가 있으므로, 시스템 구성을 확인한 후에, 사용하고 있는 CPU, 경유 네트워크 모듈 및 네트워크 보드의 매 뉴얼에 부합하는지 확인하십시오. 부 - 45 부3 GX Developer와 PLC CPU의 Ethernet 경유 접속 GX Developer를 직접 Ethernet 모듈에 접속(Ethernet 접속이라고 합니다.)하고, Ethernet 모듈을 경유하여 GX Developer에서 PLC CPU로 액세스할 때의 GX Developer 의 접속 조작에 대해 설명합니다. 본 항에서는 과제1을 Ethernet 경유 접속으로 변경할 경우를 예로 하여 기재합니 다. 포인트 (1) Ethernet에 접속하기 전에, 접속 상대인 Ethernet 모듈 장착국의 PLC CPU에 Ethernet 파라미터를 등록(쓰기)해 놓을 필요가 있습니다. 5.2.1항~5.2.4항을 참조하여 PLC CPU에 파라미터를 쓰십시오(RS-232 접속) (2) 다른 국에 액세스(*1)할 때에는, 교신 요구국(PLC A1국), 교신 중계국, 교신 요구 상대국(액세스국)의 PLC CPU에 MELSECNET/HㆍMELSECNET/10 중계 교신 기능용 파라미터를 설정해 놓을 필요입니다. Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(응용편)을 참조하여, 관련되는 PLC CPU에 필요한 파라미터를 설정하십시오. *1 상기 그림의 경우, PLC A1국을 경유하여 다른 Ethernet상의 PLC CPU 또는 MELSECNET/H상의 PLC CPU에 액세스하는 것을 표시합니다. ① GX Developer와 Ethernet 모듈을 Ethernet에 접속 합니다. ② [온라인]→[연결 대상 지정]메뉴를 클릭합니다. ③ PC측I/F의 “Ethernet”을 선택하고 다음의 내용 을 설정합니다. 네트워크No. :1 국번 :각 PC의 국번(1~5) 프로토콜 :TCP 다음 쪽에서 계속 부 - 46 이전 쪽에서 계속 ④ PLC측 I/F의“Ethernet 내용을 설정합니다. 모듈 유형 네트워크No. 국번 모듈”을 선택하고 다음 :QJ71E71 :1 :각 실습기의 국번 (11~15) IP어드레스/호스트 이름 :각 실습기의 IP어드레 스를 설정 (192.168.1.101~ 192.168.1.105) 루틴 파라미터 전송 방식:자동 전송 방식 (자동 응답 방식) ⑤ 다른 국 지정의“타국(단일 네트워크)”을 선택 합니다. ⑥ 연결 테스트 버튼을 클릭하고 통신 테스트를 실 행합니다. ⑦ PLC CPU와의 접속이 성공하면, 왼쪽 화면이 표시 됩니다. 확인 버튼을 클릭하여 화면을 엽니다. ⑧ 확인 버튼을 클릭합니다. Ethernet 경유로 접속됩니다. PLC CPU로의 액세스가 가능합니다. 부 - 47 부4 트러블슈팅 Ethernet 모듈과 상대기기 간의 교신에서 발생하는 에러 내용 및 트러블슈팅에 대해서 설명합니다. Ethernet 모듈측의 이상의 유무 및 이상 내용을 확인합니다. 다음과 같은 방법으로 이상의 유무, 이상 내용을 확인한 후에, 대응하는 처리 내용에 따라 문제를 해소하십시오. (1) Ethernet 모듈 전면의 표시LED에 의한 확인(부4.1항 참조) 표시LED의 점등 상태에 따라 Ethernet 모듈측에 현재 이상이 발생하고 있는지의 여부를 확인할 수 있습니다. (2) GX Developer에 의한 확인 GX Developer에 의해 Ethernet 모듈측의 각종 상태 및 현재 발생하고 있는 이상 내용에 대응하는 에러 코드를 확인하고 테스트를 실행할 수 있습니다. (a) Ethernet 진단(전용 화면을 사용) ① 각종 설정 상태 모니터(부4.2항 참조) ② Ping 테스트(6.4항 참조) ③ 진단 테스트 ④ COM ERR 소등(부4.1.2항, 부4.2.1항 참조) (b) 시스템 모니터(전용 화면을 사용, 부4.2.2항 참조) ① 모듈 상세 내용 정보 ····· 모듈 상태, 에러 코드 등 ② H/W 정보 ··········· LED 점등 상태, 스위치 상태 등 (c) 버퍼메모리 일괄 모니터 Ethernet 모듈의 버퍼메모리를 모니터함으로써, 에러 코드를 확인할 수 있습니다. (3) 에러 코드에 의한 이상 내용 확인 상기 전용 화면 또는 버퍼메모리의 모니터에서 확인한 에러 코드와 다음의 매뉴얼에 의해 이상 내용을 확인할 수 있습니다. Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편) 포인트 Ethernet 모듈의 에러 코드 및 교신 기능별 트러블슈팅 플로(흐름)에 대해서는 다음의 매뉴얼을 참조하십시오. Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편) 비 고 여러 회사의 기기와 접속하여 회선 이상 등이 발생한 경우, 사용자가 회선 애널라이저 등을 사용하여 이상이 발생한 장소의 회선을 끊도록 하여 주십시오. 부 - 48 부4.1 LED에 의한 이상의 확인 방법 Ethernet 모듈 전면에 있는 LED로써 확인할 수 있는 이상에 대해 설명합니다. 부4.1.1 이상 표시의 확인 다음의 내용에 대해 Ethernet 모듈 전면에 있는 LED로써 확인할 수 있습니다. <Ethernet 모듈 LED> QJ71E71-100 RUN INIT OPEN SD LED 명칭 ERR. COM.ERR 100M RD 확인 상황 원인/처리 ① WDT 에러 ㆍEthernet 모듈의 자기 진단 기능에 의해, WDT(약300ms) 에러가 될 때 1 [RUN] Ethernet 모듈 전원 투입 후에 소등(*1) WDT 에러 검출 신호(X1F)가 ON한다. ② Ethernet 모듈 장착 불량 ㆍ전원 모듈의 전원 용량(DC5V)이 부족하지 않는지를 확인한다. ㆍ전원을 OFF하고 모듈을 다시 장착한다. ① 모듈의 파라미터 설정 에러 ㆍGX Developer를 사용하여 Ethernet 모듈용 파라미터 설정값을 확인/수정한다. 2 [ERR.] Ethernet 모듈 전원 투입 후에 점등(*1) ② PLC CPU 에러 ・PLC CPU의 [RUN] LED가 소등/점멸 또는 [ERR.] LED가 점등하고 있는 경우는, PLC CPU에서 발생하고 있는 에러 내용을 확인한 후에, 에러의 발생 요인을 제거한다. ・Ethernet 모듈이 Q 모드의 PLC CPU에 장착되어 있는지를 확인한다. ③ Ethernet 모듈의 이상(H/W 이상) ① 다음 처리의 이상 검출 시에 저장된 에러 코드에 따라, 에러 내용을 확인한 후에, 에러의 발생 요인을 제거한다. 3 [COM.ERR] Ethernet 모듈 전원 투입 후에 점등 ㆍ이니셜 처리 ㆍ오픈 처리 ㆍ고정 버퍼 송신 처리 ㆍ데이터 교신 처리 ㆍ전자메일의 송신/수신 처리 ㆍ그 밖의 처리(에러로그 영역에 에러 코드가 저장되는 처리) ① [ERR.] 또는 [COM.ERR] LED 점등 데이터 송신 시에 4 [SD] [SD] LED가 점멸하지 않는다 ㆍ[ERR.], [COM.ERR]의 점등 요인을 제거한다. ② 케이블의 접속 불량 ㆍ케이블의 접속을 확인한다(*2) ③ 프로그램의 재검토 ㆍ송신용 시퀀스 프로그램을 검토한다. (다음 쪽에 계속) 부 - 49 (이전 쪽에서 계속) LED명칭 확인 상황 원인/처리 ① [ERR.] 또는 [COM.ERR] LED 점등 ㆍ[ERR.], [COM.ERR]의 점등 요인을 제거한다. ② 케이블의 접속 불량 ㆍ케이블의 접속을 확인한다(*2) ③ 자국 IP어드레스 설정 에러 [RD] LED가 소등한 상 5 [RD] 태로 데이터를 수신할 수 없다 ㆍ케이블의 접속에 문제가 없는 경우는 GX Developer로써 자국 IP어드레스, 라우터 설정 및 서브 네트워크 마스크 설정의 각 설정값 을 검토한다. ④ 자국 IP어드레스 설정 에러 ㆍ케이블의 접속에 문제가 없는 경우는 GX Developer로써 자국 IP어드레스, 라우터 설정 및 서브 네트워크 마스크 설정의 각 설정값 을 검토한다. ⑤ 프로그램의 검토 ㆍ상대기기측의 송신용 프로그램을 검토한다. *1 하드웨어 테스트(H/W 테스트)를 실행하고, Ethernet 모듈이 정상적으로 동작하는지의 여부를 확인하십시오. 하드웨어 테스트의 상세 내용은 4.7.2항을 참조하십시오. *2 PING 테스트(이니셜 처리의 완료 확인)를 실행하고, 케이블 접속 및 Ethernet 회선에 문제가 없는지의 여부를 확인하십시오. PING 테스트의 상세 내용은 6.4항을 참조하십시오. 포인트 [INIT], [OPEN], [ERR.], [COM.ERR]의 각 LED의 LED 점등 상태는 버퍼메모리의 모듈 상태용 영역(어드레스:C8H)에 저장되어 있습니다. 부 - 50 부4.1.2 COM.ERR LED의 소등, 에러 정보의 읽기ᆞ클리어 방법 시퀀스 프로그램에 의한 [COM.ERR] LED의 소등, 에러 정보의 읽기/클리어 방법에 대해서 설명합니다. (1) 입출력 신호에 의한 [COM.ERR] LED의 소등 방법 상대기기와의 교신 이상의 발생 시에, Ethernet 모듈 전면의 [COM.ERR] LED가 점등합니다(입출력 신호X1C:ON) (a) 소등 요구 신호(Y17)를 ON함으로써, [COM.ERR] LED가 소등합니다. [COM.ERR]LED 소등 요구 신호(Y17) (LED 점등) ( LED 소등) ( LED 점등) [COM.ERR]LED 점등 중 신호(X1C) 에러 발생 에러 발생 에러 발생 에러 발생 (b) 소등 요구 신호(Y17)가 ON한 동안, 상시 소등 요구 처리가 실행됩니다. (c) 소등 요구 신호(Y17)의 0N 시에는, 버퍼메모리의 에러로그 영역의 에러 정보는 클리어(삭제)되지 않습니다. (2) GX Developer의 「Ethernet 진단」화면에서의 [COM.ERR] LED의 소등 방법 (부4.2.1항 참조) (a) COM.ERR 소등 버튼을 클릭함으로써, [COM.ERR] LED가 소등합니다. (b) 버퍼메모리의 에러로그 영역의 에러 정보는 클리어(삭제)되지 않습니다. (3) 전용 명령에 의한 에러 정보의 읽기/클리어 방법 다음의 전용 명령을 사용함으로써, 임의의 타이밍에 에러 정보의 읽기/클리 어를 실행할 수 있습니다. (a) 전용 명령 ERRRD 이니셜 이상 코드 정보 또는 오픈 이상 코드 정보를 읽을 수 있습니다. (b) 전용 명령 ERRCLR [COM.ERR] LED의 소등 및 이니셜 이상 코드ㆍ오픈 이상 코드를 클리어하거 나 에러로그를 클리어할 수 있습니다. * 전용 명령에 대해서는 다음의 매뉴얼을 참조하십시오. Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편) 부 - 51 부4.2 GX Developer에 의한 이상의 확인 방법 GX Developer의 기능에 의해 Ethernet 모듈의 각종 설정 상태를 확인할 수 있습 니다. 확인 방법은 다음과 같습니다. (1) Ethernet 진단(부4.2.1항 참조) Ethernet 진단 기능에 의해, Ethernet 모듈의 모듈 상태, 파라미터 설정, 교신 상태, 에러 이력 등을 확인할 수 있습니다. (2) 시스템 모니터(부4.2.2항 참조) 시스템 모니터에서 Ethernet 모듈의 모듈 상태를 확인할 수 있습니다. (a) 모듈 상세 내용 정보 기능 버전, 에러 코드를 확인할 수 있습니다. (b) H/W 정보 LED 점등 상태, 커넥션 상태, Ethernet 모듈의 파라미터 상태를 확인할 수 있습니다. (3) 버퍼메모리 일괄 모니터 Ethernet 모듈의 버퍼메모리를 모니터합니다. 부 - 52 부4.2.1 Ethernet 진단 【목적】 GX Developer의 Ethernet 진단 기능에 의해, Ethernet 모듈의 모듈 상태, 파라 미터 설정, 교신 상태, 에러 이력 등을 확인할 수 있습니다. 【조작 순서】 GX Developer →[진단]→ Ethernet 진단 【Ethernet 진단화면】 ① ② ③ ④ ⑧ ⑤ ⑦ ⑥ 【항목설명】 No. 항 목 내 용 모니터할 Ethernet 모듈을 지정한다. 1 대상 모듈 지정 2 IP어드레스 표시 전환 3 각종 정보 모니터의 선택 Ethernet 모듈의 각종 정보를 모니터할 수 있다. * MELSECNET/H 모듈의 장수는 포함되지 않는다. IP어드레스 표시를 10진/16진으로 전환한다. 4 PING 테스트 상대기기간에 대해서 PING 테스트를 실행한다.(6.4항 참조) 5 진단 테스트 네트워크에 대해서 진단 테스트를 실행한다. 6 COM ERR 소등 설정 범위 1장째~4장째 10진/16진 버튼을 클릭하면 [COM ERR] LED가 소등한다. (부4.1.2항 참조) ―― 7 모니터 시작 8 모니터 정지 클릭하면, Ethernet 진단을 실행한다. 모니터 중에는 내용이 갱신된다. 클릭하면, Ethernet 진단을 정지한다. 모니터 정지 중에는 내용을 저장한다. 부 - 53 부4.2.2 시스템 모니터 시스템 모니터에서 Ethernet 모듈의 모듈 상태를 확인할 수 있습니다. (1) 진단 기능의 모듈 상세 내용 정보 화면에서 모듈 상태, 에러 코드를 확인하는 경우 【기동 순서】 GX Developer →「진단」→「시스템 모니터」→ 모듈 상세 정보 【표시 내용】 ㆍ모듈 다음의 정보를 표시합니다. 형명 :장착 모듈 형명 선두I/ONo. :대상 모듈의 선두 입출력 신호 번호 장착 위치 :모듈이 장착되어 있는 슬롯 위치 제품 정보 :제품 정보 * 제품 정보의 끝에는 모듈의 기능 버전을 표시합니다. (예) 끝이“B”일 때는 기능 버전B의 모듈이라는 것을 의미합 니다. ㆍ모듈 액세스 WDT 에러 신호(X1F)가 OFF일 때 액세스 가능함을 나타냅니다. ㆍI/O 어드레스 조회 상태 사용자가 파라미터상에 설정한 모듈과, 장착되어 있는 모듈이 일치하고 있는 지의 여부를 나타냅니다. ㆍ리모트 패스워드 설정 상태 리모트 패스워드의 설정 상태를 나타냅니다. ㆍ최신 에러 코드 새로 발생한 에러의 에러 코드를 나타냅니다. ㆍ에러 표시 버퍼메모리의 에러로그 영역(어드레스:E5H, EEH…, 16CH)에 저장되어 있는 에러 코드를 나타냅니다. 부 - 54 (2) 진단 기능의 H/W 정보 화면에서 LED 점등 상태, 운전 모드 번호를 확인하는 경우 【기동 순서】 GX Developer →「진단」→「시스템 모니터」→ 모듈 상세 정보 → H/W 정보 【표시 내용】 버퍼메모리의 다음 영역에 저장되어 있는 Ethernet 모듈의 정보를 표시합 니다. No. 표시 내용 해당 버퍼메모리 어드레스 1 H/W LED 정보 좌측(*1) LED 점등 상태 저장 영역 C8H(200) 2 H/W LED 정보 우측 커넥션 상태 저장 영역 5000H(20480) 1 H/W 스위치 정보 네트워크No. 자국 네트워크No.ㆍ국번 저장 영역 76H(118) 2 그룹No. 자국 그룹No.저장 영역 77H(119) 3 국번 자국 네트워크No.ㆍ국번 저장 영역 76H(118) 4 모드 번호 스위치 상태(운전 모드 설정) 저장 영역 CAH(202) 5 교신 상태(*2) 교신 상태 저장 영역 CBH(203) *1 b15 ~ b5 - b4 b3 b2 b1 b0 1/0 1/0 - 1/0 1/0 ERR.LED COM.ERR LED 1:점등 0:소등 INIT.LED OPEN LED *2 b15 ~ b9 - b8 b7 1/0 - b6 1/0 이니셜 타이밍 0:오픈 대기로 안함 1:항상 OPEN 오픈 대기 RUN 중 쓰기 허가/금지 0: 금지 1: 허가 부 - 55 b5 b4 b3 1/0 - - 송신 프레임 0:Ethernet 1:IEEE802.3 b2 1/0 b1 b0 1/0 - 교신 데이터 코드 0:바이너리 1:ASCII , 방법 이니셜, 오픈 0:파라미터 설정 없음 1:파라미터 설정 있음 부5 전용 명령 전용 명령이란 인텔리전트 기능 모듈의 기능을 사용하기 위한 프로그램을 용이 하게 하기 위한 명령을 말합니다. QCPU에서 사용할 수 있는 Ethernet 모듈용 전용 명령 일람과 본 텍스트 내의 시 퀀스 프로그램에서 사용하고 있는 명령에 대해서 설명합니다. 부5.1 전용 명령 일람 Ethernet 모듈용 전용 명령을 기재합니다. 용 도 명령명 커넥션의 오픈/클로즈용 설명항 OPEN 커넥션의 오픈 처리를 실행한다. 부5.2항 CLOSE 커넥션의 클로즈 처리를 실행한다. 부5.3항 BUFSND 고정버퍼 교신용 내 용 BUFRCV 고정버퍼 교신에서 고정버퍼에 쓰여 있는 데이 터를 상대기기에 송신한다. 고정버퍼 교신에서 고정버퍼에 저장되어 있는 부5.4항 부5.5항 상대기기로부터의 수신 데이터를 읽는다. BUFRCVS 에러 정보의 읽기, 클리어용 ERRCLR ERRRD 재이니셜용 UINI (BUFRCVS:인터럽트 프로그램용) 에러 정보를 클리어한다. ([COM.ERR] LED소등, 에러로그 클리어) 에러 정보를 읽는다. (IP어드레스, 동작 설정의 변경이 가능) MRECV 전자메일을 수신한다. 전자메일을 송신한다. READ 다른 국의 워드 디바이스를 읽는다. SREAD (SREAD: 완료 디바이스 부가) 디바이스 데이터의 WRITE 다른 국의 워드 디바이스에 데이터를 쓴다. 읽기/쓰기용 SWRITE (SWRITE: 완료 디바이스 부가) 다른 국 PLC CPU ZNRD 다른 국의 워드 디바이스를 읽는다. 교신용 ZNWR 다른 국의 워드 디바이스에 데이터를 쓴다. SEND 다른 국에 데이터를 송신한다. (데이터링크용 메시지 명령) (임의 데이터)의 RECV 다른 국으로부터의 수신 데이터를 읽는다. 송수신용 RECVS (RECVS:인터럽트 프로그램용) 리모트 RUN/STOP, 시계 데이터의 읽기 /쓰기, 매뉴얼 (기본편) Ethernet 모듈의 재이니셜 처리를 실행한다. MSEND 전자메일의 송수신용 사용자 사용자 매뉴얼 (응용편) 다른 국에 대해서 리모트 RUN/STOP한다. REQ 다른 국에 대해서 시계 데이터를 읽는다/쓴다. 포인트 (1) 사용자는 전용 명령의 실행이 완료될 때까지, 이 전용 명령에서 지정하고 있는 각 데이터(컨트롤 데이터, 요구 데이터 등)를 변경하지 마십시오. (2) 전용 명령은 온라인 중에 실행하십시오. 오프라인 중에 실행한 경우, 에러는 발생하지 않습니다만, 전용 명령은 완 료되지 않습니다. 부 - 56 부5.2 OPEN 명령 데이터 교신할 상대기기와의 커넥션을 확립(오픈)합니다. 사용 가능 디바이스 설정 데이터 내부 디바이스 (시스템, 사용자) 비트 파일 레지스터 워드 MELSECNET/H, MELSECNET/10 다이렉트J□₩□ 비트 인덱스 레지스터 Zn 특수 모듈 U□₩G□ 워드 정수 기타 K, H $ (S1) ─ ○ ─ ○ ─ ─ (S2) ─ ○ ─ ─ ─ ─ (D1) ○ ○ ─ ─ ─ ─ [명령 기호] [실행 조건] 지령 ZP.OPEN ZP.OPEN "Un" (S1) (S2) (D1) 설정 데이터 설정 데이터 ”Un” 세트측(*1) 내 용 Ethernet 모듈의 선두 입출력 신호 (00~FE:입출력 신호를 3자리로 표현한 경우의 상위 2자리) (S1) 커넥션 번호(1~16) (S2) 컨트롤 데이터를 저장할 디바이스의 선두 번호 (D1) 명령 완료 시에 1스캔 ON시키는 자국 비트 디바이스의 선두 번호 이상 완료 시에는 (D1)+1도 ON한다. 사용자 데이터형 BIN16비트 BIN16비트 사용자, 시스템 BIN16비트 시스템 비트 로컬 디바이스와 프로그램별 파일 레지스터는 설정 데이터용 디바이스로써 사용할 수 없습니다. 부 - 57 컨트롤 데이터 디바이스 항 목 설정 데이터 설정 범위 세트측(*1) 0000H 8000H 사용자 ─ 시스템 (왼쪽에 기재) 사용자 408H~1388H 138BH~FFFEH 사용자 (S2)+0 실행 타입/완료 타입 ㆍ커넥션의 오픈 처리 시에, GX Developer로써 파라미터 설정값을 사용할 것인지, 다음 컨트롤 데이터(S2)+2~ 의 설정값을 사용할 것인지를 지정한다. 0000H:GX Developer의 [오픈 설정]에서 설정한 내용 대로 오픈 처리를 실행한다. 8000H:컨트롤 데이터(S2)+2~(S2)+9에 지정한 내용 대로 오픈 처리를 실행한다. (S2)+1 완료 스테이터스(상태) ㆍ완료 시의 스테이터스(상태)가 저장된다. :정상 완료 0000H 0000H이외:이상 완료(에러 코드)(*2) ㆍ커넥션의 사용 용도를 지정한다. b15 b14 b13 ⑥ ~ b10 b9 b8 b7 b6 ~ ⑤ ④ ③ 0 b2 b1 0 b0 ② ① ① 고정버퍼 사용 용도 0 :송신용 또는 고정버퍼 교신을 하지 않는다 1 :수신용 ② 교신 상대 생존 확인 0 :생존 확인하지 않는다 1 :생존 확인한다 ③ 페어링 오픈 0 :페어링 오픈하지 않는다 1 :페어링 오픈한다 ④ 통신 방식(프로토콜) 0 :TCP/IP 1 :UDP/IP ⑤ 고정버퍼 교신의 순서 유무 0 :수순 1 :무수순 ⑥ 오픈 방법 00:Active 오픈 또는 UDP/IP 10:Unpassive 오픈 11:Fullpassive 오픈 (S2)+2 사용 용도 설정 영역 (S2)+3 자국 포트 번호 ㆍ자국의 포트번호를 지정한다(*3) (S2)+4 (S2)+5 상대기기 IP어드레스 ㆍ상대기기의 IP어드레스를 지정한다(*3) 1H~FFFFFFFFH (FFFFFFFFH: 일제동보통신) 사용자 (S2)+6 상대기기 포트 번호 ㆍ상대기기의 포트번호를 지정한다(*3) 401H~FFFFH (FFFFH: 일제동보통신) 사용자 상대기기 Ethernet 어드레스 ㆍ상대기기의 Ethernet 어드레스를 지정한다(*3) n 000000000000H FFFFFFFFFFFFH 사용자 (S2)+7 ~ (S2)+9 *1 세트측은 다음과 같이 됩니다. 사용자:전용 명령 실행 전에 사용자가 세트하는 데이터입니다. 시스템:전용 명령의 실행 결과를 PLC CPU가 저장합니다. *2 이상 완료 시의 에러 코드는 Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편)을 참조하십시오. *3 통신 방식과 오픈 방법에 따라 설정하십시오. TCP 통신 방식 Active 오픈 방법 상대기기의 ARP 기능 파라미터 있음 UDP Passive Unpassive Fullpassive 없음 상대기기의 ARP 기능 있음 없음 자국 포트 번호 ○ ○ ○ ○ ○ ○ 교신 상대기기 IP어드레스 ○ ○ × ○ ○ ○ 어드레스 상대기기 포트 번호 ○ ○ × ○ ○ ○ ○(*4) ○ × × ○(*4) 상대기기 Ethernet 어드레스(*5) ○:설정 필요 *4 디폴트값(FFFFFFFFFFFFH) 또는 「0」을 사용하십시오. *5 GX Developer의 「오픈 설정」을 사용할 때에는 디폴트값으로 됩니다. ARP 기능이 없는 기기와 교신할 때에는 상대기기 Ethernet 어드레스를 본 OPEN 명령으로 설정하여 오픈 처리하십시오. 부 - 58 ○ ×:설정 불필요 기 능 (1) Un으로 지정한 모듈의 (S1)로 지정한 커넥션의 오픈 처리를 실행합니다. 오픈 처리 시에 사용할 설정값의 선택은 (S2)+0으로 지정합니다. (2) OPEN 명령 완료의 확인은 완료 비트 디바이스(D1)+0 및 (D1)+1로 실행할 수 있습니다. (a) 완료 비트 디바이스(D1)+0 OPEN 명령이 완료한 스캔의 END 처리 시에 ON하고, 다음의 END 처리 시에 OFF합니다. (b) 완료 비트 디바이스(D1)+1 OPEN 명령이 완료한 때의 상태에 따라 ON/OFF합니다. ㆍ정상 완료 시 :OFF 상태로 변화하지 않는다. ㆍ이상 완료 시 :OPEN 명령이 완료한 스캔의 END 처리 시에 ON하고, 다음 의 END 처리 시에 OFF합니다. 【OPEN 명령 실행 시의 동작】 (3) ZP.OPEN은 오픈 지령의 펄스상승(OFF→ON) 시에 실행합니다. 중 요 동일 커넥션에 대하여 입출력 신호에 의한 오픈/클로즈 처리와 전용 명령OPEN/CLOSE 명령에 의한 오픈/클로즈 처리를 절대로 병용하지 마시기 바랍니 다. 제대로 동작하지 않습니다. 에러 (1) 전용 명령의 이상 완료 시에는 이상 완료 신호(D1)+1이 ON하고, 에러 코드가 완료 스테이터스(상태) 영역(S2)+1에 저장됩니다. 에러 코드에 따라 다음의 매뉴얼을 참조하고, 에러 내용을 확인/처리하십시 오. <에러 코드> 4FFFH 이하:QCPU 사용자 매뉴얼(하드웨어 설계ㆍ보수 점점편) C000H~ :Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼 (기본편) 부 - 59 프로그램 예 커넥션1을 TCP/IP 통신용으로써 Active 오픈하는 프로그램. Ethernet 모듈의 입출력 신호가 X/Y00~X/Y1F일 때 * 프로그램 중의 M5000은 외부에서 오픈 지시가 있는지를 표시하는 플래그입니다. * 프로그램 중의 ①② 부분에 대해서 ①은 GX Developer의 「오픈 설정」파라미터를 사용할 때에 필요합니다. ②는 GX Developer의 「오픈 설정」파라미터를 사용하지 않을 때에 필요합니다. 부 - 60 부5.3 CLOSE 명령 데이터 교신하고 있는 상대기기와의 커넥션을 끊(클로즈)습니다. 사용 가능 디바이스 설정 데이터 내부 디바이스 (시스템, 사용자) 비트 파일 레지스터 워드 MELSECNET/H, MELSECNET/10 다이렉트J□₩□ 비트 인덱스 레지스터 Zn 특수 모듈 U□₩G□ 워드 정수 기타 K, H $ (S1) ─ ○ ─ ○ ─ ─ (S2) ─ ○ ─ ─ ─ ─ (D1) ○ ○ ─ ─ ─ ─ [명령 기호] [실행 조건] 지령 ZP.CLOSE CLOSE "Un " (S1) (S2) (D1) 설정 데이터 설정 데이터 ”Un” 세트측(*1) 내 용 Ethernet 모듈의 선두 입출력 신호 (00~FE:입출력 신호를 3자리로 표현한 경우의 상위 2자리) 데이터형 BIN16비트 사용자 (S1) 커넥션 번호(1~16) (S2) 컨트롤 데이터를 저장할 디바이스의 선두 번호 BIN16비트 (D1) 명령 완료 시에 1스캔 ON시키는 자국 비트 디바이스의 선두 번호 이상 완료 시에는 (D1)+1도 ON한다. BIN16비트 시스템 비트 로컬 디바이스와 프로그램별 파일 레지스터는 설정 데이터용 디바이스로써 사용할 수 없습니다. 컨트롤 데이터 디바이스 (S2)+0 (S2)+1 항 목 시스템 영역 완료 스테이터스(상태) 설정 데이터 설정 범위 세트측(*1) ─ ─ ─ ─ 시스템 ㆍ완료 시의 스테이터스(상태)가 저장된다. 0000H :정상 완료 0000H이외:이상 완료(에러 코드)(*2) *1 세트측은 다음과 같이 됩니다. 사용자:전용 명령 실행 전에 사용자가 세트하는 데이터입니다. 시스템:전용 명령의 실행 결과를 PLC CPU가 저장합니다. *2 이상 완료 시의 에러 코드는 Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편)을 참조하십시오. 부 - 61 기 능 (1) Un으로 지정한 모듈의 (S1)로 지정한 커넥션에 대한 클로즈 처리를 실행합 니다.(커넥션 끊기) (2) CLOSE 명령 완료의 확인은 완료 비트 디바이스(D1)+0 및 (D1)+1로 실행할 수 있습니다. (a) 완료 비트 디바이스(D1)+0 CLOSE 명령이 완료한 스캔의 END 처리 시에 ON하고, 다음의 END 처리 시에 OFF합니다. (b) 완료 비트 디바이스(D1)+1 CLOSE 명령이 완료한 때의 상태에 따라 ON/OFF합니다. ㆍ정상 완료 시 :OFF 상태로 변화하지 않는다. ㆍ이상 완료 시 :CLOSE 명령이 완료한 스캔의 END 처리 시에 ON하고, 다음 의 END 처리 시에 OFF합니다. 【CLOSE 명령 실행 시의 동작】 (3) ZP.CLOSE는 클로즈 지령의 펄스상승(OFF→ON) 시에 실행합니다. 중 요 동일한 커넥션(연결)에 대하여 입출력 신호에 의한 오픈/클로즈 처리와 전용 명령-OPEN/CLOSE 명령에 의한 오픈/클로즈 처리를 절대로 병용하지 마시기 바랍니다. 바르게 동작하지 않습니다. 에러 (1) 전용 명령의 이상 완료 시는 이상 완료 신호(D1)+1이 ON하고, 에러 코드가 완료 스테이터스(상태) 영역(S2)+1에 저장됩니다. 에러 코드에 따라 다음의 매뉴얼을 참조하여 에러 내용을 확인/처리하십시 오. <에러 코드> 4FFFH 이하:QCPU 사용자 매뉴얼(하드웨어 설계ㆍ보수 점점편) C000H~ :Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼 (기본편) 부 - 62 프로그램 예 커넥션1을 클로즈하는(닫는) 프로그램. Ethernet 모듈의 입출력 신호가 X/Y00~X/Y1F일 때 * 프로그램 중의 M0과 M150에 대해서는 OPEN 명령 설명 항의 프로그램 예를 참조하십시오. * 프로그램 중의 M6000은 외부에서 클로즈 지시가 있는지를 표시하는 플래그입니다. 부 - 63 부5.4 BUFSND 명령 고정버퍼 교신에서 상대기기에 데이터를 송신합니다. 사용 가능 디바이스 설정 데이터 내부 디바이스 (시스템, 사용자) 비트 파일 레지스터 워드 MELSECNET/H, MELSECNET/10 다이렉트J□₩□ 비트 인덱스 레지스터 Zn 특수 모듈 U□₩G□ 워드 정수 기타 K, H $ (S1) ─ ○ ─ ○ ─ ─ (S2) ─ ○ ─ ─ ─ ─ (S3) ─ ○ ─ ─ ─ ─ (D1) ○ ○ ─ ─ ─ ─ [명령 기호] [실행 조건] 지령 BUFSND ZP.BUFSND "Un" (S1) (S2) (S3) (D1) 설정 데이터 설정 데이터 ”Un” 세트측(*1) 내 용 Ethernet 모듈의 선두 입출력 신호 (00~FE:입출력 신호를 3자리로 표현한 경우의 상위 2자리) 데이터형 BIN16비트 사용자 (S1) 커넥션 번호(1~16) (S2) 컨트롤 데이터를 저장할 디바이스의 선두 번호 시스템 BIN16비트 BIN16비트 (S3) 송신 데이터를 저장할 디바이스의 선두 번호 사용자 BIN16비트 (D1) 명령 완료 시에 1스캔 ON시키는 자국 비트 디바이스의 선두 번호 이상 완료 시에는 (D1)+1도 ON한다. 시스템 비트 로컬 디바이스와 프로그램별 파일 레지스터는 설정 데이터용 디바이스로써 사용할 수 없습니다. 컨트롤 데이터 디바이스 (S2)+0 (S2)+1 설정 데이터 설정 범위 세트측(*1) ─ ─ ─ ─ 시스템 설정 데이터 설정 범위 세트측(*1) ㆍ송신 데이터 길이를 지정한다(고정버퍼 교신의 순서 에 따라, 데이터 길이를 워드수 또는 바이트수로 지정 한다.) - 항 목 시스템 영역 완료 스테이터스(상태) ㆍ완료 시의 스테이터스(상태)가 저장된다. 0000H :정상 완료 0000H이외:이상 완료(에러 코드)(*2) 송신 데이터 디바이스 (S3)+0 항 목 송신 데이터 길이 수순(바이너리코드에 의한 교신시):워드수 수순(ASCII코드에 의한 교신시) :워드수 무수순(바이너리코드에 의한 교신) :바이트수 1~1017 사용자 1~ 508 1~2046 (S3)+1 ~ 송신 데이터 ㆍ송신 데이터를 지정한다. ─ 사용자 (S3)+n *1 세트측은 다음과 같이 됩니다. 사용자:전용 명령 실행 전에 사용자가 세트하는 데이터입니다. 시스템:전용 명령의 실행 결과를 PLC CPU가 저장합니다. *2 이상 완료 시의 에러 코드는 Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편)을 참조하십시오. 부 - 64 기 능 (1) Un으로 지정한 모듈의 (S1)로 지정한 커넥션의 상대기기에 (S3)으로 설정한 데이터를 송신합니다. PLC CPU Ethernet 모듈 고정 버퍼 (S3) 송신 데이터 길이 No.1 : 송신 데이터 BUFSND : No.n 상대 기기 : : No.16 송신 데이터 (2) BUFSND 명령 완료의 확인은 완료 비트 디바이스(D1)+0 및 (D1)+1로 실행할 수 있습니다. (a) 완료 비트 디바이스(D1)+0 BUFSND 명령이 완료한 스캔의 END 처리 시에 ON하고, 다음의 END 처리 시에 OFF합니다. (b) 완료 비트 디바이스(D1)+1 BUFSND 명령이 완료한 때의 상태에 따라 ON/OFF합니다. ㆍ정상 완료 시 :OFF 상태로 변화하지 않는다. ㆍ이상 완료 시 :BUFSND 명령이 완료한 스캔의 END 처리 시에 ON하고, 다음의 END 처리 시에 OFF합니다. 【BUFSND 명령 실행 시의 동작】 (3) ZP.BUFSND 명령은 송신 지령의 펄스상승(OFF→ON) 시에 실행합니다. 에러 (1) 전용 명령의 이상 완료 시는 이상 완료 신호(D1)+1이 ON하고, 에러 코드가 완료 스테이터스(상태) 영역(S2)+1에 저장됩니다. 에러 코드에 따라 다음의 매뉴얼을 참조하고, 에러 내용을 확인/처리하십시 오. <에러 코드> 4FFFH 이하:QCPU 사용자 매뉴얼(하드웨어 설계ㆍ보수 점점편) C000H~ :Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼 (기본편) 부 - 65 프로그램 예 커넥션1의 고정버퍼로써 데이터를 송신하는 프로그램. Ethernet 모듈의 입출력 신호가 X/Y00~X/Y1F일 때 * 프로그램 중의 M0에 대해서는 OPEN 명령 설명 항의 프로그램 예를 참조하십시오. 부 - 66 부5.5 BUFRCV 명령 고정버퍼 교신으로 상대기기로부터의 수신 데이터를 읽습니다. 메인 프로그램에서 사용하는 명령입니다. 사용 가능 디바이스 설정 데이터 내부 디바이스 (시스템, 사용자) 비트 파일 레지스터 워드 MELSECNET/H, MELSECNET/10 다이렉트J□₩□ 비트 인덱스 레지스터 Zn 특수 모듈 U□₩G□ 워드 정수 기타 K, H $ (S1) ─ ○ ─ ○ ─ ─ (S2) ─ ○ ─ ─ ─ ─ (D1) ─ ○ ─ ─ ─ ─ (D2) ○ ○ ─ ─ ─ ─ [명령 기호] [실행 조건] 지령 BUFRCV ZP.BUFRCV "Un" (S1) (S2) (D1) (D2) 설정 데이터 설정 데이터 ”Un” 세트측(*1) 내 용 Ethernet 모듈의 선두 입출력 신호 (00~FE:입출력 신호를 3자리로 표현한 경우의 상위 2자리) 데이터형 BIN16비트 사용자 (S1) 커넥션 번호(1~16) BIN16비트 (S2) 컨트롤 데이터를 지정하는 디바이스의 선두 번호 BIN16비트 (D1) 수신 데이터를 저장할 디바이스의 선두 번호 (D2) 명령 완료 시에 1스캔 ON시키는 자국 비트 디바이스의 선두 번호 이상 완료 시에는 (D2)+1도 ON한다. BIN16비트 시스템 비트 로컬 디바이스와 프로그램별 파일 레지스터는 설정 데이터용 디바이스로써 사용할 수 없습니다. 컨트롤 데이터 디바이스 (S2)+0 (S2)+1 항 목 설정 데이터 설정 범위 세트측(*1) ─ ─ ─ ─ 시스템 설정 범위 세트측(*1) 시스템 영역 완료 스테이터스(상태) ㆍ완료 시의 스테이터스(상태)가 저장된다. 0000H :정상 완료 0000H이외:이상 완료(에러 코드)(*2) 수신 데이터 디바이스 (D1)+0 항 목 수신 길이 설정 데이터 ㆍ고정버퍼에서 읽은 수신 데이터의 데이터 길이가 저장된다. (고정버퍼 교신의 순서에 따라, 데이터 길이는 워드수 또는 바이트수가 데이터 된다.) 수순(바이너리코드에 의한 교신시):워드수 수순(ASCII코드에 의한 교신시) :워드수 무수순(바이너리코드에 의한 교신) :바이트수 (D1)+1 ~ 수신 데이터 ㆍ고정버퍼에서 읽은 수신 데이터가 작은 어드레스부터 순차적으로 저장된 다. - 1~1017 시스템 1~ 508 1~2046 ─ 시스템 (D2)+n *1 세트측은 다음과 같이 됩니다. 사용자:전용 명령 실행 전에 사용자가 세트하는 데이터입니다. 시스템:전용 명령의 실행 결과를 PLC CPU가 저장합니다. *2 이상 완료 시의 에러 코드는 Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편)을 참조하십시오. 부 - 67 기 능 (1) Un으로 지정한 모듈의 (S1)로 지정한 커넥션의 고정버퍼로써 수신 데이터 (고정버퍼 교신용)를 읽습니다. PLC CPU Ethernet 모듈 고정 버퍼 (D1) 수신 데이터 길이 No.1 : 수신 데이터 BUFRCV : No.n 상대 기기 : : No.16 수신 데이터 (2) BUFRCV 명령 완료의 확인은 완료 비트 디바이스(D2)+0 및 (D2)+1로 실행할 수 있습니다. (a) 완료 비트 디바이스(D2)+0 BUFRCV 명령이 완료한 스캔의 END 처리 시에 ON하고, 다음의 END 처리 시에 OFF합니다. (b) 완료 비트 디바이스(D2)+1 BUFRCV 명령이 완료한 때의 상태에 따라 ON/OFF합니다. ㆍ정상 완료 시 :OFF 상태로 변화하지 않는다. ㆍ이상 완료 시 :BUFRCV 명령이 완료한 스캔의 END 처리 시에 ON하고, 다음의 END 처리 시에 OFF합니다. 【BUFRCV 명령 실행 시의 동작】 (3) ZP.BUFRCV 명령은 읽기 지령(버퍼메모리의 고정버퍼 수신 상태 신호 저장 영 역(어드레스:5005H)의 해당 커넥션의 비트)의 펄스상승(OFF→ON) 시에 실행합 니다. (4) 동일한 커넥션에 대해 수신 데이터를 읽는 경우, BUFRCVS 명령(인터럽트 프로그 램용)과 병용할 수 없습니다. 에러 (1) 전용 명령의 이상 완료 시는 이상 완료 신호(D2)+1이 ON하고, 에러 코드가 완 료 스테이터스(상태) 영역(S2)+1에 저장됩니다. 에러 코드에 따라 다음의 매뉴얼을 참조하고, 에러 내용을 확인/처리하십시 오. <에러 코드> 4FFFH 이하:QCPU 사용자 매뉴얼(하드웨어 설계ㆍ보수 점점편) C000H~ :Q 대응 Ethernet 인터페이스 모듈 사용자 매뉴얼(기본편) 부 - 68 프로그램 예 커넥션1의 고정버퍼로써 수신 데이터를 읽는 프로그램. Ethernet 모듈의 입출력 신호가 X/Y00~X/Y1F일 때 부 - 69 Microsoft,Windows,Microsoft WindowsNT는 미국 Microsoft Corporation의 미국 및 그 밖의 국가의 등록상표입니다. Ethernet은 미국 Xerox.co.ltd의 등록상표입니다. 기타,본문 중에 있는 회사명, 상품명은 각 사의 상표 또는 등록상표입니다. SCHOOL-Q-ETHERNET 13JS20 SH - 080196-A 0504 MEE
© Copyright 2024