基于PC和STM32的物料管控系统的设计
2016-04-17刘勤
刘勤
摘 要:隨着现代工业的发展,工业4.0时代的到来,智能生产对于制造业工厂至关重要。在液晶行业,物料这一生产所必须的原材料也进入到智能化管理的时代。传统的制造业物料在设备上依靠人员手动记录、确认物料,这一方法存在很大的物料使用风险。对于在工艺设备上使用的小型物料,人员可以依靠设备的控制器模块进行物料识别和管理,而对于较大的或有危险性的物料则需要进行单独管理。本文根据工厂中大型物料的使用实际现状,提出了一种稳定、高效、低成本的物料管控系统。选用了基于ARM内核的STM32芯片设计的物料管控系统,增加了以MODBUS协议为基础的RS485通信,使上位机系统对远程的设备管控成为可能,并在原协议的基础上提出了一种新的MODBUS协议,适用于现场多参数的系统管控。
关键词:物料;上位机系统;MODBUS
1 系统整体方案与工作原理
整个系统群控14台设备,由PC上位机管控14台下位机,下位机由外部输入包括外部键盘、外部地址拨码盘和读码器输入,读码器通过RS232接口,将读取的数据传送到单片机,单片机经过内部处理将数据经由RS485接口传送到PC,PC接收后根据事先制定的规则对数据进行识别、判断,并反馈给单片机最终结果,单片机获取结果后对外部执行机构进行控制。
2 系统硬件设计
2.1 通信接口电路
核心控制器采用 STM32F103ECT6、STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的 ARM Cortex-M3 内核。外围设备有:DMA、电机控制PWM、PDR、POR、PVD、PWM、温度传感器、WDT。时钟频率72MHz,是目前32位市场上功耗最低的产品。采用标准该数据转换接口,分别是标准RS-232接口和RS485接口。
2.1.1 RS232接口
RS232采用SP3232芯片实现电平匹配,能够实现读码器获取的数据在工业环境下无损的传递,电路原理图如图1所示。
2.1.2 RS485接口
RS485采用SP3485芯片实现RS485,通过MODBUS协议和上位机实现数据、人机交互等数据和信号的传送,主要用于多个控制器之间的通信,通过拨码开关为每个控制器进行编号,最多能识别256个控制器。RS485通信采用一对一通信,先发送目的控制器的编号,其它控制器接受后与自己的编号进行比对,如相同则进行下一步操作,若不同则不予回应。
2.2 人机接口电路
系统设计的初衷是为了物料防护,同时也更有利于人员的操作使用。系统主要包含的人机接口电路有报警电路、LCD显示驱动电路、按键输入电路和设备地址代码设定电路。按键输入根据实际所需按键数目可采用独立式键盘或行列式键盘,本设计中需要通过按键实现工作模式的转换和人员工号密码的输入,实际所需按键较多,采用矩阵键盘结构。LCD显示驱动电路和其他接口均采用单片机I/O接口来实现
3 系统软件设计
3.1 协议选择
上位机和STM32微控制器之间采用RS-485通信接口连接,采用MODBUS协议完成与上位机之间通信[3]。其中,地址位:地址码表明设置的从站的地址,每个从站都必须有唯一的地址码,从站接收主站发送的数据前和主站接收从站响应回复的数据前,只有地址码符合才能接收,否则丢弃。方向位根据数据传送的方向使用代码来设定为读取或写入。功能码:当报文由主站向从站发送时,从站执行的操作根据功能码来判断。主站在收到从站的响应报文时,若主站接收到的功能码与从站之前接收的功能码相同,表明从站已响应主站请求并进行操作。在本系统中包括数据传送、人员编号传送等。数据位段为通过串口接收到的读码器数据,此部分数据为ASCII格式,采用此种方式相比传统的RTU模式而言,无需进行数据转换可以接收更多的数据,并且程序也更直观易懂。CRC校验采用每位的ASCII字符拆分为16进制后再进行相加求和取反的方式,大大提高了数据传送的准备性。
3.2 程序设计
程序设计是在STM32常用的开发工具Keil MDK中完成的,keil提供了一个完整的开发方案,其中包含了一个有着强大功能的仿真调试器和C编译器、库管理、链接器、宏汇编。程序开始时进行初始化,包括系统时钟、GPIO、串口通信、LCD显示等的初始化。
SystemInit();
GPIO_Configuration();
USART1_Init();
USART3_Init();
LCDInit();
InitSerialBuf();
delay_ms(10);
程序开始执行,执行人机交互动作,人员选择设备功能,输入密码,正确后进行设备扫码流程,然后根据已建立的数据库进行匹配,匹配成功,系统输出信号,驱动设备动作,同时将数据传送至PC,PC接收后反馈数据。
3.3 PC上位机软件设计
上位机是采用Visual Studio 2010程序开发工具,在.NET的语言环境下开发的。.NET环境提供了的串行通信SerialPort类为上位机,与STM32下位机之间的通信提供了基础。上位机提供了人机交互界面,在串口设置中可设置通信端口、波特率、数据位、停止位、校验位和设备地址。在Monitor中可以看到当前所有设备的使用状态,并且可以追溯每个物料使用的历史记录。在数据管理中人员将标准数据更新或追加后选择子站地址后,将数据下发到相应的子站中,子站接收后反馈信号给PC,PC接收到反馈信号数据更新成功,否则提示失败。
4 结论
本文设计的物料管控系统,极大降低了设备改造成本,防止人员失误,并且提供了单片机人机交互和PC人机交互的系统功能,提高了设备使用的灵活性,系统的模块化设计也具有可移植性,并且在传统MODBUS协议的基础上提出了一种新的MODBUS协议,更有利于大数据和多数据的传送和程序的可读性。
参考文献
[1] [杨本伦,等. Visual Basic开发技术大全[M]. 北京: 清华大学出版社, 2010.
[2] 汪义旺,崔鸣,祁春清.RS-485/Modbus在FFU控制系统中的应用[J].自动化仪表,2010,31(6):39-44.