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

    CIMON입니다.

     

    SCADA 상에서 Ethernet/Serial 컨버터(터미널 서버)를 사용하여 통신하고자 할 때, 사용자 프로토콜(Ethernet)을 작성한 후 사용 가능합니다.

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

     

    [적용 방법]

    본 예제에서는 Serial Gate 제품 SG-1020/All 모델을 이용하였으며,

    기본으로 설정되는 IP 어드레스는 각각 Serial Gate IP: 192.168.0.223 / SCADA IP: 192.168.0.10입니다.

    1. 네트워크를 다음 그림과 같이 구성합니다.

     

     

    2. 모든 장비가 연결된 상태에서, 인터넷 주소창에 Serial Gate IP 어드레스(192.168.0.223)를 입력한 후 설정을 확인합니다.

    3. PC에 가상 COM 포트를 연결하기 위하여 Serial Gate에서 제공하는 ‘COM Redirector control’ 프로그램을 실행 후,

    다음과 같이 설정합니다.

    4. PLC가 Modbus RTU 프로토콜을 통해 SCADA과 통신하기 위해서는 사용자 프로토콜을 직접 작성 후 사용하여야 합니다.

    CimonD을 실행한 후, [도구]-[I/O 디바이스]를 선택합니다.

    디바이스 종류를 ‘㈜싸이몬 사용자 프로토콜(Ethernet)’으로 하여 사용자가 임의로 Modbus RTU 프레임을 구성할 수 있습니다.

     

    5. 통신포트를 다음과 같이 설정합니다.

    소켓 포트번호는 임의의 1000으로 지정한 후, SCADA가 설치된 PC의 IP 어드레스를 입력합니다. 이후 통신방식을 TCP로 설정합니다.

     

    6. 스테이션을 추가합니다. 이 때 IP 어드레스는 Serial Gate(터미널 서버)의 IP 어드레스를 입력합니다.

     

    7. Modbus RTU 프레임을 정의합니다. 다음 프레임은 1번 국번의 403073 어드레스에서 1 Word의 데이터를 가져와 M0에 저장하는 프레임입니다.

    ※ Modbus RTU 프로토콜의 프레임은 CimonD에서 도움말을 참조하여 주시기 바랍니다.

    8. 데이터베이스에서 값을 감시할 태그를 생성합니다.

    사용자 프로토콜에서 지정한 M0을 I/O 어드레스로 입력하여 실태그로 지정합니다.

     

     

     

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

    감사합니다.

     

  • 안녕하세요.

    CIMON입니다.

     

    SCADA에서 키패드를 직접 제작하고자 하실 경우, 화면 편집 후 스크립트로 구현하는 것으로 가능합니다.

    다음 예제를 참고하여 주시기 바랍니다.

     

    [적용 방법]

    1. 다음과 같이 키패드 페이지를 작성합니다.

    2. 데이터베이스에서 문자열 태그 ‘SELECT’, ‘VALUE’, ‘D0’을 생성합니다.

    3. 키패드 버튼을 다음과 같이 정의합니다.

    [터치]-[동작정의]에서 ‘명령식’ 선택 후, 각 버튼에 해당되는 명령식을 입력합니다.

    ex)

    0 버튼:
    SELECT = 0;
    Runscript(“Insert”)

    1 버튼:
    SELECT = 1;
    Runscript(“Insert”)

    9 버튼:
    SELECT = 9;
    Runscript(“Insert”)

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

    A 버튼:
    SELECT = “A”;
    Runscript(“Insert”)

    B 버튼:
    SELECT = “B”;
    Runscript(“Insert”)

    4. [도구]-[스크립트]에 진입하여 스크립트를 작성합니다.

    Sub Insert()

     

    Data$ = Gettagval(“SELECT”)                                   ‘태그의 값을 받아 Data$에 저장합니다.

     

    If Len(Gettagval(“VALUE”)) > 0 then                       ‘Value태그 값의 총 길이를 리턴합니다.

    Value_Data = Gettagval(“VALUE”)

    Current_Data = Gettagval(“SELECT”)

    Settagval “VALUE”, Value_Data + Current_Data

    End if                                                                                    ‘Value태그 값의 총 길이가 0보다 클 경우 Value와 Select 태그의 값을 더한 후 Value 태그에 다시 입력합니다.

     

    If Len(Gettagval(“VALUE”)) = 0 then                      ‘Value태그 값의 총 길이가 0일 경우 Value 태그값을 입력합니다.

    Settagval “VALUE”, Data$

    End if

     

    End Sub

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

    아래 그림과 같이 스크립트를 등록합니다.

    5. ‘수정’ 버튼을 다음과 같이 정의합니다.

    [터치]-[동작정의]에서 ‘명령식’ 동작 선택 후, ‘Runscript(“Delete”)’를 입력합니다.

    6.

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

    Sub Delete()

     

    Total_Value = Gettagval(“VALUE”)                         ‘Value태그의 값을 받아 Total_Value에 저장합니다.

     

    Len_Value = Len(Gettagval(“VALUE”))                  ‘Value 태그값의 총 길이를 구합니다.

     

    Left_Value = Left(Total_Value, Len_Value – 1)      ‘Value 태그값의 총 길이에서 -1값을 한 데이터를 취득합니다.

    Settagval “Value”, Left_Value

     

    End Sub

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

    아래 그림과 같이 스크립트를 등록합니다.

    7. ‘삭제’ 버튼을 다음과 같이 정의합니다.

    [터치] – [동작정의]에서 ‘명령식’ 동작 선택 후, ‘VALUE = “”’을 입력합니다.

    8. ‘확인’ 버튼을 다음과 같이 정의합니다.

    [터치] – [동작정의]에서 ‘명령식’ 동작 선택 후, ‘Runscript(“Enter”)’를 입력합니다.

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

    Sub Enter()

     

    Settagval “D0”, Gettagval(“VALUE”)                    ‘D0 태그에 Value태그의 값을 받아 입력합니다.

    Settagval “VALUE”, “”                                                ‘Value 태그 값을 리셋합니다.

     

    End Sub

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

    아래 그림과 같이 스크립트를 등록합니다.

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

    각 키패드 버튼을 눌렀을 때 해당되는 숫자 및 문자가 입력됩니다.

    ‘수정’ 버튼으로 입력문자를 우측부터 지울 수 있습니다.

    ‘삭제’ 버튼으로 입력문자를 전체 삭제할 수 있습니다.

    ‘확인’ 버튼으로 입력문자를 ‘D0’ 태그에 쓸 수 있습니다.

     

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

    감사합니다.

  • 안녕하세요.

    CIMON입니다.

     

    SCADA에서 캡쳐한 페이지를 다른 페이지에서 표시하고자 할 때,

    CaptureEx 함수 및 OxMethod 함수를 이용하여 스크립트를 작성하는 것으로 구현할 수 있습니다.

     

    [함수 설명]

    CaptureEx 현재 화면의 지정한 범위를 jpg 포맷의 파일로 저장합니다.
    명령함수명 명령식 표기 CaptureEx(“X,Y,Width,Height”,”파일 경로 이름”)
    스크립트 표기 CaptureEx“X,Y,Width,Height”,파일 경로 이름”
    기능 현재 화면의 “X,Y,Width,Height” 로 지정한 영역을 “파일 경로 이름” 에 jpg 포맷의 파일로 저장합니다.
    사용 예제 현재 화면의 X좌표 100, Y좌표 100부터 너비 500픽셀, 높이 500픽셀의 이미지를 C 드라이브에 CaptureEx1.jpg 파일로 저장합니다.

    명령식 표기: CaptureEx(“100, 100, 500, 500”, “C:\CaptureEx1.jpg“)

    스크립트 표기: CaptureEx “100, 100, 500, 500”, “C:\CaptureEx1.jpg

     

    OcxMethod ActiveX에 동작을 명령할 때 사용합니다.
    명령함수명 명령식 표기 OcxMethod(“Object 이름”,”Method 이름”,데이터)
    스크립트 표기 OcxMethod“Object 이름”,”Method 이름”,데이터
    기능 ActiveX에 동작을 명령합니다. “Method 이름” 은 업체에서 제공하는 ActiveX의 Event Message List를 참조합니다. Method에 따라 데이터는 문자열로 입력할 수도 있습니다.
    사용 에제 “C:\SCADA3.90\Image.jpg” 이라는 데이터를 이름이 “ActiveX” 인 ActiveX 오브젝트에 Navigate 되도록 명령합니다. (Microsoft Web Brower 사용 시)

    명령식 표기: OcxMethod(ActiveX”,”Navigate”,”C:\SCADA3.90\Image.jpg”)

    스크립트 표기: OcxMethod ActiveX”,”Navigate”,”C:\SCADA3.90\Image.jpg”

     

     

    기능 구현 방법은 다음 예제를 참조하여 주시기 바랍니다.

     

    [적용 방법]

    1. [도구]-[CimonX 환경]에서 CimonX의 윈도우 형태를 설정합니다. 메뉴, 도구모음, 화면 제목을 모두 숨김 처리합니다.

    2. 데이터베이스에서 문자열 태그 ‘JPG이름’을 생성합니다.

    3. 팝업 페이지를 편집 후, 이름을 ‘POPUP’으로 지정합니다. 팝업 페이지를 여는 버튼 오브젝트를 다음과 같이 생성합니다.

     

    4. 팝업 페이지의 실행 위치를 다음과 같이 지정합니다.

    5. ActiveX 오브젝트를 생성합니다.

    [편집]-[ActiveX 삽입]을 클릭한 후 ‘Microsoft Web Browser’를 선택합니다.

     

    6. ActiveX 오브젝트의 그림 설정 화면으로 진입하여, 오브젝트의 이름을 ‘그림’으로 지정합니다.

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

     

     

    Sub Script1()

     

    C_Year = Timestr(50)

    C_Month = Timestr(51)

    C_Day = Timestr(52)

    C_Hour = Timestr(53)

    C_Min = Timestr(54)

     

    Total_Time = C_Year + C_Month + C_Day + C_Hour + C_Min                ‘JPG 이름은 변수에 YYYYMMDDhhss 형식으로 저장됩니다.

     

    Settagval “JPG이름”, Total_Time                                                                        ‘JPG이름 태그의 Total(YYYYMMDDhhss) 값을 저장합니다.

     

    JPG이름 = “D:\” + Gettagval(“JPG이름”) + “.jpg”                                           ‘변수 JPG이름의 리턴값은 D:YYYYMMDDhhss.jpg입니다.

     

    CaptureEx “0, 0, 200, 200”, JPG이름                                                                ‘cimonx 화면좌표 (0,0) 크기 200*200만큼의 화면을 캡쳐하여 D:YYYYMMDDhhss.jpg으로 저장합니다.

     

    sleep(300)

     

    OcxMethod “그림”, “Navigate”, JPG이름                                                          ‘그림 오브젝트에 캡쳐화면을 표시합니다.

     

    End sub

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

    아래 그림과 같이 스크립트를 등록합니다.

     

    8. 팝업 페이지에서 화면을 캡쳐하는 버튼 오브젝트를 다음과 같이 설정합니다.

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

     

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

    팝업 페이지를 실행하는 버튼을 클릭 후, 팝업 페이지 내의 ‘캡쳐’ 버튼을 클릭하였을 때 ActiveX 오브젝트에 지정된 위치 및 크기의 팝업 페이지가 표현됩니다.

     

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

    감사합니다.

     

     

  • 안녕하세요.

    CIMON입니다.

     

    스크립트 상에서 DateSerial 함수와 DateAdd 함수를 사용하여 전 월의 말일을 출력할 수 있습니다.

    다음의 예제를 참고하여 주시기 바랍니다.

     

    [예제]

    1. 데이터베이스에서 문자열 태그 ‘말일’을 생성합니다.

     

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

    Sub EMonth()

    Dim sDate#

    sDate# = DateSerial(YYYY, M, 1)                                      ‘당 월 1일

    eDate# = DateAdd(“d”, -1, sDate#)                                   ‘당월 1일에 -1일(전 월 말일)

    endDate$ = Format(eDate#, “YYYY 년MM월DD일”)   ‘문자열 변환

    SetTagVal “말일”, endDate$                                               ‘말일 문자열태그에 Write

     End Sub

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

    DateSerial(YYYY, M, D) 함수에는 금월의 1일 날짜를 입력합니다.

    DateAdd 함수의 “d”는 하루 단위를 의미하며, -1은 -1d(일)을 의미합니다.

    sDate#의 시간값에서 -1일 한 값을 endDate에 문자열 형태로 저장합니다.

    아래 그림과 같이 스크립트를 등록합니다.

     

    3. 버튼 오브젝트를 생성한 후, [동작정의]에서 ‘명령식 동작’을 선택하고 ‘RunScript(“EMonth”)’를 입력합니다.

    4. CimonX를 실행 후, 버튼을 클릭하면 문자열 태그에 전월의 말일 날짜가 출력되는 것을 확인할 수 있습니다.

     

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

    감사합니다.

  • 안녕하세요.

    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이 되겠습니다.

    감사합니다.

  • 안녕하세요.

    CIMON입니다.

     

    아래와 같은 예제를 참고하여, XPANEL과 장비의 통신 상태를 확인할  수 있습니다.

    [예제]   

    예제는 특정 영역의 값이 카운터 되거나 주기적으로 값이 변경되는 영역이 있을 경우, 영역에 값을 주기적으로 비교하여 통신 상태를 확인합니다.

    D0의 영역이 0.2초를 주기로 값이 증가하고 있을 때 이 값이 변하지 않고, 유지되는 상태라면 통신이 되지 않는 상태임을 확인할 수 있습니다.

     

    (1) 주기적으로 변하는 D0 영역 태그와 통신 상태 확인을 위한 태그를 생성합니다.

    (2) 통신 상태를 확인하는 스크립트를 생성합니다.

    도구(T)-스크립트 메뉴를 선택합니다.

    스크립트 추가 버튼을 클릭한 후 실행방식을 자동으로 하여 스크립트를 생성합니다.

    (3) 추가된 스크립트에 아래와 같은 내용을 작성합니다.

    Var CommBuffer; //변수선언
    CommBuffer = D0; //이전 데이터 초기화 작업
    While (1)
    {
    If ( D0 == CommBuffer) //이전 데이터와 현재 데이터가 같을 경우
    {
    COMMSTATUS = 1; //통신이상
    }
    Else //이전 데이터와 현재 데이터가 다를 경우
    {
    COMMSTATUS = 0; //통신 정상
    CommBuffer = D0; //이전 데이터 초기화
    }
    Sleep(5000); //5초를 주기로 하여 데이터를 비교
    }

     

    (4) COMMSTATUS의 태그 상태를 표현하기 위해 오브젝트를 생성합니다.

    통신 이상 상태일 때, 오브젝트가 출몰 및 점멸 기능이 동작합니다.

    (5) XPANEL에 쓰기 및 실행 합니다.

    통신 이상이 발생했을 했을 때 아래와 같은 화면이 나타나게 됩니다.

     

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

    감사합니다.

     

    #통신 상태

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

    다음은 XPANEL과 A1SJ71UC24-R4(A2SH CPU) 간의 통신을 설정하는 예제입니다.

     

    1.      A1SJ71UC24-R4 딥스위치를 아래와 같이 설정합니다.

     

    1)      Mode Setting Rotary Switch 설정

    Mode Setting Rotary Switch 설정 번호

    설정내용

    5

    프로토콜 모드 형식 1

     

    2)      Communication Setting Dip Switch 설정

    DIP Switch

    설정

    설정내용(ON / OFF)

    SW01

    OFF

    미사용

    SW02

    ON

    Computer Link

    Computer Link / Multiple Link

    SW03

    OFF

    미사용

    SW04

    ON

    Run 중 쓰기 설정 가능

    Run 중 쓰기 설정 불가

    SW05

    OFF

    전송 속도 설정

                            300 / 600 / 1200 / 2400 / 4800 / 9600 /19200

    SW05      Off  / On   / Off     / On     / Off     / On     / Off

    SW06      Off / Off   /  On     / On     / Off     / Off     / On

    SW07      Off / Off   /  Off     / On     / On     / On     / On

    SW06

    ON

    SW07

    ON

    SW08

    ON

    데이터 비트 설정 8

    데이터 비트 설정 7

    SW09

    OFF

    패리티 비트 설정 유

    패리티 비트 설정 무

    SW10

    OFF

    패리티 비트 설정 2

    패리티 비트 설정 1

    SW11

    OFF

    스톱비트 설정 2

    스톱비트 설정 1

    SW12

    ON

    BCC 설정 유

    BCC 설정 무

    3)      Station Setting Rotary Switch 설정

    Station Setting Rotary Switch설정

    설정내용(ON / OFF)

    X10

    0

    시리얼 통신 카드 국번 0 번

    X1

    0

     

    2. 딥스위치 설정 후 PLC  전원 리셋 해주시기 바랍니다.

    3. PLC와 XPANEL를 다음 그림과 같이 결선합니다.

    4.      다음과 같이 Xpanel Designer 를 설정합니다.

    1)      I/O디바이스 통신포트 설정

    디바이스 목록 : MITSUBISHI MELSEC 1C (ACPU)

    통신포트 : XPANEL  제품 422/485 Com Port

    Parity : None

    Data Bits : 8Bits

    Stop Bit(s) : 1Bit

    RTS/CTS : OFF

    통신방식 : RS422

    2)      I/O디바이스 스테이션 설정

                 통신보드 국번 : 0 (Station Setting Rotary Switch 설정과 동일 하게 설정)

     

    5. 데이터 베이스에 ‘해당 디바이스.스테이션‘으로 태그를 등록 후 페이지에 태그값 오브젝트를 등록합니다.

    6. 태그값 오브젝트에 등록된 태그를 등록한 후 프로젝트를 다운로드 하여 정상적으로 통신이 되는지 확인합니다.

     

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

    감사합니다.

     

  • 안녕하세요.

    CIMON입니다.

     

    다음의 예제로 경보기능을 응용하여 XPANEL의 페이지를 전환 할 수 있습니다.

     

    [사용 예제]

    페이지 전환

    XpanelDesigner를 실행하여 새 프로젝트를 등록합니다.

    등록 후 [메뉴] – [도구] – [데이터 베이스] 를 클릭한 뒤 아날로그 태그 ‘ANA_00’을 다음 그림과 같이 등록합니다.

     

    원하는 페이지 수만큼 페이지를 생성하고 등록합니다.

    다음 그림에서는 생성된 3 개의 페이지중 페이지 1을 표시하였습니다.

    메뉴에서 – [도구] – [경보] 를 선택합니다.

    경보 화면에서 변경 기준으로 사용될 태그 이름, 조건, 비교값의 원하는 값을 [Tag Operation]에 입력합니다.

    [경보발생 동작]에는 ‘페이지 열기’를 선택하고 [발생 동작 변수]에는 전환하고자 하는 페이지를 등록합니다.

    (예제는 ANA_00 = 0 일 때 PAGE1 번으로 전환하고자 등록한 것입니다.)

     

    다음과 같이 총 3개의 페이지 전환 기능이 등록 합니다.

     

    모든 설정이 완료되었습니다. 정상적으로 페이지 전환이 이루어 지는지 시뮬레이터 기능을 통하여 확인합니다.

    [메뉴] – [도구] – [시뮬레이터 실행]을 선택합니다.

    아래와 같이 기본 화면이 나타납니다. 현재 ANA_00 태그 값이 ‘0’이므로 1 페이지를 표시합니다.

     

     

     

    ANA_00 태그 값이 1 로 변경될 때 PAGE 2 번으로 화면이 전환됩니다.

     

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

    감사합니다.

     

    #페이지 전환 #경보 응용

     

  • 안녕하세요.

    CIMON입니다.

    아래의 함수를 사용하면 Beep 음을 울리게 할 수 있습니다.

    StaticBeepCtrl(R1)

    R1이 0이 아닌 경우 Beep 음이 발생하고, 0이면 Beep 음이 꺼지게 됩니다.

     

    다음은 함수를 이용한 활용 예제입니다.

    1. [도구] – [경보]를 클릭합니다.

    2. 태그 이름과 경보 내용을 입력합니다.

    3. 경보 발생 조건을 설정합니다. ( e.g. ANA1 > 100 )

    4. 경보 발생 동작을 ‘명령식’ 으로 설정합니다.

    5. 발생 동작 변수에 ScriptBeepCtrl(1)을 입력합니다.

    6. 경보 해제 동작에 ScriptBeepCtrl(0)을 입력합니다.

    위와 같이 설정을 한 뒤, 경보를 등록합니다.

    ANA1의 값이 100보다 커지면 Beep음이 발생하고, 100 이하가 되면 Beep음이 해제됩니다.

     

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

    감사합니다.

    #Beep #비프

     

  • 안녕하세요.

    CIMON입니다.

     

    PulseOn 내부함수를 명령식 또는 스크립트로 사용하면 특정 태그를 ON으로 출력한 후, 일정 시간 후에 다시 OFF 전환할 수 있습니다.

    다음 함수 설명을 참조하여 주시기 바랍니다.

    PulseOn 지정된 태그를 주어진 Pulse 폭만큼 ON 출력한 후, OFF로 전환합니다.
    명령함수 명령식 표기 PulseOn(태그이름”, Pulse폭)
    스크립트 표기 PulseOn태그이름”, Pulse폭
    기능 지정된 태그를 지정한 Pulse 폭 (msec 단위)만큼 Pulse ON 출력합니다.
    사용 예제 “TEST” 태그를 1초동안 ON(1)출력한 뒤 다시 0(OFF)을 출력합니다.

    명령식으로 사용할 때: PulseOn(“TEST”,1000 )

    스크립트 내에서 사용할 때: PulseOn“TEST”,1000

     

    [적용방법]

    1. 데이터베이스에서 디지털 태그 ‘TEST’, ‘TEST1’을 생성합니다.

     

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

    ‘TEST’ 태그가 1일 때 ‘TEST1’ 태그를 1초동안 ON 시킨 후 OFF 시키는 스크립트입니다.

    Sub Pulse()

    A= GetTagval(“TEST”) ‘TEST라는 태그를 A변수로 설정합니다

    if A = 1 then       ‘A 변수   값이 1일 때

    PulseOn “TEST1”, 1000   ‘TEST1 태그를 1초동안 ON시킵니다. (2000으로 했을시 2초)

    end if

    End Sub

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

    아래와 같이 스크립트를 등록합니다.

    
    

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

    TEST 태그의 값이 1일 때 스크립트를 동작시키면, TEST1태그의 값이 1초 동안 ON으로 출력되었다가 다시 OFF로 전환됩니다.

     

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

    감사합니다.