• 제품선택
  • 안녕하세요.
    CIMON 입니다.

    Q. SCADA 화면에서 엑셀 시트를 띄울 수 있나요?

    A. SCADA 기능 중 “개체 삽입” 기능을 이용하면 가능합니다.

    1. SCADA 화면에서 띄울 엑셀 파일을 생성합니다.

    양식을 만들고 이번 FAQ에서는 시간 및 현재 값을 취득하여 최대, 최소, 평균 값을 구해보도록 하겠습니다.

    2. CimonD – 편집 – 개체 삽입에 들어가 엑셀 양식을 등록합니다.

    개체 삽입을 클릭하고 PGX 화면을 클릭하면 위와 같은 창이 나옵니다.
    위에서 Create from File으로 맞추고 Browse를 누르고 엑셀 양식을 등록합니다.
    마지막으로 Link를 꼭 체크해야 양식과 연동됩니다.

    화면에 있는 엑셀을 더블클릭하고 조건에 의한 동작을 체크합니다.

    정상적으로 등록이 되면CimonD 화면에 위와 같이 나오게 됩니다.

    3. 데이터베이스에 태그를 등록합니다.

    CELL_NO 태그는 엑셀의 셀 위치를 확인하기 위한 태그이며, EXCEL 태그는 엑셀 개체 삽입에
    등록한 양식의 변화를 SCADA 화면에서 보기 위한 동작 태그입니다.
    A1 ~ A5는 데이터를 취득할 아날로그 태그입니다. 트렌드에서 사용하기 위해 반드시 데이터수집을 설정해야 합니다. 시작_년부터 종료_초 태그까지는
    ”TREND History Mode에서 임의의 시간을 설정하여 데이터 보는 방법 FAQ”를 참고하시면
    됩니다.

    4. TREND를 등록하고 Script 실행 버튼, Real, History 버튼 Object를 등록합니다.


    Script 버튼은 RunScript 버튼이고, History Time Object는 마찬가지로
    ”TREND History Mode에서 임의의 시간을 설정하여 데이터 보는 방법 FAQ”를 참고하시면
    됩니다.

    CimonX 실행 화면입니다.

    5. Script를 작성합니다. TREND를 사용하지 않고 데이터만 보려면 아래의 Script만 사용하시면 됩니다.

    TREND와 같이 사용하려면 위의 Script 중간에 새로운 Script를 추가 작성합니다.
    추가 작성하는 Script는 마찬가지로,
    ”TREND History Mode에서 임의의 시간을 설정하여 데이터 보는 방법 FAQ”를 참고하시면
    됩니다.



    위의 Script는 SCADA에서 엑셀에 데이터를 넣고 저장하는 Script입니다.
    48번 줄은 셀이 32셀까지 도달하면 EXCEL 비트를 살려 개체 삽입에 넣은 엑셀 파일을
    동작 시키는 조건 문입니다.
    추가 Script는 TREND History Mode에서 임의의 시간을 설정하여 데이터를 확인하기 위하여
    시간 형식과 TREND 최대 감시 시간을 표현하기 위한 Script입니다.

    CimonX를 실행하고 Script를 실행합니다.

    Script를 실행하고 화면을 나눠서 올렸습니다. 위의 사진은 엑셀에 데이터를 넣고 저장한 파일을 SCADA 화면으로 불러온 화면입니다.

    위의 트렌드는 엑셀 양식에서 수집된 데이터를 가져와 History TREND에 뿌린 화면입니다.
    위와 같이 개체 삽입 기능을 이용하면 엑셀 양식을 SCADA 화면에서 구현 가능합니다.

    추가 문의는 1899-5001으로 문의 바랍니다.

  • 안녕하세요.

    CIMON입니다.

     

    LogFileDialog() 함수를 사용하면 확인할 수 있습니다.

     

    1.명령식에 LogFileDialog() 입력 후 실행 합니다.

    2.변환할 cld 파일을 선택 하고 CSV변환을 실행 합니다.

    3.저장할 경로와 파일 이름을 입력하고 저장을 실행 합니다.

    4.해당 파일을 실행하면 아래와 같이 수집된 데이터를 엑셀로 확인 할 수 있습니다.

    그외 LogFileDialog() 함수로 데이터수집파일을 Text파일로 변환하거나 클립보드로 복사 할 수 있습니다.

    LogFileDialog() 함수에 대한 자세한 사용방법은 SCADA 도움말을 참고해 주시기 바랍니다.

     

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

    감사합니다.

    #엑셀 변환 # 데이터수집

     

  • 안녕하세요.

    CIMON입니다.

     

    다음과 같이 두가지 방법으로 가능합니다.

     

    1. 태그편집 설정 

    데이터베이스에서 태그편집 설정을 엽니다.

    일반설정 탭에서 “종료시 최종 상태 저장” 을 체크합니다. 해당 기능을 체크하면 CimonX 가 종료될 경우 최종 태그 값을 저장합니다.

     

    저장된 태그 값은 해당 프로젝트 경로에 *.mdb 파일로 저장됩니다. 단 실 태그일 경우 *.mdb 파일이 생성 되지 않습니다.

     

    2. 데이터 수집 기능 이용 

    데이터 수집 기능을 이용하십시오. 주기적으로 태그 데이터를 저장 할 수 있습니다.

    사용 방법은 CimonD 실행 -> “CimonD 도움말” 에서 데이터수집 매뉴얼을 참고하십시오.

     

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

    감사합니다.

    # 종료시 태그값 저장

  • 트랜드 오브젝트의 데이터를 엑셀파일로 출력하는 예제 입니다.  

    [예제]   

    ●예제프로젝트 설명 

    Cycle태그(초단위 주기) 설정에 따라 트랜드 오브젝트에 표시된 데이터를 엑셀 파일로 출력하는 예제  

     

    1.       아래와 같이 데이터 수집모델을 생성합니다. 

             수집방법 : 정주기로 수집 

             수집주기 : 1초

     

    2.       데이터베이스에 3개의 태그를 생성

     

    3.       ANA1과 ANA2에 데이터수집 태그로 설정합니다.  

     

    4.       트랜드 오브젝트를 생성하여 아래와 같이 설정합니다. 

             오브젝트 이름 : Trend 

             펜등록 : ANA1, ANA2

     

     

     

    5.       스크립트를 작성

    아래와 같이 스크립트를 작성합니다.

    Sub StatusSave()

     If GetTagVal(“CYCLE”) <> 0 Then

     ‘주기가 0이 아닐경우

               Set ExcelApp = CreateObject(“Excel.Application”)

                          fFormName$ = “D:TESTSCADAReport양식양식.xlsx”

                          ‘양식파일 위치

                          fTodayName$ = “D:TESTSCADAReport출력”+TimeStr(44)+”.xlsx”

                          ‘생성될 파일 위치

                          If (FileExists(fTodayName$) <> True) Then

                          ‘파일이 없을 경우

                                    FileCopy fFormName$ , fTodayName$

                                    ‘양식파일 복사

                          End If

                          Set DayRpt = ExcelApp.Workbooks.Open(fTodayName$)

                          ‘Excel Workbook Open

                          Set Sheet1 = DayRpt.Worksheets(1)

                                    If GetTrendMode(“Trend”) = 1 Then

                                    ‘과거 트랜드 모드일 경우

                                               hsTrendTime& = TrendGetTime(“Trend”, 4)

                                               ‘트랜드 시작시간

                                               heTrendTime& = TrendGetTime(“Trend”, 5)

                                               ‘트랜드 끝시간

                                               hTrendCycleCounter% = ((heTrendTime& – hsTrendTime&) – ((heTrendTime& – hsTrendTime&) Mod GetTagVal(“Cycle”))) / GetTagVal(“Cycle”)

                                               ‘데이터 갯수

                                               For i = 0 to hTrendCycleCounter%

                                                         hTrendTime& = hsTrendTime& + (i * GetTagVal(“Cycle”))

                                                         ‘시각값

                                                         hTrendTimeStr$ = TimeToStr(hTrendTime&, 12) + TimeToStr(hTrendTime, 5)

                                                         ‘시간 값을 YYYY년MM월DD일hh시mm분ss초 변환

                                                         Set Cell = Sheet1.Range(“A”+CSTR(i + 1))

                                                         Cell.Value = hTrendTimeStr$

                                                         Set Cell = Sheet1.Range(“B”+CSTR(i + 1))

                                                         Cell.Value = Dlogval(“ANA1”,hTrendTimeStr$)

                                                         ‘ANA1의 수집데이터를 셀에 출력

                                                         Set Cell = Sheet1.Range(“C”+CSTR(i + 1))

                                                         Cell.Value = Dlogval(“ANA2”,hTrendTimeStr$)

                                                         ‘ANA2의 수집데이터를 셀에 출력

                                               Next i

                                    Else

                                               ‘과거 트랜드 모드일 경우

                                               rsTrendTime& = TrendGetTime(“Trend”, 0)

                                               ‘트랜드 시작시간

                                               reTrendTime& = TrendGetTime(“Trend”, 1)

                                               ‘트랜드 끝시간

                                               rTrendCycleCounter% = ((reTrendTime& – rsTrendTime&) – ((reTrendTime& – rsTrendTime&) Mod GetTagVal(“Cycle”))) / GetTagVal(“Cycle”)

                                               ‘데이터 갯수

                                               For i = 0 to rTrendCycleCounter%

                                                         rTrendTime& = rsTrendTime& + (i * GetTagVal(“Cycle”))

                                                         ‘시각값

                                                         rTrendTimeStr$ = TimeToStr(rTrendTime&, 12) + TimeToStr(rTrendTime&, 5)

                                                         ‘시간 값을 YYYY년MM월DD일hh시mm분ss초 변환

                                                         Set Cell = Sheet1.Range(“A”+CSTR(i + 1))

                                                         Cell.Value = rTrendTimeStr$

                                                         Set Cell = Sheet1.Range(“B”+CSTR(i + 1))

                                                         Cell.Value = Dlogval(“ANA1”,rTrendTimeStr$)

                                                         ‘ANA1의 수집데이터를 셀에 출력

                                                         Set Cell = Sheet1.Range(“C”+CSTR(i + 1))

                                                         Cell.Value = Dlogval(“ANA2”,rTrendTimeStr$)

                                                         ‘ANA2의 수집데이터를 셀에 출력

                                               Next i

                                    End If

                                    Sheet1.Calculate

                          ‘ Sheet1.PrintOut

                          DayRpt.Save

               ExcelApp.Quit

               Set ExcelApp = Empty

     End If

    End Sub

    이후 CIMONX 실행 후 스크립트 동작 시 설정한 주기로 엑셀파일이 생성되는 것을 확인 할 수 있습니다.  

     

    #트랜드#트렌드#Trend#엑셀#excel#엑셀파일#트렌드데이터#트랜드데이터#data