PDA

Просмотр полной версии : проблемы связи по Modbus



IvanM
21.11.2010, 13:56
уважаемые господа, требуется ваша консультация.
есть проект, в котором присутствает плк 110-60 и сп 270 и они соеденены по протоколу Modbus-rtu(мастер панель).
когда проект испытали на стенде, все работало отлично, но когда поставили на реальную машину начались проблемы в виде "потеря связи с плк", "тайм-аут связи".
убавил скорость связи с 115200 до 38400 - результат ноль.
в итоге оказалась наводка терморегулятора. убрали подальше стало лучше, но все равно время от времени надпись "тайм-аут связи".
пробовал Rs-232, потом Rs-485 - все равно на некоторых экранах, где используются более 4 регистров выходит эта надпись.
пожалуста подскажите как настраивается этот тайм-аут?
должен ли он быть одиноковым в настройках панели и кофигурации связи плк?
что еще можно сделать для улучшения качества связи?
кстате Rs-485 применяется специальный кабель, но экран подключен только с одной стороны(с стороны панели). куда подключить его на контроллере не понятно.

lara197a
21.11.2010, 19:20
достаточно заземления с одной стороны.
проверьте цикл плк, если кпу загружен более, чем на 80 %, то увеличьте минимальный цикл.
увеличьте коммуникационный интервал, в настройках связи панели.
обычно использую простую витую пару, часто без экрана, но лучше с ним.

IvanM
22.11.2010, 08:34
спасибо за ответ, а как проверить цикл кпу и его загруженность?

Александр Приходько
22.11.2010, 09:51
здравствуйте. на связь плк и сп270 может влиять множество факторов.
1) проверьте нет ли рядом частотных приводов, если есть, убирайте их подальше.
2) скорость обмена в панели оператора и в плк должна быть одинаковой.
3) если панель мастер и интервал обмена стоит в ней 0(т.е. автоматический), то попробуйте его увеличить на 100-300мс
4) проверьте кабель, может он поврежден и периодически отходит
5) если в плк загружена большая программа, то времени на обмен плк может не хватать, соответственно нужно его увеличивать.
его можно изменить в конфигурации плк, открывайте вкладку параметры модуля и редактируйте параметр минимальное время цикла.
для проверки нагруженности процессора добавьте в плк модуль статистика.

drvlas
09.12.2010, 12:29
У меня тоже потеря связи. Вот это заинтересовало:


3) если панель мастер и интервал обмена стоит в ней 0(т.е. автоматический), то попробуйте его увеличить на 100-300мс
В каком меню ИП это искать. Вроде все посмотрел, и Выбор ПЛК, и Настройки проекта, и остальное... Не вижу.



открывайте вкладку параметры модуля и редактируйте параметр минимальное время цикла.

Это Framing time?

Спасибо!

IvanM
09.12.2010, 16:36
уважаемые форумцы.
ваши советы очень помогли. убрал все заземления и оставил только Rs-232, скорость 34800.
на панели установил 150 мс, а в плк -125 мс - и все проблема решена.
кстати, до этого пробовал поставить одинаковое число, проблема в некоторой степени оставалась, а потом не знаю по какой причине установил вот такие параметры и все отлично заработало.
на одном экране опрашивается более 8 регистров и при его открытие предупреждение практически не отключалось. сейчас все просто изумительно.
вопрос: может кто-то сможет обьяснить причину?

drvlas
09.12.2010, 21:10
на панели установил 150 мс, а в плк -125 мс - и все проблема решена.

А куда эти числа вносить?

IvanM
09.12.2010, 21:28
В панель. Программа Конфигуратор СП200:
Файл-настройки-устройства-порт ПЛК или порт Dowloand (в зависимости какой порт используется для связи с ПЛК, обычно порт PLC) -параметры-коммуникационный интервал.

В ПЛК. Программа Codesys (у меня руссифицированная версия) и панель мастер :
Вкладка (конфигуратор ПЛК)- Modbus (slave) - Modbus[FIX]- rs-232 или rs485-1 или rs485-2 -параметры модуля - Framing time ms.

Надеюсь, что я смог тебе помочь. Если нужна русская версия - могу поделиться. Пользуюсь ей уже 3 года и все окей.:o

drvlas
09.12.2010, 21:55
В панель. Программа Конфигуратор СП200:
Файл-настройки-устройства-порт ПЛК или порт Dowloand (в зависимости какой порт используется для связи с ПЛК, обычно порт PLC) -параметры-коммуникационный интервал.


Так вот оно что! А я работаю с ИП320. Может быть поэтому в Конфигураторе я не вижу йентого самого коммуникационного интервала.

А про ПЛК я уже догадывался. Но вряд ли поможет только его тормознуть. Хотя попробую, пока с ИП320 не разберемся.

Спасибо!

drvlas
09.12.2010, 22:44
я свою проблемку тоже поборол. сейчас панель с плк вяжется, хотя секундные изменения на экране идут с заметным дрожанием. это пока оставляю.

IvanM
10.12.2010, 11:29
с ип320 сложнее с одной стороны, но проще с другой.
в его конфигураторе нет настройки тайм-аута. только со стороны плк.
а секундные будут дрожать и тут ничего не изменить и чем больше тайм-аут, тем сильнее это будет проявляться.
единственное что можно делать, это притормаживать остальные процессы или делить регистры по экранам, я в одном проекте так и сделал - оставил один регистр на экран и более-менее стало лучще.

Александр Приходько
10.12.2010, 13:15
если есть проблемы с панелями операторов, то пробуйте подключаться снифером, и смотрите что именно происходит в сети. возможно просто гдето есть ошибка, которая тормозит обмен. посмотря хронологию запросов-ответов, можно понять причину подвисаний и торможений.

IvanM
10.12.2010, 13:20
простите за мою неграмотность, что такое снифер?
Так поторопился с вопросом, эта программа для просмотра траффика, а какая подойдет?

drvlas
10.12.2010, 14:05
Я поставил Free Serial Port Monitor, не помню, откуда взял, может быть здесь (https://www.hhdsoftware.com/Products). Ну, погулглить легко.
И трафик смотрит на ура. Только я это использовал не с ПЛК.

drvlas
10.12.2010, 14:14
в его конфигураторе нет настройки тайм-аута. только со стороны плк.
Тут, понимаешь, незнание меня грузит. Пытаюсь понять логику. рассуждаю так:

Мастер (сейчас это ИП320) по своим соображениям вычитывает всю область обмена. Или только те регистры, которые нужны активному экрану? Кто это знает?
Если всю область, то та примочка с разделением регистров по экранам не катит.
Если только используемые сейчас регистры - то да.

Ну, ладно. Но что я еще имею в виду под "по своим соображениям"? - Я о частоте опроса. Если конкретно у ИП320 эта частота не регулируется (а интересно, официальные лица читают нашу фигню или только следят за чистотой выражений на форуме?) - то что нам поможет организация процессов в ПЛК? Притормаживай или нет, а ИП вычитывает и баста! Поэтому, ИМХО, если нет управления частотой опроса со стороны ИП320, то дрожание секунд останется таким, как есть.

Но я могу и ошибаться. Поправьте, если можете. Мне еще впереди организовывать работу двух пар устройств по МОДБАСу, опыт нужен.

lara197a
10.12.2010, 20:20
только регистры текущего экрана.

drvlas
10.12.2010, 20:52
спасибо!
во, интересно. всегда думал, что многословен. а вот, написал просто "спасибо", а машина говорит: "увеличьте свое сообщение до 10 символов".
суровая здесь машина. только остается загадкой всех времен и народов, чьо она большие буквы глотает :)

Алексей Дмитриев
12.12.2010, 00:01
если мастер, то да, только текущий экран, а если слейв, то контроллер должен все прокачивать.

drvlas
12.12.2010, 00:43
Ну, разобрались. Спасибо.

Теперь вот какая беда. Что-то у меня сломалось, на пустом месте проблемка нарисовалась. Не спешил досаждать, но день убил, а результат ноль.
Думаю, автор темы не будет возражать, под название подходит, так я продолжу.

ИСПРАВЛЕНО: Смотри подсказку Андрея, сообщение № 37. Можно пропустить все остальное.

Итак, ИП320 + ПЛК100. Связь по 485, ИП320 мастер, ну, все по науке.
Работало день-полтора. Сначала я запустил ИП320 в режиме слейв, просто посмотреть, как мои экраны выглядят (первый же раз, йо-майо!). Ну, подправил естетику, включил мастером. Только сначала поставил в настройках проекта ИП320 без управления от ПЛК. То есть, экраны переключались своими кнопками ИП320, но регистры из ПЛК уже читались. Время, например, на экран вывел, тикает. Лепота!

Далее. Включил управление экранами от ПЛК. Начало работать через пень-колоду, но это ясно. Прога сырая.
Вот вожусь себе понемногу, прогу правлю... И тут бац! перестала Ип320 мой контроллер видеть. Все, потеря связи до потери пульса! Как это случилось, что именно я сломал - хз. Видимо, еще в первый раз и внимания не очень обратил (вот он, побочный эффект не слишком надежной работы оборудования - привыкаешь, что иногда запускается с ноги!)

Теперь имеем: панель с контроллером не хочет работать ни в какую. Я уж и так, и сяк. То, что перепроверил все установки, так сейчас я подробно опишу. И по осциллографу просмотрел обмен между ними. Все там по закону - посылает ИП320 команду

01 03 00 02 00 01 25 с5

что должно означать адрес ПЛК - 1, команда 03, с номера регистра 02 хочет вычитать ровно 1 регистр. Ну и контролька, я не проверял, какая должна быть, выходит 25с5.

Эту посылку вижу и на 9600 бод, и на 115 кбод, все укладывается в мои представления.
Повторяется примерно раз в 920-930 мс. В ответ - тишина.

То есть, ПЛК не понимает, что вообще к нему обращаются. Верно? Или понимает, но у него спален драйвер шины. Дык, блин, чего ему палиться? Отключаю-подключаю при выключенном питании.

Что еще можно сделать для диагностирования?

На всякий случай опишу, что я проверял в смысле идентичности настроек.

1) ПЛК

Конфигурация ПЛК
Есть подэлемент Modbus (Slave). Параметры модуля: адрес 1, визибилити Ноу :)

Под ним: Modbus [FIX] (загадочная надпись)
Ниже RS485[VAR] и параметры скорость (ставлю такую же, как в ИП), нет четности, 8 бит, 1 стоповый, RTU.

Дальше определена область обмена. ну, она и была, как впрочем и описанные параметры...

Больше (я думаю) ничего не влияет на работу с ИП320. Поправьте меня, если не прав.

2) ИП320

Файл - Выбор ПЛК - Modbus-RTU (ИП320 мастер)
В настройках та же скорость, формат данных 8 бит, 1 стоп бит, без контроля четности.

Опять-таки, думаю, что это все. что нужно проверять...

Так в чем же засада?

Николаев Андрей
12.12.2010, 00:55
создайте проект заново, ну или хотя бы обновите конфигурацию...

drvlas
12.12.2010, 01:12
создайте проект заново, ну или хотя бы обновите конфигурацию...

ух ты! кому не спится в ночь глухую :) спасибо за оперативность!

я пробовал создать новый проект. в нем задал буквально те же настройки, что и описывал выше, да в области вывода забил 6 байт, т.к. именно по адресу 4х2 ип320 и обращается (там номер экрана).
в главной программе сделал присвоение с этой переменной. и все.

не работает.

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

сейчас вот читаю, как подключиться к другому порту. кабеля с етернетным разъемом (который входил в комплект?) у меня нет.
смотрю на обычный порт Rs232 нашего плк. спаять нуль-модемный кабель не проблема, но меня смущает, что я на этом разъеме не вижу отрицательного потенциала ни на 2-й, ни на 3-й ножке (вообще ни на какой, если точно).
СОВРАЛ: на 3 ноге минус, как и у ИП. То есть именно нуль-модем нужен. Попробую...

Николаев Андрей
12.12.2010, 01:15
Эко Вас ночью то...:)
1. Все настройки Вы указали верно - порекомендвал новый проект, чтобы исключить возможность "слетания" конфигурации.
2. Порт можно поменять на 232 или Debug232. Для 2332 стандартно: 2,3,5 на 3,2,5... В общем то схема в руководстве на панель приведена.
3. К Контроллеру Из CoDeSys (если я все правильно понял) через 232 не подключитесь - только через Debug кабелем из коробки

drvlas
12.12.2010, 01:22
да, понял. спасибо, уважаемый! сделаю кабель на недебаговый 232 и расскажу, что получилось.

IvanM
12.12.2010, 12:34
я так и не понял, сейчас вообще ни какой связи или только в этом проекте?
а вообще загрузка с пк идет?
а если отказатся от управления экранами от плк? и вообще, если мне не изменяет память команда 03 - это чтение нескольких регистров...
попробуй команду 06. Да кстати: ИП320 потдерживает только RTU-master, то есть панель может быть только мастером.

drvlas
12.12.2010, 12:46
я так и не понял, сейчас вообще ни какой связи или только в этом проекте?
а вообще загрузка с пк идет?

Да у меня всего один проект с ИП320 :)

Хотя я сделал минимальный тестовый проект (сейчас, пожалуй, сделаю его еще раз, не сохранял) - и он тоже не работал.

Итак:

1) Загрузка ПЛК идет, в общем, нормально. Через Етернет.

2) Загрузка ИП320 - вообще самое радостное из того, что у меня с ОВЕНом получалось. Работает на ура.

3) Работа по 485 ИП320(Мастер) - ПЛК не идет. Попробовал сменить на 232 - то же самое. Мне тут мой Учитель в личке подсказал, что могут быть проблемы с неполной перезагрузкой ПЛК, что там работа с портами живет своей жизнью. Я пробовал те танцы со сбросами ПЛК, которые он подсказал, но пока безрезультатно.

Мой прошлый опыт подталкивает меня внимательно рассмотреть процессы обмена. Но аппаратно вижу тлько, что ПЛК не отзывается, а програмно все как-то спрятано - даже не знаю, куда заглянуть. Я же не выловлю момент получения драйвером посылки от ИП320, не увижу, как она парсится... Значит, нужны другие пути.

drvlas
12.12.2010, 12:51
Пока пишу, ты уже новое советуешь :)


а если отказатся от управления экранами от плк? и вообще, если мне не изменяет память команда 03 - это чтение нескольких регистров...
попробуй команду 06.
Отказаться от управления не помогает. Пока ИП- мастер, он обращается к слейву. Не видит ответа - пишет потерю связи.

03 - правильно. Так там и указан блок длиной в 1 регистр :) Это же не я даю команды - ИП320 так построена.

Но, вообще-то ты натолкнул на идею. Если для прояснения попробовать связаться с ПЛК от компа - именно как от Мастера МОдбаса. Для этого какой-то софт нужен, наверное...

IvanM
12.12.2010, 12:53
ИП320 потдерживает только RTU-master, то есть панель может быть только мастером.
Это очень важно.

IvanM
12.12.2010, 13:07
у меня есть такая прога, правда я с ней не пробовал работать, но на всякий случай держу. если нужна могу сбросить на мыло.

drvlas
12.12.2010, 13:22
ну, если не работал, то пусть лежит. я нарыл в инете, сейчас пробую разобраться, какая даст наибольшие возможности именно по выяснению.

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

хотя. хотя есть у меня ощущение, что тут действительно я где-то то ли не дочистил, то ли не доконфигурировал... потому я так и спрашиваю: это все я перечислил, относящееся к работе порта, или гденить флажок какой сбросил, махнув хвостом, и он-то все и портит?

IvanM
12.12.2010, 13:46
я еще раз посмотрел настройки, которые ты поставил и не смог не к чему не смог придраться.
с виду все верно.

МИХАИЛ
12.12.2010, 14:22
Уважаемый "drvlas" на проект можно взглянуть, и не забудте, если выложите - тип ПЛК, версия прошивки, таргет.

drvlas
12.12.2010, 21:23
на проект можно взглянуть

ну, создал с нуля проект. такой простой, что дальше некуда. всего 3 экрана на панели ип320, управляемые от плк100.
связь по 485. скорость оставил по умолчанию 115 кбод. думаю, дело не в скорости. почти уверен, что в плк самом по себе, безотносительно вида интерфейса и скорости обмена.

проекты прилагаю, но вот описание поведения.

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

ошибка связи (#0): произошло отключение

оказывается, етернетное соединение находится в состоянии "получение сетевого адреса". и это как-то долго длится, до минуты. вероятно, таковы установки, которые я внес по неопытности...

2) связь ип и плк после загрузки программы устанавливается, а вот после выключения питания может не установиться.

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

в контроллере нет программы. загрузить новую программу?

так что у меня с плк? есть возможность в домашних условиях проверить флеш?

или где собака роется?

drvlas
12.12.2010, 23:06
не ссорьтесь, мальчики :)

я в курсе, дорогой учитель, что может. и я уже узнал (на этом форуме), что лучше начинающему не тыкаться в использование ип320 слейвом. поэтому тут у матросов нет вопросов.

интересно работаю сейчас. сделал вывод, что плк100 имеет память без запоминания - и все. остальное работает.

теперь новая беда... ип320 довольно сильно тормозит. разбираюсь, убираю лишнее с экранов. как вы думаете. если массив графических динамических текстов заменить на массив не графических - это сильно поможет? пробовать ручками облом, там 67 строк...

Валенок
12.12.2010, 23:27
Это не 67 ли имен часом ?

Нечего не имею против овена. Но алгоритмика их устройств, по косвенным признакам, иногда желает лучшего.

ИП не особо тормозит если если на экране очень мало (1-3) регистров.
Но почему-то она не в состоянии определить что регистр уже считан, если он сдублирован на данном экране (это имхо). Он же - имя, он же - ед.изм...

Ускоритель для этого - именно ип-320 - слейв.
Надо только приноровится. :)

Имел пробные проверки связи с десятком регистров на одном экране. Задержки - в пределах 0.4-0.6с (на экран). при скорости - 19200. Естественно, не штатными средствами.



ЗЫ
И это.. давай без этого .. как это.. Ну неудобно.:o

И что такое - память без запоминания ? 8(

Ну и замена дин.граф.текстов на обычные дин.тексты - ускорит.

drvlas
13.12.2010, 12:01
спасибо, уважаемый друг! :)


это не 67 ли имен часом ?
это в одном из экранов у меня есть динамический текст. по значению регистра под названием "номер параметра" я выкладываю наименование параметра. лет 10-12 об этом мечтал, пока работал наш прежний контроллер на семисегментных индикаторах :) там не разгуляешься с надписями. а тут же - лепота! тока тормознутая. ну, ускорим как-нить :)


ускоритель для этого - именно ип-320 - слейв.
не-е-е! пока еще кишка тонка. я потерплю.

надо только приноровится. :)


