This is topic Работа с bool и SINT in forum Языки программирования в TRACE MODE 6 / Algorithm Programming Languages at Форум TRACE MODE: техническая поддержка.


To visit this topic, use this URL:
http://forum.adastra.ru/ultimatebb.php/ubb/get_topic/f/33/t/000083.html

Posted by Aspect (Участник № / Member № 2995) on :
 
Некоторые атрибуты каналов имеют тип bool.
Однако в описании, например программной достоверности, имеется следующее:
"В атрибут могут быть посланы следующие значения:
0 – сбросить ErCode и признак аппаратной недостоверности;
1, 2, 3, 4 – установить соответствующее значение ErCode;
8 – установить 39,EXEC и сбросить Response и Request;
0x100 – инвертировать Request;
0x200 – инвертировать Response;
0x10000 – установить ForceUpdate;"

Как соотносится тип bool и биты в байте SINT?
Какие биты характеризуют состояние true и false такой переменной типа bool?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
false = 0
true != 0

Никак с битами не соотносится.

Данные по типу атрибутов в IDE немного устарели, поэтому не следует им придавать такого значения. В документации информация более актуальная.
 
Posted by Aspect (Участник № / Member № 2995) on :
 
В документации отсутствует описание типа данных для атрибутов канала.
Правильно ли я понимаю, что если в документации описывается передача значений 1,2,3, то это sint?
Тип данных важен, так как атрибут программная достоверность обрабатывается программой.

Что в текущей версии 6.06.2 представляют собой атрибуты канала №4 и №52?
Насколько корректно программно устанавливать атрибуту 52 значение 1 в случае несоблюдения некоторых условий и 0 - при соблюдении.

RTM устанавливает самостоятельно значения 52-му атрибуту?
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Не обязательно SINT, это может быть и INT. Для работы с данными атрибутами из программы подойдет любой целочисленный аргумент.

Программно устанавливать 52 аргумент допустимо. RTM работает с 1-м битом данного атрибута только в канале Float, если стоит флажок контроль границ.
 
Posted by Aspect (Участник № / Member № 2995) on :
 
Сохранилась ли возможность записи в аргумент 52 в версии TM 6.07.7?
По моим ощущениям несмотря на то, что контроль границ приравнивается нулю, запись в аргумент 52 недопустима.
 
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
 
Перепроверил. Управление через атрибут 52 сохранилось.
Пришлите, пожалуйста, проект с пояснениями для анализа.
 


Новости АСУ ТП / News | SCADA / HMI | Обучение / Trainings | Свяжитесь с нами / Contact Us



Powered by Infopop Corporation
UBB.classic™ 6.7.2