Добавление тегов Data Block и Function Block

<< 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 создается и настраивается аналогично.

siemens_imgimg9

В окне указывается тип блока – Data Block, его имя и тип задания его номера (этот номер затем нужно будет указать в ОРС в поле Регион данных).

siemens_imgimg10

В свойствах блока (вызываются через контекстное меню добавленного блока – Properties), нужно обязательно отключить настройку Optimized block access – с включенной опцией опрос ОРС сервером вестись не будет.

siemens_imgimg11

После этого в таблицу Data Block добавляются переменные нужных типов, к которым будет происходить обращение программы контроллера, и которые могут быть опрошены ОРС сервером.

В качестве примера рассмотрим получение данных из блока Data_block_1. В свойствах блока определим его номер – в данном случае 1.

siemens_imgimg12

Data block имеет следующую таблицу переменных:

siemens_imgimg13

Из ячеек таблицы можно определить тип данных – поле Data Type – и адрес байта переменной – поле Offset.

Добавим первую переменную Static_1 в ОРС сервер. Добавим в ОРС тег и зададим его свойства согласно таблице. Регион – DB, номер блока – 1, тип данных - Word, адрес байта – 0.

siemens_imgimg14

Добавим вторую переменную – Static_2. Регион, тип данных и номер блока у нее будут идентичны первой переменной, а адрес байта равен 2.

siemens_imgimg15

Добавим переменную Static_3. Номер блока – 1, тип данных – bool, адрес байта – 4, а поскольку мы извлекаем бит, то указываем номер бита – 0.

siemens_imgimg16

У переменной Static_4 будут такие же параметры, номер бита будет равен 1.

Установим у Static_5:  регион – DB, тип данных – Word, номер блока – 1. Байт 4 уже занят двумя логическими переменные, а адрес 5 использовать нельзя, так как переменные размерностью более 2 байт должны находиться в четных адресах, поэтому используется следующий четный адрес – 6.

siemens_imgimg17

Если переменные добавлены в структуру (переменная типа Struct), то в таком случае в столбце Offset указывается адрес переменной относительно начального адреса структуры, поэтому, чтобы определить адрес переменной, нужно прибавить к ее адресу начальный адрес структуры. Например, переменная Static_5 будет иметь адрес 8 (6 – начальный адрес структуры StaticGroup2 плюс 2 – адрес переменной в структуре):

siemens_imgimg18

Поддержанные 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 байт