Документация по SCADA системе Simp Light


Содержание:


GetChannelInfo

Функция позволяет получить параметры указанного канала.

Синтаксис

GetChannelInfo
(ChannelName: String; ID: Integer;
HighScale: Extended; LowScale: Extended;
HighAlarm: Extended; LowAlarm: Extended;
MeasureUnit: String; ValueType: Integer): Boolean

Входные параметры
Имя параметра
Тип параметра
Описание
ChannelName
String
 Имя канала
ID
Integer
 Идентификатор канала
HighScale Extended  Верх шкалы
LowScale Extended  Низ шкалы
HighAlarm Extended  Верх уставки
LowAlarm Extended  Низ уставки
MeasureUnit String  Единица измерения
ValueType Integer  Возвращаемое значение
Выходные параметры
Тип параметра  
Описание 
Boolean  True - параметры канала
            считаны успешно
 False - произошла ошибка


Возвращаемые значения ValueType

Код
  состояния 
Описание
2   (SmallInt) Двухбайтное целое со знаком
3   (Integer) Четырёхбайтное целое со знаком
4
  (Single) Четырёхбайтное вещественное
5   (Double)Восьмибайтное вещественное
7   (TDataTime) Дата-время 
8   (String) Строка типа BSTR
11   (Boolean) Логический тип
16   (ShortInt) Однобайтное целое со знаком
17   (Byte) Однобайтное беззнаковое целое
18   (Word) Двухбайтное беззнаковое целое
19   (LongWord) Четырёхбайтное беззнаковое целое 
20   (Int64) Восьмибайтное целое со знаком
999   (TTime)время


Пример вызова:

Var
  ID, hScale: Integer;
  lScale, hAlarm, lAlarm: Double;
  measureUnit, s: String;
  valueType: Word;                                                       
  res: Boolean;
                                             
  Begin                        
    res := GetChannelInfo('Сигнал 1', ID, hScale,  lScale, hAlarm, lAlarm, measureUnit, valueType);  
    if res then
    begin
      s := 'ID = '           + IntToStr(ID)       + '  ' + 
           'highScale = '    + FloatToStr(hScale) + '  ' +     
           'lowScale = '     + FloatToStr(lScale) + '  ' +     
           'highAlarm = '    + FloatToStr(hAlarm) + '  ' +     
           'lowAlarm = '     + FloatToStr(lAlarm) + '  ' +     
           'measureUnit = "' + measureUnit        + '"  ' +     
           'valueType = '    + IntToStr(valueType);
      WriteValue('Virtual channel 99', s);
   end;
end.