안녕하세요.
CIMON 입니다.
태그로 스크립트를 실행시키고 Excel과 연동하여 임의의 시간에 따라 태그값을 Excel 파일에 저장, 출력하는 방법에 대한 예제 입니다.
스크립트에서 Excel에 어떻게 태그값을 출력하는지 설명합니다.
[이럴 때 사용하시면 됩니다]
특정시간에 보고서를 출력하지 않고, 버튼을 눌러 현재 태그값의 보고서를 받고 싶을 때 사용하시면 됩니다.
[프로젝트 예제 작성 버전 및 주의사항]
SCADA Ver 3.04(R160224)
v3.04에서 작성된 프로젝트는 하위버전에서 열리지 않습니다.
[예제 설명]
이 예제는 스크립트의 명령어를 다수 사용하며, Excel관련 명령어들을 사용하여 어렵게 느껴질 수 있습니다.
아날로그, 디지털, 문자열 태그를 일정시간 간격으로 1줄씩 Excel 파일에 저장하는 예제입니다.
Excel 보고서 쓰기 버튼으로 실행되고, 한 번 더 클릭하여 중지하기 전까지 계속해서 저장합니다.
보고서 쓰기 중지 후에 해당 Excel 파일을 열어보실 수 있습니다.
1. 페이지 작화를 합니다.
Excel로 보고서 쓰기 버튼, 각 태그값(데이터입력 기능), 시간간격 설정 태그값(데이터입력 기능)
보고서 쓰기 버튼의 On/Off를 나타내기 위한 문자를 넣겠습니다.
![](http://cimon.co.kr/wp-content/uploads/2015/03/RptExcelApp-001.jpg)
2. 보고서 쓰기 버튼은 사각형과 문자 작성하고 그룹한 후 터치 기능을 넣습니다.
디지털값쓰기로 ExRpt_On 태그값을 토글로 켜고 끌 수 있도록 합니다.
![](http://cimon.co.kr/wp-content/uploads/2015/03/RptExcelApp-002.jpg)
등록 하시면 EXRPT_ON 태그를 등록 여부를 묻습니다. 디지털 태그로 등록하시고, 아래와 같이 태그 동작을 지정합니다.
버튼을 눌렀을 때, 태그값이 변하고 이 동작으로 스크립트를 실행시키기 위해서입니다.
![](http://cimon.co.kr/wp-content/uploads/2015/03/RptExcelApp-003-1024x337.jpg)
3. Excel 보고서로 저장할 태그들을 페이지에 표시합니다.
ANA1 아날로그, DIG1 디지털, STR1 문자열 태그로 등록하고, 각각의 초기값을 설정합니다.
페이지에 각각의 태그값 오브젝트를 만든 후 데이터 입력 기능을 추가합니다.
![](http://cimon.co.kr/wp-content/uploads/2015/03/RptExcelApp-004.jpg)
4. 태그값을 일정시간 간격으로 Excel에 저장하기 위한 시간간격 설정 태그를 추가합니다.
태그값 오브젝트를 다음과 같이 설정한 후 태그를 등록하시면 됩니다. 태그의 초기값을 2로 설정하였습니다.
![](http://cimon.co.kr/wp-content/uploads/2015/03/RptExcelApp-005.jpg)
5. 동작 중인지 아닌지 확인하는 것을 문자로 알 수 있게끔 출몰기능으로 표현하였습니다.
EXRPT_ON이 0(OFF)일 때 “쓰기 중지”문자가 출몰하며, 1(ON)일 때 “쓰기 중” 문자가 출몰합니다.
![](http://cimon.co.kr/wp-content/uploads/2015/03/RptExcelApp-006.jpg)
6. 데이터베이스 창을 열어 태그가 정상적으로 등록되었는지 확인합니다.
CELL_LINE_NO 아날로그 태그를 종료시 최종 상태 저장 부가기능을 넣고 추가합니다.
Excel 파일에서 태그값들이 저장될 행 위치 번호입니다.
(쓰기 중지하였다가 다시 실행할 경우, 새로운 행부터 시작하도록 행 위치를 저장하게 하기 위함입니다.)
![](http://cimon.co.kr/wp-content/uploads/2015/03/RptExcelApp-008.jpg)
EXRPT_ON1, T1 태그는 테스트페이지를 위한 태그이므로 테스트페이지를 사용하지 않으시면, 지우셔도 됩니다.
7. 스크립트를 작성합니다.
폴더 검사 및 생성 스크립트는 유용하니 따로 메모장에 저장해두시면 편리합니다.
![](http://cimon.co.kr/wp-content/uploads/2015/03/RptExcelApp-010-1024x262.jpg)
![](http://cimon.co.kr/wp-content/uploads/2015/03/RptExcelApp-009-1024x839.jpg)
SaveStatusNow1, CheckFolder1 스크립트는 테스트용 스크립트이므로 지우셔도 됩니다. 테스트페이지 역시 지우셔도 됩니다.
8. 보고서양식.xlsx Excel파일을 만들어 현재 프로젝트 경로에 저장합니다. 스크립트의 보고서양식.xlsx 주소와 동일하게 맞추기 위함입니다.
![](http://cimon.co.kr/wp-content/uploads/2015/03/RptExcelApp-011-1024x515.jpg)
9. 모두 저장하시고, CimonX를 실행하여 정상동작 하는지 확인합니다.
시간간격에 따라 저장되었는지, 보고서양식과 같은지 등을 확인해보실 수 있습니다.
폴더를 삭제하고 다시 실행해보시고, 보고서 쓰기를 여러 번 반복해보셔도 됩니다.
![](http://cimon.co.kr/wp-content/uploads/2015/03/RptExcelApp-012-1024x450.jpg)
정상적으로 동작되지 않으면 예제의 테스트페이지와 스크립트처럼 스크립트의 어느 부분에서 문제가 생기는지 T1태그값으로 확인이 가능합니다.
[주의사항 및 참고]
스크립트 상에서 오타에 의한 에러나 작성한 스크립트의 불완전성으로 인한 Excel Application 사용 중의 오류로 스크립트 실행이 중단될 수 있습니다.
이 경우 스크립트의 어느 부분에서 문제가 생겼는지 찾기 쉽지 않기 때문에, Test 페이지도 함께 작성해놓았습니다.
테스트 페이지를 실행시켜보면서 스크립트 상의 어느 부분에 문제가 생겼는지 비교하며 확인해 볼 수 있습니다.
[적용 방법]
기존 프로젝트에 사용하시려면 다음과 같이 작업하시면 됩니다.
예제 프로젝트의 SaveStatusNow, CheckFolder 스크립트를 메모장에 복사합니다.
기존 프로젝트의 스크립트에 새 스크립트를 추가하여 메모장의 스크립트를 붙여넣기 합니다.
‘SaveStatusNow 스크립트의 While 반복문 내 태그값을 Excel파일의 칸 지정하는 부분’을 주의하여 기존 프로젝트 태그값들로 변경, 추가하시면 됩니다.
![](http://cimon.co.kr/wp-content/uploads/2015/03/RptExcelApp-013.jpg)
예제와 같이 RPT_ON, TIME_INTERVAL, CELL_LINE_NO 태그는 동일하게 추가합니다.
보고서양식 파일도 동일하게 프로젝트 내에 추가해주시면 됩니다.
CimonX를 실행하여 정상적으로 동작하는지 확인합니다.
첨부 1. RptExcelApp-v304.zip
감사합니다.
#Excel#Excel보고서#Excel저장#엑셀#엑셀보고서#폴더#폴더생성#프로젝트예제#샘플프로젝트#SCADA프로젝트예제#SCADA샘플프로젝트#스카다프로젝트예제#스카다샘플프로젝트