如何使用工业实时数据库与西门子PLC通讯?

描述

工业实时数据库是一个基于时间信息的存储仓库,存储大量的过程数据,并且提供灵活的数据检索过程。

我们平时经常使用MySQL/SQL Server/Oracle等这些传统的关系数据库,为什么还需要专用的实时/历史数据库?因为关系数据库是基于事物的,而工厂过程信息是基于时间同步的;工厂在分布式网络随时生成各种速率的大量实时数据,关系数据库不能进行直接存储和检索,不能连续性采样,数据计算时不考虑数据的质量因素,不考虑干扰和重点数据,数据计算式不考虑数据的持续时间。

关系数据库擅长基于查询提供数据:

——库存有多少零部件?

——该用户去年消费多少?

关系数据库不擅长回答关于时间的问题:

——马达运行了多少时间?

——温度超过100℃多少次了?

——这个泵在需要维护之前还能运行多久?

而工业实时/历史库专用于回答这一类问题,其中的典型代表WonderWare Historian工业实时数据库是带有关系数据库选项的工业实时/历史库,用来采集、压缩并存储工厂实时数据,并相应SQL请求提供历史数据报告的软件。

plc

无需借助西门子的Simaticnet软件,WonderWare Historian的SIDirect DAS Server可以通过标准的以太网卡访问S7 200/S7 300/S7 400家族PLC。SIDirect DAServer可以通过DDE, FastDDE, SuiteLink, OPC协议连接Windows客户端软件,如Wonderware InTouch。

本文详细介绍了如何配置和使用Wonderware SIDirect DA Server连接/访问S7 PLC(这里,我们以S7-400 PLC 为例),以及如何用DDE/SuiteLink协议访问此DA Server。

在开始之前,请确保已满足以下条件:

1.安装SIDirect DAServer。

2.安装并配置以太网卡和TCP/IP协议。

3.确认你可以“Ping”通你要连接的PLC。

以下开始配置SIDirect DAServer:

1.找到包含“System Management Console” 程序的 Wonderware文件夹,并点击启动System Management Console 程序。

2.在ArchestrA System Management Console(SMC)中找到“DAServer Manager”树下的SIDirect DAServer。在Local节点下,DAServer 名字是“ArchestrA.DASSIDirect.1”。见下图1:

plc

图1. SMC中的DASSIDirect DAServer

3.展开ArchestrA.DASSIDirect.1,并选“Configuration”,将出现如下“Global Parameters”对话框(图2):

plc

图2. DASSIDirect – Global Parameters

◆ Device Group Update Interval: 定义Device Group的默认更新时间间隔

◆ Slow Poll Interval: 定义当连接发生问题进入“Slow Poll”模式时,DAServer查询设备的时间间隔。当通信恢复正常后,DAServer的查询间隔调整为Device Group的查询间隔。

◆ Transaction to Subscription Ratio:“Transaction”是来自于DDE/SL/OPC客户端的读/写消,“Subscription”是有处于“需采集”状态的数据点产生的, “Subscription”按“Update Interval”为间隔周期性发送。“Transaction to Subscription Ratio”定义DAServer在发送一个Subscription前可以发送的Transaction的最大数目。它是当有多个等待中的Transaction时,Transaction和Subscription的比例,比例的后者总是为1。所以,默认设置为2表示Transaction和Subscription的比例是2:1。这个比例确保当Transaction非常繁忙时,任有一定数量的Subscription动作。例如:比例设为2, 同时有3个Transaction, 2个Subscription准备好,Toolkit将先发送2个Transaction,1个Subscription, 在发送1个Transaction, 1个Subscription。

◆ Transaction Message Timeout: 每个Transaction(读/写/刷新等)消息的超时设置,这个超时设置使得客户端不会由于某种原因Transaction永久不被发送时导致被挂起。这是一个Transaction中消息更新的最大允许时间。此数字应该设置为一个单独的数据更新不应超过此时间设置。

◆ Server Protocal Timer: 因为SIDirect DAServer使用事件驱动的协议引擎,此选项无效。

