:: 진공에 대해 알려주마.

PC에서 PLC ACCESS 하기 (1) 본문

진공/노하우

PC에서 PLC ACCESS 하기 (1)

하이백 2019. 9. 19. 15:10

 

 
     아래 내용은 EtherNet을 이용하여 미쓰비시 PLC에 접근하기 위하여 MX Component를 사용하였다.

     MX Component를 이용하는 이유는 원격에서 ethernet을 이용하여 PLC에 접근할 수 있으며 메모리 전 영역을 접근할 수 있다. 
     NetG 보드를 사용 하는것 보다는 상대적으로 느리긴 하지만 아무런 하드웨어 추가 없이 접근이 가능하다는 장점이 있다.

     NetG를 이용하면 Link reflash로 불리는 접근 영역의 한계가 있다. 빠르게 많은 station을 연결하다 보니 제한을 두고
     사용하는 것 같다.
     NetG를 이용하여 제한없이 PLC에 접근하려면 MX Component를 설치하고 이를 통해 access 하면 가능하다.

     만일 제어 PC 혹은 NetG(NetH) 보드가 설치된 경우라면 아래 링크 내용을 참고 하시라.
     물론 NetG가 설치된 PC에도 MX Component를 설치하여 통신을 할수있다.
     
https://hivac.tistory.com/37

 

PC에서 PLC를 연결하여 값을 PLC의 쓰거나 가져오는 방법에 대하여 알아보자 

우선 우리 업계에서 가장 많이 사용되는 MITSUBISHI PLC를 기준으로 알아보고 다른 메이커의 PLC 역시 비슷한 방법으로 접근이 가능하다. 업계에서 Melsec을 많이 사용하는 이유는 아마 디스플레이 장비 시스템을 일본에서 가져오다 보니 자연스럽게 사용하게 된 것으로 보인다. 

MelsecNet 통신방식의 장점은 아주 단순한 방식으로 사용자가 크게 관여하지 않아도 큰 문제없이 제 기능을 발휘한다. 사용자는 설치하고 지정하고 사용하면 되는 비교적 관리가 쉽다. 다른 필드 버스에 비해 기능은 많이 없지만 사용 목적이 통신과 제어이다 보니 가능하면 손이 많이 안 가는 시스템이 가장 효율적이다. 그보다 더 큰 이유는 고객의 요청이기도 하다.

PC에서 가장 쉽게 PLC를 연결하여 통신을 하는 방법에는 이더넷을 연결하여 PLC의 어드레스에 접근해 원하는 값을 가져오는 방식이다. 장점으로는 PLC의 모든 어드레스에 접근해 값을 가져올 수 있으나 다음에 소개할 Net-G 방식에 비해 상대적으로 느린 단점을 가진다. 

PLC에 값을 가져오는 다른 방법으로는 MelsecNet-G를 이용한 통신 방법이 있다. 이는 PC에 PCI 타입의 MelsecNet-G 보드를 설치하고 광케이블을 이용하여 이 카드와 PLC의 광 통신 모듈에 연결하여 값을 가져오는 방식이다. 다른 필드 버스와 마찬가지로 통신 속도가 빠르다는 장점을 가진다.

MelsecNet 통신은 당연히 메이커에서 제공하는 라이브러리가 있어야 한다. 이 라이브러리를 이용하여 원하는 주소의 값을 가져오게 된다. PLC가 어디에 있던지 연결이 되면 내 메모리 읽듯이 읽으면 된다. 업데이트 속도를 높이기 위해서는 블록으로 읽어와 정해진 사이즈만큼씩 잘라 값을 해석하는 것을 추천한다. 

PLC

PC에서 PLC 데이타를 읽기, 쓰기 위해서는 당연히 PLC가 있어야 하고 PLC를 다룰 줄 알아야 한다. 하지만 PLC를 구성해줄 인원이 있다면 Memory map을 입수하여 PLC에서 해당 memory의 값을 읽고 쓰기만 하면 된다. 테스트를 위해 필요한 준비물은 다음과 같다.

  • GX Works (실제 PLC가 없어 PC에서 동작하는 가상 PLC를 구성하기 위함)
  • MX Component
  • Memory map (PLC에 프로그램되어 있는 변수의 주소)
  • PC의 개발툴 (C#을 사용한다.)

 


 

1. GX Works 설치

GX Work는 PLC 프로그램을 작성하고 이를 PLC에 Download 하는 개발 툴이다.

USB, LAN 혹은 광케이블을 이용하여 PLC와 연결, 설정 후 PLC에 레더 프로그램을 다운로드하게 된다. 여기는 PLC 없이 GX Work의 Simulation 기능을 이용하여 통신 테스트를 진행할 예정이다.

PLC에서 저장되는 모든 값은 주소(Address)로 표현된다. PLC Maker에 따라 조금씩 다르기는 하지만 PLC Memory에 접근하기 위해서는 영문자+숫자 주소로 표기되고 해당 주소에 무슨 값을 저장되어 있는지 알아야 필요한 값을 가져올 수 있다. PLC에서 프로그램 백업은 래더 프로그램과 메모리 맵이 기술된 엑셀 시트를 같이 저장하는 것을 의미한다.

PLC가 있으면 LAN Cable을 바로 연결하면 되고 여기서는 PC 프로그램을 목적으로 하기에 GX Works를 실행하여 아래와 같이 간단한 레더를 작성해 보았다.

 

 

레더가 작성되면 Compile후 Debug/Start Simulation을 실행한다.

 

Simulation이 잘 동작하면 아래와 같이 나타날 것이다. 이것으로 가상 PLC 준비가 끝났다.

 


 

2. MX Component의 설치

MX Component는 제어 PC에서 미쓰비시 PLC에 접근할 수 있도록 도와주는 유틸리티이다.

PC에 설치하면 PLC Memory에 접근할 수 통로를 제공하게 된다. MX Component는 미쓰비시의 전용 라이브러리이며 성능, 속도등 최적화 되어 있다. 이외에도 굳이 이것을 사용하지 않고도 PLC Memory에 접근할수 있는데 거의 모든 PLC에서 지원하는 ModBus RTU를 이용할 수 있다. 

우리 업계는 미쓰비시 PLC가 표준처럼 사용되므로 쉽게 구할 수 있을 것이다. 이후 설치 후 세팅 방법을 설명한다.

 

프로그램 설치후 실행화면

화면에 Wizard 버튼을 클릭한다. 

 

연결할 PLC의 station no를 입력한다. 연결하고자 하는 PLC의 station번호를 입력해야 하는데 바로 아래의 이미지를 참고한다.

PLC Station no

Station 번호는 PLC에서 설정하며 PLC를 여러 개 사용하는 경우 이 번호로 원하는 PLC에 접근할 수 있다. 바로 아래 mode는 통신 속도를 지정할 수 있다. 보통은 가장 빠른 쪽으로 설정한다.

값을 입력 후 Next 버튼을 클릭한다.

 여기서는 PLC 없이 simulation을 위하여 사용하는 것이라 위와 같이 설정하면 된다. 

하지만 실제 PLC와의 연결을 위해서는 통신을 위한 매체와 IP주소, station no 등을 입력해야 한다. 아래 이미지는 PC와 PLC를 이더넷으로 연결하는 경우를 설정 화면이며 아래와 같이 설정한다.

  • PLC side I/F         : Ethernet module을 선택한다.
  • Module type         : 연결되는 이더넷 모듈명을 선택한다. (CPU에 달린 port와 다름)
  • Host(IP Address) : PLC의 IP Address를 입력한다. 
  • Station no            : PLC의 Station No (위에 이미지 참고)

 

 

선택 항목 중 CPU Series를 입력하라는 경우가 있는데 정확히 모르는 경우 대략 비슷한 것으로 선택하면 연결 후 자동 인식하여 알아서 설정하게 된다.

Comment는 설명을 위한 주석이므로 원하는 내용을 입력 후 Finish 버튼을 클릭하면 완료된다. Connection test 탭을 클릭하면 아래와 같이 입력한 정보가 표시된다.

앞에서 입력한 Logical station number 항목에 이전에 입력한 station no+comment가 표신 된다. 필요한 항목을 선택 후 Test 버튼을 누르면 실제 PLC와 통신을 시도하고 필요한 정보가 화면에 표시된다. 통신에 문제가 있다면 에러 창을 뛰울 것이다.

 

다시 본론으로 GX Work 실행 후 Simulation 상태에서 아래와 같이 연결 테스트를 해 볼 수 있다.  

위와 같이 모든 것을 설정하고 이후 프로그램을 빠져나와도 값이 지정 위치에 저장된다. PC 프로그램을 작성하여 접속하는 경우 여기에서 저장된 정보를 이용하여 PLC와 접속을 하게 된다. 

그리고 한 가지 주의할 점은 위의 설정 프로그램은 관리자 권한으로 실행하여 설정하여야 한다

그리고 MX Component가 제대로 설치가 되었다면 아래의 디렉터리에 해당 파일을 확인할 수 있다.

  • C:\MELSEC\Act\Control\ActEther.dll
  • C:\MELSEC\Act\Control\ActUtilType.dll

 


 

3. Memory Map

위와 같이 준비가 되면 PC 프로그램에서 PLC에 접근하는 프로그램을 작성해 본다.

우선 PLC 어디에 접근할 것이지 결정해야 한다. MX Component를 이용하여 아무 데나 접근할 수 있지만 어디에 무슨 값이 들어 있는지 알 수 있는 memory map이 있어야 한다. 

위에서 작성한 레더의 주소를 설명한 Memory Map

 위의 맵을 보고 테스트용 난수 1번, 2번, 3번의 값을 가져오고 난수를 발생시킬 수 있는 스위치를 만들어 본다. 

 

4. PC 프로그램

"PC에서 PLC ACCESS 하기2" 에서 이어 간다.

 

'진공 > 노하우' 카테고리의 다른 글

RS-232 시리얼 통신  (8) 2019.12.08
PC에서 PLC ACCESS 하기 (2)  (16) 2019.12.02
RS-232 Serial 통신-3  (0) 2019.06.25
RS-232 Serial 통신-2  (0) 2019.06.19
RS-232 Serial 통신-1  (0) 2019.06.04
Comments