• 제품선택
  • GetSelAlarm() 함수와 스크립트를 통해 구현이 가능하며 내용은 아래와 같습니다.

    1. 경보요약 오브젝트 설정의 옵션 탭에서 마우스 더블클릭 시 동작정의에 RunScript(“Alarm_Page”)를 작성합니다.

    2. CimonD의 도구 -> 스크립트에서 아래 스크립트 예제를 작성합니다.
    Sub Alarm_Page()
    Alarm_Tag = GetSelAlarm(“ALARM1”)
    ‘선택한 태그가 DIG일 때 Page 1 Open
    If Alarm_Tag = “DIG1” Then
    OpenPage(“Page 1”)
    ElseIf Alarm_Tag = “ANA1” Then
    OpenPage(“Page 2”)
    End If
    End Sub

     

    위 내용은 경보 더블클릭 시 GetSelAlarm() 함수로 선택한 태그 이름 확인 후 해당 태그가 사용된 페이지로 이동하는 예제입니다.
    함수에 대한 자세한 내용은 도움말을 참고 바랍니다.
  • 안녕하세요.
    CIMON 입니다.

    Q. InternetExplorer와 같이 이전 페이지로 돌아갈 수 있는 기능이 있나요?

    A. 간단한 Script로 구현 가능합니다.

    1. 현재 페이지를 기억하기 위한 메모리 태그와, 전 페이지를 기억하기 위한 메모리 태그, 각 페이지 번호를 설정하기 위한 페이지 번호 태그를 등록합니다.

    2. 페이지를 만들고 해당 페이지가 열릴 때 동작정의에 페이지에 페이지 번호를 넣어줍니다.

    페이지 열기 시 동작정의에 페이지 번호를 넣고 하단에서 넣을 Script를 미리 넣어 줍니다.
    모든 페이지에 위와 같이 넣어 줍니다. PAGE 2에는 페이지 번호 2, PAGE 3에는 페이지 번호 3 등등 순차적으로 넣어 주시면 됩니다.

    3. Script를 작성합니다.

    위의 Script는 현재 페이지와 이전 페이지를 기억하기 위한 Script로 어떠한 페이지가 열리더라도 페이지 열림과 동시에 Script가 실행되어야 합니다.

    위의 Script는 이전 페이지로 돌아갈 때 사용하는 Script입니다.

    4. 페이지 이동 버튼을 만들고 Script를 실행할 버튼을 만듭니다.

    5. CimonX를 실행하고 현재 페이지 번호와 메모리 태그에 값이 들어가는지 확인합니다.

    초기화면은 PAGE 1로 설정되어 있기 때문에 CimonX 실행되면 PAGE 1이 열림과 동시에 페이지 번호 태그에 1, 현재 페이지 메모리 태그에 1이 들어 갑니다.

    PAGE 1에서 PAGE 4로 전환했고, 현재 페이지 번호에 4, 현재 메모리 태그에 4, 이전 페이지 메모리 태그에 1이 들어간 것을 확인할 수 있습니다.

    PAGE 4에서 PAGE 1로 뒤로 가기 버튼을 이용하여 전환하였습니다.

    위와 같이 간단한 Script로 이전 페이지 기능을 구현할 수 있습니다.

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

  • 안녕하세요.
    CIMON 입니다.

    Q. TREND History mode에서 임의로 시간을 설정하여 데이터를 볼 수 있나요?

    A. TrendSetTime(“Trend Object 이름”, “시간종류”, “시간 값”)함수를 응용하면 가능합니다.

    1. TREND에서 사용할 태그와 임의의 시간을 설정할 태그를 등록합니다.

    TREND에서 사용하는 태그는 반드시 데이터 수집을 추가해야 합니다.

    2. 그림 – 라이브러리 – 윈도우컨트롤 – 문자입력 창 혹은 ComboBox를 선택합니다.


    시작 시간과 종료 시간에 대한 태그를 년, 월, 일, 시, 분, 초에 맞게 넣어 줍니다.

    3. TREND Object를 등록하고 펜 설정에서 펜을 등록합니다.

    4. 시간 검색을 위한 Object와 History, Real mode로 변환할 Object를 등록합니다.

    아래에서 사용할 Script를 사전에 등록합니다.

    RealTime에서 History mode로 변환하기 위해 SetTrendMode 함수를 사용합니다.
    SetTrendMode에서 TREND 모드가 1인 경우에는 Historical TREND 모드로 설정되고,
    TREND 모드가 0인 경우에는 Real TREND 모드로 설정됩니다.

    출몰조건은 TREND 모드가 Real TREND 모드일 때 출몰 되도록 설정합니다.
    Real TREND인 경우에는 GetTrendMode의 값이 0을 출력하고,
    Historical TREND인 경우에는 GetTrendMode의 값이 1을 출력합니다.
    RealTime일 때 Object가 출몰 되야 하기 때문에 출몰조건을 Off로 설정합니다.

    HistoryTime Object는 RealTime Object 와 반대로 설정합니다.


    출몰조건이 성립할 때만 출몰 되도록 RealTime, HistoryTime Object를 겹쳐서 사용합니다.

    5. Script를 작성합니다.

    Script 하단에서 사용할 fVal은 년, 월, 일을 초 값으로 사용하기 때문에 Long 데이터로
    사전에 선언합니다.
    TrendSetTime 함수의 시간종류를 0으로 사용하기 위하여 sTime$를 YYYY/MM/DD HH:MM:SS 형태로 변경합니다..

    dTime$는 Datediff 함수에서 YYYY-MM-DD로 사용하기 위해 형식에 맞게 변경합니다.
    dTime2$ 또한 Datediff 함수에서 HH:MM:SS로 사용하기 위해 형식에 맞게 변경합니다.
    eTime$, eTime2$ 또한 dTime$, dTime2$와 동일한 형태로 변경합니다.

    Datediff 함수는 Datediff(interval, date1, date2) 형식으로 date2에서 date1을 뺀 값을
    Interval 값으로 반환해주는 함수입니다.
    Interval의 인수는 연도(yyyy), 분기(q), 월(m), 연중일(y), 일(d), 요일(w), 주(ww), 시(h),
    분(m), 초(s)의 구성 요소로 되어 있습니다.

    fVal은 종료 시간 YYYY-MM-DD에서 시작 시간 YYYY-MM-DD을 뺀 값을 초 값으로
    반환한 값입니다.
    sVal은 종료시간 HH-MM-SS에서 시작 시간 HH-MM-SS를 뺀 값을 초 값으로
    반환한 값입니다.
    fVal, sVal을 초 값으로 반환한 이유는 TrendSetTime 함수의 시간종류를 3번(“초단위”)으로 사용해야하기 때문입니다.
    fVal, sVal의 합을TrendSetTime “TREND”, 3, fVal + sVal에 넣어줍니다.
    sTime$은 TrendSetTime “TREND”, 0, sTime$에 넣어줍니다.

    CimonX를 실행한 화면입니다.
    시작 시간은 문자입력 창, ComboBox 중 아무거나 사용해도 무방합니다.

    RealTime 모드를 History 모드로 변경하고 시작 시간과 종료 시간을 입력합니다.
    시작 시간을 2020년12월9일10시30분10초로 설정하고
    종료 시간을 2020년12월9일10시45분50초로 설정합니다.
    입력이 끝나면 검색 버튼을 클릭합니다.

    시작 시간과 종료 시간이 TREND에 들어간 것을 확인할 수 있습니다.

    시작 시간과 종료 시간의 간격을 1년 이상 설정해도 무방합니다.
    TrendSetTime 함수를 응용하면 임의의 기간 동안의 데이터를 Trend에서 확인 가능합니다.

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

    다운로드
  • 안녕하세요.
    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 입니다.

    Q. SCADA에서 msec 단위로 트렌드 구현이 가능한가요?

    A. 고속 트렌드를 이용하면 가능합니다.

    1. SCADA 고속 트렌드 사용에 앞서 설정해야 할 사항이 있습니다.
    SCADA 도움말에 ‘고속트렌드’를 검색하면 설정 방법이 나옵니다.


    반드시 SCADA 설치 경로에 있는 AddOn.Lst 파일을 열고 위의 텍스트를 추가해야 합니다.

    텍스트를 추가하면 아래와 같이 고속 트렌드가 생성됩니다.

    2. I/O 디바이스에서 통신 설정을 하고 데이터베이스에서 태그를 등록합니다.


    초기 값 쓰기는 넣지 않아도 무방합니다.

    3. 데이터 변화를 위해 간단하게 Script를 작성했습니다.

    4. 고속 트렌드 모델을 만들고 설정을 합니다.

    고속 트렌드 동작 설정에는 3가지의 설정이 있습니다.

    고속 트렌드의 제한사항을 확인합니다.

    현재 SCADA에서 고속 트렌드를 지원하는 통신 드라이버는 MITSUIBISHI MELSEC,
    CIMON PLC, LS산전 XGTFEnet입니다.

    5. 화면에 트렌드를 띄웁니다.
    CimonD 화면 오른쪽 도구 상자에서 실시간그래프를 선택합니다.

    6. 실시간그래프에서 고속 트렌드 설정을 합니다.

    Fast Trend를 선택하고 그래프 설정을 합니다.


    등록을 하면 위와 같은 화면이 나옵니다.

    트렌드 아래 7개의 버튼 중 위의 4개의 버튼은 SetRTGraphMode 함수의 버튼이고
    아래 3개의 버튼은 Script를 실행 하기위한 RunScript 버튼입니다.

    SetRTGraphMode 함수에서 사용하는 인자 값입니다. 자세한 내용은 도움말을 참고하시기 바랍니다.

    아래 버튼 3개에 대한 Script를 작성합니다.

    데이터 저장 시작전에 반드시 RTGraphChangeDir 함수로 공정을 넣어 주셔야 합니다.


    7. CimonX를 실행하여 확인합니다.

    저장 간격이 10msec이므로 평상시에는 별 다른 변화가 없어 보입니다.
    지금부터 데이터 저장을 시작하고 일정 시간 후 종료하겠습니다.
    데이터 저장 후 SetRTGraphMode 1번 버튼을 이용하여 저장되었는지 확인합니다.

    SEARCH 버튼으로 데이터를 확인했고, 데이터를 선택합니다.

    위와 같은 그림이 그려지고 위의 데이터를 CSV로 저장합니다.


    데이터가 너무 많아 일부의 데이터만 추출하였습니다.
    데이터 저장 주기는 10msec입니다.

    위의 FAQ와 같이 고속 트렌드 기능을 이용하면 msec 단위로 트렌드를 표현하고
    데이터를 저장할 수 있습니다.

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

  • 안녕하세요, CIMON입니다.

     

    보고서 사용시 데이터베이스에 있는 “적산값 수동 리셋” 기능은 리셋 전의 값을 기억하고자 할 때 사용합니다.

    다음은 “적산값 수동 리셋” 기능을 사용하지 않은 예제와 사용한 예제로, 동작을 비교할 수 있습니다.

     

    [“적산값 수동 리셋” 미사용 예제]

    값은 스크립트를 사용하여 자동으로 리셋할 수 있습니다. 다음 예제를 참조하시기 바랍니다.

     

    1. 데이터베이스에서 보고서용 태그를 등록하고 적산값 수동 리셋에 체크를 하지 않습니다.

    2.  ANA1의 최대값을 1000으로 설정 합니다.

    3. 스크립트를 다음과 같이 작성합니다.

    ====

    Sub Main()

    While 1

    If (GetTagVal(“ANA1”)) >= 1000 Then

    SetTagVal “ANA1”, 0

    End IF

    Sleep 1000

    Wend

    End Sub

    ====

     

    위 스크립트는 ANA1의 데이터가 1000보다 크거나 같을 때, ANA1의 값을 0으로 리셋 시킵니다.

    리셋 이후 ANA1의 값이 0에서 300으로 증가하면 다음 그림과 같이 적산값  300이 기록됩니다.

     

     

    [“적산값 수동 리셋” 사용 예제]

     

    1. 데이터 베이스에 보고서용 태그를 등록 하고 “적산값 수동 리셋”에 체크합니다.

    이전 예제와 달리 최대값을 설정하지 않습니다.

    3. 스크립트를 다음과 같이 작성합니다.

    ====

    Sub Main()

    While 1

    If (GetTagVal(“ANA1”)) >= 1000 Then

    SetTagVal “ANA1”, 0

    End IF

    Sleep 1000

    Wend

    End Sub

    ====

    위 스크립트는 ANA1의 데이터가 1000보다 크거나 같을 때, ANA1의 값을 0으로 리셋 시킵니다.

    ANA1의 초기값은 0이고 0에서 1000이 찍히면 스크립트에 의해 태그의 값이 바로 0으로 설정됩니다.

    리셋 이후 ANA1의 값이 0에서 300으로 증가하면 다음 그림과 같이 적산값  1300이 기록됩니다.

     

     

    [추가 설명]

    적산값 수동 리셋을 체크하지 않고 데이터 최소, 최대값을 0 ~ 1000으로 설정합니다. 태그값이 1000이 되면 스크립트에 의해 값이 0으로 바뀌고 다시 증가한 값이 300이라고 가정하였을 경우,

    보고서에는 0 + 300 = 300이 찍히게 됩니다.

    반대로, 적산값 수동 리셋을 체크하고 데이터 최소, 최대값을 0 ~ 1000으로 설정합니다. 이후 태그값이 1000이 되면 스크립트에 의해 값이 0으로 바뀌고 다시 증가한 값이 300이라고 하였을 경우,

    보고서에는 1000 + 300 = 1300이 찍히게 됩니다.

     

    결론적으로, 적산값 수동리셋을 체크하면 리셋이 되기 전의 값을 기억하고, 반대로 체크를 하지 않않으면 리셋이 되기 전의 값을 잃어버리게 됩니다.

     

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

    감사합니다.

  • 안녕하세요, CIMON입니다.

    다음은 보고서 적산값 사용 시, 전 시간보다 값이 줄어드는 경우에 대한 예제입니다.

     

    [사용 예제]

    1. 데이터베이스에서 ‘ANA1’ 이라는 아날로그 태그를 등록하고 ‘보고서용 데이터 생성’ 옵션을 선택합니다.

    이후 해당 태그를 이용하여 보고서 모델을 등록합니다.

    2. [보고서] 창에서 [태그등록] 버튼을 눌러 다음과 같이 시간 설정을 합니다.

     

    3. ANA1 태그의 초기값에 500을 입력합니다.

    15시 00분 ANA1의 값이 500 입니다. 15시 적산값은 15시00분 ~ 15시59분까지의 총 증가량이 찍히게 됩니다.

     

    4. 500에서 값이 200으로 감소하였습니다.

     

    5. 보고서를 출력하고 데이터를 확인 합니다.

    65526이라는 값이 표기된 것을 확인할 수 있습니다.

    ANA1의 값이 500에서 200으로 줄어들어 총 300이라는 값이 줄어들었으나 표기된 값이 65236인 이유는

    값이 줄어든 경우에 사용되는 별도의 식이 존재하기 때문입니다. 해당 식은 다음과 같습니다.

    65535 + 1 – 줄어든값 = 보고서에 찍히는 값

    해당 식을 위의 예시에 적용할 경우

    65535 + 1 – 300= 65236

    이므로 보고서 파일에 65236이 기록됩니다.

     

    정상적으로 값이 계속 증가하는 경우에는 위의 식이 적용되지 않으며, 증가한 만큼의 데이터만 기록됩니다.

     

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

    감사합니다.

  •  

       Q: 데이터베이스 경보태그의 발생 동작에 명령식을 한 개 이상 사용 할 수 있나요?

    A: 세미콜론을 이용하여 사용 가능 합니다. 

     

    1. 먼저 데이터베이스에서 경보태그를 만듭니다.

    1. 경보태그에서 발생동작을 지정 합니다.

    여기에서 가장 중요한 부분은 명령식을 쓰고 난 뒤에 다른 명령식을 쓸 때 ;;을 붙여줘야 합니다. 한 개가 아닌 두 개를 붙여줘야 적용이 됩니다.

     

    예시로 디지털태그를 1로 만드는 명령식을 사용 했지만 실제로는 일반 함수들도 사용이 가능 합니다.

     

     

     

     

     

  • 트렌드 그래프 이동중 과거의 데이터를 트렌드 그래프로 확인 할 경우 사용방안입니다.

    데이터 수집이 등록된 값들을 통하여 히스토리컬 트렌드를 구성할 수 있습니다.

    아래와 같은 방법을 이용하여 구성하시길 바랍니다.

     

    [예제]

    1)트렌드에 표시될 태그를 생성합니다.

    2)도구 – 데이터수집 으로 이동 하여 데이터 수집 모델을 설정 및 생성합니다.

     

    3)태그  (히스토리컬 트렌드 그래프에 표시될 태그)의 편집창으로 이동하여 고급설정의 데이터수집 체크 및 모델을 선택 합니다.

    4)고급 – 트렌드 선택 하여 트렌드 오브젝트를 생성합니다.

    5)트렌드 오브젝트의 펜설정에서 태그 등록 후, 도구모음설정에서 도구모음표시 선택 하여 등록합니다.

     

    6)CimonX 실행 후 트렌드 설정된 페이지로 이동합니다.

    7)설정된 태그값의 이동에 따라 트렌드 그래프 동작을 확인 합니다.

     

    8)하단 도구모음의 버튼을 선택 하여 히스토리컬 트렌드 모드로 이동합니다.

    9)히스토리컬 트렌드 모드로 동작되며,

    앞주기, 뒤주기, 마우스 선택을 통하여 선택된 시간의 데이터 값을 그래프를 통하여 확인 할 수있습니다.

     

     

    [주의사항]

    히스토리컬 트렌드를 사용할 경우 반드시 등록된 태그는 데이터 수집 등록이 되어있어야 합니다.

    ( SCADA ver3.04 “Historical trend” 첨부)

    이점 유의 하여 사용바랍니다.

     

    다운로드
  • Q:  태그가 어디에 속해 있는 지, 언제 동작하는 지 궁금합니다.

    A:   아래 그림과 같이 CimonD 실행 후 [도구]-[크로스 레퍼런스]에서 관련 정보를 확인할 수 있습니다.

    – 단, 임의의 페이지(.PGX)를 Open한 상태일 때만  [크로스 레퍼런스] 항목이 활성화됩니다.

     

     

     

    * 크로스레퍼런스(CrossReference)란,

    – 작화 프로젝트에서 사용 중인 태그들이 배치된 위치를 확인을 할 수 있는 기능을 제공하는 도구입니다.

    – 사용자가 작업 중인 프로젝트의 모든 페이지와 모듈에 포함된 태그 정보를 확인할 수 있습니다.

     

    [예제]와 함께 설명해드리겠습니다.

    – 데이터베이스에 등록된 (전체) 태그 목록입니다.

     

    – ‘크로스 레퍼런스’ 창을 열었을 때 모습입니다.

    : Designer 모듈(‘경보내용’/’경보태그1’/’경보태그2’/’경보태그3’)과 Script 모듈(‘경보확인’)에서 데이터베이스에 등록된 태그 5개를 전부 확인할 수 있습니다.

    : ‘대상‘ 옵션을 사용하면 리스트를 ‘모듈별’ 또는 ‘페이지별’로 구분하여 나타낼 수 있습니다.

    : 특정 태그가 궁금할 경우 ‘검색 태그‘에 해당 태그의 이름을 입력한 후 우측에 ‘ 검색’ 버튼을 누르시면 됩니다.

    : 검색 결과, 태그 이름과 함께 해당 태그가 속해 있는 1) 페이지, 2) 오브젝트, 3) (오브젝트의) 기능[-> 태그 동작] 에 대한 정보를 확인할 수 있습니다.

     

    : 위 그림의 빨간색 박스 안 태그(‘경보태그1‘)의 경우,

    PAGE 2‘ 페이지 내 ‘그림4‘ 오브젝트에 속해 있으며 해당 오브젝트를 ‘터치‘할 경우 ‘디지털값쓰기‘ 동작이 수행됨을 알 수 있습니다.

     

    * 제한 사항

    – 작화에 설정된 태그 수가 많으면, 크로스 레퍼런스 실행 시 약간의 부하가 걸릴 수 있습니다.

    시스템 페이지의 경우 크로스 레퍼런스의 태그 수집 / 일괄변경/ 위치 확인 기능을 사용할 수 없습니다.

    레이블이 설정된 스위치/램프와 관련된 태그는 크로스 레퍼런스에서 확인할 수 없습니다.

    – 스마트 라이브러리 각 항목당 사용된 동일한 태그들은 크로스 레퍼런스 목록에 단일항목으로 표시됩니다.