![]() |
KVisionOPC работа с битами OPC-переменной |
Ответить ![]() |
Автор | |
![]() Участник ![]() Присоединился: 18 Ноябрь 2005 Категория: Russian Federation Online Status: Offline Публикации: 54 |
![]() ![]() ![]() ![]() Опубликовано: 09 Февраль 2006 17:38 |
Привет всем!
Подскажите, есть ли возможность в среде KVisionOPC работать с битами OPC-тегов (дискретных). Например, по нажатию кнопки установить бит 0 дискретного тега (unsigned short) в единицу или сбросить в 0. Спасибо. |
|
![]() |
|
![]() Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член ![]() Присоединился: 24 Февраль 2004 Категория: Russian Federation Online Status: Offline Публикации: 185 |
![]() ![]() ![]() ![]() |
Как ведущий разработчик SCADA-системы КАСКАД и идеолог KVisionOPC могу предположить, что данную задачу можно попробовать решить с помощью объекта визуализации Скрипт. На нем можно написать процедурку выделения или установки отдельного бита, и записать значение в OPC-тег. Сразу предупреждаю, что подробно объяснять как это сделать - не буду. Разве только подпишетесь на годовую техническую поддержку ![]() |
|
Александр Бурмистров,
www.entels.ru |
|
![]() |
|
![]() Участник ![]() Присоединился: 18 Ноябрь 2005 Категория: Russian Federation Online Status: Offline Публикации: 54 |
![]() ![]() ![]() ![]() |
Добавил аналоговый паспорт,
связал с моим unsigned short тегом, добавил кнопку со скриптом, добавил внешнюю переменную a0, связал её с паспортом, выбрал функцию OnClick, в функции прописал (для примера): begin With KVScript do begin //устанавливаем бит2=1, остальные биты=0 WriteAnalog('a0',2,false); end; end. Правильно? Или надо по-другому? Спасибо за ответы. |
|
![]() |
|
![]() Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член ![]() Присоединился: 24 Февраль 2004 Категория: Russian Federation Online Status: Offline Публикации: 185 |
![]() ![]() ![]() ![]() |
Да, вроде правильно. Я вот тоже сейчас попробовал простенький скрипт на OnClick: -------------------------------- var a: integer; q: byte; begin With KVScript do begin ReadAnalog('a0', a, q); a := a * 2; WriteAnalog('a0', a); end; end. ---------------------- Переменная а0 привязана к OPC-тегу, при нажатии на кнопку читаем ее, умножаем на два, записываем обратно. Дальше уже алгоритмы обработки зависят от фантазии. Могут быть проблемы при больших числах (когда используются старшие биты 4-х разрядного слова) - внутри KVisionOPC все значения передаются как single, поэтому челое число от OPC-сервера преобразуется в single, обабатывается ядром, а при записи в OPC опять преобразуется в целое. |
|
Александр Бурмистров,
www.entels.ru |
|
![]() |
Ответить ![]() |
Переход на форум | Права доступа на форуме ![]() Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |