Просмотр полной версии : СПК110 slave - адресация регистров
vladimir_prg
20.12.2018, 03:28
Может кто-нибудь в курсе, как происходит адресация регистров в СПК110 работающим как стандартный слэйв (средствами CodeSys), относительно мастера его опрашивающего?
То есть адресация переменных в Modbus_Serial_Device выражается как %IWx, %QWx. При этом здесь можно задать любой начальный адрес. Допустим %IW5, %QW5.
Будет ли при этом происходить смещение адресов модбас (соответственно 30005, 40005), или адресация в любом случае будет начинаться с 0 адреса?
Евгений Кислов
20.12.2018, 08:56
Добрый день.
Inputs[0], Inputs[1], ... - это holding-регистры с адресом 0, 1 ...
Outputs[0], Outputs[1], ... - это input-регистры с адресами 0, 1 ...
Смещения адресов (4xxxx, 3xxxx) в CODESYS в нет.
%I, %Q не влияют на Modbus-адреса и лучше их не трогать вообще.
Какие регистры в СПК110 доступны для пользователя?
Начинаю для СПК110 проект с нуля, там регистры по умолчанию начинаются почему-то с 58-го.
Когда опрашиваю 58-й регистр с помощью Owen OPC Server СПК110 возвращает ошибку 2 - указанный адрес недоступен.
Евгений Кислов
30.04.2019, 20:13
Выше все написано.
С OPC у нас есть конкретный пример:
https://ftp.owen.ru/CoDeSys3/11_Documentation/01_SPK/SPK_OPC_SCADA_v.1.1.pdf
Выше все написано.
С OPC у нас есть конкретный пример:
https://ftp.owen.ru/CoDeSys3/11_Documentation/01_SPK/SPK_OPC_SCADA_v.1.1.pdf
Спасибо.
В примере используются адреса %IW0-9, %IX0-9, %QW0-9.
В то же время в заготовке проекта СПК110 по умолчанию єти же адреса используются Buzzer`ом (%QX0.0, %IX0.0), Drive'ом (%IX0.1) и другими подмодулями (например Debug %QW5 = К-во открытых дескрипторов),
и появляются ошибки типа наложения адресов...
Так можно использовать адрес 0 и 1 в СПК110 или нет?
Какие адреса отводятся для пользователя? В этом вопрос. В примере прямо 0 и 1-й (системные для СПК110) используются.
Евгений Кислов
01.05.2019, 11:46
Я убедительно прошу вас все же прочитать то, что уже писал выше.
На всякий случай процитирую
%I, %Q не влияют на Modbus-адреса и лучше их не трогать вообще.
Если же уже потрогали - то сделайте так:
https://www.owen.ru/forum/showthread.php?t=20069&p=299738&viewfull=1#post299738
Адреса регистров можно понять по числу в квадратных скобках:
Inputs[0], Inputs[1], ... - это holding-регистры с адресами 0, 1 ...
Outputs[0], Outputs[1], ... - это input-регистры с адресами 0, 1 ...
Адреса 0 и 1 можно использовать - как для input, так и для holding.
Всего в стандартном Modbus_Serial_Device доступно 500 input регистров (адреса 0...499) и 500 holding регистров (адреса 0...499).
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot