Форум Zentec

Главный раздел => Общие вопросы => Тема начата: polyakovmo от 08 июля 2024, 14:13:28

Название: Разное поведение программы в Z031 в режимах отладки и рабочем
Отправлено: polyakovmo от 08 июля 2024, 14:13:28
Добрый день.

Подскажите, пожалуйста, в чём отличие рабочей и отладочной компоновки в zworkbench?

Дано: связка контроллера М245 и Z031, Z031 в режиме мастера. На телефоне zcontrol.
На Z031 программа своя, для zcontrol меню тоже своё.
Из zcontrol пишу переменную в Z031, Z031 пишет в контроллер, потом Z031 считывает с контроллера и обновляет у себя переменную. Также можно менять кнопками с Z031, поменял кнопками, улетела переменная в ПЛК, Z031 считал и записал в переменную для zcontrol .
В чём загвоздка... в режиме отладки работает, прошиваю уже рабочим вариантом - не работает. Что не работает не знаю, поскольку прошиваю в отладке, смотрю и всё работает.
ПЗУ сбрасывал, не помогает. Дополнительные переменные вводил.

Эффект Розенталя исключаю, всё-таки это техника, а не психология
Название: Re: Разное поведение программы в Z031 в режимах отладки и рабочем
Отправлено: Nikolai от 09 июля 2024, 09:30:04
Здравствуйте.
В режиме "Отладки в устройстве", для контроля состояния ПЛК, добавляется огромное число внутренних modbus переменных, что в свою очередь ведет к увеличению времени выполнения проекта. Этого времени хватает на то, что бы переменные читались и записывались правильно. В рабочем режиме таких задержек нет и проект выполняется с максимальной скоростью. отсюда и такая ситуация.
Название: Re: Разное поведение программы в Z031 в режимах отладки и рабочем
Отправлено: polyakovmo от 09 июля 2024, 12:07:04
Благодарю. Значит, в правильном направлении искал, но не нашёл пока что верное решение.
Увеличивал время базового таймера вплоть до 600 мсек - не помогло. Видимо, контроллер всё делал за пару мсек, потом ждал до 600 мсек.
Попробую разнести на сцене подальше друг от друга запись и чтение переменной.
Название: Re: Разное поведение программы в Z031 в режимах отладки и рабочем
Отправлено: polyakovmo от 10 июля 2024, 13:06:15
А как замедлить контроллер?
Название: Re: Разное поведение программы в Z031 в режимах отладки и рабочем
Отправлено: Nikolai от 10 июля 2024, 14:34:21
Никак.
Нет такого режима. Контроллер всегда работает на максимальной частоте.
Название: Re: Разное поведение программы в Z031 в режимах отладки и рабочем
Отправлено: polyakovmo от 12 июля 2024, 16:17:02
А буфер какой-нибудь есть для RS485?
Вот в отладке работает, без отладки не работает. Увидел, что переменную в zcontrol меняю, а она не меняется в контроллере, либо блок front не обнаруживает её изменение.
Название: Re: Разное поведение программы в Z031 в режимах отладки и рабочем
Отправлено: Nikolai от 15 июля 2024, 07:59:23
Цитата: polyakovmo от 12 июля 2024, 16:17:02А буфер какой-нибудь есть для RS485?
Вот в отладке работает, без отладки не работает. Увидел, что переменную в zcontrol меняю, а она не меняется в контроллере, либо блок front не обнаруживает её изменение.
Нет никаких буферов. Есть очередь запросов. Запросы туда направляются автоматически все, у которых en 1 и они не стоят в очереди. У Вас скорее всего получается следующее. С zcontrol изменяется переменная, а в это время 31 панель вычитывает из 245 её же и меняет обратно. Вам необходимо процессы чтения записи как то диспетчирезировать.
Название: Re: Разное поведение программы в Z031 в режимах отладки и рабочем
Отправлено: polyakovmo от 15 июля 2024, 17:30:43
Цитата: Nikolai от 15 июля 2024, 07:59:23
Цитата: polyakovmo от 12 июля 2024, 16:17:02А буфер какой-нибудь есть для RS485?
Вот в отладке работает, без отладки не работает. Увидел, что переменную в zcontrol меняю, а она не меняется в контроллере, либо блок front не обнаруживает её изменение.
Нет никаких буферов. Есть очередь запросов. Запросы туда направляются автоматически все, у которых en 1 и они не стоят в очереди. У Вас скорее всего получается следующее. С zcontrol изменяется переменная, а в это время 31 панель вычитывает из 245 её же и меняет обратно. Вам необходимо процессы чтения записи как то диспетчирезировать.
Я тоже пришёл к этому. Написал макрос, который 3 переменные мне перезапишет по изменению одной из них.
тоже есть нюансы с медленной работой ПЛК в отладке и быстрой в рабочем варианте - то же самое, но теперь
 знаю с чем столкнулся и потому осталось это победить  :)

Кстати, заметил, что Z031 работает в сети Modbus RTU в качестве мастера, даже если не запускал в zwb отладку
Название: Re: Разное поведение программы в Z031 в режимах отладки и рабочем
Отправлено: polyakovmo от 17 июля 2024, 17:27:35
Крч, это zcontrol не пишет переменную в z031. закрыть/открыть приложение на телефоне - считывает значение. Меняю значение переменной и эта переменная не синхронизируется с Z031.

Как залить отладочную версию в Z031, но чтобы приложение само запустилась сразу после подачи питания?
Название: Re: Разное поведение программы в Z031 в режимах отладки и рабочем
Отправлено: Nikolai от 18 июля 2024, 07:53:26
Цитата: polyakovmo от 17 июля 2024, 17:27:35Крч, это zcontrol не пишет переменную в z031. закрыть/открыть приложение на телефоне - считывает значение. Меняю значение переменной и эта переменная не синхронизируется с Z031.

Как залить отладочную версию в Z031, но чтобы приложение само запустилась сразу после подачи питания?
Никак. Нет такой возможности.