업무 관련

白손 2015. 10. 13. 07:42
[서문]
모드버스는 통신 프로토콜로 국내외 많은 Field Controller들이 표준으로 채택하여 지원하는 규격입니다.
그럼으로 HMI로 모드버스 통신 프로젝트를 구성해보면 다른 장비를 연결할때에도 많은 도움이되며
실제 현업에서 다양한 프로젝트를 구축할 능력을 갖게 됩니다.



다음 배우기 과정은 모드버스 장비가 없는 경우 모드버스 시뮬레이터를 다운받아 사용해보세요.

                    http://cafe.naver.com/hyperhmi/479

HMI는 HMI 전문카페의 HyperHMI를 이용하여 진행합니다.  
HMI 다운로드 및 전문 카페 : http://cafe.naver.com/hyperhmi


[통신 설정하기]
1. HyperHMI SCADA를 설치하면  바탕화면에 Builder와 HyperHMI SCADA 아이콘이 만들어집니다
.

2. Builder를 실행합니다. 그리고 "새 프로젝트" 버튼을 눌러  새로운 모드버스 프로젝트를 만듭니다.


3. 새 프로젝트 정보 입력창에서 만들 프로젝트 이름을 입력합니다. 저는 "ModbusTCP"를 입력하였습니다.


4. 모드 버스 프로젝트를 만들면 다음 그림과 같이 현재의 작업 프로젝트로 선택이 됩니다.  이때 , "통신 드라이버" 버튼을 선택하여 모드버스 통신 드라이버 설정을 시작합니다.


5. 통신 드라이버를 선택하면 다음과 같이 통신드라이버 창이 표시됩니다. 이때,  왼쪽의 "통신 드라이버"를 선택하고 "추가'버튼을 눌러  드라이버를 등록합니다.


6. 다음과 같이 통신 드라이버 목록에서 "모드버스 TCP/IP Client  드라이버를 선택합니다. 그리고 임의의 드라이버 이름을 입력합니다. 저는 "ModbusTcpDrv" 로 입력합니다.


7. 드라이버를 등록하면 다음 그림과 같이 "ModbusTcpDrv"이름이 표시됩니다. 이때 이것을 선택하고 "열기"버튼을 눌러 모드버스 드라이버 통신 정보를 등록합니다.
.

8. 모드버스 드라이버가 열리면 다음 그림처럼 툴바에서 첫번째 아이콘을 선택하여 통신 설정을 하거나 메뉴의 [편집][통신설정]을 선택하여 할 수 있습니다.


9. 통신설정 화면에서 "스테이션 추가"를 선택하여 다음 그림과 같이 모드버스 장비의 통신 정보를 설정합니다.
- 스테이션 이름은 임의의 이름을 입력합니다. 여기서는 "S1"으로 입력하였습니다.
- 국번은 모드버스 장비의 어드레스 번호입니다.  1번을 입력하였습니다. 이것은 모드버스 장비의 Dip Switch or Terminal Program으로 정의하거나 확인할 수 있습니다.
- Write Holding Register Function 은 장비에 따라  Preset MultipleRegister Command를 지원하지 않는 경우 가 있어 0x06번으로 명령을 할 경우 선택합니다. 보통은 0x10을 대부분지원합니다.
- 서버주소는 모드버스 장비의 주소를 입력합니다. 여기서는 172.20.200.9번을 입력하였습니다.

10. 스테이션을 정의하였다면 확인을 눌러 스테이션을 추가합니다.  이때 "스테이션이 추가되었습니다."라는 메시지가 표시됩니다.  스테이션 편집화면에서 "취소"를 눌러 스테이션 추가를 완료합니다.
- 다음 그림과 같이 S1 스테이션정보가 등록된것을 확인합니다.
- 블럭 추가 버튼을 눌러    S1 을 선택하고 "블럭추가"를 눌러  통신블럭을 등합니다.


11. "블럭 추가"를 선택하면 다음 그림과 같이 통신 블럭 정보를 등록합니다.
- 데이터 종류에서 0~4번의 어드레스 영역이 있습니다. 아날로그 쓰기 읽기가 가능한 영역은 4번이며, 0번은 디지탈 쓰기/읽기가 가능한 영역입니다. 여기서 4번을 선택합니다.
- 시작주소;  읽을 어드레스 영역의 첫번째 주소를 입력합니다. 보통 디바이스는 내부 통신규격은  0번을 기준으로 됩니다. 그러나 HMI에서는 0번은 1번으로 처리합니다.
- 데이터 개수: 읽을 데이터의 Word(2 Bytes) 단위의 개수를 입력합니다.
* 다음은 100개의 데이터를 읽도록 설정했습니다.

 

12.통신블럭을 추가하고 확인 버튼을 눌러 등록을 완료하면 다음 그림과 같이 메시지가 표시됩니다.



13. 통신 블럭추가를 중단하려면 "취소"버튼을 눌러 취소합니다. 그리고 통신 설정 화면에서 "닫기"버튼을 눌러 통신 드라이버 설정을 완료합니다
.
14. 통신 드라이버도 "닫기"버튼을 선택하여 종료합니다.

[통신 확인 방법]
1. 위와 같이 통신 설정이 완료되었다면 장비와 통신이 정상적으로 가능한지 확인합니다.


2. 그러면 HMI의 RunTime이 동작합니다. 이때, HMI 메인 메뉴에서 "Server" 버튼을 선택합니다.



3. 다음과 같이 서버의 화면이 표시됩니다. 이때, 서버의 드라이버 탐색기 트리에서  ModbusTCP 드라이버가 RUN 상태가 되고
RX/TX의 통신 송수신 카운터가 증가되는것을 확인할 수 있습니다.

4. 통신 확인 과정에서 TX/RX의 변화가 없고 S1의 트리 연결 이미지가 끊어져 있는 경우는 모드버스 장비의 IP와 통신 포트정보등을 다시 확인후에 체크해야 합니다.
이때는 HMI RunTIME을 모두 종료하고 수정한후 다시 HyperHMI를 실행하는 방법과 서버의 드라이버 시작/정지 버튼만으로 데이터베이스를 수정후에 다시 로딩할 수 있습니다.


5. HMI Runtime을 완전히 종료하는 경우는 다음 과 같이 Close 버튼을 선택하여 종료합니다.


[태그 데이터 베이스 만들기]
1. 태그 데이터베이스를 만들기 위해서는 다음 그림과 같이 "빌더"에서 "태그 데이터베이스"를 선택합니다. 그리고 표시된 태그 데이터베이스 윈도우에서 "새 그룹"버튼을 선택합니다.


2. 새 그룹 버튼을 선택하면 다음 그림과 같이 ModbusTCP 드라이버와 스테이션 이름(여기서는 "ModbusTcpDrv.S1")을 반드시 선택하고 임의의 태그 그룹 이름을 입력합니다. 저는 "DB1"이라고 입력합니다.


3. 새그룹 DB1을 추가하면 다음 그림과 같이 왼쪽의 트리에 "DB1"이 표시되고 이것을 마우스로 더블클릭하면 오른쪽에 태그 데이터베이스 편집화면이 표시됩니다.


4. 태그 데이터베이스에 태그를 추가하려면 먼저 모드버스의 어드레스 구조를 이해해야 합니다. 이전 서두에서 말한바와 같이 모드버스는 0,1,3,4번 메모리 영역이 있습니다.
다음 표를 참고하여 태그 추가를 할때에 어드레스항목에 입력합니다. 다만, 이전에 통신드라이버 편집과정에서 통신 블러을 현재 4번 메모리 영역을 읽어오도록 했음으로
4번으로 시작하는 어드레스를 등록해야 정상적인 값의 제어와 감시가 가능합니다.



5. 위의 테이블을 보고 먼저 이전에 등록한 통신 블럭의 범위가 4번의 1 번부터 100개의 Word를 읽기로 설정이 되어 있으니 40001번지부터 40005번지까지 5개만 등록해봅니다.
추가기능은 목록에서 마우스 오른쪽 버튼을 누르면 "추가"메뉴를 이용하거나 다음 그림처럼 "추가"버튼을 눌러 추가할 수 있습니다.
태그 갯수가 많을 경우에는 엑셀이나 오픈오피스 Calc를 이용하여 클립보드로 복사하여 편집한후에 붙여넣기를 하면 대량의 태그 데이터베이스를 쉽게 작업할 수 있습니다.


6. 태그 등록을 완료하였다면, "저장" 버튼을 눌러 저장한 후에 태그 데이터베이스 창을 닫습니다.



[그래픽 등록 하기]
1. 그래픽 화면을 구성하려면 빌더에서  다음 그림과 같이 "그래픽"을 선택합니다.
그러면 다음 그림처럼 "Draw" 화면이 표시되며 [파일][새 파일]을 선택하여 작업할 새 그래픽을 엽니다.


2.  다음 그림과 같이 태그를 하나씩 화면상에 드래그 & 드롭하면 값 표시 상자가 표시됩니다. 



3. 이번에 제어 명령이 가능하도록 그래픽 오브젝트(심볼)의 속성을 설정해봅니다.
태그 5개에 대하여 매핑된 심볼을 선택하여 모두 명령태그를 체크하고 명령방식을 선택합니다.



4. 그래픽 작업을 완료했다면 다음과 같이 파일을 저장합니다.


5. 그래픽을 완료하고 RunTime으로 HMI가 실행되면 시작 그래픽으로 표시하도록 지정해줍니다.


6. 그래픽 편집기 "Draw"를 종료하고 "빌더"를 실행하여  현재 작업한 프로젝트의 HMI 를 실행합니다.




7. 런타임으로 HMI가 실행되면 다음 그림과 같이 View에 그래픽이 표시됩니다. 그리고 다음 그림처럼 태그의 현재값이
모드버스 디바이스로부터 읽어와 표시합니다.  이전에 선택한 태그 명령 설정에 의해 태그심볼을 선택하면 태그 명령창이 표시되어 원하는 값을 입력할 수 있습니다.



8. 이렇게 하여 모드버스 TCP 통신방식으로의 제어/감시 방법에 대하여 배워보았습니다.
이를 응용하여 그래픽 편집기 (Draw)에서 더 많은 그래픽 기능을 적용해 보시기 바랍니다.

HMI 다운로드 및 전문 카페 : http://cafe.naver.com/hyperhmi


출처 : melsec PLC 동호회
글쓴이 : 붉은풍차 원글보기
메모 :
유용한 정보 감사합니다.