[XPANEL][기능] 사용자 로그인/로그아웃 이력을 CSV로 출력하는 샘플

안녕하세요.

CIMON 입니다.

Xpanel에서 사용자 로그인/로그아웃 LOG를 CSV 파일 형태로 출력하는 샘플입니다.

 

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

몇 시 몇 분 몇 초에 누가 접속했고 누가 로그아웃 했는지의 이력을 CSV 파일로 저장하는 샘플입니다.

 

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

XpanelDesigner v2.52

XpanelDesigner v2.52 미만의 버전은 열리지 않습니다.

 

[ 예제 설명 ]

Xpanel의 Main 화면을 꾸며줍니다.

간단하게 기능을 구현하기 위해 LogIn, LogOut, 이력 저장 버튼 세 개만 만들었습니다.

먼저 경보 설정을 해줍니다.

경보로 설정하는 이유는 AlarmCsvWr 함수를 이용하기 위해서입니다.

이 AlarmCsvWr 함수는 경보 이력을 원하는 위치에 지정한 이름의 CSV 파일로 저장해줍니다.

경보 설정에서는 간단하게 DIG01 하나만 가지고 경보 상태를 판별합니다.

DIG01 태그가 ON일 때 경보 내용을 Admin 계정이 LogIn하였습니다 를 경보 내용으로 설정하고, 태그가 OFF일 때 경보 내용을 Admin 계정이 LogOut 하였습니다 를 경보 내용으로 설정해줍니다.

이 경보 내용이 중요한 이유는 나중에 CSV 파일로 기록될 때 경보내용 또한 주석으로 각 경보 이력에 달리기 때문입니다.

경보를 설정한 뒤 사용자 보안에서 계정을 생성해줍니다.

이 예제에서는 간단히 ID를 Admin으로, 암호를 1로 설정해놓았습니다.

이전에 경보용으로 설정한 태그를 로그인할 때 1로 쓰고 로그아웃할 때 0으로 꺼줍니다.

이 동작으로 인해 경보가 Set/Reset 되고 경보이력에 로그인, 로그아웃 이력이 남게 됩니다.

여기까지 설정이 끝나면 실제 메인에서의 버튼 동작을 설정합니다.

먼저 LogIn 버튼의 동작입니다.

간단히 LogOnWin() 함수를 사용하면 로그온 기능을 동작시키는 버튼을 만들 수 있습니다.

LogOnWin() 함수는 위의 그림처럼 로그온 박스를 띄워줍니다.

사용자 보안에 등록된 아이디가 다수일 경우 User ID 란에서 해당 ID를 선택하고 Password를 키패드를 통해 입력하면 로그온 동작을 실행시킴과 동시에 로그온이 됩니다.

반대로 로그아웃 버튼의 설정입니다.

로그온과 마찬가지로 간단하게 LogOff() 함수 하나만 써주면 됩니다.

LogOff()는 로그인된 사용자를 로그아웃 시켜줍니다.

만약 로그아웃 동작이 설정되어있으면 그 동작을 실행시킵니다.

이 예제에서는 다른 설정이 없어 로그아웃 버튼을 눌러도 아무런 변화가 없지만 LogOff시 “로그아웃 되었습니다” 를 띄우는 팝업창을 만들어 사용자에게 알림을 줄 수도 있습니다.

마지막으로 LogIn/LogOut 이력 저장 버튼입니다.

이 버튼은 위의 LogIn 이나 LogOut 버튼보다 복잡합니다.

이와 같이 설정을 하면 경보 이력을 Csv 파일로 저장합니다.

간단히 설명을 하면 AlarmCsvWr(경보그룹,Csv파일이름,날짜시간표시형태,출력옵션,Csv저장위치) 이렇게 설정을 하면 됩니다.

자세한 설명은 적용 방법에서 설명드리겠습니다.

 

 

[ 적용 방법 ]

 

먼저 다수의 사용자가 있을 때, 그룹을 달리하거나 한 그룹 내에서 사용자 추가할 시 경보 내용에 각 사용자의 구분 내용을 추가해 어떤 사용자가 로그인/로그아웃 했는지 알 수 있습니다.

위와 같이 Admin2를 추가하였으면 로그온/로그오프 시 동작하는 또 다른 DIG02 태그를 만들고

각 태그의 경보내용을 위와 같이 설정하면 AlarmCsvWr 함수에서 경보내용을 이력으로 남겨 어떤 사용자가 몇 시에 로그인/로그오프 하였는지 알 수 있게 됩니다.

AlarmCsvWr 함수는 위에서 설명했듯이 AlarmCsvWr(경보그룹번호,CVS파일이름,날짜시간표시형태,CVS기록내용,CSV파일저장위치) 의 형식으로 사용합니다.

각 인자를 자세히 설명드리겠습니다.

경보그룹번호는 경보 설정에서 설정한 경보 그룹의 번호입니다.

이번 예제에서 경보 그룹을 하나만 썼기 때문에 1로 설정하지만 경보 그룹을 5번에 설정하였다면 5를 사용하시면 됩니다.

CSV 파일이름은 CSV 파일 앞에 붙을 문자열입니다. “테스트예제” 이렇게 붙이면 테스트예제.csv 파일이 출력됩니다. 하지만 정말로 테스트예제.csv로 출력되진 않습니다.

세 번째 인자는 csv파일 이름 뒤에 붙을 날짜형식입니다.

0 = YYYY/MM/DD HH:MM:SS

1 = DD/MM/YYYY HH:MM:SS

2 = MM/DD/YYYY HH:MM:SS

3 = MM/DD HH:MM:SS

4 = DD/MM HH:MM/SS

5 = HH:MM:SS

의 형식으로 붙습니다.

만약 세 번째 인자를 5를 선택하고 두 번째 인자를 “테스트예제”로 설정하면 12시45분50초에 저장된 CSV 파일은 테스트예제124550.csv의 파일로 출력됩니다.

네 번째 인자는 CSV 파일 내에 기록할 내용들을 선택하는 란입니다.

위와 같은 형식을 가지는데 둘 이상의 Symbol을 선택할 시 ORING표시( | )를 써서 구분합니다.

예를 들어 경보의 시간과 경보의 값을 나타내고 싶으면 _ALMPRT_TIME_|_ALMPRT_VALUE_ 의 형태를 써서 나타내면 됩니다.

이 표현과 1|4는 같은 표현입니다.

마지막으로 다섯 번째 인자는 저장형식을 구분하는 인자입니다.

위와 같은 형식을 가지는데 0을 사용하면 내부 저장소에, 1을 사용하면 지정한 경로에, 2를 사용하면 USB에 CSV 파일을 저장합니다.

위의 인자들을 상황과 목적에 맞게 사용하시면 됩니다.

첨부 1. LogIn_LogOut-1.zip

#Xpanel#LogIn#LogOut#AlarmCsvWr#CSV#엑셀출력#경보출력#경보이력#프로젝트예제#샘플프로젝트#Xpanel프로젝트예제#Xpanel샘플프로젝트#XpanelDesigner사용예제#XpanelDesigner기능#XpanelDesigner사용샘플#

[Xpanel][기능] 프레임 편집기 사용 예제

안녕하세요.
CIMON 입니다.

Xpanel에서 프레임 편집기를 사용하는 방법에 대한 예제입니다.

[이럴 때 사용하시면 됩니다]
화면을 분할해서 프레임 별로 화면 전환을 시키거나 화면을 열고 싶을 때 사용하시면 됩니다.

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

[예제 설명]
이 예제는 프레임편집기 사용 방법에 대해서 예시를 들어 보여줍니다.
CIMON 카탈로그의 페이지들을 프레임편집기를 이용하여 화면에 프레임 별로 표시되도록 해보겠습니다.

1. 카탈로그 화면으로 들어가는 Intro 페이지를 만듭니다.
Intro로 들어갈 그림을 넣고 페이지를 Intro로 저장합니다.

2. 다음과 같은 프레임을 구성하기 위해 3개의 페이지 사이즈를 정해서 구성해야 합니다.
기본이 될 3개의 페이지를 먼저 구성합니다.

3. 위 그림의 페이지1에 프레임 사이즈를 맞춰 페이지를 작성하고 배경색도 변경하여 저장합니다.
페이지1번 위치는 Main1F1으로 저장하였습니다.

4. 페이지2의 프레임 페이지를 작성합니다. Main2F1으로 저장합니다.

5. 페이지3의 프레임 페이지를 작성합니다. Main3F1으로 저장합니다.

