Просмотр полной версии : Проблема с обменом между PLC100.R-M и СП310-Б/Р
Здравствуйте, у меня ведомое устройство на базе PLC100.R-M и панель мастер СП310-Б/Р, они соединены через Debug RS232. Панель опрашивает 216 регистров, так вот, по факту я вижу что происходит опрос не всех регистров(примерно 204 регистра), часть просто игнорируются.На панели при этом возникает сообщение о потере связи с портом. Может стоит какое-то ограничение по количеству опрашиваемых регистров, либо по времени опроса. Подскажите, пожалуйста, что может быть. Изначально этот тандем работал по похожей программе, только количество опрашиваемых регистров было на треть меньше, проблем тогда не было.
Евгений Кислов
12.10.2018, 09:00
Добрый день.
Посмотрите FAQ. п. 3.6:
https://www.owen.ru/product/sensornie_paneli_operatora_oven_sp3xx/faq
Здравствуйте, смотрел, по этим урокам и делал. И руководства вдоль и поперек прочитал.
Помех в линии точно нет, всё находится в одном шкафу, т.е. сама линия связи не более метра.
Евгений Кислов
12.10.2018, 09:49
Здравствуйте, смотрел, по этим урокам и делал. И руководства вдоль и поперек прочитал.
Я имел в виду не уроки.
Раздел FAQ - спойлер 3. Настройки обмена - пункт 3.6.
К сожалению, прямые ссылки на пункты не работают.
Да, конечно. Может это ПЛК ограничивает сообщение по времени. Я в настройках значение "по умолчанию" во вкладке "Параметры модуля" в пункте - Max Cycle Lenght стоит 1000ms, это значение я не менял..
Евгений Кислов
12.10.2018, 10:00
В п. 3.6 речь не о таймауте. Попробуйте сделать вот это:
39167
Я Вас понял, но у меня панель не опрашивает не прописанные регистры.
Евгений Кислов
12.10.2018, 10:06
Я Вас понял, но у меня панель не опрашивает не прописанные регистры.
Как вы это детектируете? Вы снимали лог обмена?
В групповой запрос могли войти регистры 217, 218 и т. д. - которых фактически нет в ПЛК.
Нет, просто я проверял все указанные в панели адреса, лишних нет. Эта проблема пришла вместе с увеличением объёма программ.
Раньше было обслуживание 20-ти емкостей, сейчас -50 емкостей.
Соответственно время опроса возросло..
Евгений Кислов
12.10.2018, 10:11
Нет, просто я проверял все указанные в панели адреса, лишних нет. Эта проблема пришла вместе с увеличением объёма программ.
Я все же предлагаю отредактировать один из экранов проекта, на котором появлялось окно о потери связи, в соответствии с рекомендацией из поста #7.
Это займет у вас не больше минуты.
Евгений Кислов
12.10.2018, 10:12
Соответственно время опроса возросло..
Панель в общем опрашивает только те регистры, которые связаны с открытым в данный момент экраном.
Так что скорость опроса в вашем случае не зависит от числа экранов и емкостей.
Сообщение о потере связи возникает на всех экранах, при этом температуры и уставки работают и отображаются корректно(их регистры стоят в самом начале списка), а вот биты, которые стоят в конце списка (они начинаются с 202 регистра)не работают. Точнее работают только биты регистра 202 с 0-го по 7, все биты стоящие после не работают.
Панель в общем опрашивает только те регистры, которые связаны с открытым в данный момент экраном.
Так что скорость опроса в вашем случае не зависит от числа экранов и емкостей.
Так и есть, у меня в каждом экране используются регистры больше 202-го.
Евгений Кислов
12.10.2018, 10:30
Так и есть, у меня в каждом экране используются регистры больше 202-го.
Уточните, пожалуйста, а какой кабель вы используете?
Евгений Кислов
12.10.2018, 10:54
Я проверил ваш проект с OPC-сервером (с тем же числом регистров, что и в вашем проекте) - все работает корректно, ошибок нет.
Вероятно, проблема в использовании порта Debug в режиме Modbus RTU:
http://www.owen.ru/forum/showthread.php?t=27223&p=255468&viewfull=1#post255468
Есть возможность проверить связь по RS-485?
Нижний RS232 порт свободен, могу через него попробовать. Там нужен кабель КС4?
Евгений Кислов
12.10.2018, 11:54
Подойдет стандартный кабель: 2-3, 3-2, 5-5.
Подойдет и КС4, но потребуется перекусить 7-7.
Всё понял, беру паузу на неделю, раньше не получится попасть на объект, потом отпишусь по результату. Спасибо.
Сообщение о потере связи возникает на всех экранах, при этом температуры и уставки работают и отображаются корректно(их регистры стоят в самом начале списка), а вот биты, которые стоят в конце списка (они начинаются с 202 регистра)не работают. Точнее работают только биты регистра 202 с 0-го по 7, все биты стоящие после не работают.
В ПЛК исчерпали объем допустимой памяти в области ввода/вывода.
Такой расклад не рассматриваете?
В ПЛК исчерпали объем допустимой памяти в области ввода/вывода.
Такой расклад не рассматриваете?
Программа показывает использование данных порядка 6,5%, запас солидный.
Мне больше кажется что проблема в этом параметре..39177
Мне больше кажется что проблема в этом параметре..39177
так добавте модуль статистики и посмотрите сколько реальное время исполнения цикла, если бы сработал макс время цикла, плк ушел бы в перезагрузку, такое происходит, если нет значит этот параметр не причем
Программа показывает использование данных порядка 6,5%, запас солидный.
Данные тут ни причем.
Я совсем про другую память говорю - область ввода/вывода. Это переменные в Мастере Модбас и Слейве Модбас, те которые %Q и %I
Ведь
Я проверил ваш проект с OPC-сервером (с тем же числом регистров, что и в вашем проекте) - все работает корректно, ошибок нет.
Данные тут ни причем.
Я совсем про другую память говорю - область ввода/вывода. Это переменные в Мастере Модбас и Слейве Модбас, те которые %Q и %I
Ведь
Если бы памяти было недостаточно, то уже на стадии компиляции программа бы выдала ошибку, ведь так? ПЛК прекрасно опрашивает модули расширения и управляет ими, с этим проблем нет, при опросе панелью плк пропадают последние по порядку опроса регистры. Чем-то напоминает работу сторожевого таймера..но плк при этом не перезагружается.
так добавте модуль статистики и посмотрите сколько реальное время исполнения цикла, если бы сработал макс время цикла, плк ушел бы в перезагрузку, такое происходит, если нет значит этот параметр не причем
Модуль статистики? А в какой библиотеке он находится, не видел такого.. Раньше работал с Дельтой, там конкретно в специальном регистре находятся такие данные.
Если бы памяти было недостаточно, то уже на стадии компиляции программа бы выдала ошибку, ведь так? ПЛК прекрасно опрашивает модули расширения и управляет ими, с этим проблем нет, при опросе панелью плк пропадают последние по порядку опроса регистры. Чем-то напоминает работу сторожевого таймера..но плк при этом не перезагружается.
зачем сочинять, какой сторожевой таймер, регистры читаться должны групповым запросом, либо все вместе не прочитаются, либо все придут.
А так Вам уже объясняют, что слишком много данных в конфигураторе, хоть и буква М но больше своих возможностей не потянет, единственный вариант перейти на библиотеку
Модуль статистики? А в какой библиотеке он находится, не видел такого.. Раньше работал с Дельтой, там конкретно в специальном регистре находятся такие данные.
добавляется так же как и модули модбас
Понял, спасибо, попробую..
Короче,
Вы неправильно в слейве посчитали адреса регистров для 8bits
39183
два 8bits == один регистр, а не два!
Последний адрес регистра в слейве - 209 !
А в панели пытаетесь читать уже на первом экране регистр с адресом 212.
39184
Нет такого регистра в слейве ПЛК !
О!
Даже есть регистр с адресом 300
39185
Так, что же Вы так батенька... Где у Вас в ПЛК регистр №300?
Так и есть, запутался с адресами, спасибо большое!
Всем спасибо за помощь! Всё заработало, проблема была только в адресах.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot