TSI系统(汽轮机状态监视和保护系统)和ETS系统(汽轮机危机跳闸系统)是火力发电厂保证汽轮机和发电机正常运转的重要设备,在火力发电企业运用十分普遍。在当前的大部分应用中,这两套系统是互相独立的,一般由专业的TSI设备供应商提供TSI系统,而ETS系统则用通用的PLC来构建。但事实上两套系统之间存在着很多联系,TSI系统的输出往往是ETS系统的输入。如果能使两套系统有机融合,不仅可以节省成本,更可以使系统结构简化,从而提高可靠性。
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
针对以上情况,我公司选用科威公司的ESAY嵌入式PLC芯片构建了ETS系统的核心控制模块,通过CAN现场总线与我公司的现场总线TSI系统实现有机融合,相当完美地解决了当前ETS系统存在的诸多问题。
WWW_P※LCJS_COM-PLC-)技.术_网
WWW_PL※CJS_COM-PLC-技.术_网
一、总体设计WWW_P※LCJS_CO※M-PLC-技-.术_网
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。WWW_P※LCJS_COM-PLC-)技.术_网
WWW_PL※CJS_COM-PLC-技.术_网
二、硬件实现WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
以下是主要硬件设计框图:WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWW_PLCJS@_COM%-PLC-技.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
P89V51RD2通过地址、数据和写信号线连接到其中一片
WW.W_PLC※JS_C,OM-PL,C-技.术_网
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数据监控。
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
三、软件实现
WWW_PLCJS@_COM%-PLC-技.术_网
软件由两部分组成。一部分是运行于P89V51RD2中的软件,另一部分是嵌入到嵌入式PLC芯片中的软件。
P.L.C.技.术.网——可编程控制器技术门户
运行于P89V51RD2中的软件使用C语言编写。软件被设计为两种工作模式:设置模式和工作模式。在设置模式下,用户使用PC通过串口将TSI系统的配置文件传递给P89V51RD2,P89V51RD2将文件存储于内部FLASH中;在工作模式下,P89V51RD2按照配置文件解析由SJA1000接收到的TSI系统数据,并将数据按照一定格式通过IDT7202传输给嵌入式PLC。同时,由嵌入式PLC通过IDT7202发来的数据经解析后通过SJA1000发送到TSI系统。
WW.W_PLCJS_COM-PLC-技.术_网
嵌入到嵌入式PLC芯片中的软件基于科威公司提供的汇编语言框架编写。首先解决使用通用IO来模拟IDT7202的读写操作,以下是读写IDT7202的程序:
W1WW_P4LCJS_COM-PLC-技.术_网
——可——编——程——控-制-器-技——术——门——户
FIFO_FF EQU P4.1W1WW_P4LCJS_COM-PLC-技.术_网
FIFO_EF EQU P4.0
WWW.PLCJS.COM——可编程控制器技术门户
C1_DIR EQU P3.3
WW.W_PLC※JS_C,OM-PL,C-技.术_网
C1_EN EQU P3.2
WWW_P※LCJS_CO※M-PLC-技-.术_网
C1_WR EQU P3.1
WWW_PLCJS@_COM%-PLC-技.术_网
C1_RD EQU P3.0
W1WW_P4LCJS_COM-PLC-技.术_网
FIFO_PORT EQU P1
WWW_PL※CJS_COM-PLC-技.术_网
WRITE_FIFO: MOV SFRPAGE,#0FH
WWW_PLCJS_COM-PLC-技.术_网
JNB FIFO_FF,WFIFO_L1
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
CLR C1_DIR
——可——编——程——控-制-器-技——术——门——户
MOV FIFO_PORT,R7
WWW_PLCJS@_COM%-PLC-技.术_网
CLR C1_EN
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
CLR C1_WR
——可——编——程——控-制-器-技——术——门——户
SETB C1_WR
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
SETB C1_EN
WW.W_PLC※JS_C,OM-PL,C-技.术_网
MOV R6,#1
WWW_PLC※JS_COM-PmLC-技.术_网
RET
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WFIFO_L1: MOV R6,#0
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
RET
plcjs.技.术_网
READ_FIFO: MOV SFRPAGE,#0FH
WW.W_PLCJS_COM-PLC-技.术_网
JNB FIFO_EF,RFIFO_L1
WWcW_PLCJS_COM-PLC-技.术_网
SETB C1_DIR
WWW_PLC※JS_COM-PmLC-技.术_网
CLR C1_EN
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
CLR C1_RD
WWW.PLCJS.COM——可编程控制器技术门户
MOV FIFO_PORT,#0FFH
WWW_P※LCJS_COM-PLC-)技.术_网
MOV A,FIFO_PORT
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
SETB C1_RD
WWW_PLC※JS_COM-PmLC-技.术_网
SETB C1_EN
WWW.PLCJS.COM——可编程控制器技术门户
MOV R6,A
P.L.C.技.术.网——可编程控制器技术门户
MOV R7,#1
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
RET
WWW_P※LCJS_CO※M-PLC-技-.术_网
RFIFO_L1: MOV R7,#0
WWW_P※LCJS_CO※M-PLC-技-.术_网
RET
WWW_P※LCJS_CO※M-PLC-技-.术_网
在嵌入式PLC的STEP函数和SCAN函数中读取IDT7202的数据,每次读取两帧。数据解析后存入对应的D寄存器,这样就可以在梯形图编程中使用这些数据。有一部分数据是可写的(即允许由PLC向TSI方向传递)。对这部分数据,在PLC的外部RAM开辟一块内存作为数据副本,初始化时将D寄存器与副本置为相同值,在运行中于STEP函数和SCAN函数中监视D寄存器和副本的值是否相同,若不同则将D寄存器值向P89V51RD2发送。
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)