-
제품선택
-
안녕하세요.
CIMON입니다.
콤보박스 선택을 통한 트렌드 펜 보임 방법을 설정하고자 할 때, SetPenStatus 내부함수를 이용하여 구현할 수 있습니다.
다음 예제를 참조 바랍니다.
[사용 예제]
1. 트렌드에서 표시할 아날로그 태그 네 개와, 콤보박스 선택을 통해 문자열 값을 가져올 문자열 태그를 생성합니다.
2. 페이지에 트렌드를 삽입합니다. 트렌드 이름은 ‘TREND_PEN’으로 지정하고, 값을 표현할 아날로그 태그들을 등록합니다.
3. [그림]-[라이브러리]에서 콤보박스를 선택하여 페이지에 삽입합니다.
문자열 태그를 등록한 후, 선택 항목을 입력합니다. 항목을 선택했을 때 문자열 태그의 값이 해당 항목 문자열로 변경됩니다.
- [도구]-[스크립트]에 진입하여 다음과 같이 스크립트를 작성합니다.
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입니다.
HSC, HSCSW 는 BP 시리즈 내장형 고속카운터 전용 명령어입니다. 이 명령어를 사용하여 계측이 가능합니다.
※주의: BP CPU는 CICON V7.00 이하의 버전에서만 사용할 수 있습니다.
HSC 명령어와 HSCSW 명령어의 사용법은 다음과 같습니다.
[HSC 명령어]
Ch: 상수 또는 채널 번호가 저장된 WORD 디바이스 (1~4)
D: 카운트 값이 저장될 DWORD 디바이스의 선두 어드레스
– Enable 신호가 ON 되면 카운트를 시작합니다.
– Preset 신호가 ON 되면 내부 고속카운터 설정에서 지정한 값이 D에 지정한 디바이스에 저장됩니다.
[HSCSW 명령어]
Ch: 상수 또는 채널 번호가 저장된 WORD 디바이스 (1~4)
D: 카운트 값이 저장될 DWORD 디바이스의 선두 어드레스
– Enable 신호가 ON 되면 카운트를 시작합니다.
– Preset 신호가 ON 되면 내부 고속카운터 설정에서 지정한 값이 D에 지정한 디바이스에 저장됩니다.
– Up/Down 신호가 ON 되면 HSCSW 명령어는 Down 카운트를 합니다. 해당 신호가 OFF 되면 Up 카운트를 합니다.
전원이 꺼지더라도 카운터 내용을 저장하고자 할 경우
CICON에서 [보기] – [PLC 파라미터 설정] – ‘내장형 고속카운터’ 탭으로 이동하여 ABS Counter 옵션을 체크하면 됩니다.
언제나 고객을 먼저 생각하는 CIMON이 되겠습니다.
감사합니다.
-
안녕하세요, CIMON입니다.
특수프로그램에 있는 초기화 프로그램 COLD와 HOT의 기능은 다음 설명과 같습니다.
[초기화 프로그램 (COLD)]
초기화 프로그램 COLD는 전원 투입, CPU 모드를 RUN 모드로 변경한 경우 최초 1회만 실행이 되며,
스캔 프로그램을 실행하기 위한 초기 데이터 설정 및 주변기기나 특수모듈의 초기화 처리를 수행합니다.
초기화 프로그램의 종료를 위해 INITEND 명령어를 반드시 사용해야 합니다.
[초기화 프로그램(HOT)]
초기화 프로그램 HOT은 HotRestart 기능을 사용하고 순간정전 발생 시 설정시간 이내일 경우 실행이 되며,
이전 값을 유지한 상태로 초기화 프로그램 실행 후 스캔프로그램이 실행됩니다.
초기화 프로그램의 종료를 위해 INITEND 명령어를 반드시 사용해야 합니다.
※Hot Restart란?
RUN 모드에서 정전이 발생하였을 때 정전시간이 Hot Restart 기준 시간 이내면 Hot Restart 모드로 동작되고
모든 데이터와 프로그램 수행 요소들을 전원이 꺼지기 이전 상태로 복원하여 실행하기 때문에 프로그램 실행의 연속성을 유지할 수 있습니다.
[참고]
다음은 CPU 동작 조건에 따른 초기화 프로그램 동작 모드 및 프로그램 실행 여부에 관한 표입니다.
언제나 고객을 먼저 생각하는 CIMON이 되겠습니다.
감사합니다.
-
안녕하세요, CIMON입니다.
어드레스 값이 이상하게 출력되는 경우, 다음 사항을 확인하여 주시기 바랍니다.
- 스캔 프로그램 내에서 어드레스를 중복으로 사용
- 산술 명령 이용 시 사용한 어드레스에 중복 영역이 발생
다음은 CICON에서 해당 증상을 확인 및 수정하는 방법입니다.
[점검 사항 – 크로스 레퍼런스 활용]
1. CICON의 크로스 레퍼런스라는 기능을 활용하여 프로젝트 내에서 중복된 어드레스가 있는지 확인합니다.
(1) 메인메뉴에서 [도구] -> [Cross Reference] 메뉴를 선택합니다.
(2) ‘디바이스별 보기’ 영역에서 [중복 사용] 버튼을 클릭합니다.
(3) 중복을 확인할 디바이스 영역을 선택합니다.
디바이스 확인 후, 중복으로 인해 잘못된 값이 쓰이는 경우 다른 어드레스를 이용하시기 바랍니다.
[점검 사항 – 명령어 오퍼랜드 확인]
1. 산술 명령이나 기타 더블워드 연산 관련 명령어 사용 시, 어드레스가 중복 될 가능성이 있습니다.
- 워드와 워드 연산 시 두개의 워드로 저장되는 경우
(S1과 S2가 연산 시 -> D, D+1)
= 16Bit Binary 사칙 연산 명령어 (DIV(P), MUL(P))
= BCD 4자리 사칙 연산 명령어 (BMUL(P), BDIV(P)
- 두 개의 워드와 두 개의 워드 연산 시 두 개의 워드로 저장되는 경우
(S1, S1+1과 S2, S2+1가 연산 시 → D,D+1)
= 실수 사칙 연산 (EADD(P),ESUB(P),EMUL(P),EDIV(P))
= BCD 8자리 사칙연산 (DBADD(P), DBSUB(P), DBMUL(P), DBDIV(P))
= 32Bit Binary 사칙 연산 (DADD(P), DSUB(P), DWDIV(P))
- 두 개의 워드와 두 개의 워드 연산 시 네 개의 워드로 저장되는 경우
(S1, S1+1과 S2, S2+1가 연산시 → D, D+1, D+2, D+3)
= 32Bit Binary 사칙 연산 (DDIV(P), DMUL(P))
(예제)
1. DIV(P)
- 내부 접점 신호 M00이 ON 하였을 때 D0000의 데이터와 D0001의 데이터를 나눗셈하여 D0003에 몫, D0004에 나머지를 저장하는 프로그램
2. DDIV(P)
- 내부 접점 신호 접점 M01이 ON 하였을 때 D0000, D0001의 데이터와 D0002, D0003의 데이터를 나눗셈하여 D0004, D0005에 몫, D0006, D0007에 나머지를 저장하는 프로그램
3. MUL(P)
- 내부 접점 신호 M02이 ON 하였을 때 D0001의 데이터와 D0002의 데이터를 곱셈하여 D0020에 하위 워드 데이터, D0021에 상위 워드 데이터를 저장하는 프로그램
4. DMUL(P)
- 내부 접점 신호 접점 M03이 ON 하였을 때 D0000, D0001의 데이터와 D0002, D0003의 데이터를 곱셈하여 D0004, D0005, D0006, D0007에 결과 데이터를 저장하는 프로그램
각 명령어의 자세한 내용은 CICON 도움말에서 확인하여 주시기 바랍니다.
언제나 고객을 먼저 생각하는 CIMON이 되겠습니다.
감사합니다.
-
안녕하세요, CIMON입니다.
스캔프로그램에서 위치결정 모듈의 가감속 시간을 변경하려면
FWRITE 명령어를 활용하여 주시기 바랍니다. 다음은 해당 명령어의 설명과 사용 예제입니다.
[FWIRTE 명령어 설명 및 사용 예제]
다음은 가감속 시간을 설정할 수 있는 시스템 데이터 메모리 (Setting Data Memory) 영역은 다음 그림과 같습니다.
기타 영역은 CICON 도움말의 위치 결정 모듈 파라미터를 참조하시기 바랍니다.
하단의 그림은 M00 비트가 ON 되면 슬롯0번에 장착된 모듈의 ‘가감속시간0’ 파라미터를 D0디바이스에 입력된 값으로 변경하는 프로그램입니다.
해당 명령어는 설정 값을 Flash Memory에 저장을 하지 않습니다.
때문에, PLC 전원이 OFF→ON 될 경우 해당 설정 값은 유지되지 않습니다.
[주의 사항]
시스템 데이터 메모리는 위치결정 모듈의 설정 데이터를 기록/보관 하는 영역으로, Sequence 프로그램에서 전용 명령어인 FREAD/FWRITE 명령을 사용하여 설정 값 읽기/쓰기를 할 수 있습니다.
시스템 메모리 영역은 사용자의 요청에 따라 Flash Memory에 Backup이 가능합니다. 전원이 연속적으로 인가되는 동안에는 Flash Memory의 저장 회수가 20회로 제한 되는데, 이는 Flash Memory의 수명(기록 회수약 100만 회) 때문이며, 잘못된 Sequence 프로그램에 의해 Flash Memory의 연속적인 기록으로 수명을 단축시키는 현상을 방지하기 위해서 입니다.
언제나 고객을 먼저 생각하는 CIMON이 되겠습니다.
감사합니다.
-
CIMON-SCADA 스크립트를 사용해서 시간을 변경 할 수 있습니다.
아래와 같이 스크립트를 작성하면 됩니다.
Sub PCTIMECHANGE()
Date$ = “2012-07-07”
Time$ = “14:00:22”
End Sub
명령식이나 스크립트상에서 RunScript (“PCTIMECHANGE”)실행을 하면 pc 시간이 2012년7월7일 오후2시00분22초로 바뀝니다.
#PC시간#시간#변경#시간변경
-
안녕하세요.
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입니다.
CIMON-SCADA에서는 기본적으로 아날로그 값이 10진수로 표현됩니다.
XG 5000 내에서는 디바이스 모니터의 데이터 표시 형식이 ‘명령어에 따른 표시’로 기본값 설정 되어 있습니다.
이 상태에서 CIMON-SCADA로 아날로그 데이터를 읽어올 경우, 태그값이 각각 다르게 표시될 수 있습니다.
이 값을 동일하게 맞추고자 하실 경우, 다음 방법을 통해 적용하실 수 있습니다.
[적용 방법]
XG5000 내 [도구] – [옵션]으로 진입합니다.
모니터 표시 형식을 ‘명령어에 따라서 표시’에서 ’10진수로 표시’로 변경하여 적용 가능합니다.
언제나 고객을 먼저 생각하는 CIMON이 되겠습니다.
감사합니다.
-
안녕하세요.
CIMON 입니다.
TrendCsvWr함수를 이용하면 Trend에서 수집된 데이터를 CSV파일로
내부 메모리, SD/MMC 및 USB에 CSV파일로 저장할 수 있습니다.
( Xpanel V2.52버전 기준으로 제작하였습니다.)* 함수설명
형식 : TrendCsvWr(“트렌드오브젝트명”, 파일저장위치)
파일저장위치
저장위치는 번호, 문자기호, 파일위치 형식으로 선택하여 사용가능합니다.
예) TrendCsvWr(“Trend1”, 2)
TIP!
1. 스크립트 실행으로 생성되는 CSV파일의 이름은 트렌드 이름과 시간으로 구성되며,
“Trend1_MMDDHHmmss.CSV”의 형식을 갖습니다.
2. 파일당 표시되는 데이터수집의 개수는 최대 5000개이며,
그 이상의 개수를 수집할 경우 오래된 수집데이터부터 삭제됩니다.
예를 들어 데이터 수집 주기가 1초라면 5000초 전 데이터까지 저장을 할 수 있습니다.
[사용예제]
1. 트렌드 오브젝트의 이름을 설정합니다.
TIP:
‘파일로 저장’ 옵션을 체크한 경우, 선택한 저장위치에 트렌드 오브젝트의 데이터가 TDF파일형식으로 저장이 됩니다.
TDF파일이 있다면 Xpanel을 재부팅하여도 과거값을 확인 할 수 있습니다.
체크 해제할 경우, Xpanel 재부팅 시 과거값이 보이지 않습니다.
2. 버튼으로 사용할 오브젝트를 생성하여 명령식 영역에 함수를 적용합니다.
3. Xpanel실행 후 USB가 꽂힌 상태에서
해당 버튼을 터치하면 아래와 같은 파일이 USB에 저장됩니다.
4. 파일을 확인하면 저장된 데이터를 확인할 수 있습니다.
TIP:
위 그림에서는 시간이 분까지만 표현되나, 엑셀 셀 양식의 설정을 변경하면 다음 그림과 같이 초 단위까지 표현할 수 있습니다.
언제나 고객을 먼저 생각하는 CIMON이 되겠습니다.
감사합니다.
#엑스판넬데이터수집 #엑스판넬CSV #엑스판넬트렌드CVS파일저장방법 #엑스판넬CSV파일저장 #엑스판넬트렌드CSV #XPANEL데이터수집 #XPANEL CSV #XPANEL CVS파일저장방법 #XPANEL CSV파일저장 #XPANEL 트렌드CSV #XPANEL Trend CVS파일저장방법 #XPANEL CSV파일저장 #XPANEL Trend CSV #XPANEL데이터수집 #XPANEL CSV #XPANEL CVS파일저장방법 #XPANEL CSV파일저장 #XPANEL Trend CSV
-
안녕하세요.
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이 되겠습니다.
감사합니다.