6. 다시 프레임편집기로 돌아가서 프레임 페이지를 작성합니다.
프레임 페이지를 작성하지 않고, 각각 페이지를 불러오는 경우에는 정상적으로 동작하지 않을 수 있습니다.

7. 배경화면 중복 터치로 메인 프레임 화면으로 들어가도록 배경그림을 만듭니다.

8. 배경그림을 도구-배경그림으로 설정하고 페이지 환경 설정에서 배경화면 고정, 중첩 터치 동작 허용으로 설정합니다.

9. 화면에 들어갈 프레임 페이지들의 위치가 정확하게 입력되었으면 프레임 페이지 내 오브젝트, 기능만 변경하여 페이지를 다른 이름으로 저장 합니다.

10. 예제는 Main페이지 1번 프레임에 3개의 버튼을 넣었습니다.
각각의 버튼으로 사용될 오브젝트에 프레임페이지를 열 수 있도록 터치 기능을 넣습니다.

11. Main 페이지 2번 프레임 또한 수정하여 다른 이름으로 저장합니다.


이러한 방법으로 해당 프레임에 들어갈 여러 페이지들을 만들 수 있습니다.

12. 필요한 프레임 페이지들을 다 작성하셨으면, 꼼꼼히 페이지들을 버튼이나 스크립트, 기능들을 이용하여 페이지 전환할 수 있게끔 합니다.
그리고 도구-시뮬레이터 실행 이나 Xpanel 다운로드를 통해서 정상동작하는지 확인합니다.

예제 설명으로 충분하지 않으시다면 도움말-Graphic Page Editor-프레임 편집기를 참고하시기 바랍니다.

 

[적용 방법]
기존 프로젝트에 사용하시려면 다음과 같이 작업하시면 됩니다.
프레임 페이지에 들어갈 기본 페이지들을 크기에 맞춰 저장합니다.
프레임 편집기에서 프레임 구성을 설정하고 프레임 페이지를 만듭니다.
기본 프레임 페이지들을 기준으로 다른 이름으로 저장을 통하여 필요한 프레임 페이지들을 만듭니다.
프레임 페이지들이 전환될 수 있도록 버튼이나 스크립트 기능 등을 이용합니다.
모두 저장한 후 시뮬레이터 실행으로 확인합니다.

 

 

첨부 1. FrameEditorV211.zip

 

감사합니다.

 

 

 

#프레임편집기#XPANEL프레임편집기#XPANEL고정페이지#고정페이지#프로젝트예제#샘플프로젝트#XPANEL프로젝트예제#XPANEL샘플프로젝트#엑스판넬프로젝트예제#엑스판넬샘플프로젝트

 

 

[SCADA][스크립트] Excel의 셀 값을 태그값으로 읽어오는 방법 예제

안녕하세요.
CIMON 입니다.

스크립트를 실행시키고 Excel과 연동하여 Excel 파일의 셀 값을 태그값으로 읽어오는 방법에 대한 예제입니다.

[이럴 때 사용하시면 됩니다]
Excel 보고서의 값이나 따로 저장해둔 Excel 파일의 셀 값을 CimonX 태그값으로 읽어오고 싶을 때 사용하시면 됩니다.

[프로젝트 예제 작성 버전 및 주의사항]
SCADA Ver 3.04(R160224)
V3.04보다 하위버전에서는 프로젝트가 열리지 않습니다.

[예제 설명]
이 예제는 스크립트의 명령어를 다수 사용하며, Excel관련 명령어들을 사용하여 어렵게 느껴질 수 있습니다.
Excel 파일의 경로를 입력하시면 해당 Excel 파일에서 지정된 셀의 값들을 태그값으로 읽어오는 예제입니다.
Excel 파일이 아닌 경우, 메시지 박스가 표시되어 동작이 중지되며, 해당경로에 파일이 없는 경우에도 메시지 박스가 표시되어 동작이 중지되도록 하였습니다.

1. 페이지 작화를 합니다.
값 가져오기 버튼, Excel 셀의 값을 가져와 보여줄 태그값, Excel 파일의 경로를 입력할 태그값을 넣었습니다.

2. 사각형, 문자를 입력하여 그룹한 후, 스크립트를 실행하는 터치 기능을 넣습니다.

