PDA

Просмотр полной версии : ПЛК100+18 модулей ввода и вывода



Дулат
01.03.2016, 11:33
Здравствуйте! Будет ли работать ПЛК100R-M ( область памяти ввода-вывода ,без ограничении), если к нему подключить Модуль ввода аналоговых сигналов МВ110-8А в количестве 4шт и модуль вывода дискретных МУ110-8Р в количестве 14шт. И не будет ли тормажении в программе на ПЛК100 после такого количества модулей...

Yegor
01.03.2016, 13:03
Тормозить будет не столько сама программа, сколько сеть — на опрос каждого модуля требуется время. Какие характеристики по времени отклика нужны?

Дулат
18.03.2016, 19:06
Думаю самые минимальные характеристики, чем быстрее опрос тем лучше. Расстояние от каждого 4 модуля будет около 50м, что посоветуете...Проект по управлению 26 фанкойлами, будет задаваться уставка и через дискретные выходы будет подаваться на открытие и закрытие клапана по воде.

krollcbas
18.03.2016, 19:46
А роль всего этого какая?
Для чего нужен ПЛК?
Какие функции будет выполнять?

Лично по моим ощущениям от работы с ПЛК100, как и ПЛК150 - многофункциональные мыльницы.
Два ПИД регулятора с ШИМ для управления тэнами + панель с уставками. Больше ничего не нужно требовать от них.
ПЛК 110 намного мощнее по ощущениям.
Есть пример работы плазматрона на ПЛК110, а это восемь ПИД регуляторов, около 100 сигналов ввода-вывода, два быстрых счетчика-расходомера.

alex55
18.03.2016, 21:01
Секунд 30- 40 займет опрос всех модулей( смотря что измеряется на аналоговых входах и чем?), так что если устраивает такая реакция(время отклика), то в принципе должно работать. Здесь просто от величины наверное температуры подается команда на откр закр клапана, программа тормозить не должна.

VaBo
18.03.2016, 21:06
Секунд 30- 40 займет опрос всех модулей...
Это 4-то модуля за 30 секунд?

alex55
18.03.2016, 21:12
Опрос одного аналогового входа мв=110-8а с ТС по паспорту не менее 0,8 сек 0,8*8=6,4сек-один модуль умножить на 4 и тд..

alexx751
18.03.2016, 22:02
Это время АЦП. Опрашивайте хоть раз в секунду, хоть 500 мс - как настроите

alex55
19.03.2016, 06:30
Да,это так можно считывать хоть раз в секунду, но только значения температуры АЦП измерит и изменит за 0,8 сек на вход, а считываться и передаваться будет прежнее показание, которое там было ранее с отставанием 30 сек на 4 модуля.Если это устроит..как то так

alexx751
19.03.2016, 10:03
Да откуда Вы 30 с берете? Сами то модули независимо друг от друга свои входы оцифровывают. Предположим за 6.4 сек каждый модуль свои входы обработает, за 500 мс мастер все четыре модуля опросит. Итого 7 сек. Это же не один 32-х канальный АЦП.

alex55
19.03.2016, 10:37
На практике по секундомеру мерял, реально значения менялись так, может что-то у меня в проге тормозит, но даже 7 сек- не мгновенная реакция.

Scream
19.03.2016, 11:54
На вскидку скажу, время опроса одного модуля пусть будет 100мс групповым опросом, тоесть одной командой, итого 0.1с * 18 = 1.8с ~ 2 секунды. Это время опроса всех модулей, а что будет отдавать модуль и как часто изменяется у него на входе, это другой вопрос. Только читать за раз надо как можно больше, а точнее всё, что можно из одного модуля одной командой, а не по команде на один канал и отдельно каждый бит состояния каждого входа.

lara197a
19.03.2016, 11:56
У Вас тут как у лермонтова в бородино "..смешались в кучу кони, люди и залпы тысячи орудий....."
примерно считать нужно так
Пусть скорость 115200.
115200/8= 14400байт в сек
Запрос модбасРТУ- 8 байт
Т.к. регистры данных в модулях идут не по порядку,то больше одного опросить не получится
Ответ - 7байт(пусть будет 8 для удобства счета)
Всего 16 байт 1 запрос-ответ
т.е. теоретически можно послать 900пакетов(РТУ или ок 500 Аscii)
У нас 4 МВА-опросим в виде инт с известным ко-вом знаков после запятой
Это 8 пакетов * 4 модуля= 32 пакета+ 14 МВУ*1=40 пакетов.
пусть у вас 10мс интервал безопасности.
всего примерно до 500мс.

Если я где-то ошибся не пинайте сильно.
Но в правильно настроенной сети должно быть примерно так.

Николаев Андрей
19.03.2016, 12:00
Подключение возможно.
Обновление КАЖДОГО измеренного канала будет раз в 0,4-0,6 с в КАЖДОМ модуле аналогового ввода.
Модули дискретного вывода можно записывать одной командой, как и писали.

Резким товарищам и любителям мгновенной реакции напомню, что температура есть суть инерционный параметр. Есть еще время изменения значения на датчике.
Так что не пугайте человека и не вводите в заблуждение.

Единственно что я встречал - для уменьшения времени опроса модули разносили на несколько портов RS 485 (через АС3-М) или брали ПЛК110 с двумя RS485.

alexx751
19.03.2016, 12:30
Давно не открывал инструкцию 8А и исходил из предположения что регистры модуля переписываются после преобразования всех каналов (как бы крайний случай взял).
Конечно Вы правы.

alex55
19.03.2016, 13:33
Обновление КАЖДОГО измеренного канала будет раз в 0,4-0,6 с в КАЖДОМ модуле аналогового ввода.
Извиняюсь за недопонимание: это происходит одновременно или по очереди как в РЭ? Хотелось бы понять раз и навсегда, прошу прощения за нелепый вопрос.

Николаев Андрей
19.03.2016, 13:42
Да, это я описался, прошу прощения. 0,4-0,6 на канал.
Соответственно 0,5*(число каналов) - время гарантированного обновления всех каналов.
Логично что это время одинаковое для всех модулей, и не зависит от их количества в сети.

alex55
19.03.2016, 13:47
Спасибо большое, немного посветлело после Ваших слов- теперь все понятно.

Валенок
19.03.2016, 15:02
Если интересует именно предел возможностей с данным набором :

Про МВА рассказали - опрашивать чаще оцифровки самим модулем - смысла нет. А для еще большей оптимизации - опрашивать нужно с модуля всё сразу, и при всех задействованных Ai (32шт) на интервале 5..7 секунд будут сделаны всего 4 запроса (на каждый 35..40мс). Т.е. на Ai уйдет не более 2-4% времени. Ну еще можно учесть инерцию самих датчиков - но для данного случая (2-4%) не актуально.

Теперь про МВУ.
Если хотите добиться максимально быстрой реакции, работу с ними нужно строить не по принципу "пастаянно и как можно быстрее пишу во все", а по принципу "запись по изменению, но не реже XXX". Причем XXX может быть достаточно большим. Я в таких случаях ..
1. В t.out в собственных настройках модулей пишу 2..6 секунд (никогда 0, т.к. нужна гарантированная реакция на обрыв связи)
2. Мин период записи (XXX) делаю 1000..5000мс соотв. п.1

В итоге самая худшая (длинная) реакция на изменение выхода МУ только когда ...
1. пряма сейчас изменился хотя бы один выход но на всех МУ
2. пряма перед изменением на нужном МУ на него ушел пакет (по времени)
3. именно сейчас всем МВ приспичило получить свои данные

Вообщем ситуация : у вас приступ диареи, а к единственному очку подчалил экскурсионный автобус со школьниками

При библиотечной работе этот самый худший случай - примерно 270..300мс
Cредняя реакция - не превысит 15..30мс. - все зависит от частоты изменений на выходах. Но исходя из 8Р - чечётку выходами отбивать не будете, и соответственно эта средняя реакция будет в 90..99% запросах. Т.е. можно еще несколько раз по столько же добавить без ощутимого ухудшения реакции. Тут проблемой станут репитеры и т.п.

Со штатным мастером - нужна проверка. Тама специфичная настройка )) Аналог операции "запись по изменению, но не реже XXX" - в штатном мастере вроде Both.

Касаемо ПЛК - вообще без разницы 63-73-100-110...

deniska13
07.11.2019, 19:47
Николай, добрый день!
Подскажите можно ли программно исключать модули, находящиеся в сети RS485 (протокол Modbus RTU) из опроса ПЛК, в случае если они не в сети (например отсутствует питание на них)?

Александр Ч.
08.11.2019, 08:15
В принципе можно. А если питание на них появится, то надо также программно включить в опрос? Т.е. в любом случае делать запросы на исправность?

deniska13
08.11.2019, 10:06
В принципе можно. А если питание на них появится, то надо также программно включить в опрос? Т.е. в любом случае делать запросы на исправность?

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

Александр Ч.
08.11.2019, 11:28
Вот похожая тема https://owen.ru/forum/showthread.php?t=32135
А вообще-если Last error=81 , пишем Last address, и Command этого UMD блокируем(:=255 вроде), разблокировка по кнопке(:=0). См. Конфигурация ПЛК, модуль Modbus(Master)

deniska13
08.11.2019, 11:52
Вот похожая тема https://owen.ru/forum/showthread.php?t=32135
А вообще-если Last error=81 , пишем Last address, и Command этого UMD блокируем(:=255 вроде), разблокировка по кнопке(:=0). См. Конфигурация ПЛК, модуль Modbus(Master)

Эту тему я создал)