关键词:个人计算机 集散系统 RS485 数据采集模块 变频器
1. 引言
为数众多的中小企业,在我国的国民经济中占有重要地位,这些企业大多设备陈旧,技术落后,急需技术改造。利用现代电子信息技术改造传统产业,是我国的一项基本产业政策,也是这类企业生存、发展、提高竞争力的迫切需要;但是现代集散系统的高昂成本,阻碍了在这类企业的应用。随着现代电子信息技术的发展,各类电子设备特别是电子计算机的价格不断下降,而综合性能却不断提高,这就为低成本集散系统的开发提供了条件,在此基础上,我们成功开发出一种适合中小企业的集散系统,在完全满足性能要求的前提下,实现了低成本。
2.系统构成
中小企业集散系统一般规模较小,现场控制量不多。控制的变量主要有:开关量的输入输出,模拟量的数据采集,交流电机的起停、转速控制等。根据上述特点,考虑与现代企业信息系统集成能力,我们按二级结构设计集散系统。
2.1 过程控制级:
采用通用微型计算机,内置工业以太网卡,通过工业以太网与企业信息管理系统、基础控制计算机进行通信,完成系统监控功能。
2.2 基础控制级:
基础控制计算机也采用通用型微型计算机,内置工业以太网卡,通过工业以太网实现和上位机的通讯。同时在其标准的RS-232串行通讯接口上,装设5V电源的光电隔离RS232/RS485转换器,构成了一个RS485总线系统。RS485采用平衡发送接受方式,具有传输距离长,抗干扰能力强和多站功能。4017是远端数据采集模块,用于模拟量数据采集;4050是远端控制模块,用于开关量输入输出;变频器为富士FRN7.5G11S型,用于交流电机的控制。在基础控制级中,由基础控制计算机作为主站,模块和变频器作为从站,组成了一个基于RS485通讯协议的主/从式网络。
3. 系统软件设计
3. 1 软件的选择
一般情况下,大型集散系统都是采用工控组态软件如FIX,RSVIEW等制作上位机画面,而用梯形图语言实现PLC的编程。这种方案成本较高,所以现在小型集散控制系统中,趋向采用通用的高级语言设计工程软件,如用VB,VC++,DELPHI等编制监控画面。在这个方案中,我们采用VB编制上位机监控程序和基础控制计算机控制程序,由于一般工程技术人员都能熟练掌握VB编程技术,这就避免了从头开始培训使用专业的组态软件和PLC编程软件,缩短了系统开发周期,也节省了购买大型组态软件的费用。利用VB高级语言的强大功能可以很容易地实现数据库管理,使监控和管理溶为一体,这也是一般的工控组态软件所不能达到的。
3.2 基础控制计算机与485接口设备通讯的实现
基础控制计算机与远端数据采集控制模块、变频器、其它485接口设备通过RS485总线构成了一个主从式的通讯网络,基础控制计算机作为主站,向远端数据采集控制模块和变频器发出控制指令,而模块和变频器作为从站,收到控制指令后,执行指令并向主站发出回应信号,模块、变频器及其它485接口设备统一编址,都是具有不同站号的从站,主站轮流向每个从站发出控制信号,并接受不同的从站的返回信号,从而对每一个从站进行控制,并采集数据。从站和从站之间不能通讯。计算机、模块、变频器及其它485接口设备的通讯端口统一设置为:波特率 9600,偶校验,数据位8位,停止位1位。
3.2.1 4017与基础控制计算机之间的通讯协议
向4017发出的报文(指令)结构如下:
# 是单字节ASCII # 字符(值为23H),表示要求读取模拟量输入值;
ADR 是两字节ASCII码,表示模块地址;
CR 是单字节ASCII CR字符(值为0DH),表示报文结束。
4017返回的报文如下:
DATA0-DATA7都是七字节ASCII码,表示0-7通道模拟量值,包含一位符号位,一位小数位,五个数字位。4017模拟量通道定义为±5 V。
CR 是单字节ASCII CR字符(值为0DH),表示报文结束。
3.2.2 4050与基础控制计算机之间的通讯协议
向4050发出的报文结构如下:
# 是单字节ASCII #字符(值为23H),表示要求改变模块输出状态;
ADR 是两字节ASCII码,表示模块地址;
NUL是两字节ASCII NUL字符,(值为00H),表示改变全部8位状态;
DATA是单字节区域,表示8位输出状态;
CR 是单字节ASCII CR字符(值为0DH),表示报文结束。
此时4050返回的报文如下:
>是单字节ASCII > 字符(值为3EH),表示模块已接受命令;
CR 是单字节ASCII CR字符(值为0DH),表示报文结束。
3.2.3 变频器及其它485接口设备与基础控制计算机之间的通讯协议.
FRN7.5G11S型变频器是富士公司的5000系列变频器中的一种,该系列变频器功能十分强大,可以通过多种方式对电机进行控制,可以通过前面板上的按键进行本地控制,也可以通过开关量端子进行控制,还可以通过RS485端口进行远程控制。
在实现计算机与变频器通讯之前,必须首先设置变频器的相关参数,根据实际需要,所设参数如下:
H30:RS485连接功能。此参数为3时,从RS485口输入的频率设定和运行命令有效。
H31:用来设定变频器的站地址。
H34:传送速度,此参数为2时,为9600BIT/S。
H35:数据长度,此参数为0时,为8位。
H36:奇偶效验,此参数为1时,为偶效验。
H37:停止位,此参数为1时,为1位停止位。
由于本系列变频器功能十分强大,向变频器发送的命令种类很多,报文也有多种格式,在此只列一种。
变频器启动,停止,报文格式如下:
SOH是单字节ASCII SOH字符,(值为01H),用来表示报文的开始。
ADR是双字节区域,它包含了从站变频器的地址。
ENQ是单字节区域,表示主站发出命令.
f是单字节ASCII f字符,控制变频器运行命令。
DATA是四字节区域,"0000"表示停止,"0001"表示正转,"0002"表示反转。
EXT是单字节ASCII EXT字符,(值为03H),用来表示报文的结束。
BCC是双字节区域,用做报文效验,它的值是报文中从LGE 到HSW所有字节之和的后两位,若变频器收到带有错误结果的报文,它将放弃此报文并拒绝应答。
其它485接口设备包括积算仪表、冲板流量计等,都带有类似协议。
3.2.4 基础控制计算机通讯软件的设计
MSComm控件是Microsoft 公司提供的ActiveX控件,它实现了从微机串口读数据和向微机写数据,通过改变其属性,编写相应的程序代码,我们能够比较方便地编出基础控制计算机的通讯软件。MSComm控件的主要属性如下:
Commport :设置并返回通讯端口号,设置为1,即选择串口1。
Settings:设置并返回波特率,奇偶效验位,数据位,停止位。统一设置为"9600,8,e,1" .
Portopen:设置并返回通讯端口状态,用来打开或关闭端口。
Input:从通讯控件的缓冲区获取数据,运行时为只读。
Output:向传输缓冲区写数据,此数据可以时文本格式或二进制格式,运行时为只读。
InBufferCount:返回接受缓冲区的字符数,将其属性设置为0用来清接受缓冲区。
Inputmode:设置或返回Input属性取回的数据类型。置0为文本格式,置1为二进制格式。
以控制变频器为例,变频器地址为6时启动电机程序如下:
Dim X (7) as String
MSComm. Settings="9600,e,8,1"
MSComm. InBufferCount=0
MSComm .Inputmode= comInputmodeBinary
X(0)= CHR$(01H):X(1)="06":X(2)=CHR$(05H):X(3)="f":X(4)="0001":X(5)= CHR$(03H)
X(6)="92"
X=X(0)+X(1)+X(2)+X(3)+X(4)+X(5)+X(6)
MSComm. Output=X
3.3 监控软件设计
监控软件采用 VB编程语言编程。相对于其它高级语言,利用VB的图象控件能够比较容易地编制出美观的监控画面,利用WinSock实现Socke套接字完成局域网内的通讯,利用VB的数据库功能实现历史数据的存储、报表打印,从而实现了监控功能。
4. 实际应用案例
河北迁安沙滦水泥厂一条生料配料生产线,两条熟料配料生产线采用了该项技术,对每条生产线的七至八种物料进行配比控制。由DCS输出开关量控制电振机将物料放入秤斗,输入模拟量检测重量,输出开关量控制开关门电机将物料放出秤斗,从而控制每种物料达到工艺要求的流量和配比,并且集中监控各生产线的生产状况。如果采用一般集散系统控制,设备费用约二十万元左右,而采用该系统仅需要六、七万元。实际运行表明,该方案满足用户要求,并能长期稳定运行。
5. 结束语
在小型的控制系统应用中,如果采用一些流行的过程控制网络,那么在通讯,模拟量处理等方面,投资很大。本方案充分利用了计算机,变频器本身的资源和通用的软件技术,达到了降低成本的目的。在具有同样性能的前提下,投资只有流行方案的35%~50%,目前已有二十余套系统成功地应用于企业生产过程中。