<< Click to Display Table of Contents >> Navigation: Multi-Protocol MasterOPC Server > Плагин протокола Siemens Profinet > Ручное добавление тегов > Добавление тегов Data Block и Function Block |
Data Block – это структура различных переменных конфигурируемых пользователем. В среде разработки Data Block добавляется в корень проекта или во вложенную группу.
Function Block - это структура переменных, а также код на языке SCL (ST).
Далее будет рассматриваться пример создания и настройки нового блока на примере Data Block. Function Block создается и настраивается аналогично.
В окне указывается тип блока – Data Block, его имя и тип задания его номера (этот номер затем нужно будет указать в ОРС в поле Регион данных).
В свойствах блока (вызываются через контекстное меню добавленного блока – Properties), нужно обязательно отключить настройку Optimized block access – с включенной опцией опрос ОРС сервером вестись не будет.
После этого в таблицу Data Block добавляются переменные нужных типов, к которым будет происходить обращение программы контроллера, и которые могут быть опрошены ОРС сервером.
В качестве примера рассмотрим получение данных из блока Data_block_1. В свойствах блока определим его номер – в данном случае 1.
Data block имеет следующую таблицу переменных:
Из ячеек таблицы можно определить тип данных – поле Data Type – и адрес байта переменной – поле Offset.
Добавим первую переменную Static_1 в ОРС сервер. Добавим в ОРС тег и зададим его свойства согласно таблице. Регион – DB, номер блока – 1, тип данных - Word, адрес байта – 0.
Добавим вторую переменную – Static_2. Регион, тип данных и номер блока у нее будут идентичны первой переменной, а адрес байта равен 2.
Добавим переменную Static_3. Номер блока – 1, тип данных – bool, адрес байта – 4, а поскольку мы извлекаем бит, то указываем номер бита – 0.
У переменной Static_4 будут такие же параметры, номер бита будет равен 1.
Установим у Static_5: регион – DB, тип данных – Word, номер блока – 1. Байт 4 уже занят двумя логическими переменные, а адрес 5 использовать нельзя, так как переменные размерностью более 2 байт должны находиться в четных адресах, поэтому используется следующий четный адрес – 6.
Если переменные добавлены в структуру (переменная типа Struct), то в таком случае в столбце Offset указывается адрес переменной относительно начального адреса структуры, поэтому, чтобы определить адрес переменной, нужно прибавить к ее адресу начальный адрес структуры. Например, переменная Static_5 будет иметь адрес 8 (6 – начальный адрес структуры StaticGroup2 плюс 2 – адрес переменной в структуре):
Поддержанные OPC сервером типы данных и их размерности:
Тип данных |
Размерность |
---|---|
bool |
1 бит |
byte |
1 байт |
char |
1 байт |
wchar |
2 байт |
sint |
1 байт |
usint |
1 байт |
word |
2 байт |
int |
2 байт |
uint |
2 байт |
dword |
4 байт |
dint |
4 байт |
udint |
4 байт |
real |
4 байт |
lreal |
8 байт |
string |
256 байт |
wstring |
512 байт |
Date |
2 байт |
TOD |
4 байт |
Time |
4 байт |
DT |
8 байт |
S5Time |
2 байт |