<< Click to Display Table of Contents >> Navigation: Modbus Universal MasterOPC Server > Руководства по подключению различных контроллеров > Подключение Delta Electronics > Настройка OPC-сервера для работы с ModBus TCP > Modbus адресация операндов контроллеров Delta |
Теперь, после того как программа для ПЛК создана, можно сформировать конфигурацию OPC сервера.
Все операнды контроллеров Delta можно опросить по протоколу Modbus. Полная таблица принадлежности операндов к Modbus адресам представлена в инструкции по программированию контроллеров - DVP-PLC Application Manual, раздел "Communication Addresses of Devices in DVP Series PLC" (страницы 184-185).
В контроллерах Delta, Modbus адреса представлены в стандартном виде. Стандартный Modbus адрес, определяет номер используемой функции чтения и записи, а также адрес самого регистра.
Первая цифра адреса определяет регион, которому принадлежит данный регистр.
Первая цифра |
Регион регистра |
Функция чтения |
Функция записи |
Операнды контроллера |
0 |
Дискретные флаги (COILS) |
1 (0x01) |
15 (0x0F) |
|
1 |
Дискретные входы (DISCRETE_INPUTS) |
2 (0x02) |
- |
|
4 |
Хранимые регистры (HOLDING_REGISTERS) |
3 (0x03) |
16 (0x10) |
Оставшиеся цифры обозначают номер Modbus регистра. При этом для приведения адресов к представлению требуемого Modbus Universal MasterOPC сервером, необходимо вычесть из этого адреса единицу.
Как правило, для вычисления нужного адреса для Modbus Universal MasterOPC сервера, нужно:
1.Найти начало диапазона Modbus адресов для данного операнда;
2.По первой цифре стандартного адреса определить регион, к которому принадлежит данный регистр;
3.Отбросить первую цифру, из оставшегося числа вычесть единицу;
4.К полученному числу прибавить адрес этого операнда в ПЛК.
Ниже будет описана принадлежность всех операндов, используемых в контроллерах Delta, к Modbus адресам.
Операнд |
Диапазон |
Суммарный диапазон |
ModBus адрес (стандартный) |
S |
000~255 |
000~1023 |
000001~000256 |
S |
256~511 |
000257~000512 |
|
S |
512~767 |
000513~000768 |
|
S |
768~1023 |
000769~001024 |
Шаговые реле "S" используются для программирования последовательного управляющего процесса. Благодаря им, можно избежать сложных проверочных условий при выполнении программы.
Они находятся в самом начале диапазона адресов, поэтому для вычисления адреса ModBus не требуется никаких расчётов. Адрес будет соответствовать номеру шагового реле. В свойствах тега Modbus Universal MasterOPC сервера, для обращения к шаговым реле, нужно устанавливать регион COILS.
Примеры:
S5: адрес ModBus 5;
S550: адрес ModBus 550.
Операнд |
Диапазон |
Суммарный диапазон |
ModBus адрес (стандартный) |
X |
000~377 (Octal) |
000~377 |
101025~101280 |
Входные реле "X" определяют состояние внешних физических входов, могут принимать одно из двух состояний: 0 или 1.
Входные реле "X" в контроллерах Delta Electronics имеют восьмеричную систему: X0-X7, X10-X17…X370-X377. Для вычисления адреса ModBus, нужно сначала перевести номер реле "X" в десятичный вид: 7→7, 17→15, 377→255.
Примечание. Для перевода из восьмеричной в десятичную систему можно использовать калькулятор Windows в режиме "Программист".
После перевода нужно из начала диапазона "ModBus адрес (стандартный)" без первой цифры, вычесть 1 и прибавить номер нужного реле "X". Конечная формула будет выглядеть так:
1025-1+Xn(переведённая в десятичный формат)
где Xn - номер искомого физического входа в ПЛК.
В свойствах тега Modbus Universal MasterOPC сервера, для обращения к входным реле "Х", следует устанавливать регион DISCRETE_INPUTS.
Примеры:
X2: 1024+2=1026
X7: 1024+7=1031
X27: 1024+23=1047
Операнд |
Диапазон |
Суммарный диапазон |
ModBus адрес (стандартный) |
Y |
000~377 (Octal) |
000~377 |
001281~001536 |
Выходные реле "Y" определяет физическое состояние выходов контроллера, могут принимать одно из двух состояний: 0 или 1.
ModBus-адрес выхода "Y" вычисляется аналогично входу "X", за исключением другого начала диапазона "ModBus адрес (стандартный)". Конечная формула:
1281-1+Yn(переведённая в десятичный формат)
где Yn - номер искомого физического выхода в ПЛК.
В свойствах тега Modbus Universal MasterOPC сервера, для обращения к выходным реле "Y", следует устанавливать регион COILS.
Примеры:
Y1: 1280+1=1281
Y20: 1280+16=1296
Y27: 1280+23=1303
Операнд |
Диапазон |
Суммарный диапазон |
ModBus адрес (стандартный) |
T |
000~255 (bit) |
000~255 |
001537~001792 |
000~255 (Word) |
000~255 |
401537~401792 |
Реле времени "T" позволяет вести отсчёт времени нужных событий в программе.
Может быть:
•битовым (bit) операндом и принимать значения 0 или 1. 1 – при достижении установленного значения таймера.
•словом (word). В этом случае, будет содержать текущее значение таймера.
Для T (bit) в Modbus Universal MasterOPC сервере используется регион COILS, для T (word) - HOLDING_REGISTERS. Настройка Тип данных в устройстве у текущего значения таймера – uint16 (16-битное беззнаковое целое). Адреса для T(bit) и T(word) используются одни и те же.
Формула:
1537-1+Tn
где Tn - номер искомого реле времени в ПЛК.
Примеры:
T5: 1536+5=1041
T53: 1536+53=1089
Операнд |
Диапазон |
Суммарный диапазон |
ModBus адрес (стандартный) |
M |
000~1535 |
0000~4095 |
002049~003584 |
M |
1536~4095 |
045057~047616 |
Вспомогательное реле "M" позволяет запоминать промежуточные состояния логических связей внутри программы. Может принимать два состояния: 0 или 1.
Для вычисления адреса вспомогательного реле "M", следует определить в какой диапазон попадает это реле и применить соответствующую формулу.
Если используется Диапазон 1 (M0-M1535), то нужно использовать формулу:
2049-1+Mn
где Mn - номер искомого вспомогательного реле в ПЛК.
Примеры:
M100: 2048+100=2148
M350: 2048+350=2398
Если используется Диапазон 2 (M1536-M4095), то нужно использовать формулу:
45057-1536-1+Mn
Примеры:
M1560: 43520+1560=45080
M3500: 43520+3500=47020
В свойствах тега Modbus Universal MasterOPC сервера, для обращения к вспомогательным реле "M", следует устанавливать регион COILS.
Операнд |
Диапазон |
Суммарный диапазон |
ModBus адрес (стандартный) |
C (16 бит) |
000~199 (bit) |
000~199 |
003585~003784 |
000~199 (word) |
000~199 |
403585~403784 |
|
C (32 бит) |
200~255 (bit) |
200~255 |
003785~003840 |
200~255 (double word) |
200~255 |
401793~401903 |
Счётчики "C" используются для подсчёта входных импульсов. В контроллерах Delta есть два типа счетчика – 16 и 32-битные.
Могут быть:
•битовым (bit) операндом и принимать значения 0 или 1. 1 – при достижении установленного значения счётчика.
•словом (word, 16-bit). Содержит текущее значение 16-битного счетчика от -32768 до 32767.
•двойным словом (double word, 32-bit). Содержит текущее значение 32-битного счетчика от -2147483648 до +2147483647.
Для вычисления адреса счетчика "C", нужно сначала определить тип счетчика – 16 или 32 битный, затем определить, что именно нужно получить от счетчика - накопленное значение счетчика или его состояние (достиг установленного значения или нет).
Если используется 16-битный счетчик (C0-C199), то нужно использовать формулу:
3585-1+Сn
где Сn - номер искомого счётчика в ПЛК.
Примеры:
С3: 3584+3=3587
С235: 3584+235=3819
В Modbus Universal MasterOPC сервере, для тега данного регистра настройку Тип данных в устройстве, нужно задавать равным int16 (16-битное знаковое целое).
Если используется 32-битный счетчик (C200-C255), то для вычисления битового состояния счетчика нужно использовать такую же формулу, как и для 16-битного. Для определения регистра с накопленным значением 32-битного счетчика нужно использовать формулу:
1793-1+(Сn-200)*2
где Сn - номер искомого счётчика в ПЛК.
Примеры:
С220: 1792+(220-200)*2=1832
С251: 1792+(251-200)*2=1894
При этом, в Modbus Universal MasterOPC сервер, настройку Тип данных в устройстве, нужно задавать равным int32 (32-битное знаковое целое).
Для битового счётчика в Modbus Universal MasterOPC сервере используется регион COILS, для слова и двойного слова HOLDING_REGISTERS.
Операнд |
Диапазон |
Суммарный диапазон |
ModBus адрес (стандартный) |
D |
000~4095 |
0000~9999 |
404097~408192 |
D |
4096~9999 |
436865~442768 |
Регистр данных "D" - это память контроллера, используемая для хранения данных.
Для вычисления адреса нужного регистра данных "D", следует определить в какой диапазон он попадает. И применить соответствующую формулу.
Если регистр данных попадает в диапазон D0-D4095, то нужно применить формулу:
4097-1+Dn
где Dn - номер искомого регистра данных в ПЛК
Примеры:
D0: 4096+0=4096
D200: 4096+200=4296
Если регистр данных попадает в диапазон D4096-D9999, то нужно применить формулу:
36865-4096-1+Dn
Примеры:
D4750: 32768+4750=37518
D9500: 32768+9500=42268
В свойствах тега Modbus Universal MasterOPC сервера, для обращения к выходным реле "D", следует устанавливать регион HOLDING_REGISTERS. Настройку Тип данных в устройстве нужно установить в int16 (16-битное знаковое целое).