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

CiMon에서 페이지 관련된 실습 part1

by 인터넷떠돌이 2017. 10. 20.
반응형

안녕하세요?


이번 포스팅에서는 CiMon 스카다라고 해야 할까요? 여기에서는 페이지라고 있는데, 어떻게 하면 페이지를 전환할 수 있는지와 이와 관련된 여러가지 배웠던 내용을 이번 포스팅에 올리고자 합니다.



먼저 새 프로젝트라는 항목을 열어서 실습을 시작하도록 했습니다. 왜냐하면 이전 실습으로 너무 많은 태그를 만들어서, 이래저래 혼란스럽기도 하기 때문입니다.



먼저 페이지를 창모드로 줄인다음, 여기서 첫번째 페이지의 이름은 main이라고 지정을 하도록 했습니다.



다음으로는 main이라는 페이지에 첫번째와 두번째라고 하는 버튼 역할을 할 도형을 2개 만들어 주도록 합니다. 그리고 나서 새 페이지 만들기를 클릭해서 새로운 페이지를 만들도록 합니다.



우선 첫번째로 열 페이지는 페이지 이름부터 첫번째라고 지정을 합니다.



두번째 페이지에서는 두번째라고 이름을 지정 하도록 합니다.




다음으로는 main페이지 안에다가 두개의 버튼역할을 할 도형이 있는데, 각각 도형들을 '터치'하면 아래와 같은 명령식을 지정하도록 합니다.


openpage("페이지이름")


여기서 큰 따옴표 " " 는 반드시 필요하며, 명령식을 보면 알 수 있듯이 페이지를 열라는 명령식이 완성이 되었습니다. 그리고 여기 페이지이름은 반드시 같은 프로젝트 안에 존재하는 페이지의 이름을 써야하며, 페이지 또한 같은 프로젝트에 있어야 명령식으로 열 수 있습니다.




그리고 각각 첫번째와 두번째 페이지에서는 위 스크린샷을 보시면 서로 다른 페이지를 열면서 자기 페이지는 닫아야 하는데, openpage라는 명령식은 새 페이지를 열 뿐이지, 자기 페이지를 닫지는 않습니다. 그래서 이 경우에는 아래의 명령식을 사용해야 합니다.


closepage("닫을 페이지 이름")


이 명령식을 버튼의 터치에 입력해 놓으면, 버튼역할을 하는 도형을 클릭하는 것 만으로 페이지를 닫을 수 있습니다.



이제 페이지를 열고 닫을 수 있는데, 이번에는 여러개의 다른 기계를 ON/OFF하는데, 제어판을 단 1개의 페이지로만 어떻게 할 수 없는지를 만들고자 합니다. 이번 실습을 위해서 새 프로젝트를 만들어서 열었습니다.



우선 메인이 될 페이지의 이름을 기계설비라고 지정을 하도록 합니다. 물론 이 부분은 어떻게 하더라도 괜찮은데, 나중에 헷갈리지만 않으면 됩니다.



나중에 CiMonX에서 실행하기 위해서 먼저 페이지를 프로젝트 폴더 안에다가 저장을 하도록 합니다. 잊어 버리기 쉬운 사실이었지만, 언제나 그렇듯이 이렇게 미리미리 페이지를 저장해야 CiMonX에서 실행이 가능합니다.




여기서는 기계 2개의 ON/OFF를 제어할 것이기 때문에, 일단 디지털 태그를 2개 만들어 두도록 합니다.



편집의 애니메이션 비트맵 삽입을 눌르도록 합니다.



마음에 드는 애니메이션이 있으면 고르도록 합니다.


여기서는 회전이나 이런것을 따로 지정할 필요도 없이, 애니메이션이 무슨 태그에 연결이 되면 동작할 것인지만 지정하면 되어서 정말 간편하기는 간편했습니다.



다음으로는 새로운 페이지를 만들어서 이름을 운전창이라고 지정을 합니다. 여기서는 기계1과 기계2의 운전과 정지를 제어하는 일종의 제어판넬이 되는 것입니다.




램프도 운전인지 정지인지 상태를 알려주기 위해서 원의 색을 램프에 불이 들어온 것으로 해서 바꾸어 주도록 합니다. 이렇게 세팅이 끝나면 당연 운전창도 저장하는 것을 잊으면 곤란하기는 곤란합니다.




위 스크린샷에 나와 있는 것처럼 openpageex라는 명령식이 사용되는데, 여기서 이 명령식은 다른 것과는 다르게, 뭐라고 해야 할까요? 새로 여는 페이지에 이전 페이지에 있는 태그의 관계된 내용을 변수로 만들어서 전달한다고 해야 할까요?


openpageex("열고자 하는 페이지의 이름", "변수1번, 변수2번, 변수3번 ........")


이렇게 하면 저 변수1번, 변수2번 이러는 곳에는 주로 데이터베이스에 지정한 태그를 지정합니다. 그럼 여기서 하나 궁금해 하실 것이 그럼 위에서 기계1운전정지 라는 태그는 만들었는데, 그럼 기계1운전정지:DESC 이건 무엇인가 하는 것입니다.




위 스크린샷을 보시면, 태그를 설정하는 항목에 항상 있는 것이 주석이라는 란이 있는데, 태그이름:desc라는 것은 이 주석에 있는 문구를 가져 오라는 의미가 됩니다.



다음으로는 어쩌면 이 openpageex 명령식의 핵심이라고 할 수 있는 부분입니다. 우선 여기서 태그를 붙이면 순서대로 변수로 만들어서 새로 여는 페이지에 전달을 하는데, 그 변수의 이름이 바로 $1, $2 이런 식으로 연결이 되는 것입니다. 


문제는 여기서 이어지는 상당히 긴 내용도 있는데, 이걸 정리하자니 포스팅이 필요 이상으로 너무 길어진다는 느낌도 듭니다. 어떻게 말로 설명을 하라면 간단하지만, 그래도 이걸 포스팅으로 올리자고 하니, 너무나 길어 진다는 것이 문제는 문제라는 생각이 듭니다. 하는 수 없이 이 부분은 2부분으로 나누어야 한다는 생각이 듭니다. 조속히 빠른 시간안에 이어서 하는 포스팅을 올리도록 하겠습니다.

반응형