为了让刚刚从事DeviceNet开发的朋友能够对DeviceNet网络的总体架构及工作方式有一个大致的了解,并同时提供给从事工程项目的朋友作为项目规划中的参考,DND推出此文章以期为各位DeviceNet开发及应用的朋友带来方便,本文分为如下几个部分:
一 软件需求环境;
二 网络组成;
三 连接工具RsLinx;
四 DeviceNet组态;
五 简单的SLC梯形图程序以实现简单任务;
六 实验网络架构的总结;
本文的写作是基于Rockwell Automation Allen-Bradley的SLC500 PLC系统,组建一个简单的电机驱动器控制系统,通过IO节点可以给变频器发送启动,停止等控制命令,使用模拟量模块作为变频器的频率给定,同时IO模块也有数字输出的部分,可以显示变频器的运行与停止状态。也有很多DeviceNet的系统是基于OMRON的DeviceNet系统,但原理大同小异。
四 DeviceNet组态
这部分主要实现简单的DeviceNet网络的配置组态,使用的工具是Rockwell提供的软件——RSNetWorx。例子虽然简单但期望各位网友以一当十,达成更复杂的应用,此才为此文章的最终目的。
1、点击“开始”—“程序”—“Rockwell Software”—"RSNetWorx"—"RSNetWorx for DeviceNet"以正常启动RSNetWorx;也许你会遇到找不到当前字体的对话框,因操作系统的问题,你尽可以回答“是”。
2、RSNetWorx启动后,也许你可看到左边有一个硬件列表框,如果没有你可以在View菜单里找到,点击就可以显现出此列表。而主视图框中有一条网络线,这是最初的状况,因为还没有一个节点被加到当前的网络中,所以右边这条线上没有一个节点。你当然可以在左边的列表框里选择你目前已经连接好的设备并双击使其加到右边的网络线上,但我们不这样做,RSNetWorx有一个最简单的做法就是利用网络扫描功能,如下图:点击图中的Online图标或点“NetWork”—"Online"菜单,则可以启动扫描功能。
3、点击“Online”图标后会弹出一个对话框,要你选择用于连接的驱动,你应该可以看到1770-KFD的连接,如果没有,则请参阅本文的第三部分。
4、选中“1770-KFD”驱动并点击OK,或直接双击,会告诉你一个同步确认对话框,点击OK。RSNetWorx即开始Browsing Network...
5、如果此对话框的进度条一直没有动作则表示你的串行通讯连接线有问题,或是你的PC上正有其它程序使用串行口。扫描完毕后网络上能找到的所有节点都会显示出来。在此例中Master(1747-SDN/B)的地址为01,而1770-KFD节点地址为05。
6、双击其中的图标,可以查看节点的信息:General, Parameters, I/O Defaults, EDS File。其中第一项可以清楚的知道供应商,及其它一些详细信息,参数部分可以显示此节点所有本身提供可访问的参数,这些参数根据属性的不同可以读写或只读。在第一次查看参数的时候提示“upload or download”的时候最好是"upload"。
7、双击Scanner的图标,会出现其配置对话框。点击“Module”选项卡,并选择“upload”按钮,以读取当前Scanner中的配置信息。当读取完毕后,可以看到“Module”选项卡中有几个信息值:Interscan Delay和Foreground to Background Poll Ratio。前一项表示两次发送轮询IO信息的间隔时间;后一项表示发送多少次IO报文后才对特定的节点发送一次IO报文,默认值为1,则表示每次都会发送IO报文,这主要用于通讯较慢的设备与较快的设备同时在一个网络上的时候,也可以减少某些不必很快的设备的CPU资源开销。
8、选择“Scanlist”选项卡,可以看到左边的列表里有当前可以使用的设备,此例中为两个。右边有一空的扫描列表。在此我们选中节点“1305 Drive”,并注意“Automap on Add”前的框里打上勾,使其自动映射地址。然后点“>”按钮将此节点加入扫描列表。当选中一个节点后,可以点击下方的“Edit I/O Parameters...”来编辑节点的IO数据长度,其中就可以设置此节点是否使用Foreground to Background Poll Ratio功能。
9、点击“Input”, "Output"选项卡,可以看到节点的地址已经被映射到Scanner的Input和Output地址上了,此地址直接映射到PLC的CPU内存地址上,用于在SLC 500中进行编程控制。
10、同样地将另一个节点2705T(I/O Module)也加入到扫描列表中。
11、点击“确定”按钮,提示是否将此配置下载到Scanner中,将PLC的控制钥匙打到“PROG”状态,确定即可以下载此配置到Scanner了。当你把PLC上的控制钥匙打到RUN,则可以看到Scanner的“MODULE”和“NET”LED都是绿色。 到此简单的DeviceNet组态就完成了。
另外,相信大家都知道每个DeviceNet设备组态时都需要EDS文件,为什么我们一直没有使用EDS文件呢?这是因为我们使用的设备都是AB的设备,而配置工具也是AB的设备,配置工具已经预先将AB的DeviceNet的EDS文件导入了此配置工具中,所以我们不需要做这一步,如果你是自己开发的设备要使用RSNetWorx连到DeviceNet网络中,那你必须使用RSNetWorx所提供的EDS导入向导把自己编写的EDS文件导入到系统中。此功能可以通过菜单“Tools”—"EDS Wizard..."来启动,根据提示很容易就可以导入自己的EDS文件。如果你的设备还未导入EDS文件就接上了DeviceNet网络,则RSNetWorx同样会发现此节点,只是处于不能识别的状态,双击图标也可以启动EDS文件向导以导入正确的EDS文件