3. Excel에서 가져올 셀 값을 저장할 태그들을 만듭니다.
태그값 ANA_1로 등록하시고 오브젝트에 마우스 오른쪽 클릭하여 복제 기능을 이용하면, 손쉽게 태그 등록과 동시에 오브젝트를 만들 수 있습니다.
ANA_1~5 는 아날로그 태그로 등록합니다.
STR_1 태그값으로 등록하시고, 태그-고급기능에 문자열 길이를 80자 이상으로 설정합니다. Excel에서 읽어올 문자 길이를 고려해야 합니다.

4. Excel 파일 주소를 저장할 태그값 오브젝트를 만듭니다. 데이터 입력 기능을 추가합니다.
FILE 태그로 등록하고, 고급기능에서 문자열길이를 80자 이상으로 변경합니다.
파일 경로의 문자길이를 고려합니다.

5. 데이터베이스창을 열어 정상적으로 태그들이 등록되었는지 확인합니다.

6. 스크립트를 작성합니다.
Like는 문자열 비교 명령어입니다. ‘ * ‘ 표시는 1 개 이상의 문자가 있다는 의미입니다.
Route_File Like “*.xlsx” 는 Route_File 변수와 *.xlsx 동일하면 True를 반환합니다.
의미는 해당 변수에 .xlsx 문자열이 포함되어 있으면 True를 반환한다는 의미입니다.
예제는 Excel 파일의 A1~A5 숫자로, B1~B5는 문자열로 읽어와서 태그값에 저장하도록 하였습니다.

7. CimonX를 실행하여 정상적으로 동작하는지 확인합니다.
Excel 파일로 경로를 입력하지 않으면, 메시지창이 발생하여 중지되고, 해당경로에 그 파일이 없다면 역시 메시지창이 발생하여 중지됩니다.

해당파일이 존재한다면 Excel 응용프로그램을 실행하여 셀 값을 읽어옵니다.
해당 경로에 Excel 파일을 만드시고 읽어오는 셀값에 값을 저장하셔서 확인하시면 됩니다.

 

[적용 방법]
기존 프로젝트에 사용하시려면 다음과 같이 작업하시면 됩니다.
예제 프로젝트의 스크립트를 메모장에 복사합니다.
기존 프로젝트의 스크립트에 새 스크립트를 추가하여 메모장의 스크립트를 붙여넣기 합니다.
‘GetxlValue 스크립트의 셀 값을 읽어오는 부분에서 원하는 셀 위치로 변경, 추가하시면 됩니다.

예제와 같이 스크립트 실행 터치를 만들어주시고, 파일 저장 경로 태그도 동일하게 등록합니다.
CimonX를 실행하여 정상적으로 동작하는지 확인합니다.

 

첨부 1. GetxlValue-v304.zip

 

감사합니다.

 

 

#Excel#Excel셀#Excel읽어오기#Excel데이터#엑셀#엑셀읽어오기#프로젝트예제#샘플프로젝트#SCADA프로젝트예제#SCADA샘플프로젝트#스카다프로젝트예제#스카다샘플프로젝트

[SCADA][스크립트] 경로 생성 후 엑셀 파일 출력 예제

안녕하세요.

CIMON 입니다.

스크립트를 이용하여 정해준 해당 경로에 엑셀 파일을 출력하는 예제입니다.

 

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

CimonX 상에서 Window 탐색기로 빠져나가지 않고 원하는 위치에 경로 생성 및 엑셀 파일 출력을 하고싶을 때 사용하시면 됩니다.

 

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

SCADA Ver 3.04(R160224)

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

 

[ 예제 설명 ]

1. 예제의 UI의 구성은 간단합니다. 새로 만들 경로를 적어주시면 됩니다. 이 때 문자열의 형식은 드라이브:\경로1\경로2\마지막경로\ 식으로 설정하시면 됩니다.

위와 같이 CimonX에서 경로를 설정하고 RunScript 버튼을 눌러주면 해당 경로에 폴더와 엑셀 파일이 생성됩니다.

STR 부분은 선택하면 데이터를 입력하게 설정되어있어 원하는 경로로 문자열을 수정할 수 있습니다.

먼저 이 스크립트를 실행시키기 전에 통합 문서1.xlsx 파일을 D:\ 위치에 생성해 주어야 합니다. 이 이유는 스크립트 부분에서 설명해드리겠습니다.

통합 문서1.xlsx 가 해당 위치에 존재하면 RunScript 버튼을 누르고 MkdirSample 폴더가 생성된 것을 확인할 수 있습니다.

