오토베이스의 엑셀 리포트 사용하기. - Engineer of NiagaraFramework

Tridium, NiagaraFramework, SCADA, HMI, PLC, Automation, SmartFAM etc.. About controls.
나이아가라 프레임워크 QnA : neverlikekami@gmail.com

2017년 9월 2일 토요일

오토베이스의 엑셀 리포트 사용하기.

엑셀 리포트(일보월보)를 위한 노트

엑셀리포트 기능을 이용하기 위한 과정

본 게시글은 최소한 오토베이스로 기기를 제어할 수 있는 상태에서 보아야한다. 
그전엔 읽어도 무슨소린지 알수없을껄...?


1. 일월보를 위한 엑셀시트 작성(함수는 오토베이스 도움말을 참고한다)

2. 작성한 엑셀시트를 오토베이스에서 인식하기 위한 절차
 (1) 반드시 .netFrameWork를 필요로 한다(오토베이스의 버전에 따라서 요구로하는              .netFrameWork의 버전도 각각 다르다. autobase.biz 참조.)
 (2) 오토베이스의 XLStart\ExcelReport.xla를 오피스가 설치된 폴더의 XLStart\ 복사해 넣는다.
 (3) 오토베이스 폴더의 RegisterNetDII.exe라는 프로그램이 있으며 이를 실행하여 "등록"을 누르면 등록완료 메세지가 뜬다.(메세지가 뜨지않는다면 .netFrameWork를 버전에 맞추어 설치한다.)

3. 오토베이스에서 자동출력을 위한 설정
 (1) 오토베이스에서 리포트 자동인쇄를 설정한다.

오토베이스 개요
DCS (Distributed Control System) : 분산 제어 시스템
SCADA (Supervisory Control And Data Acquistion) : 데이터 통합 관리 위주의 프로그램
HEMI (Human Machine Interface) : 화학 플랜트나 대규모 공장같은곳에서 분산 컨트롤을 위하여 사용
 * Autobase 버전에 따라 필요한 .netFramework 버전이 다르다.
------------------------------------------------------------------------------------------
통신프로그램
autobase의 모든 통신은 통신 프로그램을 통하여 하게 되어있다.

PLC가 I,Q,Pi 영역을 갖고 있다는 가정하의 설정법이다.
예)

저장영역스테이션데이터영역PLC시작 주소통신메모리버퍼
시작주소
데이터 수량
READ1Q,B121210

*통신 파일편집부분에 통신메모리버퍼의 사이즈를 결정해줄 수 있는 부분이 있다.
예) WORD 메모리 크기, FLOAT메모리크기,DWORD메모리크기, STRING메모리크기, DOUBLE메모리 크기
------------------------------------------------------------------------------------------
태그 편집
WORD값으로도 AI값을 표현 할 수 있다. (꼭 float으로 받지 않아도 된다.)
 * 장비에서 어떤 데이타를 주는지에 따라 결정 해야할 문제이다.

변환값을 들어오는 값을 RESET해 줄 수 있다.
AI태그의 경우 '변환값' 이라는 AREA가 있다. 이부분에서 RESET기능을 한다.
단, 주의할 점은 비례식을 선택하여 reset기능을 이용할 수 있는데 " 비례식"을 선택하게 되면 초기값이 ai : 0~0, ao : 0~0 으로 설정되어 있어서 마치 값이 안들어오는 것 처럼 느껴질 수가 있다. 범위를 반드시 정해 주어야 한다.

단위는 UI상에 나타나게될 단위 FECT역활을 해준다.

표시형식의 경우 Default 값으로 0.00을 갖는다.
이를 5.2로 변환하게 되면 정수자리수5, 소수자릿수2로 표현하게 된다.

