(无锡技师学院,江苏无锡 214000)
温度是与人类生产、生活密切相关的一个物理量,因此对温度的测量及控制也就非常有意义。如空调系统的温度检测,电力、通讯设备之过热故障预知检测等领域。本设计充分发挥了PLC、单片机、触摸屏的优势,解决了PLC与单片机多机之间通信数据处理的难题。能有效克服恶劣的工业环境,保证温度监控系统的可靠稳定运行,实现温度数据的实时采集显示与预警提醒,使多点温度监控系统得到了大大优化。
该系统硬件上主要由可编程逻辑控制器、单片机、触摸屏、温度测量模块等构成,如图1所示。其中主机PLC与从机单片机之间通过Modbus协议进行数据通信,从机单片机温度采集系统可根据实际需要进行扩展,理论上最多可扩展247个从站。PLC与HMI之间是以太网通信方式,单片机与DS18B20之间是单总线通信方式。
图1 系统硬件结构框图Fig.1 System hardware structure block diagram
用于温度采集控制系统的核心是单时钟的STC15F2K 60S2单片机,它属于高速、高可靠、低功耗、超强抗干扰的增强型51单片机,指令代码完全兼容传统51单片机,但速度快8~12倍。采用数字式温度传感器DS18B20组成多点分布式温度测量系统,具有测量温度范围宽、分辨率高、转换速度快等优点,且独特的接口方式与单片机连接时仅需要一根线即可实现双向通信[1],单片机与DS18B20连接的电路原理图如图2所示,基于单片机和DS18B20的温度测量程序设计流程图如图3 所示。
图2 单片机与DS18B20 连接的电路原理图Fig.2 Schematic diagram of the circuit connecting the single-chip microcomputer and DS18B20
图3 温度测量程序流程图Fig.3 Flow chart of temperature measurement program
Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信,它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控[2]。
为了实现单片机与PLC之间的数据正常传输,并确保数据在传输过程中的准确和稳定性,硬件上采用RS485转TTL电平互转模块,如图4所示,工作温度为-40℃至+85℃,传输距离可达千米,解决了单片机的串口与PLC的RS485接口之间电平匹配问题。
图4 RS485 转TTL 电平互转模块Fig.4 RS485 to TTL level conversion module
本次设计软件上开发完成Modbus RTU通信协议的程序代码,实现了读取、预置寄存器(功能码03,16)的功能。程序中定义各单片机为从机工作模式,并且配置为不同的从站地址,单片机与单片机从站之间不可以通信。主机PLC端读取(功能码03)从机单片机端3组温度数据的寄存器地址映射图如图5 所示。
图5 PLC 与单片机端寄存器的地址映射图Fig.5 Address mapping diagram between PLC and MCUside registers
单片机端Modbus RTU通信协议的部分程序代码如图6所示。
图6 Modbus RTU 通信协部分程序代码Fig.6 Modbus RTU communication protocol part of the program code
PLC控制系统核心选用的是CPU ST20,是一款高性价比小型PLC。由于PLC综合了计算机和自动化技术,可以综合完成逻辑、定时、计数、数字运算等功能。利用硬件上自带的一个RS485接口,软件上通过编程调用Modbus RTU库功能[3],可以方便快捷地通过RS485接口与外围设备建立Modbus RTU通信。控制程序设计中将PLC配置为主站,主要完成对各个从站单片机测温数据的采集和高低温报警监控功能,PLC控制功能流程图如图7所示。程序调试中CPU ST20成功读取STC15F2K60S2端数据的运行结果如图8所示。
图7 PLC 控制系统流程图Fig.7 PLC control system flow chart
图8 PLC 端读取数据运行结果图Fig.8 The results of reading data from the PLC
SMART 700IE支持与CPU ST20之间进行以太网的通信,为便于人机交互,在触摸屏界面上组态有三组温度数据显示窗口,组态变量表如图9 所示。根据现场工作环境温度需要可手动设置高、低温的阈值,屏幕上通过不同颜色的指示灯监控每一组温度值的状态。
图9 触摸屏组态的变量表Fig.9 Variable table of touch screen configuration
例如在触摸屏上设置报警上限温度为30℃,下限温度为10℃。即当从站采集到的温度值高于10℃且低于30℃时,触摸屏上的绿灯指示灯常亮,表示环境温度正常。而当从站采集到的温度值超过30℃或低于10℃时,触摸屏上的高、低报警指示灯就会闪亮发出报警信号。系统仿真运行如图10所示。
图10 基于PLC 对单片机实现多点温度监控系统仿真运行图Fig.10 Simulation operation diagram of multi-point temperature monitoring system based on PLC for single-chipmicrocomputer
本系统主要由PLC系统上位机和单片机系统下位机两大部分组成,结合了Modbus RTU通信技术,增强了数据传输的稳定可靠性。使用HMI组态界面灵活,易于升级满足用户个性化的需求。系统测温准确度高、可扩展性强,稍加改进即可推广应用于现代农业大棚、生产车间和储物仓库等环境的多点温度监控中,具有广阔的应用前景和推广价值。