Simple-Scada 2 > Ваши вопросы

Скрипт для дискретных входов

(1/2) > >>

SeraX:
Доброго времени суток!
Имеется проект диспетчеризации (на скрине), там при подаче 1 на di 1 на выходе появляется 1, на di 2 - 2, на di 3 - 4, на di 4 - 8, на di 5 - 16, на di 6 - 32,....на di 16 - 32768. В проекте Scada сделал скрипты на каждую переменную (на скрине пример на di 16), по отдельности, когда сигнал подается на только на 1 вход, работает без нареканий, а когда подается сразу на несколько входов, то, естественно, ничего не работает, т.к. все числа суммируются.
Можете подсказать какой-нибудь скрипт для решения этой задачи, или предложить какой-нибудь другой вариант?
Заранее спасибо!

AlexejKa38:
Можно использовать функцию GetBit.

https://simple-scada.com/help/script/getbit.html?q=getbit

Simple_Scada:
Здравствуйте.


--- Цитировать ---В проекте Scada сделал скрипты на каждую переменную
--- Конец цитаты ---
Вместо множества однотипных скриптов нужно использовать один универсальный скрипт. Примеры скриптов можно найти по ссылке. Пример универсального скрипта работы с битами можно найти по ссылке. Также, целочисленные внешние переменные можно разбить на биты и работать с каждым битом отдельно - подробнее см. по ссылке. Если не разберетесь, то пришлите текущую версию проекта на почту support@simple-scada.com и опишите, что именно требуется сделать.

teplocom:
https://simple-scada.com/help/manual/extvarbits.html
А для OPC-UA данный способ разбития на битовые переменные работает? Пробовал, не получалось.

SeraX:
У меня OPC DA. Всего одна сетевая переменная, которая работает на 16 входов по числу, по одному входу включается норм, но два и более не работает, т.к. числа суммируются по входам...
Проще на проекте показать, чем объяснить...проект во вложении...

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии
Mobile View