* 보다 자세한 내용은 도움말에 '태그속성수정'으로 검색
------------------------------------------------------------------------------------------
그래픽 모듈 편집
그래픽 모듈의 단순 사각형 이미지도 스크립트로 편집이 가능하다.
게이지로 그래프를 만들어 넣을 수 있다.
------------------------------------------------------------------------------------------
자료저장구조
 1. 자료저장 경로설정 : 환경설정 - 자료관리 
 2. 분단위, 시간단위로 0분0초가 되는 순간 저장한다.
 3. 저장데이터는 최대, 최소, 평균, 순시, 적산값 데이터를 저장한다.

* 적산치는 ex: 60KWH라면 1시간동안 60KW가 들어온 것이다. (소프트웨어로 데이터를 시간단위로 나누어 저장한 것)
------------------------------------------------------------------------------------------
스크립트 편집
오토베이스 스크립트는 c언어와 같은 문장 방식으로 작성하는데 일반적인 용어로 PCL이라고 부른다.
스크립트 편집은 기본 편집 프로그램인 스튜디오를 사용하며 다음과 같은 운칙에 의해 스크립트를 편집한다.
스크립트 활용
 - 로그인 스크립트 : 사용자 로그인 될 때 실행되는 스크립트가 로그인 스크립트이다.
'로그인 스크립트'를 선택하면 스크립트 편집기가 실행되는데 여기서 로그인 할 때 할 일들을 스크립트로 작성한다. 로그인 스크립트는 하나의 스크립트만 작성할 수 있다.

 - 로그아웃 전 스크립트 : 사용자 로그아웃 직전에 실행되는 스크립트이다. 
여기서 로그아웃 직전에 해야 할 내용을 스크립트로 작성할 수 있다.(하나의 스크립트만 작성 가능)

 - 로그아웃 후 스크립트 : 사용자 로그아웃 후에 실행되는 스크립트.
로그아웃 후 스크립트는 하나의 스크립트만 작성할 수 있다.

 - 모듈 시작 시 스크립트 : 감시 프로그램에서 특정한 그래픽 모듈이 열릴 때 한 번 실행되는 스크립트이다. 

 - 모듈 실행중에 계속 스크립트 : 감시 프로그램에서 특정한 그래픽 모듈이 열려 있을 때 실행되는 스크립트 이다. 각 그래픽 모듈당 하나의 스크립트만 작성할 수 있다.

 - 모듈 종료 시 스크립트 : 감시 프로그램에서 특정한 그래픽 모듈이 종료될 때 한 번 실행되는 스크립트이다. 모듈 종료 시 스크립트는 각 그래픽 모듈당 하나의 스크립트만 작성할 수 있다.

 - 모듈 활성화 시 스크립트 : 감시 프로그램에서 특정한 그래픽 모듈이 활성화될 때 실행되는 스크립트이다. 모듈 활성화 시 스크립트는 각 그래픽 모듈당 하나의 스크립트만 작성할 수 있다.

 - 모듈 비 활성화 시 스크립트 : 감시 프로그램에서 특정한 그래픽 모듈이 비 활성화될 때 실행되는 스크립트이다.  모듈 비 활성화 시 스크립트는 각 그래픽 모듈당 하나의 스크립트만 작성할 수 있다.

 - 스크립트 실행 버튼 : 스크립트 실행 버튼을 감시프로그램에서 버튼을 클릭할 때 실행되는 스크립트 이다. 스크립트 실행 버튼을 더블클릭하여 요소 속성에서 스크립트를 작성할수 있다.

 - 감시 프로그램 시작 시 스크립트 : 감시 프로그램이 시작될 때 단 한번 실행된다. 
------------------------------------------------------------------------------------------
리포터 편집
감시, 제어, 경보, 로그 등의 내용에 대한 보고서 양식을 만드는 것이다.
보고서는 자체보고서와 엑셀을 이용한 엑셀보고서 두 종류로 작성할 수 있다. 오토베이스 자체 보고서는 기본 편집 프로그램인 스튜디오를 사용한다.

최대값이나 최소값을 구하는 함수의 경우 해당 시간대를 반드시 설정 해 주어야 한다. "삽입-함수" 를 보게되면 엑셀에서 제공하는 함수들을 제공한다.

* 값이 들어오지 않는 태그의 경우 Default로써  ***를 표시하게 되어있는데 이는 "환경설정-리포터기타환경설정"에서 출력 문자열을 다르게 지정 해 줄 수 있다.

------------------------------------------------------------------------------------------
엑셀리포트
엑셀 메크로에서 제공하는 기능들은 엑셀의' 추가기능' 텝에서 확인할 수 있다. 이곳에서는 태그의 값 끌어오기, 연산해서 끌어오기등의 기능들이 있으므로 반드시 확인하도록 한다.

엑셀 보고서의 설정
 1. 오토베이스가 설치된 폴더에서 XLSTART폴더 내의 Excel Report.XLA파일을 MS Office가 설치되어 있는 폴더의 하위 폴더 XLSTART로 복사한다. 이때 오토베이스가 설치된 폴더의 이름은 오토베이스의 버전에 따라 다르게 표현된다.

 2. DLL등록
오토베이스가 설치된 폴더에서 .NET DLL 등록 프로그램인 RegisterNetDLL.exe 파일을 실행한다. 버튼을 클릭하면 엑셀 보고서의 DLL파일이 등록된다
* 사용중인 운영체제가 Windows Vista 이상일 경우에는 해당 프로그램을실행시 마우스 우측 버튼을 눌러 "관리자 권한으로 실행" 을 선택하여 실행하여야 정상적으로 등록된다.

편집시트에 작성한 내용이 엑셀리포터를 실행하게되면 편집시트의 편집내용을 기준으로 실행시트에 해당하는 데이터 값들이 표현된다.

 * 엑셀의 첫번째 시트는 실행시트, 두번째 시트는 편집시트의 기능을 한다. 이는 리포트기능에서 편집모드, 실행모드와 같은 개념이다. ( 즉, 등록한 포인트들의 값을 보는 페이지와 실제 포인트등록 페이지로 나뉜다.) 

 3. 엑셀 리포터의 호출
감시프로그램에서 엑셀 리포터 관련 함수등을 이용하여 다음과 같은 방법으로 엑셀 리포터를 호출할 수 있다.
- 엑셀 리포터의 날짜 지정 화면의 예 -
위 사진과 같이 엑셀 리포터의 보고서 호출 날짜를 지정하여 사용자가 직접 날짜를 쉽게 조정이 가능하며 이때 사용되는 요소로는 스튜디오의 글자 메뉴 '요소삽입 | 버튼 | 스크립트 실행 버튼'을 이용하여 엑셀 리포터 관련 함수등을 이용하여 호출한다.

@ExcelReporPrepare("C:\\TestWork\\기본교육\\Report\\보고서일보.XLS","",0 ,0 ,$YEAR, $MONTH, $DAY,0);
@ExcelReportRun();

문장설명 : 엑셀을 자동으로 실행하여 Test.XLS 파일을 사용자가 지정한 $YEAR : 년 ,$MONTH : 월, $DAY : 일 의 자료를 보여준다.($***은 아날로그 메모리 태그이다)
------------------------------------------------------------------------------------------
응용 프로그램 & 웹서버 활용
애니메이션 편집기 : 에니메이션을 만들 수 있다.
문자 음성 메시지 관리기 http://www.sms.autobase.biz 페이지를 참고한다.(메세지의 형태 및 경보 등급, 보낼 사람들을 설정할 수 있다.)

오토베이스는 IIS를 웹 서버로 사용한다.

웹서버상의 속성을 설정해준다.
제어판-관리도구-인터넷 정보서비스에서 IIS서버 설정을 한다.

오토베이스 상에서도 속성 설정을 해 주어야 한다. 환경설정-웹서버설정에서 설정할 수 있다.
------------------------------------------------------------------------------------------
autobase + SmartIO


댓글 없음:

댓글 쓰기

Post list