본문 바로가기
PLC 자동제어 학습/CiMon Scada 수업

CiMon Scada에서 보고서를 출력하는 방법에 관한 실습

by 인터넷떠돌이 2018. 1. 20.
반응형

안녕하세요?


이전부터 왜 CiMon이라고 하는 Scada를 사용하는가 했더니, 가장 큰 이유로는 바로 '보고서'를 출력하는 기능 때문이라고 합니다. 이 보고서를 출력하는 방법으로는 크게 5가지가 있다고 합니다.


1.보고서 기능을 사용

2.이벤트 보고서 기능을 사용

3.스크립트를 이용한 보고서 출력

4.데이터 수집을 이용한 보고서(cld파일을 이용)를 출력

5.ODBC(데이터 베이스)를 이용한 보고서 출력


이번 수업에서는 스크립트를 이용한 보고서를 출력하는 방법을 먼저 실습을 해 보았습니다.



언제나 그렇지만, 새로운 프로제트를 생성 하도록 합니다.



일단 내용은 없는 빈 스크립트인 statussave()라는 것을 생성 하도록 합니다.



그리고 디지털 태그인 동작시그널의 태그값이 변경될 때 스크립트가 실행되도록 합니다.



그리고 여기서는 일련의 태그를 작성하도록 합니다.



여기서 나오는 CELL_NO라는 태그에서는 위 스크린샷처럼 종료시 최종 상태 저장이라는 것을 체크해 놓도록 합니다.



이번에는 아날로그 태그인 시간간격이라는 태그를 만들도록 합니다.



그리고 일종의 양식이 될 파일이라고 해야 할까요? Ex.xls라는 것을 만들어 주도록 합니다.



그리고 Ex.xls가 정확하게 어디에 있는지를 제대로 알아 보고서 움직이도록 해야 합니다.




일련의 스크립트를 작성하도록 합니다. 일단 지금의 제 능력으로는 이 스크립트가 정확히 무슨 뜻인지는 잘 모르겠습니다. 다만 FileCopy라는 명령은 기존에 있는 형식의 파일을 '복사'해서, 뒤쪽의 경로에 만들어 주는 명령어입니다. 여기서 중요한 것은 원본이 되는 파일이 있어야 하는 '복사'라는 명령이라는 것에 주의를 해야 합니다.



다음은 보고서에 들어갈 데이터를 만든다고 해야할까요? 여기서는 그 정도 까지만 아직 이해를 할 수 있었습니다.



그리고 마지막에서는 ExcelApp.Quit이라는 것을 엑셀을 종료해야 하지만, 그래도 프로세서상에서는 종료가 되지 않습니다. 그래서 Set ExcelApp = Empty라는 명령을 내려서 완전히 끝내야만 합니다. 마지막으로 중요한 것인데, 이 보고서를 출력하는 동안에는 컴퓨터의 프로세서 상에서 엑셀이 실행중이면 안 나옵니다. 무조건 엑셀을 종료되어 있어야 보고서가 출력이 된다는 것입니다.



그리고 버튼을 하나 만들어 주도록 합니다.



이제 CiMonX에서 실행을 시켜서 확인을 하도록 합니다.



그리고 CiMonX의 시스템 모니터에서 제대로 작동을 하는 것을 볼 수 있었습니다.



그렇게 해서 스크립트가 정지되고 나서, 지정된 하드 디스크의 위치에서는 새로운 엑셀 파일이 생성이 되어 있는 것을 볼 수 있습니다. 이 파일을 더블클릭해서 열면....


제대로 보고서가 작성이 된 것을 볼 수 있었습니다. 다만, 그 구체적인 내용에 대해서는 추가적으로 독학해 보아야 겠다는 생각이 듭니다. 하지만 독감으로 인해서 너무 아픈 나머지 지금 당장은 그럴만한 여력이 없습니다.


그리고 이제부터는 CiMon에 있는 메뉴인 이벤트 보고서라는 메뉴를 사용해서 보고서를 출력하는 것을 실습해 보고자 합니다.




먼저 위 그림과 같이, 양식이 되는 엑셀파일을 만들어 줘야 합니다.



그 다음에는 기록을 하고자 하는 값들의 태그는 보고서용 데이터 생성이라는 메뉴를 눌러 주도록 합니다.



그러면서 어느 조건에서 이벤트 보고서가 작동을 할 것이며, 어느 조건에서 출력을 할 것인지를 지정하고, 보고서 양식도 등록해 주도록 합니다. 그리고 이제 태그등록을 누르도록 합니다.



어떤 태그의 값을 기록할 것인지를 두고서, 어느 셀에다가 기록을 할 것인지를 지정하는 메뉴입니다.



그리고 ANA1과 ANA2의 데이터 값이 없기 때문에, 이번에는 데이터의 값을 만들어 줘야 합니다. 그걸 위해서 사용이 된 random이라는 함수가 여기서는 사용이 되었습니다.



이제 태그의 출력에 관계가 된 버튼을 만들도록 합니다.



그리고 경향감시 그래프를 불러와서, 어떤 값들이 나오는지를 알 수 있도록 합니다.



CiMonX에서 실행을 하여서 제대로 값은 나오는 것인지 확인을 하도록 합니다.



그리고 이버에도 새로운 보고서 파일이 생성이 되는 것을 볼 수 있습니다.



그리고 엑셀파일을 열어 보아서, 제대로 결과가 나온 것인지 볼 수 있습니다.




이제 새로운 실습으로 들어가도록 합니다. 이번에는 데이터 수집을 이용해서 보고서를 출력하는 방법이라고 합니다.



이제 데이터 수집 모델을 만드는 작업에 들어가도록 합니다. 여기서도 역시 1초 단위로 데이터를 수집, 보고서에 출력할 수 있습니다.



그렇게 해서 이번에는 보고서로 내 보내야 하는 태그에 데이터 수집에 체크 표시를 하고 이전에 만든 데이터 수집 모델을 지정 하도록 합니다.


그리고 여기서는 특정 스크립트를 태그 동작과 연동 되도록 만들어 주도록 합니다.



일련의 태그를 작성하도록 하는데, 이런 태그들은 보고서에 사용이 되는 태그입니다.



이렇게 보고서를 위한 태그를 따로 만들어 내고 나서, 다음의 작업을 해야 합니다.



그리고 보고서를 작성하기 위한 스크립트를 작성하는데, 지금의 수준에서는 아직 스크립트의 정확한 뜻은 모르겠습니다. 다만 이 스크립트를 변형해서 사용한다고 합니다.



그리고 여기서도 엑셀에 세이브를 하고 나서, 종료라고 quit를 눌렀지만, 작업관리자를 보면 여전히 프로세스 상에서는 여전히 엑셀이 있기 문에 이를 언제나 유의해야 합니다.



그렇게 해서 제대로 보고서가 생성이 되는 것을 볼 수 있습니다. 이것으로 해서 일단 대략적인 작업은 하기는 했는데, 문제는 저 스크립트를 자유 자재로 다룰 수 없다는 것이 문제기는 합니다. 물론 이것도 여러번 찾아보고 움직이면 되기는 하겠지만, 문제는 지금 당장은 독감으로 컨디션이 나쁘니, 좀 나아지고 나서 움직여야 겠습니다.



반응형