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