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