PDA

Просмотр полной версии : ПЛК110 в связке по MODBUS с SMSD 1.5 Modbus ver.2



Millyvolt2
21.12.2022, 01:41
Здравствуйте!

Пытаюсь подружить ПЛК110-24.30.Р-М с драйвером шагового двигателя SMSD 1.5 Modbus ver.2 соответственно по протоколу MODBUS.
Параметры связи ASCII, 7 бит, even, 1 stop. Такие параметры по умолчанию на драйвере.
Операции чтения/записи работают корректно для Holding registers, но для остальных - Coils, Discrete inputs, Input registers не работает ни чтение ни запись, то есть всегда вижу только нули.
MODBUS настраиваю через Ресурсы -> Конфигурация ПЛК.

Не подскажете, в чем может быть проблема?

64709

1exan
21.12.2022, 04:48
Здравствуйте!

Пытаюсь подружить ПЛК110-24.30.Р-М с драйвером шагового двигателя SMSD 1.5 Modbus ver.2 соответственно по протоколу MODBUS.
Параметры связи ASCII, 7 бит, even, 1 stop. Такие параметры по умолчанию на драйвере.
Операции чтения/записи работают корректно для Holding registers, но для остальных - Coils, Discrete inputs, Input registers не работает ни чтение ни запись, то есть всегда вижу только нули.
MODBUS настраиваю через Ресурсы -> Конфигурация ПЛК.

Не подскажете, в чем может быть проблема?

64709

Попробуйте сделать проект с одним input регистром (или coil status) и прочитать его, может код ошибки можно будет посмотреть (Last error)

kondor3000
21.12.2022, 09:23
Здравствуйте!

Пытаюсь подружить ПЛК110-24.30.Р-М с драйвером шагового двигателя SMSD 1.5 Modbus ver.2 соответственно по протоколу MODBUS.
Параметры связи ASCII, 7 бит, even, 1 stop. Такие параметры по умолчанию на драйвере.
Операции чтения/записи работают корректно для Holding registers, но для остальных - Coils, Discrete inputs, Input registers не работает ни чтение ни запись, то есть всегда вижу только нули.
MODBUS настраиваю через Ресурсы -> Конфигурация ПЛК.

Не подскажете, в чем может быть проблема?



Интересно, а откуда вы взяли, что эти регистры надо читать функциями 0х04, может тоже надо 0х03. Это указано в руководстве?
По поводу бит тоже самое, надо в руководстве читать поддерживаемые функции.
А в записи бит у вас вообще функция 0х71, сомневаюсь, что она поддержана.
Для записи регистров везде 0х06, может нужна 0х10. Вы же ничего не написали.
Кроме того есть сомнения по поводу адресов бит.

Где вообще карта регистров и описание функций поддерживаемых устройством?

Millyvolt2
21.12.2022, 22:35
Попробуйте сделать проект с одним input регистром (или coil status) и прочитать его, может код ошибки можно будет посмотреть (Last error)

Где его можно посмотреть, не подскажете?

Millyvolt2
21.12.2022, 22:47
Интересно, а откуда вы взяли, что эти регистры надо читать функциями 0х04, может тоже надо 0х03. Это указано в руководстве?
По поводу бит тоже самое, надо в руководстве читать поддерживаемые функции.
А в записи бит у вас вообще функция 0х71, сомневаюсь, что она поддержана.
Для записи регистров везде 0х06, может нужна 0х10. Вы же ничего не написали.
Кроме того есть сомнения по поводу адресов бит.

Где вообще карта регистров и описание функций поддерживаемых устройством?

Почитайте спецификацию MODBUS (могу скинуть вам) - для чтения например single coil есть только одна команда (и никаких других), то же касается записи multiple coils, чтения input registers, чтения и записи holding registers и для всех остальных регистров также конкретные команды.
0х71 вообще не команда MODBUS, пробовал её до кучи, потому как я пробовал все возможные команды использовать.
Скинул описание драйвера SMSD 1.5 где указано с какими регистрами можно работать по MODBUS, там типы регистров и адреса есть.

kondor3000
22.12.2022, 08:44
Почитайте спецификацию MODBUS (могу скинуть вам) - для чтения например single coil есть только одна команда (и никаких других), то же касается записи multiple coils, чтения input registers, чтения и записи holding registers и для всех остальных регистров также конкретные команды.
0х71 вообще не команда MODBUS, пробовал её до кучи, потому как я пробовал все возможные команды использовать.
Скинул описание драйвера SMSD 1.5 где указано с какими регистрами можно работать по MODBUS, там типы регистров и адреса есть.

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

Millyvolt2
22.12.2022, 23:22
а по существу дела можете что-то написать, г-н? Вы мне ответили моим же ответом, т.е. послали читать спецификацию MODBUS, но я то начинающий тут, а вы кто?

У меня все те же настройки работают с Coil'ами другого устройства(панель оператора), а с драйвером SMSD не работают, хотя я делаю по его спецификации.
Может кто-то работал с SMSD в связке с ПЛК Овен?

1exan
23.12.2022, 04:50
Где его можно посмотреть, не подскажете?

В конфигурации, над регистрами, адрес последнего опрашиваемого устройства и его ошибка. Но т.к. ошибка отображается именно для конкретного адреса опрашиваемого в текущий момент устройства, чтобы не ловить это я и предлагаю оставить одно устройство, в нём один опрашиваемый адрес и посмотреть будет ли ошибка при опросе.
64764

И я не понял в чём смысл добавления двух одинаковых устройств с разделением в них на чтение и запись?

Millyvolt2
25.12.2022, 01:58
В конфигурации, над регистрами, адрес последнего опрашиваемого устройства и его ошибка. Но т.к. ошибка отображается именно для конкретного адреса опрашиваемого в текущий момент устройства, чтобы не ловить это я и предлагаю оставить одно устройство, в нём один опрашиваемый адрес и посмотреть будет ли ошибка при опросе.
Понял, попробую. На данный момент заработало с использованием библиотеки Modbus.lib, код на языке ST написан. Читает дискреты корректно во всяком случае. А тот вариант, что я сюда скидывал, при настройке MODBUS из Конфигурации ПЛК всё так же не работает, правда единственное что поменял, это RTU режим сейчас.


И я не понял в чём смысл добавления двух одинаковых устройств с разделением в них на чтение и запись?
А это так в туториалах Овна любят делать)

kondor3000
25.12.2022, 15:30
В конфигурации, над регистрами, адрес последнего опрашиваемого устройства и его ошибка. Но т.к. ошибка отображается именно для конкретного адреса опрашиваемого в текущий момент устройства, чтобы не ловить это я и предлагаю оставить одно устройство, в нём один опрашиваемый адрес и посмотреть будет ли ошибка при опросе.
64764

И я не понял в чём смысл добавления двух одинаковых устройств с разделением в них на чтение и запись?

Потому что чтение циклическое, а запись по изменению. В одном UMD так не сделать.