Добрый день! Вопрос такой. Есть кнопка "Запуск измерения" и поле "Результат". Как сделать так, чтобы в поле "Результат" была индикация "---" пока кнопка не нажата, затем "..." по нажатию кнопки и "100500"(к примеру) по окончании измерения. Контроллер собственной разработки - можно сделать любое число тегов при необходимости. OPC-сервер - ИНСАТ - можно написать Скрипт. Пробовал менять разные статусы Переменной "Результат" в OPC-сервере (КАЧЕСТВО ХОРОШЕЕ, КАЧЕСТВО ПЛОХОЕ, ОШИБКА ПРИБОРА и т.д.) - СКАДА все-равно отображает значение Переменной в поле "Результат". В Мастер-Скаде в этом случае выскакивает соответствующее сообщение. Даже если ввести отдельную Переменную "Статус измерения" (напримео, 0 = идет измерение), то в Simple-Scada по значению этой переменной можно только поменять свойство обьекта Поле - а мне надо убрать значение переменной "Результат" и вывести индикацию "...."
Здравствуйте!
Средствами Simple-Scada 1.3.3 этого не сделать, т.к. в ней нет продвинутых функций и возможности использования скриптов. Это возможно только в Simple-Scada 2.
Можно перенести этот вопрос в тему Simple-Scada 2 и привести небольшой пример скрипта для отображения значения переменной "Результат" по переменной "Статус измерения". Или похожий пример. Буду очень признателен!
В Simple-Scada 2 можно работать со строковыми переменными. Возможно в Вашем случае проще всего иметь не две отдельных переменных "Результат" и "Статус измерения", а одну переменную "Результат", но с типом "строка" (string) и менять её на контроллере. До вычислений давать ей значение "---", во время вычислений "...", а после записывать в неё результат вычислений, переведенный в строку.
Если этот вариант не подходит, то средствами скады удобнее всего использовать объект "Текст", а не "Поле", т.к. поле автоматически меняется при изменении переменной. Для объекта "Текст" последовательность должна быть такой:
- добавляем объект текст в проект. Допустим он будет называться "Text1";
- меняем у него свойство "Переменная" и выбираем переменную "Статус измерения" (vrStatus);
- переходим к событию OnDataChange объекта "Text1" и пишем скрипт (см. ниже). Теперь текст будет меняться в соответствии со статусом измерений;
- осталось только добавить кнопку, которая будет запускать измерения и менять переменную "Статус измерения" в соответствии со статусом. Когда статус будет равен 2, в тексте отобразится значение переменной Результата (vrResult);
- готово;
Скрипт для события OnDataChange объекта Text1:
case vrStatus.ValueAsInt of
0: Text1.Text := '---'; // до вычислений
1: Text1.Text := '...'; // во время вычислений
2: Text1.Text := vrResult.AsStr; // результат получен
end;
Огромное СПАСИБО за поддержку! Буду переносить проект в Simple-Scada 2 и попробую оба способа.