一种高频自主请求的串口分流装置制造方法及图纸

技术编号:24995661 阅读:15 留言:0更新日期:2020-07-24 17:58
本发明专利技术公开了一种高频自主请求的串口分流装置包括中央处理器模块、命令存储模块、数据存储模块、电源模块、串行接口模块,以及用于连接上述各模块的内部总线,所述串行接口模块包括第一串口,第二串口,以及仪表串口;所述命令存储模块包括第一命令缓存区,第二命令缓存区,以及命令存储区;所述数据存储模块包括数据备份区和数据存储区;所述串口分流装置还包括用于设置中断优先级和中断处理程序的中断优先级寄存器和用于设置数据采集程序的主程序存储器,中断处理程序包括第一串口的中断处理程序和第二串口的中断处理程序。本发明专利技术能够实现两个主机同时向同一个串行总线上的从机高频的采集数据。本发明专利技术属于数据采集设备技术领域。

【技术实现步骤摘要】
一种高频自主请求的串口分流装置
本专利技术涉及数据采集设备
,尤其涉及一种高频自主请求的串口分流装置。
技术介绍
MODBUS串行链路协议作为工业领域串行通信协议的业界标准,被大多数的工业电子设备所支持。MODBUS串行链路协议是一个主/从协议,在同一时刻,只允许有一个主机连接于串行总线,一个或多个从机连接于同一个串行总线,且MODBUS通信总是由主机发起,从机在没有收到来自主机的请求时,不会发送数据。在实际数据采集过程中,经常存在两个主机都需要对串行总线上的从机发送命令和接收数据的需求。然而,如果在MODBUS通讯网络中存在两个主机,且两个主机同时分别向串行总线发送命令容易引起总线竞争,易造成两条指令形成乱码,从而影响正常的数据采集工作;即使未引起总线竞争,两个主机同时向串行总线上的仪表请求数据,使得数据请求的频率明显增高,部分仪表无法及时反馈数据,从而易造成数据丢失。
技术实现思路
鉴于上述现有技术中存在的缺陷,本专利技术的目的是提出一种能够实现两个主机同时向同一个串行总线上的从机高频的采集数据的高频自主请求的串口分流装置。为了实现上述目的,本专利技术采用了如下技术方案:一种高频自主请求的串口分流装置,用于两个主机同时向位于同一个串行总线上的仪表请求数据,所述的两个主机分别为第一主机和第二主机,所述串口分流模块包括中央处理器模块、命令存储模块、数据存储模块、电源模块、串行接口模块,以及用于连接上述各模块的内部总线,所述串行接口模块包括用于连接所述第一主机的第一串口,用于连接所述第二主机的第二串口,以及用于连接所述仪表所在的串行总线的仪表串口;所述命令存储模块包括用于存储由所述第一串口接收的命令的第一命令缓存区,用于存储由所述第二串口接收的命令的第二命令缓存区,以及用于存储预先配置的命令的命令存储区;所述数据存储模块包括用于存储根据所述预先配置的命令获取到的仪表数据的数据备份区,和用于存储所述仪表数据并将所述仪表数据返回至所述第一主机或者所述第二主机的数据存储区;所述高频自主请求的串口分流装置还包括用于设置中断优先级、中断处理程序的中断优先级寄存器和用于设置数据采集程序的主程序存储器,所述中断处理程序包括所述第一串口的中断处理程序和所述第二串口的中断处理程序。进一步的,所述第一串口的中断处理程序包括如下处理步骤:(1)将所述第一命令缓存区中的命令与所述命令存储区中预先配置的命令进行一一比对;(2)若在所述命令存储区中匹配到相对应的命令,则将该命令所对应的所述数据存储区中的数据传送至所述第一主机,若在所述命令存储区中未匹配到相对应的命令,则不传送数据至所述第一主机。进一步的,所述第二串口的中断处理程序包括如下处理步骤:(1)将所述第二命令缓存区中的命令与所述命令存储区中预先配置的命令进行一一比对;(2)若在所述命令存储区中匹配到相对应的命令,则将该命令所对应的所述数据存储区中的数据传送至所述第二主机,若在所述命令存储区中未匹配到相对应的命令,则不传送数据至所述第二主机。进一步的,所述数据采集程序包括如下处理步骤:(1)将所述命令存储区中的数据请求命令发送至所述仪表所在的串行总线;(2)接收所述仪表返回的数据;(3)重复执行步骤(1)和步骤(2)。进一步的,所述数据采集程序的步骤(2)中,在接收所述仪表返回的数据时,若检测到此时所述高频自主请求的串口分流装置正在向所述第一主机或者所述第二主机发送数据,则将所述仪表返回的数据存储至所述数据备份区,且在所述高频自主请求的串口分流装置完成数据发送后,再将所述仪表返回的数据从所述数据备份区备份至所述数据存储区;若未检测到此时所述高频自主请求的串口分流装置正在发送数据,则将所述仪表返回的数据分别存储至所述数据备份区和所述数据存储区。进一步的,所述数据采集程序的步骤(2)中,若所述仪表返回数据的时间超过了设定的最长响应时间,则继续执行所述步骤(3)。进一步的,所述第一串口的中断优先级高于所述第二串口的中断优先级。进一步的,所述命令存储区中预先配置的命令包括:(1)采集各个仪表的数据内容;(2)采集仪表数据响应超时时间;(3)命令的长度;(4)采集数据的长度。进一步的,所述数据存储区中的数据以DMA的方式发送给所述第一主机或者所述第二主机。进一步的,所述第一串口和所述第二串口均选自RS-485接口和RS-232接口中的一种。本专利技术的突出效果为:能够实现两个主机同时向同一个串行总线上的从机采集数据;不易造成总线竞争,使得通信能够保持顺畅;能够自主预先采集仪表数据,显著提高了两个主机的数据采集效率;采用DMA的数据传输方式减少了数据传输的时间,且减轻了中央处理器模块的压力;循环执行的数据采集程序和设置的最长响应时间使得数据采集更加实时和高效。附图说明图1为本专利技术实施例的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。实施例如图1所示,本实施例的一种高频自主请求的串口分流装置,用于两个主机同时向位于同一个串行总线上的仪表高频的请求数据,为方便描述,所述的两个主机分别称为第一主机和第二主机,所述的串口分流模块包括中央处理器模块、命令存储模块、数据存储模块、电源模块、串行接口模块,以及用于连接上述各模块的内部总线,所述的第一主机和第二主机可以是DTU、工控机、PLC以及服务器等,所述的串行总线可以是485串行总线也可以是232串行总线。所述的串行接口模块包括用于连接所述第一主机的第一串口,用于连接所述第二主机的第二串口,以及用于连接所述仪表所在的串行总线的仪表串口。优选的,所述的第一串口、第二串口以及仪表串口均选自RS-485接口或者RS-232接口。所述命令存储模块包括用于存储由所述第一串口接收的命令的第一命令缓存区,用于存储由所述第二串口接收的命令的第二命令缓存区,以及用于存储预先配置的命令的命令存储区,所述第一命令缓存区接收的命令由所述第一主机发出,所述第二命令缓存区接收的命令由所述第二主机发出,优选的,所述命令存储区中预先配置的命令包括:(1)采集各个仪表的数据内容;(2)采集仪表数据响应超时时间;(3)命令的长度;(4)采集数据的长度,所述命令存储区中的命令可通过串口写入,也可以通过上位机写入。所述数据存储模块包括用于存储根据所述预先配置的命令获取到的仪表数据的数据备份区,和用于存储所述仪表数据并将所述仪表数据返回至所述第一主机或者所述第二主机的数据存储区,所述数据备份区起到数据备份的作用,使得串口分流装置所采集的仪表数据不易丢失。所述高频自主请求的串口分流装置还包括用于设置中断优先级、中断处理程序的中断优先级寄存器和用于设置数据采集程序的主程序存储器,所述中断处理程序包括所述第一串口的中断处理程序和所述第二串口的中断处理程序。所述第一串口的中断处理程序包括如下处理步骤:(1)将所述第一命令缓存区中的命令与所本文档来自技高网...

