Файл описания переменных и тегов: variables.csv

22 марта 2024

ID 129044

Файл описания переменных и тегов содержит перечисления тегов, их параметров и соединений, с которыми связаны теги.

В начале файла должны быть указаны заголовочные строки, которые содержат данные для обработки файла. Пример заголовочных строк файла variables.csv приведен ниже.

Пример

'Variables

'Format Version V1.0.0.0;KICS Importer Version V1.0.0.0

'Field separator: ; Decimal separator: . Text quotes: " Var name separator: .

'ID;Varname;Connection;Address;Datatype;Length;InLo;InHi;OutLo;OutHi;Description;EngUnits;EnumName

Первые три заголовочные строки аналогичны заголовочным строкам в файле devices.csv.

Строка ID;Varname;Connection;Address;Datatype;Length;InLo;InHi;OutLo;OutHi;Description;EngUnits;EnumName содержит наименования столбцов с данными:

  • ID – уникальный числовой идентификатор тега.

    Идентификатор тега нужен для создания ссылок на тег в файле datasets.csv.

  • Varname – полное имя тега (например, Drain.8450PT00058.value20).
  • Connection – идентификатор соединения, с которым связан тег.

    Идентификатор соединения задается в файле описания соединений и используется для связи протоколов с тегами.

  • Address – адрес тега в строковом виде.

    Адрес зависит от типа протокола, с которым связан тег (например, для протокола S7comm значение адреса – M2.7, DB575:82.0, для протокола Modbus TCP значение адреса – 400537, 123, 300001).

  • Datatype – числовой код типа данных тега. Используются следующие коды:
    • 0 – BOOL;
    • 1 – INT8;
    • 2 – UINT8;
    • 3 – INT16;
    • 4 – UINT16;
    • 5 – INT32;
    • 6 – UINT32;
    • 7 – INT64;
    • 8 – UINT64;
    • 9 – FLOAT;
    • 10 – DOUBLE;
    • 11 – STRING;
    • 12 – ENUM;
    • 13 – BOOL ARRAY;
    • 14 – UNSPECIFIED.
  • Length – длина строки в байтах для тега строкового типа (string).
  • InLo;InHi;OutLo;OutHi – параметры для масштабирования значения тега.

    Если значения всех параметров для масштабирования равны нулю, то масштабирование значения тега не используется. Если заданы числовые значения параметров, то для расчета значения тега применяется следующая формула: TagValue = OutLo + (TagValue – InLo) * (OutHi – OutLo) / (InHi – InLo), где TagValue – это значение тега.

  • Description – описание тега (например, "Давление пара на выходе котла №1").
  • EngUnits – единицы измерения физической величины, которая соответствует тегу (например, м/с, Дж).
  • EnumName – имя перечисления из файла enums.csv, которое определяет значение тега.

    Поле EnumName может быть заполнено для тегов с типами данных ENUM, INT* или UINT*. Поле EnumName содержит ссылку на перечисление из файла enums.csv.

    Пример:

    Поле EnumName в файле variables.csv:

    EnumName = "OnOffSwitch"

    Описание перечисления в файле enums.csv:

    "OnOffSwitch"; 0; "Включено"

    "OnOffSwitch"; 1; "Отключено"

После заголовочных строк следует тело файла, содержащее значения параметров (например, идентификатор тега, имя тега, идентификатор соединения). Пример файла variables.csv приведен ниже.

Пример:

'Variables

'Format Version V1.0.0.0;KICS Importer Version V1.0.0.0

'Field separator: ; Decimal separator: . Text quotes: " Var name separator: .

'ID;Varname;Connection;Address;Datatype;Length;InLo;InHi;OutLo;OutHi;Description;EngUnits;EnumName

5;"System.mitsub_n.ms_plc.Bit01";"ms_plc";"W0";4;0;0;0;0;0;"System.mitsub_n.ms_plc.Bit01";"";""

6;"System.mitsub_n.ms_plc.Register01";"ms_plc";"W20";9;0;0;0;0;0;"System.mitsub_n.ms_plc.Register01";"";""

