Можно ли как-то упаковать дискретные сигналы от 12 одинаковых дискретных датчиков в одну переменную, по модбасу передать ее в скаду, а там распаковать так, чтобы можно было определить срабатывание каждого датчика? Не хватает всего 3 тегов.
Можно ли как-то упаковать дискретные сигналы от 12 одинаковых дискретных датчиков в одну переменную, по модбасу передать ее в скаду, а там распаковать так, чтобы можно было определить срабатывание каждого датчика? Не хватает всего 3 тегов.
w: WORD;
w.0 := di1;
w.1 := di2;
w.2 := di3;
...
На той стороне вопросы к скаде (которую вы не назвали). В общем случае w AND (1 SHL i) > 0, чтобы вытащить i-й бит из целого w.
А скада, (у меня Masterskada) не распознает, что ее таким образом пытаются обмануть?
Я думал пойти примерно таким путем: Логической 1 каждого датчика присвоить определенное число,1,10,100 и.т.д., а логическому нулю-число 0. Затем числа просуммировать и эту сумму передавать. Тогда, например, если скада получает число 89-то значит 0,0,1.. ?
Последний раз редактировалось KRUPSKIY; 27.07.2016 в 06:30.
Участковому настучит - глазом моргнуть не успеете. Если серьёзно, то вряд ли. Вопрос лишь в том, насколько удобно с этим будет в скаде работать; есть ли возможность не создавая тегов доставать разряды (я не работал с мастерскадой).А скада, (у меня Masterskada) не распознает, что ее таким образом пытаются обмануть?Вы придумали десятиколёсный велосипед, хотя я вам уже предложил двухколёсный. В смысле вы зачем-то хотите переходить в десятичную систему, дёргать разряды в ней и переходить обратно, когда проще и эффективнее делать это в двоичной.Я думал пойти примерно таким путем
Последний раз редактировалось Yegor; 27.07.2016 в 06:41.
В том-то и дело, что я где-то на форуме видел инфу, что такие попытки скада пресекает. Только не могу найти где. А то бы милое дело-все сигналы упаковать в пару тегов и лицензия не надо!
а слова разработчика не придают уверенности? http://www.owen.ru/forum/showthread....l=1#post117305
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Передавать можно и стоит именно сборку. В MasterSCADA есть блок распаковать.
Вот только SCADA это действительно отслеживает, и посчитает точки не только из OPC, но и этого распаковывающего блока
Николаев Андрей! Сборка-это то, о чем говорит capzap ? Так есть ли выход?
Странно, когда-то писали что тегом является входящая переменная, а теперь уже даже расчетные стали ?
Все-таки должен же быть какой-то алгоритм, с помощью которого можно двоичное число закодировать в десятичное и наоборот.
Типа,как я уже писал выше: Имеется 12 датчиков. Каждому при логической 1 присваиваем десятичное число по возрастающей.(1,10,100,1000,10000...)
Тогда на выходе вычисляем разность между полной суммой этих чисел и действующей и вычисляем нулевые позиции. Только вот для 12 чисел сильно громоздко. Возможно надо разделить по 6, а еще лучше по 4. Все-таки сэкономлю.