기본 콘텐츠로 건너뛰기

싸이몬 CIMON SCADA FAQ - 보고서 기능과 같은 엑셀파일 쓰기 및 출력 방법

안녕하세요.

싸이몬 CIMON-SCADA 관련 FAQ를 소개 합니다.

 

보고서 기능처럼 엑셀 파일에 데이터를 쓰기 및 출력하고자 할 때, 

다음 예제에서 제시되는 스크립트를 통해 기능을 설정할 수 있습니다.

 

[적용 방법]

1. 데이터 베이스에서 보고서 데이터로 등록할 태그를 생성합니다.

값1, 값2, 값3은 ‘ANA1’, ‘ANA2’,  ‘ANA 3’ 태그로 등록합니다.

쓰기 신호는 ‘SIN’ 태그로 등록합니다.

제품코드는 ‘제품코드’ 태그, 제품명은 ‘제품명’ 태그로 등록합니다.

 

2. 사전에 설정하여야 할 내용은 다음과 같습니다.

*모든 경로는 ‘C:\보고서’입니다. 엑셀 파일을 출력하기 전에 폴더를 만들어 주시거나, 

스크립트 내에 입력된 경로들을 동일하게 변경해 주시기 바랍니다.

*보고서 폴더 내에 Test.xls라는 양식 파일이 존재해야 합니다.

*쓰기 신호(‘SIN’ 태그)가 1일 때 보고서 실행을 하면 현재 태그 값이 엑셀에 입력됩니다. 

저장 형식은 ‘제품코드-금일 날짜’입니다.

* 제품 코드가 다르거나 날짜가 다를 경우 새로운 파일을 생성하게 됩니다.

* 생성된 파일은 코드 별 날짜 별로 저장이 되기 때문에 금일의 날짜를 기준으로 

3일 이전의 파일들은 자동적으로 삭제됩니다.

*엑셀 파일을 출력하고자 할 때, ‘파일 불러오기’ 버튼을 눌러 저장 폴더의 목록을 불러와 

파일 선택 후, ‘인쇄’ 버튼을 눌러 출력할 수 있습니다.

 

3. [도구]-[스크립트]에 진입하여 다음과 같이 메인 스크립트를 작성합니다.

Sub Main()

While 1

SetTagVal”ANA1″,Random(0,100)

SetTagVal”ANA2″,Random(0,100)

SetTagVal”ANA3″,Random(0,100)   ‘테스트임으로 각 태그의 값을 랜덤으로 받습니다.

sleep(1000)

Wend

End Sub

===========================================================

아래 그림과 같이 스크립트를 등록합니다.

 

4. 각 버튼 오브젝트를 다음과 같이 생성합니다.

RUN 버튼을 등록하고, 명령식 동작으로 Runscript(“Scr”)을 입력합니다.

RUN 버튼으로 구동할 스크립트는 다음과 같이 작성합니다.

 

Sub Scr()

Dim DelFileName(2)

‘신호태그를 불러와 신호 태그가 1이 됐을 경우만 스크립트를 실행한다.

WT = GetTagVal(“SIN”)

Code$ = GetTagVal(“제품코드”)

If WT = 1 Then

‘오늘 부터 3일치 이후의 같은 코드의 파일을 삭제 한다.

For i = 0 to 2

TStr$ = ReportTimeStr(“-” & i+3 & “일”,14)

DelFileName(i) = Left(TStr$,4) & Mid(TStr$,6,2) & Right(TStr$,2)

FileDel$ = “C:\보고서” & Code$ & “-” & DelFileName(i) & “.xls”

If FileExists(FileDel$) Then Kill FileDel$

Next i

‘엑셀파일 경로

FileName$ = “C:\보고서” & Code$ & “-” & TimeStr(50) & TimeStr(51)& TimeStr(52) & “.xls” ‘생성될 파일

FileOld$ = “C:\보고서\Test.xls” ‘양식 파일

If FileExists(FileName$) Then ‘동일한 파일이있면 파일에 계속 쓴다.

Else

FileCopy FileOld$, FileName$ ‘없으면 양식 파일에서 복사해 새로운 파일을 만듬

End If

Set ExcelApp = CreateObject(“Excel.Application”)

Set ExcelFile = ExcelApp.Workbooks.Open(FileName$)

