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

CiMon Scada를 이용해서 태양광발전을 가정한 실습

by 인터넷떠돌이 2017. 12. 31.
반응형

안녕하세요?


이번 포스팅에서는 지난주 금요일에 있었는 수업의 내용을 가지고서 포스팅을 하고자 합니다. 실제로 태양광발전기를 제어할 수는 아직은 없었으니, 이 상황을 가정해서 CiMon상에서 디자인을 하고, 여기에 여러가지 CiMon의 기능-차트의 생성이과 같은 것을 실습해 보았고, 그 내용을 포스팅 하고자 합니다.



언제나 그렇듯이 새로운 프로젝트를 생성해서 작업을 하도록 합니다.



다음은 태양광 패널 자체를 구글에서 검색해서 집어 넣도록 하고, 다음으로는 라이브러리에 있는 배전반 등을 가져 오도록 합니다.



다음으로는 그림이라는 메뉴 안에 있는 Trend라고 경향감시를 가지고 오도록 합니다. 그리고 이름을 실시간 발전량 감시라고 지어 놓도록 하고, 최대 감시 시간을 2분으로 해서 YT, 즉 시간을 X축으로 두고서 지정을 하도록 합니다.


위 스크린샷처럼 경향감시 그래프가 생성이 된 것을 볼 수 있습니다.



그리고 나서 소수점까지 표현할 수 있도록 Float이라는 형태의 아날로그 함수를 지정 하도록 합니다.



일련의 아날로그 태그를 2개 만들어 주도록 합니다.



그리고 트렌드 그래프에서 어떤 태그의 값을 나타날 것인지 지정을 하고, 다음에는 최소값과 최대값을 지정하도록 합니다.



이렇게 펜 설정에서 펜 편집을 다 하고 난 다음의 사진입니다. 이 화면에서 가장 왼쪽에 있는 숫자를 건드리면 펜 편집으로 들어갈 수 있습니다.


그리고 도구모음 설정 탭으로 가서, 원래는 체크 표시가 되어 있지 않은 것을 체크 표시 하도록 합니다.



그리고 범례표시라는 것을 해제하도록 합니다.



눈금자 설정으로 가서 위 눈금자 표시 라는 항목과 오른쪽눈금자 표시라는 항목을 해제 하도록 합니다.



위 스크린샷처럼 변화가 생겼고, 가장 큰 것은 아랬족에 못 보던 버튼들이 생겼는데, 이게 도구모음입니다.



그리고 main이라는 스크립트를 위 화면과 같이 짜도록 합니다.



runaa1이라는 스크립트는 위와 같이 만들도록 합니다.



runaa2라는 스크립트는 위와 같습니다. 여기서 나오는 randomize 9와 randomize 10이라는 것은 랜덤하게 난수를 발생시키는 장치인데, 뒤에 오는 숫자가 달라야 각각 다른 값의 랜덤한 숫자를 생성한 다음에, 이를 반영할 수 있습니다.



CiMonX에서 AA1과 AA2의 값이 제대로 나오는 것을 볼 수 있습니다.



이제 도구라는 메뉴안에 있는 데이터 수집이라는 메뉴를 누르도록 합니다.




모델의 이름을 sunmodel이라고 지정을 하도록 하고, 2초 주기마다 데이터를 수집하도록 설정합니다.



다음으로는 아날로그 태그에서 보고서용 데이터 생성을 클릭하도록 합니다.



그리고 데이터 수집에다가 방금 생성해 놓은 데이터 수집 모델을 지정 하도록 합니다.



역시 AA2에도 지정을 하도록 합니다.



CiMonX에서 실행을 시키도록 합니다. 그리고 데이터 저장 모델을 지정한 다음에야 모두모음의 정지 버튼이 작동하는 것을 볼 수 있습니다. 



따로 보고서를 파일로 지정하지 않더라도, 프로젝트가 생성된 폴더 안에 데이터 수집 모델이 있으며, 여기서 CLD파일을 만들어서 이전에 생성된 데이터를 저장하는 기능을 합니다.



그리고 CiMon의 도움말 파일에 얼마나 되는 하드 디스크 용량을 지정해야 하는지를 보여주고 있습니다. 대충 100개 태그를 1분 간격으로 기록해서 1년치 데이터를 저장하는 데 하드 디스크에 필요한 용량은 약 201M 밖에 되지 않으니, 이를 참고해서 넉넉한 하드 디스크를 준비하는 것이 좋아 보입니다.



다음에는 새로운 트렌드 그래프-경향감시를 생성한 다음에, 이번에는 YT가 아니라 Multiple로 지정을 하고서 새로이 만들어 보도록 합니다.



