[SCADA][스크립트] CimonX를 통한 파일 관리 예제 프로젝트

 

안녕하세요.

CIMON 입니다.

CimonX에서 스크립트를 통해 파일 관리를 하는 예제입니다.

 

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

CimonX에서 직접적으로 원하는 경로에 접근하여 파일을 읽어들이고 삭제 혹은 이동시키고 싶으실 때 사용하시면 됩니다.

 

[ 프로젝트 예제 작성 버전 ]

SCADA Ver 3.04(R160224)

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

 

[ 예제 설명 ]

1. 지정 경로의 파일을 읽는 방법입니다. 데이터가 저장된 폴더경로에 읽고 싶은 경로를 설정해줍니다. 중요한 점은 경로 마지막에 \ 을 추가해주어야 하는 것입니다. 그래야 폴더에 안에 포함된 파일들이 읽힐 수 있습니다.

2. 파일 읽기를 하면 실행되는 스크립트 중 파일 리스트 화면을 초기화 및 읽어올 파일들을 설정하는 부분입니다.

3. 리스트 박스에 2번에서 설정한 읽어올 파일들을 출력해주는 스크립트입니다. 변수 i를 이용하여 FileName에 저장된 파일 리스트들을 배열을 하나씩 증가시켜가며 리스트에 표현해줍니다.

4. 지정한 경로에 지정 파일이 존재하면, 그 파일을 삭제하고 wcGetIndex를 통해 얻은 리스트 위치로 리스트 박스에서 그 파일을 안보이게 지워주는 스크립트입니다.

 

5. 옮길 파일 이름에는 위에서 읽힌 파일 리스트 중 원하는 파일의 이름을 넣으면 됩니다. 그 다음 데이터가 옮겨질 폴더 경로를 설정해줍니다. 만약 Data2라는 새로운 경로를 설정하면 Data2라는 새로운 폴더가 생성됨과 동시에 ReadX.JPG가 옮겨집니다. 그 후 위의 파일 읽기를 다시 눌러보면 ReadX.JPG가 사라진 것을 확인할 수 있습니다.

6. 삭제할 경로, 이동할 경로, 백업 파일의 이름 등 경로 및 이름 정보를 저장합니다.

 

7. 입력 받은 경로 정보를 모두 문자열에 저장하고 이동할 지정 파일의 정보를 FileName에 담습니다. FileExists함수를 통해 입력 받은 파일 옮길 경로가 존재하는지 확인하고 존재하지 않는다면 MkDir 함수를 통해 그 디렉토리를 생성해줍니다. 그 후 FileName의 문자열이 Empty 될 때까지 선택한 파일을 생성한 디렉토리로 이동시키고 지워줍니다. 이로써 이동한 것처럼 보이게 됩니다.

 

8지정 이동 경로의 파일 읽기

데이터 이동 파트의 파일 읽기 버튼을 누르면 데이터가 옮겨진 경로 폴더의 파일들이 읽어집니다. 스크립트는 처음 파일 읽기 스크립트와 경로 태그만 다르고 나머지는 모두 같으므로 설명은 생략하겠습니다.

 

[적용 방법]

이 예제의 스크립트에서 파일, 경로를 직접적으로 관리하는 함수는 Kill 경로, FileCopy 경로, MkDir 경로 함수입니다. 이 함수들을 이용하여 이 샘플보다 더 많은 수의 파일 및 폴더들을 관리할 수 있습니다.

 

#파일읽기#파일삭제#파일이동#파일스크립트#SCADA파일읽기#SCADA파일삭제#SCADA파일이동#프로젝트예제#샘플프로젝트#SCADA프로젝트예제#SCADA샘플프로젝트#SCADA스크립트사용예제#SCADA파일스크립트사용방법#SCADA파일스크립트사용샘플#SCADA

CIMON PLC 링크 이중화 설정 방법

CIMON PLC 링크 이중화 설정 방법

 

 

 

 

1.       시스템 구성도

   

u         STN은 국번을 뜻함.

u         #1은 IP ADDRESS(100.100.100.1~8) 끝번호를 뜻함.

 

 

 

 

2.       설정 파라미터

u         PLC 파라미터에서 PLC링크(공동/이중화) 자동절체 선택후 확인.

u         링크(0) : PLC 링크에서 공동 네트워크 이중화 선택후 통신 블록 설정.

u         링크(1)

u         특수 카드 설정에서 이더넷 모듈 IP Address를 각각 설정한다.

 

 

 

 

3.       IP Address설정 특수 프로그램을 등록한다.

 

 

 

u         PLC링크설정에서 수신블록에 등록된 국번의 IP를 등록한다.

스테이션 1번은 스테이션 3번의 데이터를 수신하도록 통신블록이 되어있으므로 스테이션 3번의 IP(100.100.100.5)를 등록하고, 링크 이중화이므로 또다른 스테이션 3번 IP(100.100.100.7)를 등록해야 한다.

그러기 위해 32+스테이션 번호에 다른 한쪽의 스테이션 3번 IP를 등록한다.

 

 

