проблема с переменной DINT

Автоматизация технологических процессов, системы управления, АСУ ТП, АСКУЭ, программирование ПЛК, человеко-машинный интерфейс, сетевое оборудование, протоколы
Ответить
service
Специалист
Сообщения: 254
Зарегистрирован: 16 ноя 2012, 10:23

проблема с переменной DINT

Сообщение service »

После пусконаладочных работ возникла такая проблема:
- в скаде Zenon есть обьект ползунок для управления скоростью двигателя. у Vipa через кабель и драйвер невозможна передача данных между плк и скадой в формате Real. по этому за ползунок отвечает переменная формата DINT, которая программой переводится в REAL с последующей обработкой. сигнал на аналоговом выходе плк изменяется, но черт знает как - ставишь ползунок на 90% - канал выдает 0мА, 92 - 12мА, 93 - 0, 94- 8мА, 95 - 0, 96 -16мА...
вот программа. подскажите чего не так
У вас нет необходимых прав для просмотра вложений в этом сообщении.

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: проблема с переменной DINT

Сообщение Михайло »

Поменяйте местами байты в двойном слове. Порядок следования байтов

service
Специалист
Сообщения: 254
Зарегистрирован: 16 ноя 2012, 10:23

Re: проблема с переменной DINT

Сообщение service »

если можно то тыкните пальцем где...

Михайло
Администратор
Сообщения: 4094
Зарегистрирован: 19 сен 2012, 19:16

Re: проблема с переменной DINT

Сообщение Михайло »

Ну вот ты сформировал переменную DINT, из 4-х байтов: байт1, байт2, байт3, байт4. Я сейчас не могу сообразить, но возможно твой Зенон пытается прочитать эту переменную как последовательность: байт2, байт1, байт4, байт3, то есть не так как тобой задумано.
Попереставляй байты в двойном слове средствами ПЛК, чтобы Зенон правильно считал переменную. Возможно есть функция типа SWAP в ТИА Портале, которая делает из порядка байт1, байт2, байт3, байт4 обратный порядок байт4, байт3, байт2, байт1. Что-то из этого должно сработать.

service
Специалист
Сообщения: 254
Зарегистрирован: 16 ноя 2012, 10:23

Re: проблема с переменной DINT

Сообщение service »

я в симуляторе Vipa WinPLC без преобразований DINT в REAL подавал сигнал с аналогового выхода на вход - все правильно работает. значит дело в скаде...

Ответить