营口西门子PLC总代理商
营口西门子PLC总代理商
1引 言
可编程序控制器(PLC)现场总线网络是PLC开发应用的重要技术。现场总线使得PLC在工业现场进入上级制造执行系统,进而使得用户获得更大应用效益。人们称之为控制系统的一次变革的现场总线技术自20世纪末广泛应用以来,日益受到制造业的广泛注意和高度重视,成为世界范围的自动化技术发展的热点。应该说, 现场总线的工业过程智能自动化仪表和现代总线的开放自动化糸统构成了新一代全开放自动化控制糸统的体糸结构。目前国际上公认的现场总线有10多种,各有其特点,并在一定范围内得刭应用。本文本文以DeviceNet为基础,详细论述基于台达机电产品的DeviceNet网络设计。
2 DeviceNet简介
DeviceNet是由美国Rockwell自动化开发的现场总线标准。现在已经有超过300家的公司注册成为ODVA的成员。全世界共有超过500家的公司提供DeviceNet产品。DeviceNet作为一种高性能的协议,目前在美国和亚洲的市场上处于领导地位,其系统解决方案在欧洲也取得了显著的业绩增长。
DeviceNet协议设计简单,实现成本较为低廉,但对于采用底层的现场总线的系统(例如,由传感器、制动器以及相应的控制器构成的网络)来说,却是性能极高的。DeviceNet设备涉及的范围从简单的光电开关一直到复杂的半导体制造业中的用到的真空泵。
就像其他的协议一样,DeviceNet 协议基本的功能是在设备及其相应的控制器之间进行数据交换。因此,这种通信是基于面向连接的(点对点或多点传送)通讯模型建立的。这样,DeviceNet 既可以工作在主从模式,也可以工作在多主模式。
DeviceNet的报文主要分为高优先级的进程报文(I/O报文)和低优先级的管理报文(直接报文)。两种类型的报文都可以通过分段模式来传输不限长度的数据。
一个DeviceNet网络工作在125k、250k和500k的波特率下多可以支持64个节点。设备可以使用自身的电源,也可以通过DeviceNet总线供电。
"预定义主/从连接集"适用于简单的DeviceNet从站设备。作为DeviceNet协议的子集,它支持从主站到从站传送的直接报文,轮询I/O报文,位选通I/O报文以及由从站向主站传送的状态变化/循环I/O报文。
"非连接报文管理端口(UCMM)"以及动态生成"直接及I/O连接"则适用于从站比较复杂的情况,这些从站可支持多个主站并能与其他设备维持点到点互联。设备启动报文和设备关闭报文是特别为安全相关系统设计的"离线连接设置"则简化了对非常规组件的配置工作。
DeviceNet的通信和应用都是基于对象模型的。预先定义好的对象简化了不同厂商的不同设备间的数据交换。通过建立不同设备的子集,用户可以从进一步的规范化中获益。
根据ISO的开放系统互联模型OSI,DeviceNet规范除第7层(应用层)外,DeviceNet规范还对一部分第1层(收发器)以及第0层(传输介质)进行了规定,这就为DeviceNet节点的物理连接提供了标准。协议对连接器、电缆类型、电缆长度以及基于通信的显示、操作元素及其相应的封装形式等等都进行了规定。
一个DeviceNet网络工作在125k、250k和500k的波特率下多可以支持64个节点。设备可以使用自身的电源,也可以通过DeviceNet总线供电。
3 台达机电产品现场总线设计案例要求
3.1软件要求
WPL SOFT 2.09――PLC编程软件;
EbbbbConfigurator――DeviceNet网络组态软件。
3.2硬件要求
PS02――电源模块
DVP28SV――PLC主机
DNET-SL――主站通讯模块
DT01-S――S型从站通讯模块
DNA02――MODBUS/DeviceNet转换模块
RTU-DNET――远程I/O通讯模块
DVP12SA――从站PLC
DVP14SS――从站PLC
DVP16SP――从站I/O
VDF007M21A――从站变频器
DTB9696――从站温度控制器
电缆采用普通网线(现场应用请采用专用电缆)
120欧姆电阻×2
4 台达机电产品的DeviceNet硬件设置
4.1 网络连接图
图1是1主4从网络案例图。其中:PLC——28SV作为主站,Node Address为00。PLC——12SA从站1。PLC——14SS从站2。变频器——VFD007M从站3。温控器——DTB9696从站4。远程I/O模块——16SP从站5。
4.2 从站1设置
从站1通过DT01与总线相连。DT01的接线端子接线如图2。2、4角间加入一个120欧姆电阻。
DT01 NODE地址设置如图3,范围是00~63,这里我们设置为01
DT01设置为500K的通讯波特率,如图4。
4.3 从站2设置
从站2依然为DT01,连接一个14SS PLC。设置NODE ADDRESS为02。
4.4 从站3设置
从站3是通过一个DNA02连接一个VFD007M变频器。变频器参数设置:在将 VFD-M 系列变频器和 DNA02 连接之前,首先将变频器的通讯地址设置为 01,通讯格式设置为38400;8,N,2;RTU(固定为此通讯速率以及通讯格式,其它通讯速率以及通讯格式无效,设置如表1:
DNA02设置:首先将 DNA02 的 DIP 开关的引脚 1、2、3 分别拨至”ON”、”OFF”、”OFF”位置,表示 DNA02 连接的下级设备为变频器;然后将 DNA02 的DIP开关引脚4、5分别拨至”OFF”、”OFF”位置,设置 DNA02 与 VFD-M 变频器的通讯方式为 RS-485 通讯,如图5所示。Node Address设为04。
4.5 从站4设置
从站4是通过一个DNA02连接一个DTB9696温控器。温控器设置:在将台达温控器接入总线之前,首先将温控器的通讯地址设置为 01,通讯格式设置为38400;7,E,1;ASCII(固定为此通讯速率以及通讯格式,其它通讯速率以及通讯格式无效),0810H 的内容值设为 FF00H,即通讯写入允许。DNA02设置:将DIP开关的引脚 1、2、3 分别拨至”ON”、”ON”、”OFF”位置,表示 DNA02 连接的下级设备为温控器;然后将 DNA02 的DIP开关引脚4、5分别拨至”OFF”、”OFF”位置,设置 DNA02 与 VFD-M 温控器的通讯方式为 RS-485 通讯。Node Address设为04
4.5 从站5设置
从站5是通过一个RTU-DNET连接一个16SP作为远程I/O。Node Address设为05,并且RTU-DNET上连接另外一个终端电阻120欧姆。
5台达机电产品的DeviceNet软件组态
建起 DeviceNet 网络之后,使用 EbbbbConfigurator 软件对 DeviceNet 网络设备进行配置。如果您已经使用附带的串行通讯线将 PC的 COM1 口与台达 SV 主机的 COM1 接口相连,则可以按如下步骤进行操作。
(1)双击 EbbbbConfigurator.exe 文件,启动EbbbbConfigurator 软件,如图6所示。
(2)选择”Setup”>>“Communication Setting”>>“Syetem Channel”,则会出现“Serial Port Setting”的对话框,如图九所示,在此对 PC 与 SV 主机的通讯参数进行设置。如”串行口”、”通讯地址”、”通讯速率”、”通讯格式”,设置正确后点击”OK”确认(图7)。
(3)点“Online”按钮,EbbbbConfigurator 软件即开始对整个网络进行扫描,如图8。
(4)如果上述对话框的进度条一直没有动作,则说明 PC 和 SV PLC 通讯连接不正
常或PC上有其他程序使用串行口。扫描结束后,会提示”Browse Network completed”。此时,网络中被扫描到的所有节点的图标和设备名都会显示在软件界面上,如9。
(5)欲建立 DVPDNET 主站和 DeviceNet 从站之间 I/O 通讯,首先需要配置 DeviceNet 从站的 I/O 数据长度,下面仅以 DNA02(for VFD-M 变频器)为例说明如何配置 DeviceNet 从站的 I/O 数据长度,实现 DVPDNET 主站和 DeviceNet 从站的 I/O 数据交换。双击图十一总04NODE,出现如图10对话框,将 bbbbb Size 和 Output Size 分别设为 4 Bytes,勾选”Polled Setting”,然后点击”OK”确认,即完成了对通讯站号为 1 的 DeviceNet 从站(DNA02+VFD-M变频器)的 I/O 长度配置。
(6)双击”DVPDNET”图标,会弹出”Scanner Module configuration”对话框,如
图11所示。我们可以看到左边的列表里有当前可以使用的设备。
(7)将图11中左边列表中的 DeviceNet 从站设备移入 DVPDNET 主站的 Scan List中。具体步骤为:选中 DeviceNet 从站节点设备,然后点击”>”,如下图所示。按照此步骤,即可将 DeviceNet 从站节点设备一个一个移入到 DVPDNET 主站的 Scan List内,如图12所示。
(8)将配置好的 DeviceNet 从站移入到 DVPDNET 主站的 Scan List 之后,DeviceNet 从站便自动映射到主站的“bbbbb”和”Output”,如图13所示。
点击”Scan List”中的任何一个节点设备,便可以看到该节点设备映射到 DVPDNET 的”bbbbb”和”Output”地址,此地址直接映射到 SV 主机的内存地址上,可用于 WPLSoft编程。
9)、确认无误后,点击”OK”,然后将配置下载到DVPDNET内。下载时,如果 SV主机处于”RUN”状态,会弹出”Warning”对话框,如图13。
(10)点击”OK”,执行下载的动作(图14)。
11)、下载结束后,会弹出“Warning”对话框,提示是否“RUN PLC”(图15)。
点击”OK”, 则可以看到 RTU-DNET 的’MS LED”和”NS LED”都是绿色。 并显示DVPDNET 的通讯站号。到此 DeviceNet 组态就完成了。
6 PLC编程
根据图十四中各个从站在主站28SV的地址映射关系,就可以对各个从站进行编程了。
以下是一个简单的控制程序:
当然,也可以给整个网络加一个方便操作的人机界面,如图16的效果图。
7 结束语
本文以示教案例形式详尽描述基于台达机电产品的DeviceNet现场总线网络设计过程。总线网络以其高速、实时、可靠成为台达机电产品现场级产品的优先选择,台达的DeviceNet总线产品组态简单、编程容易,对任何用户在没有任何基础的情况下实现快速入门应用。
TSI系统(汽轮机状态监视和保护系统)和ETS系统(汽轮机危机跳闸系统)是火力发电厂保证汽轮机和发电机正常运转的重要设备,在火力发电企业运用十分普遍。在当前的大部分应用中,这两套系统是互相独立的,一般由的TSI设备供应商提供TSI系统,而ETS系统则用通用的PLC来构建。但事实上两套系统之间存在着很多联系,TSI系统的输出往往是ETS系统的输入。如果能使两套系统有机融合,不仅可以节省成本,更可以使系统结构简化,从而提高可靠性。
针对以上情况,我公司选用科威公司的ESAY嵌入式PLC芯片构建了ETS系统的核心控制模块,通过CAN现场总线与我公司的现场总线TSI系统实现有机融合,相当完美地解决了当前ETS系统存在的诸多问题。
一、总体设计
EASY 嵌入式PLC 芯片有两个uart串口和一个CAN接口以及32个IO引脚。该芯片的CAN接口已经加载科威公司的CAN应用层协议,这是一个主从式的协议,通讯速率160K。我公司的TSI系统使用的MVCAN-2 CAN应用层协议是一个多主结构的协议,通讯速率可以是10K、125K、250K和500K。由于协议不同,TSI系统并不能直接使用EASY 嵌入式PLC 芯片的CAN接口与其通讯。为解决这个问题,将ETS控制模块设计成双CPU结构。使用8位MCU P89V51RD2和独立CAN控制器SJA1000扩展出另一个CAN通讯口,在该通讯口加载MVCAN-2协议,实现与TSI系统的连接。P89V51RD2和EASY 嵌入式PLC 芯片之间通过两片IDT7202交换数据。IDT7202是一种双端口的FIFO(先入先出)缓冲器,内部有1024×9位FIFO RAM。
二、硬件实现
以下是主要硬件设计框图:
P89V51RD2通过地址、数据和写信号线连接到其中一片
IDT7202的写入端口,并通过地址、数据和读信号线连接到另一片IDT7202的读出端口;嵌入式PLC 芯片只有通用IO引脚,没有地址、数据和读写信号线,只能用通用IO来模拟读写操作。具体做法是将嵌入式PLC 芯片的P1口当作1个8位数据端口分别与两个IDT7202的另一组读取和写入端口连接,P3.0、P3.1、P3.2用作读、写、使能信号,P4.0、P4.1、P4.2用作状态判断信号。用嵌入式PLC 芯片的P2口扩展了8个继电器输出,嵌入式PLC 芯片的其它接口和特性均按典型应用进行设计。将P89V51RD2的uart串口设计为rs232标准串口,该串口在设置时用于下载TSI系统的配置文件,运行时加载MODBUS协议用于与上位机或其它设备通信。后完成的ETS控制器具有以下功能:八路继电器输出,1个CAN接口与TSI系统互联,另一个CAN接口可用于IO扩展和ETS控制器间互联,COM1串口用于梯形图下载和PLC监控,COM2用于CAN组态和PLC通讯,COM3(由P89V51RD2扩展)用于TSI配置下载和TSI数据监控。
三、软件实现
软件由两部分组成。一部分是运行于P89V51RD2中的软件,另一部分是嵌入到嵌入式PLC芯片中的软件。
运行于P89V51RD2中的软件使用C语言编写。软件被设计为两种工作模式:设置模式和工作模式。在设置模式下,用户使用PC通过串口将TSI系统的配置文件传递给P89V51RD2,P89V51RD2将文件存储于内部FLASH中;在工作模式下,P89V51RD2按照配置文件解析由SJA1000接收到的TSI系统数据,并将数据按照一定格式通过IDT7202传输给嵌入式PLC。同时,由嵌入式PLC通过IDT7202发来的数据经解析后通过SJA1000发送到TSI系统。
嵌入到嵌入式PLC芯片中的软件基于科威公司提供的汇编语言框架编写。首先解决使用通用IO来模拟IDT7202的读写操作,以下是读写IDT7202的程序:
FIFO_FF EQU P4.1
FIFO_EF EQU P4.0
C1_DIR EQU P3.3
C1_EN EQU P3.2
C1_WR EQU P3.1
C1_RD EQU P3.0
FIFO_PORT EQU P1
WRITE_FIFO: MOV SFRPAGE,#0FH
JNB FIFO_FF,WFIFO_L1
CLR C1_DIR
MOV FIFO_PORT,R7
CLR C1_EN
CLR C1_WR
SETB C1_WR
SETB C1_EN
MOV R6,#1
RET
WFIFO_L1: MOV R6,#0
RET
READ_FIFO: MOV SFRPAGE,#0FH
JNB FIFO_EF,RFIFO_L1
SETB C1_DIR
CLR C1_EN
CLR C1_RD
MOV FIFO_PORT,#0FFH
MOV A,FIFO_PORT
SETB C1_RD
SETB C1_EN
MOV R6,A
MOV R7,#1
RET
RFIFO_L1: MOV R7,#0
RET
在嵌入式PLC的STEP函数和SCAN函数中读取IDT7202的数据,每次读取两帧。数据解析后存入对应的D寄存器,这样就可以在梯形图编程中使用这些数据。有一部分数据是可写的(即允许由PLC向TSI方向传递)。对这部分数据,在PLC的外部RAM开辟一块内存作为数据副本,初始化时将D寄存器与副本置为相同值,在运行中于STEP函数和SCAN函数中监视D寄存器和副本的值是否相同,若不同则将D寄存器值向P89V51RD2发送。
四、总结
基于EASY 嵌入式PLC 芯片构建的现场总线ETS控制器目前已经在工业现场得到实际运用,总的情况良好。应该说EASY 嵌入式PLC 芯片是一款成功的产品。