[SCADA] [스크립트] 태그값을 텍스트로 저장하고 싶습니다.
2015.05.12

안녕하세요.

CIMON입니다.

 

태그값을 텍스트 파일로 저장하고자 하는 경우, 다음 예제와 같이 스크립트를 작성하여 활용할 수 있습니다.

 

[적용 방법]

파일이 저장되는 경로는 C 드라이브 내 ‘TEST’ 폴더입니다.

1. 데이터베이스에서 아날로그 태그 DATA1, DATA2를 생성합니다.

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

Sub MakeTextFile1()

 

Dim StrRecord As String                              ‘text 에 데이터를 저장할 스트링 버퍼

Const crlf = Chr$(13) + Chr$(10)      ‘줄바꾸기 변수

 

‘파일저장 경로

Path$ = “C:\TEST\”

 

‘파일명 저장하기 위한 현재시간 받아오기

CurTime# = Now()

YYYY$ = FormatStr(“%04d”, 0, Year(CurTime#))       ‘현재 연도

Mon$ = FormatStr(“%02d”, 0, MonTh(CurTime#))     ‘현재 월

DD$ = FormatStr(“%02d”, 0, Day(CurTime#))           ‘현재 일

HH$ = FormatStr(“%02d”, 0, Hour(CurTime#))         ‘현재 시

MM$ = FormatStr(“%02d”, 0, Minute(CurTime#))    ‘현재 분

SS$ = FormatStr(“%02d”, 0, Second(CurTime#))       ‘현재 초

DateTime$ = YYYY$ & Mon$ & DD$ & HH$ & MM$ & SS$

 

‘파일 이름

FileName$ = Path$ & DateTime$ & “.txt”

If FileExists(FileName$ ) Then

Kill FileName$                              ‘파일 이름 똑같은 경우 삭제함

Sleep(100)

End If

 

‘저장될 데이터 얻어오기

StrRecord = FormatStr(“%f”, 1, GetTagVal(“DATA1”))+_     ‘Binary 데이터를 스트링 데이터로 변환

crlf+_                                                                                                                      ‘줄바꾸기

FormatStr(“%5.2f”, 1, GetTagVal(“DATA2”))

Open FileName$ For Append Access Read Write Shared As #1

Print #1, StrRecord

Close

 

End Sub

 

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

아래 그림과 같은 형식으로 스크립트를 등록합니다.

 

3. 버튼 오브젝트를 생성합니다.

[버튼정의]-[동작정의] 선택 후 ‘명령식’ 동작으로 Runscript(“MakeTextFile1”)을 입력합니다.

4. CimonX를 실행하여 동작을 확인합니다.

스크립트 동작 시, ‘C:\TEST\’ 경로 내에 ‘YYYYMMDDhhmmss.txt’의 형식으로 텍스트 파일이 생성됩니다.

스크립트 구동 시의 DATA1, DATA2 태그값이 파일 내에 저장됩니다.

 

언제나 고객을 먼저 생각하는 CIMON이 되겠습니다.

감사합니다.