• 제품선택
  • 스크립트를 사용하여 문자열에서 숫자 또는 숫자에서 문자열로 변환할 수 있습니다.

    아래는 변환 스크립트 예시입니다.

     

    1. 문자열을 숫자로 변환

    2. 숫자를 문자열로 변환

     

    3. FormatStr 함수를 사용하여 변환형식(정수, 실수, 문자열)에 맞추어 변환

     

     

    추가로 다른 변환함수는 아래와 같습니다.

    CDbl
    CDbl(expression)
    Converts any expression to a Double

    Cint
    CInt(expression)
    Converts expression to an Integer

    CLng
    CLng(expression)
    Converts expression to a Long

    CSng
    CSng(expression)
    Converts expression to a single

    CStr
    CStr(expression)
    Converts expression to a String

    Cvar
    Cvar(expression)
    Converts expression to a Variant

     

    첨부된 프로젝트를 참고하시어 스크립트 이용에 도움이 되시길 바랍니다.

    ※해당프로젝트는 SCADA V3.04에서 작성되었습니다.

     

     

     

     

     

     

     

     

     

    다운로드
  • 안녕하세요.

    CIMON입니다.

     

    콤보박스 선택을 통한 트렌드 펜 보임 방법을 설정하고자 할 때, SetPenStatus 내부함수를 이용하여 구현할 수 있습니다.

    다음 예제를 참조 바랍니다.

     

    [사용 예제]

    1. 트렌드에서 표시할 아날로그 태그 네 개와, 콤보박스 선택을 통해 문자열 값을 가져올 문자열 태그를 생성합니다.

    2. 페이지에 트렌드를 삽입합니다. 트렌드 이름은 ‘TREND_PEN’으로 지정하고, 값을 표현할 아날로그 태그들을 등록합니다.

    3. [그림]-[라이브러리]에서 콤보박스를 선택하여 페이지에 삽입합니다.

    문자열 태그를 등록한 후, 선택 항목을 입력합니다. 항목을 선택했을 때 문자열 태그의 값이 해당 항목 문자열로 변경됩니다.

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

    Sub TREND_PEN()

    if (GetTagVal(“PEN”) = “ANA1″) then                                          ”PEN’값이 “ANAn”일 때 트렌드 n번 펜만 보이게 합니다

    SetPenStatus “TREND_PEN”, 0, 1

    SetPenStatus “TREND_PEN”, 1, 0

    SetPenStatus “TREND_PEN”, 2, 0

    SetPenStatus “TREND_PEN”, 3, 0

    elseif (GetTagVal(“PEN”) = “ANA2”) then

    SetPenStatus “TREND_PEN”, 0, 0

    SetPenStatus “TREND_PEN”, 1, 1

    SetPenStatus “TREND_PEN”, 2, 0

    SetPenStatus “TREND_PEN”, 3, 0

    elseif (GetTagVal(“PEN”) = “ANA3”) then

    SetPenStatus “TREND_PEN”, 0, 0

    SetPenStatus “TREND_PEN”, 1, 0

    SetPenStatus “TREND_PEN”, 2, 1

    SetPenStatus “TREND_PEN”, 3, 0

    elseif (GetTagVal(“PEN”) = “ANA4”) then

    SetPenStatus “TREND_PEN”, 0, 0

    SetPenStatus “TREND_PEN”, 1, 0

    SetPenStatus “TREND_PEN”, 2, 0

    SetPenStatus “TREND_PEN”, 3, 1

    end if

    End Sub

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

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

    SetPenStatus 내부함수에 대한 설명은 다음 표를 참조하여 주시기 바랍니다.

    SetPenStatus 트렌드에서 펜의 표시 여부를 지정합니다.
    명령함수 명령식 표기 SetPenStatus(“트렌드 오브젝트 이름”, 펜 번호, 보임/안보임)
    스크립트 표기 SetPenStatus 트렌드 오브젝트 이름”, 펜 번호, 보임/안보임
    기능 트렌드 오브젝트의 지정된 펜을 보이게 하거나(1), 보이지 않게(0) 설정합니다. 펜 번호는 0부터 시작합니다.
    사용 예제 ‘YtTrend’ 트렌드에서 1번 펜을 보이지 않도록 설정합니다.

    명령식 표기: SetPenStatus(YtTrend, 0, 0)

    스크립트 표기: SetPenStatus YtTrend, 0, 0

     

    5. CimonX를 실행하여 동작을 확인합니다. 콤보박스에서 선택한 펜이 트렌드에 표시됩니다.

     

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

    감사합니다.

  •  

    CIMON-SCADA에서 MSGBOX 함수는 스크립트 내에서만 이용할 수 있습니다.

    MSGBOX 함수의 기능은 대화 상자에 메시지를 표시하고 사용자가 단추를 클릭할 때까지 대기한 다음 클릭된 단추를 나타내는 정수를 반환합니다.


    [함수 형식]


    MsgBox “
    메세지”, 버튼 값, “박스 타이틀”, 도움말 파일, Context

     

    1.     메시지 : 다른 모든 것들은 생략 가능하지만 나타내려는 메시지 문자열 은 생략이 불가능하다. 그리고 표시하려는 문자열이 두 줄 이상이면 구분 해야 한다.

    CR(Carriage Return) 문자 Chr(13)과 LF(Line Feed) 문자인 Chr(10)을 이용하여 구분하되 문자열을 합치는 연산자 ‘&’를 사용한다.


    EX>
    Chr(13) & Chr(10)의 형식으로 사용한다.

    Chr()는 ()속의 인자 에 해당되는 ASCII 문자를 반환하는 함수이다.

     

    2.     버튼 값 : 메시지 박스 내에 삽입 가능한 버튼의 종류 및 개수 와 박스 내에 삽입할 아이콘의 종류를 결정하는 중요한 값이다. 정수값 으로 넣을 수도 있고 문자 상수로 넣을수 있다

    메시지 박스 내에 있는 버튼을 누르면 버튼에 해당되는 버튼 값을 리턴 받아서 그에 해당하는 기능을 수행할 수 있도록 한다. 따라서 버튼별로 리턴 되는 값이 다르다.

    눌러진 버튼의 종류별로 리턴 되는 값 도 역시 문자 상수와 정수 값이 존재하는데 어느 것을 사용하여도 무방 하다. 다음 표는 버튼 상수 표와 결과 상수 값에 대한 표이다.



    3.    박스 타이틀 : 이 문자열은 대화상자의 맨 위에 나타나 있는 제목으 로 Caption Bar에 나타난다.

    이 문자열을 생략하면 응용 프로그램(BasicScript)의 이름이 나타난다.


    Ex)
    스크립트 예제

    Sub S()

    Dim sVar As Integer

    sVar = MsgBox(“Las Vegas”)

    sVar = MsgBox(“Las Vegas”,EbOKCANCEL)

    sVar = MsgBox( “Las Vegas”,256 + 16 + 512,”Dialog title”)

    msgbox sVar

    End Sub

     

    #메세지#메세지창#창#메세지박스#알림#MSGBOX

  • 안녕하세요.

    CIMON입니다.

     

    명령식과 스크립트는 태그값 쓰기의 표현 형식 및 내부 함수 사용시 표현 형식에서 차이가 있습니다.

     

    [ 예문]  

     

    1.  태그값 쓰기 (  예를 들어 TAG1  TAG2의  값을 넣을 경우 )  

    ex)

    Sub changevlaue()

    vlaue = gettagval(“TAG1”)

    settagval “TAG2”, value

    end sub

     

    2. 내부함수 사용

    내부 함수를 사용시 명령식은 도움말의 내부함수 표현을 그대로 사용하면 됩니다.  하지만 스크립트의 경우 함수를 사용하여 어떤 값을 쓰거나 지령을 내릴 경우 함수에 괄호가 들어가지 않으며,  그 반대로 값을 불러오거나 상태를 받아올 경우 괄호가 들어 갑니다.

    예를 들어 다음 과 같은 경우 차이점이 발생 합니다.

    1) 트렌드 모드 변경 함수를 이용하여 지령을 내릴 경우

     TrendSetPenVal() 의 자세한 내용은 도움말에 연산식 및 명령식에서 확인하실 수 있습니다.

     – 값 종류에 따라 다음과 같은 Pen에 관련된 값이 설정 됩니다.

    0 : Pen의 이름 (설정값을 문자열로 입력합니다.)

    1 : Pen의 주석 (설정값을 문자열로 입력합니다.)

    2 : Pen에 설정된 최소값

    3 : Pen에 설정된 최대값

    4 : Pen의 연결방법 (0:표시없음, 1:선연결, 2:계단형)


    2) 
    트렌드 모드 함수를 이용하여 펜의 상태를 확인하는 경우

    ※ GetTrendMode()의 자세한 내용은 도움말에 연산식 및 명령식에서 확인하실 수 있습니다.

    – 지정된 Trend Object가 RealTime 트렌드인 경우에는 0을, Historical Trend인 경우에는 1을 출력합니다.

    [T I P] 스크립트 함수와 내부함수의 차이점  

    • 스크립트 : Microsoft 사의 Visual Basic 을 기반으로 만들어진 일종의 컴파일러( 컴퓨터가 인식할 수 있는 언어) 를 사용합니다.  여기서 제공되는 함수를 이용하여Cimon 의 데이터를 접근하여 수정할 수 있습니다.
    • 내부함수( 연산식) : Microsoft 사의 Visual Basic 에서 제공하는 라이브러리를 이용하여 Cimon 을 실행할 때 유용한 함수를 직접 만들어서 Cimon 프로그램 내부에서만 이용할 수 있도록 되어진 함수 입니다.  예를 들어 태그동작이나 터치동작 같은 오브젝트 사용시 동작명령어에 사용할 수 있습니다.  이러한 내부함수는 스크립트 내부에서 사용이 가능합니다.

     

    언제나 고객을 먼저 생각하는 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입니다.

     

    SCADA에 CCTV 화면을 나타내고자 할 때, Html 파일의 경로를 불러오는 방식을 사용할 수 있습니다.

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

     

    웹 상에서 화면을 실행하는 방법은 해당 CCTV 업체의 매뉴얼을 참조하거나, 업체에 문의하여 주시기 바랍니다.

     

    ※ 본 FAQ는 한화 테크윈 네트워크 카메라를 기준으로 작성되었습니다.

    한화 테크윈 CCTV는 현재 ActiveX를 통한 접속이 지원 중단된 상태이며,  2018년 4월1일 이전에 생산된 모델 대상으로만 SCADA에서 영상을 확인할 수 있습니다. 이 점 유의하시어 FAQ 참조 바랍니다.

     

    [적용 방법]

    1. SCADA 에서 영상을 보기 위하여 ActiveX 오브젝트를 생성합니다.

    [편집]-[ActiveX 삽입]을 클릭한 후, ActiveX 설정화면에서 ‘Microsoft Web Browser’를 선택하고 ‘확인’ 버튼을 누릅니다.

    2. 오브젝트의 [그림 설정]화면에서 오브젝트 이름을 설정합니다. 본 예시에서는 ‘그림1’로 입력합니다.

    3. 오브젝트에 영상을 띄우기 위해서는 OcxMethod 명령함수를 사용합니다. 다음 함수 설명을 참고하여 주시기 바랍니다.

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

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

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

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

     

    Sub Script1

     

    OcxMethod “그림1”, “Navigate”, “D:\SCADA3.90\CCTV.html”

     

    End Sub

     

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

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

     

     

    ※ SCADA에서 CCTV 화면을 나타낼 때, 웹상에서 CCTV를 실행할 수 있는 Html 샘플 파일이 있어야 합니다.

    CCTV 업체에 해당 파일을 문의하시기 바랍니다.

    5. 버튼 오브젝트를 생성합니다. [버튼정의]-[동작정의]에서 명령식 동작을 선택하고 ‘Runscript(“Script1”)’을 입력합니다.

    6. CimonX를 실행한 후, 버튼을 눌러 스크립트를 실행합니다.

    ActiveX 오브젝트에 CCTV 화면이 나타나는 것을 확인할 수 있습니다.

     

     

    2. CCTV 채널 변경 방법.

     

    [CCTV 채널 변경 방법]

    XNS ActiveX SDK 의 샘플 프로그램은 기본적으로 카메라의 1번 프로파일을 보여주도록 설정되어 있습니다.

    1번 프로파일은 MJEG, framerate는 5로 설정되어 있기 때문에 5~10 정도의 ips 값이 출력되며, 이에 따라 화면이 끊겨 보일 수 있습니다.

    원활한 움직임의 화면을 확인하고자 할 경우 1번 프로파일의 framerate를 변경하시거나, OpenMedia() 함수 호출 시 다른 프로파일을 가지고 오도록 수정하시면 됩니다.

    프로파일을 설정할 때, Control ID를 변경해주시면 됩니다.

    예를 들어 네트워크 카메라의 경우, Control ID 3은 1번 프로파일(1번 채널)을 의미하며,

    Control ID를 3으로 입력하면 첫 번째 비디오 프로파일 영상을 출력합니다.

    따라서 2번 프로파일(2번 채널) 비디오 영상을 보고자 할 경우, Control ID를 4로 설정해주시면 됩니다.

    위 영상은 기본 Vedeo 01번으로 지정이 되어있으며, 화면 끊김 현상이 발생할 수 있습니다.

    이 때 CCTV.html 파일을 웹에서 실행한 후, CCTV 화면을 우클릭 후 ‘소스 보기’를 선택합니다.

    아래 그림처럼 ‘OpenMediaEX’의 숫자 3을 4로 변경 후 저장합니다.

                  ↓

    소스를 수정한 후, CimonX를 재실행하면 CCTV 화면이 Video 02번으로 변경되어 영상이 빨라진 것을 확인할 수 있습니다.

    네트워크 카메라의 Control ID는 다음과 같은 구조로 되어있습니다.

    비디오 프로파일을 선택하실 때 참고하여 주시기 바랍니다.

     

    < Network Camera control module structure >

    Control Module(Device, 1) *************** Control ID : 1
    |*** Control Module(Camera, 1) ********** Control ID : 2
    |***** Control Module(Video, 1) ********** Control ID : 3
    |***** Control Module(Video, 2) ********** Control ID : 4
    |****** …
    |****** Control Module(Video, 10) ******** Control ID : 12
    |****** Control Module(Sensor-in, 1) ****** Control ID : 13
    |****** Control Module(Digital-out, 1) ***** Control ID : 14

    TIP. 웹상에서 소스를 수정할 수 없을 경우, 다음과 같이 메모장을 이용하여 소스를 수정해주시면 됩니다.

     

    언제나 고객을 먼저 생각하는 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입니다.

     

    스크립트를 통하여 요일을 숫자로 출력할 수 있습니다.

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

     

    [적용 방법]

    1. 데이터베이스에서 아날로그 태그 ‘요일’을 생성합니다.

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

    * TimeStr 함수를 이용하여 요일 문자열을 aaa변수로 가져옵니다.

    If 문으로 비교하여 태그값에 숫자를 저장합니다.

     

    Sub Getdate()

    Dim aaa as string                 ‘aaa를 문자열로 선언

     

    aaa=Timestr(63)            ‘월~일 을 aaa로 변수선언

     

    if aaa=”일” then                ‘aaa 값이 일 이면 요일 태그에 1값을 저장합니다.

    settagval”요일”,1

     

    elseif aaa=”월” then

    settagval”요일”,2

     

    elseif aaa=”화” then

    settagval”요일”,3

     

    elseif aaa=”수” then

    settagval”요일”,4

     

    elseif aaa=”목” then

    settagval”요일”,5

     

    elseif aaa=”금” then

    settagval”요일”,6

     

    elseif aaa=”토” then

    settagval”요일”,7

     

    end if

     

    end sub

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

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

    3. 버튼 오브젝트를 생성합니다. [버튼정의]-[동작정의]에서 ‘명령식’ 동작을 선택하고 스크립트 실행 명령식을 입력합니다.

    RunScript(“Getdate”)

    4. CimonX를 실행합니다.

    버튼을 눌러 스크립트를 동작시키면 PC의 시간에 따라 금일의 요일이 숫자로 출력됩니다.

     

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

    감사합니다.

  • 안녕하세요.

    CIMON입니다.

     

    ‘찾아 바꾸기’ 기능을 사용하여 실태그를 가상태그로 한 번에 바꿀 수 있습니다.

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

     

    [적용 방법]

    1. 데이터베이스 편집기 화면 내에서 [편집]-[바꾸기] 또는 단축키 ‘Ctrl’ + ‘H’를 누릅니다.

    아래 그림과 같은 화면이 나타납니다.

     

    2. ‘찾을 문자열’에 1을 입력합니다. (실태그는 1로 정보가 저장됩니다.)

    ‘바꿀 문자열’에 0을 입력합니다. (가상태그는 0으로 정보가 저장됩니다.)

    ‘찾을 위치’를 ‘실/가상 태그’로 선택합니다.

     

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

    감사합니다.