Чтение из переменного канала, как?

Avatar
  • обновлен
Задал числовые каналы, пытаюсь сделать просмотр канала выбранного на мнемосхеме.
Var
sushilo: string; trend: Byte;
Begin
sushilo:=ReadValue('выбор'); //считываю заданный номер из виртуального канала
trend:=ReadValue('sushilo'); //пытаюсь считать значение из реального канала
WriteValue('тренд',trend); //запись в виртуальный канал
end.

Не работает, что я делаю не так? sushilo: string; trend: Byte; при таких переменных панель в сеточку(нет данных),sushilo, trend: Byte; при таких данных всегда 0.
Avatar
SIMP Tech (Сергей)
День добрый.

Задал числовые каналы, пытаюсь сделать просмотр канала выбранного на мнемосхеме. var sushilo: string; trend: Byte; begin sushilo := ReadValue('выбор'); //считываю заданный номер из виртуального канала trend := ReadValue('sushilo'); //пытаюсь считать значение из реального канала WriteValue('тренд', trend); //запись в виртуальный канал end.
Если я правильно понял переменная "sushilo" должна содержать имя канала из которого Вы читаете значение "trend := ReadValue('sushilo')" Правильно я понял?
Avatar
SIMP Tech (Сергей)
раз "sushilo" переменная то правильней будет вот так trend := ReadValue(sushilo) т.е. sushilo без кавычек надо указать, раз это переменная.
Avatar
Виктор
И ещё каналы запоминают своё состояние и их нельзя изменить пока не переименуешь. Я поставил тип переменной Boolean, поигрался с каналом. Поставил тип переменной Word но он продолжал отображать данные только 0,1.
Avatar
Виктор
Спасибо, чтение из канала заработало.
Avatar
SIMP Tech (Сергей)
И ещё каналы запоминают своё состояние и их нельзя изменить пока не переименуешь. Я поставил тип переменной Boolean, поигрался с каналом. Поставил тип переменной Word но он продолжал отображать данные только 0,1.

Отображать на объекте мнемосхемы? Если да, то попробуйте после изменений в канале, перепривязать канал к объекту.
Avatar
Виктор
А в чем разница между этими функциями? WriteVirtualChannel('',,,) WriteValue('',)

WriteVirtualChannel('',,,) Если можно примеры по этой функции.
Avatar
SIMP Tech (Сергей)
А в чем разница между этими функциями? WriteVirtualChannel('',,,) WriteValue('',)

WriteVirtualChannel(const AName: String; AValue: Variant; ATimeStamp: TDateTime; AQuality: Word)

позволяет установить у виртуального канала не только значение переменной, но и временную метку и качество переменной. Физическому каналу мы можем изменить только значение переменной.
Avatar
Виктор
ATimeStamp: TDateTime А время в каком виде задается?
Avatar
SIMP Tech (Сергей)
ATimeStamp: TDateTime А время в каком виде задается?
www.delphibasics.ru/TDateTime.php