西门子在OPC Server上越来越牛,不管你承认不承人,从原来的.CPL程序,到PC STATION简直是一个质的飞越,无论在应用的灵活性和STEP 7的结合的上来讲,都远远超出了别的自动化厂家,但从这点来讲,比AB的东西要牛。闲话少扯,谈正题。
先看SIMATIC NET OPC的原里,
从上面图种可以看出,OPC SERVER必须配有一种硬件连接器,实际的数据链路是建立在CP5613/1613等和PLC子间建立的,SERVER只是把这些CP的RAM即数据存储区的数据用西门子的话叫IMAGE到SEVER内,俺不太理解这个IMAGE是啥意思,俺理解有点像WINDOWS程序中的内存映射的概念。然后再由OPC SERVER把数据MEMORY MAP给访问给他的客户程序,即OPC CLIENT,这个OPC CLIENT可以是WINCC,PROTOOLS,FIX,当然也可以是你老写的程序拉!
在看看SIMATIC NET OPC SERVER的类型,西门子的OPC SERVER分为INPROC和OUTPROC两种,和WINDOWS的COM类型是一至的,即进程内COM和进程外可独立运行的COM。

这两种OPC SERVER的区别从上图可以看出,INPROC对客户端来讲,就像访问自己进程中的COM一样,没有进程间的边界,访问到COM时,直接运行COM。而OUTPROC属于别人程序里的COM,得先向别人打招呼,由别人给你提供服务,从这点来讲,INPROC肯定比OUTPROC块了。
当然,INPROC被你的进程装载运行,别人是没有办法在连接的,除非你释放该连接,别人才能访问。而OUTPROC是由别人程序运行的,你访问时,既连接SERVER时是由SERVER提供访问接口,别人连接时,再提供一个接口就行了,从这点来看,OUTPROC是提供了调度接口的INPROC。当然OUTPROC也提供了远程访问接口,但对INPROC是没有远程接口的。
总合以上所示,可以看出俩者区别如下:
INPROC OUTPROC
速度: 快 慢
连接数: 1 N
客户和服务: 同一机子 不同机子。
对装了SIMATIC NET OPC的机子,放问INPROC的 OPC程序是访问“PROGID”,如DP OPC对INPROC 的OPC访问名程如下:“OPC.SIMATICNET.DP",或“OPC.SIMATICNET.S7"。等都是INPROC的OPC SERVER,而OUTPROC则是“OPC.SIMATICNET",像WINCC的OPC为“OPCSERVER.WINCC"也属OUTPROC OPC SERVER。大家看出规律没有,对西门子的OPC来讲,两个点的一般属INPROC OPC,一个点的多属于OUTPROC OPC。
累了,先写这些吧!
高手不要扔转头哦!
公司没活啦,胡乱涂鸭!请高手多多指点。
请勿转载哦!原创哦
参考资料:SIMATICNET OPC 6。02。