Форум АСУ ТП Форум АСУ ТП
Обсуждение вопросов работы ПО, ПТК, АСУ ТП
 Помощь      Поиск      Пользователи      BanList


 Страниц (1): [1]   

> Описание: Помогите понять, как доставать биты из вещественного числа
SantaJohn
Отправлено: 05 Февраля, 2012 - 07:00:05
Post Id



Пользователь
Newbie





Покинул форум
Сообщений всего: 1
Дата рег-ции: Янв. 2012  





Я только начал изучать СКАДА, и сразу же столкнулся с проблемой. Через ОРС-сервер передаю из контроллера четырехбайтовое число, в котором каждый бит является признаком какой-либо ситуации. В ОРС-сервере переменная типа DWORD. В круге создал канал и привязку к тэгу, где указал тип "Беззнаковое целое (4 байта)". Но сложность возникла в том, что в круге (в БД) есть только вещественные, логические и строковые переменные. Нет переменных типа "целое". Когда я данные помещаю в переменную АВ (текущее значение) или РВ (текущее значение), то они автоматически получают тип "вещественное". Соответственно, я не могу с такой переменной работать в КРУГОЛЕ, используя функции работы с битами, поскольку им требуется целое число. Если же в КРУГОЛЕ преобразовывать число из вещественного в целое, то данные искажаются, поскольку реально-то число в переменной уже было целым, поэтому алгоритм преобразования его не правильно интерпретирует. К тому же, после преобразования число обрезается до 2 байт. Не совсем понятно, зачем вообще в круголе есть тип Цел32, если все функции работы с целыми числами понимают только Цел16. Всю голову уже сломал, подскажите пожалуйста. В каком-то месте я чего-то, видимо, не понимаю.

(Отредактировано автором: 05 Февраля, 2012 - 10:07:46)

 
LopukhinVA
Отправлено: 06 Февраля, 2012 - 10:02:28
Post Id



Супермодератор
Full Member





Покинул форум
Сообщений всего: 169
Дата рег-ции: Сент. 2010  





Добрый день,
Для корректного использования 4-х байтовых целых чисел в Базе данных, получаемых через OPC-клиент, необходимо их привязывать к атрибутам переменных аналогичного формата.
Такими атрибутами являются:
- в переменной типа ВА (входная аналоговая) атрибуты:
№68 Физическое начало шкалы (код АЦП)
№69 Физический конец шкалы (код АЦП)
- в переменной типа АВ (аналоговая выходная) атрибут:
№36 Постоянная времени по заданию
 
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« SCADA "КРУГ-2000" »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by ExBB 1.1.3