이번에도 역시 AA1과 AA2를 지정 하도록 합니다.



전에는 본적이 없던 형태의 경향감시 그래프가 오른쪽에 회색으로 생긴것을 볼 수 있습니다.



이렇게 하자, 2개의 아날로그 태그의 값이 겹치지 않고, 나누어 져서 나오는 것을 볼 수 있습니다.



이번에는 위 스크린샷과 같이 그림 메뉴에 있는 차트라는 것을 불러 오도록 합니다.



일단 차트의 이름을 선택한 다음, 2초 간격으로 데이터를 표시, 최대한 30개의 데이터를 표시 하도록 만들어 줍니다.


일차적으로 디자인이 완료가 된 다음에는 위 그림과 같이 CiMonD에서 아직 아무것도 없는 것을 볼 수 있습니다.



차트를 더블클릭해서, 계열설정 탭을 열도록 합니다. 여기서 추가를 누르도록 합니다.



그러면 차트를 선택하라는 것이 뜨는데, 여기서 선형을 위 스크린샷처럼 선택하도록 합니다.



먼저 AA1이라ㅣ는 이름을 지정해서 하나 만들어 주도록 합니다.




설정에서는 이렇게 설정해 두었고, 색상을 지정하도록 합니다.



AA2를 파란색으로 지정 하도록 합니다.



그리고 여기서 중요한 것인데, 데이터 항목에다가 값을 AA1이라고 태그의 이름을 지정 해 두도록 합니다.



AA2도 마찬가지로 지정을 하도록 합니다.



다음으로는 차트의 도구설정에 가서, 도구모음 표시에 체크를 하도록 해 줍니다.




CiMonX에서 실행을 시킨 결과입니다. 여기서 나오는 것으로 보면, 한번에 30개의 데이터를 표시하도록 했더니, 너무 번잡하게 나옵니다.



그래서 차트 설정으로 돌아가서 최대 표시 갯수를 15개로 줄이도록 합니다.



그 다음에 도구설정에서 엇갈리게 표시를 체크 하도록 합니다.



아까보다는 보기가 조금은 나아졌다는 것을 볼 수 있습니다.



이제 트렌드 모드 변경이라는 것을 실습해 보도록 합니다. 먼저 '트랜스모드변경'이라는 스크립트를 위 화면과 같이 작성해 보도록 합니다. 여기서 나온 gettrendmode()라는 함수는 경향감시 그래프의 트렌드가 어떤 값인지 가져오는 값으로 보입니다. 그렇게 해서, 이 값이 1이라면 0으로 변경하라는 스크립트를 짜는 것 입니다.



이제 버튼을 하나 만들도록 합니다.


 

버튼의 동작이 명령식으로 방금 짜 놓은 스크립트를 작동 시키도록 만들어 둡니다.

일단 CiMonX에서 실행을 하고, 위 화면에서 보이는 버튼을 눌러 보도록 합니다.



gettrendmode를 이용해서 경향감시 그래프의 트렌드가 어떤 모드인지 가져오고, settrendmode로 0으로 설정을 하자, 경향감시 그래프가 히스토리컬 모드라고 해서, 현재 기록하는 것을 멈추고 과거의 기록을 살펴 볼 수 있도록 바꾸어 집니다.



다음은 logfile이라는 새로운 버튼을 만들어 보도록 합니다.



이번에는 새로운 함수를 만들 것도 없이, logfiledialog()라는 명령식을 실행 하도록 합니다.




CiMonX에서 새로운 버튼을 만들었으니, 이걸 눌러 보도록 합니다.



버튼을 누르자, 위에와 같은 화면이 뜨는 것을 볼 수 있었습니다. 



두번째로 새로운 스크립트를 짜도록 합니다.



다음에는 새로운 버튼을 구성 하도록 합니다.



방금 짠 스크립트가 버튼을 누르면 실행이 되도록 만들어 줍니다.



스크립트대로 msgbox가 뜨는 것을 확인할 수 있었습니다.



그리고 Trendsettime "경향감시그래프이름",0,"" 라고 지정한 결과, 여기서는 위 스크린샷에 보이는 것처럼 시간을 설정하는 다이얼로그 박스가 뜨는 것을 볼 수 있습니다.



여기서도 마찬가지로, 실시간으로 기록이 되는 그래프가 작동 정지되는 것을 볼 수 있습니다. 이것으로 금요일 수업의 마지막 단계까지 실습해 보는 것이 완료 되었습니다. 여기서 나왔는 내용은 얼마나 쓸 수 있을지는 모르지만, 그래도 자동화 기기의 작동 기록을 살펴 본다는 점에서 쓸모가 많을 것으로 생각이 됩니다.

반응형