Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Как превести к шкале  (Прочитано 2741 раз)

Тимур

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Как превести к шкале
« : 28 Марта 2023, 17:18:30 »
Первой раз создаю проект на Simple-Scada.
По OPC получаю данный с CPU STAHL 9440 в формате от 0 до 32762.
Завел переменную в проект TT1 источник (OPC.tag1) с шкалой от 0 до 32762.
Надо для внутренней переменой TIR1 перевести значения TT1 (от 0 до 32762) к стандартной шкале прибора от 0 до 100 С.
пробивал писать скрипт TIR1 :=Scaling(32762,0,100,0, TT1) что-то ругается  :-\

Simple Scada

  • Глобальный модератор
  • *****
  • Сообщений: 285
    • Просмотр профиля
    • Simple-Scada
Re: Как превести к шкале
« Ответ #1 : 28 Марта 2023, 20:48:15 »
Здравствуйте.

Для этого не требуется использовать скрипты и дополнительную переменную. См. опцию "Сдвиг запятой". Если требуется масштабировать значение переменной к заданной шкале, то для этого необходимо перейти в режим масштабирования (кнопка напротив поля "Сдвиг запятой") и задать визуальную шкалу, в которую требуется преобразовать значение. В Вашем случае, визуальную шкалу нужно задать 0-100, а шкалу переменной нужно указать 0-32762. Тогда значение переменной будет автоматически преобразовываться из шкалы 0-32762 в шкалу 0-100.

Цитировать
пробивал писать скрипт TIR1 :=Scaling(32762,0,100,0, TT1) что-то ругается
Для записи значения в переменную нужно использовать свойство "Value". Для обращения к значению переменной рекомендуется использовать явное приведение значения переменной к нужному типу. Например, если требуется получить значение переменной в виде целого числа, то нужно использовать свойство AsInt
Код: (delphi)
TIR1.Value := Scaling(32762,0,100,0, TT1.AsInt)
Также, рекомендуем ознакомиться с разделами "Рекомендации по работе со скриптами" и "Отладка скриптов". Примеры наиболее часто используемых скриптов можно посмотреть по ссылке.
« Изменён: 28 Марта 2023, 21:03:35 от Simple_Scada »

Тимур

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Как превести к шкале
« Ответ #2 : 29 Марта 2023, 06:21:59 »
Спасибо большое, час попробую.  а так Simple-Scada.ваша очень понравилась.

Sh.M.

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Как превести к шкале
« Ответ #3 : 01 Мая 2023, 12:51:00 »
Здравствуйте.
В продолжении темы, скажите как можно масштабировать заполнение объекта уровень?
По умолчанию 0-100. Пришлось создать отдельную переменную и Scaling масштабировать входную.
« Изменён: 01 Мая 2023, 13:27:52 от Sh.M. »

Simple_Scada

  • Администратор
  • *****
  • Сообщений: 1400
    • Просмотр профиля
Re: Как превести к шкале
« Ответ #4 : 01 Мая 2023, 21:48:14 »
Здравствуйте.

Всем новым переменным назначается шкала по-умолчанию (0-100). Вам нужно создать требуемую шкалу и затем назначить ее переменной. Например, если на ПЛК/устройстве переменная изменяется в диапазоне 0-120, то в редакторе шкалу данной переменной нужно установить также 0-120. После этого объект "Уровень" будет корректно отображать значение переменной. Если с ПЛК приходит значение в одной шкале(например 0-120) и необходимо его отображать в другой шкале (например 0 - 150), то см. описание опции "Сдвиг запятой".

Чтобы дать более точный ответ, напишите, в каком диапазоне переменная может изменяться на ПЛК и в какой шкале требуется отображать ее в скада-системе.

Sh.M.

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Как превести к шкале
« Ответ #5 : 02 Мая 2023, 00:36:46 »
Спасибо, все заработало!