当前位置:首页 期刊杂志

船用多缸油泵试验台的串口服务器

时间:2024-07-28

章信华 嵇建波 庞前娟

摘要:为了解决船用多缸油泵试验台能同时使用4个称重模块的问题,设计了一种串口服务器。该串口服务器以STM32芯片做为主控芯片,左边连接PLC,右边连接4个称重模块,起到通信中介的作用;对整个设计的几个关键点进行了详细介绍,包括整体框架、硬件设计和软件通信报文设计等;该模块的硬件设计成本低,自定义的软件通信报文简单,最后对模块进行实物制作,并进行了测试。测试结果表明,所设计的串口服务器,能够同时返回4个称重模块测量的重量值,并能够稳定运行。

关键词:船用多缸油泵试验台;串口服务器;称重模块

中图分类号:TP368.5 文献标志码:A 文章编号:1009—9492f2021)03—0139—03

0引言

喷油泵好比柴油机的心脏,其性能的好坏直接影响到柴油机的工作性能。为了提高测试效率,需要设计可以同时测试多个喷油泵的试验台,该试验台需要多个具有RS-232串口的称重模块。现有的多缸油泵试验台都是直接在试验台的控制器PLC上连接称重模块,但PLC最多可以挂载3个RS-232串口模块,且每个串口模块的价格高昂,单个模块超过上千元,3个模块总计3千多元,故这种方案的经济性和扩展性都是不可取的。为了解决该问题,本文提出了一种新的解决方案,该解决方案的目标是使船用多缸油泵试验台能同时使用4个称重模块,且要求成本低廉。本文设计了一种串口服务器,该串口服务器拥有5个RS-232串口接口,左边1个接口和PLC连接,右边4个接口分别和4个称重模块连接,起到了一个通信中介的作用,其接收PLC发送的报文,并转发给4个称重模块;同时也接收4个称重模块发送的报文,经过处理后,再转发给PLC,相当于是PLC和4个称重模块的通信中枢。此外该串口服务器主要由STM32芯片外加几个电平转换芯片构成,其结构简单,成本较低,硬件成本只需20元左右,满足了经济性的要求。串口虽然是一种很常用的通信端口,但通过查阅大量的国内外文献发现,在船用多缸油泵试验台中从未使用过串口服务器,本文是首次使用。

1整体框架

在整个试验台中,串口服务器的左边通过1根RS-232串口线接西门子S1200型PLC模块,右边通过4根串口线,分别和4个梅特勒一托利多WKE2002型称重模块相连,串口服务器起到中介的作用。整个串口服务器的整体框架如图1所示,从图中可以看出,需要5个串口即可满足4缸油泵试验台的需求。

2硬件设计

通过上文分析可知,该串口服务器在硬件上只需要5个RS-232串口即可满足要求。为了满足这个要求,最重要的是选择合适的主控芯片。

2.1主控芯片

经过选型,主控芯片采用STM32F103RCT6芯片,该芯片基于Cortex-M3的内核,Cortex-M3是一个32位处理器内核,采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行。该芯片内置了3个通用同步,异步收发器(USART1、USART2和USART3),和2個通用异步收发器(UART4和UART5)。这5个串口都可以提供异步通信、支持IrDA SIR ENDEC传输编解码、多处理器通信模式、单线半双工通信模式和LIN主/从功能。USART1接口通信速率可达4.5MB/s,其他接口的通信速率可达2.25 MB/s。图2所示为该芯片的所有硬件资源,图中标出了该芯片含有5个通用异步收发器,即提供5个RS-232串口,可以同时连接一个PLC和4个称重模块,用于4缸油泵试验台。

2.2电平转换

由于STM32F103RCT6芯片的电平是TTL电平,而RS-232串口通信的电平是RS-232电平,无法直接连接,故需要进行电平转换。本文采用的是MAX232芯片,MAX232芯片是美信(MAXIM)公司专为RS-232标准串口设计的单电源电平转换芯片,使用+5V单电源供电,符合所有的RS-232C技术标准,只需要单一+5V电源供电,片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压,功耗低,典型供电电流5mA,内部集成2个RS-232C驱动器,高集成度,片外最低只需4个电容即可工作,内部集成2个RS-232C接收器,由于需要5个串口,故只需要3个MAX232芯片。图3所示为该芯片的硬件结构。

2.3连接端子

为了方便PLC、串口服务器、称重模块串口之间的连接,在串口服务器上使用了DB9型端子,DB9型端子可以保证这些模块在相互连接的时候,既方便又可靠,是一种使用非常频繁的接头。由于一共有5个串口,故一共需要5个DB9型端子。图4所示为DB9端子的实物图。

