Segnetics

Вернуться   Segnetics > Форум Segnetics > Песочница

Песочница Удалённые с форума темы

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2023, 19:22   #1
alf999
Senior Member
 
Аватара для alf999
 
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 106
Благодарил(а): 2 раз(а)
Поблагодарили: 7 раз(а) в 7 сообщениях
Question Вопрос по Modbus TCP/IP (Возможно так задумано)

Добрый день!,
во время разработки проекта в SMLogix решил поинтересоваться фитча или это баг... В общем есть устройства которые нужно опросить и передать на верхний уровень (все по Modbus TCP/IP) данные с контроллера. Устройств много, в пределах 30 штук и у каждого регистров по 16 примерно.

Для этих задач был выбран контроллер Matrix 1021-70 с картой NA-018 (2xEthernet).

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

Для начала при настройке опроса в среде разработке SMLogix воспользовался мастером "Задание свойств Slave" в котором указывается практически все, но опрос устройства отключить не получается стандартными средствами (из меню контроллера, с которым тоже непонятно что происходит при изменении IP адреса устройства или его выключения). В общем результате вроде как опрос работает с перерывами на время возобновления. но отключить полностью не получилось.

Если поставить галку "Управление из FDB" то блокируются несколько полей ввода которые вводятся из FBD. Кроме трех указанных в картинке "Задание свойств Slave" и названия устройства Slave.



После этого в блоке SlaveX(Link) появляется несколько дополнительных настроек, в которых можно отключать опрос устройства.



Но перестает работать задержка опроса устройства (хорошая вещь), которая осталась вроде как включенной (разрешенной к изменению после установки галки "Управление из FDB") в окне свойств Slave...
То есть блок работает и нет задержек опроса при проблем со связью. Вопрос - зачем тогда оставили поля доступными в мастере "Управление из FDB".

В общем так и не получилось реализовать задержку опроса при использовании галки "Управление из FDB", и не получается отключать опрос устройства не используя эту галку.

Скажу сразу, что реализовать задержку с помощью FBD пробовал по количеству ошибок. на одном блоке работает идеально, но раскопировав макрос на 30 блоков... С блоков SlaveX(Link) ошибки с выхода Errors начинают идти с большой задержкой не как с тестового одного блока, а точнее 1 ошибка в 10-15 сек (в поглядчике) это очень долго учитывая что Timeout 500 ms это примерно (20 ошибок за 10 сек как минимум). Возможно подскажете в чем проблема )
Изображения
Тип файла: png Midas_1.png (11.2 Кбайт, 387 просмотров)
Тип файла: png Midas_2.png (8.2 Кбайт, 319 просмотров)
Тип файла: png Midas_3.png (3.5 Кбайт, 1 просмотров)
alf999 вне форума   Ответить с цитированием
Старый 08.02.2023, 19:27   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от alf999 Посмотреть сообщение
В общем так и не получилось реализовать задержку опроса при использовании галки "Управление из FDB", и не получается отключать опрос устройства не используя эту галку.
Это не мастер "управления", это кнопка "больше", открывающая доп. опции.


Добавлено через 3 минуты


Цитата:
Сообщение от alf999 Посмотреть сообщение
В общем так и не получилось реализовать задержку опроса при использовании галки "Управление из FDB", и не получается отключать опрос устройства не используя эту галку.
Ну так галка для того и есть, чтобы ручками делать любую свою хотелку



Цитата:
Сообщение от alf999 Посмотреть сообщение
Скажу сразу, что реализовать задержку с помощью FBD пробовал по количеству ошибок. на одном блоке работает идеально, но раскопировав макрос на 30 блоков... С блоков SlaveX(Link) ошибки с выхода Errors начинают идти с большой задержкой не как с тестового одного блока, а точнее 1 ошибка в 10-15 сек (в поглядчике) это очень долго учитывая что Timeout 500 ms это примерно (20 ошибок за 10 сек как минимум). Возможно подскажете в чем проблема )
Опрос ведётся в 5 ниток вроде. Т.е. начиная с 6 слейва будет замедление из-за сложения таймаутов запросов.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 08.02.2023, 21:27   #3
alf999
Senior Member
 
Аватара для alf999
 
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 106
Благодарил(а): 2 раз(а)
Поблагодарили: 7 раз(а) в 7 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Это не мастер "управления", это кнопка "больше", открывающая доп. опции.
Можно ли добавить без доп опций в блок SlaveX (Link) разрешения работы?

Цитата:
Опрос ведётся в 5 ниток вроде. Т.е. начиная с 6 слейва будет замедление из-за сложения таймаутов запросов.
Это понятно, не понятно почему задержек нет если не пользоваться дополнительной опцией. Если бы все работало одинаково был бы один вопрос... То есть если пользоваться доп. опцией из FBD, то будут большие задержки (при условии если устройства не будут отвечать)... 10 секунд до ожидания 1 ошибки для 100мб/сек пропускной способности сети (и не загруженности процессора)... странно все это.

Цитата:
Ну так галка для того и есть, чтобы ручками делать любую свою хотелку.
Ручками то как раз не получается, а без ручек работает, но нет возможности отключения )...
Заметил еще один интересный момент, если в блоке SlaveX (Link) количество ошибок Err поставить 0. то на выходе блока Errors пролетают ошибки (при увеличении таймаута до 1000 мс и более ошибки пропадают). Если поставить хотя бы одну, то ошибки перестают пролетать (даже при таймауте 500 мс). странно все это. По логике если ошибки есть, то они есть, и количество ошибок на входе блока Err до выдачи аварии на выходе Break не должно влиять. Или я что то не так понимаю?

Цитата:
Опрос ведётся в 5 ниток вроде. Т.е. начиная с 6 слейва будет замедление из-за сложения таймаутов запросов.
Можно увеличить количество ниток опроса? (немного перераспределить ресурсы. т.к. их и так предостаточно), для более эффективного использования ресурсов контроллера под мою задачу.

И все таки почему поля ввода в "Задание свойств Slave" не блокируются, если не блокируются я предполагаю что эта опция работает...

Последний раз редактировалось alf999, 08.02.2023 в 21:54
alf999 вне форума   Ответить с цитированием
Старый 09.02.2023, 09:57   #4
ujin
Senior Member
 
Аватара для ujin
 
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили: 10 раз(а) в 10 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от alf999 Посмотреть сообщение
Что бы по локальной сети не гуляли лишние запросы к отключенным на время устройствам
Wireshark знаете?
Если посмотреть на траффик в сети, то там запросов разных гуляет много.
Сетевая карта контроллера + драйвер, либо блок ethernet в процессоре контролера часть работы по отсеву делают сами. Т. е. запросы не к этому mac адресу отбрасываются. Широковещательные и всякие управляющие запросы типа ICMP, опять же не все, помещаются в стек.
Получается для устройств в сети лишние запросы к другим устройствам (к другим MAC адресам) не создадут проблем.
Если отключенное устройство уже было ранее в сети, то оно есть в arp таблицах и пакеты будут адресоваться по arp таблице к конкретному MAC.
Далее они (пакеты на запрос соединения) погуляют и через некоторое время удалятся в свичах.
Если устройства не было ранее в сети, будут идти широковещательные ARP запросы Who has, которые устройствами откинутся, в свичах так же через некоторое время удалятся.
Если постоянно накидывать запросы на TCP соединение, а устройства нет, запросы буферизируются сетевой картой и пакеты свичем. При этом в буфере всегда будет какое-то их количество. И при подключении устройства весь буфер будет отправлен. Будут созданы максимальное количество соединений. По стандарту MODBUS TCP - если не ошибаюсь 16. А последний, не откинутый мастером, вряд-ли получит свой порт в стеке. Такая ситуация может быть или не быть в зависимости от сетевой карты, драйвера, буферов, свичей.
Таким образом 3 вывода.
Вывод 1. Сами по себе запросы на TCP соединение другим устройствам и свичам проблем не создадут.
Вывод 2. Если поставить 3 неудачных запроса и длинный таймаут 2,5 минуты то и отсутствующему тоже проблем не будет.

Проблему можно решить отправляя вместо запроса на TCP соединение ping (ICMP). Тут проблема с сетевой картой. Она их отправляет и ждет ответ по очереди. А после 60 устройств вообще подвисает.
Можно в качестве пингов использовать UDP запросы.
Например модули ввода вывода ICPDAS ET7000 отвечают на свой фирменный UDP запрос ICPDAS7188E,00. Ответ можно распарсить

Вывод 3 устройства от Сегнетикс не предназначены для сбора большого количества данных от многих устройств. Об этом много раз было много срача, но пока лично я своего мнения не поменял.
Альтернативно для такой задачи подходит промышленный комп самый дешевый + OPC UA сервер с поддержкой опроса слейвов по MODBUS TCP.


__________________
В жизни 2 правила успеха:
1 Не говори всего что знаешь
2 ...
ujin вне форума   Ответить с цитированием
Старый 09.02.2023, 10:25   #5
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от alf999 Посмотреть сообщение
Можно ли добавить без доп опций в блок SlaveX (Link) разрешения работы?
Что такое "Разрешение работы"?



Цитата:
Сообщение от alf999 Посмотреть сообщение
Это понятно, не понятно почему задержек нет если не пользоваться дополнительной опцией. Если бы все работало одинаково был бы один вопрос... То есть если пользоваться доп. опцией из FBD, то будут большие задержки (при условии если устройства не будут отвечать)
Что такое "доп. опцией из FBD"?



Цитата:
Сообщение от alf999 Посмотреть сообщение
... 10 секунд до ожидания 1 ошибки для 100мб/сек пропускной способности сети (и не загруженности процессора)... странно все это.
Мир вообще странен, если не знать, как он устроен, но пытаться объяснить всё солнечными затмениями.



Цитата:
Сообщение от alf999 Посмотреть сообщение
Ручками то как раз не получается
Если честно, я перестал понимать вас.



Цитата:
Сообщение от alf999 Посмотреть сообщение
Заметил еще один интересный момент, если в блоке SlaveX (Link) количество ошибок Err поставить 0. то на выходе блока Errors пролетают ошибки (при увеличении таймаута до 1000 мс и более ошибки пропадают). Если поставить хотя бы одну, то ошибки перестают пролетать (даже при таймауте 500 мс). странно все это.

По логике если ошибки есть, то они есть, и количество ошибок на входе блока Err до выдачи аварии на выходе Break не должно влиять. Или я что то не так понимаю?
Возвращаемся к странности мира, который не объяснить через солнечные затмения.



Цитата:
Сообщение от alf999 Посмотреть сообщение
Можно увеличить количество ниток опроса? (немного перераспределить ресурсы. т.к. их и так предостаточно)
Поговорите на эту тему с теми, кто говорит о том, что ресурсов недостаточно. Я с удовольствием понаблюдаю



Цитата:
Сообщение от alf999 Посмотреть сообщение
И все таки почему поля ввода в "Задание свойств Slave" не блокируются, если не блокируются я предполагаю что эта опция работает...
Вы точно понимаете, что эти поля означают? Читали справку?


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 09.02.2023, 10:36   #6
Shurion
Senior Member
 
Регистрация: Sep 2019
Адрес: SPb
Сообщения: 178
Благодарил(а): 12 раз(а)
Поблагодарили: 18 раз(а) в 18 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от ujin Посмотреть сообщение
Вывод 3 устройства от Сегнетикс не предназначены для сбора большого количества данных от многих устройств. Об этом много раз было много срача, но пока лично я своего мнения не поменял.
Интересно что значит "большого количества данных от многих устройств". Единственная проблема которая возникала это соединить миллиард связей. Всё остальное работает без проблем)
Shurion вне форума   Ответить с цитированием
Старый 09.02.2023, 10:50   #7
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от Shurion Посмотреть сообщение
Интересно что значит "большого количества данных от многих устройств". Единственная проблема которая возникала это соединить миллиард связей. Всё остальное работает без проблем)
У Юджина частенько проблемы по типу проблем дона Кихота)) Причём, как я искренне полагаю, не от недостатка его знаний или какой-то глупости, а наоборот, от их избытка. Т.е. проблемы придумываются сами собой на основании теоретических выкладок без их критического анализа.

Я сам таким иногда страдаю, поэтому прекрасно его понимаю


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 09.02.2023, 11:29   #8
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от ujin Посмотреть сообщение
Вывод 3 устройства от Сегнетикс не предназначены для сбора большого количества данных от многих устройств. Об этом много раз было много срача, но пока лично я своего мнения не поменял.
Альтернативно для такой задачи подходит промышленный комп самый дешевый + OPC UA сервер с поддержкой опроса слейвов по MODBUS TCP.
А много это сколько?
Личный опыт опроса:
Матрикс по 2 портам RS485 опрашивают 30 контроллеров с программой из конструктора (вышло примерно 500 переменных) и затем его по Эзернету опрашивает панель. Работает "удовлетворительно". Т.е. еще больше по RS485 навешивать не стоит
SMH4 опрашивает по Эзернету 20 пикселей с программой конструктора и далее его опрашивает панель также по эзернету. Надо сказать, что панель напрямую без посредника с этой задачей не справилась. После 10 контроллеров связь начала жутко тормозить. С посредником все в норме. Работает "отлично", можно еще навешивать контроллеров
Pixel2511 Опрашивает по RS485 10 контроллеров SMH2010 (программы конструктора) + 3 пикселя (свои программы) и далее его по эзернету опрашивает панель. Работает "удовлетворительно" (т.е. еще расширять такую систему не стоит).
Это "много" или "нормально"?
Max2114 вне форума   Ответить с цитированием
Старый 09.02.2023, 12:39   #9
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от alf999 Посмотреть сообщение
есть устройства которые нужно опросить и передать на верхний уровень (все по Modbus TCP/IP) данные с контроллера. Устройств много, в пределах 30 штук и у каждого регистров по 16 примерно.
Я вот никак не пойму. Вам нужен просто шлюз?
Контроллер просто читает и передает наверх?

Цитата:
Для этих задач был выбран контроллер Matrix 1021-70 с картой NA-018 (2xEthernet).
Матрикс с УСО-шками тут зачем?


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 09.02.2023, 13:28   #10
alf999
Senior Member
 
Аватара для alf999
 
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 106
Благодарил(а): 2 раз(а)
Поблагодарили: 7 раз(а) в 7 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Что такое "Разрешение работы"?


Цитата:
Что такое "доп. опцией из FBD"?
немного оговорился имелось ввиду, "Управление из FBD" Вод картинка из справки:


Цитата:
Цитата:
Цитата
Сообщение от alf999 Посмотреть сообщение
Ручками то как раз не получается
Если честно, я перестал понимать вас.
ответ:

Цитата:
Это понятно, не понятно почему задержек нет если не пользоваться дополнительной опцией. Если бы все работало одинаково был бы один вопрос... То есть если пользоваться доп. опцией из FBD, то будут большие задержки (при условии если устройства не будут отвечать)...
Пытался сказать, если делать макрос на задержку, с установленной галкой "Управление из FBD". то ожидание ошибки на выходе блока составляет значительное время, если не пользоваться галкой "Управление из FBD", то ошибки приходят как положено... Попробую еще раз повторить эксперемент, и выслать пару проектов.

Цитата:
Вы точно понимаете, что эти поля означают? Читали справку?
Может укажете где описание тех полей которые не блокируются?
а именно:



Не нашел там что означают эти поля. все что нашел:



В онлайн справке аналогично...
Изображения
Тип файла: png Com.png (23.3 Кбайт, 301 просмотров)
Тип файла: png Co1.png (9.5 Кбайт, 299 просмотров)
Тип файла: png Co2.png (47.7 Кбайт, 303 просмотров)
alf999 вне форума   Ответить с цитированием
Старый 09.02.2023, 13:32   #11
alf999
Senior Member
 
Аватара для alf999
 
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 106
Благодарил(а): 2 раз(а)
Поблагодарили: 7 раз(а) в 7 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от ATS Посмотреть сообщение
Я вот никак не пойму. Вам нужен просто шлюз?
Контроллер просто читает и передает наверх?

Матрикс с УСО-шками тут зачем?
Контроллер выполняет еще некоторое действия с данными, в том числе на основе их выполняет определенные алгоритмы (Отключение оборудования). Опрашиваемые контроллером данные должны еще выводиться на верхний уровень. Не хотел нагружать датчик опросами еще и со станции оператора (Да и не все устройства позволяют множественный опрос).

