PDA

Просмотр полной версии : Сетевые переменные наподобие ПЛК110



R2_
17.11.2019, 20:51
Здравствуйте уважаемые коллеги.
Вопрос. Есть ли в ПР-ках сетевые переменные наподобие тех, что есть в ПЛК (Например в ПЛК110),
Т.е. работающие по UDP?

melky
17.11.2019, 21:09
На интерфейсы ПР200 посмотрите, какое там UDP возьмется ?

R2_
17.11.2019, 21:24
ОК. Посоветуйте пожалуйста какое-то решение такой задачки.
Есть около 20 отдельных абсолютно идентичных устройств.
Сейчас на каждом стоит маленький китайский контроллер и все связаны через RS485.
Общаются по MODBUS RTU, на 115200.
Когда на каком-то из устройств происходит событие, реакция на это событие может происходить через несколько секунд.
Такие тормоза не допустимы, а на MODBUSe больше ничего не вытянуть. Протокол оптимизирован по полной, все DI и Coils передаются регистрами и т.п
На этих контроллерах даже MODBUS TCP\IP не поможет, т.к. по данным производителя скорость между UART и интерфейсным модулем всего 300kb\s.
Выход только один - отказаться от MODBUS и перейти на одноранговый протокол.
Очень хотел бы использовать ПЛК110 с их сетевыми переменными, вместо китайцев, но самый маленький из них по входам\выходам несколько избыточен, не имеет аналоговых входов, и дороговат. Ну с последним можно было бы и согласиться, но по входам\выходам не подходят.
Вот и посмотрел на ПР.

melky
17.11.2019, 21:48
ПР в чистом виде вам не поможет. даже если вы его будете читать при помощи Ethernet - RS485 преобразователя.

можно Scada на ПК и 20 преобразователей USB-RS485 через usb hub. Scada умеет работать в многопоточном режиме. Ну, за все не скажу конечно, но нормальные умеют. И уже средствами Scada постоянно передавать общие переменные всем. Правда вот ПР200 все таки обычное программируемое реле, врядли они воспримут переменные по широковещательному адресу, значит придется передавать всем...


Несколько секунд это сколько ?, Кто у вас Мастер сети ?

А, если на каждый контроллер посадить Ethernet-RS485 тогда можно так же опрашивать в многопоточном режиме.

R2_
17.11.2019, 22:11
Мастером СП307 без Ethernet
Отправлять с мастера пакеты широковещалкой и так отправляю.
Проблема в том, что пока произойдет опрос всех, на каждый запрос уходит примерно 20мс, к каждому контроллеру необходимо обратиться минимум 4 раза, DI , Coils, HR, IR.
Итого 80мс на один контроллер (в идеале), на 20 контроллеров, опять же в идеале цикл 1,6 сек. а нужна моментальная реакция.
На Modbus-е этого не получить. Но если сделать так, чтобы любой участник сети мог быть инициатором события, тогда всег ОК и даже при скорости 9600.
сделать один из 20ти контроллеров слейвом и пусть он с панелью общается по Modbus, а с остальными контроллерами по UDP.

melky
17.11.2019, 22:43
у вас есть UDP ? если нет, то забудьте. Или покупайте все ПЛК или ставьте ПК и разносите на разные линии. Другого пути нет.
Если устройства оставить так же с RTU и использовать usbhub или на каждый установить Ethernet-RS485 (или UART что однофигственно) то получите скорость на каждом канале 80 мс.

панель попробуйте с Ethernet. хотя не уверен что панель с Ethernet сможет работать в многопоточном режиме

Что вы там широковещалкой отправляете ? в RTU режиме слейвы не отвечают на такие запросы.

https://owen.ru/forum/showthread.php?t=32181 вот такой штукой можно реализовать, если к нему usbhub поставить и много преобразователей USB - RS485, и панель так же слейвом сделать.

Есть только один косячек, если делать на Linux, то преобразователи USB-RS485 должны быть с серийными номерами в чипах, иначе их нельзя будет четко идентифицировать в правилах udev

stanislau
18.11.2019, 11:48
А в ПРке два слота могут быть мастером?

melky
18.11.2019, 11:58
Могут, а толку от этого? у них к тому же общее пространство памяти регистров, вроде как.

petera
18.11.2019, 12:02
Могут, а толку от этого? у них к тому же общее пространство памяти регистров, вроде как.
Общие регистры только в слейвах (64 шт.)
На мастеров это не распространяется

melky
18.11.2019, 12:05
а, сорри. Вопрос объема остается...

R2_
18.11.2019, 19:54
у вас есть UDP ? если нет, то забудьте. Или покупайте все ПЛК или ставьте ПК и разносите на разные линии. Другого пути нет.
Если устройства оставить так же с RTU и использовать usbhub или на каждый установить Ethernet-RS485 (или UART что однофигственно) то получите скорость на каждом канале 80 мс.

панель попробуйте с Ethernet. хотя не уверен что панель с Ethernet сможет работать в многопоточном режиме

Что вы там широковещалкой отправляете ? в RTU режиме слейвы не отвечают на такие запросы.

Не очень понял, что значит - "у вас есть UDP ? если нет, то забудьте."
Я как раз ищу контроллеры дешевые или ПР с UDP. Для скорости мне необходимо отказаться от клиент-серверной архитектуры, и сделать это на одноранговой системе.

