※ 준비물 : C# , mx component , melsec Q

- mx component란 무엇인가?

PLC와 통신을 편하게 해주는 프로그램입니다.

 

※ 설치방법

https://kr.mitsubishielectric.com/fa/ko/board.do?act=modifyDefultBoard&depth=1&board_id=6&pageIndex=1&category_gubun=25&ut=w&num=20322&rurl=&log_id=&category_1=&category_2=&category_3=&searchItem=title&searchString=mx+component 

 

[로그인] | 한국미쓰비시전기오토메이션(주)

 

kr.mitsubishielectric.com

mx component를 다운로드 받습니다.(윈도우10용으로 받았습니다.)

그림1

압축 풀고 폴더를 엽니다.

그림2

1. EnvMEL폴더안에 setup 설치를 합니다.

2. 2번의 setup 설치를 합니다.

그림3

시리얼 넘버는 GX works2를 설치할 때 사용했던 것을 사용하시면 됩니다.

gxworks2 설치했던 곳

http://www.dawooservo.co.kr/

 

(주)다우에프에이

공장자동화 시스템, 제품 소개, 카탈로그, 프로그램, 교육 일정, 마스크및위생용품, 문의 안내

www.dawooservo.co.kr

※ 설정방법

그림4

윈도우 검색에서 위의 앱을 찾아 관리자 권한으로 실행 합니다.

- 시뮬레이션 설정을 먼저 하겠습니다.

그림5

1. ListView -> Wizard -> Logical Station number순으로 설정합니다.

시뮬레이션은 1번에 저장했습니다.

그림6

GX Simulator2로 설정을 해주시고 Next

그림7

코멘트 작성하고 Finish

- 테스트

그림8

1. Gxworks2를 켜고 melsec에 컴파일 된 파일을 넣는다

2. 시뮬레이션을 켠다.

3. 빨간색 1,2,3번 순서대로 확인해서 successful이 뜨면 성공.

 

- 이더넷 통신을 하도록 하겠습니다.

 

그림9

이더넷은 2번으로 설정

그림10

1. Ethernet board 설정

2. CPU module

3. TCP

설정해주기

그림 11

Host를 Melsec의 IP주소로 설정하면 되겠습니다.

- 테스트

그림 12

successful이 뜨면 성공

 

※ C#으로 프로그래밍 설정

그림13

API를 써야되기 때문에 라이브러리를 추가해줘야 됩니다.

그림 14

위와 동일한 라이브러리를 추가해야됩니다.

- C# Form 구조 만든 것

그림 15

여기서는 연결 버튼과 공급실린더 전후진 한 내용만 올리겠습니다.

- C# 프로그래밍

그림15

1. using ActUtlTypeLib -> 라이브러리를 사용하겠다고 추가하는 것 입니다. 

2. ActUtlType m_PLC -> m_PLC란 변수로 객체를 만드는 것 입니다.

3. 시리얼 통신 연결하는 함수입니다.

   void ComConnectBtn 의 함수는 위의 버튼 함수의 MouseDown을 눌렀을 때 실행되는 함수입니다.

MouseDown에 연결된 ComConnectBtn

   m_PLC.AclogicalStationNumber = 2 -> 위에서 이더넷 통신하는 번호를 적어줍니다.

                                                         (여기서는 이더넷으로 통신을 합니다.)

   int nRtn = m_PLC.Open() -> m_PLC.Open() 통신을 하기위해 접속을 하는 것입니다.

                                         (성공했으면 0을 반환합니다.)

4. 공급실린더 전진을 위한 함수입니다.

   m_PLC.SetDevice("B0" 1) -> SetDevice는 PLC의 메모리에 접근해서 직접 넣어주는 역할을 합니다. B0     의 메모리에 1, 즉 On을 시키는 것입니다. 단 여기서 B0가 항상 On이 되는게 문제가 됩니다. 

   그래서 Mouse Up이 됬을 때 B0를 0으로 바꿔주기 위해 delegate의 무명메서드를 사용합니다.

(Delegate가 어려우면 아래의 방법으로 해도됌)

Mouseup과 down의 함수를 따로 나눠서 씀

5. 공급실린더 후진을 위한 함수입니다.

- PLC 프로그래밍

PLC 프로그래밍

끝~

+ Recent posts