Показано с 1 по 6 из 6

Тема: отладка программы с внешними устройствами

  1. #1
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию отладка программы с внешними устройствами

    не претендую на общность (как звучит в названии темы), но из этой оперы...

    работают плк100 и ип320 (мастер). у плк есть некая область обмена, в которой определены переменные, пусть а, в, с.
    возникают моменты с непонятками по поводу поведения программы - зависящего от а, в, с. эти переменные как-то модифицируются оператором и сразу после изменения какой-то из них программа "выделывается".

    подключаемся и пробуем "по шажкам". и тут вопрос: как правильно останавливать процессор, чтобы просмотреть выполнение программы непосредственно после изменения переменных?

    то есть, что и в каком порядке: установка точки останова, перевод программы в стоп и выполнение по одному циклу, а потом по шагу, собственно нажатие кнопки Ent на ип320... или еще чего, неизвестное мне.

    спасибо!

  2. #2

    По умолчанию

    1. думаю дело в программе.
    2. есть такая штука - трассировка для отслеживания значения переменных при изменении значения какой то одной из переменных.
    3. есть визуализация, и на ней можно проверить многие вещи.
    4. есть точки останова и пошаговая отладка. точку останова ставите в начале программы.

  3. #3
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от николаев андрей Посмотреть сообщение
    1. думаю дело в программе.
    конечно! я же ее и отлаживаю. реально мне очень помог совет уважаемого валенка. я делаю ввод переменной с ип320 в режиме стоп. после этого вижу ее новое значение в области обмена с ип320, становлюсь точкой останова в нужное место и дальше все предсказуемо, в смысле обычная пошаговая отладка.

    трассировку еще не научился делать. не прижало

    так что с топиком у меня прояснилось. еще раз спасибо.

  4. #4

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Начни с проверки самих прилетаемых данных. Просто в стопе.
    Если ок. то c глонасом по алгоритму ..
    (главное - не утонуть)
    Если панель в режиме мастер то в стопе она будет говорить о "потере связи", соответственно никакие регистры мы поменять не сможем...
    проще в ПЛК прописать простенькие условие отслеживающее изменение регистров и там ставить точки останова, а дальше шагать по программе.... условие размещать нужно соответственно там где это необходимо отладиться и добавить переменную помнящую старое значение, можно загнать в отдельную процедурку(ФБ) и размещать её в контрольных точках...

  5. #5
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от Crusash Посмотреть сообщение
    Если панель в режиме мастер то в стопе она будет говорить о "потере связи", соответственно никакие регистры мы поменять не сможем...
    Когда светлейший Волк позволит, осмелюсь я донесть ему...

    Как раз после совета Валенка я попробовал и увидел - в стопе ПЛК все равно отрабатывает обмен с панелью! Мне когда-то об этом и товарищ Gans говорил, в другом контексте ("конфигуратор живет своей жизнью").

    То есть, никаких жалоб на потерю связи в стопе нет! Более того, взведенные панелью битики я вижу в отладчике. Довольно удобно, если конечно знаешь об этом.

  6. #6

    По умолчанию

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

    а созерцать битики - это оочень хорошо и полезно)))

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •