логика работы OPC сервера |
Ответить |
Автор | |
Новичок Присоединился: 02 Февраль 2005 Online Status: Offline Публикации: 11 |
Опубликовано: 02 Февраль 2005 14:25 |
Здравствуйте Уважаемые господа и дамы.
Хочу у Вас спросить вот о чем. Передо мной встала задача написать ОРС сервер для нестандартного оборудования (контроллер, который управляет этим оборудованием, собственной разработки). Проблем с написанием самого ОРС сервера, т.е реализации всех интерфейсов стандарта DA2, нет (есть конечно подводные камни, но они потихоньку решаются ). Вопрос в другом, я не пойму как организовать обмен между моим сервером и контроллером.... подробнее: у контроллера есть какой то набор команд, которые формируются в виде, ну например [A][N][D0..Dn] где А - адрес контроллера, N - номер команды, D - набор данных (все в байтах), так вот, есть команда настройки каких-либо параметров контроллера, в этой команде передается сразу множество параметров (это необходимо для минимизации трафика, т.к. обмен происходит по радиоканалу), судя по документации по OPCDA (или как я ее понимаю) изменение какого-либо параметра, должно повлечь за собой рано или поздно его запись непосредственно в контроллер, но я не могу записывать отдельно каждый параметр, в данном случае можно записать только совокупность параметров, так вот я не пойму, как лучше, или как надо организовать работу ОРС сервера в этом случае ? На данный момент у меня это сделано так: сначала с клиентской части должен прийти запрос на чтение этих параметров, а затем, когда пользователь изменит какие-либо параметры (тэги), он изменяет дополнительный тэг, который заставляет ОРС сервер послать команду непосредственно в контроллер. Прав ли я ? ....... и попутно... судя по документации OPCDA, в метод Write (IOPCSync, IOPCSync2) можно с клиента передать сразу множество значений параметров (тэгов) в одной транзакции, как такое можно организовать на клиенте, из диалоговых форм, например в Genesis? Заранее спасибо! |
|
Новичок Присоединился: 22 Ноябрь 2004 Категория: Russian Federation Online Status: Offline Публикации: 36 |
|
Я делал так: в отдельном потоке с некоторой периодичностью происходит обмен с устройством, т.е. полученная инфа хранится в памяти. Когда приходит запрос на значение параметров, сервак просто выдает то, что знает. А когда клиент изменяет параметр (они у нас редко изменяются юзером), поток опроса приостанавливается и просто шлется соотв. команда. Может, я не правильно вопрос понял? |
|
просто Шурик
|
|
Новичок Присоединился: 02 Февраль 2005 Online Status: Offline Публикации: 11 |
|
[QUOTE=kill]
Может, я не правильно вопрос понял? Да, немного не поняли :) ... вот по аналогии с другими программами (Ворд, Ексель и т.д. не важно), у них есть форма настройки, где можно настроить отображение документа, ну и так далее, т.е. сначала пользователь поменяет значение каких-либо настроек (множество настроек), а потом, нажав кнопочку "Применить", эти настройки вступят в силу, т.е.мне надо за одну транзакцию послать сразу множество параметров в контроллер. Насколько я понял, стандартный СКАДА такие вещи делать не могут ... |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|
Почему же не могут? Предположим, пользователь редактирует некие внутренние переменные. А по нажатию кнопки их знчения копируются в соответствующие теги OPC. При открытии формы во внутренние переменные можно записывать актуальные значения тегов. |
|
Инженер-системотехник
+7 (916) 477 3925 |
|
Новичок Присоединился: 02 Февраль 2005 Online Status: Offline Публикации: 11 |
|
Ага, с клиентом теперь наступило полное понимание, спасибо :). Т.е логика работы моего сервера должна быть такой: есть множество тэгов для настройки каких-либо параметров контроллера.В начале, после запуска сервера, эти тэги имеют плохое качество, следовательно, клиент не может их редактировать. Сервер или клиент производят запрос на контроллер для инициализации этих тэгов, после этого клиент редактирует один или более тэгов, и потом все (которые отредактированы и которые нетронуты) параметры сервер отправляет опять в контроллер.
Так ? |
|
Профили участников
Послать частное письмо
Поиск публикаций участников
Посетить домашнюю страницу участника
Добавить в список приятелей
Действительный член Присоединился: 14 Май 2003 Online Status: Offline Публикации: 770 |
|
Да. Смысл в том, что сервер будет кэшировать данные. |
|
Инженер-системотехник
+7 (916) 477 3925 |
|
Ответить |
Переход на форум | Права доступа на форуме Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме |