|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
13.08.2014, 10:21 | #1 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Помогите с упорядочиванием опроса по RS-485
(вычеркнул написанное было подробное описание задачи - оставил только суть).
1) имеется туева хуча УВВ, подключенных к smh2G по шине RS-485 (их много, даже слишком много: при автоматическом опросе всех - время реакции системы становится больше 6 секунд - при рекомендованных НТД двух секундах). 2) по каждому УВВ программа отрабатывает следующий алгоритм "задание состояния выходов - ожидание установки выходов в самом УВВ - чтение состояния выходов и входов", при этом с контроллера вычитывается реальное состояние выходов (т.е. с заданным оно совпадет только тогда, когда все выходы установятся соответсвующим образом - это занимает до 200-300 мс. А даные со входов становятся достоверными только тогда, когда выходы установились в заданное состояние). 3) В карте памяти, соответственно, имеются три строчки: задание выходов, чтение выходов, чтение входов (запись/чтение выходов разделены на отдельные операции) Что хочется получить: а) сперва во всю туеву хучу УВВ только ЗАПИСАТЬ значения выходов (1 запрос - экономим время занятости шины, не формируя запросы чтения) а') за время записи пройдет, думаю, с полсекунды - т.е. все выходы уже успеют установиться... б) затем СЧИТАТЬ со всех УВВ состояние выходов и входов (1-2 запроса, в зависимости от того, как расположены их регистры). б') скорее всего, корректными будут уже все считанные данные. Если какие-то некорректны - цикл ЧТЕНИЯ (и только он!) повторяется еще раз. в) сравнение считанного состояния выходов с заданным, и, при их совпадении, "защелкивание" выходных данных для дальнейшей обработки. естественно, после этого цикл повторяется. Вопрос, собственно, такой: как заставить выполняться отдельно сперва операции записи (Rout) для всех устройств, и, только после того - операции чтения (Rin) также для всех устройств. Технически такое вообще возможно? И если да - то как? |
13.08.2014, 11:04 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Но запись без чтения невозможна. После записи будет автоматически следовать чтение. Затягивать во времени чтение не имеет никакого практического смысла. Запросы с нулевым временем опроса группируются путём подключения входов строба к одному и тому же источнику. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
13.08.2014, 14:19 | #3 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
1) а чтение без записи - возможно?
2) в моем случае - затягивание как раз имеет практический смысл: за то время, пока после записи - данные для прочтения становятся достоверными, я могу записать если не все - то многие УВВ. Зато все чтения, следующие сразу после записей - заведомо недостоверные, т.е. не имеют практического смысла. То есть получается вдвое больший трафик (и бОльшая задержка в реакции системы) для той информации, которая нужна. 3) ну а при описанном вами раскладе - никакого смысла в управлении запросами нет, ибо что вручную, что в автомате - шина будет засираться лишними запросами к УВВ совершенно одинаково (в автомате только FBD проще выходит). |
13.08.2014, 14:37 | #4 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Вопрос на основании вашего "низ-зя":
Как можно минимизировать цикл опроса ~40 штук УВВ по RS485. В каждом записывается 1 переменная "выходы" Rout(int), и читаются 2 переменных "выход" и "входы", обе Rin(int). Запись/чтение разделены на две операции, т.к. это экономит трафик (у Овен МДВВ регистры чтения выходов и входов идут подряд и вычитываются одним запросом, а МДВВ на шине - большинство). Разбежка "запрос-ответ" для МДВВ допустима в 15 мс, для ICP-DAS - 10 мс (т.е. наибольшая будет 15 мс). Какой параметр периодичности опроса ставить (одинаковый для всех УВВ)? 5) 20 мс (заведомо больше паузы между запросом и ответом любого УВВ, но при этом совершенно не учитывающее число устройств на шине), и считать, что smh2G все равно сперва опросит все ~40 УВВ, и только потом вернется к первому 6) 20*40=800 мс (хм... "отфонарная" цифра получается) 7) считать время запроса, добавлять паузу 15 мс, и множить это число на число УВВ на шине? |
13.08.2014, 15:57 | #5 |
Сотрудник Segnetics
Регистрация: Sep 2011
Сообщения: 129
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
|
13.08.2014, 15:59 | #6 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
13.08.2014, 16:48 | #7 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Далее правильно рассчитать тайм-ауты. И опрашивать только те переменные, которые нужны и только тогда, когда это нужно. Если у вас модуль вывода, то посылать ему запросы только когда нужно изменить состояние выхода. если модуль ввода, то посылать запросы с той частотой, которая реально достаточна алгоритму техпроцесса. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
14.08.2014, 02:02 | #8 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
А добавить модуль расширения с RS-485 ваша компания сочла "априори нерентабельным"... Вот только у МДВВ оказался один большой минус перед М-7050: его выходы устанавливаются в заданное состояние не сразу, а с приличной задержкой (фиг их знает, почему так. Хорошо хоть чтение coils показывает их реальное состояние, а не то, что задано в Rout) - за это время (расчетно) успеют пройти 20-30 запросов к слейвам. Увы, но Овеновский МДВВ подошел как нельзя лучше(на предусмотренное изготовителем щита место Овен встает хорошо, а вот ICP-DAS - впритык по высоте. Ну и тот факт, что один МДВВ заменяет два М-7050 при равной цене за штуку, имея при этом "бонусом" оптоизолированные входы-выходы - тоже играет роль). Решение, предложенное "профессионалами" - по 8 штук М-7051 (модули 16-битных вводов) в отдельный ящик, который прикорячить над каждым из силовых щитов... Впрочем, неактуально в силу ранее сказанного... |
14.08.2014, 09:51 | #9 |
Сотрудник Segnetics
Регистрация: Sep 2011
Сообщения: 129
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
2 ailcat
Могу в ядре 2G отключить чтение RW переменной после записи. Но только для переменных с периодом опроса 0. Т.о. Вы сможете сделать сначала отправку данных на запись для всех слейвов, потом чтение. Надо? |
14.08.2014, 10:36 | #10 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Вы все свои точки опроса можете разделить по приоритетам. Пускатели опрашивать почаще, автоматы пореже. Температуру ещё реже. Насчёт сравнения МДВВ с М-7051 - так потому и цена у них разная, что характеристики разные. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
14.08.2014, 19:39 | #11 |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
__________________ BANNED |
14.08.2014, 19:41 | #12 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
P.S. Он, на деле, чуть больше чем регистратор, ну да не суть. |
14.08.2014, 19:56 | #13 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
На 2G крутится программа (тик - 20 мс) которая пишет R51 (маску выходов) и читает вторым запросом R50 (маску входов) и R51, вычисляя число тиков между отдачей команды на запись и получением "правильного" ответа. Как-то так сложилось, что на "тестовом" экземпляре МДВВ-К входы начинают соответствовать выходам примерно через 300 мс (а R51 считанный соответствовать R51 отданному на запись - или так же, или на один тик раньше). Сперва грешил на SMH2G - но выяснилось, что в случае М-7050 достоверный ответ получается уже на следующем тике (иногда - через тик, что вполне объяснимо огрехами несинхронности RS485 и FBD в самом smh2G) |
14.08.2014, 20:01 | #14 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Но за готовоность это сделать - спасибо! |
14.08.2014, 20:14 | #15 |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
__________________ BANNED |
15.08.2014, 13:34 | #16 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
НО: данный фильтр не коим боком не влияет на выходы... |
16.08.2014, 13:52 | #17 |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
__________________ BANNED |
17.08.2014, 23:12 | #18 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
И (уже серьезно) - логика обработки у вас другая (я обошелся без математики). Но, при таком цикле - это уже не играет никакой роли. А если серьезно - то такая разница в результатах могла возникнуть толкьо в одном случае: слишком большой разброс характеристик у разных экземпляров Овена (любопытно, почему?). Если большинство всё-таки такие, как у вас - это есть гуд! Если как у меня - для моей задачи некритично... Но кому-то (вам?) однажды может подгадить (даже если это 1 экземпляр из 1000 - кто знает, кому он попадется и в какой проект встанет?) |
18.08.2014, 08:47 | #19 |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Например: Это у Вас просто опечатка? __________________ BANNED |
18.08.2014, 17:53 | #20 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Да, R50/51 перепутал (скорее, не опечатка, а "оговорка"), а когда заметил - поправить форум уже не дал. |
18.08.2014, 20:44 | #21 |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Если же за Вами косяков не было, то, на мой взгляд, подобные задержки могут быть связанны только с различием внутреннего ПО МДВВ. У меня модуль не менее чем 4-х летней давности, с тех пор их ни разу не покупал, перешёл на новую серию. Насколько стар Ваш модуль? __________________ BANNED |
19.08.2014, 02:45 | #22 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Тестовая сборка smh2G - МДВВ
Дата выпуска моих:
smh2G - у меня примерно с весны 2011 (т.е. выпущен зимой 2010-2011 г.) МДВВ-К -выпущен 09 июня 2014 года, (купил буквально неделю назад) Картинки: 1) Насчет схемы - решил повторить вашу, но чуть по другому оформил (работоспособность не изменилась - можете проверить) 2) карта памяти - виден период опроса в 15 мс 3,4,5) фото экрана. Паршиво (снимал на телефон), но всё же видны задержки в ответе - 12, 8, 13 тиков... UPD: только выложив пост, обратил внимание: на скриншоте - 13 тиков, на 1-м и 3-м фото - мерцают 12 и 13 тиков (т.е. 240 и 260 мс задержка) и вдруг... на втором фото неожиданно маленькая цифра - всего 8 тиков (160 мс)... любопытненько, с какого перепуга (визуально текст после цифры задержки вроде не прыгает)... UPD2: неожиданно заметил, что Заданные значения, значения на выходах и значения на входах совпадают только на 2-м фото. Это, конечно, наверняка проблема быстродействия FBD-блоков screen и тормознутости камеры в телефоне, но вдруг они показывают правду? Последний раз редактировалось Arsie, 22.05.2022 в 02:49 Причина: добавил "опупение" от 8 тиков на фоне 12-13, и второе "опупение" - от разницы в строчках... |
19.08.2014, 21:15 | #23 |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Тестовая сборка smh2G - МДВВ
Покажите сетевые настройки МДВВ в конфигураторе. И сетевые настройки слейва в SMLogix. __________________ BANNED |
19.08.2014, 22:08 | #24 |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Тестовая сборка smh2G - МДВВ
__________________ BANNED |
19.08.2014, 22:51 | #25 |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Тестовая сборка smh2G - МДВВ
__________________ BANNED |
20.08.2014, 07:50 | #26 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
На скрине - не-а, не обратил. Но выглядит прикольно (пресловутая "иголка"?)
Конфигурация - естественно, отладочная (хм..., честно говоря, не задумывался... Но разве в рабочей контроллер отдает в комп состояние входов/выходов? я был уверен, что именно этим они и отличаются!). Заскриншотить конфигуратор - проблема: не имею в наличии конвертера USB/RS-485, одалживать на стороне - не всегда можно. Но уставки задавал как описано в паспорте и как писал выше |
20.08.2014, 21:46 | #27 |
НЕ сотрудник Segnetics
Регистрация: Feb 2006
Сообщения: 540
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Может в ней дело? Завтра проверю свой МДВВ в отладочной компоновке. __________________ BANNED |
21.08.2014, 02:09 | #28 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
И, это... Куда подъезжать с мангалом и шампурами? |
05.09.2014, 09:43 | #29 |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Если первое - то, быть может, имеет смысл "стандартное" ядро допилить так, чтобы при задании отрицательных значений они рассматривались как положительные, но после записи регистра - вычитывания записанных данных не происходило бы? И дать эту опцию как "фичу" в новой версии прошивки для 2G/2Gi/Pixel25? Eсли (long) - то, думаю, это вообще фича из серии "must have" |
05.09.2014, 11:30 | #30 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 020
Благодарил(а): 15 раз(а)
Поблагодарили:
655 раз(а) в 599 сообщениях
|
Ответ: Помогите с упорядочиванием опроса по RS-485
Да и период опроса 32 секунды уже настолько редок, чтобы оказывать минимальное воздействие на трафик. Если говорить об оптимизации трафика, то лично я не вижу разницы между 37 и 65 секундами. Было бы 37 или 300/600 секунд - это да, есть хоть какая-то тема для обсуждения. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Чиллер STULZ карта опроса | razerface | Связь с внешним миром | 9 | 26.08.2018 12:14 |
2gi - 485 - opc не работает помогите (решено) | kostkost | Связь с внешним миром | 22 | 13.06.2017 11:20 |
Сеть 485 и Modbus | soleg | Вопросы о SMH-2G(i) | 3 | 09.03.2016 10:33 |
COM1 и СОМ2 - порядок и время опроса | lau | Вопросы о SMH-2G(i) | 1 | 14.01.2014 20:28 |
Проблемы со связь. Помогите разобраться. | BBB36 | Проблемы с панелями Weintek | 2 | 12.01.2014 08:43 |