Атрибуты каналов, отображаемые профайлером

Помимо атрибутов, которые могут быть заданы в редакторе или окне свойств любого канала (см. Общие атрибуты каналов ), профайлер отображает следующие атрибуты для всех каналов (в канале СОБЫТИЕ и каналах T-Factory общие для всех каналов атрибуты могут иметь другие имена и использоваться специфическим образом):

   (0, R) – Реальное значение;

   (1, A) – Аппаратное значение – этот атрибут используется в числовых каналах (кроме TIME) и канале CALL при определенных условиях;

   (4, I) – Достоверность – бит 0 этого атрибута индицирует аппаратную, а бит 1 – программную достоверность значения канала (0 – достоверно. 1 – недостоверно; оба бита допускают запись/чтение). Числовым значениям I соответствуют следующие строковые:

   0 – _T

   1 – _F

   2 – !T

   (6, D) – Тенденция – этот атрибут индицирует результат сравнения реальных значений канала на текущем и предыдущем тактах пересчета:

   в каналах классов FLOAT и DOUBLE FLOAT:

0 – значение не изменилось;

1 – значение уменьшилось;

2 – значение увеличилось.

   в каналах классов HEX16 и HEX32 каждый бит данного атрибута (соответственно 16- и 32-разрядного) индицирует изменение соответствующего бита реального значения. Если по сравнению с предыдущим тактом пересчета значение бита реального значения канала изменилось, то соответствующий бит атрибута Тенденция принимает значение 1, в противном случае – 0.

С помощью атрибута (6, D) можно задавать формат отображения реального значения канала класса FLOAT или DOUBLE FLOAT (в дереве профайлера и в генерируемом документе):

   в канале FLOAT допускается запись следующих значений в атрибут (6, D):

0x100 – %g

0x101 – %.1f

0x102 – %.2f

0x103 – %.3f

0x104 – %.4f

0x105 – %8.3f

0x106 – %8.2f

0x107 – %.3e

   в канале DOUBLE FLOAT допускается запись следующих значений в атрибут (6, D):

0x100 – %.18e

0x101 – %18.1f

0x102 – %18.2f

0x103 – %18.3f

0x104 – %.12e

0x105 – %.10g

0x106 – %.12g

0x107 – %.18g

Для канала FLOAT/DOUBLE FLOAT: запись следующих значений в атрибут (6, D) задает период принудительной архивации канала:

0x200 – 1 раз в месяц;

0x201 – 1 раз в 5 минут;

0x202 – 1 раз в час;

0x203 – 1 раз в сутки;

Коды указанных значений (младшие разряды) для канала FLOAT/DOUBLE FLOAT индицирует атрибут 116,TVformat: <код периода принудительной архивации>.<код формата R>. Для архивируемого канала FLOAT/DOUBLE FLOAT код периода принудительной архивации индицирует также атрибут (41, AB).

   (7, P) – этот атрибут имеет различный смысл и наименование в каналах различных классов.

В каналах FLOAT и DOUBLE FLOAT с заданными границами атрибут имеет имя Интервал и индицирует номер интервала, в котором находится реальное значение канала.

В канале TIME атрибут имеет наименование Формат представления и индицирует/задает формат представления реального значения канала (номер по списку TIME_def.tmc).

В канале Событие атрибут индицирует возникновение (1) и исчезновение (0) события;

   (9, Q) – Выходное значение. Данный атрибут не используется в каналах TIME, CALL;

   (45, T) Время изменения – в этот атрибут записывается время пересчета/отработки канала; атрибут возвращает 4-байтовое число секунд с 01.01.70;

   (46, QE) Защелка – этот атрибут используется в каналах FLOAT и HEX16:

   b14 – бит 0 QE, принимает значение 1 при изменении значения канала (в канале FLOAT, в котором вычисляется интервал, – при изменении (7, P));

   b15 – бит 1 QE (бит 8 QE в канале FLOAT, в котором вычисляется интервал), принимает значение 1 при аппаратной недостоверности канала. b15 автоматически не обнуляется.

В канале FLOAT, в котором вычисляется интервал: после вычисления b14 и b15 атрибуту QE присваивается следующее значение:

QE=P*b14+256*b15

Возможна посылка следующих значений в атрибут 46:

   1 – сброс b14;

   2 – сброс b15;

   5 – сброс b14 и b15;

   3 или 4 – сброс b14 и b15 и квитирование последнего сообщения в ОТ по каналу;

   (47, iDstr) – запрос DDE (только чтение). Этот атрибут также используется:

   в канале CALL (см. Замена виртуальной привязки аргументов в канале CALL );

   в канале обмена через драйвер (см. Шаблоны каналов обмена );

   (48, WF) – номер класса канала;

   (52, FS):

   значение байта 0 (0xFF, ErCode) указывает на причину возникновения аппаратной недостоверности:

0 – нет;

1 – стандартная (например, флаг установлен аппаратурой);

2 – ошибка интерфейса (запрос ушел, а ответа нет);

3 – In=0 при типе сигнала 4-20mA или 1-5V (см. Канал класса FLOAT );

4 – по времени;

   бит 8 (0x100, Request) – этот бит устанавливается, когда запрос для данного канала сформирован и поставлен в очередь на исполнение (только для асинхронных каналов);

   бит 9 (0x200, Response) – этот бит устанавливается, когда от устройства пришел корректный ответ (только для асинхронных каналов). Отсутствие ответа в Response не фиксируется (т.е. если ответа нет в течение заданного таймаута, устанавливается флаг аппаратной недостоверности, а Response=0);

   бит 12 (0x1000, DataReady) – то же, что и атрибут 120, ACK;

   бит 16 (0x10000, ForceUpdate) – принудительное обновление графики (0 – не задано, 1 – задано); этот бит сбрасывается автоматически.

Строковое значение атрибута 52,FS содержит четыре цифры:

<ForceUpdate>.<Response><Request>.<ErCode>

В атрибут могут быть посланы следующие значения:

   0 – сбросить ErCode и признак аппаратной недостоверности;

   1, 2, 3, 4 – установить соответствующее значение ErCode;

   8 – установить 39,EXEC и сбросить Response и Request;

   0x100 – инвертировать Request;

   0x200 – инвертировать Response;

   0x10000 – установить ForceUpdate;

   (55, relink) Перепривязка – этот атрибут предназначен для перепривязки аргументов канала CALL (см. Замена привязок аргументов канала CALL на привязки аргументов другого канала CALL );

   (56, nBits) Число бит – с помощью этой переменной в каналах HEX16 и HEX32 можно задать число байт, участвующих во внутреннем алгоритме инверсии;

   (59, DR) – при чтении этого атрибута как числа, значение битов 0-30 индицирует номер последнего сообщения в ОТ по каналу. Установленный бит 31 (0x80000000) индицирует, что сообщение квитировано. В канале CALL.ChGroupReq/CALL.AS_DATA, в который записана выборка из архива, атрибут 59 индицирует время начала выборки (T_FROM);

   (78, HF) – 1 для целочисленных каналов (HEX16, HEX32, Событие), 0 – для каналов других классов;

   (83, SGNL) Сигнал – номер типа сигнала, заданного для источника, с которым связан канал (по списку tmcf/signal.tmc).

При выводе канала CALL в генерируемый документ в виде вертикальной таблицы (см. Номер SubNum ):

   значение битов 0 и 1 атрибута 83, SGNL задает относительную ширину столбца времени:

0 – 15%

1 – 20%

2 – 10%

3 – 5%

   значение битов 2-4 задает формат значений float (аналогично атрибуту 6, D);

   значение битов 5-7 задает формат временных меток:

0 – короткая дата (2 разряда для года) и время с миллисекундами;

1 – короткая дата (2 разряда для года) и время без миллисекунд;

2 – время без миллисекунд;

3 – время с миллисекундами;

4 – короткая дата (2 разряда для года), часы и минуты;

5 – короткая дата (4 разряда для года) и часы;

6 – короткая дата (4 разряда для года);

7 – длинная дата (наименование месяца сокращенное, 4 разряда для года);

   (86, LN_ATTR, МРВ – nAtrt) Привязка – если компонент вызывает шаблон, nAtrt=255. Если компонент связан с некоторым атрибутом A другого компонента, nAtrt равно индексу атрибута A. В остальных случаях nAtrt=0;

   (87, CC) – этот атрибут используется в канале CALL с типами вызова Program, SQLQuery, Document(Report) и Screen (см. Атрибуты канала класса CALL );

   (88, ms) – в этот атрибут записываются миллисекунды времени изменения значения канала (дополнение к атрибуту 45);

   (89, IA_L0, МРВ – L0) L0 – значение байтов 0-3 (0x0000FFFFFFFF) удаленного адреса;

   (90, IA_I0, МРВ – I0) I0 – значение нулевого слова (0x00000000FFFF) удаленного адреса; адрес привязанного аппаратного тега. Этот атрибут используется также в канале CALL с типом вызова Screen (см. Атрибуты канала класса CALL );

   (91, IA_I1, МРВ – I1) I1 – параметр A запроса DDE (чтение/запись, см. Редактор переменной DDE ); значение первого слова (0x0000FFFF0000) удаленного адреса. Этот атрибут используется также в канале CALL с типом вызова Screen (см. Атрибуты канала класса CALL );

   (92, IA_I2, МРВ – I2) I2 – параметр B запроса DDE (чтение/запись); значение второго слова (0xFFFF00000000) удаленного адреса; код ошибки в канале CALL с типами вызова Program, SQLQuery и Document(Report) (см. Атрибуты канала класса CALL );

   (93, IA_C0, МРВ – C0) C0 – значение нулевого байта (0x0000000000FF) удаленного адреса;

   (94, IA_C1, МРВ – C1) C1 – значение первого байта (0x00000000FF00) удаленного адреса;

   (95, IA_C2, МРВ – C2) C2 – значение второго байта (0x000000FF0000) удаленного адреса;

   (96, IA_C3, МРВ – C3) C3 – значение третьего байта (0x0000FF000000) удаленного адреса;

   (97, IA_C4 , МРВ – C4) C4 – значение четвертого байта (0x00FF00000000) удаленного адреса;

   (98, IA_C5, МРВ – C5) C5 – значение пятого байта (0xFF0000000000) удаленного адреса;

   (116, только МРВ – TVformat) – см. описание атрибута (6, D);

   (118, ID) – этот атрибут используется для перепривязки аргументов канала CALL (см. Перепривязка аргументов на уровне объектов );

   (119, extL) – служебная переменная (номер шаблона, который вызывается данным каналом);

   (120, ACK) – переменная DataReady, принимает значение 1, если запрошенные данные успешно считаны;

   (123, CTYPE, МРВ – What) – тип вызова (для канала с настроенным свойством вызов – см. Канал класса CALL );

   (124, ArgSize) – число аргументов, их список, текущие значения и привязки. Аргументы также являются атрибутами канала, их индексация начинается с 1000. В ИС 64 аргумента канала (индексы 1000-1063) доступны для привязки через атрибуты 140-203 (привязка к атрибуту 140 в ИС равнозначна привязке к аргументу с индексом 1000);

   (125, RInd) – для каналов CALL, вызывающих шаблоны, – оценка времени выполнения в миллисекундах; для канала, принимающего сетевую автопосылку, – номер этой автопосылки;

   (126, TsT) – этот атрибут индицирует информацию о канале в следующем формате:

(<class>)<subtype>.<addition>_p<num>

где

   class – обозначение класса канала;

   subtype – номер подтипа канала (внутренний параметр TRACE MODE – см. Подтипы каналов );

   addition – номер дополнения к подтипу канала (внутренний параметр TRACE MODE – см. Подтипы каналов );

   num – 

   (187, MST) –

   (252, только МРВ – dT) – в канале CALL.ChGroupReq / CALL.AS_DATA, в который записана выборка из архива, – временной шаг данных (в секундах);

   (254, RST) – при посылке значения в этот атрибут выполняется соответствующая функция:

   1 – в каналах CALL.Screen, CALL.Program, CALL.SQLQuery и CALL.Document(Report): перезагрузка шаблона из файла *.res (см. Файлы узла, создаваемые при экспорте ). Для CALL.Screen: если перезагрузка шаблона производится при перерисовке экрана, экран закрывается;

   2 – в каналах CALL.Screen: сохранение экрана в файл (см. Сохранение экрана в файл );

   произвольное значение – в обобщающем канале СОБЫТИЕ: генерация файла (см. Канал класса СОБЫТИЕ ).

Назначение атрибута (254, RST) в других каналах:

   если (45, T) = 0 или канал выключен, RST = 0;

   если (45, T) <> 0 и канал включен, атрибут (254, RST) хранит информацию, указанную в таблице ниже. В таблице используются следующие обозначения: DEC, HEX – вид представления каналов HEX16 и HEX32; dT = Tтекущее– (45, T); Invalid=1 – в канале установлен флаг аппаратной недостоверности.

 

Класс и конфигурация канала

RST как число (*)

RST как строка (*)

HEX16 или HEX32

DEC, b14=1 или b15=1

4, если R=0

7, если R<>0 и dT<1с

1, если R<>0 и dT>1с

Без словаря: <R>

Со словарем: <словарное сообщение с номером R>

Если Invalid=1: Error <R>

HEX16 или HEX32

DEC, b14=b15=0

2, если R=0

3, если R<>0

То же

HEX16 или HEX32

HEX, b14=1 или b15=1

7, если dT<1с

1, если dT>1с

Без словаря: <R>

Со словарем:

<конкатенация словарных сообщений об установленных битах R>

Если Invalid=1: Error <R>

HEX16 или HEX32

HEX, b14=b15=0

2

То же

 

 

 

FLOAT или DOUBLE FLOAT

P не вычисляется, b14=1 или b15=1

7, если dT<1с

1, если dT>1с

Без словаря: <R>

Со словарем: <словарное сообщение с номером R>

Если Invalid=1: Error <R>

FLOAT или DOUBLE FLOAT

P не вычисляется, b14=b15=0

4

То же

FLOAT или DOUBLE FLOAT

P вычисляется, b14=1 или b15=1

4, если P=0

7, если P<>0 и dT<1с

1, если P<>0 и dT>1с

Без словаря: <P> (<R>)

Со словарем:

<словарное сообщение с номером P> <R>

Если Invalid=1: Error <R>

FLOAT или DOUBLE FLOAT

P вычисляется, b14=b15=0

2, если P=0

3, если P<>0

То же

 

 

 

 

Для ГЭ События: значения RST соответствуют статусам канала Событие, сброс b14 и b15 интерпретируется как квитирование.

(*) При межкомпонентном взаимодействии почти любой атрибут может быть передан/считан как число и/или как строка. Некоторые атрибуты снабжены строковыми значениями, которые отличаются от соответствующих числовых (см. также описание атрибута (6, D) в данном разделе и разделы Динамизация атрибута ГЭ и Номер SubNum ).

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