Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Написание OPC-сервера

Автор: MORB_id
Дата сообщения: 15.10.2006 16:32
Ищу документацию по написанию OPC-сервера на Delphi, C++ Builder, Visual Basic или Visual C++.
Автор: dimodimo
Дата сообщения: 12.07.2009 14:29
Free Stuff - OPC Servers

http://www.opcconnect.com/freesrv.php

OPC Toolkits and Free Source Code

http://www.opcconnect.com/source.php

Иначе у нас посмотри Варезник »OPC ToolKit
Автор: Rudia
Дата сообщения: 13.07.2009 16:08
http://www.opcconnect.com/delphi/sopc.zip Вот это реально проверенный и отлично работающий тулкит для создания оpc-сервера, причем абсолютно бесплатный.
Ещё в варезнике проскакива prOPCkit - более навернутый, тоже для делфи.
Автор: NOwlar
Дата сообщения: 13.07.2009 16:49
Из бесплатного рекомендую LightOPC. После мучительного выбора среди доступных китов остановился именно на нём. Пробовал и prOPCkit - оказался глюковатым.
LightOPC реализован в виде dll, соответственно подходит под написание сервера на Delphi и т.п., поддерживает OPC DA версии 2.05a, поддерживает многопоточность.

А с документацией - проблемы, если и можно что-то найти, то токо по верии 2.05a. Остальная доступна только членам OPC Foundation (членство - только за деньги).
Автор: Rudia
Дата сообщения: 14.07.2009 21:10
NOwlar

Цитата:
А с документацией - проблемы, если и можно что-то найти, то токо по верии 2.05a. Остальная доступна только членам OPC Foundation (членство - только за деньги).


Ну найти можно)
Курить эту тему http://forum.ru-board.com/topic.cgi?forum=35&bm=1&topic=27608&start=53, там добрый человек выкладывал всю документацию. Закрытой она стала около 2 лет назад.
Автор: golportret
Дата сообщения: 15.03.2010 13:13
Rudia
http://www.opcconnect.com/delphi/sopc.zip Вот это реально проверенный и отлично работающий тулкит для создания оpc-сервера, причем абсолютно бесплатный.
Ещё в варезнике проскакива prOPCkit - более навернутый, тоже для делфи.

Rudia, плиз, подскажите, как установить sOPC в Дельфи7 (я новичок в Дельфи, хотя писал ОРС-сервер на prOPCkit - но он с установщиком, потому проблемы не было). Что нужно сделать/скомпилять чтобы *.dcu где надо появились?
Кстати, на опсконнект ещё ссылки появились, например: http://xrtl.berlios.de/
Спасибо.
Автор: Rudia
Дата сообщения: 27.03.2010 14:30
golportret
Там не надо ничего устанавливать, прописать путь к папке с исходниками и наверное ещё надо файлы с интерфейсами ( http://opcdelphi.googlecode.com/files/delphiopc.zip ).
Чтобы понять, как работает, изучить демо - проект, который прилагается. Свой сервер проще всего сделать на основе этого демо-проекта, достаточно поменять функции записи и чтения.
Автор: ganainm
Дата сообщения: 02.04.2013 14:23
[more]
Цитата:
http://www.opcconnect.com/delphi/sopc.zip Вот это реально проверенный и отлично работающий тулкит для создания оpc-сервера, причем абсолютно бесплатный.


Бесплатный - да. Но не работающий. Тем более не абсолютно. Чтобы он у меня хоть как-то заработал (стал передавать значения тегов) пришлось сменить потоковую модель на tmApartment, а чтобы заработал как надо со всеми всех имеющимися клиентами выловил и исправил еще 3 разной критичности бага.
(1. Не все клиенты "видят" сервер как ОРС, ибо не хватает пары спецзаписей в реестре. 2. Баг в Енумираторе, проявляется когда клиент запрашивает не ровно столько групп, сколько создал, а больше. Енумератор должен вернуть столько, сколько реально есть, а в sOPC при этом возвращается E_FAIL со всеми вытекающими. 3. Баг в деструкторе главного объекта. Если клиент уничтожает группу просто присвоив NULL/nil, не вызвав перед этим RemoveGroup (а такое часто происходит при закрытии клиентского приложения), то группа не удаляется из списка внутри сервера, в результате, при отключении клиента в деструкторе инстанса сервера возникает неловленная исключительная ситуация AV (попытка вызвать Free у объекта, который уже был уничтожен ), после нее остальные операторы деструктора не выполняются, и, как следствие, счетчик ссылок на COM-объект не уменьшается. Т.е. клиент закрывается, а сервер считает, что он еще подключен и потому не закрывается автоматически (если этот клиент был единственным).
Эти баги выгреб - вроде все нормально работает. Не проверял правда PublicGroups - чую и там бесовщину, но доказать пока не могу.
В остальном - отличный объект хорошо логически выстроенный.
Действительно, можно не лезть и не разбираться как работает это OPC, а в одном-единственном модуле написать свои функции чтения и записи тегов и функцию заполнения адресного пространства тегами. Ну еще в dpr поменять имя и описание сервера на свои.
Радует, что, в отличие от других открытых исходников серверов, тут реализована не плоская, а иерархическая модель адресного пространства, что позволяет группировать тэги как угодно с любым количеством уровней вложенности. [/more]
Автор: kalininav
Дата сообщения: 23.05.2013 09:49
Уважаемый ganainm!
я так понимаю что сервер работает в синхронном режиме. А не вкурсе каким образом прикрутить ему асинхронный режим?
Автор: kalininav
Дата сообщения: 24.05.2013 09:55
? однако нет, разные версии sOPC себя так ведут!
Автор: Serge78rus
Дата сообщения: 21.05.2014 17:43
Если именно на Borland C++ Builder, то посмотрите сайт http://opcgate.ru. Если предлагаемое там решение не устроит, то хотя бы можете оттуда взять LightOPC, подправленную для сборки под Borland.

Страницы: 1

Предыдущая тема: Веб-авторизация в C# .NET


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.