分类: C/C++
2012-11-23 09:38:08
SIMATIC Net介绍:
SIMATIC Net软件是用于西门子工业网络通讯的软件。
主要用于和其他厂家的监控软件通讯,比如说iFIX,不过需要SI7作为驱动,走OPC,SI7与OPC交换数据;如果用S7A做驱动的话,可以不用SIMATIC Net.
用SimaticNet提供OPCServer通讯速度更快,通过VB,VC等第三方软件访问SimaticNet提供的OPCServer,读写的速度可以达到200ms以内,访问DAServer达不到。
在某些特殊应用环境下,通过第三方软件,例如C#,VC等,对生产线进行控制,读写数据,响应要求也很高,在200ms之内,甚至更快,采用SimaticNet+C#/VC/VB+PLC是可以实现的,当然也要考虑数据量的多少。而采用DAServer+C#/VC/VB+PLC,也就是通过访问DAServer提供的OPC Server,进行数据读写,过高的响应时间有时候会有问题的。
第一方面:SimaticNet里面提供了什么
第二方面:什么情况下需要SimaticNet
对于第一方面,SimaticNet包含三部分内容,第一部分是包含了通讯板卡的驱动,例如CP5613、CP1623、CP1613等,在使用这些卡时,需要SimaticNet软件提供卡的驱动;第二部分,可以理解为在SimaticNet中,支持大量的协议通讯,通过这些协议通信,例如S7协议、FDL协议、PG/OP等等,可以访问PLC的数据,在SimaticNet中,提供了基于这些协议访问的授权,不同授权支持不同协议,不同连接数;第三部分,同第二部分,通过S7协议、FDL协议、PG/OP等协议访问PLC的数据,通过PC Station进行配置,对于提供OPC Server及APPlication接口。
第二方面:是否需要SimaticNet,要考虑SimaticNet的两种组态方式(对应的通讯板卡), PG模式和PC Station模式,是否需要SimaticNet表现为两部分内容,第一部分当相应通讯板卡需要驱动时需要SimaticNet软件,另一部分为与PLC进行通讯时,不同的协议连接需要SimaticNet提供不同的连接授权,支持不同的连接数。
对于国内及国外的组态软件,在访问西门子的PLC时,有时候需要SimaticNet,有时候不需要,主要是看相应组态软件开发了哪些协议,如果开发了,就不需要通过SimaticNet, 直接可以访问PLC,否则需要通过SimaticNet配置PC Satation,然后通过OPC Server或者APPlication接口。
通过WinCC进行生产线监控时,其中集成了SimaticNet提供的协议,所以不需要配置PC Satation,但在使用CP5613、CP1613、CP1623等卡进行通讯时,需要安装这些卡的驱动,从而需要SimaticNet软件,在通过相应协议连接时,也是需要授权的。
SimaticNet软件的作用不仅仅是只提供了OPC Server,它里面也提供了大量的协议通信处理功能。
通过第三方软件,一般有VB,VB.net,C#,VC,访问西门子的PLC,需要配置PC Station,然后访问OPC.SimaticNet,访问方式存在三种,同步、异步、订阅(确切地说订阅也属于异步);程序设计模式有自定义与自动化两种接口。
同步、异步、订阅在总坛主给的文档里,已经说得很清楚了,说的是客户端访问服务器的方式,一般来说,写数据的话,我们一般采用同步,保证每次写数据是成功的,这对生产控制是必需的,而读我们一般采用订阅,这样当一个服务器,多个客户端访问时,数据流量小,通讯效率高。
至于自动化与自定义接口,自定义接口是客户端基于OPC定义的底层函数直接访问服务器,编程复杂,但执行效率高。VC采用这种方式。
自动化接口,编写一个自动化组件,组件内部对OPC服务器访问基于自定义接口,但对外提供自动化接口(特定函数、方法、属性),我们在第三方程序(例如VB,VB.net)中注册此组件后,就可以对相应函数、方法、属性编程,所以采用自动化接口编程简单,但执行效率,通讯速度没有自定义接口高。
C#既可以采用自定义接口,也可以采用自动化接口。
在SimaticNet的安装目录下,有各种访问OPC Server的例子
中就有VB的例子。
simatic net可以用于实现与西门子PLC的各种协议通讯,个人认为主要是将西门子的产品通过simatic net集成到整个自动化通用领域,通过OPC可以与任何支持OPC通讯的产品进行数据交换,比如第三方软件要和西门子PLC通讯,就可以通过OPC,simatic net就是用于300/400的OPC软件.其实现在大多主流HMI软件都可以与西门子PLC进行通讯,不需要SIMATIC NET.不过像一些自己开发的软件,VC,VB,DELPHI等就只能通过OPC,就不需要自己再编写通讯脚本,而且西门子的协议是不公开的,也无法编写与西门子PLC的通讯.
通过WinCC进行生产线监控时,其中集成了SimaticNet提供的协议,所以不需要配置PC Satation,但在使用CP5613、CP1613、CP1623等卡进行通讯时,需要安装这些卡的驱动,从而需要SimaticNet软件,在通过相应协议连接时,也是需要授权的。[/quote]
我觉得WINCC与PLC进行通讯时,并不是WINCC内部集成了SimaticNet协议,Wincc也不是采用相当于SIMATIC net的方式与PLC进行通讯.WINCC 采用的是OP协议与PLC进行通讯.而采用PC SATTION进行组态采用的是S7 Standard 协议.
WinCC确实不是采用SIMATIC net的方式与PLC进行通讯,Simaticnet对于WinCC来说只是提供了某些卡(CP1613,CP5613,CP5614)等卡的驱动,WinCC采用S7的PG/OP协议通信,在PG/OP协议中,从方式上又有MPI,Profibus,TCP/IP,ISO等多种协议形式。而采用PC Station方式组态,可以有S7、SNMP、SR、FMS、PNIO、DP class1、DP Slave等多种协议通信方式,这在OPC Scount中可以看到。
PC Station还是应用更广泛.上次一个客户要求和一个带5611的电脑作DP主从通讯.这时只好用PC STATION了.
我觉得PC station更象一个标准化的平台,提供统一的接口(OPC,APPLICATION)给更高一级的应用.而更高一级的应用就不需要考虑底层的通讯协议和通讯接口了.呵呵,和软件设计中面向对象设计方法一样,不断的封装,隐藏实现细节,提供接口.这对于减少以后的软件维护的成本也是很有帮助的.
simatic net可以用于实现与西门子PLC的各种协议通讯,个人认为主要是将西门子的产品通过simatic net集成到整个自动化通用领域,通过OPC可以与任何支持OPC通讯的产品进行数据交换,比如第三方软件要和西门子PLC通讯,就可以通过OPC,simatic net就是用于300/400的OPC软件.其实现在大多主流HMI软件都可以与西门子PLC进行通讯,不需要SIMATIC NET.不过像一些自己开发的软件,VC,VB,DELPHI等就只能通过OPC,就不需要自己再编写通讯脚本,而且西门子的协议是不公开的,也无法编写与西门子PLC的通讯.
SIMATIC NET是一个开放、高效的工业通讯网络体系。主要由3部分组成: Industrial Ethernet工业以太网;Profibus现场总线;A-S Interface前端总线。通过上面3部分网络体系组合,SIMATIC NET就几乎可以应用于所有的工业自动化领域,实现将现场分散的仪表、控制器、计算机的全系统集成。
SIMATIC NET工业以使用屏蔽双绞线及光纤传输作为通信介质。网络拓扑结构有总线型、环型等结构。网络连接元件有OSM(光学交换机模板)和ESM(电气交换机模板)待系列交换机。其中组建以太网最关键的设备是CP系列的通信处理器。通过CP系列模板用户可以很方便的将S7系列PLC通过以太网进行连接,并且支持使用STEP7软件。同时可以同PC上的OPC Server进行通信。
SIMATIC NET工业以太网软件包括SIMATIC NET V6.0和OPC(OLE for Process Control)标准,其中SIMATIC NET软件提供了统一的Windows画面,通过它提供了APC(Advanced PC Configuration)高级PC配置工具,PC机可以作为整个系统控制系统的一个站点同其他PLC站进行通信,SIMATIC NET OPC是服务器/客户端结构,客户端访问服务器的程序。采用OPC技术大大提高了控制系统的互操作性和适应性。
dogoodwork2017-10-24 19:27:55
大品牌的PLC都有高级语言解决方案的啊,有一个博客总结的很完整,还有源码下载:
三菱:http://blog.sina.com.cn/s/blog_16d7d3ecb0102x6wj.html
欧姆龙:http://blog.sina.com.cn/s/blog_16d7d3ecb0102x3qi.html
西门子:http://blog.sina.com.cn/s/blog_16d7d3ecb0102x1z5.html
施耐德、台达等:http://blog.sina.com.cn/s/blog_16d7d3ecb0102x7ui.html?