안녕하세요.
CIMON 입니다.
CimonX에서 외부 bat파일을 실행시켜 윈도우를 재시작하는 방법 예제 입니다. Shell 함수와 CurDir$ 명령어, bat 파일 이용 방법에 대해 간략히 설명합니다.
[이럴 때 사용하시면 됩니다]
CimonX에서 윈도우를 재시작하고 싶을 때 사용하시면 됩니다.
[프로젝트 예제 작성 버전 및 주의사항]
SCADA Ver 2.10(R100618), SCADA Ver 3.04(R160224)
v3.04에서 작성된 프로젝트는 하위버전에서 열리지 않습니다.
v2.10을 받으셔서 프로젝트 업그레이드를 하시기 바랍니다.
[예제 설명]
Shell() 함수는 외부의 실행파일을 CimonX에서 실행시키는 명령어입니다. CurDir$는 현재 프로젝트 파일 경로를 가져오는 명령어입니다. Bat 스크립트는 윈도우 cmd 명령을 실행하는 파일입니다. 복잡해 보이지만 이것들을 조합하여 짧고 간단하게 CimonX에서 윈도우를 재시작할 수 있습니다.
1. 윈도우 재시작 명령은 bat 파일에서 제공할 수 있습니다.
Bat 스크립트는 단순하지만 간단한 기능들을 구현하기에 편리한 도구입니다.
bat 파일에서 shutdown –r –t 시간(초) 명령어는 (시간)초 이후에 윈도우를 재시작하는 명령어 입니다.
시작-실행에서 cmd 입력하여 cmd창을 열고 shutdown /?을 입력해보시면, bat 스크립트에서의 shutdown 명령어에 관한 도움말을 확인하실 수 있습니다.
2. bat 파일을 작성하도록 하겠습니다. txt 파일에서 작성 후 파일 이름 뒤의 확장자명을 .bat으로 변경하시면 bat 파일이 됩니다.
(Bat 파일이름은 명령어 이름과 동일하면 안됩니다. Shutdown.bat을 파일명으로 하면 정상동작하지 않습니다. 한글파일명은 피하도록 합니다.)
저장 후 실행하면 윈도우 재시작 명령이 즉시 실행되니 pause 명령을 넣어 cmd 창에서 잠시 멈추도록 하였습니다.
3. 저장 후 bat 파일을 더블 클릭하여 실행합니다.
아래와 같은 창이 나타났을 때, 아무 키나 누르시면 윈도우 재시작이 실행됩니다.
정상적으로 동작하는 것을 확인하였으니, 즉시 실행시키기 위해 pause 명령을 지우고 저장합니다.
윈도우 재시작을 즉시 실행시키는 실행파일(WinShutdownSample.bat)을 만들었으니, CimonX에서 실행되게끔 CimonD에서 버튼을 만들고 스크립트를 작성하시면 됩니다.
4. 윈도우 재시작 스크립트를 실행할 수 있게끔 버튼을 만듭니다.
5. 스크립트를 작성합니다. 스크립트 이름과 RunScript(“스크립트”)의 이름을 일치시켜줍니다.
Shell(“파일경로”, number)는 외부 파일을 실행하며, number에 따라서 실행파일창 상태를 선택합니다. 그리고 task ID를 반환합니다. (Shell()만 사용할 수 없습니다.)
number 0은 실행된 파일을 감춤 상태로 두며, 1은 실행파일이 화면 focus에 맞추도록 합니다.
자세한 내용은 Sample Project의 “[SCADA][스크립트]외부 프로그램을 CimonX에서 실행하는 방법 예제”에 상세히 설명되어 있습니다.
CurDir$는 현재 프로젝트 경로를 반환합니다.
현재프로젝트 경로 문자열 + WinShutdownSample.bat 파일을 실행합니다. cmd창을 감춘채로 실행되며, 실행 id를 a에 넣습니다.
6 만든 bat 파일을 프로젝트 경로에 넣습니다.
스크립트의 Shell 함수의 실행파일 경로를 확인합니다.
7. CimonX를 실행하여 정상적으로 윈도우가 재시작되는지 확인합니다.
재시작되는 화면은 직접 확인하시기 바랍니다.
[적용 방법]
기존 프로젝트에 사용하시려면 다음과 같이 작업하시면 됩니다.
예제 프로젝트 내의 WinShutdownSample.bat 파일을 복사하여 기존 프로젝트 경로에 붙여넣습니다.
예제와 같이 스크립트를 작성합니다. 복사 붙여넣기 하셔도 됩니다.
해당 스크립트를 실행할 수 있는 버튼을 만듭니다.
CimonX를 실행하고 스크립트를 실행시켜 정상적으로 동작하는지 확인합니다.
첨부 1. UsingBatFile-v304.zip
첨부 2. UsingBatFile-v210.zip
감사합니다.
#재부팅예제#PC재부팅#프로젝트예제#샘플프로젝트#SCADA프로젝트예제#SCADA샘플프로젝트#스카다프로젝트예제#스카다샘플프로젝트