После пусконаладочных работ возникла такая проблема:
- в скаде Zenon есть обьект ползунок для управления скоростью двигателя. у Vipa через кабель и драйвер невозможна передача данных между плк и скадой в формате Real. по этому за ползунок отвечает переменная формата DINT, которая программой переводится в REAL с последующей обработкой. сигнал на аналоговом выходе плк изменяется, но черт знает как - ставишь ползунок на 90% - канал выдает 0мА, 92 - 12мА, 93 - 0, 94- 8мА, 95 - 0, 96 -16мА...
вот программа. подскажите чего не так
проблема с переменной DINT
проблема с переменной DINT
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Re: проблема с переменной DINT
Поменяйте местами байты в двойном слове. Порядок следования байтов
Re: проблема с переменной DINT
если можно то тыкните пальцем где...
Re: проблема с переменной DINT
Ну вот ты сформировал переменную DINT, из 4-х байтов: байт1, байт2, байт3, байт4. Я сейчас не могу сообразить, но возможно твой Зенон пытается прочитать эту переменную как последовательность: байт2, байт1, байт4, байт3, то есть не так как тобой задумано.
Попереставляй байты в двойном слове средствами ПЛК, чтобы Зенон правильно считал переменную. Возможно есть функция типа SWAP в ТИА Портале, которая делает из порядка байт1, байт2, байт3, байт4 обратный порядок байт4, байт3, байт2, байт1. Что-то из этого должно сработать.
Попереставляй байты в двойном слове средствами ПЛК, чтобы Зенон правильно считал переменную. Возможно есть функция типа SWAP в ТИА Портале, которая делает из порядка байт1, байт2, байт3, байт4 обратный порядок байт4, байт3, байт2, байт1. Что-то из этого должно сработать.
Re: проблема с переменной DINT
я в симуляторе Vipa WinPLC без преобразований DINT в REAL подавал сигнал с аналогового выхода на вход - все правильно работает. значит дело в скаде...