• 제품선택
  • 안녕하세요.

    CIMON입니다.

     

    보고서 기능처럼 엑셀 파일에 데이터를 쓰기 및 출력하고자 할 때, 다음 예제에서 제시되는 스크립트를 통해 기능을 설정할 수 있습니다.

     

    [적용 방법]

    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 라는 파일이 생성됩니다.

     

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

    감사합니다.

     

  • 안녕하세요.

    CIMON입니다.

     

    데이터베이스에서 태그 생성 시 ‘보고서용 데이터 생성’ 옵션을 선택 후, 보고서의 ‘태그 등록’ 화면에서 TLogVal 함수를 사용하여 매 시간 순간값을 출력할 수 있습니다.

     

    다음 방법을 참조하여 주시기 바랍니다.

     

    [적용방법]

    1. 데이터베이스에서 태그 생성 시, 다음 그림과 같이 ‘보고서용 데이터 생성’ 옵션을 선택합니다.

    이 항목이 선택되지 않았을 경우에는 보고서 데이터 수집 및 저장이 되지 않습니다.

    2. [도구]-[보고서]에 진입하여 ‘태그 등록’ 버튼을 클릭합니다.

    ‘보고서 데이터 등록’ 화면에서 다음과 같이 입력합니다.

    TLogVal(“ANA1”, “-1일0시”, “순간값”)부터 TLogVal(“ANA1”, “-1일23시”, “순간값”)까지 등록합니다.

    24시의 값은 금일의 날짜이므로 TLogVal(“ANA1”, “0시”, “순간값”)으로 등록합니다.

     

    보고서 출력 시간이 0시가 아닐 때 0시~24시의 순간값을 보고서로 출력할 수 있습니다.

     

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

    감사합니다.

     

  •  

    안녕하세요.

    CIMON입니다.

     

    Excel에서 저장된 파일을 실행하려고 할 때 오류 메시지가 나타나는 경우가 발생할 수 있습니다.

    이는 파일 형식을 제한하였을 때 나타날 수 있는 현상으로, Excel에서 설정을 변경할 수 있습니다.

     

    [적용 방법]

    1. Excel 프로그램을 실행 후 [파일]-[옵션]-[보안 센터]를 선택합니다.

    해당 화면에서 ‘보안 센터 설정’ 버튼을 클릭합니다.

     

    2. [파일 차단 설정]을 선택하여 화면에 진입합니다.

    파일 형식 중 차단된 파일 선택을 해제 후 [확인] 버튼을 누릅니다.

     

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

    감사합니다.

  • 안녕하세요.

    CIMON입니다.

    [보고서]–[태그등록]에서 ‘프린터로 출력’ 옵션을 선택한 상태일 때 보고서를 프린터로 출력할 수 있습니다.

    다음과 같이 설정이 가능합니다.

    [적용방법]

    1. [도구]-[보고서]를 선택하여 보고서 화면에 진입합니다.

    [태그등록] 버튼을 클릭하면 ‘보고서 데이터 등록’ 화면이 표시됩니다.

    2. ‘보고서 데이터 등록’ 화면에서 ‘프린터로 출력’ 옵션을 선택합니다.

     

     

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

    감사합니다.

     

     

  •  

    안녕하세요.

    CIMON입니다.

     

    보고서 출력 시 시스템 상태 창에 ‘OLE 통신 에러’ 메시지가 나타나는 경우가 발생할 수 있습니다.

    이는 보고서의 ‘태그 등록’에 설정된 Sheet 이름과, Excel 보고서 양식의 Sheet 이름이 서로 다를 경우 생기는 오류입니다.

    동일한 Sheet 이름으로 설정하는 것으로 이러한 오류를 해결할 수 있습니다.

     

    [적용방법]

    1. [도구]-[보고서]에 진입한 후 ‘태그 등록’ 버튼을 클릭합니다.

    2. ‘보고서 데이터 등록’ 화면에서 ‘이름 변경’ 버튼을 눌러 Sheet 이름을 보고서 양식의 Sheet 이름과 동일하게 입력합니다.

     

     

     

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

    감사합니다.

     

  • 안녕하세요.

    CIMON입니다.

     

    SCADA 영문 버전에서 보고서 기능 사용 시, Tlogval 함수에 입력되는 값 종류는 다음과 같습니다.

     

    순간값 C_VAL
    적산값 I_VAL
    평균값 A_VAL
    N번째 가동시간 ON_TIMEN
    가동시간 ON_TIME
    가동횟수 ON_CNT
    가동시간합 T_SUM
    가동횟수합 N_SUM

     

    [적용 방법]

     

    1. 데이터베이스에서 아날로그 태그 ‘ANA1’을 생성 후 ‘Create data for Report(보고서용 데이터 생성)’ 옵션을 선택합니다.

    2. [도구]-[보고서]에 진입하여 보고서 설정을 합니다.

    ‘Resister Tag(태그 등록)’ 버튼을 눌러 나타나는 ‘Resister Report Data(보고서 데이터 등록)’ 화면에서 다음과 같이 태그 등록을 합니다.

    일은 ‘D’, 시간은 ‘H’로 표기합니다.

    전일 0시 순간값을 사용할 때, TLogVal(“ANA1”, “-1 D 1 H”, “C_VAL”)을 입력합니다.

    전일 0시 적산값을 사용할 때, TLogVal(“ANA1”, “-1 D 1 H”, “I_VAL”)을 입력합니다.

     

     

     

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

    감사합니다.

  • 안녕하세요.

    CIMON입니다.

     

    CIMON-SCADA 보고서 수식 작업 설정에 따라서 변경이 됩니다. 

    [상세설명] 

    Excel 옵션에서 수식작업에 R1C1 참조 스타일이 체크가 되어 있으면 아래와 같이 엑셀 가로 방향이 숫자로 나타납니다 

    Excel 옵션에서 수식작업에 R1C1 참조 스타일이 체크를 해제 하면 아래와 같이 엑셀 가로 방향이 영문으로 나타납니다.

     

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

    감사합니다.

  • 안녕하세요.

    CIMON입니다.

     

    다음 예제와 같은 방법으로 Window Dialog 창을 이용하여 보고서를 생성할 수 있습니다.

     

    [예제]

    1. 데이터베이스에 3개의 아날로그 태그(ANA1, ANA2, ANA3)를 생성합니다.

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

    Sub SaveFile()

    fName$ = SaveFilename$(“Print Excel File”, “Excel Files:*.xls”)     ‘저장경로 및 파일명 설정
    fFormName$ = “D:\엑셀양식.xls”                                                            ‘양식파일 경로

    Set ExcelApp = CreateObject(“Excel.Application”)
    FileCopy fFormName$, fName$

    Set DayRpt = ExcelApp.Workbooks.Open(fName$)
    Set Sheet1 = DayRpt.Worksheets(1)                                                        ‘생성된 파일의 첫번째 시트 지정

    Set Cell = Sheet1.Range(“C8”)                                                                  ‘셀 C8 설정
    Cell.Value = GetTagVal(“ANA1″)                                                             ‘ 셀의 값=ANA1” 태그값

    Set Cell = Sheet1.Range(“C9”)
    Cell.Value = GetTagVal(“ANA2”)

    Set Cell = Sheet1.Range(“C10”)
    Cell.Value = GetTagVal(“ANA3”)

    DayRpt.SAVE                                                                                             ‘생성된 파일 저장
    ExcelApp.Quit
    Set ExcelApp = Empty

    End Sub

     

     

     

    3.   스크립트를 실행시킬 버튼을 생성합니다.

    [버튼정의]-[동작]에서 ‘명령식’을 선택하고 ‘RunScript(“SaveFile”)을 입력합니다.

    4. 보고서 양식을 작성합니다.

    5. CimonX를 실행 후, ANA1, ANA2, ANA3 태그의 값을 변경합니다.

    6. 버튼을 클릭하여 스크립트를 구동합니다.

    7. Window Dialog 창에서 보고서를 저장할 경로 및 이름을 지정하고 ‘저장’을 클릭합니다.

    지정된 경로에 보고서가 생성되는 것을 확인 할 수 있습니다.

     

     

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

    감사합니다.

     

     

  • 2024.07 리뉴얼

    안녕하세요, CIMON 입니다.

    보고서 기능을 이용하여 출력할 수 있습니다.

    내용은 아래와 같습니다.

     

    1. 데이터베이스-태그를 선택하여 보고서용 데이터 생성 항목을 활성화 합니다.

    2. CIMOND의 도구 메뉴 중 ‘보고서’를 눌러 보고서 편집창 을 띄워 아래와 같이 설정합니다.

    이 보고서는 매일 9시 0분에 Sample.틴 파일을 열어 데이터를 입력시킨 후 다음과 같은 이름의 파일을 생성하여 D:/보고서출력파일 폴더 아래에 저장합니다.

    (YYYYMMDD.xls = 20240520.xls)

    3. 지정된 양식 파일에 삽입될 데이터를 설정합니다.

    보고서 편집기에서 [태그등록] 버튼을 누르면 다음과 같은 화면이 나타납니다.

    4. [이름변경] 버튼을 통해 보고서양식 Sample.xls 의 Sheet 이름과 동일하게 설정합니다.

    5. 양식 파일의 특정 셀 위치에 데이터를 저장하기 위하여 [Cell 추가] 버튼을 누릅니다.

    6. [등록] 버튼을 누르면 다음과 같이 24개의 Cell이 자동으록 등록됩니다.

    Tlogval(“REPROT01″,”-1일0시”,”순간값”)은 REPORT01 태그가 어제 00:00 ~ 00:59 간

    정각의 순간값을 출력합니다. 다음 Cell의 데이터도 동일한 방식으로 등록합니다.

    7. CimonX를 실행시킵니다.

    매일 09:00에 다음과 같이 보고서가 프린터 출력과 동시에 파일로 저장됩니다.

     

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