【技术保护点】
1.一种高频自主请求的串口分流装置,用于两个主机同时向位于同一个串行总线上的仪表请求数据,所述的两个主机分别为第一主机和第二主机,所述串口分流模块包括中央处理器模块、命令存储模块、数据存储模块、电源模块、串行接口模块,以及用于连接上述各模块的内部总线,其特征在于:/n所述串行接口模块包括用于连接所述第一主机的第一串口,用于连接所述第二主机的第二串口,以及用于连接所述仪表所在的串行总线的仪表串口;所述命令存储模块包括用于存储由所述第一串口接收的命令的第一命令缓存区,用于存储由所述第二串口接收的命令的第二命令缓存区,以及用于存储预先配置的命令的命令存储区;所述数据存储模块包括用于存储根据所述预先配置的命令获取到的仪表数据的数据备份区,和用于存储所述仪表数据并将所述仪表数据返回至所述第一主机或者所述第二主机的数据存储区;所述高频自主请求的串口分流装置还包括用于设置中断优先级、中断处理程序的中断优先级寄存器和用于设置数据采集程序的主程序存储器,所述中断处理程序包括所述第一串口的中断处理程序和所述第二串口的中断处理程序。/n

【技术特征摘要】
1.一种高频自主请求的串口分流装置,用于两个主机同时向位于同一个串行总线上的仪表请求数据,所述的两个主机分别为第一主机和第二主机,所述串口分流模块包括中央处理器模块、命令存储模块、数据存储模块、电源模块、串行接口模块,以及用于连接上述各模块的内部总线,其特征在于:
所述串行接口模块包括用于连接所述第一主机的第一串口,用于连接所述第二主机的第二串口,以及用于连接所述仪表所在的串行总线的仪表串口;所述命令存储模块包括用于存储由所述第一串口接收的命令的第一命令缓存区,用于存储由所述第二串口接收的命令的第二命令缓存区,以及用于存储预先配置的命令的命令存储区;所述数据存储模块包括用于存储根据所述预先配置的命令获取到的仪表数据的数据备份区,和用于存储所述仪表数据并将所述仪表数据返回至所述第一主机或者所述第二主机的数据存储区;所述高频自主请求的串口分流装置还包括用于设置中断优先级、中断处理程序的中断优先级寄存器和用于设置数据采集程序的主程序存储器,所述中断处理程序包括所述第一串口的中断处理程序和所述第二串口的中断处理程序。


2.根据权利要求1所述的一种高频自主请求的串口分流装置,其特征在于,所述第一串口的中断处理程序包括如下处理步骤:(1)将所述第一命令缓存区中的命令与所述命令存储区中预先配置的命令进行一一比对;(2)若在所述命令存储区中匹配到相对应的命令,则将该命令所对应的所述数据存储区中的数据传送至所述第一主机,若在所述命令存储区中未匹配到相对应的命令,则不传送数据至所述第一主机。


3.根据权利要求1或2所述的一种高频自主请求的串口分流装置,其特征在于,所述第二串口的中断处理程序包括如下处理步骤:(1)将所述第二命令缓存区中的命令与所述命令存储区中预先配置的命令进行一一比对;(2)若在所述命令存储区中匹配到相对应的命令,则将该命令所对应的所述数据存储区中的数据传送至所述第二主机,若在所述命令存储区中未匹配到相对应的命令...

【专利技术属性】
技术研发人员:吴玺马圳东沈海泽孟凡清
申请(专利权)人:苏州琅润达检测科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1