16.4 Python 스크립트

본 절에서는 함수(Function) 및 서브루틴(Subroutine)을 사용하여 Python 스크립트를 작성하는 방법을 설명합니다. 스크립트 작성 시, 다음 주의사항을 잘 숙지하여 함수 및 서브루틴을 입력하여 주시기 바랍니다.

 

  • 스크립트 상에서 함수와 서브루틴을 입력할 시, 함수의 경우 출력되는 값이 존재하므로 반드시 괄호를 포함하여야 합니다. 서브루틴의 경우에는 괄호를 사용하지 않습니다.

  • 명령식으로 함수와 서브루틴을 사용할 경우, 두 식 모두 괄호를 사용하여 입력하여야 합니다.

  • 스크립트 상에서는 반드시 함수와 서브루틴을 구별하여 입력하여야 합니다.

  • 스크립트에서 사용할 수 있는 함수 및 서브루틴은 스크립트(부록), 연산식 및 명령식 도움말에서 확인해주시기 바랍니다.

경고: 파이썬 버전 호환성 문제

SCADA PRO의 [Python 스크립트] 기능은 Python 3.12 버전을 기반으로 하고 있습니다. 사용하려는 특정 라이브러리가 Python 3.12 버전과 호환되지 않을 수 있고, 이로 인해 발생하는 모든 문제나 오류에 대해 당사는 책임지지 않습니다. 안정적인 프로그램 실행 및 운용을 위해 Python 3.12 버전과 호환되는 라이브러리를 사용해주시기 바랍니다.

 

스크립트 작성 및 실행 방법

태그 값을 변경하는 스크립트를 예시로 하여 스크립트를 작성하고 실행하는 방법을 설명합니다.

 

While문에는 반드시 Sleep 함수를 이용하여 각 루프마다 일정 시간(최소 100msec)을 쉬게 해주어야 합니다. 그렇지 않을 경우, 이 스크립트는 쉬지 않고 실행되어 프로젝트의 실행 속도가 전체적으로 느려지게 됩니다.
Sleep 함수에 대한 자세한 내용은 스크립트(부록) 도움말 1.5절 ‘흐름제어 함수 및 제어문’ (29p)을 참조해주시기 바랍니다.

 

스크립트 실행 서브루틴

서브루틴명

명령식 표기

RunScript(“스크립트 이름”)

스크립트 표기

RunScript “스크립트 이름”

기능

지정된 스크립트를 실행합니다.

내용

스크립트 ‘ValueChange’를 실행합니다.

RunScript(“ValueChange”)

서브루틴명

명령식 표기

RunScriptEx(“스크립트 이름”, 옵션, 매개변수)

스크립트 표기

RunScriptEx “스크립트 이름”, 옵션, 매개변수

기능

지정된 스크립트를 매개변수를 전달하여 실행합니다.

옵션

0

지정된 스크립트가 현재 실행 중이면 아무런 동작도 수행하지 않습니다.

1

지정된 스크립트가 현재 실행 중이면 스크립트가 종료될 때까지 기다린 후, 지정된 매개변수로 스크립트를 실행시킵니다.

매개변수

스크립트에 전달되는 파라미터로, 해당 스크립트에서 GetParameter() 함수를 호출하여 값을 전달받을 수 있습니다. 숫자 또는 문자열을 입력합니다.

내용

매개변수Test’를 함수로 전달하고, 스크립트 ‘ValueChange’를 실행합니다.

RunScriptEx(“ValueChange”, 1, Test)

서브루틴명

명령식 표기

StopScript(“ValueChange”)

스크립트 표기

StopScript “ValueChange

기능

지정된 스크립트를 정지합니다.

내용

스크립트 ‘ValueChange’를 정지합니다.

StopScript(“ValueChange”)