사용자 도구

사이트 도구

English

comfilehmi:remotescript:index

원격 스크립트 (CHC 시리즈 & 펌웨어 v3.15 이상 지원)

원격 스크립트 기능은 기존의 스크립트 ('액션>스크립트' 참조) 를 원격지에서 이더넷을 통해 실행할 수 있는 기능입니다.

C#이나 C++등 프로그래밍 언어를 사용하여 TCP/IP 통신을 통해 원하는 스크립트를 실시간으로 원격 실행할 수 있습니다. 서버 측(HMI 펌웨어) 버전이 최소 3.15 이상이고 CHC 시리즈일 경우만 원격 스크립트 요청을 인식할 수 있습니다.

실행 절차

1. HMI의 설정에서 네트워크 환경 설정을 한 후 원격 제어 서버를 구동(HMI의 런타임 설정>서버>원격 제어 서버 구동)시킨다.

2. PC 등 클라이언트에서 이더넷을 통해 서버에 접속한다.

3. 접속이 맺어진 것을 클라이언트 측에서 확인한 후 서버에게 스크립트를 보낸다.

(응답까지 받기 위해서는 접속을 유지시킵니다. 클라이언트 측에서 접속을 끊지 않는한 서버 측에서 연결을 끊지 않습니다)

스크립트 전송 프로토콜

클라이언트에서 보낼 스크립트는 XML(아스키) 형식이며 다음과 같은 형식을 가지고 있습니다.

<script>보낼 스크립트의 내용</script>

예) <script>a=b+3</script>

스크립트의 개요과 작성법에 관한 자세한 내용은 다음 내용을 참조하세요 (단, 반복 기능은 원격 스크립트에서 지원 안 함) http://www.comfilewiki.co.kr/ko/doku.php?id=comfilehmi:multiaction10:index

만약 서버에서 원격 제어를 위한 비밀번호를 설정했을 경우 다음과 같은 형식으로 보내야 합니다.

<script password="비밀번호">보낼 스크립트의 내용</script>

예) <script password="1289">$a="안녕하세요"</script>

스크립트 내용 중 한글 등의 다국어가 있을 경우는 UTF-8 포맷으로 보내야 합니다.

응답 받는 방법

클라이언트에서 스크립트를 보내어 서버에서 실행하게 할 뿐 아니라 어떤 응답을 서버측으로부터 받고 싶을 때도 있습니다.

스크립트내에서 특정 함수를 사용하여 보내면 특정한 응답을 서버로부터 받아낼 수 있습니다.

예를 들어 HMI변수 'a'값을 byte화시켜서 클라이언트가 응답으로 받고 싶을 경우 다음과 같이 스크립트 패킷을 보내면 됩니다.

예) <script>write_byte(a);</script>

byte뿐 아니라 워드, 더블 워드, 문자열, 파일 내용 등도 보낼 수 있습니다. 자세한 내용은 다음 링크의 함수 해설을 참조하세요. http://comfilewiki.co.kr/ko/doku.php?id=comfilehmi:hmieditor_function:index

송수신 테스트 방법

ComfileHMI 에디터에서는 이 원격 스크립트 기능을 직접 테스트해 볼 수 있는 "원격 스크립트 테스트 박스" 기능을 제공합니다. (메뉴의 '도구>고급 기능>원격 스크립트 텍스트 박스') ComfileHMI 에디터(PC)가 클라이언트라고 가정하고 테스트해볼 수 있도록 되어 있습니다.

ComfileHMI

comfilehmi/remotescript/index.txt · 마지막으로 수정됨: 2022/07/04 02:54 저자 Comfile Technology