안녕하세요.
CIMON 입니다.
스크립트로 원하는 경로에 폴더가 이미 있는지 검사하는 예제입니다.
[ 이럴 때 사용하시면 됩니다 ]
SCADA 프로그램 가동 중 탐색기에 접근이 힘든 경우, 스크립트 만으로 SCADA에서 해당 위치에 생성된 폴더가 있나 확인하고 싶을 때 사용하시면 됩니다.
[ 프로젝트 예제 작성 버전 및 주의사항 ]
SCADA Ver 3.04(R160224)
v3.04에서 작성된 프로젝트는 하위버전에서 열리지 않습니다.
[ 예제 설명 ]
1. 프로그램은 확인하고 싶은 파일의 경로를 입력 받는 “경로” 태그 하나와 입력확인 버튼 하나로 이루어져 있습니다. 모든 동작은 SCH search 스크립트에서 실행됩니다.
2. 아래와 같이 원하시는 확인 경로를 적어주시고 입력 확인을 누르시면 입력 확인 버튼의 명령식 RunScript(“SCH”) 가 실행되며 파일을 찾아줍니다. 입력한 경로가 존재하는 경로면 스크립트의 GetAttr 함수가 16을 반환하고 MsgBox로 “폴더가 존재합니다” 라는 메시지를 띄웁니다.
3. 입력했던 경로가 존재하지 않는 경로면 16을 반환하지 않고 다른 수를 반환하게 되고 이는 오류로 인식되어 오류 처리 구문으로 넘어가 메시지 박스로 “폴더가 없습니다”를 띄우게 됩니다.
4. 입력확인 버튼을 누르면 실행되는 SCH 스크립트는 다음과 같습니다.
[ 적용 방법 ]
폴더가 이미 있는지 검사하고 나서 하위 폴더를 만들거나 해당 폴더에 파일을 만들면 됩니다. 이와 관련한 스크립트는 다운로드 센터에서 [SCADA][스크립트] CimonX를 통한 파일 관리 예제 프로젝트 를 참조하시면 됩니다.
[SCADA][스크립트] CimonX를 통한 파일 관리 예제 프로젝트
Mkdir 함수와 FileCopy 명령어를 통해 SCADA에서 폴더를 확인 후 존재하지 않는 경로면 디렉토리를 생성 후 파일을 생성하도록 스크립트를 작성할 수 있습니다.
Mkdir 함수와 FileCopy 명령어는 아래와 같이 사용하실 수 있습니다.
delFilePath$ = GetTagVal(“DELFILEPATH”) ‘지정한 파일 경로를 delFilePath 문자열에 대입합니다.
MoveFilePath$ = GetTagVal(“MOVEFILEPATH”) ‘지정한 파일 경로를 MoveFilePath 문자열에 대입합니다.
BackupFile$ = GetTagVal(“BACKUPFILE”) ‘지정한 파일 경로를 BackupFile 문자열에 대입합니다.
Dim FileName$() ‘FileName 문자열 배열을 선언합니다.
FileList FileName$, delFilePath$+BackupFile$+”.*” ‘FileName 문자열 배열에 삭제 경로의 지정한 백업파일.형식 을 저장해줍니다.
If ( FileExists(MoveFilePath$) = 0 ) Then ‘GetAttr가 16을 반환하는 지와 같은 기능을 합니다.(경로가 존재하는지)
MkDir MoveFilePath$ ‘그 디렉토리를 만들어줍니다.
End If
i% = 0 ‘정수형 변수 i = 0 를 선언합니다.
While ( FileName$(i) <> “” ) ‘FileName 문자열 배열이 EMPTY가 아닐 때까지
FileCopy delFilePath$+FileName$(i%), MoveFilePath$+FileName$(i%) ‘삭제 디렉토리의 파일을 옮기고자 하는 디렉토리에 복사해줍니다.
Kill delFilePath$+FileName$(i%) ‘옮기고 난 후 삭제 디렉토리의 파일은 삭제합니다.
i% = i%+1 ‘한 루프를 돌고 i를 증가시켜 다음 FileName 문자열에 접근합니다.
또한 리스트박스와 wcInsertItem을 사용하여 해당 폴더의 파일들을 나타내줄 수도 있습니다.
첨부 1. FolderSCH.zip
#경로검사#폴더검사#파일검사#SCADA폴더#SCADA경로#SCADA검사#프로젝트예제#샘플프로젝트#SCADA프로젝트예제#SCADA샘플프로젝트#SCADA스크립트사용예제#SCADA스크립트사용방법#SCADA스크립트사용샘플#SCADA스크립트