Стартовая страница › Форумы › Взаимодействие с устройствами › Непоследовательный опрос устройств
Помечено: Опрос Modbus
- В этой теме 81 ответ, 5 участников, последнее обновление 1 год, 2 месяца назад сделано
Mikhail.
-
АвторЗаписи
-
23.07.2025 в 15:27 #39704
manjey73УчастникСуть.
У устройств должны быть разные имена. ну в рамках опроса на одной линии точно и для верхних систем наверное тоже.У однотипных устройств могут быть одинаковые коды тегов но в рамках разных устройств.
Внутри одного устройства коды тегов должны быть уникальны.Еще бывает по запаре две линии связи с одним номером сделаешь, тоже чудеса начинаются 🙂
23.07.2025 в 15:27 #39705
manjey73Участникблин, ну покажите скрины таблиц, а то в словоблудие больше играем… Вы об одном пишите, мы о другом думаем 🙂
Разные идентификаторы наверное должны быть у устройств на линии связи в Опросе Коммуникатора.
Еще раз Линия одна (если тем более RTU) — заставить опрашивать одно устройство несколько раз на линии в рамках одной сессии не получится.
Если надо, дублируйте устройства. но тогда будет проблема с привязкой, но можно решить уже средствами Сервера. Например после опроса засылать в один и тот же расчетный канал данные.В общем финтить ушами…..
-
Ответ изменён 1 год, 3 месяца назад пользователем
manjey73.
23.07.2025 в 15:30 #3970623.07.2025 в 15:31 #39708
manjey73Участниккартинки на файлообменник и ссылку…
23.07.2025 в 15:32 #39710klusandr
УчастникТак и сделал. Я думал оно тут подгрузит, увы.
https://ibb.co/tphJ72zt23.07.2025 в 15:35 #39711klusandr
УчастникНу так и сразу бы сказали: «В рамках одной сессии одно устройство не опросить».
23.07.2025 в 15:37 #39712
manjey73УчастникВот у вас Номер — это Номер устройства. По идее это и есть идентификатор для словаря при чтении шаблонов при старте драйвера.
В устройстве №1 у вас все оперативные параметры всех ваших 20-ти устройств за WirenBoard?
То есть вы хотите опрашивать все опер параметры быстро, а между ними последовательно настроечные разных устройств?
Тогда вам точно надо делать дублирование устройств в базе, чтобы разные идентификаторы получились, и чтобы по изменению Cnl данных от каждого дубля писалось в какой-то один канал.
23.07.2025 в 15:37 #39713
a80808УчастникПочему? Сделайте отдельное КП на него
23.07.2025 в 15:38 #39714
manjey73Участникг.ы. так Сессия на то и Сессия, чтобы в ней опросить тот список, что вы представили.
точнее тот список словаря, который будет создан.Если честно, о такой манипуляции опроса, как вы хотите, никогда не задумывался, даже когда драйвера писал.
Скажем так, такой режим можно было бы организовать, но Modbus драйвер штатный, и нет желания его ковырять.. но это с точки зрения кода вполне возможно. Вопрос только сколько времени придется убить на модификацию драйвера?
Проще настроить через БД, дублируя устройства.-
Ответ изменён 1 год, 3 месяца назад пользователем
manjey73.
23.07.2025 в 15:39 #39715klusandr
УчастникДа, первое это оперативные данные.
С учётом того что каналов очень много, мне кажется уже проще самому написать опрос, через отправку команд. Буду пробовать.23.07.2025 в 15:43 #39717
manjey73УчастникДа можно не писать. Сделайте требуемое количество дублей Устройства с опер данными.
Закиньте их в опрос, выставьте очередность и посмотрите что получится.Если то, что вам надо, то потом просто создаете Расчетные каналы = количеству каналов от Устройства. А в Устройствах формулы, если статус = 1, то записать данные в расчетные.
У устройств можно кидать в отдельную БД и ограничить период хранения, чтобы не засоряли…23.07.2025 в 15:45 #39718klusandr
УчастникЗвучит как буд-то сложнее чем свой опрос.
23.07.2025 в 15:46 #39719
manjey73Участникаааа. еще может финт ушами.
Так как Код тега у них будет один, то Коммуникатор по коду тега пошлет в первое найденное устройство. то есть будет слать всегда в одно устройство данные, хотя устройств будет несколько. Или в последнее, не помню.То же так ошибался и получал такую картину маслом. тогда возможно вам и расчетные каналы не понадобятся. Хотя не факт, надо попробовать на разных устройствах.
В общем или так или так что-то получится.
23.07.2025 в 15:47 #39720
manjey73УчастникТак свой опрос вы будете делать модулем через созданные каналы с App.Comm.PollDevice
Да еще и контролировать как-то придется. Модуль раз 10 в секунду будет запускаться.
-
Ответ изменён 1 год, 3 месяца назад пользователем
manjey73.
23.07.2025 в 15:50 #39722klusandr
УчастникНу скажем так, модуль запускается при старте сервера, ничего мне не мешает создать поток, или таск, где будет крутится мой цикл, и всё это ворошить, и я буду независим от дальнейшего вызова модуля.
-
Ответ изменён 1 год, 3 месяца назад пользователем
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.
