AGG Software
Задать вопрос  В начало  Назад  Дальше

Синтаксис

Синтаксис скриптов совместим с BasicScript или VBScript, но список встроенных и поддерживаемых функций полностью отличается. В папке с программой \ "ScriptSamples" вы может посмотреть некоторые примеры скриптов.

 

Обратите внимание, что программа приостанавливает все операции в данном блоке пока выполняет скрипт. Поэтому избегайте скриптов с длительным временем исполнения.

 

Скрипты могут использовать некоторые специальные функции:

 

function GetValue(Name: string): Varinat

 

эта функция возвращает значение OPC тега из любого блока визуализации.

 

Name - имя тега.

 

function SetValue(Name: string; Value: variant)

 

Функция устанавливает значение OPC тега в указанном блоке визуализации. Значение НЕ записывается в OPC сервер.

 

Name - имя тега.

Value - новое значение.

 

function ExecuteFile(FileName, Parameters, WorkingDir: string; Options: integer): integer

 

Выполняет указанный файл.

 

FileName - полное имя файла

 

Parameters - необязательные параметры для исполняемого файла

 

WorkingDir - рабочая папка (если не задано, то используется текущая папка).

 

Options

 

0 - скрыть окно.

3 - развернуть окно на весь экран.

6 - свернуть окно на панель задач.

9 - показать окно и сделать его активным.

5 - показать окно и сделать его активным.

7 - показать окно в свернутом состоянии, но оставить его активным.

8 - не изменять состояние окна запускаемого приложения.

4 - показать окно в последней его позиции и оставить активным.

1 - показать окно в последней его позиции и оставить активным, если ранее окно было свернуто, то оно будет развернуто.

 

function AppendFile(FileName, Data: string): boolean

 

Добавить текст к файлу. Если файл не существует, то он будет создан.

 

function WriteFile(FileName, Data: string): boolean

 

Записывает текст в указанный файл. Если файл уже существует, то он будет перезаписан.

 

function ReadFile(FileName: string): string

 

Считывает весь текст из указанного файла.

 

 

Пример GetValue/SetValue

 

dim val1, val2, name1, name2

 

name1 = "ThisBlockOpcTagName"

name2 = "AnotherBlockOpcTagName"

 

val1 = GetValue(name1)

select case val1

 case 1: val2 = "new value 1"

 case 2..10: val2 = "new value 2"

 case else: val2 = "new value 3"

end select

 

SetValue(name2, val2)

 

Пример выполнения файла

 

dim val1, name1

dim working_dir = ""

dim parameters = ""

 

 

name1 = "ThisBlockOpcTagName"

val1 = GetValue(name1)

 

if val1 > 100 then

 ExecuteFile("C:\alert.bat", parameters, working_dir, 0)

end if

 

 

Пример записи в лог

 

dim val1, name1, s

 

name1 = "ThisBlockOpcTagName"

val1 = GetValue(name1)

 

if val1 > 100 then

 s = "Value is too high"

 AppendFile("C:\Logs\log.txt", s) ' создает или дописывает в файл

end if

 


Copyright © 1999-2018, AGG Software.
All rights reserved.