Set ws=ExcelFile.sheets.item(“sheet1”)

‘엑셀 파일에 저장될 행을 불러온다.

Cell_Cnt = ws.range(“A1”).currentregion.rows.count + 1

‘태그들의 값을 가져온다.

Val1% = GetTagVal(“ANA1”)

Val2% = GetTagVal(“ANA2”)

Val3% = GetTagVal(“ANA3”)

‘엑셀 파일에 데이터 쓰기                 ‘행,     열

 

ws.Cells(Cell_Cnt,1) = Cell_Cnt – 3 ‘카운트

ws.Cells(Cell_Cnt,2) = TimeStr(37) ‘시간 출력

ws.Cells(Cell_Cnt,3) = Val1%

ws.Cells(Cell_Cnt,4) = Val2%

ws.Cells(Cell_Cnt,5) = Val3%

ws.Calculate

ExcelFile.Save

ExcelApp.Quit

Set ExcelApp = Empty

End If

End Sub

===============================================

아래 그림과 같이 스크립트를 등록합니다.

 

5. ‘파일 불러오기’ 버튼을 등록하고, 명령식 동작으로 Runscript(“FileListLoad”)를 입력합니다.

‘파일 불러오기’ 버튼으로 실행할 스크립트는 다음과 같이 작성합니다.

 

Sub FileListLoad()

On Error Goto Pass

‘ ListBox에 있는 파일 리스트 초기화

wcDeleteAll “List1”

FilePathLoad$ = “C:\보고서”

Dim FileName$()

FileList FileName$, FilePathLoad$+”*.xls”

‘ ListBox에 파일 리스트 추가

i% = 0

While ( FileName$(i) <> “” )

WcInsertItem “List1”, -1, FileName$(i%)

i% = i%+1

Wend

Pass:

End Sub

==========================================

아래 그림과 같이 스크립트를 등록합니다.

6. ‘파일 인쇄’ 버튼을 등록하고, 명령식 동작으로 Runscript(“Scr1”)을 입력합니다.

 

‘파일 인쇄’ 버튼으로 실행할 스크립트는 다음과 같이 작성합니다.

Sub Scr1()

a$=wcGetData(“List1”,-1)

FileName$ = “C:\보고서” & a$

Set ExcelApp = CreateObject(“Excel.Application”)

Set ExcelFile = ExcelApp.Workbooks.Open(FileName$)

Set ws=ExcelFile.sheets.item(“sheet1”)

ws.PrintOut

ExcelApp.Quit

End Sub

=============================================

아래 그림과 같이 스크립트를 등록합니다.

7. CimonX를 실행한 후 각 버튼을 누를 때 다음과 같이 동작합니다.

쓰기 신호(‘SIN’ 태그)가 1인 상태에서 RUN버튼을 눌렀을 때, 

TEST.XLS양식 파일을 바탕으로 데이터가 엑셀에 입력되면서 

제품코드-금일 날짜 형태의 데이터가 생성됩니다.

제품코드가 CIMON001일 경우, RUN버튼을 누른 후 ‘파일 불러오기’ 버튼을 누르면

CIMON001-20171014 라는 파일이 생성됩니다.

 

싸이몬 홈페이지에서 다양한 FAQ를 확인할 수 있습니다.
언제나 고객을 먼저 생각하는 CIMON이 되겠습니다.


감사합니다.

댓글

이 블로그의 인기 게시물

싸이몬 CIMON SCADA FAQ - 키락 Keylock 종류 및 사용법