u         같은 방법으로 스테이션 2번에 상대방 스테이션 4번의 IP를 설정한다. 당연히 특수프로그램을 2개가 된다.

 

 

4.       공동 네트워크 이중화에 대한 설정내용이었습니다. 수고하세요..

#이중화설정방법#이중화설정#링크이중화#링크이중화설정방법#이중화설정#PLC이중화설정방법#PLC이중화설정#PLC링크이중화#PLC링크이중화설정방법#PLC이중화설정

Ethernet 모듈 결선도입니다.

안녕하십니까? (주)KDT Systems입니다.

Ehternet 모듈 결선도를 첨부하였습니다.

감사합니다.

#Ethernet모듈결선도#모듈결선도#PLC모듈결선도#Ethernet결선도#PLC Ethernet모듈결선도#이더넷모듈결선도#PLC이더넷모듈결선도#이더넷결선도#PLC결선도

[Web Server] 웹 서버 사용시 135번 포트 체크 프로그램

안녕하십니까? (주)케이디티시스템즈 입니다.

CIMON-SCADA의 웹 서버 사용시 135번 포트를 사용 가능 한 지 체크하는 프로그램 입니다.

DCOM(Distributed Component Object Model)은 네트워크 상에서 프로세스 간의 통신을 가능하게 해주는 COM(Component Object Model) 기술의 네트워크 확장입니다.

DCOM은 135번 포트를 사용하게 됩니다.

감사합니다.

#웹서버#웹서버포트#웹서버134번포트#웹서버포트체크#포트체크#웹서버프로그램

[SCADA][스크립트] 보고서를 텍스트(txt) 파일로 자동 저장하는 방법 예제

안녕하세요.
CIMON 입니다.

보고서를 텍스트 파일로 자동 저장하는 예제입니다.

[이럴 때 사용하시면 됩니다]
이 예제는 시간에 따른 데이터를 txt 파일로 받아보고 싶을 때 사용하시면 됩니다.
일정관리기를 이용하여 파일 받는 시간을 정할 수도 있습니다.

[프로젝트 예제 작성 버전]
SCADA Ver 2.10(R100618), SCADA Ver 3.04(R160224)
v3.04에서 작성된 프로젝트는 하위버전에서 열리지 않습니다.
v3.04 이하의 버전을 사용하시는 분들은 v2.10에서 작성된 프로젝트를 받으셔서 프로젝트를 업그레이드를 하시기 바랍니다.

[예제 설명]
보고서를 txt파일로 받고, 매일 오전 9시에 파일을 생성하도록 설정하였습니다.

1. 읽어오고 싶은 값들을 태그로 등록합니다. 예제는 아날로그 태그 3개를 선택하였습니다.
보고서에 사용할 태그들이므로 “보고서용 데이터 생성”을 체크합니다.(보고서용 태그가 아니라면 시각에 따른 데이터가 저장되지 않습니다!)

2. 스크립트를 작성하기 전에 파일형식이 필요하므로, ReportForm.txt 파일을 만들어 프로젝트 폴더에 미리 넣어줍니다. 또는 양식파일의 위치를 양식파일이름 변수에 씁니다.
보고서가 저장될 폴더도 미리 만들어 놓습니다.
(양식파일과 파일이 생성될 경로의 폴더가 없으면 보고서가 만들어지지 않습니다.)

3. txt 보고서를 생성하는 스크립트를 작성합니다.
ReportForm.txt 파일을 만들어 프로젝트 폴더에 미리 넣어 준 경우에는 파일이름만 쓰면 됩니다.(4행) 또는 양식파일의 위치를 양식파일이름 변수에 씁니다.(6행)
ReportTimeStr() 명령어는 내부함수로 도움말을 참고하세요.
이 경우에는 -1일 : 전일 날짜, 12 : “yyyy년mm월dd일” 형식 으로 문자열로 출력합니다.

4. RunScript(“MakeReport”) 명령어를 버튼에 넣어 보고서를 출력할 수도 있고, 매일 9시에 자동으로 스크립트가 실행되도록하여 txt파일로 보고서를 출력 받을 수 있습니다.

5. CimonX를 실행하고, 버튼을 클릭하여 정상적으로 실행되는지 확인해봅니다.
예제를 작성한 8월 7일 전일인 8월 6일의 보고서용 데이터가 출력되는 것을 확인할 수 있습니다.

[적용 방법]
보고서파일명의 원하시는 시간 형식은 TimeStr(시간표시형식) 도움말을 보시고, 번호를 선택하면 됩니다.

다른 태그명을 쓰실 경우, 21행의 태그1,2,3 변경해주시고, 31~104행까지 태그명을 전부 변경해주셔야 합니다.

 

첨부 1. txtReport(v304).zip

첨부 2. txtReport(v210).zip

#텍스트(txt) 파일 저장 #일정관리기 #프로젝트예제 #SCADA샘플프로젝트 #SCADA프로젝트예제

[SCADA][기능] 윈도우 컨트롤을 사용하는 프로젝트 예제

안녕하세요.

CIMON 입니다.

 

윈도우컨트롤들을 활용하는 방법입니다.

 

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

윈도우컨트롤 기능들이 어떻게 구현되고 동작되는지 확인해보고 싶으실 때 사용하시면 됩니다.

 

[프로젝트 예제 작성 버전]

SCADA Ver 3.04(R160224)

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

 

[예제 설명] 

1. 체크박스와 라디오버튼을 이용한 입출력테이블 예제.

  • 각 가전제품에 해당하는 체크박스를 선택하시면 선택 시 1, 해제 시 0이 쓰이며 바로 옆의 입출력 테이블에서 해당 비트를 확인하실 수 있습니다. 라디오버튼의 약, 중, 강 세 상태가 0, 1, 2의 값으로 표현되며 이 또한 바로 옆의 입출력 테이블에서 확인하실 수 있습니다.

 

2. 에디트컨트롤을 이용한 리스트박스 예제

리스트 박스에 원하는 항목을 추가하기 위해 할 일 추가 버튼 옆의 에디트 컨트롤 창에 내용을 적고 할 일 추가 버튼을 눌러주시면 리스트박스에 삽입되어지는 것을 확인할 수 있습니다.

완료한 업무는 리스트 박스의 항목을 클릭하신 후 해당 업무 완료 버튼을 누르시면 리스트 박스 상에서 삭제됩니다.

윈도우 컨트롤 창의 현재 인덱스를 받아 그 아이템만 리스트에서 지워주는 작업을 합니다.

새로이 리스트 박스를 쓰시고 싶으시면 리스트 초기화 버튼을 눌러 리스트를 깨끗이 비울 수 있습니다.

 

3. LogDB를 이용한 리스트 컨트롤 예제

먼저 실행하기 앞서 첨부된 EXCEL_FORM.xlsx 파일을 E:\CIMON\LOG_DATA에 넣어 줍니다.

또한 도구 -> 사용자 LOG DB를 선택하신 후 좌측 트리의 WindowCtrl 밑의 USER_LOG_DB를 선택하여 줍니다. 그리고 저장 경로를 위와 마찬가지로 E:\CIMON\LOG_DATA 이 위치로 설정해줍니다.

(경로 설정은 고객님의 CIMON 폴더 저장 위치에 따라 변동해주어야 합니다. Ex) C 디스크에 CIMON 폴더이면 C:\CIMON\LOG_DATA 로 설정)

 

해당하는 생산 라인 번호와 해당 제품의 파트 번호 그리고 시리얼 넘버를 입력하신 후 항목 추가를 누르면 사용자 LOG DB 상에 입력하신 정보들이 저장됩니다.

N이 0이 출력되면 성공한 것이고 나머지 값은 실패하였음을 의미합니다.

저장된 데이터들 중 원하는 시간대에 생성된 데이터를 보고 싶을 경우 검색 시작 시간과 검색 종료 시간을 설정해 주시고 검색을 누르시면 List Control 창에 해당 데이터들이 표시될 것입니다.

Ex) 2017-08-01 00:00:00부터 2017-08-30 23:59:59 사이에 생성된 데이터를 찾고 싶을 때 2017-08-08 13:45:00 에 생성된 데이터가 LOG DB 상에 등록이 되어있으면 검색이 되어 List Control 창에 나타나게 됩니다.

GetTagVal로 각 문자열 태그에 달력 컨트롤에서 입력 받은 값을 넘기고 DbSetFindTimeStr으로 검색 시간을 설정합니다. 그리고 DbFindRun을 통해 실직적인 검색을 수행합니다. 이 때 n은 검색한 리스트의 개수를 반환합니다. wcGridCommand는 목표 List Control에 찾은 값을 출력해줍니다.

 

[적용 방법]

윈도우 컨트롤 중 체크 박스는 Bit로 라디오 버튼은 (0~8)까지 선택할 수 있는 아날로그 태그와 연결하셔서 사용하시면 됩니다.

리스트 박스와 콤보 박스는 wc함수들을 사용하여 목록에 표시, 삭제를 제어할 수 있습니다. 이 wc 함수들은 도움말 -> 연산식 및 명령식 -> 내부함수 -> 기기화면 관련 함수 에 자세한 설명과 사용법이 나오니 참조해주시기 바랍니다.

에디트 컨트롤은 태그와 연결해 실시간으로 입력 받은 데이터를 넘기는 버퍼 역할을 할 수 있습니다.

입출력 테이블은 태그의 값을 CimonX에서 실시간으로 보여주는 표 역할을 합니다.

리스트 컨트롤은 사용자 Log DB 와 연동해 많이 사용합니다. 따라서 엑셀과도 연동시켜 데이터를 효율적으로 CimonX에 표시해주는 역할을 합니다.

달력 컨트롤은 손쉽게 날짜 및 시간 정보를 입력하도록 도와줍니다.

 

#윈도우콘트롤사용예제#윈도우콘트롤사용방법#윈도우콘트롤사용샘플#윈도우콘트롤#프로젝트예제#샘플프로젝트#SCADA프로젝트예제#SCADA샘플프로젝트#SCADA윈도우콘트롤사용예제#SCADA윈도우콘트롤사용방법#SCADA윈도우콘트롤사용샘플#SCADA윈도우콘트롤