Segnetics

Вернуться   Segnetics > Форум Segnetics > Связь с внешним миром

Связь с внешним миром Modbus, RS232, RS485, Lon и другое.

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2023, 22:23   #1
Merke
Member
 
Регистрация: May 2022
Сообщения: 52
Благодарил(а): 5 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Опрос много слейвов через SlaveX

Подскажите, кто сталкивался:
Необходимо опрашивать несколько десятков контроллеров по Modbus TCP, но не получается опросить и два. Если оба контроллера доступны, то все нормально, но стоит один отключить то прекращаются запросы и на второй контроллер, судя по DEVICE(Link), хотя импульс на вход ^ переменной R(in) проходит. Контроллер матрикс, отформатирован из последнего лоджика.
Вложения
Тип файла: psl TestSlaveX.psl (617.1 Кбайт, 22 просмотров)
Merke сейчас на форуме   Ответить с цитированием
Старый 21.11.2023, 10:59   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: SlaveX

Цитата:
Сообщение от Merke Посмотреть сообщение
Подскажите, кто сталкивался:
Необходимо опрашивать несколько десятков контроллеров по Modbus TCP,
Зачем всё усложнять и просто не скопипастить этих слейвов?

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


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 21.11.2023, 14:48   #3
Merke
Member
 
Регистрация: May 2022
Сообщения: 52
Благодарил(а): 5 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: SlaveX

Цитата:
Сообщение от Arsie Посмотреть сообщение
Зачем всё усложнять и просто не скопипастить этих слейвов?
Проблема в том, что слейвы будут добавляться постепенно. Сейчас неизвестны не только их адреса, но и конечное количество. Т.е. пользователь сам должен будет добавлять слейвы по мере необходимости. Поэтому просто скопипастить не получится.
Эта программа просто небольшой пример для демонстрации проблемы. Если есть рабочий пример переключаемого опроса буду премного благодарен.
Merke сейчас на форуме   Ответить с цитированием
Старый 21.11.2023, 15:23   #4
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: SlaveX

Цитата:
Сообщение от Merke Посмотреть сообщение
Эта программа просто небольшой пример для демонстрации проблемы. Если есть рабочий пример переключаемого опроса буду премного благодарен.
https://dl.segnetics.com/PRODUCTS/SM...AC)/Pult_HVAC/


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Благодарность от:
Старый 24.11.2023, 01:58   #5
Merke
Member
 
Регистрация: May 2022
Сообщения: 52
Благодарил(а): 5 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Пришлось провести некоторые эксперименты с блоком SlaveX и результаты меня не порадовали. В случае не получения ответа от слейва следующий запрос будет отправлен не ранее чем через четыре секунды, если слейв на эти запросы не ответит пять раз подряд, то следующие пять запросов с интервалом четыре секунды будут отправлены не ранее, чем через минуту. И это не зависит от частоты импульсов на входе ^ переменной R(in). И самое главное не зависит от смены адреса слейва. Поэтому о переключаемом опросе в таком варианте и речи быть не может. Пример, который любезно предоставил Арсений написан в конце 2020 года предположительно на лоджике 3.32. Я не поленился, установил для проверки себе лоджик 3.32 и там ситуация лучше. После трех неудачных запросов, повторные три запроса будут отправлены не ранее, чем через пять секунд. И для переключаемого опроса, если всего несколько слейвов, наверное это имеет право на жизнь.
Я уже смирился, что придется использовать Slave вместо SlaveX и накопипастить их сотню, благо, что через веб интерфейс можно задать адрес и есть галка для отключения запросов. Но и здесь меня поджидала засада - независимо от количества слейвов в настройках мастера отображается не более одного слейва.
Merke сейчас на форуме   Ответить с цитированием
Старый 24.11.2023, 10:46   #6
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Цитата:
Сообщение от Merke Посмотреть сообщение
Пришлось провести некоторые эксперименты

Но и здесь меня поджидала засада
Проекты для иллюстрации рассказанного приложите?


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 24.11.2023, 12:25   #7
Merke
Member
 
Регистрация: May 2022
Сообщения: 52
Благодарил(а): 5 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Проекта со Slave-ми как такового еще нет, просто накопипастил пять слейвов, но через веб интерфейс доступ только к одному.
Изображения
Тип файла: jpg Slave.jpg (245.8 Кбайт, 34 просмотров)
Merke сейчас на форуме   Ответить с цитированием
Старый 24.11.2023, 12:32   #8
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Цитата:
Сообщение от Merke Посмотреть сообщение
Проекта со Slave-ми как такового еще нет, просто накопипастил пять слейвов, но через веб интерфейс доступ только к одному.
Извините, ко картинкам гадать никакого желания нет. Либо проекты, либо моя помощь вам не нужна.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 24.11.2023, 13:08   #9
Merke
Member
 
Регистрация: May 2022
Сообщения: 52
Благодарил(а): 5 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Цитата:
Сообщение от Arsie Посмотреть сообщение
Извините, ко картинкам гадать никакого желания нет. Либо проекты, либо моя помощь вам не нужна.
Проект с несколькими слейвами.
Вложения
Тип файла: psl TestSlaveS.psl (308.0 Кбайт, 15 просмотров)
Merke сейчас на форуме   Ответить с цитированием
Старый 24.11.2023, 13:19   #10
Merke
Member
 
Регистрация: May 2022
Сообщения: 52
Благодарил(а): 5 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Тест проходил следующим образом:
На двух компьютерах установлены Wireshark для регистрации запросов и Modbus Slave для имитации слейвов. С контроллера в режиме отладки поочередно, вручную задавались адреса компьютеров.
Изображения
Тип файла: jpg SlaveX.jpg (449.1 Кбайт, 30 просмотров)
Вложения
Тип файла: psl TestSlaveX_1.psl (143.8 Кбайт, 9 просмотров)
Merke сейчас на форуме   Ответить с цитированием
Старый 24.11.2023, 13:31   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Цитата:
Сообщение от Merke Посмотреть сообщение
Проект с несколькими слейвами.
Какая из проблем проявляется в этом проекте?


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 24.11.2023, 13:42   #12
Merke
Member
 
Регистрация: May 2022
Сообщения: 52
Благодарил(а): 5 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Цитата:
Сообщение от Arsie Посмотреть сообщение
Какая из проблем проявляется в этом проекте?
Через веб морду доступ только к Slave1.
Изображения
Тип файла: jpg SlaveS.jpg (85.6 Кбайт, 25 просмотров)
Merke сейчас на форуме   Ответить с цитированием
Старый 24.11.2023, 14:37   #13
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Цитата:
Сообщение от Merke Посмотреть сообщение
Через веб морду доступ только к Slave1.
В системном меню доступны все слейвы?


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


Цитата:
Сообщение от Merke Посмотреть сообщение
Тест проходил следующим образом:
На двух компьютерах установлены Wireshark для регистрации запросов и Modbus Slave для имитации слейвов. С контроллера в режиме отладки поочередно, вручную задавались адреса компьютеров.
А в этом проекте что смотреть?


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 24.11.2023, 16:24   #14
Merke
Member
 
Регистрация: May 2022
Сообщения: 52
Благодарил(а): 5 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Цитата:
Сообщение от Arsie Посмотреть сообщение
В системном меню доступны все слейвы?
Да, все.
Цитата:
Сообщение от Arsie Посмотреть сообщение
А в этом проекте что смотреть?
В этом проекте смотреть не на что. В справке написано:
вход "^" - по фронту производится отправка запроса на чтение/запись , но по факту этого не происходит, если перед этим слейв не ответил, даже если мы обращаемся уже к другому слейву, по другому адресу.
Merke сейчас на форуме   Ответить с цитированием
Старый 24.11.2023, 16:27   #15
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Цитата:
Сообщение от Merke Посмотреть сообщение
В этом проекте смотреть не на что. В справке написано:
вход "^" - по фронту производится отправка запроса на чтение/запись , но по факту этого не происходит, если перед этим слейв не ответил, даже если мы обращаемся уже к другому слейву, по другому адресу.
Вы дёргаете вход "^" до того, как истёк тайм-аут предыдущего запроса или после?


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 24.11.2023, 17:22   #16
Merke
Member
 
Регистрация: May 2022
Сообщения: 52
Благодарил(а): 5 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Цитата:
Сообщение от Arsie Посмотреть сообщение
Вы дёргаете вход "^" до того, как истёк тайм-аут предыдущего запроса или после?
После.
Merke сейчас на форуме   Ответить с цитированием
Старый 24.11.2023, 17:59   #17
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Цитата:
Сообщение от Merke Посмотреть сообщение
После.
В проекте я вижу, что период отправки совпадает с тайм-аутом. Т.к. тайм-аут начинает отсчитываться после отправки, значит тайм-аут запаздывает относительно отправки. И тогда да, получается, что каждое второе "^" проглатывается, т.к. тайм-аут ещё не истёк, а "^" уже дёрнулось.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 24.11.2023, 22:36   #18
Merke
Member
 
Регистрация: May 2022
Сообщения: 52
Благодарил(а): 5 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Я наверное очень плохо объясняю проблему. Попробую еще раз.
Во вложении ещё один тестовый проект. После его запуска в режиме отладки, я думаю вы сами всё поймете. Т.е. если вы попробуете с помощью этого блока опросить пять разных слейвов с периодом в одну секунду между запросами, то при неисправности одного из них вы не получите ответа ни от одного из слейвов. Четыре запроса он просто проигнорирует. Если время бездействия SlaveX будет больше 5, то вы не сможете отправить ни оного запроса, ни на какой адрес в течении одной минуты!!! В течение 60 секунд вы не сможете с этого блока ни чего никуда отправить ни при каких обстоятельствах!!! и таймауты там ни причем.
Изображения
Тип файла: jpg SlaveX.jpg (363.8 Кбайт, 32 просмотров)
Вложения
Тип файла: psl TestSlaveX_1.psl (154.6 Кбайт, 13 просмотров)
Merke сейчас на форуме   Ответить с цитированием
Старый 27.11.2023, 11:39   #19
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Цитата:
Сообщение от Merke Посмотреть сообщение
В течение 60 секунд вы не сможете с этого блока ни чего никуда отправить ни при каких обстоятельствах!!! и таймауты там ни причем.
В течении вот этих вот 60 сек? Попробуйте поменять цифру, отключив управление из FBD.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie сейчас на форуме   Ответить с цитированием
Старый 04.12.2023, 18:22   #20
Ilya J.
Сотрудник Сегнетикс
 
Аватара для Ilya J.
 
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 338
Благодарил(а): 0 раз(а)
Поблагодарили: 255 раз(а) в 251 сообщениях
По умолчанию Ответ: Опрос много слейвов через SlaveX

Цитата:
Сообщение от Merke Посмотреть сообщение
Проект с несколькими слейвами.
Будет исправлено в следующем релизе SMlogix, нужно будет отформатировать контроллер.


__________________
Если ничто другое не помогает, прочтите, наконец, инструкцию
Ilya J. сейчас на форуме   Ответить с цитированием
Благодарность от:
Ответ


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

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



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


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