Приветствую всех! Step 7 пока только осваиваю, необходима помощь.
Подскажите пожалуйста вот по какому вопросу: Имеется блок данных DB в регистры которого идет запись из различных FC, меня интересует один регистр - кто туда записывает 0. Открываю cross-reference этого регистра, там около сотни веток из различных блоков. И вот как вычислить которая ветка записывает 0!? Перебирать вручную? Нет ли более простого способа?
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Мониторинг записи в DB
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 46
- Зарегистрирован: 08 сен 2014, 08:56
- Имя: Курочкин Петр Александрович
- Благодарил (а): 12 раз
- Поблагодарили: 6 раз
Мониторинг записи в DB
]
Все может быть значительно сложнее, запись в DB может происходить по разному используя способы адресации например: DW, W, побитно. cross-reference может не показать. В сложных случаях ставить триггеры на изменения, использовать вьюверы и перебирать варианты.
-
- здесь недавно
- Сообщения: 40
- Зарегистрирован: 11 окт 2016, 08:38
- Имя: Владимир
- Страна: Россия
- город/регион: Новочебоксарск
- Благодарил (а): 2 раза
- Поблагодарили: 5 раз
Мониторинг записи в DB
В cross-reference есть указание, что происходит с данной ячейкой DB (запись или чтение). Ну, и как выше написали.
-
- здесь недавно
- Сообщения: 9
- Зарегистрирован: 21 янв 2014, 21:21
- Имя: Газзаев Алан Герасимович
- Благодарил (а): 2 раза
Мониторинг записи в DB
Это то понятно, в большинстве веток стоит W (Write), и с нескольких - RW, но вот как узнать с какой именно в данный момент записывается 0? Пока перебираю по очереди, просто я подумал что в Stepe 7 есть какой либо удобный инструмент для мониторинга.
-
- освоился
- Сообщения: 290
- Зарегистрирован: 09 авг 2016, 13:49
- Имя: Чистилин Андрей Анатольевич
- Страна: Россия
- город/регион: Малоярославец
- Благодарил (а): 31 раз
- Поблагодарили: 36 раз
Мониторинг записи в DB
Все зависит от структуры программы, допишите после вызова каждого FC проверку на 0 и взвод меркера с уникальным адресом для каждого вызова FC. Согласен, не самый легкий способ.
-
- завсегдатай
- Сообщения: 524
- Зарегистрирован: 05 окт 2009, 11:51
- Имя: Тихомиров Дмитрий Викторович
- Страна: Россия
- город/регион: Москва
- Благодарил (а): 17 раз
- Поблагодарили: 20 раз
Мониторинг записи в DB
Гипотетически, есть точки останова. Расставить, посмотреть, когда контроллер упадет в стоп, стек вызовов в диагностике. Хоть функция найдется, из которой перезаписывается.
Никогда так не делал, но наверное, можно попробовать...
Никогда так не делал, но наверное, можно попробовать...