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

    CIMON입니다.

     

    소수점 뒷자리가 길 때 자르고 싶으시다면 스크립트로 해결하실 수 있습니다.

     

    Sub main()

    Dim L As Double
    Dim M As Double

    for i = 1 to 8 ‘8개의 태그를 적용시키기 위해 8까지 반복문을 적용합니다.
    tagname$ = “FLOAT” & i ‘태그이름을 변수로 만듭니다.
    StrRecord = FormatStr(“%0.3f “, 1, GetTagVal(tagname) ) ‘실수인 태그값을 소수점 뒤 3자리까지 자릅니다.
    L = Left(StrRecord , instr(1,StrRecord, “.”) – 1)
    M = Right(StrRecord, len(StrRecord) – instr(1, StrRecord, “.”))
    setTagval tagname, L+(M/1000)
    next

    End Sub

     

    이렇게 하신다면 변수이름이 규칙적일 때 적용하여 사용하실 수 있습니다.

     

    예를 들어, 원래의 소수점 이하의 자리수가 길 때의 태그들이 아래와 같이 있습니다.

    태그들은 당연히 트렌드판넬편집기에서 길게 나오게 되는데 이것을 자르고 싶다면,

    위의 스크립트를 작성하시고

    CimonX를 실행시킵니다.

    소수점 이하 자리수가 원하는 만큼 잘려서 나오게 됩니다.

     

     

     

     

     

     

  • Q: 디지털 입력신호가 몇 분 동안 가동 되었는지 확인 하려면 어떻게 해야 하나요

    A: 보고서를 이용하여 가동시간을 출력 할 수 있습니다.

     

    1. 먼저 디지털 태그를 생성하고 보고서용 데이터 생성에 체크를 합니다. 보고서 사용시 반드시 보고서용 데이터 생성에 체크를 해야 합니다.

     

    2. CimonD – 도구 – 보고서에 들어가서 보고서 양식으로 사용할 양식을 등록하고 저장경로를 설정 합니다.

    3. 보고서 태그등록을 합니다.

    이렇게 설정을 하면 아침 9시에 보고서 파일이 생성되며 엑셀파일의 A1셀과, B1셀에 어제 오후 7시부터 8시까지의 가동시간이 분단위로 입력되어 나오게 됩니다.

     

    도움말에 TLogVal을 검색하면 보고서에서 사용 할 수 있는 시각 값과, 값 종류가 자세하게 나와 있습니다. 참고 하시면 됩니다.

  • 안녕하세요.

    CIMON입니다.

     

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

     

    1. 태그편집 설정 

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

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

     

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

     

    2. 데이터 수집 기능 이용 

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

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

     

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

    감사합니다.

    # 종료시 태그값 저장

  • 예를 들어 데이터 수집을 주기적으로  제어 또는 CimonX 운영중 수동으로 제어하고 싶을 경우 사용방안입니다.

    EnableDatalog 함수를 이용하여 제어 가능합니다.

    아래와 같은 방법을 이용하여 구성하시면 됩니다.

     

    [예제]

    1)CimonD 에서 태그를 생성합니다.

    (아날로그 태그 a1, a2, a3, a4, a5, a6 생성)

    2)데이터 수집 설정 합니다.

    (데이터 수집 모델 2개 생성 “a1_3”, “a4_6”)

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

    4) 동작정의 – 명령식 –   EnableDataLog(“a1_3”,0)   작성 합니다.

    5) CimonX 실행 후 버튼오브젝트 “a1_3 데이터수집모델 정지” 클릭합니다.

    6) “a1_3 데이터수집모델 정지” 버튼 오브젝트 선택시 a1_3 모델에 해당되는 데이터수집이 정지된것을 확인 할  수 있습니다.

     

     

    ※ 주의 사항

    수집데이터 시트를 통하여  모델에 등록된 태그 값이 데이터 수집모델 정지시점의  마지막 값으로 표현됨을 확인 할 수있습니다.

    (SCADA ver3.04 샘플 프로젝트”EnableDataLog” 첨부)

    이점 참고 하시어 사용바랍니다.

     

     

     

     

    다운로드
  • 예를들어 섭씨온도의 데이터를 계산을 통하여 화씨온도의 값으로 표현 할 경우 사용방안입니다.

    실제 장비의 데이터값을 가져와  Sclae, Offset 을 이용하여 자동계산 할 수 있습니다.

    아래와 같은 방법을 이용하여 구성하시면 됩니다.

     

    [예제]

    1)CimonD에서 데이터베이스 창으로 이동합니다.

    2) 태그 추가를 아래와 같은 방법으로 등록합니다.

    ( D0010 동일 어드레스를 사용하는 Celsius 아날로그 실태그, Fahrenheit아날로그 실태그)

     

    3) Fahrenheit 아날로그 태그편집창의  고급설정으로 이동하여 Scale에 1.8 입력, offset에 32 입력 합니다.

     

    4) CimonX 실행 합니다.

    5)  Celsius 태그에 10을 입력 할 경우 아래와 같이 Fahrenheit 태그의 값이 50으로 계산됨을 확인 할  수있습니다.

     

     

    ※ 주의 사항

    Scale 및 Offset 을 설정할 경우 내부데이터의 디폴트 최소값은 -100, 최대값은 100입니다.

    이를 원치 않으실 경우 CimonD 에서 내부데이터 최소, 최대값 변경 가능합니다.

     

  • 안녕하세요.

    CIMON입니다.

     

    해당 기능은 Script를 이용하여 매우 쉽게 구현할 수 있습니다.

    • 페이지 자동 전환 기능을 구현하기 위한 Script 작성 예시.

    위 예시에 구현되어 있듯이 OpenPage 와 ClosePage를 이용하여 Page 열고 닫음을 제어할 수 있습니다.

    ( 위 예시는 3초마다 PAGE 1 부터 PAGE 5 까지 순차적으로 열고 닫음을 반복 )

    OpenPage와 ClosePage 사이의 Sleep은 페이지가 열려있는 시간을 조절할 수 있습니다.

     

    위 예시의 STOP Tag는 Do while ~ Loop 문을 멈추게 하기 위한, 즉 페이지 자동 전환 기능을 멈추는 조건이 됩니다.

    STOP Tag가 1이 되면 해당 Do while ~ Loop 문은 종료 되고 Script 또한 종료 됩니다.

     

    해당 Script를 특정 오브젝트 속성에서 Runscript 함수를 이용하여 호출하거나, 특정 Tag의 속성 중 Tag값 변경 시 명령식 동작 기능으로 Script를 실행 시킬 수 있습니다.

     

    1. 특정 오브젝트의 터치 동작을 이용하여 Script를 실행 시키는 방법.

    • 페이지에 특정 오브젝트를 생성하고 오브젝트 속성 중 “터치” 시 동작 정의에 위와 같이 Runscript 명령식을 실행하면 Script를 실행시킬 수 있습니다.

    위와 같이 설정된 오브젝트는 CimonX에서 터치(마우스 클릭) 시마다 스크립트가 실행됩니다.

     

    2. Tag값 변경 시 Script를 실행 시키는 방법

     

    • 위와 같이 태그값 속성의 “태그값 변경시 태그 동작을 실행함” 과 “태그 동작을 지정함”을 체크 하면 좌측 화면의 “태그 동작” 탭이 생깁니다.

    태그 동작 안에 Runscript 명령식을 이용하여 Script를 실행 시켜줍니다. (태그값 변경 시마다 스크립트 실행됨)

     

    페이지 제어 관련 스크립트 함수는 도움말의 스크립트 명령식을 참조 하시기 바랍니다.

     

    첨부 파일 : 해당 기능을 구현항 샘플 프로젝트.

    샘플 프로젝트는 SCADA v3.50 으로 만들어졌으며 SCADA 3.50은 자료실에서 다운로드하실 수 있습니다.

     

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

    감사합니다.

     

    #페이지 전환  #화면 전환 #스크린 세이버 #screen saver

  • Q:  PLC 메모리 내 Raw Data를 실제 현장에서 사용하는 단위(혹은 범위)계에 부합하도록 가공하여 SCADA에 표현하고 싶어요.

    A:  아래 그림과 같이 데이터베이스 [태그편집]창에서  ‘내부데이터’ 및 ‘실데이터’의 최소값/최대값을 설정하시면 됩니다.  지금부터는 이들 사이의 비례관계에 대해 안내해 드리겠습니다.

     

    우선 내부데이터실데이터의 의미입니다.

    • 내부데이터 :  SCADA에 표현되는 아날로그 태그의 데이터 값입니다.
    • 실데이터 :  실제 PLC 메모리 디바이스에 저장되는 데이터 값입니다.

    그리고 이들의 최소값/최대값은 즉, SCADA 내 아날로그 태그 값에 대해 최소 A(실수)에서 최대 B(실수)까지 읽기 혹은 쓰기가 가능하다는 뜻입니다.

    반면, PLC 측면에서는 해당 아날로그 태그의 A부터 B 사이의 값에 대하여 C(실수)부터 D(실수)까지의 값을 메모리 디바이스에 저장합니다.

     

    예]

    위 그림처럼 내부데이터와 실데이터의 최소값/최대값을 설정하였다면,

    PLC에 저장된 데이터 값이  ’50’일 경우 SCADA에서는  ‘0’을 나타내고,  ‘100’일 경우  ’10’을 나타냅니다.

    다시 말해, 아래와 같은 관계가 성립됩니다.

    [ PLC 저장 값 → SCADA 표현 값 ]

    • 50  →  0
    • 55  →  1
    • 60  →  2
    • 65  →  3
    • 70  →  4
    • 75  →  5
    • 80  →  6
    • 85  →  7
    • 90  →  8
    • 95   →  9
    • 100 → 10

     

    이들 관계를 수식으로 표현한다면 다음과 같습니다.

    위 그럼처럼 내부터이터와 실데이터의 최소값/최대값이 각각 A, B, C, D 일 때,

    ( D – C )  ÷ ( B – A ) 를  ‘X’로 가정합니다.

    이 경우  PLC 메모리에 저장되어 있는 값을 ‘Z’라고 한다면[ C ≤ Z ≤ D ],

    SCADA에 표현되는 값은  ( Z – C ) ÷ X + C 가 됩니다.

    ( 또한, 반대로 SCADA에서 해당 태그가 나타내는 값을 ‘Y’라고 한다면[ A ≤ Y ≤ B ],

    실제 PLC 메모리에 저장된 값은  C + X · ( Y – C ) 입니다. )

     

    위 수식을 사용하여 내부데이터 및 실데이터의 최소값/최대값을 설정하시면 현장 상황에 맞게 PLC의 Raw Data를 가공하여 SCADA에 표현할 수 있습니다.

     

     

     

    #PLC #Raw Data #가공 #데이터 #표시 #데이터베이스 #태그편집 #내부데이터 #실데이터 #비례관계 #최소값 #최대값

  • CimonX 운영 중 태그 입력값의 최대범위를 설정하여 사용자별로 내부데이터 범위를 다르게 입력 할 경우 사용 방안입니다.

    cimonX 운영 중 태그의 최대값을 Settagvalex  함수와 태그변수(MAX, MIN)를 이용하여 변경 할 수 있습니다.

    아래와 같은 방법을 이용하여 구성하시면 됩니다.

     

    [예제] 

    1)CimonD에서 스크립트 화면으로 이동합니다.

    2) 스크립트에 아래와 같이 입력합니다.

    Sub maxchange()

    SetTagValex “A1”, “MAX” ,”100″

      ‘A1태그를 태그변수인 MAX 를 이용 하여 내부데이터 최대값을 100으로 변경합니다.

    End Sub

    * 도움말 –  Settagvalex,  태그변수 참고.

    3) 해당 스크립트 등록 후 CimonX 실행합니다.

    4) CimonX 운영 중 “maxchange” 스크립트를 동작 합니다.

    5) 스크립트 동작 후 A1 태그의 내부데이터 최대값은 100으로 설정되어있는 것을 확인 할 수있습니다.

    A1 태그에 200을 입력 할 경우 아래와 같이 오류창이 발생된 것을 확인 할 수있습니다.

     

     

    ※주의 사항

    해당 태그의 최대값은 CimonX 상에서만 변경됩니다.

    역률값 및 Scale 사용할 경우  최대값을 -100 이상 100 이하의 범위의 값으로 설정 할 수 있습니다.

    이점 참고하시어 사용 바랍니다.

     

    #최대값 변경# Settagvalex#태그변수

  • 아래와 같은 방법으로 할 수 있습니다.

    1. 장비A의 값을 저장할 태그를 만듭니다. 태그 설정은 다음과 같습니다.

    1) ‘태그 동작을 지정함’, ‘태그 값 변경 시 태그 동작을 실행함’을 체크합니다.

    2) ‘태그 동작을 지정함’을 체크하면 생성되는 ‘태그동작’ 탭을 클릭한 후 아래와 같이 입력합니다.

    BTAG는 장비B의 값을 저장하는 태그입니다. ATAG의 값을 BTAG에 넣는 연산 식을 등록합니다.

    2. 위의 작업을 마치면 아래와 같이 등록됩니다.

    3. CiMonX 실행 시 장비A의 ATAG 값이 변경될 때마다, 장비B의 BTAG 값에 반영됩니다.

     

    ※주의사항

    위와 같이 설정한 태그의 개수가 많거나, 태그 값의 변화가 빈번한 경우

    시스템에 부담이 되어 성능 저하의 원인이 될 수 있습니다.

     

  • 안녕하세요,

    CIMON입니다.

    Gettime()함수를 응용하면 일정 시간 후 자동으로 로그아웃하는 기능을 추가할 수 있습니다.

    다음은 함수를 이용한 설정 예시입니다.

    ※ 설정 방법

    1. 가상태그 4개를 생성합니다.

     – CURTIME : 현재시간값을 저장할 아날로그 태그입니다.

     – SETSEC : 로그인 후 자동로그아웃 되도록 설정할 시간(초) 아날로그 태그입니다.

     – EXITIME : 자동로그아웃 예상시간 아날로그 태그입니다.

     – LOGBIT : 로그인이 ON 되면  : 1/ 로그아웃되면 : 0 으로 변경될 디지털 태그입니다.

     

    2. 다음과 같이 화면을 구성합니다.

         – LOGONWIN(); 명령식을 사용하면 XPANEL 실행 중 사용자 로그인 창을 열 수 있습니다.

    3. 스크립트를 작성 합니다.

    – 스크립트 설명 (수동 : 로그인되면 동작되는 스크립트입니다.)

    (1) LOGBIT(로그인상태) 를 1로 변경 : 로그인 동작을 수행합니다.

    (2) CURTIME(현재시간)과 SETSEC(설정시간)값을 합하여 EXITTIME(로그아웃예상시간)의 값을 구합니다.

    – 스크립트 설명 (자동 : 1초마다 반복 실행하는 스크립트입니다.)

    (1) LOGBIT(로그인상태)가 1이 되면 오늘 날짜의 시간(초) 값을 CURTIME 태그에 대입합니다.

    (2) CURTIME(현재시간)과 EXITTIME(로그아웃시간)이 같으면 로그아웃합니다.

    4. 새 사용자를 만들고 로그인/로그오프 동작을 아래와 같이 설정합니다.

    5. 이후 XPANEL에 쓰기를 한 다음 사용자 로그인을 하면 설정된 시간이 경과되었을 때 사용자가 자동으로 로그아웃 됩니다.

     ※ 주의사항

           – 위의 자동 로그아웃 설정은 특정 시간이 경과되면 무조건 로그아웃이 되는 동작입니다.

              (Xpanel에서 제어 중에도 시간이 지나면 자동 로그아웃 동작)

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

    감사합니다.

    #XPANEL #사용자 #보안 #사용자보안 #로그인 #로그아웃 #LOGIN #LOGOUT #자동로그아웃 #자동