Прошу прощения. А вот так можно?
Код:function_block Tapki //имя функционального блока. var_input //объявление входных переменных I1,I2,I3,I4,I5,I6,I7,I8:bool; end_var var_output //объявление выходных переменных Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8: bool; end_var if (I1 or I2 or I3 or I4 or I5 or I6 or I7 or I8) xor (Q1 or Q2 or Q3 or Q4 or Q5 or Q6 or Q7 or Q8) then Q1 := I1; Q2 := I2; Q3 := I3; Q4 := I4; Q5 := I5; Q6 := I6; Q7 := I7; Q8 := I8; end_if end_function_block
Последний раз редактировалось EFrol; 09.03.2024 в 17:34.
При возникновении нескольких фронтов (спадов) одновременно придется вводить приоритет:
Код:function_block Tapki //имя функционального блока. var_input //объявление входных переменных I1,I2,I3,I4,I5,I6,I7,I8:bool; end_var var_output //объявление выходных переменных Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8: bool; end_var if (I1 or I2 or I3 or I4 or I5 or I6 or I7 or I8) xor (Q1 or Q2 or Q3 or Q4 or Q5 or Q6 or Q7 or Q8) then Q1 := I1; if I1 then return; end_if Q2 := I2; if I2 then return; end_if Q3 := I3; if I3 then return; end_if Q4 := I4; if I4 then return; end_if Q5 := I5; if I5 then return; end_if Q6 := I6; if I6 then return; end_if Q7 := I7; if I7 then return; end_if Q8 := I8; if I8 then return; end_if end_if end_function_block
Это аналогично следующему:
Т.е. любое значение имеющее один единственный бит равный 1-е, будет защелкнуто в a-переменной.Код:if b=1 or b=2 or b=4 or b=8 .... then a := b; end_if
Отсюда, два и более бит, равные 1-е защелкнуты не будут (игнорирование).
Могу добавить, что если понадобится обратная логика, в смысле, "кто последний встал, того и тапки", вот здесь обсуждали:
https://owen.ru/forum/showthread.php?t=12691&page=62
Там ещё много чего есть:
https://owen.ru/forum/showthread.php?t=12691&page=63
Если проблему можно решить за деньги, это не проблема, это расходы. Бог каждому посылает проблемы по его силам. Так что одно из двух. Либо ты можешь-таки
справиться с проблемами, либо это не твои проблемы.
Здравствуйте. Возник вопрос касательно чтения значения мощности с счетчика WB-MAP3e на ПР205. Видел на форуме, что возникала такая проблема, но она была решалась в Codesys, а не в owen logic. Связь ПР с счетчиком есть, значения напряжения считываются исправно, а вот значения суммарной активной мощности нет. Если кто-нибудь сталкивался, то не могли бы подсказать, как справиться с данной проблемой?код.pngрегистр мощности.pngрегистр напряжения.pngрегистры.png
На ПР у вас ничего не выйдет, он не умеет работать с 64 битными переменными, всё что вы можете прочитать 4 регистра, 1 Счётчик WB-MAP3E.png
и их передать куда то, где можно пересчитать.
Вот тема https://owen.ru/forum/showthread.php...light=WB-MAP3e
Последний раз редактировалось kondor3000; 12.03.2024 в 14:15.