Просмотр полной версии : отладка программы с внешними устройствами
не претендую на общность (как звучит в названии темы), но из этой оперы...
работают плк100 и ип320 (мастер). у плк есть некая область обмена, в которой определены переменные, пусть а, в, с.
возникают моменты с непонятками по поводу поведения программы - зависящего от а, в, с. эти переменные как-то модифицируются оператором и сразу после изменения какой-то из них программа "выделывается".
подключаемся и пробуем "по шажкам". и тут вопрос: как правильно останавливать процессор, чтобы просмотреть выполнение программы непосредственно после изменения переменных?
то есть, что и в каком порядке: установка точки останова, перевод программы в стоп и выполнение по одному циклу, а потом по шагу, собственно нажатие кнопки Ent на ип320... или еще чего, неизвестное мне.
спасибо!
Николаев Андрей
14.12.2010, 11:33
1. думаю дело в программе.
2. есть такая штука - трассировка для отслеживания значения переменных при изменении значения какой то одной из переменных.
3. есть визуализация, и на ней можно проверить многие вещи.
4. есть точки останова и пошаговая отладка. точку останова ставите в начале программы.
1. думаю дело в программе.
конечно! я же ее и отлаживаю. реально мне очень помог совет уважаемого валенка. я делаю ввод переменной с ип320 в режиме стоп. после этого вижу ее новое значение в области обмена с ип320, становлюсь точкой останова в нужное место и дальше все предсказуемо, в смысле обычная пошаговая отладка.
трассировку еще не научился делать. не прижало :)
так что с топиком у меня прояснилось. еще раз спасибо.
Начни с проверки самих прилетаемых данных. Просто в стопе.
Если ок. то c глонасом по алгоритму .. :)
(главное - не утонуть)
Если панель в режиме мастер то в стопе она будет говорить о "потере связи", соответственно никакие регистры мы поменять не сможем...
проще в ПЛК прописать простенькие условие отслеживающее изменение регистров и там ставить точки останова, а дальше шагать по программе.... условие размещать нужно соответственно там где это необходимо отладиться и добавить переменную помнящую старое значение, можно загнать в отдельную процедурку(ФБ) и размещать её в контрольных точках...
Если панель в режиме мастер то в стопе она будет говорить о "потере связи", соответственно никакие регистры мы поменять не сможем...
Когда светлейший Волк позволит, осмелюсь я донесть ему...
Как раз после совета Валенка я попробовал и увидел - в стопе ПЛК все равно отрабатывает обмен с панелью! Мне когда-то об этом и товарищ Gans говорил, в другом контексте ("конфигуратор живет своей жизнью").
То есть, никаких жалоб на потерю связи в стопе нет! Более того, взведенные панелью битики я вижу в отладчике. Довольно удобно, если конечно знаешь об этом.
попробовал, действительно, при остановке плк связь по модбасу не теряется... бум знать..
связь рубится тока по остановке на точке останова... и я в общем то не жалуюсь, просто поделился своим способом отладки...
а созерцать битики - это оочень хорошо и полезно)))
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot