0

Время переменной

Азат 10 лет назад в Общие вопросы обновлен 10 лет назад 0
Здравствуйте.
Помогите решить задачку
В OPC-сервере (Lectus) есть, скажем, две переменные: MasterSW1 и SlaveSW1.
Необходимо отображать в Мониторе только ту переменную, у которой атрибут (метка) "время переменной" более свежее.
Спасибо
Image 105
JPEG1.jpg
День добрый.

В OPC-сервере (Lectus) есть, скажем, две переменные: MasterSW1 и SlaveSW1.
Необходимо отображать в Мониторе только ту переменную, у которой атрибут (метка) "время переменной" более свежее.

В текущей версии системы, у этой задачи к сожалению нет решения. Возможно было бы решить с помощью скриптов, но на данный момент из под скрипта нельзя получить метку времени у переменной. Задача на самом деле простая, но недостает инструмента. В ближайшее время добавим в скрипты функцию для получения метки времени.
Добавил в OPC-сервер две дополнительные переменные типа WORD.
Необходимо записать в виртуальный канал значение Slave.IN0 или Master.IN0
Алгоритм выбора:
Если переменная Slave.Time(WORD) больше Master.Time(WORD), то в виртуальный канал записываем значение Slave.IN0
и наоборот: если переменная Master.Time(WORD) больше Slave.Time(WORD), то в виртуальный канал записываем значение Master.IN0
Прошу написать пример скрипта для виртуального канала


JPEG2.jpg
День добрый.

Добавил в OPC-сервер две дополнительные переменные типа WORD.
Необходимо записать в виртуальный канал значение Slave.IN0 или Master.IN0
Алгоритм выбора:
Если переменная Slave.Time(WORD) больше Master.Time(WORD), то в виртуальный канал записываем значение Slave.IN0
и наоборот: если переменная Master.Time(WORD) больше Slave.Time(WORD), то в виртуальный канал записываем значение Master.IN0
Прошу написать пример скрипта для виртуального канала

var val1, val2: word; value: double; begin val1 := ReadValue('Master.Time(WORD)'); val2 := ReadValue('Slave.Time(WORD)'); if val1 > val2 then begin value := ReadValue('Master.IN0'); WriteValue('Виртуальный канал', value); end else begin value := ReadValue('Slave.IN0'); WriteValue('Виртуальный канал', value); end; end.

Сервис поддержки клиентов работает на платформе UserEcho