APP下载

基于单片机的开关量输入输出系统设计

2022-07-07王正宇

锦州医科大学报 2022年4期
关键词:上位机数据采集单片机

王正宇

【摘要】论文以STM32单片机为开关量输入输出系统设计的核心,设计了一种采用工业以太网通信和RS485通信接口技术的多路开关量控制主机板,以太网芯片采用WIZnet公司生产的W5500芯片,主从机通过485进行数据交互,主机起到了上位机与各个从机数据交互的桥梁作用:上位机与主机通过工业以太网的形式进行数据交互,主机与各个从机的数据交互通过RS485通信方式实现。上位机能够显示从机采集到的输入信号,分配相应的开关量输出信号给各个从机。

【关键词】单片机;开关量;数据采集;上位机

【中图分类号】G644.5 【文献标识码】A 【文章编号】2026-5328(2022)04--02

1  引言

多路开关量输入输出系统以总线通信方式提供来自工业现场的真实可靠数据,这样不仅可以提高设备的安全运行水平,也能提高维护人员的工作效率,降低生产成本。论文设计的开关量输入输出系统具有网络化、系统化和开放式等特点。针对开关量控制问题,该系统在工业领域具有良好的应用前景。

2  開关量输入输出系统的硬件设计

2.1  系统总体方案

在系统设计中,上位机与主机通过工业以太网的形式进行数据交互,主机与各个从机的数据交互通过RS485通信方式实现,上位机需要显示出从机采集到的输入信号,并分配相应的开关量输出信号给各个从机。系统整体设计方案如图1所示。

2.2   系统硬件模块设计

本次设计以STM32单片机为开关量输入输出系统的设计核心,系统的硬件架构如图2所示[1,2]。

电源模块供电电压为3.3V,但是市场上某些电池的电压不能够满足系统所需供电要求,故考虑选择XL2596降压型直流电源变换器芯片,设计降压稳压电路给整个电路提供合适的电压。XL25963A电流输出降压开关型集成稳压电路由基准稳压器(1.23V)、固定频率振荡器(150KHz)以及有效的保护电路等组成,保护电路中设有限流、热关断电路等。电源电路的设计如图3所示。

485电路采用MAX485芯片作为RS485通信电路的低功率收发器,主要构成只有两部分:一个驱动器和一个收发器。目前,网络接口电路以传输差分信号传输为主。依靠隔离变压器隔离电压,来配合外部网络与物理网卡直接的连接。这样做的好处有:可以消除可能在网络线上存在的共模信号,也能够大大提升网络上数据传输的安全性,也确保了网卡不会被损坏,即使外部网络产生了线路不能承受的电压,可以通过网络变压器将开关量输入输出信号连接到网络接口,大部分网络接口都是RJ45,考虑到输入输出信号采集的准确性,使用自带网络滤波功能的HY951180A[3,4]。具体网络接口电路如下图4所示:

3  系统的软件设计

本设计主要采用以STM32系列单片机为核心的主机板,通过W5500和RS485接口进行通信,完成现场从机与主机,主机与上位机的数据采集。上位机采用工业以太网的形式和主机进行数据交互。主机作为“中间商”,能够让上位机与现场的各个从机进行数据交互,上位机得到现场从机的输入信号通过主机转换为输出信号。通过VS设计的上位机界面能够更好的实现该功能。图5为程序整体运行框图。

3.1  上位机界面设计

上位机界面的软件开发平台是VS 2008,设计了一个简易的操作界面,包括连接端口、设备IP地址、端口号连接状态和数据操作。连接状态用来判断系统是否正常连接,因为初步设计为八路开关量,所以数据操作部分输入输出的值域0-255,即输入输出读取的值得范围。上位机界面I/O数据采集如图6所示:

3.2  主机与从机的数据通信设计

主机初始化485:主机发出控制信号给第一个从机,从机1初始化485,并通过485发出从机1的设备类型0x181(假设从机1为输入模块,设备类型为0x181)到485总线上,主机接收到第一个从机的设备类型信号后,给第一个从机分配从机地址0x141,即主机通过485发出0x141的数据到485总线上,因为这时从机中只有从机1初始化了485,所以只有从机1可以接收到0x141的信息,从机1接收到该信息并保存下来,并把0x141当作自己的地址信息。后面主机发送信息都是“地址+命令”的格式发送,从机1在后面接收信息时需要先判断地址信息是不是0x141,如果是则从机1正常执行后面的命令,如果不是则不执行该命令,到此从机1的初始化完成;从机1发送控制输出信号给第二个从机,直到全部从机分配地址完成[5]。

从机地址设置好后,主机给从机1发送读取从机输入状态的命令即“地址+读取命令”,从机1接收到命令后把自己的输入状态反馈给主机,信息格式为“自己的地址+IO状态信息”,主机接到该信息后把从机1的状态信息放到一个数据缓冲区,供上位机读取;主机再给从机2发送命令“地址+输出命令”,从机2接到该信息后立刻反馈自己的状态格式为“自己的地址+从机状态”,然后再去执行主机发送来的输出命令。主机与从机数据交互过程如图7所示:

3.3  主机与上位机的数据通信设计

上位机和主机过MODBUS/TCP协议进行数据通信MODBUS/TCP协议具体运行过程如下:用户客户端先发出所需要执行命令,请求服务器发送数据传输,服务器端口接到了来自客户端的请求命令,MODBUS服务器端开始响应来自MODBUS客户端发来的指令,准备施行数据的传输,最后客户端确认收到来自MODBUS服务器端的数据。

4  总结

论文所设计的开关量输入输出系统以单片机核心,加上通信模块和外围电路形成了一个有机的整体。调试结果证明该系统实现了预期的各项功能,能够在工业现场投入使用,且运行较为可靠,尤其在工控行业具有一定的应用前景。

参考文献:

梅丽凤等. 单片机原理及其接口技术[M]. 北京:清华大学出版社,2008

傅扬烈. 单片机原理与应用教程[M].北京:电子工业出版社,2002

周立功,夏宇闻. 单片机与CPLD综合应用技术[M]. 北京:北京航空航天大学出版社,2003

林立,张俊亮.单片机原理及应用[M].北京:电子工业出版社,2014,8,26-27.

Simon Haykin,Machael Moher,郑宝玉.现代无线通信[M].北京:电子工业出版社, 2006.

猜你喜欢

上位机数据采集单片机
论网络通信技术
基于云的短波发射机机房中央空调自动控制系统的设计与实现
基于广播模式的数据实时采集与处理系统
通用Web表单数据采集系统的设计与实现
基于开源系统的综合业务数据采集系统的开发研究
C8051F020与80C51单片机的异同点
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器