PLC가 연결하지 않고 PC만으로 자체적으로 PLC와 연결 테스트 하는 방법을 공유하고자 이 문서를 작성.

 

1) 하단의 웹 페이지에 접속 (공식 웹 페이지에서는 회원가입이 필요하다.)

http://www.servo-tech.co.kr/

 

2) GX-Works 2 다운로드

 

3) GX-Works2 압축을 풀고 설치 파일 실행.

    (SW1DNC-GXW2-E1 폴더 내에 있는 setup파일 실행, Serial 번호 있어야 함.)

 

 

 

1) GX Works2 실행. (Melsoft Application\GX Works2)

 

2) 새 프로젝트 생성. (PLC Series 및 Type은 본인 임의로 입력)

 

3) Simulation 실행

 

 

1) Communication Setup Utility 실행. (Melsoft\Communication Setup Utility)

 

2) PC 프로그램에서 연결 할 PLC Station Number를 입력.

 

3) PC측에서 연결 할 PLC 정보를 설정한다.

 

4) Comment는 사용자 임의로 입력하고 Finish 버튼 클릭

 

5) Finish 클릭 하면 다음과 같은 페이지가 나타난다.

 

6) Connection test 탭으로 이동하여 Test 버튼을 클릭 (연결 성공 이미지) 

 

7) Simulation 프로그램 종료 시 연결 이미지 (연결 실패 이미지) 

Posted by 람뫼
:

2-1에서 빌드를 정상적으로 마쳤다면 아래와 같은 파일이 생성 되었을 것이다.

 

Client는 메인 프로그램인 x64 (64bit) 프로그램을 말한다. (이 문서는 MFC 환경을 기준으로 작성)

개발 환경은 Visual Studio 2019를 사용하였고 Visual Studio 2013부터 동일한 방법으로 사용 중이다.

 

1)프로젝트 생성 방법.

1. 새 프로젝트 생성 : 그림 1과 같이 프로젝트 템플릿 항목에 MFC검색 후 선택 (Visual C++ -> MFC 프로젝트. )

2. 그림 2와 같이 프로젝트 이름을 작성하고 만들기 버튼 클릭 . (프로젝트 명 : MFCApplication1)

2) Server 프로젝트에서 생성한 tlb 파일 적용.

1. 프로젝트의 소스 파일과 헤더 파일이 있는 폴더와 동일한 위치에 tlb 파일을 복사. (본인 파일명 Server1.tlb)

2. 헤더 파일에 ‘#import “server1.tlb” no_namespace’ 작성. (본인 파일명 Server1.tlb.)

위 과정 진행 후 빌드가 안된다면 tlb파일이 다른 위치에 있을 확률이 매우 높다. (주로 debug폴더에..)

빌드 성공 시 debug폴더에 tlb파일명과 동일한 명칭의 tlh, tli형식의 파일이 생성된다. (e.g. Server1.tlh, Server1.tli)

 

3. 헤더 파일에 Com 인스턴스 생성.

4. Cpp파일에서 아래와 같이 테스트.

5. Return 값 확인하여 정상 동작 확인.

 

끝. 

 

Posted by 람뫼
:

MX Component를 64bit 프로그램에서 조금 더 편리하게 사용하는 방법을 공유하는 차에 문서를 작성하였다.

(MX Component는 64bit 환경에서 직접 연결 지원 안됨.)

 

서버는 MX Component와 직접적으로 연결하는 x86 (32bit) 프로그램을 말한다.

개발 환경은 Visual Studio 2019를 사용하였고 Visual Studio 2013부터 동일한 방법으로 사용 중이다.

 

1) 프로젝트 생성 방법.

1. Visual Studio를 관리자 모드로 실행한다.

2. 새 프로젝트 생성 : 프로젝트 템플릿 항목에 ATL 검색 후 선택 (타 버전 : Visual C++ -> ATL 프로젝트)

 

3. 프로젝트 이름을 작성하고 어플리케이션 종류를 exe로 선택한다. (본인 프로젝트 명 : Server1)

 

2) ATL 클래스 추가

1. 프로젝트 생성을 마치면 하나의 솔루션에 두 개의 프로젝트가 생성된다.

2. 본인이 만든 프로젝트 명을 선택하여 우 클릭 후 새 항목을 추가한다. (본인 프로젝트 명 : Server1)

3. C++ -> ATL항목에서 ATL 단순 개체 선택 후 이름 작성 (본인 클래스 명 : PLCManager)

4. ProgID를 제외하고 자동 입력이 되어 있을 것이다.

   ProgID는 레지스트리 (HKEY_CLASS_ROOT\WOW6432Node\CLSID)에 저장되는 ID로

   보통 '프로젝트명.클래스명'의 형태로 입력한다.

   나머지는 기본 설정으로 두고 마침 버튼을 클릭.

5. CLSID는 .idl 파일에서 library의 uuid에 해당된다. 프로젝트 빌드 후 확인해 볼 수 있다.

 

3) Method 생성.

1. 클래스 뷰에서 클래스 선택 후 우측 마우스 클릭하여 Method를 추가한다.

   (열쇠아이콘 더블클릭하여 idl파일이 열리는 항목에서 진행.)

 

2. 다음과 같이 Method 및 매개 변수를 추가한다.

3. MX Component 를 사용하기 위하여 추가 포함 디렉터리에 Melsec\Act\include 경로를 추가한다.

   (사용자 본인 PC의 Melsec 설치 경로 확인)

4. 추가 후 헤더 파일에 #include "ActUtlType_i.h" 구문을 추가한다.

5. 생성 내용 확인 및 Cpp파일에서 필요한 기능을 구현한다. (두 번째로 생성한 Method여서 id는 2번으로 부여 됨.)

- idl (Interface Definition Language) 파일.

- 헤더 파일.

- cpp 파일.

 

4) 정상적인 빌드 후 결과 파일 확인

1. 솔루션 경로의 폴더 내용은 다음과 같다.

2. 솔루션의 Debug 폴더

3. 솔루션\Server1의 Debug 폴더

   (tlb파일은 dll과 유사하게 사용 됨.)

4. Server에서 작성한 내용이 Client에서 정상적으로 작동하려면 아래와 같이 활성화 되어야 한다.

위와 같이 활성화 시키는 방법은

- Visual Studio를 관리자 모드로 하여 Server 실행 후, Client에서 Server에 작성한 Method 실행 시 자동 생성

- 수동으로 등록하는 방법은 솔루션\Debug 폴더 내에서 Server1.exe /Regserver 입력.

- 수동 실행시키는 방법은 Server1.exe 파일 실행.

 

Posted by 람뫼
: