1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не писать свой вопрос в первую попавшуюся тему - вместо этого создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь и здесь, а студентам - обязательно здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Мониторинг записи в DB

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)
Ответить

Автор темы
Iron_69
здесь недавно
здесь недавно
Сообщения: 9
Зарегистрирован: 21 янв 2014, 21:21
Имя: Газзаев Алан Герасимович
Благодарил (а): 2 раза

Мониторинг записи в DB

Сообщение Iron_69 »

Приветствую всех! Step 7 пока только осваиваю, необходима помощь.
Подскажите пожалуйста вот по какому вопросу: Имеется блок данных DB в регистры которого идет запись из различных FC, меня интересует один регистр - кто туда записывает 0. Открываю cross-reference этого регистра, там около сотни веток из различных блоков. :o И вот как вычислить которая ветка записывает 0!? Перебирать вручную? Нет ли более простого способа?

quq
здесь недавно
здесь недавно
Сообщения: 46
Зарегистрирован: 08 сен 2014, 08:56
Имя: Курочкин Петр Александрович
Благодарил (а): 12 раз
Поблагодарили: 6 раз

Мониторинг записи в DB

Сообщение quq »

]
Iron_69 писал(а): Открываю cross-reference этого регистра, там около сотни веток из различных блоков. И вот как вычислить которая ветка записывает 0!? Перебирать вручную? Нет ли более простого способа?
Все может быть значительно сложнее, запись в DB может происходить по разному используя способы адресации например: DW, W, побитно. cross-reference может не показать. В сложных случаях ставить триггеры на изменения, использовать вьюверы и перебирать варианты.

Ibev
здесь недавно
здесь недавно
Сообщения: 36
Зарегистрирован: 11 окт 2016, 08:38
Имя: Владимир
Страна: Россия
город/регион: Новочебоксарск
Благодарил (а): 2 раза
Поблагодарили: 5 раз

Мониторинг записи в DB

Сообщение Ibev »

В cross-reference есть указание, что происходит с данной ячейкой DB (запись или чтение). Ну, и как выше написали.

Автор темы
Iron_69
здесь недавно
здесь недавно
Сообщения: 9
Зарегистрирован: 21 янв 2014, 21:21
Имя: Газзаев Алан Герасимович
Благодарил (а): 2 раза

Мониторинг записи в DB

Сообщение Iron_69 »

Ibev писал(а): В cross-reference есть указание, что происходит с данной ячейкой DB (запись или чтение). Ну, и как выше написали.
Это то понятно, в большинстве веток стоит W (Write), и с нескольких - RW, но вот как узнать с какой именно в данный момент записывается 0? Пока перебираю по очереди, просто я подумал что в Stepe 7 есть какой либо удобный инструмент для мониторинга.

ZuElecRu
освоился
освоился
Сообщения: 290
Зарегистрирован: 09 авг 2016, 13:49
Имя: Чистилин Андрей Анатольевич
Страна: Россия
город/регион: Малоярославец
Благодарил (а): 31 раз
Поблагодарили: 35 раз

Мониторинг записи в DB

Сообщение ZuElecRu »

Все зависит от структуры программы, допишите после вызова каждого FC проверку на 0 и взвод меркера с уникальным адресом для каждого вызова FC. Согласен, не самый легкий способ.
Аватара пользователя

Marrenoloth
завсегдатай
завсегдатай
Сообщения: 524
Зарегистрирован: 05 окт 2009, 11:51
Имя: Тихомиров Дмитрий Викторович
Страна: Россия
город/регион: Москва
Благодарил (а): 17 раз
Поблагодарили: 20 раз

Мониторинг записи в DB

Сообщение Marrenoloth »

Гипотетически, есть точки останова. Расставить, посмотреть, когда контроллер упадет в стоп, стек вызовов в диагностике. Хоть функция найдется, из которой перезаписывается.
Никогда так не делал, но наверное, можно попробовать...
Ответить

Вернуться в «Simatic Step7»