Помимо атрибутов, которые могут быть заданы в редакторе или окне свойств любого канала (см. Общие атрибуты каналов ), профайлер отображает следующие атрибуты для всех каналов (в канале СОБЫТИЕ и каналах 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 ).
Профайлер позволяет изменить значение любого атрибута, однако следует иметь в виду, что некорректные действия с атрибутами могут привести к неработоспособности канала.