서론 겸 푸념...
오픈소스 프로그램인 pvbrowser를 이용하여 무엇을 하고싶은가? 다소 거창할 수 도 있지만 목표를 세우고 진행하는 것도 좋다.처음 이 프로그램을 접했을 때에는 도무지 이해도 않되고, 어떻게 해야 할지 방향도 잡히지 않았다. 참조할 수 있는 거라고는 영어로 되어 있는 오래된 메뉴얼과 지금 생각해 보면 정말 요긴한 pvsexample 코드... 시간만 충분하다면 샘플 코드를 잘 들여다 보면 답이 보인다. 물론 메뉴얼도...OTL
리눅스파워 유저라면 아마 더 빠르게 접근할 수 도 있을 것이다. 기본적으로 LINUX에서 동작하던 것을 WINDOW OS로 포팅한 것 같은 느낌도 많이 들지만, 윈도우에서도 잘 동작한다. 설정하는 방법도 매우 간단하고...다운로드 페이지에 설명되어 있다.(인고의 시간을 많이 보냈다. 지금 생각해 보면 진짜 아무것도 아니지만, 이런 것들이 필요하면, 너가 열심히 공부해 하는 오픈 소스 생각인지는모르겠지만...)
사용자 위젯을 사용하고 싶다.... pvbrowser 소스코드를 Qt를 이용하여 컴파일하여 사용하는 것이 시간을 버는 방법이다. 배포, 설치판과 동일한 버전을 사용한다면 괜찮을 지도 모르지만 여하튼 본인의 경우 아직 그런 쪽은 초보이고, 본업도 아닌지라 속도도 별로 나지 않는 상황이다.
둘러보기
자, 그럼 pvbrowser 오픈 소스를 이용하면 어떤 것들을 할 수 있는지 알아보자. 어느 선까지 할 수 있는지 둘러보는 것도 나중에 절망하는 것 보다 나을 수도 있다.그림 1. -- |
참고로, 이 서버프로그램은 LS산전 XGI PLC에서 485 모드버스 방식으로 통신을 수행한다. 문제없이 잘 작동한다. XGI 시리즈의 경우 통신설정도 매우 쉽다. 약 400개의 레지스터 영역을 스캔, 연속적으로 읽는 경우는 약 240개의 레지스터(240x2 =480byte)를 연속적으로 읽어들이고 있는데 한번도 통신쪽에서 문제가 발생한 적은 없다
통신 사이클 정의시 한번에 통신할 수 있는 데이터는 120 Word(240byte), 정확하게는 통신 패킷의 길이가 250이상이면 데이터를 읽어버린다. 즉 문제가 발생한다는 것이다. 이것은 rlModubus 소스에서 변수 어레이를 이 이상 잡아 높지 않아서 발생하는 문제인 것 같다. 여하튼 패킷의 길이는 240byte 이하로 잡는 것이 정신 건강에 이롭다... 설명이 틀릴 수도 있습니다...
그림 2.그래프, 테이블 관련 |
그림 3. SQL 사용예 |
그림 4. SQL데이터 테이블 사용 예 |
사용하는 DB는 mariaDB... mySQL을 사용하다 mariaDB로 DataBASE를 구축했더니, 뭐가 뭔지 모르겠다. mySQL도 거의 초보수준인데...
MariaDB를 관리하기 위해 사용하는 Heidi SQL도 손에 익지 않아서 그런지 이쪽은 영 재미없다... 어쨌든 Qt mySQL 라이브러리르 사용하기 때문에 sql을 사용하기 위해서는 project의 pro 파일에 QT +=sql 구문을 넣어주면 사용할 수 있다. 다시 한번 말하지만 pvserver 프로그램에서 지원하는 sql 함수는 매우 제한적이다. 단순히 sql Database에 데이터를 저장만 할 용도라면 사용하는데 불편은 없지만, sql 쿼리를 사용하여 데이터 처리를 하고자 한다면...OTL...
그림 5. 기타 위젯들 사용 예 |
그림 6. 알람 사용 예 |
무엇을 하던, 익숙해지고, 파고들면 할 수는 있지만, 쉽게 찾아 볼 수 있는 자료가 없다. 본인 생각에는 중급자 이상을 대상으로 메뉴얼이 만들어 진 것이 아닌가하는 생각이 든다. 하지만 조금만 노력하면 활용할 수 있는 범위는 넓다.
댓글 없음:
댓글 쓰기