4.1.4.5.7. Клиент FINS

Модуль FINS Client – коммуникационный модуль, предназначенный для обмена данными между Astra.Server и программируемым контроллером по протоколу FINS.
Функции:
сбор данных: модуль записывает в сигналы Astra.Server значения, полученные от ПЛК;
подача команд: модуль передаёт значения сигналов Astra.Server в ПЛК.
Обмен данными между модулем FINS Client и ПЛК основан на архитектуре "Клиент - Сервер". Модуль FINS Client является клиентом, а ПЛК - сервером. Модуль FINS Client может обмениваться данными одновременно с несколькими ПЛК.
Обмен данными выполняется по сети Ethernet в режиме запрос-ответ. Инициатором запроса является модуль FINS Client. Самостоятельно ПЛК данные не передаёт.
Модуль FINS Client получает значения переменных путём периодического опроса ПЛК. Период опроса указывается в настройках категории данных, к которой относится сигнал.
Категория данных - это группа сигналов, значения которых обновляются с одинаковой частотой. Категории данных позволяют запрашивать значения сигналов с частотой их обновления в ПЛК.
|
Если категория данных не указана, то значения переменных запрашиваются с периодом 500мс.
Для получения данных модуль FINS Client отправляет в ПЛК запрос чтения данных. В ответ ПЛК предоставляет запрошенные данные. Полученные значения модуль FINS Client записывает в сигналы Astra.Server.
Для подачи команды модуль FINS Client отправляет в ПЛК запрос записи данных. ПЛК выполняет запись значения, после чего отвечает на запрос подтверждением выполнения команды.
Используемые команды FINS
Для обмена данными с ПЛК модуль FINS Client использует следующие команды FINS:
MEMORY AREA WRITE (0102) - для записи данных в области памяти;
MULTIPLE MEMORY AREA READ (0104) - для чтения данных из нескольких областей памяти.
Параметры, используемые в командах FINS
Команды FINS содержат информацию об источнике и получателе команды, которая указывается с помощью параметров:
адрес сети, в которой находится источник команды (SNA);
адрес узла, который соответствует источнику команды (SA1);
адрес сети, в которой находится получатель команды (DNA);
адрес узла, который соответствует получателю команды (DA1).
Источник и получатель могут располагаться в разных сетях. Источником команд является модуль FINS Client, а получателем - ПЛК.
Пример адресов источника и получателей, расположенных в одной сети:
|
Адреса
|
Источник (FINS Client)
|
Получатель (ПЛК)
| |||
|
Обозначение
|
Значение
|
Обозначение
|
Значение
для ПЛК 1
|
Значение
для ПЛК 2
| |
|
Адрес сети
|
SNA
|
0
|
DNA
|
0
|
0
|
|
Адрес узла
|
SA1
|
1
|
DA1
|
5
|
10
|
Пример адресов источника и получателей, расположенных в разных сетях:
|
Адреса
|
Источник (FINS Client)
|
Получатель (ПЛК)
| |||
|
Обозначение
|
Значение
|
Обозначение
|
Значение
для ПЛК 1
|
Значение
для ПЛК 2
| |
|
Адрес сети
|
SNA
|
1
|
DNA
|
2
|
3
|
|
Адрес узла
|
SA1
|
1
|
DA1
|
5
|
10
|
Области памяти ПЛК
Данные в ПЛК хранятся в областях памяти. Каждая область имеет свой диапазон адресов, по которым можно обращаться к хранимым данным.
|
Область памяти
|
Диапазон адресов
|
Действия
|
Примечание
|
|
CIO
|
[0 ... 6143]
|
Чтение и запись
|
Область ввода/вывода.
|
|
WR
|
[0 ... 511]
|
Чтение и запись
|
Внутренняя рабочая область.
|
|
HR
|
[0 ... 511]
|
Чтение и запись
|
Область хранения.
|
|
AR
|
[0 ... 447]
|
Чтение
|
Вспомогательная область.
Адреса [0 ... 447] используются для хранения служебных данных ПЛК.
|
|
[448 ... 959]
|
Чтение и запись
| ||
|
DM
|
[0 ... 32767]
|
Чтение и запись
|
Область памяти данных.
|
|
TIM
|
[0 ... 4095]
|
Чтение
|
Область таймеров.
|
|
CNT
|
[0 ... 4095]
|
Чтение
|
Область счётчиков.
|
|
EM
|
[0 ... 32767] для каждого банка
|
Чтение и запись
|
Дополнительная зона памяти
|
Область EM является дополнительной областью, которая состоит из банков памяти. Количество банков памяти - до 25. Номера банков указываются в шестнадцатеричной системе исчисления. Каждый банк содержит 32768 регистров с диапазоном адресов [0 ... 32767].
Области памяти HR, DM и EM являются энергонезависимыми — данные этих областей сохраняются при выключении и повторном включении питания ПЛК. Поэтому в этих областях хранятся значения уставок, настроек, режимов работы и т.п.
В таблице приведены типы сигналов Astra.Server, используемые для записи и чтения данных из областей памяти ПЛК.
|
Область памяти
|
Тип сигнала в Astra.Server
| |||||||||
|
int2
|
uint2
|
int4
|
uint4
|
int8
|
uint8
|
float
|
double
|
string
|
bool
| |
|
CIO
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
|
WR
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
|
HR
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
|
AR
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
|
DM
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
|
TIM
|
|
+
|
|
|
|
|
|
|
|
+
|
|
CNT
|
|
+
|
|
|
|
|
|
|
|
+
|
|
EM
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
Работа модуля в резерве
В режиме РЕЗЕРВ модуль FINS Client выполняет те же функции, что и в режиме РАБОТА.