Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: Тимур от 28 Марта 2023, 17:18:30

Название: Как превести к шкале
Отправлено: Тимур от 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) что-то ругается  :-\
Название: Re: Как превести к шкале
Отправлено: Simple Scada от 28 Марта 2023, 20:48:15
Здравствуйте.

Для этого не требуется использовать скрипты и дополнительную переменную. См. опцию "Сдвиг запятой (https://simple-scada.com/help/manual/varextra.html)". Если требуется масштабировать значение переменной к заданной шкале, то для этого необходимо перейти в режим масштабирования (кнопка напротив поля "Сдвиг запятой (https://simple-scada.com/help/manual/varextra.html)") и задать визуальную шкалу, в которую требуется преобразовать значение. В Вашем случае, визуальную шкалу нужно задать 0-100, а шкалу (https://simple-scada.com/help/manual/edit-scale.html) переменной нужно указать 0-32762. Тогда значение переменной будет автоматически преобразовываться из шкалы 0-32762 в шкалу 0-100.

Цитировать
пробивал писать скрипт TIR1 :=Scaling(32762,0,100,0, TT1) что-то ругается
Для записи значения в переменную нужно использовать свойство "Value" (https://simple-scada.com/help/script/varvalue.html). Для обращения к значению переменной рекомендуется использовать явное приведение значения переменной (https://simple-scada.com/help/script/nonvert-values.html) к нужному типу. Например, если требуется получить значение переменной в виде целого числа, то нужно использовать свойство AsInt (https://simple-scada.com/help/script/varasint.html): 
Код: (delphi)
TIR1.Value := Scaling(32762,0,100,0, TT1.AsInt)
Также, рекомендуем ознакомиться с разделами "Рекомендации по работе со скриптами (https://simple-scada.com/help/script/script-recomend.html)" и "Отладка скриптов (https://simple-scada.com/help/script/debugscripts.html)". Примеры наиболее часто используемых скриптов можно посмотреть по ссылке (https://simple-scada.com/help/script/sample-scripts.html).
Название: Re: Как превести к шкале
Отправлено: Тимур от 29 Марта 2023, 06:21:59
Спасибо большое, час попробую.  а так Simple-Scada.ваша очень понравилась.
Название: Re: Как превести к шкале
Отправлено: Sh.M. от 01 Мая 2023, 12:51:00
Здравствуйте.
В продолжении темы, скажите как можно масштабировать заполнение объекта уровень?
По умолчанию 0-100. Пришлось создать отдельную переменную и Scaling масштабировать входную.
Название: Re: Как превести к шкале
Отправлено: Simple_Scada от 01 Мая 2023, 21:48:14
Здравствуйте.

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

Чтобы дать более точный ответ, напишите, в каком диапазоне переменная может изменяться на ПЛК и в какой шкале требуется отображать ее в скада-системе.
Название: Re: Как превести к шкале
Отправлено: Sh.M. от 02 Мая 2023, 00:36:46
Спасибо, все заработало!