PDA

Просмотр полной версии : Modbus в ST (ПР200-205)



Varkus
23.03.2026, 04:33
Здравствуйте!
Планируется ли завоз modbus функций в ST?

1) Например, сейчас только в свойствах проекта можно поменять slave адрес датчика. И СНОВА заливаем проект.
А было бы очень удобно менять его через экран ПРки в retain переменной.

2) При старте ПРки нужно просканировать ВСЕ modbus slave для поиска датчиков. Но создавать ВСЕ эти адреса в свойствах проекта просто нереально.
Надо то всего лишь в три строки:


for i:=1; i<248; i++
ret = modbus_read(i,3,1) // адрес, функция, количество регистров
end_for

3) большинство ПЧ имеют +/- одинаковую логику управления и мониторинга
Можно было бы создать универсальный ST блок, который принимает адрес и тип ПЧ, а также универсальные сигналы управления(cmd=(Start,Stop,Reset),setSpeed=(0..50) )
а на выходе универсальные сигналы состояния ПЧ(act_cmd,act_setSpeed,act_speed,act_temp,act_mot ohours) и т.д.

В Codesys, я так понимаю, это можно всё реализовать, а в ПР?

Cs-Cs
23.03.2026, 08:53
В ПР200 - ТОЧНО НЕТ, потому что она построена на старом программном ядре КС1.
Новые ПР, которые с Ethernet, построены на ядре КС2, и там, к примеру их Modbus-Slave-адрес можно уже менять из программы.

Varkus
23.03.2026, 09:23
Да, Slave ID самой ПРки можно менять через переменную, НО речь про slave id подключенных датчиков.
Хорошо. А в ПР205 есть шанс завезти modbus_read в ST ?

Cs-Cs
23.03.2026, 12:09
Я не сотрудник ОВЕНа, а просто в курсе дел.
SlaveID менять - нет, если только в перспективе (надо будет в ОВЕН закинуть мысль, чтобы привязывать туда переменную).
Modbus_read - точно НЕТ

Dimensy
23.03.2026, 12:36
А зачем менять адрес датчика в мастере, если можно выставить нужный адрес у самого датчика?

Сергей0308
23.03.2026, 18:19
А зачем менять адрес датчика в мастере, если можно выставить нужный адрес у самого датчика?

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