Просмотр полной версии : ПЛК110 + МВ110-8АС (0x118 > STRING[64]) "зависает"
SCOwenUfa
06.03.2025, 09:08
Здравствуйте!
При чтении из модуля наткнулся на странную особенность:
при обрыве датчика первого канала все остальные данные перестают обновляться. При этом: обмен по шине идёт нормально, если обрыв дополнительно возникает на других каналах - то обновление восстанавливается.
В модуле задействованы только первые пять каналов в режиме 4..20мА.
Проект и конфигурацию прилагаю.
82323
Видео:
https://disk.yandex.ru/i/7VaIlyH9ZKj62w
Полагаю, может быть связано с особенностями обработки переменных типа STRING, обойти это не сильно сложно.
Хочется понять, как и на каком этапе? Чтобы в дальнейшем не столкнуться с подобным поведением в ответственный момент.
kondor3000
06.03.2025, 09:30
Здравствуйте!
При чтении из модуля наткнулся на странную особенность:
при обрыве датчика первого канала все остальные данные перестают обновляться. При этом: обмен по шине идёт нормально, если обрыв дополнительно возникает на других каналах - то обновление восстанавливается.
В модуле задействованы только первые пять каналов в режиме 4..20мА.
Проект и конфигурацию прилагаю.
Полагаю, может быть связано с особенностями обработки переменных типа STRING, обойти это не сильно сложно.
Хочется понять, как и на каком этапе? Чтобы в дальнейшем не столкнуться с подобным поведением в ответственный момент.
Вот пример опроса 7 модулей 8АС через STRING и структуру, получаете готовые переменные REAL и статусов.
Проверьте у меня никаких отвалов из за отключения датчика не наблюдалось https://owen.ru/forum/showthread.php?t=10555&page=987
Количество модулей можно изменить.
Ещё пример https://owen.ru/forum/showthread.php?t=10555&p=415086&viewfull=1#post415086
И кстати ваш проект, при обрыве датчика 1 канала, у меня показывает ошибку и бесконечность в переменной Real, но ничего не зависает 82325
Всё остальное продолжает работать и даже циклическое время в отключённом канале. Проект переделан под мой ПЛК110-60, без М02.
SCOwenUfa
06.03.2025, 12:52
Вот пример опроса 7 модулей 8АС через STRING и структуру, получаете готовые переменные REAL и статусов.
Проверьте у меня никаких отвалов из за отключения датчика не наблюдалось https://owen.ru/forum/showthread.php?t=10555&page=987
Количество модулей можно изменить.
Ещё пример https://owen.ru/forum/showthread.php?t=10555&p=415086&viewfull=1#post415086
Хорошее решение.
Увы, используя такой способ эффект тоже воспроизводится:
82326
https://disk.yandex.ru/i/36PdjK-iGU8_kA
Ну, вот моя статья про STRING: https://cs-cs.net/codesys-23-uskoreniye-raboty-modbus-gruppovye-zaprosy
Там прям пример опроса есть в конце.
SCOwenUfa
06.03.2025, 13:12
И кстати ваш проект, при обрыве датчика 1 канала, у меня показывает ошибку и бесконечность в переменной Real, но ничего не зависает 82325
Всё остальное продолжает работать и даже циклическое время в отключённом канале. Проект переделан под мой ПЛК110-60, без М02.
Проверил, такое происходит когда 6, 7, 8 канал отключены. При включении одного из каналов - всё работает.
Если не затруднит, пожалуйста проверьте именно в такой конфигурации модуля.
82327
UPD: На ПЛК150-220.У.L не проявляется. Возможно какой-то баг в серии [М02]? У меня ПЛК110-220.60.Р-М [М02]
kondor3000
06.03.2025, 14:16
Проверил, такое происходит когда 6, 7, 8 канал отключены. При включении одного из каналов - всё работает.
Если не затруднит, пожалуйста проверьте именно в такой конфигурации модуля.
Выключил 6,7 и 8 каналы, они показывают ошибку, Но даже при обрыве 1 канала, остальное работает 82329
UPD: На ПЛК150-220.У.L не проявляется. Возможно какой-то баг в серии [М02]? У меня ПЛК110-220.60.Р-М [М02]
Возможно, ну не отключайте тогда 6,7,8 каналы, пусть включенные остаются.
SCOwenUfa
06.03.2025, 15:47
Покопался ещё:
Обходится легко - в других конфигурациях адреса модуля / состояния входов / длинны запроса - работает нормально.
Имитировал модуль на компьютере - похоже важны только первые 7 регистров.
Ещё проверил на другом контроллере - ПЛК110-220.30.Р-М, проблема также проявляется.
Полагаю, такое начало ответа от модуля создаёт исключительную ситуацию, и данные не попадают по назначению. Ошибок опроса при этом не возникает.
82335
Покопался ещё:
Обходится легко - в других конфигурациях адреса модуля / состояния входов / длинны запроса - работает нормально.
Имитировал модуль на компьютере - похоже важны только первые 7 регистров.
Ещё проверил на другом контроллере - ПЛК110-220.30.Р-М, проблема также проявляется.
...
На всякий случай - какой адрес модуля не нужно использовать?
AlexCrane
07.03.2025, 07:11
На всякий случай - какой адрес модуля не нужно использовать?
Судя по скрину 30h или 48 в dec
На всякий случай - какой адрес модуля не нужно использовать?
Это НЕ связано с адресом/функцией и т.п
SCOwenUfa
07.03.2025, 07:44
Это НЕ связано с адресом
Это НЕ связано с функцией
Это НЕ связано обрывом 1 датчика
Это НЕ связано с отключением 5...8 датчика
Это НЕ связано со стринг
Это либо сознательная диверсия автора прошивки кодировавшего логику модбас мастера конфига либо ТУПЕЙШАЯ СИСТЕМНАЯ ошибка в самом подходе к этому. И которая может проявится в ЛЮБОМ месте. Очень очень редко. Конкретно здесь - бинго.
Если возможно, поделитесь какие условия нужны для возникновения такой ошибки.
Не хотелось бы играть в подобную лотерею в дальнейшем =)
Условия? В принципе рандом. Но чтоб вляпатся в это - легко, как внезапно оказалось.
AlexCrane
07.03.2025, 09:44
Условия? В принципе рандом. Вчера писал, если кто прочитал. Да, оно. Но чтоб вляпатся в это - нужна дичь в логике в прошивке.
Вам надо было новогодне-пореченковый билетик покупать, а не ПЛК
Так этот глюк проявляется сразу или может появится в уже отлаженной программе в течение какого-то времени?
Так этот глюк проявляется сразу или может появится в уже отлаженной программе в течение какого-то времени?
И так и так может.
Всем удачи))
Это со всей конфигурацией проблема.
Валенок Так ты в ОВЕН написал про ошибку?
Шо там? Какое-нибудь "верное" CRC при неверном пакете данных, что ли?
SCOwenUfa
11.03.2025, 09:20
Так ты в ОВЕН напишешь?
Обещали передать разработчикам
Обещали передать разработчикам
Надеюсь что писали без привязки к 8AC
SCOwenUfa
11.03.2025, 17:59
И так и так может.
Всем удачи))
Кто-то думал что "да нунафик эти стринги"?
Кому надо получить какашку например с 32ДН с обычным адресом 1?
Адреса можно заказывать)) На любой адрес какашку предложу.
На этой - точно. Что свежее - проверю позднее
Подтверждаю. В предложенных вариантах у меня такое же поведение.
Адрес - значение (старший - вперёд)
2 - 3509813247
Особенно не радует, что важен только старший регистр - комбинация может быть не такой редкой.
82395
82405
AlexCrane
12.03.2025, 08:35
Ну уже ж поняли суть?)) Это же мина. Могу легко сгенерить её на любой запрос.
Для сомневающихся выше пример не требующий ничего кроме походу любого ПЛК М02, двух скрепок и 3 минут
Думаете что я просто так говорил ранее про несколько десятков тысяч вариантов дерьма которые может подсунуть вам мастер конфигурации на любой норм ответ? Да, всего лишь 2^16 например на 32бита.
И не "мамойклянусь" если что.
Если Вы так глубоко в теме, все-таки в чем причина? (...)
AlexCrane так откель ему причину знать? человек просто проверил различные комбинации, возможно вычислил как имитировать ошибку. Кто ж его до исходников прошивки то допустит?
Это как со старыми Семёнами, можно увалить документированной командой :)
Основное - проверка КС с выходом за каким-то внутри цикла, а не по окончании.
Филоненко Владислав
15.05.2025, 10:57
Ну, вот моя статья про STRING: https://cs-cs.net/codesys-23-uskoreniye-raboty-modbus-gruppovye-zaprosy
Там прям пример опроса есть в конце.
Да, делить на 2 вообще очень сложно.
А ещё есть модули что поддерживают побайтный опрос, и число байтов у них может быть нечётным - потому и байты!
Филоненко Владислав Вот теперь только на форуме и видимся ((
Да, делить на 2 вообще очень сложно.
А ещё есть модули что поддерживают побайтный опрос, и число байтов у них может быть нечётным - потому и байты!
Это к чему вообще было? Или куда-то не туда ответили?))
Или вы только до поста #4 добрались?)) Тогда в итоге тема про то, что мастер в конфигурации - кривой.
есть модули что поддерживают побайтный опрос
Только причем тут модбас?
Филоненко Владислав
15.05.2025, 13:40
Ох, Валенок, спустя 20 лет нашли ошибку и в пляс!
Да, есть некие проблемы, я буду решать.
Но проявляются они только в режиме "TraceMode"
Но! Может я Вас огорчу, но режим "TraceMode/Native" не имеет значения
Просто повторюсь если не читали - адрес, регистр, кол-во их (если > 1) не имеет значения.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot