[SCADA][스크립트] 경보 경과시간 기록 예제

안녕하세요.

CIMON 입니다.

경보가 울리고 난 후 경과한 시간을 기록하는 예제입니다.

 

[ 이럴 사용하시면 됩니다 ]

하루 사이에 경보 태그가 ON 되어있던 시간을 구하고 싶을 때 활용할 수 있습니다.

 

[ 프로젝트 예제 작성 버전 주의사항 ]

SCADA Ver 3.04(R160224)

v3.04에서 작성된 프로젝트는 하위버전에서 열리지 않습니다.

 

[ 예제 설명 ]

1. 예제의 UI의 구성은 간단합니다. 시간정보와 경고 정보를 태그값으로 표현해주고 경보 상태에 따라 램프를 점등해주며 터치로 경보를 켜고 끌 수 있습니다.

위와 같인 초록색 부분이 터치 입력을 받으면 경보 태그 ALARM을 Toggle 시켜줍니다.

경보 알람이 ON 되면 경보 태그의 가동 시간이 기록됩니다. 동시에 램프에 불이 들어와 경보를 알립니다.

현재 시간 태그는 TIME을 표현하는데 이 TIME 태그는 스크립트에서 설정됩니다.

작동시간 태그는 TC의 태그값을 표현하는데 TimeCount의 의미를 지닙니다. 이 태그도 마찬가지로 스크립트 상에서 제어됩니다.

알람태그는 터치 동작을 가지고 있고 터치 시에 ALARM 태그를 Toggle 시켜줍니다.

또한 ALARM태그는 경보 태그로 설정이 되어있기 때문에 CimonX에서 이 태그가 1로 ON될 시에 경보 알람 또한 기록됩니다.

스크립트는 위와 같습니다. 시간에 관한 내부함수는 전부 TimeStr로 처리했습니다.

TimeStr의 표현 형식이 65가지나 되기 때문에 모든 시간표현은 TimeStr 내부함수로 구현가능합니다.

또한 이 스크립트에서 중요하게 쓰인 함수는 TimeConvert 함수입니다.

TimeConvert 함수가 경보 태그가 ON 되어있는 동안 올라가는 COUNT 태그의 숫자 정보를 시간형식으로 바꾸어주기 때문입니다.

또한 If 문의 조건인 SecValue <> NowSec을 눈 여겨 보셔야합니다.

아무 의미 없어 보이지만 이 스크립트가 단순한 숫자 카운팅을 시간 정보로 바꾸어주는 역할을 합니다.

 

SecValue와 NowSec이 다를 때 즉, 이전 while문에서 설정한 SecValue의 값이 현재의 시간 값과 차이가 날 때 조건문을 만족합니다.

이 조건이 없을 때, 많은 초가 지났을 때는 상관없지만 1초가 지나기 전에 경고 태그가 ON 되어있다면 sleep(300)로 인해 1초 사이에 while문은 3번 돌고 counting이 세 번 됩니다.

하지만 SecValue <> NowSec 이 조건에 의해 1초 안에 경고 태그가 ON 되어있어도 시스템 시간으로 1초 지날 때만 가동시간을 1 카운팅 해주게 되는 겁니다.

 

[ 적용 방법 ]

이 예제에서는 경보 태그를 터치로 입력을 받아 직접 켜고 껐지만 실제 현장에서 사용하실 때는 PLC 장비들과 연결되어 있는 실제 경보 태그와 연동을 하시면 됩니다.

작업자가 없는 사이에 장비가 위험에 노출되면 경보 태그를 ON 시키고 ON 된 시간을 또한 태그를 통해 원격지에 전송, 감시할 수 있습니다.

스크립트는 매일 12시에 가동시간이 리셋되게 되어있는데 이를 바꿔주려면


이처럼 ResetTime 정보를 바꿔주면 됩니다.

 

첨부 1. 경보 경과시간 기록 예제.zip

#경보시간#시간카운팅#TimeStr#TimeConvert#타이머카운트#경보#경과시간#프로젝트예제#샘플프로젝트#SCADA프로젝트예제#SCADA샘플프로젝트#SCADA스크립트사용예제#SCADA스크립트사용방법#SCADA스크립트사용샘플#SCADA스크립트

[Xpanel][스크립트][기능] 스케줄 기능 매뉴얼 및 예제

안녕하세요.
CIMON 입니다.

Xpanel에서 스케줄 기능 관련 함수와 기능 사용 방법에 대한 예제입니다.

[이럴 때 사용하시면 됩니다]
특정 스케줄에 따라 동작을 실행시키고 싶을 때 사용하시면 됩니다.

[프로젝트 예제 작성 버전 및 주의사항]
Xpanel Ver 2.33(R130814)
Ver 2.33 프로젝트는 하위버전에서 프로젝트가 열리지 않습니다. 상위버전 사용자들은 프로젝트 업그레이드로 사용 하실 수 있습니다.

[예제 설명]
이 예제는 스케줄 관련 함수와 기능들을 모두 사용합니다.
스케줄 시간 설정에서 시간과 반복을 선택한 후 스케줄을 등록할 수 있습니다.
시스템메모리 데이터 설정의 시간 데이터는 미리 설정된 시간을 불러옵니다.
등록된 모든 스케줄에 대해 일괄적으로 같은 시간을 등록할 수도 있습니다.
특정 시간을 특정 번호의 스케줄에만 적용할 수도 있습니다.
스케줄 활성/비활성을 각각의 스케줄에 대해 설정할 수 있습니다.

1. 스케줄 변경 예제 프로젝트의 화면을 설명하겠습니다.

  • 스케줄 선택 : 버튼을 클릭하여 등록된 스케줄 번호를 선택합니다. (SCHEDULE_INDEX 태그)
  • 시간 설정 : 반복/년/월/일/시/분/요일버튼을 클릭하면 시간 데이터를 임의로 설정 할 수 있습니다.
    (스케줄에 임의의 시간 설정을 하기 위해서는 SYSTEM MEMORY 태그 7개를 연속하여 등록하여야 합니다.)
  • 시스템 메모리 데이터 설정
    A. 시간데이터(1) : 임의의 시간 지정된 데이터 입력 버튼
    B. 시간데이터(2) : 임의의 시간 지정된 데이터 입력 버튼
    (각 변수에 대한 값을 명령식에 직접 입력하여 사용하는 경우입니다.)
  • 스케줄 목록 창 열기 : 스케줄 목록이 표시되는 창을 엽니다.(ScheduleConfig() 함수를 실행하여 스케줄 목록 창을 엽니다.)
  • 시간정보 일괄 적용 : 시간설정에 입력된 시간 데이터를 등록된 모든 스케줄의 시간정보에 동일하게 적용시킵니다.
    (반복문과 SetScheduleSysMem(R1, R2) 함수를 활용합니다. R1: 스케줄번호, R2: SYSTEM MEMORY 시작주소)
  • ??? 번 항목에 적용 : 사용자가 선택한 항목의 스케줄 시간정보를 시간 설정에 입력된 시간 데이터로 변경 합니다. (SetScheduleSysMem(R1, R2) 함수를 이용합니다.)
  • 모든 항목 활성화 : 등록된 모든 스케줄 항목을 활성화 시킵니다.
    (반복문과 SetScheduleState(R1, R2) 함수를 사용합니다. R1: 스케줄번호, R2: [0]비활성화/[1]활성화)
  • 모든 항목 비활성화 : 등록된 모든 스케줄 항목을 비 활성화 시킵니다. (반복문과 SetScheduleState(R1, R2) 함수를 사용합니다.)
  • ???번 활성화 : 사용자가 선택한 항목의 스케줄을 활성화 시킵니다. (SetScheduleState(R1, R2) 함수를 사용합니다.)
  • ???번 비활성화 : 사용자가 선택한 항목의 스케줄을 비활성화 시킵니다. (SetScheduleState(R1, R2) 함수를 사용합니다.)
  • ???번 활성화 상태 : 사용자가 선택한 항목의 스케줄 활성화 상태를 얻어옵니다. (GetScheduleState(R1) 함수를 사용합니다.)
  • ???번 활성화 상태 결과 : 1 활성화 상태, 0 비활성화 상태입니다. (GetScheduleState(R1, R2) 함수의 결과를 ENABLE_SC에 입력되며 태그값으로 표시됩니다.)

2. 스케줄 기능에 대해 설명하겠습니다.
스케줄에 따른 작업 설정이나 태그값 설정은 XpanelDesigner에서만 가능합니다. Run 상태에서는 스케줄의 시간정보, 황성화 상태만 변경 가능합니다.
스케줄의 동작 설정은 프로젝트를 Xpanel에 다운로드 하기 전에 설정해야 합니다.
스케줄 설정은 도구-스케줄-스케줄목록 에서 스케줄 번호에 따라 설정 가능합니다.

3. 각 함수의 적용방법에 대해 설명하겠습니다.
도구-시뮬레이터로는 ‘스케줄 목록 창 열기’가 동작하지 않으므로 Xpanel에 다운로드 하셔서 확인하셔야 합니다.
SetScheduleSysMem(R1,R2) GetScheduleSysMem(R1,R2) 함수를 사용하기 위해 System Memory의 연속된 어드레스 7개를 태그로 등록하여야 합니다.(자세한 사항은 도움말-함수일람을 참고하세요.)
태그 이름과 어드레스 시작번호는 임의로 정할 수 있습니다.
예제 프로젝트는 이해가 쉽도록 System Memory 태그 이름을 적용범위와 일치시켰으며, System Memory 태그의 시작어드레스를 0으로 하였습니다.
R1은 스케줄번호, R2는 System Memory의 시작번호 입니다.

해당 태그들을 임의로 값을 변경하고 SetScheduleSysMem(R1, R2) 함수를 사용하여 특정 스케줄 번호의 시간정보를 변경할 수 있습니다.
다음과 같이 스케줄의 System Memory 태그값을 데이터입력 기능으로 변경할 수 있게 합니다.

한 번 클릭으로 지정된 시간값이 System Memory 태그값으로 설정되도록 버튼을 만들 수도 있습니다.

스케줄 목록 창을 여는 함수 ScheduleConfig() 를 사용합니다.
Xpanel Run 상태에서 스케줄 목록창을 통해 각각의 스케줄 활성화/비활성화, 시간정보가 변경 가능합니다.

스크립트를 활용하여 스케줄 시간정보를 변경할 수도 있습니다.

SetScheduleState(R1, R2) 함수로 해당 스케줄 번호(SCHEDULE_INDEX 태그값)의 스케줄을 활성화/비활성화 시킬 수 있습니다.

GetScheduleState(R1) 함수는 활성화/비활성화 상태를 반환하므로 ENABLE_SC 태그에 값을 저장하도록 합니다. 0(비활성화 상태) 또는 1(활성화 상태)을 반환합니다.

예제를 Xpanel에 다운로드 하셔서 스케줄 기능을 파악할 수 있도록 합시다.

예제 설명으로 충분하지 않으시다면 첨부된 ‘Schedule_메뉴얼’ 을 참고하시기 바랍니다.

 

[적용 방법]
기존 프로젝트에 사용하시려면 다음과 같이 작업하시면 됩니다.
기존 프로젝트에 ‘’도구-스케줄-목록창’ 에서 스케줄을 등록합니다.
스케줄의 동작을 설정합니다.
스케줄의 동작은 스케줄 번호와 함께 따로 정리해놓도록 합니다.
(Xpanel 상에서 스케줄 동작이 무엇인지 표시되지 않습니다.)
스케줄 시간을 임의로 자주 조정하신다면 예제프로젝트의 페이지를 복사하여 사용합니다.
스케줄을 자주 조정하지 않으신다면 ScheduleConfig() 함수로 스케줄 목록창을 이용하여 설정하는 것으로 충분합니다.

 

 

첨부 1. ScheduleV233.zip
첨부 2. Schedule_매뉴얼.pdf

 

감사합니다.

 

 

 

#스케줄메뉴얼#스케줄기능#XPANEL스케줄기능#XPANEL스케줄#프로젝트예제#샘플프로젝트#XPANEL프로젝트예제#XPANEL샘플프로젝트#엑스판넬프로젝트예제#엑스판넬샘플프로젝트

[XPANEL] XpanelDesigner V2.32 사용설명서 (2013.04)

XpanelDesigner 사용설명서 입니다.

#Xpanel메뉴얼#Xpanel설명서#Xpanel사용설명서#Xpanel V2.32#Xpanel2.32#Xpanel V2.32사용설명서#Xpanel V2.32메뉴얼#Xpanel2.32사용설명서#Xpanel2.32메뉴얼#엑스판넬프로그램메뉴얼#엑스판넬프로그램사용설명서#엑스판넬프로그램설명서#엑스판넬프로그램#엑스판넬프로그램2.32#엑스판넬프로그램2.32메뉴얼#엑스판넬프로그램2.32사용설명서#엑스판넬프로그램2.32설명서

[SCADA] CIMON SCADA 사용설명서 V2.14 (2013.04)

CIMON SCADA 사용설명서 입니다.

#SCADA메뉴얼#SCADA설명서#SCADA사용설명서#SCADA V2.14#SCADA2.14#SCADA V2.14사용설명서#SCADA V2.14메뉴얼#SCADA2.14사용설명서#SCADA2.14메뉴얼#스카다프로그램메뉴얼#스카다프로그램사용설명서#스카다프로그램설명서#스카다프로그램#스카다프로그램2.14#스카다프로그램2.14메뉴얼#스카다프로그램2.14사용설명서#스카다프로그램2.14설명서

[PLC] PLC & CICON V4.03 사용설명서 (2013.04)

PLC와 CICON 사용설명서 입니다.

#CICON메뉴얼#CICON설명서#CICON사용설명서#CICON V4.03#CICON4.03#CICON V4.03사용설명서#CICON V4.03메뉴얼#CICON4.03사용설명서#CICON4.03메뉴얼#PLC프로그램메뉴얼#PLC프로그램사용설명서#PLC프로그램설명서#로더프로그램#로더프로그램4.03#로더프로그램4.03메뉴얼#로더프로그램4.03사용설명서#로더프로그램4.03설명서

[PLC] PLC Downloader V2.00 (R20130412)

PLC Downloader가 업데이트 되었습니다.
2.00버전에서는 PLCS Block Type과 MP Type CPU 지원이 추가되었습니다.
PLC Downloader : CICON을 설치하지 않은 PC에서 PLC에 프로젝트를 다운로드 할 수 있는 별도 툴입니다.
사용전 반드시 설명서를 참조하여 사용해 주십시오.

#PLC로더프로그램#PLC소프트웨어#PLC소프트프로그램#V2.00#PLC로더프로그램V2.00#PLC소프트웨어V2.00#PLC소프트프로그램V2.00#PLC로더프로그램2.00#PLC소프트웨어2.00#PLC소프트프로그램2.00#2.00#PLC2.00#PLC V2.00#V2.00 R20130412#R20130412

[PLC] CICON 로더프로그램 V4.04(R20130415) [국문]

CICON의 새로운 버전 “V4.04”가 배포되었습니다.
새로운 버젼은 다음과 같은 기능이 포함되었습니다.
PLCS Block Type CPU 추가
프로그램 정보 설정 화면 추가
XP CPU로 업로드한 프로젝트 MP로 변경시 모드버스 파라미터 초기화 추가
PLCS 일 경우, 온라인 -> 플래쉬 메모리 기능 제약 추가
PLCS 하이브리드의 시뮬레이터 선택 기능 추가
PLCS CDMA 모듈 펌웨어 업그레이드 기능 추가
SFC Transition에서 비교 연산 명령어 사용 가능하도록 추가
SFC 초기화 STEP부터 다시 시작하는 기능 추가
찾기 / 바꾸기에서 일괄 변경시, 변수 일괄 변경 기능 추가
새프로젝트 추가시, Default 접속 방식이 “USB”로 지정됩니다.
에러코드 추가(0x319, 0x31A, 0x31B)
PLCS 구성표 및 스펙 정보 추가
Ver.4.04부터 기본 설치 경로가 “C:KDTSYSCICON”로 변경되었습니다.
이전 버전에서 작성하신 프로젝트는 기존 경로에 남아 있습니다.

#PLC로더프로그램#PLC소프트웨어#PLC소프트프로그램#V4.04#PLC로더프로그램V4.04#PLC소프트웨어V4.04#PLC소프트프로그램V4.04#PLC로더프로그램4.04#PLC소프트웨어4.04#PLC소프트프로그램4.04#4.04#PLC4.04#PLC V4.04#V4.04 R20130415#R20130415

[XPANEL] XpanelDesigner V2.32 Update[한글]

*주의사항
Ver 2.32 Xpanel에서 생성하거나 수정한 프로젝트는 하위버전 Xpanel에서 불러올 수 없습니다.

XpanelDesigner Ver.2.32입니다.
최종 빌드 날짜는 2013-03-08입니다.
업데이트 내용은 아래와 같습니다.
자세한 내용은 도움말의 UpdateNews를 참조해 주십시요.
 – Cimon PLC HMI CNet Multi-Link 드라이버 추가
 – 설치 경로 변경
 – CIMON PLC 프로젝트 변수 테이블 불러오기 기능 추가
– 페이지 기본 배경색 설정 기능 추가

– 마우스 포인트 기준 붙여넣기 기능 추가
– 스위치램프 기능 개선
– Xpanel Explorer기능 추가
– 오브젝트 초기화 기능 추가
– 화면을 누르고 있는 동안 Beep 발생 설정 기능 추가
기본 설치 경로가 변경 되었습니다.
– C:Xpanel(기존 설치 폴더) -> C:KDTSYSXpanel(변경된 설치 폴더)
– 사용자가 생성한 프로젝트/Library 파일들은 경로에 맞춰서 옮겨주시기 바랍니다.
 
( XT05, XT06, XT10CA, XT12CA 모델은 지원되지 않습니다.)

#XPANEL소프트웨어#엑스판넬소프트웨어#Xpanel Designer#엑스판넬디자이너#XPANEL소프트웨어V2.32#엑스판넬소프트웨어V2.32#Xpanel Designer V2.32#엑스판넬디자이너V2.32#XPANEL소프트웨어2.32#엑스판넬소프트웨어2.32#Xpanel Designer2.32#엑스판넬디자이너2.32#V2.32#2.32#XPANEL V2.32#XPANEL2.32#V2.32 R130419#R130419