CN115665017A - 一种基于单片机的通信抓包器及通信抓包方法 - Google Patents
一种基于单片机的通信抓包器及通信抓包方法 Download PDFInfo
- Publication number
- CN115665017A CN115665017A CN202211113193.2A CN202211113193A CN115665017A CN 115665017 A CN115665017 A CN 115665017A CN 202211113193 A CN202211113193 A CN 202211113193A CN 115665017 A CN115665017 A CN 115665017A
- Authority
- CN
- China
- Prior art keywords
- communication
- message
- rule table
- analysis rule
- master
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本发明涉及通信技术领域,提供一种基于单片机的通信抓包器及通信抓包方法,该基于单片机的通信抓包器,包括一单片机和探针,所述单片机设有第一路RS485串口总线、第二路RS485串口总线以及第三RS485串口总线,单片机用于通过所述探针接收通信总线上的数据报文,并根据预设的解析规则表对接收到的报文进行解析组合,生成新的供所述SCADA系统监控需要的用户数据;所述探针,插入到通信总线的导线中,用于读取所述通信总线的数据报文,从而实现在不断电、不影响现有通信状态的情况下完成数据抓取服务。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种基于单片机的通信抓包器及通信抓包方法。
背景技术
目前,在一些数据采集场合,会出现以下非常规应用场景:
(1)计费仪表具有铅封,例如油气统计仪表,已有数据采集与监控系统(Supervisory Control And Data Acquisition,SCADA)对仪表进行正常监控,在不打开铅封的情况下,用户期望进行异地监控或者冗余监控,并且不允许断电、断线的等硬连接要求;
(2)PLC控制盘或者流量计或者其它计量仪表,计费仪表,由于成本限定,研发限定,一般只具有一路RS485口,并且现场不能对现有的通信状态做任何改变但是用户仍然希望低成本实现在现有基础上增加冗余通信或者SCADA监控;
(3)有一些仪表本身协议不明,通信内存图不明,限于商业模式的限定,厂家不提供协议,或者提供协议采购成本远远超出客户承担的能力范围,而生产又迫切需要进行数据采集和监控。
综上,市面上也有一些串口扩展相关产品,但是模块需要建立缓存,导致通信实时性交底,成本较高,无法满足客户低成本需求;或者增加协议转换,但是在协议不明的情况下也无法满足。现有产品均基于多主模式,很难做到在不断电、不影响现有通信状态的情况下完成数据抓取服务。
发明内容
针对现有技术中的缺陷,本发明提供了一种基于单片机的通信抓包器,旨在解决现有技术中产品均基于多主模式,很难做到在不断电、不影响现有通信状态的情况下完成数据抓取服务的问题。
本发明所提供的技术方案是:一种基于单片机的通信抓包器,所述通信抓包器包括一单片机和探针,其中:
所述单片机设有第一路RS485串口总线、第二路RS485串口总线以及第三RS485串口总线,所述单片机通过第一路RS485串口总线与所述探针连接,通过第二RS485串口总线与SCADA系统连接,通过第三路RS485串口总线与PC端连接,所述单片机用于通过所述探针接收通信总线上的数据报文,并根据预设的解析规则表对接收到的报文进行解析组合,生成新的供所述SCADA系统监控需要的用户数据;
所述探针,插入到通信总线的导线中,用于读取所述通信总线的数据报文。
作为一种改进的方案,所述通信抓包器还包括与所述单片机连接的DC电源,用于为所述单片机提供电源。
作为一种改进的方案,所述单片机包括:
数据报文接收模块,用于通过所述探针接收通信总线上的数据报文;
解析组合模块,用于根据预设的解析规则表对接收到的报文进行解析组合,生成新的供所述SCADA系统监控需要的用户数据。
作为一种改进的方案,所述单片机还包括:
解析规则表下载模块,分别与所述解析组合模块以及PC端的解析规则表生成模块连接,用于将所述PC端的解析规则表生成模块生成的解析规则表下载到单片机本地。
作为一种改进的方案,当客户正常现场通行明确通信协议点表时,所述单片机还包括:
第一主从报文获取模块,用于接收所述通信总线上主站发送的报文以及从机的响应报文;
第一主从报文发送模块,用于将所述第一主从报文获取模块获取到的报文发送给所述PC端,所述PC端根据收发指令的格式对接收到的报文进行判断,甄别当前数据流中所包含的通信收发次数以及指令内容,并借助明确的通信协议电表形成寄存器在通信数据流中的字节位置,形成解析规则表,并将所述解析规则表反馈给所述单片机的解析规则表下载模块。
作为一种改进的方案,当客户没有明确通信点表时,所述单片机包括:
第二主从报文获取模块,用于接收所述通信总线上主站发送的报文以及从机的响应报文;
第二主从报文发送模块,用于将所述第二主从报文获取模块获取到的报文发送给所述PC端,所述PC端将主站显示的数据的格式转换为十六进制格式,并与所述第二主从报文获取模块获取到的报文进行比对,确定报文与显示数据之间的对应关系,形成寄存器在通信数据流中的字节位置,形成解析规则表,并将所述解析规则表反馈给所述单片机的解析规则表下载模块。
本发明的另一目的在于提供一种基于单片机的通信抓包器的通信抓包方法,所述方法包括下述步骤:
通过所述探针接收通信总线上的数据报文;
根据预设的解析规则表对接收到的报文进行解析组合,生成新的供所述SCADA系统监控需要的用户数据。
作为一种改进的方案,所述方法还包括下述步骤:
解析规则表下载模块将所述PC端的解析规则表生成模块生成的解析规则表下载到单片机本地。
作为一种改进的方案,当客户正常现场通行明确通信协议点表时,所述方法还包括下述步骤:
第一主从报文获取模块接收所述通信总线上主站发送的报文以及从机的响应报文;
第一主从报文发送模块将所述第一主从报文获取模块获取到的报文发送给所述PC端;
PC端根据收发指令的格式对接收到的报文进行判断,甄别当前数据流中所包含的通信收发次数以及指令内容,并借助明确的通信协议电表形成寄存器在通信数据流中的字节位置,形成解析规则表,并将所述解析规则表反馈给所述单片机的解析规则表下载模块。
作为一种改进的方案,当客户没有明确通信点表时,所述方法还包括下述步骤:
第二主从报文获取模块,用于接收所述通信总线上主站发送的报文以及从机的响应报文;
第二主从报文发送模块,用于将所述第二主从报文获取模块获取到的报文发送给所述PC端,所述PC端将主站显示的数据的格式转换为十六进制格式,并与所述第二主从报文获取模块获取到的报文进行比对,确定报文与显示数据之间的对应关系,形成寄存器在通信数据流中的字节位置,形成解析规则表,并将所述解析规则表反馈给所述单片机的解析规则表下载模块。
在本发明实施例中,基于单片机的通信抓包器包括一单片机和探针,所述单片机设有第一路RS485串口总线、第二路RS485串口总线以及第三RS485串口总线,单片机用于通过所述探针接收通信总线上的数据报文,并根据预设的解析规则表对接收到的报文进行解析组合,生成新的供所述SCADA系统监控需要的用户数据;所述探针,插入到通信总线的导线中,用于读取所述通信总线的数据报文,从而实现在不断电、不影响现有通信状态的情况下完成数据抓取服务。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1是本发明提供的基于单片机的通信抓包器的结构框图;
图2是本发明提供的单片机的结构框图;
图3是本发明提供的基于单片机的通信抓包器的通信抓包方法的实现流程图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的、技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
图1是本发明提供的基于单片机的通信抓包器的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
基于单片机的通信抓包器包括一单片机和探针,其中:
所述单片机设有第一路RS485串口总线、第二路RS485串口总线以及第三RS485串口总线,所述单片机通过第一路RS485串口总线与所述探针连接,通过第二RS485串口总线与SCADA系统连接,通过第三路RS485串口总线与PC端连接,所述单片机用于通过所述探针接收通信总线上的数据报文,并根据预设的解析规则表对接收到的报文进行解析组合,生成新的供所述SCADA系统监控需要的用户数据;
所述探针,插入到通信总线的导线中,用于读取所述通信总线的数据报文。
其中,通信抓包器还包括与所述单片机连接的DC电源,用于为所述单片机提供电源,当然该抓包器还可包含其他部件,在此不再赘述。
如图2所示,单片机包括:
数据报文接收模块,用于通过所述探针接收通信总线上的数据报文;
解析组合模块,用于根据预设的解析规则表对接收到的报文进行解析组合,生成新的供所述SCADA系统监控需要的用户数据;
结合图2所示,单片机还包括:
解析规则表下载模块,分别与所述解析组合模块以及PC端的解析规则表生成模块连接,用于将所述PC端的解析规则表生成模块生成的解析规则表下载到单片机本地;
在该实施例中,解析规则表的具体实现为:
当客户正常现场通行明确通信协议点表时,根据MODBUS通信指令格式,主站报文为站号,命令类型,起始寄存器地址,读取数量,CARC校验;从机返回报文为站号,命令类型,字节个数,寄存器数据,CRC校验,所述单片机还包括:
第一主从报文获取模块,用于接收所述通信总线上主站发送的报文以及从机的响应报文;
第一主从报文发送模块,用于将所述第一主从报文获取模块获取到的报文发送给所述PC端,所述PC端根据收发指令的格式对接收到的报文进行判断,甄别当前数据流中所包含的通信收发次数以及指令内容,并借助明确的通信协议电表形成寄存器在通信数据流中的字节位置,形成解析规则表,并将所述解析规则表反馈给所述单片机的解析规则表下载模块;
当客户没有明确通信点表时,借助人工观察客户现场SCADA和HMI PLC的数据显示格式,所述单片机包括:
第二主从报文获取模块,用于接收所述通信总线上主站发送的报文以及从机的响应报文;
第二主从报文发送模块,用于将所述第二主从报文获取模块获取到的报文发送给所述PC端,所述PC端将主站显示的数据的格式转换为十六进制格式,并与所述第二主从报文获取模块获取到的报文进行比对,确定报文与显示数据之间的对应关系,形成寄存器在通信数据流中的字节位置,形成解析规则表,并将所述解析规则表反馈给所述单片机的解析规则表下载模块。
在本发明实施例中,在现场是不允许做任何断电、断线调整,一般是PLC或者HMI或者SCADA做主站,仪表,流量计做从站,中间通信协议采用MODBUS通信较多。在一般情况下,协议通信点表客户会提供,但是也存在协议不明确的情况。抓包器是基于单片机实现的通信数据抓包和协议解析的低成本软硬件一体的嵌入式模块。SCADA系统是客户新增的需要进行冗余数据采集或者异地数据采集的监控系统。PC端用于与抓包器进行通信,完成现场数据解析策略录入。
在本发明实施例中,通过RS485串口进行正常通信,级联仪表很多,不对现有状态进行变更,通过侦听,使用单片机将收发数据进行抓取,抓取完成数据通信,不影响原先通信,仅仅将需要的数据获取上来进行使用;针对现有主从通信数据流,抓包器采用只是静默接收数据模式,将总线上的通信数据流抓取到单片机中,按照设定的解析规则表,通过该方式实现不影响现有通信。同时通过硬件探针固定在现有主从通信总线上,解决不断电、不断线情况下数据采集和实现问题。
图3示出了本发明提供的基于单片机的通信抓包器的通信抓包方法的实现流程图,其具体包括下述步骤:
在步骤S101中,通过所述探针接收通信总线上的数据报文;
在步骤S102中,根据预设的解析规则表对接收到的报文进行解析组合,通信抓包器生成新的供所述SCADA系统监控需要的用户数据。
在该实施例中,上述方法还包括下述步骤:
解析规则表下载模块将所述PC端的解析规则表生成模块生成的解析规则表下载到单片机本地;
其中,当客户正常现场通行明确通信协议点表时,所述方法还包括下述步骤:
第一主从报文获取模块接收所述通信总线上主站发送的报文以及从机的响应报文;
第一主从报文发送模块将所述第一主从报文获取模块获取到的报文发送给所述PC端;
PC端根据收发指令的格式对接收到的报文进行判断,甄别当前数据流中所包含的通信收发次数以及指令内容,并借助明确的通信协议电表形成寄存器在通信数据流中的字节位置,形成解析规则表,并将所述解析规则表反馈给所述单片机的解析规则表下载模块;
当客户没有明确通信点表时,所述方法还包括下述步骤:
第二主从报文获取模块,用于接收所述通信总线上主站发送的报文以及从机的响应报文;
第二主从报文发送模块,用于将所述第二主从报文获取模块获取到的报文发送给所述PC端,所述PC端将主站显示的数据的格式转换为十六进制格式,并与所述第二主从报文获取模块获取到的报文进行比对,确定报文与显示数据之间的对应关系,形成寄存器在通信数据流中的字节位置,形成解析规则表,并将所述解析规则表反馈给所述单片机的解析规则表下载模块。
在本发明实施例中,上述解析规则表的生成是由PC端和单片机共同来完成。
在本发明实施例中,针对现有主从通信数据流,通信抓包器采用只是静默接收数据模式,将通信总线上的通信数据流抓取到单片机中,按照设定的解析规则表,通过该方式实现不影响现有通信;通过硬件探针固定在现有主从通信总线上,解决不断电、不断线情况下数据采集和实现问题;通过一种低成本的方式实现通信口的扩展,满足用户设备只有一路485从站并且已经使用的情况下且不影响已有通信而进行的主站通信扩展。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种基于单片机的通信抓包器,其特征在于,所述通信抓包器包括一单片机和探针,其中:
所述单片机设有第一路RS485串口总线、第二路RS485串口总线以及第三RS485串口总线,所述单片机通过第一路RS485串口总线与所述探针连接,通过第二RS485串口总线与SCADA系统连接,通过第三路RS485串口总线与PC端连接,所述单片机用于通过所述探针接收通信总线上的数据报文,并根据预设的解析规则表对接收到的报文进行解析组合,生成新的供所述SCADA系统监控需要的用户数据;
所述探针,插入到通信总线的导线中,用于读取所述通信总线的数据报文。
2.根据权利要求1所述的基于单片机的通信抓包器,其特征在于,所述通信抓包器还包括与所述单片机连接的DC电源,用于为所述单片机提供电源。
3.根据权利要求2所述的基于单片机的通信抓包器,其特征在于,所述单片机包括:
数据报文接收模块,用于通过所述探针接收通信总线上的数据报文;
解析组合模块,用于根据预设的解析规则表对接收到的报文进行解析组合,生成新的供所述SCADA系统监控需要的用户数据。
4.根据权利要求3所述的基于单片机的通信抓包器,其特征在于,所述单片机还包括:
解析规则表下载模块,分别与所述解析组合模块以及PC端的解析规则表生成模块连接,用于将所述PC端的解析规则表生成模块生成的解析规则表下载到单片机本地。
5.根据权利要求4所述的基于单片机的通信抓包器,其特征在于,当客户正常现场通行明确通信协议点表时,所述单片机还包括:
第一主从报文获取模块,用于接收所述通信总线上主站发送的报文以及从机的响应报文;
第一主从报文发送模块,用于将所述第一主从报文获取模块获取到的报文发送给所述PC端,所述PC端根据收发指令的格式对接收到的报文进行判断,甄别当前数据流中所包含的通信收发次数以及指令内容,并借助明确的通信协议电表形成寄存器在通信数据流中的字节位置,形成解析规则表,并将所述解析规则表反馈给所述单片机的解析规则表下载模块。
6.根据权利要求4所述的基于单片机的通信抓包器,其特征在于,当客户没有明确通信点表时,所述单片机包括:
第二主从报文获取模块,用于接收所述通信总线上主站发送的报文以及从机的响应报文;
第二主从报文发送模块,用于将所述第二主从报文获取模块获取到的报文发送给所述PC端,所述PC端将主站显示的数据的格式转换为十六进制格式,并与所述第二主从报文获取模块获取到的报文进行比对,确定报文与显示数据之间的对应关系,形成寄存器在通信数据流中的字节位置,形成解析规则表,并将所述解析规则表反馈给所述单片机的解析规则表下载模块。
7.一种基于单片机的通信抓包器的通信抓包方法,其特征在于,所述方法包括下述步骤:
通过所述探针接收通信总线上的数据报文;
根据预设的解析规则表对接收到的报文进行解析组合,生成新的供所述SCADA系统监控需要的用户数据。
8.根据权利要求7所述的通信抓包方法,其特征在于,所述方法还包括下述步骤:
解析规则表下载模块将所述PC端的解析规则表生成模块生成的解析规则表下载到单片机本地。
9.根据权利要求8所述的通信抓包方法,其特征在于,当客户正常现场通行明确通信协议点表时,所述方法还包括下述步骤:
第一主从报文获取模块接收所述通信总线上主站发送的报文以及从机的响应报文;
第一主从报文发送模块将所述第一主从报文获取模块获取到的报文发送给所述PC端;
PC端根据收发指令的格式对接收到的报文进行判断,甄别当前数据流中所包含的通信收发次数以及指令内容,并借助明确的通信协议电表形成寄存器在通信数据流中的字节位置,形成解析规则表,并将所述解析规则表反馈给所述单片机的解析规则表下载模块。
10.根据权利要求8所述的通信抓包方法,其特征在于,当客户没有明确通信点表时,所述方法还包括下述步骤:
第二主从报文获取模块,用于接收所述通信总线上主站发送的报文以及从机的响应报文;
第二主从报文发送模块,用于将所述第二主从报文获取模块获取到的报文发送给所述PC端,所述PC端将主站显示的数据的格式转换为十六进制格式,并与所述第二主从报文获取模块获取到的报文进行比对,确定报文与显示数据之间的对应关系,形成寄存器在通信数据流中的字节位置,形成解析规则表,并将所述解析规则表反馈给所述单片机的解析规则表下载模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211113193.2A CN115665017A (zh) | 2022-09-14 | 2022-09-14 | 一种基于单片机的通信抓包器及通信抓包方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211113193.2A CN115665017A (zh) | 2022-09-14 | 2022-09-14 | 一种基于单片机的通信抓包器及通信抓包方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115665017A true CN115665017A (zh) | 2023-01-31 |
Family
ID=84983475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211113193.2A Pending CN115665017A (zh) | 2022-09-14 | 2022-09-14 | 一种基于单片机的通信抓包器及通信抓包方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115665017A (zh) |
-
2022
- 2022-09-14 CN CN202211113193.2A patent/CN115665017A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8107491B2 (en) | System and method for providing communication between intelligent electronic devices via an open channel | |
US9705703B2 (en) | System and method for simultaneous communication on Modbus and DNP 3.0 over Ethernet for electronic power meter | |
CN101893662B (zh) | 数字变电站的核相方法 | |
CN111541574B (zh) | 一种智能变电站可视化巡检方法及系统 | |
CN112039833A (zh) | 一种通讯管理机系统及工程配置方法 | |
CN111175601A (zh) | 模块化功能测试系统 | |
CN1960276B (zh) | 远程控制系统及方法 | |
CN109490816B (zh) | 一种分体式计量自动化终端故障检测设备及其检测方法 | |
CN201364137Y (zh) | 桥梁应变信号调理器 | |
CN115665017A (zh) | 一种基于单片机的通信抓包器及通信抓包方法 | |
CN111049268B (zh) | 一种全站录波连锁启动方法 | |
CN117394931A (zh) | 一种用于双模通信模块的检测系统及方法 | |
CN205240980U (zh) | 一种小型电梯远程监控系统及故障报警系统 | |
CN205427070U (zh) | 一种基于LabVIEW多变频器老化测试系统 | |
CN112015813A (zh) | 配电网的数据共享方法、系统、装置和计算机设备 | |
CN115712271A (zh) | 一种老旧生产设备数据自动采集系统 | |
CN115883675A (zh) | 一种可扩展的spi总线与can总线数据转换方法 | |
CN112383543B (zh) | 一种电力设备监控数据处理系统 | |
CN212183548U (zh) | 一种IEC61850协议与Modbus协议转接板 | |
CN111200612B (zh) | 一种配电网下行设备管理装置 | |
CN112187766A (zh) | Modbus协议转换终端配置方法及Modbus协议转换终端 | |
Delsing et al. | The IP-meter, design concept and example implementation of an internet enabled power line quality meter | |
KR100354267B1 (ko) | 무선 자원 시뮬레이터 | |
CN117880377A (zh) | 一种基于智能协议转换器的机房动环监测数据采集方法 | |
CN112583327B (zh) | 电机控制器、电机调试系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |