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

데이터 베이스를 이용해서 만드는 CiMon의 보고서 part1

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

안녕하세요?


이번 포스팅에서는 드디어 CiMon에서 보고서를 생성하는 5가지 방법중에 마지막에 해당하는 데이터 베이스를 생성해서 보고서를 출력하는 방법에 대해서 포스팅을 하고자 합니다. 이 부분이 가장 CiMon에서 이질 적인 부분이기도 한 것이, 우선 그냥 CiMon과 엑셀만 쓰지를 않고, 마이크로 소프트의 액세스(Access)까지 사용한다는 점에서 골치아픈 것이 더 늘었다고 보시면 됩니다.



언제나 그렇듯이 새로운 프로젝트를 CiMon에서 생성을 하도록 합니다,



그리고 이번 프로젝트의 핵심이라고 할 수 있는 것을 실행 하도록 합니다. 여기서는 액세스에 들어가서 새로운 데이터 베이스를 만들고 저장을 하는데, mdb파일로 저장을 하도록 합니다.


우선은 실습을 위해서 myDB.mdb라고 저장을 하도록 합니다. 저장은 내 문서 안에다가 했습니다. 그리고 중요한 것인데, 데이터 베이스 형식 2000으로 저장을 하는 것도 잊으면 안됩니다. 이걸 실수해서 다시 해야만 했습니다.



이제 액세스의 데이터 베이스에서 테이블1에다가 ID를 입력하도록 합니다.



여기서 테이블 속성을 선택하도록 합니다.



어떤 필드의 이름을 지정할 것인지에 대해서 지정을 하는데 우선 학번이라는 것을 지정하도록 하고, 이걸 키 테이블로 지정을 하도록 합니다.


그리고 학번의 속성에다가 빈 문자열은 지정하지 않도록 하는 것으로 하도록 합니다.



이제 액세스의 테이블에 데이터를 입력하기 바로 직전입니다.



일단 테스트를 위해서 단지 4개의 데이터만 추가하도록 합니다.



이제 액세스의 데이터 베이스에 접근할 수 있도록 설정하기 위해서 Windows에서 sysWow64라는 폴더 안에 들어가 있는 odba32.exe라는 것을 실행시켜야 합니다. 왜 이러냐 하면, CiMon은 32비트인데, 64비트의 윈도우에서 제어판에 들어가면, 64비트가 실행이 되어서 서로 맞지가 않다고 합니다.



ODBC데이터 원본 관리자를 실행 시켰습니다. 여기서 추가(D)를 추가하도록 합니다.



여기서 Microsoft Access Driver라고 mdb라고 지정을 하도록 합니다.



이제 데이터 베이스를 선택하러 가야 하는데, 내 문서 항목으로 이동한 다음 위에서 설정한 myDB.mdb라는 것을 선택하도록 합니다.



여기서 다른건 건드리지 않고, 마지막으로 확인을 누르도록 합니다.



다시 CiMon으로 들어와서, 이번에는 태그를 만들도록 하는데, 문자열 태그를 만들도록 합니다. 




이제 ODBC라는 메뉴를 도구에서 선택 하도록 합니다.



그리고 나서 위에서 붉은색 동그라미로 선택된 곳을 눌러서, 새로운 무언가를 추가하도록 합니다.



일단 이전에 지정을 하였는 myDB라는 것을 설정해 주도록 합니다.



그리고 그 옆에 있는 아이콘을 눌러서 이제 데이터 베이스에 해당하는 기능을 추가하도록 합니다.



여기서 SelectQ라고 해서 위에 나와 있는 윈도우에서 붉은색 줄을 친 부분을 클릭 하도록 합니다.



이제 SelectQ라고 하는 질의를 생성하는 단계입니다. 먼저 새 필드를 누르도록 합니다.



새로운 필드를 생성하도록 합니다. 위에서 VARCHAR이라는 것은 문자열을 의미합니다.



그리고 나서, 위에서 myTable에서 학번이 검색학번과 동일한 것이라는 것으로 설정하도록 합니다. 이렇게 하는 것으로 Select질의를 완료할 수 있게 됩니다.



이제 다시금 새 질의를 생성할 수 있는 아이콘을 누르도록 합니다.



InsertQ라는 것으로 해서, 삽입 질의를 생성하도록 합니다. 생성 방법은 역시 위에 있는 붉은색 줄을 누르도록 합니다.



여기서도 새 태그를 누르도록 합니다.






새로운 태그를 입력 하도록 합니다. 역시 문자열이라는 것을 지정하도록 합니다.



그리고 아래에는 insert into myTable이라는 구문을 추가해 주도록 합니다. 여기서는 아까 만든 액세스의 데이터베이스에 내용을 추가하는 것이 됩니다.


그리고 이제 새 질의를 만들기 위한 작업에 또 들어가도록 합니다.



그전에 하나 잊어먹은 것이 있는 my Table이라고 오타를 낸 것이 있었습니다. Access에 가서 이를 수정해야 합니다.



이제 오타를 해결하는 것으로 했습니다.



이제 Update라는 질의를 생성 하도록 합니다. 여기서도 특별히 변경할 것은 없습니다.


여기서도 똑같이 새로운 태그를 생성하도록 합니다.



이제 여기서도 Update라고 갱신을 위한 작업에 들어가도록 합니다.



이제 새로운 질의를 또 생성하도록 합니다.



이번에는 삭제를 위한 것인데, 여기서도 특별히 변경할 것은 없었습니다.



학번만 여기서는 지정을 하도록 하고.... 왜냐하면 여기서는 키 테이블만 제거해도 모두 다 제거가 되는 것이기 때문에 이런 것이 가능ㅎ바니다. 여기서 가장 핵십이라면 SQL인데, 이걸 SQL문을 제대로 작성하는 것이 문제는 문제입니다.


이제 이걸로 선택, 삭제, 삽입, 갱신의 질의를 모두 완성하는 것이 되었습니다. 이제 다음 단계로 넘어 가도록 합니다.






일련의 스크립트를 제조하는데, 이게 무슨의미이냐 하면.....



이 함수는 비쥬얼 베이직에서는 제공하지 않고 오로지 CiMon에서만 제공하는 것인데, 그 내용은 미리 정의된 질의 내용을 불러오는 것으로 데이터 베이스에서 SQL 쿼리를 일일히 지정하지 않아도 된다는 것입니다. 이게 왜 대단하냐 하면, 이렇게 입력하는 것만으로 SQL에서 일일히 복잡한 내용을 입력하지 않아도 된다는 것입니다.


CsqlRun이라는 것도 별것없이 그냥, 질의를 실행시킨다는 것을 의미합니다.



그리고 CiMonD에서 위와 같이 일련의 디자인을 하도록 합니다.



일단 CiMonX에서 입력을 하도록 합니다.



그런데 하다보니, 갱신에서 오류가 발생하는 것을 확인할 수 있었습니다. 이게 왜 이런고 하니....



알고봤더니 오타하나가 이런 에러를 내고 있었던 것이였습니다.



그리고 여기서 삭제 명령이 제대로 되었는지 알고보니, 엑세스의 데이터베이스에서 제대로 삭제가 된 것을 확인할 수 있었습니다.


그리고 삽입을 했더니, 삽입 자체는 성공적로 되는 것을 확인할 수 있었습니다.



갱신까지 제대로 성공하는 것을 확인할 수 있었습니다.



학번만 있는 상태에서 삽입을 누르니까, 이름과 학과가 빈 상태로 들어가는 것을 확인할 수 있었습니다.



기존에 없는 데이터를 입력하기 위해서는 갱신이 아니라 삽입이라는 것을 눌러야만 추가가 되는 것을 확인할 수 있었습니다.



실제로 데이터 베이스에서 이렇게 나오는 것을 확인할 수 있었습니다. 이것으로 데이터 베이스에 쓰고 읽고, 삽입하기는 되었는데, 이걸 어떻게 CiMon에서 나오게 하는지에 대해서는 없습니다. 일단 여기까지 내용이 너무 많기에 포스팅은 여기서 한번 끊도록 해야 겠습니다. 다음 포스팅에서는 CiMon상의 그리드에서 어떻게 하면 되는지에 대해서 포스팅을 하도록 하겠습니다.

반응형