[an error occurred while processing this directive]
|
По ссылке пример OPC сервера и клиента на дельфи для начала.
Естественно для начала так же необходима спецификация OPC.
В двух словах:
OPC сервер - это программа которая знает протокол общения с физ устройствами (протокол как правило закрытый у SIEMENS например, или открытый MODBUS например или любой Ваш протокол). Устройством может быть и файл и что угодно.
Нормальные SCADA пакеты (программы визуализации тех процессов) например CITECT или InTouch (эти у нас используються) или TraceMode (росийская) имеют встроенные протоколы для общения с устройствами, но так же и протокол OPC. Преимущество OPC - он открытый. Таким образом написав OPC сервер к своему устройсву - Вы можете подключиться к любой SCADA системе.
Далее я ориентируюся уже хуже, но SCADA системы общаются с OPC серверами через механизм DDE. Этого грубо говоря файл dll или exe c подпрограммами описаными в спецификации OPC.
К OPC серверу могут подключаться OPC клиенты(SCADA программы, ЭКСЕЛЬ).
Есть программы OPC клиенты которые сами по себе. Они ищут в реестре компа OPC серверы, или в реестре сетевых компов. Сетевая реализация поддерживается механизмом DCOM. В ХР он уже встроеный, в 95 и 98 устанавливаеться отдельно. По ссылке есть DCOM для 95 и 98 винды. Так вот при запуске OPC клиента он в виде дерева показывет какие сервера он нашел. Двойной щелчек и клиент подключается к серверу и выводит список переменных которые поддерживает сервер и их значение. Можно менять значения переменных.
При подключении к OPC серверу создаеться группа (аналогия с сокет при сетевом подключении). Групп можно создавать любое количество. Каждая программа это своя группа.
OPC сервер поддерживает такие команды как создать группу, добавить переменную в группу, чтение или запись переменных (синхронное или асинхронное) и другие.
В общем как все советуют на этом форуме - сначала читаем спецификацию.
Еще можно посмотреть
www.lectussoft.com
http://www.matricon.com/products/opc.aspx
Сам я не писал ни сервера ни клиета, пока только использовал готовые, но скоро прийдеться это делать под свои устройства сбора данных по CAN сети.