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

CiMon Scada에서 임의의 보고서를 생성하는 실습

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

안녕하세요?


이번 포스팅에서는 수요일에 있었던 CiMon Scada실습을 올려보고자 합니다.



먼저 언제나 그렇듯이 새로운 프로젝트를 생성하도록 합니다.



그리고 CiMonD에서 위 그림과 같이 디자인을 하도록 합니다. 이번 실습에서 그림을 그리는 것은 크게 중요한 것이 아니기 때문에 이렇게 합니다.



그리고 위 스크린샷처럼 스크립트를 생성 하도록 합니다. 내용은 간단합니다. 버튼의 태그가 ON/OFF이냐 여부에 따라서 펌프의 태그를 On/Off시키는 것입니다.



그리고 버튼의 태그값이 변하면, 위 그림처럼 스크립트가 실행되도록 합니다.



일단 CiMonX에서 제대로 작동은 되는 것을 확인할 수 있었습니다.



그리고 main()이라는 스크립트에서는 위와 같이 bodown이라는 스크립트를 작성 하도록 합니다.



그리고 SNUM이라는 아날로그 태그를 만들어 주도록 합니다.



여기서는 어느정도 복잡한 공식이 작용하기는 했지만, 결과적으로 보자면, 특정 조건에서는 압력이 증가 하도록 하고, 어떤 조건에서는 압력이 감소하도록 하는 것입니다.




그리고나서 태그값-SNUM을 나타낼 수 있는 값을 표시하도록 합니다.



그리고 SNUM의 최대값을 일정값으로 지정 하도록 합니다. 그리고 소수점 아래가 잘 나오지 않아서 FLOAT로 데이터 형태를 바꾸어 주도록 합니다.


CiMonX에서 제대로 작동하는 것을 볼 수 있었습니다.



그리고 이제 보고서용 데이터를 생성하기 위한 것을 지정 하도록 합니다.



다음으로는 위 스크린샷에 나와 있는 것처럼 데이터 수집을 열도록 합니다.



이제 세세한 설정에 들어가도록 합니다.



다음으로는 timeset()이라는 스크립트를 작성 하도록 합니다. 그리고 NOW()라는 함수로 현재의 시간을 불러 오도록 하고, 어제의 데이터를 수집하기 위해서는 DATEADD("n",-1,오늘을 의미하는 변수)를 집어넣어 주도록 합니다. 나머지는 함수의 이름에서 볼 수 있듯이 년/월/일/시/분/초를 입력합니다.


그리고 지금으로서는 잘 모르겠는 것이 바로 S$ = yr 이라는 위 스크린샷에 나오는 14번째 줄입니다.

일단 for문을 기점으소 10초간 감시를 하는 것은 맞는데, 단순이 $이 문자열을 의미한다고 해서 이렇게 붙는 것인지, 아니면 나중에 보여줄 문자열 함수를 어떻게 하는 것인지는 잘 모르겠습니다.


다음은 fsave()라는 스크립트를 만들어서, 여기서는 timestr이 파일명에 나오는 엑셀파일을 생성........이 아니라 기존에 나와 있는 파일을 복사하도록 합니다.




일련의 문자열 태그를 만들도록 합니다. 그리고 나서, R1이라는 그룹에 속해 있기 때문에 R1,RT1~R1.RT10까지 연결이 되도록 합니다.



그리고 보고서를 작성할 트리거를 만들기 위한 RE10이라는 디지털 함수를 생성 하도록 합니다.



그리고 버튼을 누르면 보고서가 생성 되도록 합니다.



버튼의 액션을정의 하도록 합니다.



이것으로 보고서를 작성할 것을 만들 준비를 다 마쳤습니다.



그리고 여기서는 보고서 모델 이름을 지정 하도록 합니다. 그러면서 모델이 될 엑셀 파일을 지정 하도록 하고, 어디다가 출력할 것인지도 지정을 하도록 합니다.



그리고 나서, 경로가 바뀌었기 때문에, 여기서는 filecopy라는 명령어에 새로 바뀌었는 경로를 지정 하도록 합니다.



그리고 셀 편집에 들어가서, 어떤 테그의 값을 어떻게 나올 것인지를 지정 하도록 합니다.



Dlogval이라고 해서 특정 태그의 값이 변경된 시점의 시각을 지정할 수 있는 명령어입니다.



그리고 어디다가 저장할 것인지 제대로 경로를 파악 하도록 합니다.




그런데 하다보니, 어딘가 에러가 발생하는 것을 볼 수 있었습니다.



일단 파일은 제대로 생성이 되었는데, 무언가 에러가 발생한 것을 알 수 있었습니다.



일단 수집모델을 지정하도록 하고, 다음으로는 스크립트상에 있었던 오류를 바로 잡도록 했습니다.



실제로 r1.rt라는 것이 태그의 이름인데, 이걸 잘못해서 ri.rt라고 잘못 입력이 되어서 뭐가 안되는 것이였습니다.



그리고 여기서 제대로 10초간에 보고서가 나오는 것을 볼 수 있었습니다. 이것으로 임의의 형식으로 보고서를 만드는 것은 성공했는데, 아직 이해하지 못한 것이 많다는 생각이 듭니다.

반응형