Просто следите за тем, как я это сделал и почему:
Rule
из MonoBehaviour
, чтобы избежать отслеживания создания и удаления объектов gameObjects, которая оказалась болью. Invoke
не существует в родовых классах, я заменил его отражением, как описано здесь здесь Можно найти, что хорошая статья и библиотека запускаются со здесь: http://www.codeproject.com/KB/COM/opcdotnet.aspx
Статья Code Project с первых лет.NET и не может быть наилучшим вариантом сегодня.
Альтернативы включают собственную.NET Основы OPC API (требует членства в Основе OPC), или несколько коммерческих продуктов. OPCconnect.com перечисляет много они.
Будьте осторожны. Я еще не использовал API OPC, который правильно соответствует любому виду соглашений о вызовах, particularily в области освобождения памяти (COM, как зарегистрировано, или иначе). Ожидайте месяц отладки утечек памяти.
OPCData.NET SoftwareToolbox (http://www.opcdata.net/) утверждает, что был 100%-м решением для Управляемого кода для OPC-клиента. SoftwareToolbox также имеет некоторые другие библиотеки OPC для помощи с привязкой данных OPC к формам и веб-интерфейсам.
Если покупка коммерческого инструментария является опцией, то я использовал серверный инструментарий Northern Dynamics и он работал отлично. Инструментарий отнимет у вас много проблем, упомянутых в других вопросах (или, по крайней мере, вы должны получить поддержку, если есть проблема).
Они хорошо обернули протокол OPC, чтобы он был прост в использовании. Смотрите один из моих вопросов здесь для обёртки -безопасного типа Варианта , которую я написал, чтобы помочь с этим.