Что такое УСО?
alf999 вне форума   Ответить с цитированием
Старый 09.02.2023, 13:58   #12
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от alf999 Посмотреть сообщение
Контроллер выполняет еще некоторое действия с данными
Просянилось.

Цитата:
Что такое УСО?
Модули ввода- вывода Matrix, FMR, MRL


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 09.02.2023, 15:10   #13
ujin
Senior Member
 
Аватара для ujin
 
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили: 10 раз(а) в 10 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от Arsie Посмотреть сообщение
Т.е. проблемы придумываются сами собой на основании теоретических выкладок без их критического анализа.
Проблемы появляются в процессе работы, далее идет попытка осмыслить с точки зрения теории. Точных знаний на уровне программиста TCP стека в маршрутизаторе или драйвера сетевой карты нет, приходится додумывать почему супернадежная связь несколько раз в день сбоит. И как обойти сбои.


Добавлено через 13 минут


Цитата:
Сообщение от Max2114 Посмотреть сообщение
А много это сколько?
Это "много" или "нормально"?
На сегодняшний день я бы разделил так
до 100 сигналов и до 15 модулей мало
100 - 1000 и до 50 модулей на ethernet + 15 модулей на 485 порту * на 4 порта - средне
Выше - много.
По скорости до 50 выборок в секунду/ на канал - мало. До 200000 выб/сек на канал средне. Выше много.
Со средними скоростями опять же справляется простыми методами обычное TCP соединение
В среднем варианте справляются простые методы опроса и хранения данных.
В варианте alf999 связь начинает виснуть с 5 TCP модулей. Это несерьезная цифра
Недавно тестили чтение трендов с базы. 1 млн 800 тыс сигналов на 7 трендах (секундные значения за 72 часа) читалось и отображалось на графике за 25 сек. Это средне.


__________________
В жизни 2 правила успеха:
1 Не говори всего что знаешь
2 ...
ujin вне форума   Ответить с цитированием
Старый 09.02.2023, 16:06   #14
ujin
Senior Member
 
Аватара для ujin
 
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили: 10 раз(а) в 10 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от Arsie Посмотреть сообщение
У Юджина частенько проблемы по типу проблем дона Кихота
Моя проблема сейчас - отображение данных с контроллера на Web страницу. Времени на задачу мало. Но кое что получается.
Сейчас под рукой подопытный orange PI zero.
Частота передачи данных клиентам 50 выборок в секунду. Начинается подтормаживание. И видно как буфер накапливается и при отключении еще несколько секунд идет передача на Web страницу из буферов.
Прямой клиент (не web страница) отключается сразу.
И кстати PostgreSQL сервер на нем тоже крутится.
Как буфера чистить х.з. Может просто ограничиться 10 выборками в секунду да и фиг с ним.
https://youtu.be/P4K5PiTHuZE


__________________
В жизни 2 правила успеха:
1 Не говори всего что знаешь
2 ...
ujin вне форума   Ответить с цитированием
Старый 09.02.2023, 16:07   #15
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от ujin Посмотреть сообщение
Проблемы появляются в процессе работы, далее идет попытка осмыслить с точки зрения теории.
Цитата:
Сообщение от ujin Посмотреть сообщение
В варианте alf999 связь начинает виснуть с 5 TCP модулей. Это несерьезная цифра
Ну вот что и требовалось доказать. У Альфа появляются пока ещё неизвестные проблемы при переходе на ручное управление. Но вы уже с голой грудью набросились на амбразуру ветряной мельницы


Добавлено через 9 минут


Цитата:
Сообщение от alf999 Посмотреть сообщение
Может укажете где описание тех полей которые не блокируются?
Работа в интернет -> Режимы работы контроллера -> Описание


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 09.02.2023, 16:34   #16
alf999
Senior Member
 
Аватара для alf999
 
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 106
Благодарил(а): 2 раз(а)
Поблагодарили: 7 раз(а) в 7 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от Arsie Посмотреть сообщение
Ну вот что и требовалось доказать. У Альфа появляются пока ещё неизвестные проблемы при переходе на ручное управление. Но вы уже с голой грудью набросились на амбразуру ветряной мельницы


Добавлено через 9 минут




Работа в интернет -> Режимы работы контроллера -> Описание
Вы же шутите, да?,

Там максимум из этого описания только увеличенный таймаут.


Мне из этих параметров нужно лишь количество попыток сявзи, и время возобновления опроса.
И как работает количество попыток связи?, за ошибку он считает первый пришедший пакет с ошибкой, или по таймауту. или одна ошибка это после 3х неудачных попыток опроса?. и 3 попытки на каждый запрос, или на устройство?... как много вопросов и так мало ответов ))
alf999 вне форума   Ответить с цитированием
Старый 09.02.2023, 16:45   #17
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от alf999 Посмотреть сообщение
Вы же шутите, да?,

Там максимум из этого описания только увеличенный таймаут.

Мне из этих параметров нужно лишь количество попыток сявзи, и время возобновления опроса.
3 неудачных на устройство, затем указанная пауза.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 09.02.2023, 16:51   #18
ujin
Senior Member
 
Аватара для ujin
 
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили: 10 раз(а) в 10 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от Arsie Посмотреть сообщение
Ну вот что и требовалось доказать. У Альфа появляются пока ещё неизвестные проблемы при переходе на ручное управление.
Я тут многабукаф написал. Вы все прочитали?
Откуда взялись проблемы я расписал по своему пониманию.
При одновременной работе без ручного управления у него проблемы с отключенными модулями. Такие же были у меня с совершенно другим оборудованием.
Связано с наличием буферов во всяких разным местах. В драйвере сетевой карты, в сетевой карте, в свиче, в слейве.
Правильно Альф пытается их отключить.
Я поначалу выставлял длинный таймаут 2,5 мин.
Если у него не получится есть пока такой выход. Выставить длинный таймаут 2,5 мин и не трогать ручное управление. Нагрузку на сеть отсутствие модулей не увеличивает.
Сейчас при 3х неответах перехожу на пинги через UDP запросы отсутствующих модулей.
Модулей MODBUS TCP напоминаю было около 60.


Добавлено через 1 минуту


Цитата:
Сообщение от Arsie Посмотреть сообщение
3 неудачных на устройство, затем указанная пауза.
Да - 2,5 мин для очистки буферов в сетевой карте и свичах.
Нужно чтобы пакеты как говорят сисадмины "протухли".


__________________
В жизни 2 правила успеха:
1 Не говори всего что знаешь
2 ...
ujin вне форума   Ответить с цитированием
Старый 09.02.2023, 17:23   #19
alf999
Senior Member
 
Аватара для alf999
 
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 106
Благодарил(а): 2 раз(а)
Поблагодарили: 7 раз(а) в 7 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от ujin Посмотреть сообщение
Сейчас при 3х неответах перехожу на пинги через UDP запросы отсутствующих модулей.
Модулей MODBUS TCP напоминаю было около 60.


Добавлено через 1 минуту



Да - 2,5 мин для очистки буферов в сетевой карте и свичах.
Нужно чтобы пакеты как говорят сисадмины "протухли".
UDP конечно выход, но вот вопрос поддерживает ли устройство которое я опрашиваю его и нет его поддержки от segnetix, пока по крайне мере не видел не где.

Такс... потратив час на кусок моего проекта всего лишь с 1 ибп и 10 датчиками... в общем получается 11 устройств. В проекте только часть опроса и преобразование в нужные данные по описанию регистров от производителя датчиков.

Так же прикладываю имитацию Modbus Tools Slave "Test1.mbs" моего датчика (первые 50 регистров) из которых только наверное 20 опрашивается...



Зайдя там в монитор опроса можно прекрасно наблюдать:

1) как сеть не работает с 11 датчиками в ручном режиме "Test2.psl" (происходит один опрос, и пауза на секунд на 20-30)

