我正在编写一个用于某些数据处理的Windows服务。该服务将连接到OPC(KepWare)服务,并将通过事件处理程序监视特定项目。必要时还必须回写OPC数据项;但是,要写回的数据必须来自Windows移动手持设备。
我对这个系统的设计方面感到困惑。我正在努力确保以抽象的方式设计它,以使其可扩展且易于维护。但是,我只是坚持如何与服务进行通信,以告诉它将此值写入OPC服务器。我认为WCF是要走的路,但我不确定如何编写它,我可以在客户端拨打电话时获取对连接的OPC对象的引用?我应该编写一个WCF库并将其托管在Windows服务中,还是应该沿着不同的路径进行?
提前致谢
答案 0 :(得分:0)
您应该阅读OPC-DA和OPC-Xi(也称为OPC .NET 3.0)的基础知识。 OPC基金会提供免费的简单文档:查找非成员可用的“规范”。
KepWare服务器应支持两者(取决于您使用的KepWare服务器)。 OPC Xi是基于WCF的,将是您与之交谈的最简单方式。但是,需要打开该特定通信通道并使其能够工作。
如果您没有,那么您需要回退到基于DCOM的OPC-DA。您可以找到可以帮助您完成此操作的.NET OPC客户端库。不同的公司有一些免费的和一些商业的。