-
제품선택
-
안녕하세요.
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입니다.
스크립트를 이용하면 10초 단위로 태그를 스캔하고 30초마다 평균값을 출력하는 것이 가능합니다.
1. 데이터베이스에서 아날로그 태그 4개(순시값, 평균값, 카운트, B평균값)를 생성합니다.

2. [도구]-[스크립트]에 진입하여 다음과 같이 스크립트를 작성 및 등록합니다.
Sub Main()
While 1
‘현재시간을 구함
CurTime# = Now()
CurVal# = GetTagVal(“순시값”)
AvrVal# = GetTagVal(“평균값”)
Count% = GetTagVal(“카운트”)
Avr = GetTagVal(“B평균값”)
’10초 단위로 스캔하여 순시값을 평균값에 더함
If ((Second(CurTime#) mod 10) = 0) Then
SetTagVal “평균값”, CurVal# + AvrVal#
SetTagVal “카운트”, Count% + 1
end if
sleep(500)
If Count% = 3 Then
SetTagVal “B평균값”, AvrVal#/3
SetTagVal “카운트”, 0
SetTagVal “평균값”, 0
End If
Sleep(500)
Wend
End Sub
===================================
위 스크립트는 다음과 같은 형식으로 등록됩니다.

3. CimonX를 실행하였을 때, 10초마다 아날로그 태그의 값변화를 스캔하고, 30초 경과 시 카운트가 초기화되고 해당 카운트의 평균값이 출력됩니다.

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