新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于CAN总线的烧结配料监控系统设计

基于CAN总线的烧结配料监控系统设计

作者:时间:2016-09-12来源:网络收藏

1 引言

本文引用地址:http://www.eepw.com.cn/article/201609/303487.htm

烧结厂配料系统是整个烧结生产的源头,配料过程中对现场采集的数据进行有效的收集与传输直接影响着烧结生产的产量和质量,影响企业的劳动生产率和经济效益,而现场环境有大量的变频器和电机设备并且布线与通信总线比较接近,这些设备在运行时会产生比较大的噪声作用于周边的信号线上,引起设备的误动作[1],严重影响了对现场信号传输的实时性、精确性。

本文针对烧结混合配料系统的以上问题,设计开发了一套基于CAN总线的。CAN总线通信与其他总线相比信号传输的快速实时性更高、抗干扰更强、可靠性更高,组网灵活从而保证配料精度和稳定性。

2 整体概述

2.1 整体概述

系统由1个PC机,1个主控制器和16个配料控制器组成。它们之间采用CAN总线连接如图1所示。主控制器的主要作用对所有配料控制器进行全局的调动,如控制配料控制器的顺启,顺停和急停。配料控制器的主要作用是采集皮带秤的重量信号和给料装置的速度信号,通过PID运算得出相应输出频率信号到变频器,再由变频器去调节给料装置电机的转速,从而使得物料的流量保持在设定的范围内。由于电子秤配料现场环境复杂,基本的PID很难达到控制要求,如采用一般的PID算法,在开始配料或停止配料的瞬间和大幅度增加给定值时,由于偏差较大,在积分项的作用下,将会产生很大的超调,因此根据具体情况在基本 PID控制的基础上进行局部改进,采用积分分离PID控制算法。PC机通过监控画面的运行,主要负责各个配料控制器的参数设定、实时流量和累计流量显示、运行状态显示以及实时、历史数据查询等,并通过CAN总线与主控制器及各个配料控制器连接实现协同工作,完成对烧结配料的自动控制。

1.jpg

2.2 控制器设计

主控制器和16个配料控制器均选用意法半导体公司的STM32系列高性能32位处理器STM32F103ZET6,配料控制器使用STM32的ADC、 DMA外设采集速度传感器的速度信号和重量传感器的重量信号,使用DAC、DMA和TIM等外设控制输出0~3.3V电压,然后输入到变频器的模拟量输入端子,0~3.3V电压对应于变频器输出的0~50Hz,最终实现不同的电机转速,即皮带传送速度的调节。主控制器主要使用CAN外设和配料控制器和上位机进行通信进行全局的调动。

3通信协议设计

CAN(Controller Area Network)是一种有效支持分布式控制或实时控制的串行通信网络[2],CAN总线与其他总线相比技术优势明显,与RS485总线对比分析如下:

3.1 SAE J1939通信协议

本系统通信协议的定制是参照SAE J1939-21协议标准制定的,该标准采用CAN2.0B帧格式,即扩展帧格式包含29位标识符[3]。

3.2 协议制定

PC机处理的信息主要有接收并显示各个配料控制器的流量值及状态信息,配料控制器的参数设置信息等;主控制器处理的信息是控制各个配料控制器顺启、顺停和急停等信息;配料控制器处理的信息有给定流量信息,实时流量信息、当前状态信息及PC机下设参数信息等。配料控制器发送的信息协议制定如表1所示(下表仅为整个协议的一部)。

4 设计

监控系统软件采用Labview开发,硬件部分包括PC机和周立功的USBCAN模块,Virtual CAN Interface (VCI)函数库是专门为USBCAN设备在PC上使用而提供的应用程序接口[4]。函数库中共定义了5个数据结构用于数据交换。另外,函数库里共有用户函数14个,函数名称参看图5。库里的函数从ControlCAN.dll中导出,在 LabVIEW8.5中直接使用这些库函数编写上位机程序。VCI 函数的使用流程如图2所示。

2.jpg

4.1 VCI库函数的调用

库里的函数已经在VCI函数库中进行了声明,并且给出了函数名称及其参数,因此在调用函数时可以通过Labview中的Calling Library Function Node进行调用,如图3所示。在“函数名”下拉列表框中选择函数,在“参数”选项卡中添加相应的参数,单击“确定”按钮,即可完成不同函数的调用。

1.jpg

4.2 数据结构的建立

在使用V CI函数时要用到库中的5个数据结构进行数据交换。创建这些结构要使用Labview中的“簇”。一个簇就是一个由若干不同的数据类型成员组成的集合体。例如建立VCI_ERR_INFO数据结构,如图4,该数据结构用于装载VCI库运行时产生的错误信息。

2.jpg

4.3 USBCAN模块的控制及程序框图

程序框图当中有3个主要的While循环:主循环、发送数据循环和接收数据循环。如图5所示。这三个循环是并行运行的。其中,主循环处理与用户交互的界面,并通过用户事TREvent 与发送数据循环和接收数据循环通信。发送数据采取手动方式, 当设定按钮按下时, 配料控制器给定的流量,PID参数,控制器选中和开启等信息,将通过 VCI_TransmitObj 函数发送给STM32。接收端采用循环扫描的方式接收STM32发送过来的数据, 该数据包括配料控制器实时流量,累计流量,当前工作状态,主控制器工作状态等信息。

3.jpg

图5 控制程序框图

4.4 CAN报文的数据处理及程序框图


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