◆ Diagnostic Backlog Size: 定义“TransactionDiagnostic”根上可显示的最大的Transaction数。

◆ Poke Mode: 有以下有效模式:

- Control 保持写数据的顺序不改变,并且不合并Transaction。

- Transaction 使用保留要写的第1,第2和最后一个数据的合并方式保持写数据的顺序。

- Optimization 不保持写数据的顺序,并且合并写数据的Transaction,只写入最后一个要写的数据。

◆ Case Sensitive: 控制DAServer按大小写顺利扫描数据项和Device Group。

◆ Device Group Cache: 此参数保留将来使用。

◆ Simulation Mode: 此设置在此SIDirect DAServer中无效。

◆ System Items: 此参数控制系统数据点是否出现在浏览窗口中,是否做为DAServer数据采集接口的有效数据项。

◆ Unique Device Groups: 此参数控制是否检查Device Group在整个DAServer中的唯一性。

5.右键点击“Configuration”图标。

6.在菜单中选择“Add PortCpS7 Object”。

7.右键点击“New_PortCp_000”并选择“Add S7Cp Object”,出现如下S7参数设置对话框(图3):

plc

图3. S7 CP通信参数

◆ Network Address: 输入PLC的IP地址,在此例子中,PLC的IP地址是192.168.10.41。

◆ Local TSAP: 定义本地站的传输服务访问点,第一为数字定义设备,第一位数字为0,推荐设置为01.00。

◆ Remote TSAP: 定义PLC的传输服务访问点。

◆ Remote Rack No.: 输入10进制机架号。

◆ Remote Slot No.: 输入10进制的CPU槽号。在此Tech Note中,机架号设为0,CPU槽号设为3(电源模块占2个槽,所以CPU槽号为3)。

◆ Connection Resource: 从下拉框中选择16进制的连接资源。

8.选择“Device Group”属性页。

9.右键点击“Device Group”对话框中的空白地方,添加新的Device Group(类似主题名)到Device Group对话框中。如下图4所示:

plc

图4. Device Group 对话框

10.选择并用右键点击默认名Topic_0, 把它重新命名成一个有意义的名字,如S7PLC, 如图5所示:

plc

图5. S7PLC Device Group

11.在左面的树形结构图中,右键点击ArchestrA.DASSIDirect.1并从子菜单中选择“Activate Server”来启动此DA Server,ArchestrA.DASSIDirect.1旁边的图标将由红变成绿,如下图6所示:

plc

图6. SIDirect DA Server已激活

测试此 DASSIDirect Server

DASSIDirect Server已经准备就绪,下面做一个快速的通信测试来验证和我们可以和PLC的连接。

1.点击“开始/运行”并键入WWClient启动Wonderware WWClient程序。

2.从主菜单上选择“Connection/Create”,将出现“Create Connection”对话框。

3.输入正确的信息,如图7所示:

◆ Node: 此处为空白,因为DASSIDirect Server和WWClient在同一台计算机中。否则,输入运行DAServer的机器的名字。

◆ Application: DASSIDirect, SIDirect DAServer的应用程序名。

◆ Topic: S7PLC,我们刚才在DASSIDirect的Device Group对话框中新建的Device Group。

◆ Connection Type: IOT,在这里,我们使用SuiteLink协议。

plc

图7. Create Connection 对话框

4.依此点击“Create”,“Done”。

plc

图8

5.在主菜单上选择“Item”。

6.输入已知正常工作的PLC寄存器地址。

7.下图显示了WWClient成功取得S7 PLC数据项MB90,在Item输入框中的输入MB90,点击AdviseEx注册并开始获取此数据项,如果连接S7 PLC的以太网工作正常的话,你会看到从MB90寄存器中取得的数据,如图9,10所示:

plc

图9. Item

plc

图10. WWClient显示MB90的值

 

原文标题:WonderWare Historian工业实时数据库与西门子PLC的通讯

文章出处:【微信公众号:工控论坛】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分