1,PLC+OPC server
opc server运行在一台PC上,然后用高级语言开发该opc server的客户端,就能访问任意数据库了。
优点:通用性强,适用于任意PLC。
缺点:通信负荷较重,不能与扫描周期同步。
2,软PLC
软PLC是运行在PC上面,用软件实现的PLC,用总线与外围IO通信。代表产品有西门子的WinAC,AB的SoftLogix。
以西门子WinAC为例,可以同步或异步调用具有特定接口的dll,而你需要访问数据库的代码,就可以编译在dll里面。
同步调用:调用dll时,要等dll代码执行完毕才能继续扫描。
异步调用:调用dll时,不须等dll代码执行完毕就能继续扫描。
优点:使用与大量数据交换,且能与扫描周期同步,因为在PC的内存内交换数据。
缺点:可能需要另外花费买软PLC。
一般的控制系统应该都不带数据库功能,如果需要存储实时数据或者历史数据往往有两种方式:一种是增加服务器(实时服务器、历史服务器),另一种是在上位机硬盘中划定一片区域,用来存储数据。****下属油库,为了上ERP,要求全部采用第一种方式。另外一些大型系统也都采用服务器的模式。一些小的控制系统,要嘛不要求数据库功能,要嘛采用第二种方式存储数据,最多上个数据库软件罢了。网上搜到的:pc从西门子plc读取数据的方法有两类:
1是通过wincc这类组态软件
2是自己用高级语言(vb、vc等等),方法主要有:
opc(西门子simaticnet opc、第三方kepware opc)
prodave(西门子的一个软件包,提高vb和c的通讯函数库)
simticnet软件提供了几个通讯dll(此法是一般的第三方scada所采用)
可以用其他组态软件,比如组态王。也可以用vb编写一程序然后从plc读取数据再写入数据库。如果不需要监控画面,我觉得vb好些。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)