2) как сеть работает с этим же количеством датчиков без ручного режима "Test1.psl"... =(

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

Не забудьте поменять IP адрес у блока опроса на тот, где будет запускаться Modbus Slave и ну и соответственно запустить слейв (Connect).
Приложил на всякий случай используемые макросы...
Изображения
Тип файла: png Co2.png (51.6 Кбайт, 21 просмотров)
Вложения
Тип файла: zip Documents.zip (540.2 Кбайт, 4 просмотров)
alf999 вне форума   Ответить с цитированием
Старый 09.02.2023, 20:42   #20
ujin
Senior Member
 
Аватара для ujin
 
Регистрация: May 2010
Адрес: Novosibirsk
Сообщения: 761
Благодарил(а): 1 раз(а)
Поблагодарили: 10 раз(а) в 10 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от alf999 Посмотреть сообщение
UDP конечно выход, но вот вопрос поддерживает ли устройство которое я опрашиваю его и нет его поддержки от segnetix, пока по крайне мере не видел не где.
Это модули ET7000 от ICPDAS. Сегнетикс такой режим пинга не поддерживает. Это я делал чтобы убрать длинную паузу 2,5 мин.
Цитата:
Сообщение от alf999 Посмотреть сообщение
Мне кажется проблема не в аппаратной части контроллера... т.к. меняю всего одну галочку, в ручной режим или нет
Если вернуться к постановке Вашей задачи ручной режим Вам понадобился для отключения опроса по MODBUS TCP, чтобы не грузить сеть.
Даже с опросом сеть загружена на единицы процентов на скорости 100 МБит/с. Если устройство отключено на прохождение пакетов к другим устройствам это никак не влияет. Другое дело если в этом или ручном режиме начинает тормозить сам контроллер. Но это другая тема.
Для специалистов Сегнетикса можете посмотреть как я делал на основе Modbus библиотеки от National Instruments. На LabVIEW.
Форк Гитхаба открытой библиотеки NI
Своя добавка для непрерывного чтения


__________________
В жизни 2 правила успеха:
1 Не говори всего что знаешь
2 ...
ujin вне форума   Ответить с цитированием
Старый 10.02.2023, 08:44   #21
1exan
Senior Member
 
Регистрация: Nov 2008
Адрес: Алтайский край
Сообщения: 136
Благодарил(а): 2 раз(а)
Поблагодарили: 7 раз(а) в 7 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от alf999 Посмотреть сообщение
Добрый день!,
во время разработки проекта в SMLogix решил поинтересоваться фитча или это баг...
...
Посмотрите здесь - случай похожий
1exan вне форума   Ответить с цитированием
Старый 10.02.2023, 10:21   #22
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 094
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от 1exan Посмотреть сообщение
Посмотрите здесь - случай похожий
Не. Совсем другое.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 10.02.2023, 11:27   #23
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от 1exan Посмотреть сообщение
Посмотрите здесь - случай похожий
Я бы тоже сказал что очень похожий.

Но для начала адресочек модбаса у первого слейва отличается.
Будет ли ответ с нулевым?

А так у проектов ТС разница только в способе передачи параметров и обработке их в mbs. Возможно что-то напутано или потерялось.

Код:
[Server0]
SlaveId=0

If=5,10.10.10.101:502,500000
AltTimeout=2000000
AttemptNum=3
Downtime=20

MapId=1
Adr=1
req0=1,3,25,6,0x0488,2000000
req1=1,3,39,4,0x04a0,2000000
req2=1,3,49,6,0x04b0,2000000
req3=1,3,62,1,0x04c8,2000000

[Server1]
SlaveId=1

If=5,10.10.10.50:502,500000
AltTimeout=1000
AttemptNum=3
Downtime=20

MapId=3
Adr=1
req0=1,16,12,2,0x0fc0,0,4272,0
req1=1,16,14,2,0x0fc8,0,4274,0
req2=1,16,20,1,0x0fd0,0,4276,0
req3=1,16,21,1,0x0fd4,0,4278,0
req4=1,3,0,4,0x04cc,500000
req5=1,3,4,12,0x04dc,2000000
req6=1,3,12,2,0x050c,0,4280,0
req7=1,3,14,2,0x0514,0,4284,0
req8=1,3,20,1,0x051c,0,4288,0
req9=1,3,21,1,0x0520,0,4292,0
Код:
[Server0]
SlaveId=0

Ifx=0xbc0,0xbc2,0x117,0xa0c,0xa10,0xa14,0xbc4,0xa18

MapId=1
Adr=0
req0=0,3,25,6,0x04a8,2000000
req1=0,3,39,4,0x04c0,2000000
req2=0,3,49,6,0x04d0,2000000
req3=0,3,62,1,0x04e8,2000000

[Server1]
SlaveId=1

Ifx=0xbb4,0xbb6,0x113,0x9e4,0x9e8,0x9ec,0xbb8,0x9f0

MapId=3
Adr=1
req0=1,16,12,2,0x10d0,0,4544,0
req1=1,16,14,2,0x10d8,0,4546,0
req2=1,16,20,1,0x10e0,0,4548,0
req3=1,16,21,1,0x10e4,0,4550,0
req4=1,3,0,4,0x04ec,500000
req5=1,3,4,12,0x04fc,2000000
req6=1,3,12,2,0x052c,0,4552,0
req7=1,3,14,2,0x0534,0,4556,0
req8=1,3,20,1,0x053c,0,4560,0
req9=1,3,21,1,0x0540,0,4564,0


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 10.02.2023, 12:07   #24
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

С адресом модбаса обманул - там сначала условная адресация прописана.


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 10.02.2023, 12:14   #25
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 332
Благодарил(а): 0 раз(а)
Поблагодарили: 255 раз(а) в 251 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Задержкой вы называете timeout?
Какая версия ПО контроллера и какая версия используемого SMlogix?


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 10.02.2023, 12:26   #26
alf999
Senior Member
 
Аватара для alf999
 
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 106
Благодарил(а): 2 раз(а)
Поблагодарили: 7 раз(а) в 7 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
Задержкой вы называете timeout?
Какая версия ПО контроллера и какая версия используемого SMlogix?
На счет задержки не понял... Timeout это вроде время ожидания ответа, если за это время ответ не пришел, то выдается ошибка. Опрос продолжается далее. Или о чем речь?

Изображения
Тип файла: png Co1.png (25.3 Кбайт, 278 просмотров)
alf999 вне форума   Ответить с цитированием
Старый 10.02.2023, 12:48   #27
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 332
Благодарил(а): 0 раз(а)
Поблагодарили: 255 раз(а) в 251 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Версия ПО контроллера какая?
Что вы называете задержкой?


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Старый 10.02.2023, 13:08   #28
alf999
Senior Member
 
Аватара для alf999
 
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 106
Благодарил(а): 2 раз(а)
Поблагодарили: 7 раз(а) в 7 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от Ilya J. Посмотреть сообщение
Версия ПО контроллера какая?
Что вы называете задержкой?
Можно цитату, на счет задержки, не понимаю о чем речь...

На счет версии ПО
Странно что в окне "Поиске и диагностике" не отображается вся необходимая информация...
Встроенное ПО: 221021-094102
alf999 вне форума   Ответить с цитированием
Старый 10.02.2023, 14:07   #29
alf999
Senior Member
 
Аватара для alf999
 
Регистрация: Feb 2023
Адрес: Московская область
Сообщения: 106
Благодарил(а): 2 раз(а)
Поблагодарили: 7 раз(а) в 7 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Вот видео того что происходит при ручном управлении и при автоматическом.

https://www.veed.io/view/9f2a92d5-4c...a0?panel=share

При ручном управлении даже с доступными устройствами нет надлежащего обмена... я уже молчу об отсутствующих.

При автоматическом работает все, даже задержка между опросами (у которой окно ввода не блокируется при переходе в ручное управление). Но нет возможности отключить опрос.
alf999 вне форума   Ответить с цитированием
Старый 10.02.2023, 14:42   #30
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 784
Благодарил(а): 12 раз(а)
Поблагодарили: 194 раз(а) в 190 сообщениях
По умолчанию Ответ: Вопрос по Modbus TCP/IP (Возможно так задумано)

Цитата:
Сообщение от alf999 Посмотреть сообщение
Вот видео того что происходит при ручном управлении и при автоматическом.
Наглядно.

Но все же поставьте Увеличенный таймаут хотя бы 2000 миллисекунд.


И кстати, трафик чем смотрите?


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 15:27.


Версия vBulletin: 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2024