안녕하세요. 싸이몬 CIMON-SCADA 관련 FAQ를 소개 합니다. Q: SCADA 페러럴(프린터포트) 키락을 사용할 때 문제점이 없나요? A: SCADA 페러럴 키락 관련해서 설명 드리겠습니다. [페러럴(프린터포트) 키락을 사용하는 경우] 1) Window XP까지 권장 하며, Window 7 이상에서 인식이 불가능할 수 있습니다. 2) USB 컨버터를 이용하여 사용하실 수 없습니다. 3) 장치관리자의 프린터포트(LPT)가 인식되는지 확인이 필요합니다. 키락의 Lamp가 점멸되지 않기 때문에 CimonD를 실행하기 전까지 확인이 불가능합니다. 4) CimonD에서 키락이 인식되면 SCADA 버전과 호환성은 무관합니다. 단, 예외의 경우가 있을 수 있으며 USB 키락으로 업그레이드를 권장 드립니다. 5) 현재까지의 Cimon SCADA 키락 제품입니다. Q: 키락의 종류의 대해서 궁금합니다. A: 키락의 종류 및 간단한 내용 설명, 유의점에 대해 설명 드리겠습니다. [키락의 종류와 간단한 내용 설명] 1) 키락의 종류 ㄱ. DS : 개발 및 실행용 키락 ㄴ. RS : 실행용 키락 ㄷ. VS : View를 구성하실 때 사용되는 키락(감시만 가능) ㄹ. CS : View를 구성하실 때 사용되는 키락(감시 및 제어가능) ㅁ. WS : Web을 구성하실 때 사용되는 키락(감시 및 제어가능) Mobile을 사용하시는 경우는 Option으로 추가하여 사용이 가능합니다. DS와 RS는 실태그(장비와 통신하는 태그)를 기준으로 구분됩니다. VS & CS & WS 의 경우 동시접속 가능유저를 기준으로 구분됩니다. 2) DS 및 RS 키락 사용시 유의점 ㄱ. RS 키락을 사용할 경우 반드시 DS키락으로 먼저 저장되어야 합니다. ㄴ. 먼저 저장되는 DS키락의 태그수의 따라서 RS키락의 사용이 제한될 수 있습니다. Q: SCADA가 데모모드로 동작합니다. 해결 방법은 없을까요? ...

싸이몬 CIMON SCADA FAQ - 데이터 수집 파일을 엑셀로 확인하는 방법

안녕하세요. 싸이몬 CIMON-SCADA 관련 FAQ를 소개 합니다. LogFileDialog() 함수를 사용하면 확인할 수 있습니다. 1.명령식에 LogFileDialog() 입력 후 실행 합니다. 2.변환할 cld 파일을 선택 하고 CSV변환을 실행 합니다. 3.저장할 경로와 파일 이름을 입력하고 저장을 실행 합니다. 4.해당 파일을 실행하면 아래와 같이 수집된 데이터를 엑셀로 확인 할 수 있습니다. 그 외 LogFileDialog() 함수로 데이터수집파일을 Text파일로 변환하거나 클립보드로 복사 할 수 있습니다. LogFileDialog() 함수에 대한 자세한 사용방법은 SCADA 도움말을 참고해 주시기 바랍니다. 싸이몬 홈페이지에서 다양한 FAQ를 확인할 수 있습니다. >> 홈페이지 가기 언제나 고객을 먼저 생각하는 CIMON이 되겠습니다. 감사합니다.

싸이몬 CIMON PLC FAQ - PLC 접속이 안될 때!!

안녕하세요! 싸이몬입니다. 싸이몬 CIMON PLC 관련 FAQ에 대해 답변을 드립니다. PLC 접속이 되지 않을 때 접속 설정 방법! [설정방법] CICON 온라인 -> 접속설정을 보시면 아래와 같은 창이 나타나게 됩니다. [접속방식] 1. Serial Port - PC의 COM 포트를 통해 PLC에 직접 연결하는 경우 선택합니다. 2. Dial-up Modem - PC의 COM 포트로 전화선 모뎀을 통해 PLC에 연결하는 경우 선택합니다. 3. 전용선 모뎀 - PC의 COM 포트로 전용선 모뎀을 통해 PLC에 연결하는 경우 선택합니다. 4. Ethernet PLC - 이더넷 모듈과 접속하는 경우 IP, 도메인을 사용하실 경우 선택합니다. 5. USB Port - PC의 USB 포트를 통해 PLC에 직접 연결하는 경우 선택합니다. 온라인 -> 접속을 선택하시면 PLC 접속이 완료됩니다. [TIP] 각 접속방식의 설정방법은 CICON 도움말 -> CICON -> CICON사용법 -> 접속환경 설정을 보시면 해당통신의 설정에 대한 자세한 설명이 나와있습니다. 늘 최선을 다하는 싸이몬이 되겠습니다! 싸이몬 홈페이지에서 pdf로 다운받으실 수 있습니다. >>홈페이지 가기