PagePopUp и STRING имена

Обсуждение SCADA-систем: Citect SCADA, Vijeo Citect, CitectSCADA, CitectFacilities, PowerLogic SCADA, PowerSCADA, MX4SCADA, Desigo Insight, Vijeo Look и HMI: Vijeo Designer, Operator Terminal Expert.
kvn
Сообщений в теме: 4
Сообщения: 105
Зарегистрирован: 08 сен 2015, 12:12
Откуда: Екатеринбург
Благодарил (а): 10 раз

PagePopUp и STRING имена

#1

Сообщение kvn » 05 ноя 2015, 14:05

Функция при обнаружении ошибки открывает всплывающее окно с сообщением об этом - использую PagePopUp("TIMESTAMP_channel_error").
В окне требуется отобразить указание на STRING имя параметра вызвавшего ошибку.
Т.к. функция способна определять более одной ошибки, нужно в дальнейших открытых окнах (более одного) увидеть разные параметры - для каждого окна свой.
Если в окне указываю локальную STRING переменную и в нее записываю значения параметров то соответственно вижу во всех окнах одинаковое значение параметра, равное последнему значению определенному функцией.
Подскажите, каким образом можно на каждое окно вывести свой параметр?
Вроде можно с использованием PageSetStr...



Аватара пользователя
alex
Администратор
Сообщений в теме: 3
Сообщения: 1818
Зарегистрирован: 05 апр 2010, 21:58
Откуда: Москва
Благодарил (а): 53 раза
Поблагодарили: 116 раз
Контактная информация:

Re: PagePopUp и STRING имена

#2

Сообщение alex » 06 ноя 2015, 10:22

Да, думаю что функции PageSetStr и PageGetStr могут подойдут для решения передачи сообщения как параметра в окно. Как вариант, если сообщения типовые (стандартные), можно создать ряд окон, с заранее сконфигурированными сообщениями и вызывать их в зависимости от типа обнаруженной ошибки.



kvn
Сообщений в теме: 4
Сообщения: 105
Зарегистрирован: 08 сен 2015, 12:12
Откуда: Екатеринбург
Благодарил (а): 10 раз

Re: PagePopUp и STRING имена

#3

Сообщение kvn » 06 ноя 2015, 13:27

Да, создание ряда окон - вариант попроще, но ошибок намечается выводить много.
Хоть и в типовое окно, но с разным наименованием элементов вызвавших ошибку в задаче.

Не могу понять, а что за параметры требуется ввести в функцию PageSetStr(sLabel, sVar [, iWinNum])?
"sLabel - String имя переменной, которая будет содержать sValue" - в моем случае это похоже STRING имя параметра вызвавшего ошибку?
"sVar - String для хранения" - что здесь требуется указывать, не понятно.
И как эта функция работает?
В описании указывается, что она хранит локальную String и связывает ее с именем страницы.
Вроде как надо сначала сохранить String используя PageSetStr, а затем получить его используя PageGetStr...



Аватара пользователя
alex
Администратор
Сообщений в теме: 3
Сообщения: 1818
Зарегистрирован: 05 апр 2010, 21:58
Откуда: Москва
Благодарил (а): 53 раза
Поблагодарили: 116 раз
Контактная информация:

Re: PagePopUp и STRING имена

#4

Сообщение alex » 06 ноя 2015, 14:23

Вот в хелпе есть пример использования функции:
// This example generates a form to request a user to approve the tag write operation.
// This user needs privilege levels of 6 and 3.
// When approved, the PLC_VAR1 tag is written with the value 123 and a page string
// is set to indicate the approval status.
IF (VerifyPrivilegeTagWrite("PLC_VAR1", "123", "ApprovalLog",
 "PlantWide", "", "6", "3", "", "", "", "", "", "")<>"") THEN
    PageSetStr(1, "TagWrite Successful");
ELSE
    PageSetStr(1, "TagWrite Not Successful");
END

Из описания, с каждой страницей может быть связан локальный по отношению к странице массив строк или целых, которые можно устанавливать и читать пока страница отображается.



kvn
Сообщений в теме: 4
Сообщения: 105
Зарегистрирован: 08 сен 2015, 12:12
Откуда: Екатеринбург
Благодарил (а): 10 раз

Re: PagePopUp и STRING имена

#5

Сообщение kvn » 06 ноя 2015, 15:06

В функции PageSetStr(1, "TagWrite Successful") -
"TagWrite Successful" - строка которая будет отображаться на странице.
А что такое 1 не понятно...



kvn
Сообщений в теме: 4
Сообщения: 105
Зарегистрирован: 08 сен 2015, 12:12
Откуда: Екатеринбург
Благодарил (а): 10 раз

Re: PagePopUp и STRING имена

#6

Сообщение kvn » 06 ноя 2015, 15:25

Удалось разобраться!
1 - это задаем имя для временного хранения на странице.
На странице с помощью функции PageGetStr(1) читаем это имя.



Аватара пользователя
alex
Администратор
Сообщений в теме: 3
Сообщения: 1818
Зарегистрирован: 05 апр 2010, 21:58
Откуда: Москва
Благодарил (а): 53 раза
Поблагодарили: 116 раз
Контактная информация:

Re: PagePopUp и STRING имена

#7

Сообщение alex » 06 ноя 2015, 15:32

Думаю, что в качестве имени лучше использовать нормально имя, а не числовые значения.




Если эта тема может быть полезна другим, поделитесь ссылкой:

Вернуться в «Citect SCADA, Vijeo Citect, CitectSCADA, CitectFacilities, PowerLogic SCADA, PowerSCADA, MX4SCADA, Desigo Insight, Vijeo Look, Vijeo Designer, Operator Terminal Expert»