Это старая версия документа.
====== Типы тегов ====== ===== Формат записи в mtr-файле ===== <code> %EXTERNAL=1E6C %EXTMAIN=01E3 %EXTREQ=0995 %EXTIRR=12F4 </code> Таблица вшешних тэгов имеет структуру: ^type^size^ |periodic |EXTMAIN| |requested |EXTREQ| |irregular |EXTIRR| ===== Irregular tags ===== Все теги в rpsvrtcp и его клиентах имеют свойства: TWorkRecTagProp = (tpNormal, tpIrregular); TWorkRecTagFlag = (tfNone, tfInUse, tfUpdated); Теги типа ''tpIrregular'' запрашиваются из конечного устройства (ПЛК) только тогда, когда этого требует клиент, подключенный к rpsvrtcp. Делается это так. Пусть клиентом будет приложение visscada. При использовании тега внутри приложения выполняется проверка на тип ''tpIrregular'' и, если да, то тегу устанавливается флаг ''tfInUse'': <code delphi> // D:\promauto-src\VisScada\Common\TagStorage.pas function GetTagValue(idx: integer): integer; begin result := 0; if not DataClient.Connected then exit; if (idx >= 0) and (idx < DataClient.client.TagCount) then begin if DataClient.client.Tags[idx].TagProp = tpIrregular then DataClient.client.Tags[idx].TagFlag := tfInUse; result := DataClient.client.Tags[idx].ValIn; end else result := -1; end; </code> Запрос от клиента выполняется коммандами: SETFLAG