имел пробные проверки связи с десятком регистров на одном экране. задержки - в пределах 0.4-0.6с (на экран). при скорости - 19200
так вот, мне сдается, что скорость обмена - как раз не рулит! есть нечто другое в торможении панели. почему так думаю: потому что не заметил разницы при обмене на 38к и 115к. правда, специально опыт не ставил, но приметил такое. так что может оказаться, что панель как-то вяло обрабатывает то, что порт ей накидывает.
вот бы кто в овене разобрался с этим! ведь интересно, читаю здесь. слышу в личном общении - все знают про тормоза. и никто не может внятно сказать - почему, собственно. даже мой первый пост на этот форум был о том, каковы ограничения в количестве экранов, в количестве инфо на экране, во что это выльется. нет ответов...


ну и замена дин.граф.текстов на обычные дин.тексты - ускорит.
придется постучать кнопочками. это ведь только ручкаи, причем копи-пейст не поможет :(


что такое - память без запоминания ?
бываю загадочен. есть у кого учиться :)

я имею в виду, что с прошлой недели у меня перестала запоминаться программа а плк. то есть, при выключении питания (и, внимание! - при нажатии кнопки сброс на плк) связь с панелью исчезает, а при попытке соединиться компом с плк я вижу надпись, что там программы нет. просто нет.
ну, я загружаю по новой, делов-то. а разбираться, почему так пишет - некогда. потом поставлю эксперимент без панели. может это не вся программа исчезает, а нечто, определяющее связь по модбасу?

Николаев Андрей
13.12.2010, 13:25
Программа исчезает на 99% из за того, что Вы её не записываете в контроллер на Flash - Онлайн\создание загрузочного проекта.

drvlas
13.12.2010, 15:32
Программа исчезает на 99% из за того, что Вы её не записываете в контроллер на Flash - Онлайн\создание загрузочного проекта.

Вах! Спасибо! А я что-то тупил, думая, что там в подвале все пункты меню связаны с записью в ПЛК всего проекта.

ИТАК, с сообщения № 19 и до сих пор можно пропустить. Это ода моей тупости.

Что ж, отлично!!!

Теперь боремся только с медленной реакцией панели на манипуляции с кнопками. Наверное, для этого следует создать новую тему. С МОДБАСом, ИМХО, это никак не связано.

Terrano1992
14.12.2010, 13:48
оказывается, етернетное соединение находится в состоянии "получение сетевого адреса". и это как-то долго длится, до минуты. вероятно, таковы установки, которые я внес по неопытности...
...на пк. Надо зайти в "свойства соединения", выбрать "протокол TCP/IP" и указать там IP-адрес карточки и маску в явном виде, не оставляя по умолчанию "получить адрес автоматически" - поскольку при отсутствии DHCP-сервера в этой сетке получить адрес карточке просто неоткуда.

drvlas
14.12.2010, 14:16
...на пк. Надо зайти в "свойства соединения", выбрать "протокол TCP/IP" и указать там IP-адрес карточки и маску в явном виде, не оставляя по умолчанию "получить адрес автоматически" - поскольку при отсутствии DHCP-сервера в этой сетке получить адрес карточке просто неоткуда.
Спасибо!
Даже более того. У меня система собрана на рутере и к нему мой комп подключен по WiFi. Я боялся (ну, чайник я, электрический), что, установив вручную адрес 10.0.6.1, я потеряю связь с другими компами и с Инетом. Оказалось, что незачем "беречь" проводное соединение, если я в системе реально через WiFi.
То есть, я там оставлял именно"Получать IP-адрес автоматически" - это и томозило. ПК, похоже, долго топтался здесь, потом обращался к "альтернативной конфигурации" и только там видел 10.0.6.1.
По совету товарища я поставил "Использовать следующий адрес" и вязаться стало мгновенно.

Дорогой коллега-чайник, которого занесет сюда с подобной проблемой! Пиши в личку, с радостью поделюсь своими скудными знаниями. Я не делаю проблемы из незнания - проблема только в нежелании знать :)