1;"systemQ.Bit01";"mc_SysQ";"10";0;0;0;0;0;0;"systemQ.Bit01";"";""

Структура адреса тега в поле Address зависит от используемого протокола.

Для поддерживаемых протоколов используются следующие структуры адреса:

  • MODBUS TCP: целое число (например, адреса дискретных входов (Discrete inputs): от 100001).
  • SIEMENS S7COMM over TCP и S7COMM over INDUSTRIAL ETHERNET: строка вида [Area][ByteAddress].[BitAddress].

    Если выполняется условие MemArea=DataBlocks, то к адресу добавляется номер блока данных. Строка принимает вид [DB17]:[ByteAddress].[BitAddress], где:

    • Area – перечисление кодов области памяти в соответствии со стандартом протокола: M, I, O, DB, C, T.
    • ByteAddress – адрес регистра, представленный целым числом.
    • BitAddress – адрес бита внутри регистра, представленный целым числом.
  • MITSUBISHI MELSEC SYSTEM Q: строка вида [Area][Address], где:
    • Area – перечисление кодов области памяти в соответствии со спецификацией протокола: SM, SD, M, L, F, V, D, TS, TC, TN, SS, SC, SN, CS, CC, CN, S, Z, R, X, Y, B, W, SB, SW, DX, DY, ZR.
    • Address – значение адреса. Адрес представляет собой целое число в диапазоне, который зависит от области данных.
  • ALLEN-BRADLEY ETHERNET/IP: строка с именем тега.
  • IEC 61850 MMS и GOOSE: согласно стандарту IEC 61850 – строка вида DOMAIN=Domain;LN=LnName;CO=CoName;DA=FullTagName;CDC=CdcName;LNCDC=LNClassName, где:
    • DOMAIN – параметр, который включает в себя имя устройства и имя логического устройства (logical device name).
    • LN – имя логического узла (logical node name).
    • CO – имя функциональной ссылки (functional constraint name).
    • DA – имя тега (tag name).
    • CDC – имя класса общих данных атрибута (attribute common data class name).
    • LNCDC – имя класса общих данных логического узла (logical node common data class name).
  • IEC 60870-5-104 и IEC 60870-5-101: строка вида [ASDU]:[Address], где:
    • ASDU – номер ASDU, представленный целым числом.
    • Address – номер объекта InformationObject, представленный целым числом.
  • GENERAL ELECTRIC SRTP: строка вида [Area][ByteAddress].[BitAddress], где:
    • Area – перечисление кодов области памяти в соответствии со стандартом протокола: I, Q, T, M, G, AI, AQ, R, P, L, W.
    • ByteAddress – адрес регистра, представленный целым числом.
    • BitAddress – адрес бита внутри регистра, представленный целым числом.
  • SIEMENS S7COMMPLUS over TCP: строка вида LID=LidValue;RID=RidValue, где LidValue и RidValue – внутренние идентификаторы тега в проекте TiaPortal.
  • EMERSON DELTAV: строка с именем тега.
  • OMRON FINS over UDP, OMRON FINS over TCP и OMRON FINS over ETHERNET/IP: строка вида [Area][ByteAddress].[BitAddress], где:
    • Area – перечисление кодов области памяти в соответствии со стандартом протокола: A, CIO, C, CS, D, DR, E, H, IR, TK, T, TS, W.
    • ByteAddress – адрес регистра, представленный целым числом.
    • BitAddress – адрес бита внутри регистра, представленный целым числом.
  • YOKOGAWA VNET/IP: строка с именем тега.
  • DNP3: строка вида [GROUP]:[INDEX], где:
    • GROUP – группа.
    • INDEX – индекс.
  • DMS for ABB AC 700F: целое число.
  • MMS for ABB AC 800M: строка вида [Application]:[POUInstance].[VarOffset], где:
    • Application – название приложения.
    • POUInstance – экземпляр POU.
    • VarOffset – смещение переменной.
  • CODESYS V3 GATEWAY over TCP и CODESYS V3 GATEWAY over UDP: строка с именем тега.
  • OPC UA BINARY: строка с именем тега.
  • OPC DA: строка с именем тега.
  • BSAP: строка вида [MSD_VERSION]:[MSD], где:
    • MSD_VERSION – целое число в диапазоне 0–65535, используемое для сравнения версий проектов/тегов в ПЛК и SCADA-системе.
    • MSD – идентификатор тега, представленный целым числом в диапазоне 0–65535.
  • FOXBORO FCP280 / FCP270 INTERACTION: строка с именем тега.
  • HONEYWELL EXPERION INTERACTION: строка вида [BLOCK_ID]:[SUBBLOCK_ID]:[PROPERTY_ID], где:
    • BLOCK_ID – порядковый номер блока в программе ПЛК, представленный целым числом в диапазоне 0–65535.
    • SUBBLOCK_ID – порядковый номер вложенного блока в программе ПЛК, представленный целым числом в диапазоне 0–65535.
    • PROPERTY_ID – порядковый номер параметра блока в программе ПЛК, представленный целым числом в диапазоне 0–65535.
  • DIRECTLOGIC INTERACTION: строка вида [Area][ByteAddress].[BitAddress], где:
    • Area – перечисление кодов области памяти в соответствии со спецификацией протокола: X, Y, C, S, T, CT, GX, GY, V, P, SP, B, PB.
    • ByteAddress – адрес регистра, представленный целым числом.
    • BitAddress – адрес бита внутри регистра, представленный целым числом.
  • BACNET: строка вида [OBJECT_TYPE]:[OBJECT_ID], где:
    • OBJECT_TYPE – тип объекта в соответствии со спецификацией протокола.
    • OBJECT_ID – порядковый номер объекта, представленный целым числом в диапазоне 0–4194303.
  • PROFINET IO: строка вида [IO]:[SubSlot]:[Index]:[Offset].[BitAddress], где:
    • IO – направление переменной (input, output).
    • SubSlot – номер подслота, представленный целым числом.
    • Index – индекс тега, представленный целым числом.
    • Offset – адрес байта тега, представленный целым числом.
    • BitAddress – адрес бита внутри регистра, представленный целым числом (используется только для тегов с типом данных bool).

    Кроме того, для правильной загрузки параметров протокола требуется указать файл GSDML, специфичный для устройства.

  • YARD: строка вида [Controller Address]:[Index]:[Size]:[Config]:[MessageType], где:
    • Controller Address – адрес объектного контроллера, представленный целым шестнадцатеричным числом.
    • Index – битовый индекс тега, представленный целым числом.
    • Size – битовый размер, представленный целым числом.
    • Config – положение перемычек на объектном контроллере, представленное целым шестнадцатеричным числом.
    • MessageType – тип сообщения (Order или Status).

    Кроме того, для правильной загрузки параметров протокола требуется указать файл конфигурации, специфичный для устройства.

  • COS: строка вида [Object ID]:[Variable ID], где:
    • Object ID – идентификатор объекта, представленный целым числом.
    • Variable ID – идентификатор переменной, представленный целым числом.

    Кроме того, для правильной загрузки параметров протокола требуется указать файл конфигурации станции.

  • VALMET DNA INTERACTION: строка с именем тега.
  • PNU20: целое число в диапазоне 0–65535.
  • GENERAL ELECTRIC EGD: строка вида [ExchangeId]:[RefAddress], где:
    • ExchangeId – идентификатор подписки, представленный целым числом в диапазоне 0–4294967295.
    • RefAddress – смещение адреса тега (в байтах), представленное целым числом в диапазоне 0–65535.
  • KNXnet/IP: целое число в диапазоне 0–65535.
  • SIEMENS SICAM SCC - INTERACTION with SICAM PAS: целое число в диапазоне 0–65535.

Пример строки адреса тега для протоколов MMS и GOOSE приведен ниже.

Пример:

DOMAIN=IED009PROT1;LN=LLN0;CO=DC;DA=NamPlt.configRev;CDC=LPL;LNCDC=LLN0

Вам помогла эта статья?
Что нам нужно улучшить?
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!