Широковещательные пакеты шлет мастер, и мне совсем не обязательно, чтобы слейвы что-то отвечали. Тем более , что не понятно как слейвы вообще могут отвечать на широковещательные пакеты.

Еще раз повторюсь. Такое решение, как Овеновские сетевые переменные, это как раз то, что нужно.
Но стоимость и отсутствие аналоговых входов не позволяет их применять. Слишком большое количество контроллеров на один проект.

capzap
18.11.2019, 21:09
Я как раз ищу контроллеры дешевые или ПР с UDP.

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

Сетевые переменные это придумка S3 software а не овен

У овен есть контроллеры с аналоговыми входами/выходами, например плк15Х

melky
18.11.2019, 21:16
Блин, я вам о том и говорю, либо меняете все на ПЛК с сетевыми интерфейсами, что как я смотрю вам дорого. Либо ставите прокладку в систему в виде шлюза на ПК.

насколько помню, еще у шнайдеровских Modicon то ли 240 то ли 340 есть подобный режим но вроде на TCP, наверняка у многих есть подобное. Глобальные переменные в сети. Но опять же - дорого.

У вас есть система, есть контролеры с Modbus RTU, все работает но медлено. Неужели не найдется ЛЮБОГО ПК для теста ? преобразователи интерфейса у китайцев для проверки стоят копейки, надо будет штуки 3 на время теста, usb hub тоже можно купить за копейки. RapidScada бесплатна, Модуль автоуправления (понадобится) платный, но можно сгенерировать демо ключ на два дня для тестов.

если скорость обмена устроит в таком варианте, будете пилить дальше и сэкономите кучу денег не меняя существующие ПР или сто там у вас.

ну либо чисто попи..говорить...

Ревака Юрий
18.11.2019, 21:24
Я так и не понял, в этой задаче у ПР как слейв нужно опросить регистры, или ПР как мастер должен кого-то опросить, и он это делает медленно?

capzap
18.11.2019, 21:39
Я так и не понял, в этой задаче у ПР как слейв нужно опросить регистры, или ПР как мастер должен кого-то опросить, и он это делает медленно?

нет у него ни каких ПР, он использует недоконтроллеры с "кривым" модбасом

melky
18.11.2019, 21:47
Да Modbus там может и не кривой, просто человек думал, что в ПР он типа лучше и продвинутей :)
кстати а ПР200 как мастер может выполнять групповые запросы ? :)

Ревака Юрий
18.11.2019, 22:27
Да Modbus там может и не кривой, просто человек думал, что в ПР он типа лучше и продвинутей :)
кстати а ПР200 как мастер может выполнять групповые запросы ? :)

С групповыми, не помню чтоб что-то делали. А так елсли бы вопрос был быстро опросить ПР в режиме слейв, то там должно быть быстро, 64 регистра одним запросом, но если таких 20шт. то опять вопрос к мастеру.

R2_
19.11.2019, 21:13
Друзья. Ну посудите сами.
На панеле ПР307 задержка между пакетами установлена в 20мс.
В самом примитивном виде: Читаем DI, IR, у 20 PLC, получаем 800мс.
Можно конечно DI запилить в регистр и читать только IR, это конечно танцы с бубном, но можно.
Тем не менее, опрос 20 шт, занимает 400мс. а в будущем придется ставить 50 таких устройств.
И тогда это будет уже, в самом оптимизированном виде 1сек. И это я не беру ни время на обсчет, ни время на ответ, пусть и широковещательный, а также обязательные паузы между пакетами.
По факту получается, и на 20 шт, максимальная задержка около 1,5с. На компьютере в программе ModbusSlave, которая эмулирует эти 20 плк, задержка примерно такая же.
А мне нужна практически моментальная реакция. Это связано с безопасностью.

capzap
19.11.2019, 21:18
Друзья. Ну посудите сами.

что мешает распределенную систему построить, ПЛК110-х на борту имеет нормальное количество входов/выходов плюсом интерфейсы RS-485, даже два у некоторых а на вышестоящий уровень уже по ТСР

ЗЫ а если обратить внимание на серию модулей 21х то там только ethernet

Сергей0308
20.11.2019, 00:24
Так ПР вполне самостоятельное устройство и в случае выхода параметра из допустимого диапазона может сама себе подать необходимую команду! Если реакция на аварию нужна в другом месте, не на самом ПР, то можно последовательно(или параллейно) подключить дискретные выходы всех ПР и в случае аварии практически мгновенная реакция независимо от количества ПР, ну и дополнительно ничего и не надо!
Если реакция на аварию разных ПР нужна разная, то можно и общее(отдельное, исполнительное, аварийное) ПР поставить с двумя модулями расширения до 28 входов-выходов, что вполне хватает!

melky
20.11.2019, 09:03
Тут самое главное понять автора - ГДЕ должна быть мгновенная реакция ? На панели ? или еще параллельно на верхнем уровне ? или должна проскочить от одного ПЛК (ПР) что там к остальным ?
Какая структура сети, расстояния и так далее.

з.ы. ладно, пусть автор рассуждает и дальше. мое предложение сделать шлюз между всеми на подвернувшемся под руку ПК (даже собственном) для теста его похоже не интересует. Пусть покупает ПЛК.

20 устройств уже в работе, а это однако затратно все поменять, и еше добавится 30 или 50 ?