kaiyun官方注册
您所在的位置: 首页> 嵌入式技术> 设计应用> 生产线工作状态监测装置设计
生产线工作状态监测装置设计
来源:微型机与应用2013年第23期
王文虎,任艳辉,杨 峰,马庆修
(湖南文理学院 电气与信息工程学院,湖南 常德 415000)
摘要:基于Cortex-M3内核的ARM芯片STM32F107构建了生产线工作状态监测终端,包括CAN通信、串口通信、实时时钟、液晶显示、工作电源等电路单元。利用CAN总线实现远程通信,控制室根据实际需要可切换RS232或RS485与PC机的通信;终端具有非挥发实时时钟,以及通过LCM提供了人机对话功能。实验表明,生产线工作状态监测终端利用CAN总线能够实现数据准确、快速地传输,可适用于各种现场数据传输的应用场合。
Abstract:
Key words :

摘 要:基于Cortex-M3内核的ARM芯片STM32F107构建了生产线工作状态监测终端,包括CAN通信、串口通信、实时时钟、液晶显示、工作电源等电路单元。利用CAN总线实现远程通信,控制室根据实际需要可切换RS232或RS485与PC机的通信;终端具有非挥发实时时钟,以及通过LCM提供了人机对话功能。实验表明,生产线工作状态监测终端利用CAN总线能够实现数据准确、快速地传输,可适用于各种现场数据传输的应用场合。
关键词:STM32F107;μC/OS-II;CAN总线;串口通信

生产流水线在正常运转时,各个工位的工作量或工作强度并不一致,当某一工位因缺料、零配件缺陷等各种原因,会导致该工位工作滞后,并需要临时请求停止运行的现象。然而,目前流水生产线大多都不具备协同与管理功能,体现在两个方面:一方面究竟是哪个工位出现了停止请求并予以实时在线指示,以确保各自工位的有序工作进程;另一方面对工位请求停止以及再开机运行的时刻进行实时管理,对管理者提供准确的生产信息以掌控生产进度。生产线工作状态监测装置,可以实时监测流水生产线的工作情形,对工位或工序请求暂停以及供电突然断电等情形进行有效统计,以协助管理者掌握各工位的工作状况,合理安排流水线生产进度,提高工作效率,提升电子信息化管理水平。
1 总体方案
生产线工作状态监测终端采用基于Cortex-M3内核的ARM芯片STM32F107为处理核心,构建了STM32基本应用电路、CAN通信电路、串口通信电路、实时时钟电路、人机接口电路、工位监测、电源电路,其结构框图如图1所示。终端分协调终端和工位终端。工位终端辐射在对应的装配流水线,实现流水线工位有效信息的采集、传输;协调终端安装在现场总线末端以及与计算机临近的控制箱内(一般在控制室),实现现场总线数据与计算机数据的交换。

CAN总线数据传输网络如图2所示,当工位状态变化或者终端掉电时,工位终端将相关信息通过CAN总线传输至协调终端[1],协调终端接收到数据后将接收到的数据传送到PC机中,协调终端与PC机的数据传输根据实际要求,可以选择RS232或者通过RS485。当上位机有数据需要发送至工位终端时,可通过串口发送至协调终端,再通过CAN总线发送至相应工位终端。考虑到工位终端的时钟与PC机时钟需要保持一致,有必要对工位终端定期刷新时钟,也就是PC机利用CAN网络定期对终端中DS1302时钟芯片重新设置。

CAN通信使用MCP2551[2-3]芯片作为CAN控制芯片,它的TXD引脚和RXD引脚产生的电平信号传输到STM32F107的CAN1_TX(PD1)引脚以及CAN1_RX(PD0)引脚。不论是发送数据还是接收数据,这两个引脚都配置为中断引脚,这样有利于微处理器对数据快速、准确地处理。
串口通信采用SP3845芯片,将计算机的电平转换成STM32F107能识别的电平,从而完成STM32F107与计算机的串口通信[4-5],应用中终端与PC机连接时尚需要接入一个RS232/RS485转换器。
实时时钟DS1302可以对秒、分、时、日、月、星期、年的计数,并能够对闰年天数自动调整,年计数可至2100年。芯片采用主电源和备份电源供电,工作时功耗很低,备用电源为可编程涓流充电,在终端掉电时可以切换至备用电池工作。DS1302与微处理器之间采用同步串行方式通信。
人机接口电路采用320×240点阵的汉字图形型液晶显示模块LM320240TFW,内置GB2312码简体中文字库(16×16点阵)、128字符(8×16点阵)、及320×240点阵显示RAM(GDRAM),可显示汉字及图形。LCM屏显示的内容有工位工作状态,以及现在正申请暂停服务的工位等。
3 软件设计
实时操作系统μC/OS-II是专为嵌入式应用设计的公开源代码的抢占式实时操作系统[6-8],它把系统软件分割成多个任务,每个任务负责完成相应工作,系统功能由多个任务协作完成,任务分配将直接影响软件编写效率和系统运行性能。软件设计建立了CAN总线通信、串口通信、人机接口等多任务,通过μC/OS-II任务调度机制,完成任务的切换、运行,系统任务分配如表1所示。

3.1 主程序
生产线工作状态监测终端的主程序流程如图4所示,主程序中执行所有外设初始化、μC/OS-II内核初始化、μC/OS-II节拍设置、多任务创建、启动多任务。其中外设初始化包括时钟频率配置、外设时钟使能、中断配置、GPIO口配置、CAN配置、串口配置、液晶屏初始化配置。创建多任务前必须先将μC/OS-II内核初始化,再进行μC/OS节拍设置。启动μC/OS-II多任务后,各任务就由实时操作系统μC/OS-II管理运行。

3.2 CAN配置程序
CAN总线配置包括GPIO口配置以及CAN寄存器设置。CAN总线用到2个GPIO口,即PD0和PD1,分别对应CAN控制芯片MCP2551的引脚名为RXD和TXD。PD0配置为上拉输入;PD1配置为复用推挽输出,同时这2个引脚重映射到CAN复用功能。CAN寄存器配置就是先对CAN主寄存器进行设置,包括失能时间触发模式、失能自动离线管理、失能自动唤醒模式、报文自动重传模式、失能接收FIFO锁定、失能FIFO优先级、设置CAN正常模式、设置CAN波特率,再对过滤器初始化设置,包括选择第0组过滤器、设置为ID屏蔽模式、设置为32位屏蔽模式、设置过滤器ID、设置过滤器屏蔽ID、选择第0组FIFO、启动过滤器。CAN初始化完成后即可CAN正常通信。
3.3 任务程序
任务划分和资源分配如表1所示,其中起始任务用于创建其他任务,完成创建其他任务之后将自身挂起。人机接口任务是对生产流水线上各工位终端的运行状态进行显示,LED指示任务用于指示当前系统是否在正常运行。串口任务实现的是微处理器与PC机的通信,只运行在协调终端中,由串口中断触发串口任务。在接收到CAN总线上有效的工位终端数据时,协调终端通过串口将该数据上传至PC机;在接收到PC机有数据,将该数据通过CAN总线传输至相应的终端。
CAN任务分为接收任务和发送任务,用于接收、发送CAN总线上的数据。协调终端接收的是工位终端发来工位状态变化信息的数据;发送任务则是在对DS1302进行时间刷新时,协调终端将PC发来的时间设置信息传送至相应的工位终端,其流程图如图5所示。人机接口任务与CAN发送任务通过标志事件组启动。

4 验证
利用STM32F107开发板组建终端网络,包含工位终端和协调终端。终端上电后,待系统完成初始化,液晶屏显示“流水线生产工位状态监测终端”“工位运行一切正常”,表明此时终端设备已完成各类外设的初始化。
系统正常运行过程中,当有工位请求暂停服务时,液晶屏上显示现在时刻所有请求暂停的工位,如图6所示。协调终端将请求暂停服务的工位信息通过串口上传至PC,上传信息主要是时间信息和状态信息,其中时间信息反映年月日时分秒,状态信息“X”和“Y”分别表示请求暂停服务和恢复服务。当终端发生掉电时,终端将有效信息写入flash,在终端恢复供电时便将上次掉电的信息发送至协调终端并上传至PC机。

针对工厂生产流水线工位工作管理状况,生产线工作状态监测终端为合理安排生产流水线工作任务、提高工作效率提供有效的依据。基于Cortex-M3内核的ARM芯片STM32F107作为系统的主控芯片,嵌入μC/OS-II实时操作系统,建立多任务,采用CAN总线技术进行生产流水线工位数据传输,并根据具体需要可采用RS232或RS485总线技术的实现终端与PC机的数据传输。实际制作表明,基于ARM技术构建的生产线工作状态监测终端应用方案可行,实现了CAN总线数据准确、快速地传输,实验测试效果达到预期目的,具有较好的市场前景。
参考文献
[1] 王文虎,李建奇,曾进辉.基于CAN总线的车桥总成数据管理系统设计[J].自动化与仪器仪表,2006(1):12-14.
[2] 周晨业,刘锦高.基于无线控制CAN总线嵌入式传感器研究与应用[J].信息技术,2011(8):180-185.
[3] 刘培国,周希伟,刘志勇.CAN总线智能检测仪的设计与实现[J].现代电子技术,2012,35(18):44-46.
[4] 张小贝,周凤星.基于嵌入式控制器和RS485的智能家居系统[J].电子测量技术,2012,35(8):62-65.
[5] 朱伟.基于RS-485网络的单片机远程系统升级功能设计[J].电子世界,2012(17):26-27.
[6] 邵贝贝.嵌入式实时操作系统UC/OS-II[M].北京:北京航空航天大学出版社,2003.
[7] 何雅琴.基于UCOS_II的智能窗系统的设计[D].上海:华东师范大学,2007.
[8] 沈勇,张海蒂,朱超.基于μC/OS-II的虚拟机模型设计与实现[J].微计算机信息,2011,27(6):99-100.

此内容为AET网站原创,未经授权禁止转载。
Baidu
map