3软件设计

根据梅特勒一托利多WKE2002型称重模块的使用说明书,要想该模块进行称重,只需要2条指令,分别是“置零指令”和“称重指令”。

(1)“置零指令”:当称重模块接收到“置零指令”后,将开始进行置零,如果置零成功,将返回“置零成功”指令,否则将返回“置零失败”指令。

(2)“称重指令”:称重模块被成功置零后,如果收到“称重指令”,称重模块将以100 ms的时间间隔,周期性向外发出当前所称得的质量的报文。

3.1置零指令

梅特勒一托利多WKE2002型称重模块的“置零指令”是“ZI”,PLC通过串口服务器向各个称重模块发送“置零指令”,串口服务器接收后,依次转发给各个称重模块;串口服务器是使用串口1接收该指令,之后将该指令依次通过串口2,3/4/5发送给4个称重模块。

3.2置零返回指令

各个称重模块收到“置零指令”后,将开始进行置零;如果置零成功,将返回“置零成功”指令,否则将返回“置零失败”指令。梅特勒一托利多WKE2002型称重模块的“置零成功“指令”是“ZIS”,“置零失败”指令是“ZIF”,串口服务器使用串口2/3/4/5分别接收4个称重模块返回的指令,并将4个称重模块的置零状态打包在一帧报文中,发送给PLC,PLC将获取4个称重模块的置零状态。具体的报文格式如表1所示。

报文中的第1个字节是固定的,使用0xAA开头;第2个字节表示报文类型,使用0x01表示;每缸的置零状态都使用1个字节表示,如果置零成功,则使用0x00表示,如果置零失败,则使用0x01表示;故该报文一共占用了6个字节。

3.3称重指令

梅特勒一托利多WKE2002型称重模块的“立即称重”指令”是“SI”。串口服務器收到每个称重模块的“置零返回”指令后,将判断每个称重模块返回的是否是“置零成功指令”,如果是,则将向该称重模块发送“立即称重”,否则不发送任何指令;因此置零失败的称重模块将不会返回其“重量报文”。

3.4称重返回指令

各个称重模块收到“称重指令”后,将以100 ms的时间间隔进行称重,同时向串口服务器发送所称得的质量。称重模块的“称重返回指令”格式是“SI123456”,其中“1234”为油量的整数部分,占4个字符;“56”为油量的小数部分,占2个字符,通常只需要精确到0.1g即可。

串口服务器使用串口2/3/4/5,分别接收4个称重模块返回的指令,并按照相应的格式解析获取每个称重模块返回的油量值。之后将4缸的油量打包成一帧报文,并以1s时间为间隔周期性地发送给PLC,这样PLC就能实时地获取每缸的喷油量,并显示在组态软件界面中,供用户查看。具体的报文格式如表2所示。

报文中的第1个字节仍是OxAA;第2个字节则使用0x02,每缸的油量占用2个字节,最大值可以达到65 535 g,完全满足实际需求,故该报文一共占用了10个字节。

4系统安装及调试结果

4.1硬件制作

根据前文的硬件设计,再加上STM32F103RCT6芯片最小系统,即可绘制出整个模块的原理图及PCB图,再制作出PCB板子,之后焊上所有的元器件,即可完成整个模块的硬件制作。串口服务器的结构框架图如图5所示,主要包括3大部分:(1)1个控制中枢为STM32F103RCT6的主控芯片;(2)3个将TTL电平和RS232电平相互转换的MAX232芯片;(3)5个串口连接的DB9型端子。

4.2测试结果

制作出实物之后,即可将程序下载到芯片中,并开始测试系统。系统测试方法:每1个称重模块准备1套砝码,该套砝码包含质量不等的几个砝码,每次随机挑选其中的1个或几个砝码放人该称重模块中,测试串口服务器能否同时将4个称重模块上的砝码质量返回给PLC,并通过触摸屏显示。系统测试的部分数据如表3所示,测试结果表明,所设计的串口服务器,能够同时返回多个称重模块测量的质量值,并能够稳定运行。

5结束语

为了解决船用多缸油泵试验台能同时使用4个称重模块的问题,本文基于STM32芯片设计了一个串口服务器模块,该串口服务器拥有5个RS-232串口接口,左边连接PLC,右边连接4个称重模块;其硬件设计成本低,软件通信报文简单,可扩展性强。最后对模块进行实物制作,并进行了测试,从测试数据来看,所设计的串口服务器,能够满足试验台同时使用4个称重模块测量4个喷油泵的需求。在功能上和经济性上,达到最初的设计目标。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!