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