基于单片机和Modbus协议的停车器控制系统设计
扫描二维码
随时随地手机看文章
道岔是一种常见的铁路配件,在铁路的正常运行中,起着至关重要的作用。作为道岔控制系统的执行机构,转辙机(switch machine)是组成铁路道岔系统的重要零件。在编组站中,为了减少中间环节,列车停车器借用转辙机控制系统。编组站上的列车停车器控制系统的可靠性、安全性和操作的方便性对于提高铁路系统的安全性和效率、降低人力成本具有重要意义。为了配合控制和监督集中化的趋势,应该采用集控式控制,并且通过协议实现和计算机的单主机多从机系统,最终并入主系统。Modbus是一种开放的、免费的通讯协议,具有数据的安全性、物理媒介的广泛适用性和网络互连的多样性等优势。因此,我们自行设计了一种居于单片机和Modbus协议的双机通信控制系统。采用主从模式,实现一台主机远程监视和控制多台从机。
本文重点介绍了C8051通过Modbus协议与PC机进行串口通信以及单片机数据采集的硬件电路和软件编程,且应用了基于Modbus协议的报文结构,可以更有效地通信。
1 系统结构及工作原理
系统的总体结构由两层组成:上层为数据监控层,称为主机,由显示终端PC机组成,用于控制和显示现场控制情况;下层为数据采集层,称为从机,由实现Modbus协议的单片机(Modbus协议模块)、实现控制的单片机(现场主控制模块)、输入输出模块、LCD、传感器、电源模块、复位模块和接口电路组成;Modbus协议不需要特别的接口,典型的物理接口是RS-485,而RS-485为半双工结构,现场中比全双工往往更接近于实用,在此采用只有2条信号线的简易型连接。因此两层之间通过RS232-485相连,在标准的Modbus协议下进行通信,如图1所示。
上下层的通信方式为主从方式。首先,主机广播请求帧,而每个从机都有自己独立的地址,并且请求帧的首部是从地址,所有从机将请求帧的首部和白己的地址对比。如果相同,则自己是目的从机,并且向主机发送以自己地址开头的应答帧;否则不是。
由于装置需要实现多任务。为了优化系统功能,采用了双单片机的系统结构设计方法。其中一个单片机模块负责实时采集现场信息和控制现场系统;另一个单片机模块负责数据处理并做相应的封装,通过Modbus协议和PC机通信,如图2所示。
2 硬件设计
因为主机就是PC机,所以这里的硬件设计就是从机的硬件设计。
(1)控制和通信模块(见图3)
控制和通信模块有现场主控制模块和Modbus协议模块组成,现场主控制模块是为了实现本地实时采集信息和控制输出。Modbus协议模块是为了实现更加安全有效地和PC机通信。
现场主控制模块仅有一片单片机组成,分两个方向:控制采集方向和通信方向。控制采集方向也按控制和采集分为输出和输入两部分,实现根据输入的采集信息,实时输出相应的控制信息。通信方向通过主从机通信方式与Modbus协议模块进行通信。
Modbus协议模块只有一片单片机和RSM-485系列隔离收发模块组成,也分两个方向:现场主控制通信方向和PC机通信方向。现场主控制通信方向通过主从机通信方式与现场主控制模块进行通信。PC机通信方向通过RSM485和PC通信,详情是单片机输出的TTL逻辑电平通过RSM485系列隔离收发模块转换为RS-485电平,经过RS-485跟PC机进行通信。有图3可知,当P0.6输出高电平时,CON使能,单片机一侧接收数据;当P0.6输出低电平时,单片机一侧发送数据。
[注]:计算机上一般都没有RS-485接口(有些专业应用的工控机上有RS-485接口),一般来说电脑要具备RS-485的连接功能的话,可以有三个方法实现:1,使用ISA、PCI转RS-485的转接卡,直接像显卡、声卡一样插在插槽里,转出一个RS-485串口。2,使用RS-232转RS-485的转换器,将电脑的RS-232串口转为RS-485串口。3,使用USB转RS-485的转换器,也可以转接出RS-485串口。
(2)其他模块
外部电源提供直流24V输入,通过DC-DC电源模块AV10-24S05,输出直流3.3V。输入端发光二极管PWR24V的作用是指示24V直流电源是否正确输入。输出端发光二极管PWRVDD的作用是指示3.3V直流电源是否正确输出,如图4所示。
2 硬件设计
因为主机就是PC机,所以这里的硬件设计就是从机的硬件设计。
(1)控制和通信模块(见图3)
控制和通信模块有现场主控制模块和Modbus协议模块组成,现场主控制模块是为了实现本地实时采集信息和控制输出。Modbus协议模块是为了实现更加安全有效地和PC机通信。
现场主控制模块仅有一片单片机组成,分两个方向:控制采集方向和通信方向。控制采集方向也按控制和采集分为输出和输入两部分,实现根据输入的采集信息,实时输出相应的控制信息。通信方向通过主从机通信方式与Modbus协议模块进行通信。
Modbus协议模块只有一片单片机和RSM-485系列隔离收发模块组成,也分两个方向:现场主控制通信方向和PC机通信方向。现场主控制通信方向通过主从机通信方式与现场主控制模块进行通信。PC机通信方向通过RSM485和PC通信,详情是单片机输出的TTL逻辑电平通过RSM485系列隔离收发模块转换为RS-485电平,经过RS-485跟PC机进行通信。有图3可知,当P0.6输出高电平时,CON使能,单片机一侧接收数据;当P0.6输出低电平时,单片机一侧发送数据。
[注]:计算机上一般都没有RS-485接口(有些专业应用的工控机上有RS-485接口),一般来说电脑要具备RS-485的连接功能的话,可以有三个方法实现:1,使用ISA、PCI转RS-485的转接卡,直接像显卡、声卡一样插在插槽里,转出一个RS-485串口。2,使用RS-232转RS-485的转换器,将电脑的RS-232串口转为RS-485串口。3,使用USB转RS-485的转换器,也可以转接出RS-485串口。
(2)其他模块
外部电源提供直流24V输入,通过DC-DC电源模块AV10-24S05,输出直流3.3V。输入端发光二极管PWR24V的作用是指示24V直流电源是否正确输入。输出端发光二极管PWRVDD的作用是指示3.3V直流电源是否正确输出,如图4所示。
通过输入模块,位置传感器将转辙机的行程信号输入到控制单片机中。先经过滤波以减小干扰,然后经过光电隔离以保护主控电路,最后通过输入到单片机端口上,通过发光二极管显示输入的电平高低情况,如图5所示。
现场主控制模块单片机输出的TTL逻辑电平通过光电隔离后,经过三极管放大的输出,经过接24 V电源的上拉电阻和显示用的发光二极管,输出电压以控制继电器,选择正反两个连线方案,进而实现对转辙机电动机的控制,实现前进、后退和停止,如图6所示。
3 软件设计
(1)主机程序
主机程序流程图如图7所示。系统的初始化包括打开串口和设置串口。程序先检测是否有按键按下,如果有按键按下,则根据按键封装相应的数据并发送,否则继续检测是否有按键按下。然后检测串口是否收到来自从机的数据,如果有收到数据,则解析该数据并做相关处理,显示出来,然后继续检测是否有按键按下,否则继续检测串口是否有收到数据。
(2)从机程序
从机程序流程图如图8所示。系统的初始化包括打开串口和设置串口。程序先检测串口是否收到来自主机的控制数据,此时也包括检查数据是否发送给本机,如果有收到数据则解析该数据,并对电机做出相应的控制;否则继续检测串口是否有数据。然后封装并发送现场采集的信息,之后继续检测串口是否有数据。
4 结束语
此系统整体成本相对较低安全性、可靠性和实用性较高,实现集中化监视和实时控制现场系统,节约成本,而且根据需要,可以在预留的端口上接入相关设备并增加相应程序便可并入主系统,比如增加视频采集设备和相关程序,便可以更方便地查看停车器现场的实时情况。