7
西门子模块6ES7235-0KD22-0XA8库存优势
一. 引言
PROFIBUS现场总线是一种国际化、开放式异步通讯标准,于1996年被批准为国际标准。PROFIBUS已经广泛应用于制造业自动化、流程工业自动化等。它由三个部分:PROFIBUS-DP、PROFIBUS-FMS、PROFIBUS-PA。PROFIBUS-DP是一种高速通讯,主要应用于现场设备级传输介质为屏蔽双绞线(EIA RS485),波特率从9600bps到12Mbps。艾默生公司的TDS-PA01总线适配器是PROFIBUS的兼容产品。TD3000系列变频器是高性能矢量型变频器,通过TDS-PA01总线适配器可方便地连接到PROFIBUS总线上①,组成PROFIBUS工业现场总线控制系统。
二. 系统简介
本生产线产品为宽约3m、厚约0.3~1mm的高级广告布。生产线主机传动由14台电机完成,每台电机由一台变频器驱动,生产线连续化作业。工序之间现场设备上有张力检测装置,有安全开关、急停开关。 本系统采用西门子S7-300 CPU315-2DP作为PROFIBUS主站;三台S7-200 CPU226-2DP作为智能从站,分别控制辅助部分;12台TD3000、2台TD3300变频器作为从站。整个PROFIBUS线缆长度大约100m,波特率选择为500k即可达到传输速度要求。
三.主站与人机界面
CPU315-2DP作为主站,它有2个通讯口:PORT0 和PORT1。PORT0作为PROFIBUS总线通讯口,波特率选择为500kbps。PORT1作为与人机界面通讯口,它为MPI口,采用RS485通讯,波特率为19.2kbps,我们制作了RS485通讯电缆与人机界面通讯。人机界面为台达PWS3260触摸屏。在触摸屏上进行全线控制、生产线运行显示、变频器运行显示、及参数的设置。CPU315作为主站,根据触摸屏的设定值和通过PROFIBUS从智能从站传来的张力信号比较,通过运算,转换成运行频率发送给14台变频器,控制14台传动电机。
由于从站距离较远,有需要在2、3好从站上需要查看对方的运行数据,在程序设计中有几个参数通过PROFIBUS由2号从站传给主站,通过主站再传送给3号从站。3号从站也通过同样途径传送给2号从站。由于操作需要,在2号从站上需要更改主站上的参数。在2号从站的界面上设计有按钮,信号通过PROFIBUS传送给主站。
主站程序执行是循环扫描执行方式,与其它PLC执行方式一样。通过PROFIBUS传送的信息也是周期传输的。
四. 智能从站
EM277 PROFIBUS-DP模块能使S7-200连接到PROFIBUS总线上。它也能使CPU222、CPU224,或CPU226与PROFIBUS主站和较大到6个的MPI主站通讯②。它接受主站的配置信息,在S7-200程序设计中要与主机配置相一致。在与主张信息交换中,EM277 PROFIBUS—DP模块接收主站、发送给主站缺省配置为2字入/2字出,它分为字一致、字节一致和缓冲区一致。
有三台S7-200 CPU226-2DP作为智能从站通过EM277挂接在PROFIBUS总线上。2号、3号从站为辅助操作部分,控制生产线上的电磁阀、采制信号、采集张力信号并经过滤波处理再传送给主站。2号从站为8字输入8字输出。3号从站为4字输入/4字输出。1号从站有相对的独立性,控制加热部分,仅接收主机运行信号、传送本系统故障信号,仅1字输入/1字输出。
2号从站有2个通讯口,每个口与一台PWS1711通讯,分布在1、2号操作台上。在1号操作台上主要进行放卷的两个卷轴之间更换。2号操作台对生产线辅助机械动作的操作、张力大小的调节。3号从站也有2个通讯口,分别与3、4号操作台上的PWS1711通讯。在触摸屏上完成运行状况的查看、参数的修改、辅助机械的操作。
1号从站为烘箱加热部分,具有相对独立性。CPU的PORT1口与一台PWS1711人机界连,PORT0编程为自由口通讯模式,与风机变频器组成RS485总线网。烘箱中导热油在盘管中流动,经循环风机进行热交换。风机共5台,全为变频控制,根据工艺要求调节运行频率。5台TD2000变频器采用RS485控制方式,波特率为9600kbps。
五. 变频器从站
TD3000系列变频器通过TDS-PA01总线适配器连接到PROFIBUS总线上。TDS-PA01是PROFIBUS总线的兼容产品,符合PROFIBUS协议中的传动设备行规—PROFIDRIVE,主站能通过它对变频器进行运行控制操作、调节运行频率、更改变频器的功能码、读取变频器的运行状态。变频器也通过TDS-PA01反馈对主站控制信号的应答信号,主站可以根据变频器的应答信号判断控制信号执行情况。
在周期性的通讯中,PROFIBUS-DP使用PPO(对象过程类)类型作为数据传递的格式,由于本系统仅对变频器的运行频率设定,不更改功能码,本例采用的是PPO3,仅控制变频器的启动、停止、故障复位、运行频率设定。在主站组态时需导入TDS-PA01的GSD文件, GSD文件为TDS-PA01的设备数据文件。然后在PROFIBUS总线上连接TDS-PA01,TDS-PA01与主站通讯波特率为500kbps,TDS-PA01与TD3000的通讯波特率为38.4kbps。
六. 结束语
设备已从今年六月份稳定运行。经实践证明,PROFIBUS现场总线在此类系统中运行稳定可靠,没有出现过问题。由于采用了现场总线,减少了许多配线,减少了安装工作量及维护成本。
应用中也总结出一些经验:1。在配置智能从站的EM277时输入/输出字节应留有余量;2。变频器的控制中刚采用命令字与频率值分开写入,方便编程;3。由于人机界面大多可以以RS485通讯方式工作,在应用中两台人机界面可以与一个PLC的通讯口相连,使PLC减少一个通讯也可以应用,减少投资。PWS系列专门设计有MULTIDROP连接模式,方便多机连接而仅用一个PLC通讯口。


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发送。