해당 폴더에 들어가면 생성된 시간이 파일명으로 기록되어 생성된 파일을 확인할 수 있습니다.

다음은 해당 스크립트입니다. fFormName$ 에서 이미 FileCopy를 사용해 복사할 양식 위치 및 파일명을 정해놓았기 때문에 D:\위치에 통합 문서1.xlsx 가 존재해야 합니다.

GetTagVal로 CimonX에서 STR에 입력한 파일 경로를 입력 받아 Mkdir 명령을 통해 해당 경로에 폴더를 생성합니다.

또한 TimeStr(44)를 통해 yyyy년 mm월 dd일 HH시 MM분 SS초 의 형식으로 엑셀 파일명을 설정한 뒤 파일을 생성합니다.

ExcelApp.Workbooks 이 부분은 엑셀 객체를 받아 SCADA 상에서 엑셀을 제어할 때 사용하는데

이 부분에 대한 내용은 [SCADA][스크립트] CimonX에서 Excel을 이용하여 데이터 읽고 쓰기 부분을 참조하시면 됩니다.

[SCADA][스크립트] CimonX에서 Excel을 이용하여 데이터 읽고 쓰기

 

 

[ 적용 방법 ]

이 스크립트에서 핵심이 되는 함수는 Mkdir 과 FileCopy입니다.

Mkdir를 이용해 원하는 위치에 폴더를 만들고 FileCopy를 이용해 같은 양식의 파일을 무한히 생성할 수 있습니다.

현재 예제에서는 하나씩 밖에 못 만들었지만, 실제 현장에서 사용할 때는 각 기기 별로 해당하는 폴더를 만들게 여러 번 Mkdir을 사용하고

해당 경로에 FileCopy를 사용해 각각의 기기 값을 저장할 수 있습니다.

 

첨부 1. 경로 생성 후 엑셀 파일 출력 예제.zip

 

#경로생성#엑셀생성#경로엑셀#Mkdir#FileCopy#파일출력#프로젝트예제#샘플프로젝트#SCADA프로젝트예제#SCADA샘플프로젝트#SCADA스크립트사용예제#SCADA스크립트사용방법#SCADA스크립트사용샘플#SCADA스크립트

 

 

 

 

[XPANEL] XpanelDesigner V2.52 (R170203) (2017.02.03) [한글]

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

XpanelDesigner 2.52 버전입니다.(패치일 2017.02.03) 이 버전에서는 아래의 기능을 지원합니다.

- PC Runtime 정식 출시

- 신형시뮬레이터 적용

- 런타임 화면 갱신 성능 개선

- USB 프로젝트 다운로드 속도 개선

- 스위치램프 지연동작 기능 추가

- 경보레벨 설정 및 레벨별 색상 설정 기능 추가

- 스크롤메시지 레벨 설정 및 레벨별 색상 설정 기능 추가

- 그림 설정 [색변화] 기준값 태그/어드레스/명령식 입력 추가

- 데이터수집 오브젝트 표시 방식 설정 기능 추가

- 데이터수집 트리거 On/Off/Toggle 추가

- 스크립트 함수 추가

- 키입력창 포커스 고정 기능 추가 등 기능 개선

- 그림설정 [터치] 등 명령식 사용 시 우선순위 지정 기능 추가

- 화면호출 오브젝트 사용자 보안 적용

- 런타임 RcpConfg 다이얼로그 CSV Export/Import 기능 추가

- PLC-S Ethernet FastMode 추가 / 멀티 프레임 쓰기

- 기타 화면 갱신 성능 개선 등 기능 개선 및 Bug Fix

자세한 내용은 도움말을 참조해 주십시오.

*주의사항 
1. Xpanel 2.52 버전은 하기 목록의 Xpanel 단말에서는 정상 동작이 되지 않을 수 있습니다. 
   반드시 제품명을 확인하시고 프로젝트를 진행해주시기 바랍니다. 
   
XpanelDesigner2.52 미지원 단말기 목록
   CM-XT07CB , CM-XT04CB, CM-XT05MB, CM-XT05SA, CM-XT05SB, CM-XT06CB, CM-XT10CC, CM-XT10CB, CM-XT12CB, CM-XT12CA

2. OS가 WINDOWS 7 이상일 경우 Mobile device center 를 설치하세요.