- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Modicon M340 P342020 опрос 16 устройств по TCP
Модераторы: Глоб.модераторы, Специалисты SE
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 10 ноя 2011, 11:32
- Имя: Frolov G S
Modicon M340 P342020 опрос 16 устройств по TCP
Добрый день!
Стоит такая задача:
Контроллером Modicon M340 (P342020) необходимо читать и записывать с 16-ти других контроллеров (Twido) по протоколу MODBUS TCP
Я написал программу по всем канонам READ_VAR/WRITE_VAR, которая последовательно опрашивает устройства, но дело в том, что постоянно связь "отваливается" и чтение/запись перестают работать либо на части устройств, либо вообще на всех сразу.
Появляется сообщение во втором слове ManageParam 16#000B = No processor system resources (правктически во всех GEST-ах).
Если верить хелпу то:
The BMX P34 20x0 CPUs allow you to:
manage these TCP connections using port 502 messaging:
servers (32 connections)
clients (16 connections)
Transparent Device Access (2 connections)
т.е. я со своими 16-ю устройствами вписываюсь и так и так (если считать clients = Master)
при этом дальше есть заметка, что одновременно
в роли сервера может быть обработано 8 входящих запросов и ответов
в роли клиента может быть обработано 16 входящих запросов и ответов
так вот раз в секунду я отправляю только 3 запроса READ_VAR или 3 запроса WRITE_VAR, т.е. какбы разделил потоки по времени..
но один фиг все отваливается.
Поскольку имеются сомнения в правильности составления алгоритма.
Кто-нибудь сталкивался с подобными задачами? Может есть какое-то решение?
Стоит такая задача:
Контроллером Modicon M340 (P342020) необходимо читать и записывать с 16-ти других контроллеров (Twido) по протоколу MODBUS TCP
Я написал программу по всем канонам READ_VAR/WRITE_VAR, которая последовательно опрашивает устройства, но дело в том, что постоянно связь "отваливается" и чтение/запись перестают работать либо на части устройств, либо вообще на всех сразу.
Появляется сообщение во втором слове ManageParam 16#000B = No processor system resources (правктически во всех GEST-ах).
Если верить хелпу то:
The BMX P34 20x0 CPUs allow you to:
manage these TCP connections using port 502 messaging:
servers (32 connections)
clients (16 connections)
Transparent Device Access (2 connections)
т.е. я со своими 16-ю устройствами вписываюсь и так и так (если считать clients = Master)
при этом дальше есть заметка, что одновременно
в роли сервера может быть обработано 8 входящих запросов и ответов
в роли клиента может быть обработано 16 входящих запросов и ответов
так вот раз в секунду я отправляю только 3 запроса READ_VAR или 3 запроса WRITE_VAR, т.е. какбы разделил потоки по времени..
но один фиг все отваливается.
Поскольку имеются сомнения в правильности составления алгоритма.
Кто-нибудь сталкивался с подобными задачами? Может есть какое-то решение?
-
- здесь недавно
- Сообщения: 20
- Зарегистрирован: 29 июн 2015, 16:46
- Имя: Андрей
- Страна: Россия
- город/регион: Нижегородская
Re: Modicon M340 P342020 опрос 16 устройств по TCP
Опрос реализован через NOM? Просто смутило обозначение Modbus TCP а не Modbus RTU.
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 10 ноя 2011, 11:32
- Имя: Frolov G S
Re: Modicon M340 P342020 опрос 16 устройств по TCP
Я так понял NOM = Network Options Module?Vorox писал(а):Опрос реализован через NOM? Просто смутило обозначение Modbus TCP а не Modbus RTU.
Так вот нет. Процессор P34 2020 с Ethernet на борту.
-
- здесь недавно
- Сообщения: 17
- Зарегистрирован: 22 авг 2014, 14:51
- Имя: Михаил Владимирович
- Поблагодарили: 1 раз
Re: Modicon M340 P342020 опрос 16 устройств по TCP
Добрый день всем, данный процессор имеет на ботру как Modbus RTU, так и ethernet порты.
Почему опрос 16и устройств не работает нормально вы уже и сами в своем вопросе ответили. Все дело в том, что количество одновременно работающих коммуникационных блоков read_Var write_var для каждого типа процессора строго ограничено и для данного процессора это 16. Как только вы запустите >16, то получите проблемы по всем блокам сразу.
Чтобы этого не происходило вам необходимо так сделать, чтобы одновременно в работе было <16 комм блоков. Для это используйте activity bit из первого "слова/word" из management table и запусткайте блоки по очереди....
Почему опрос 16и устройств не работает нормально вы уже и сами в своем вопросе ответили. Все дело в том, что количество одновременно работающих коммуникационных блоков read_Var write_var для каждого типа процессора строго ограничено и для данного процессора это 16. Как только вы запустите >16, то получите проблемы по всем блокам сразу.
Чтобы этого не происходило вам необходимо так сделать, чтобы одновременно в работе было <16 комм блоков. Для это используйте activity bit из первого "слова/word" из management table и запусткайте блоки по очереди....
-
- здесь недавно
- Сообщения: 4
- Зарегистрирован: 10 ноя 2011, 11:32
- Имя: Frolov G S
Re: Modicon M340 P342020 опрос 16 устройств по TCP
Добрый день!
Не было времени отписаться..
1. Я изначально писал программу с "синхронизацией запросов" т.е. раз в 200-300мс я отправлял не более 3-ех запросов, тем не менее моя программа повисала и ее корректное исполнение ставилось под вопрос.
2. Я связался с тех поддержкой, меня долго мурыжили, но таки попросили меня выслать кусок моей програмы, и согласились, что в общем-то она написана правильно.
3. И вот тогда-то тех поддержка запросила версии прошивок моего контроллера =) оказалось, что firmware уменя была версии 2.01, а у них уже давно вышла новая - по-моему версии 2.8.
Так вот, как только модуль процессорный был перепрошит, все заработало как часы.
ПС: в теории возможен опрос до 128 устройств по ETHERNET с условием отправки запросов но не более 16-ти в определенное время. это время может варьироваться от 10до 1000мс и зависит от топологии сети, качества сети и устройств с которых производиться запрос. В тех поддержке подтвердили, что на стенде проводилась связь со 128-ю устройствами и она работала корректно, с оговоркой, что время скана было порядка 3-5 секунд.
Не было времени отписаться..
1. Я изначально писал программу с "синхронизацией запросов" т.е. раз в 200-300мс я отправлял не более 3-ех запросов, тем не менее моя программа повисала и ее корректное исполнение ставилось под вопрос.
2. Я связался с тех поддержкой, меня долго мурыжили, но таки попросили меня выслать кусок моей програмы, и согласились, что в общем-то она написана правильно.
3. И вот тогда-то тех поддержка запросила версии прошивок моего контроллера =) оказалось, что firmware уменя была версии 2.01, а у них уже давно вышла новая - по-моему версии 2.8.
Так вот, как только модуль процессорный был перепрошит, все заработало как часы.
ПС: в теории возможен опрос до 128 устройств по ETHERNET с условием отправки запросов но не более 16-ти в определенное время. это время может варьироваться от 10до 1000мс и зависит от топологии сети, качества сети и устройств с которых производиться запрос. В тех поддержке подтвердили, что на стенде проводилась связь со 128-ю устройствами и она работала корректно, с оговоркой, что время скана было порядка 3-5 секунд.
-
- здесь недавно
- Сообщения: 51
- Зарегистрирован: 01 июл 2015, 11:23
- Имя: Трофименко Алексей
- Страна: Россия
- город/регион: Samara
Re: Modicon M340 P342020 опрос 16 устройств по TCP
Добрый день, друзья. Использую NOE для опроса модулей удаленного ввода/вывода от TURCK. Через NOE все работает отлично, читаю, записываю без проблем. Хочу тоже самое делать через READ_VAR но никак не врублюсь как это сделать. Идея такая. Сделать один модуль READ_VAR для диагностики модулей, Буду менять регистры и адреса для диагностики проблемного. в ADDM пишу NOE0100('192.168.1.100'). Объект '%MW'. В NOE в столбце "RD Ref Slave" пишу регистр, а в Read_var не пойму куда его засунуть. Помогайте
-
- здесь недавно
- Сообщения: 17
- Зарегистрирован: 22 авг 2014, 14:51
- Имя: Михаил Владимирович
- Поблагодарили: 1 раз
Re: Modicon M340 P342020 опрос 16 устройств по TCP
Привет, у READ_VAR есть пины слева:
OBJ - тут пишешь '%MW' с кавычками
NUM - тут указываешь тот же RD Ref Slave", что и в IO scanner
NM - тут указываешь количество опрашиваемых регистров, что и в IO scanner
OBJ - тут пишешь '%MW' с кавычками
NUM - тут указываешь тот же RD Ref Slave", что и в IO scanner
NM - тут указываешь количество опрашиваемых регистров, что и в IO scanner
-
- здесь недавно
- Сообщения: 51
- Зарегистрирован: 01 июл 2015, 11:23
- Имя: Трофименко Алексей
- Страна: Россия
- город/регион: Samara
Re: Modicon M340 P342020 опрос 16 устройств по TCP
А куда кладется то что я забираю? И что такое GEST и RECP???PLC support писал(а):Привет, у READ_VAR есть пины слева:
OBJ - тут пишешь '%MW' с кавычками
NUM - тут указываешь тот же RD Ref Slave", что и в IO scanner
NM - тут указываешь количество опрашиваемых регистров, что и в IO scanner
-
- здесь недавно
- Сообщения: 51
- Зарегистрирован: 01 июл 2015, 11:23
- Имя: Трофименко Алексей
- Страна: Россия
- город/регион: Samara
Re: Modicon M340 P342020 опрос 16 устройств по TCP
Нашел косяк в своих записях. Скобки надо было { } ставить.