彩票走势图

OPC Client和OPC Server容易出现通讯故障,原因是什么?

转帖|其它|编辑:莫成敏|2019-08-07 10:23:27.790|阅读 3854 次

概述:但是,相信很多人都被OPC Client与OPC Server之间的通讯弄得头疼不已吧。本篇文章总结了OPC Client和OPC Server在Windows上运行方式的恩怨,以及通讯故障的原因。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

OPC Server是一套利用微软的COM/DCOM技术实现工业自动化资料获取的架构。OPC Server提供OPC接口,它将与之相连的物理设备(PLC)的信息值通过接口返回到客户端应用程序。也就是说,客户端通过这些接口,可以获得与OPC Server连接的物理设备的信息。

OPC Client通过端接OPC Server 提供的接口,可以取得与 OPC Server 相连的硬件装置的信息,而无须了解这些硬件装置的细节信息。

但是,相信很多人都被OPC Client与OPC Server之间的通讯弄得头疼不已吧,通过几次远程协助后,总结了OPC Client和OPC Server在Windows上运行方式的恩怨,希望对大家有所帮助。

目前市场上的OPC Client和OPC Server软件在Windows上的运行方式主要有两种:Windows 桌面程序和Windows NT服务。由于OPC CLient和OPC Server不是同一个厂家的软件,又由于软件的多样性,导致使用时出现这些现象:

1、OPC CLient连接目标OPC Server时无法连接,但在OPC Server计算机上明明看见OPC Server进程已经启动。

2、OPC CLient连接目标OPC Server时,虽然能连接,也能看见测点,但无法获取到数据。

多次现场测验后发现,这些问题是OPC Client和OPC Server软件在Windows上的运行方式不同导致的。也就是说,OPC CLient运行Windows NT服务方式,而OPC Server运行桌面程序方式。但是当OPC CLient是Windows 桌面程序方式,OPC Server是Windows NT服务时,基本不会出现上述现象。这是为什么呢?

原因是这样的:

OPC Client和OPC Server都是基于DCOM的应用,其特点是OPC Server无需先运行或启动,等待OPC CLient请求时,操作系统会直接将OPC Server拽起来。这种可以随用随启的机制,非常实用。

但这种机制处理不好,会导致一些问题。当OPC CLient是Windows NT服务时,OPC Server被拽起来后,是运行在System这个系统账户下面的。相对于Windows的桌面用户来说,是另外一个隔离开的空间。因此当桌面运行类型的OPC Server被Windows NT服务方式的OPC CLient拽起来后,被运行在System这个系统账户的空间。而如果这个OPC Server程序又做了全局唯一进程运行的限制或与数据库只允许一个TCP连接时,上述的两种现象基本就会出现。这就是大家经常会遇到的OPC通讯故障现象。

如果让自己开发的OPC程序兼容性更好呢?

1、当开发OPC CLient程序时,最好使用Windows桌面程序方式,这种方式可兼容OPC Server程序运行在Windows桌面程序方式和Windows NT服务方式。

2、当开发OPC Server程序时,最好使用Windows NT服务方式,这种方式可兼容OPC Client程序运行在Windows桌面程序方式和Windows NT服务方式。

如果很不幸遇到了Windows NT服务的OPC Client去采集Windows 桌面程序的OPC Server(加上OPC Server本身的全局唯一限制),那么你可以去Windows NT服务的管理器中将Windows NT服务的OPC Client更改为指定的系统用户运行,大多数情况下可以解决问题。

希望这篇文章能帮您解决问题~喜欢OPC Server的朋友不妨下载免费版来体验一下~

点击下载OPC Server免费版


想要购买OPC Server正版授权,或了解更多产品信息请点击

扫描关注慧聚IT微信公众号,及时获取最新动态及最新资讯

1563778777.jpg



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP