CN109977052B - 协议转换方法及应用该方法的系统、介质、芯片与电子设备 - Google Patents
协议转换方法及应用该方法的系统、介质、芯片与电子设备 Download PDFInfo
- Publication number
- CN109977052B CN109977052B CN201910262767.4A CN201910262767A CN109977052B CN 109977052 B CN109977052 B CN 109977052B CN 201910262767 A CN201910262767 A CN 201910262767A CN 109977052 B CN109977052 B CN 109977052B
- Authority
- CN
- China
- Prior art keywords
- data
- serial port
- port
- separator
- serial
- 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.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 113
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000005540 biological transmission Effects 0.000 claims abstract description 48
- 230000006870 function Effects 0.000 claims abstract description 25
- 230000015654 memory Effects 0.000 claims description 58
- 238000004590 computer program Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 16
- 238000011161 development Methods 0.000 abstract description 6
- 230000000007 visual effect Effects 0.000 abstract description 3
- 238000004891 communication Methods 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3852—Converter between protocols
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本发明提供协议转换方法及应用该方法的系统、介质、芯片与电子设备。其中,所述协议转换方法包括:获取预先编写的配置信息;根据所述配置信息进行串口服务器的串口数据与网口数据之间的协议转换、串口设备的串口数据与串口数据之间的协议转换、或者网口设备的网口数据与网口数据之间的协议转换。通过本发明的技术方案,用户无需掌握复杂的编程语言即可自主开发串口服务器的协议转换功能,让串口服务器、串口设备、网口设备可以实现任意两种协议之间的转换,操作简单、直观便捷、可塑性强,无需重新开发串口服务器设备,大大降低了串口服务器非透传功能的开发成本。
Description
技术领域
本发明涉及协议转换技术领域,特别是涉及协议转换方法及应用该方法的系统、介质、芯片与电子设备。
背景技术
串口服务器提供串口数据转TCP/IP协议数据功能,能够将TTL/RS-232/485/422串口转换成网络接口,实现TTL/RS-232/485/422串口与网络接口的数据双向透明传输。串口服务器使得串口设备能够立即具备网络接口功能,从而连接至网络进行数据通信,极大地扩展了串口设备的通信距离。这里的网络/网口不仅包括以太网,也包括任何符合TCP/IP协议传输的通信介质,包括WIFI、移动通讯2G/3G/4G/5G、光纤、蓝牙等。
普通的串口服务器实现的是串口和TCP/UDP的双向透明传输,即只是通讯介质的不同,但应用层通讯数据的内容不变。例如:当网络设备想获取串口设备的数据时,网络设备需向串口服务器发送符合该串口设备的协议的命令,串口服务器将该命令发送至串口设备后接收由串口设备返回的应答并将其发送至网络设备,网络设备再根据串口设备本身的协议格式获得感兴趣的数据。
目前,技术人员基于汇编语言、C语言等定制串口服务器的芯片程序可以实现串口服务器的非透传功能,让串口服务器具备将一种标准协议转换成另外一种标准协议的能力,如:Modbus TCP转Modbus RTU,Modbus TCP转Modbus ASCII等。然而,随着串口设备和网络设备的不断发展,有些串口设备和网络设备并非是标准设备,而是采用串口设备厂家自行定义的非标准协议。此时,一般需要串口服务器厂家定制开发,开发人员需先掌握非标准协议再编写串口服务器的芯片程序,开发难度大幅度增加。当串口服务器非透传功能的定制任务繁多时,开发效率较低,且容易出现错误。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供协议转换方法及应用该方法的系统、介质、芯片与电子设备,用于解决现有串口服务器非透传功能的定制难度大、灵活性差、效率较低等问题。
为实现上述目的及其它相关目的,本发明提供一种协议转换方法,包括:获取预先编写的配置信息;根据所述配置信息进行串口服务器的串口数据与网口数据之间的协议转换、串口设备的串口数据与串口数据之间的协议转换、或者网口设备的网口数据与网口数据之间的协议转换。
于本发明一实施例中,所述配置信息包括以下类型的一种或多种组合:类型1)将指定的串口数据或网口数据转换为指定的网口数据并通过网口发送的语句;将指定的网口数据或串口数据转换为指定的串口数据并通过串口发送的语句;类型2)定时从串口发送指定串口数据的语句;定时从网口发送指定网口数据的语句;类型3)按照串口收到的接收数据将指定的待存储数据存储至内存的语句;按照网口收到的接收数据将指定的待存储数据存储至内存的语句;其中,所述串口数据、所述网口数据、及所述接收数据的数据内容由数字本身和/或指代特定参数的通配符构成。
于本发明一实施例中,所述类型1)的语句包括:用于表示协议数据转换方向的前缀符号,以及位于所述前缀符号之后的协议转换前的数据和协议转换后的数据;其中,所述协议转换前的数据和所述协议转换后的数据分别位于分隔符的两侧;所述串口服务器在接收串口数据时,若读取到所述配置信息中具有将串口数据转换为网口数据的前缀符号,则判断接收的串口数据与位于分隔符一侧的协议转换前的数据是否匹配;若匹配,则将位于分隔符另一侧的协议转换后的数据通过网口发送;反之,则不予理会,继续读取下一条语句;所述串口服务器在接收网口数据时,若读取到所述配置信息中具有将网口数据转换为串口数据的前缀符号,则判断接收的网口数据与位于分隔符一侧的协议转换前的数据是否匹配;若匹配,则将位于分隔符另一侧的协议转换后的数据通过串口发送;反之,则不予理会,继续读取下一条语句。所述串口服务器读取所述配置信息并执行所述类型1)的动作,是在网口或者串口收到任何数据时触发的。
于本发明一实施例中,所述类型2)的语句包括:用于表示定时从端口发送数据的前缀符号,以及位于所述前缀符号之后的待发数据和发送周期;其中,所述待发数据和所述发送周期分别位于分隔符的两侧;所述串口服务器在读取到所述配置信息中具有定时从串口发送数据的前缀符号时,判断当前时间是否满足位于分隔符一侧的发送周期;若满足,则将位于分隔符另一侧的待发数据通过串口发送;反之,则不予理会,继续读取下一条语句;所述串口服务器在读取到所述配置信息中具有定时从网口发送数据的前缀符号时,判断当前时间是否满足位于分隔符一侧的发送周期;若满足,则将位于分隔符另一侧的待发数据通过网口发送;反之,则不予理会,继续读取下一条语句。所述串口服务器读取所述配置信息并执行所述类型2)的动作,是按照所述类型2)语句的发送周期定时触发的。
于本发明一实施例中,所述类型3)的语句包括:用于表示依接收数据将端口数据存储至内存的前缀符号,以及位于所述前缀符号之后的待存储数据和接收数据;其中,所述待存储数据和所述接收数据分别位于分隔符的两侧;所述串口服务器在读取到所述配置信息中具有依接收数据将串口数据存储至内存的前缀符号时,判断当前接收数据是否符合位于分隔符一侧的接收数据;若符合,则将位于分隔符另一侧的待存储数据存储至内存;反之,则不予理会,继续读取下一条语句;所述串口服务器在读取到所述配置信息中具有依接收数据将网口数据存储至内存的前缀符号时,判断当前网口接收数据是否符合位于分隔符一侧的接收数据;若符合,则将位于分隔符另一侧的待存储数据存储至内存;反之,则不予理会,继续读取下一条语句。所述串口服务器读取所述配置信息并执行所述类型3)的动作,是在网口或者串口收到任何数据时触发的。
于本发明一实施例中,当所述配置信息同时包括:定时从串口发送指定串口数据的语句、按照串口收到的接收数据将指定的串口数据存储至内存的语句、及定时从网口发送内存数据的语句时,所述串口服务器可以具有转化协议流程的功能,即:串口服务器能够代替网口设备主动读取串口设备数据并将其刷新至所述串口服务器的内存,然后再定时上报内存数据至网口设备,网口设备无需轮询,也能够收到所述串口服务器主动发来的的数据,将原来的轮询协议流程改为主动上报协议流程。
为实现上述目的及其它相关目的,本发明提供一种协议转换系统,包括:信息获取模块,用于获取预先编写的配置信息;协议转换模块,用于根据所述配置信息进行串口服务器的串口数据与网口数据之间的协议转换、串口设备的串口数据与串口数据之间的协议转换、或者网口设备的网口数据与网口数据之间的协议转换。
为实现上述目的及其它相关目的,本发明提供一种计算机可读存储介质,其中存储有计算机程序,所述计算机程序被处理器加载执行时,实现所述的协议转换方法。
为实现上述目的及其它相关目的,本发明提供一种芯片包括:处理单元及存储单元;其中,所述存储单元用于存储计算机程序及配置信息;所述处理单元用于加载执行所述计算机程序,以执行所述的协议转换方法。
为实现上述目的及其它相关目的,本发明提供一种电子设备,包括:处理器及存储器;其中,所述存储器用于存储计算机程序及配置信息;所述处理器用于加载执行所述计算机程序,以使所述电子设备执行所述的协议转换方法。
如上所述,本发明的协议转换方法及应用该方法的系统、介质、芯片与电子设备,获取预先编写的配置信息;根据所述配置信息进行串口服务器的串口数据与网口数据之间的协议转换、串口设备的串口数据与串口数据之间的协议转换、或者网口设备的网口数据与网口数据之间的协议转换。通过本发明的技术方案,用户无需掌握复杂的编程语言即可自主开发串口服务器的非透传功能,让串口服务器实现任意两种协议之间的转换,操作简单、直观便捷、可塑性强,无需重新开发串口服务器设备,大大降低了串口服务器非透传功能的开发成本。
附图说明
图1显示为本发明一实施例中的协议转换方法的流程示意图。
图2显示为本发明一实施例中的协议转换系统的模块示意图。
图3显示为本发明一实施例中的芯片的结构示意图。
图4显示为本发明一实施例中的串口服务器的结构示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
请参阅图1,本实施例提供一种协议转换方法,该方法由串口服务器负责执行,包括以下步骤:
S11、获取预先编写的配置信息;
具体的,用户可以在txt、Word等文档中编写配置信息,并将生成的txt文件、Word文件导入烧录软件中,再利用烧录软件或下载工具将配置信息存入串口服务器。或者,串口服务器配置软件提供一对话框并将其显示在屏幕上,用户可以在该对话框中输入配置信息,然后通过任何传输、存储方式将配置的信息存入串口服务器的存储介质上。
S12、根据所述配置信息进行所述串口服务器的串口数据与网口数据之间的协议转换。
所谓的配置信息由一条或多条语句组成。按照语句所实现的功能,语句的类型主要包括以下几种:
类型1)将指定的串口数据转换为指定的网口数据并通过网口发送;将指定的网口数据转换为指定的串口数据并通过串口发送;
类型2)定时从串口发送指定串口数据;定时从网口发送指定网口数据;
类型3)按照串口收到的接收数据将指定的待存储数据存储至内存;按照网口收到的接收数据将指定的待存储数据存储至内存。
值得说明的是,本发明不限定配置信息中的语句具体采用何种语法,本领域技术人员可以根据实际需求自行定义语法规则,以任何语法规则编写的具有以上功能的语句所形成的配置信息,皆应在本发明的保护范围之内。
具体的,在一较佳的实施例中,配置文件,一行为一条一种类型的语句,换行后可以再写另外一条相同或者不同类型的语句,行数不受限制,串口服务器从上到下读取并进行解析。其中,类型1)的语句由用于表示协议数据转换方向的前缀符号,以及位于所述前缀符号之后的协议转换前的数据和协议转换后的数据构成;其中,所述协议转换前的数据和所述协议转换后的数据分别位于分隔符的两侧。以N2S:01 02 03 04=a1 a2 a3 a4 a5 a6为例,“N2S:”为前缀符号,用于表示将网络数据转换为串口数据(net to serial),“=”为分隔符,“a1 a2 a3 a4 a5 a6”为协议转换前的数据,“01 02 03 04”为协议转换后的数据。当然,本发明的分隔符不限于本示例的“=”,还可以采用“+”、“#”、“@”等任意符号。另外,在本示例中,定义协议转换前的数据位于分隔符右边,协议转换后的数据位于分隔符的左边,但这不应被视为对本发明的限制。在实际应用中,协议转换前的数据也可以位于分隔符的左边,协议转换后的数据也可以位于分隔符的右边,甚至还可以定义令协议转换前的数据位于分隔符的上边而协议转换后的数据位于分隔符的下边等等。
串口服务器在接收网口数据时,若读取到所述配置信息中具有将网口数据转换为串口数据的前缀符号,则判断接收的网口数据与位于分隔符一侧的协议转换前的数据是否匹配;若匹配,则将位于分隔符另一侧的协议转换后的数据通过串口发送;反之,则不予理会,继续读取下一条语句。依然以N2S:01 02 03 04=a1 a2 a3 a4 a5 a6为例,串口服务器在读到“N2S:”时,判断当前接收的网口数据是否为“a1 a2 a3 a4 a5 a6”,若是,则将“0102 03 04”通过串口发送,若否,则不予理会,继续读取下一条语句。以上实现网口a1 a2 a3a4 a5 a6格式到串口01 02 03 04格式的转化。读取所述配置信息并检查N2S语句,是在收到任何网口数据时触发的。
串口服务器在接收串口数据时,若读取到所述配置信息中具有将串口数据转换为网口数据的前缀符号,则判断接收的串口数据与位于分隔符一侧的协议转换前的数据是否匹配;若匹配,则将位于分隔符另一侧的协议转换后的数据通过网口发送;反之,则不予理会,继续读取下一条语句。以S2N:a1 a2 a3=01 02为例,这里S2N就是串口到网络(serialto net)的意思,串口服务器在读到“S2N:”时,判断当前接收的串口数据是否为“01 02”,若是,则将“a1 a2 a3”通过网口发送,若否,则不予理会,继续读取下一条语句。以上实现串口01 02格式到网口a1 a2 a3格式的转化。读取所述配置信息并检查S2N语句,是在收到任何串口数据时触发的。
具体的,在一较佳的实施例中,类型2)的语句由用于表示定时从端口发送数据的前缀符号,以及位于所述前缀符号之后的待发数据和发送周期构成;其中,所述待发数据和所述发送周期分别位于分隔符的两侧。以T2S:00 01 02=03 E8为例,“T2S:”为前缀符号,用于表示定时从串口发送数据(Time to serial),“=”为分隔符,“03 E8”为时间间隔(十六进制,1秒),“00 01 02”为待发串口数据。当然,本发明的分隔符不限于本示例的“=”,还可以采用“+”、“#”、“@”等任意符号。另外,在本示例中,定义发送周期位于分隔符右边,待发数据位于分隔符的左边,但这不应被视为对本发明的限制。在实际应用中,发送周期也可以位于分隔符的左边,待发数据也可以位于分隔符的右边,甚至还可以定义令发送周期位于分隔符的上边而待发数据位于分隔符的下边等等。串口服务器读取所述配置信息并执行上述动作,是按照所有T2S的发送周期定时触发的。
串口服务器在读取到所述配置信息中具有定时从串口发送数据的前缀符号时,判断当前时间是否满足位于分隔符一侧的发送周期;若满足,则将位于分隔符另一侧的待发数据通过串口发送;反之,则不予理会,继续读取下一条语句。依然以T2S:00 01 02=03 E8为例,串口服务器在读到“T2S:”时,每隔1秒通过串口发送“00 01 02”。定时发送起到定时轮询的功能。
串口服务器在读取到所述配置信息中具有定时从网口发送数据的前缀符号时,判断当前时间是否满足位于分隔符一侧的发送周期;若满足,则将位于分隔符另一侧的待发数据通过网口发送;反之,则不予理会,继续读取下一条语句。以T2N:a1 a2 a3=13 88为例,串口服务器在读到“T2N:”时,每隔5秒通过网口发送“a1 a2 a3”。
具体的,在一较佳的实施例中,类型3)的语句由用于表示依接收数据将待存储数据存储至内存的前缀符号,以及位于所述前缀符号之后的待存储数据和接收数据构成;其中,所述待存储数据和所述接收数据分别位于分隔符的两侧。由此,串口服务器可以实现接收数据的存储。以S2M:01 02 03=05 06 07为例,“S2M:”为前缀符号,用于表示依接收数据将串口数据存储至内存(serial to memory),“=”为分隔符,“05 06 07”为接收数据(串口设备发来的信息),“01 02 03”为待存储数据。当然,本发明的分隔符不限于本示例的“=”,还可以采用“+”、“#”、“@”等任意符号。另外,在本示例中,定义接收数据位于分隔符右边,待发数据位于分隔符的左边,但这不应被视为对本发明的限制。在实际应用中,接收数据也可以位于分隔符的左边,待发数据也可以位于分隔符的右边,甚至还可以定义令接收数据位于分隔符的上边而待发数据位于分隔符的下边等等。
串口服务器在读取到所述配置信息中具有依接收数据将串口数据存储至内存的前缀符号时,判断当前接收数据是否符合位于分隔符一侧的接收数据;若符合,则将位于分隔符另一侧的待发串口数据存储至内存;反之,则不予理会,继续读取下一条语句。依然以S2M:01 02 03=05 06 07为例,当串口收到“05 06 07”则向内存M中存储“01 02 03”,这三个数据的存储的位置分别为M[0]、M[1]、M[2]。存储的数据长度可以实际需要来写,但是存储的起始位置必须从M[0]开始。S2M语句起到了将串口数据暂时先存储到内存,后面发送网口时再次拼装、使用的作用。读取所述配置信息并执行S2M语句,是在收到任何串口数据时触发的。
串口服务器在读取到所述配置信息中具有依接收数据将网口数据存储至内存的前缀符号时,判断当前接收数据是否符合位于分隔符一侧的接收数据;若符合,则将位于分隔符另一侧的待存储数据存储至内存;反之,则不予理会,继续读取下一条语句。依然以N2M:a1 a2 a3=08 08 08为例,当网口收到“08 08 08”则向内存M中存储“a1 a2 a3”,这三个数据的存储的位置分别为M[0]、M[1]、M[2]。读取所述配置信息并检查N2M语句是在收到任何网口数据时触发的。
值得注意的是,定时发送和内存存储的组合可以实现协议流程修改的功能。例如,配置信息中同时具有:
1)定时从串口发送指定串口数据的语句T2S:00 01 02=03 E8
2)按照串口收到的接收数据将指定的串口数据存储至内存的语句S2M:S[1]S[0]03=05 06 07 3)定时从网口发送内存数据的语句T2N:M[0]M[1]M[2]=13 88
此时,串口服务器每隔1秒从串口发送“00 01 02”。假设串口设备在收到“00 0102”后会向串口服务器发送应答信息“05 06 07”。当串口服务器收到“05 06 07”便会触发执行S2M:S[1]S[0]03=05 06 07,将“S[1]S[0]03”分别存储到内存M[0]、M[1]、M[2]。这里S[]是一种通配符,表示串口数据,此时的S[1]等价于串口第2个数据“06”而S[0]等价于串口第1个数据“05”,这样之后M[0]、M[1]、M[2]的数据就是“06 05 03”,通配符的概念将在下文详细介绍。串口服务器每隔5秒从网口发送“M[0]M[1]M[2]”(即“06 05 03”)。
在本示例中,每秒发送一次数据被视为较快的速度,这样更符合串口协议,而网口每5秒发送一次数据被视为较慢的速度,可见,定时发送和内存存储的组合实现了读取速度由快变慢的转化,网口协议用5秒/次的速度得到串口1秒/次的数据,这样可以有利于降低网络数据流量。除此之外,定时发送和内存存储的组合实现了网口设备无需轮询,也能够收到串口服务器主动发来的数据,将原来的轮询协议流程改为主动上报协议流程。,当网口需要同时读取大量串口设备数据时,可以降低网口设备的轮询负担,降低CPU计算量和通信量。
值得说明的是,上文提及的串口数据、网口数据、接收数据的具体内容不仅仅可以由数字本身构成,如“01 03”等,还可以包括用于指代特定参数的通配符,如上文提及的“S[]”、“M[]”。
比如:S2N:S[0]S[2]S[1]=S[0]02 03,S[0]表示串口服务器的串口收到的第一个字节,本条语句实现的功能为:当串口收到的第二个字节为02且第三个字节为03时,从网口输出串口收到的第一个字节、第三个字节、及第二个字节,即S[0]S[2]S[1]。这里并没有对串口收到的第一个字节进行限定,因为这里要求第一个字节为S[0],但是S[0]本身就是串口收到的第一个字节,自然相等,通配符的使用使得转换协议的数据内容变得非常灵活。再比如:S2N:IP[0]S[0]S[1]S[2]=S[0]S[1]S[2],其表示串口收到3个字节的任意的数据,都在前面增加本机的网络IP地址,即IP[0],然后再发到网络,以方便网络设备辨识数据来源。不仅是S[],M[],IP[],还可以根据需要定义更多的通配符实现更为复杂的数据匹配和获取。
综上,本发明实现的串口服务器非透传协议转换的方法可以实现2个功能:
1)可以实现协议数据格式的转化:例如从a1 a2 a3 a4 a5 a6变为01 02 03 04;
2)可以实现协议流程的转化:例如采用类型1)类型2)类型3)的组合可以实现读写速度的转化、轮询和主动上报的转化等。
当一个设备使用者需要实现串口服务器的非透传功能时,他会按照如下步骤来做:
a)首先这个串口服务器的使用者本身了解自己的串口设备的协议和网口设备的协议,现在需要使用串口服务器实现两者的协议转化;
b)该使用者读懂了上述的配置文件的书写方法,如上文所述,该方法简便易懂,且只要使用诸如txt文本编辑器即可实现,无需使用专业的C语言编写,技术门槛低,编写简便;
c)使用者使用提供的下载工具将编写好的txt配置文件下载到串口服务器内部存储介质上;
d)该类型的串口服务器将会按照这个配置文件的要求实现使用者所需串口与网口设备的协议转化。
可见,用户使用本发明的串口服务器,不需要找厂家定制串口服务器,自己动手就可以实现,快捷、方便、成本低,也降低了用户和设备厂家的沟通成本。
需要指出的是,虽然上述实施例的串口服务器实现的是串口到网口的转化,也即是提供了一种串口到网口的非透传转化方法。但是如果技术人士用该方法的精神实现了一个串口1到串口2的非透传转换的串口设备,然后再串接一个透传的串口服务器,组合在一起实现了本文所述的串口服务器非透传功能,或者,技术人士用该方法的精神实现了一个网口1到网口2的非透传转换的网口设备,然后再串接一个透传的串口服务器,组合在一起实现了本文所述的串口服务器非透传功能。那么,以上两种情况都属于侵犯本文所述的权利范围。即本文不仅限于串口服务器本身实现串口转网口、网口转串口,也包含串口设备本身实现串口转串口、网口设备本身实现网口转网口的协议转化。由于串口设备串口转串口、网口设备网口转网口的协议转换原理与前文中介绍的串口服务器串口转网口、网口转串口的协议转换原理相似,故不再做重复性介绍。
本领域技术人员应当知晓,实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。基于这样的理解,本发明还提供一种计算机程序产品,包括一个或多个计算机指令。所述计算机指令可以存储在计算机可读存储介质中。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如:软盘、硬盘、磁带)、光介质(如:DVD)、或者半导体介质(如:固态硬盘Solid State Disk(SSD))等。
参阅图2,本实施例提供一种协议转换系统20,作为一款软件搭载于电子设备中,如:串口服务器、串口设备、网口设备等,以在运行时执行前述方法实施例所述的协议转换方法。由于本系统实施例的技术原理与前述方法实施例的技术原理相似,因而不再对同样的技术细节做重复性赘述。
本实施例的协议转换系统20具体包括信息获取模块21、协议转换模块22。信息获取模块21用于执行前述方法实施例介绍的步骤S11,协议转换模块22用于执行前述方法实施例介绍的步骤S12。
本领域技术人员应当理解,图2实施例中的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个或多个物理实体上。且这些模块可以全部以软件通过处理元件调用的形式实现,也可以全部以硬件的形式实现,还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,协议转换模块22可以为单独设立的处理元件,也可以集成在某一个芯片中实现,此外,也可以以程序代码的形式存储于存储器中,由某一个处理元件调用并执行协议转换模块22的功能。其它模块的实现与之类似。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
参阅图3,本实施例提供一种芯片,如:应用于串口服务器的芯片、应用于串口设备的芯片、应用于网口设备的芯片等。详细的,芯片至少包括通过总线31连接的:存储单元32、处理单元33,其中,存储单元32用于存储计算机程序及配置信息,处理单元33用于执行存储单元32存储的计算机程序,以执行前述方法实施例中的全部或部分步骤。
参阅图4,本实施例提供一种串口服务器。详细的,串口服务器至少包括通过总线41连接的:存储器42、处理器43,其中,存储器42用于存储计算机程序及配置信息,处理器43用于执行存储器42存储的计算机程序,以执行前述方法实施例中的全部或部分步骤。
除此之外,本发明还要求保护一种串口设备和一种网口设备,与现有串口设备和网口设备不同的是,这种串口设备和网口设备像前述的串口服务器一样,存储器中存储有计算机程序及配置信息,处理器在执行存储器中存储的计算机程序时,能实现前述方法实施例中的全部或部分步骤。
上述提到的系统总线可以是外设部件互连标准(Peripheral PomponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器、存储单元可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器、处理单元可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。综上所述,通过本发明的串口服务器及其应用的协议转换方法、系统、介质及芯片,用户无需花费高昂成本请技术人员开发串口服务器的非透传功能(基于编译实现),按照简单的语法规则自行编写配置信息并存储至串口服务器中,即可自行开发串口服务器的非透传功能,让串口服务器通过解析配置信息就能实现任意两种协议之间的转换(基于应用层面),操作简单、直观便捷,还可随时修改,大大降低了串口服务器非透传功能的开发成本。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (6)
1.一种协议转换方法,其特征在于,包括:
获取预先编写的配置信息;其中,所述配置信息由一条或多条语句组成;所述配置信息的编写方式为文本;
根据所述配置信息进行串口服务器的串口数据与网口数据之间的协议转换、串口设备的串口数据与串口数据之间的协议转换、或者网口设备的网口数据与网口数据之间的协议转换;
所述配置信息包括以下类型的一种或多种组合:
类型1)将指定的串口数据或网口数据转换为指定的网口数据并通过网口发送的语句;将指定的网口数据或串口数据转换为指定的串口数据并通过串口发送的语句;所述类型1)的语句包括:用于表示协议数据转换方向的前缀符号,以及位于所述前缀符号之后的协议转换前的数据和协议转换后的数据;其中,所述协议转换前的数据和所述协议转换后的数据分别位于分隔符的两侧;
所述串口服务器在接收串口数据时,若读取到所述配置信息中具有将串口数据转换为网口数据的前缀符号,则判断接收的串口数据与位于分隔符一侧的协议转换前的数据是否匹配;若匹配,则将位于分隔符另一侧的协议转换后的数据通过网口发送;反之,则不予理会,继续读取下一条语句;
所述串口服务器在接收网口数据时,若读取到所述配置信息中具有将网口数据转换为串口数据的前缀符号,则判断接收的网口数据与位于分隔符一侧的协议转换前的数据是否匹配;若匹配,则将位于分隔符另一侧的协议转换后的数据通过串口发送;反之,则不予理会,继续读取下一条语句;
类型2)定时从串口发送指定串口数据的语句;定时从网口发送指定网口数据的语句;所述类型2)的语句包括:用于表示定时从端口发送数据的前缀符号,以及位于所述前缀符号之后的待发数据和发送周期;其中,所述待发数据和所述发送周期分别位于分隔符的两侧;
所述串口服务器在读取到所述配置信息中具有定时从串口发送数据的前缀符号时,判断当前时间是否满足位于分隔符一侧的发送周期;若满足,则将位于分隔符另一侧的待发数据通过串口发送;反之,则不予理会,继续读取下一条语句;
所述串口服务器在读取到所述配置信息中具有定时从网口发送数据的前缀符号时,判断当前时间是否满足位于分隔符一侧的发送周期;若满足,则将位于分隔符另一侧的待发数据通过网口发送;反之,则不予理会,继续读取下一条语句;
类型3)按照串口收到的接收数据将指定的串口数据存储至内存的语句;按照网口收到的接收数据将指定的网口数据存储至内存的语句;所述类型3)的语句包括:用于表示依接收数据将端口数据存储至内存的前缀符号,以及位于所述前缀符号之后的待存储数据和接收数据;其中,所述待存储数据和所述接收数据分别位于分隔符的两侧;
所述串口服务器在读取到所述配置信息中具有依接收数据将串口数据存储至内存的前缀符号时,判断当前串口接收数据是否符合位于分隔符一侧的接收数据;若符合,则将位于分隔符另一侧的待存储数据存储至内存相应位置;反之,则不予理会,继续读取下一条语句;
所述串口服务器在读取到所述配置信息中具有依接收数据将网口数据存储至内存的前缀符号时,判断当前网口接收数据是否符合位于分隔符一侧的接收数据;若符合,则将位于分隔符另一侧的待存储数据存储至内存相应位置;反之,则不予理会,继续读取下一条语句;
其中,所述串口数据、所述网口数据、及所述接收数据的数据内容由数字本身和/或指代特定参数的通配符构成;所述分隔符两侧的数据不同。
2.根据权利要求1所述的方法,其特征在于,当所述配置信息同时包括:定时从串口发送指定串口数据的语句、按照串口收到的接收数据将指定的串口数据存储至内存的语句、及定时从网口发送内存数据的语句时,所述串口服务器具有转化协议流程的功能,即:所述串口服务器代替网口设备主动读取串口设备数据并将其刷新至所述串口服务器的内存,然后再定时上报内存数据至网口设备,网口设备无需轮询便会收到所述串口服务器主动发来的数据,将原来的轮询协议流程改为主动上报协议流程。
3.一种协议转换系统,其特征在于,包括:
信息获取模块,用于获取预先编写的配置信息;其中,所述配置信息由一条或多条语句组成;所述配置信息的编写方式为文本;
所述配置信息包括以下类型的一种或多种组合:
类型1)将指定的串口数据或网口数据转换为指定的网口数据并通过网口发送的语句;将指定的网口数据或串口数据转换为指定的串口数据并通过串口发送的语句;所述类型1)的语句包括:用于表示协议数据转换方向的前缀符号,以及位于所述前缀符号之后的协议转换前的数据和协议转换后的数据;其中,所述协议转换前的数据和所述协议转换后的数据分别位于分隔符的两侧;
串口服务器在接收串口数据时,若读取到所述配置信息中具有将串口数据转换为网口数据的前缀符号,则判断接收的串口数据与位于分隔符一侧的协议转换前的数据是否匹配;若匹配,则将位于分隔符另一侧的协议转换后的数据通过网口发送;反之,则不予理会,继续读取下一条语句;
所述串口服务器在接收网口数据时,若读取到所述配置信息中具有将网口数据转换为串口数据的前缀符号,则判断接收的网口数据与位于分隔符一侧的协议转换前的数据是否匹配;若匹配,则将位于分隔符另一侧的协议转换后的数据通过串口发送;反之,则不予理会,继续读取下一条语句;
类型2)定时从串口发送指定串口数据的语句;定时从网口发送指定网口数据的语句;所述类型2)的语句包括:用于表示定时从端口发送数据的前缀符号,以及位于所述前缀符号之后的待发数据和发送周期;其中,所述待发数据和所述发送周期分别位于分隔符的两侧;
所述串口服务器在读取到所述配置信息中具有定时从串口发送数据的前缀符号时,判断当前时间是否满足位于分隔符一侧的发送周期;若满足,则将位于分隔符另一侧的待发数据通过串口发送;反之,则不予理会,继续读取下一条语句;
所述串口服务器在读取到所述配置信息中具有定时从网口发送数据的前缀符号时,判断当前时间是否满足位于分隔符一侧的发送周期;若满足,则将位于分隔符另一侧的待发数据通过网口发送;反之,则不予理会,继续读取下一条语句;
类型3)按照串口收到的接收数据将指定的串口数据存储至内存的语句;按照网口收到的接收数据将指定的网口数据存储至内存的语句;所述类型3)的语句包括:用于表示依接收数据将端口数据存储至内存的前缀符号,以及位于所述前缀符号之后的待存储数据和接收数据;其中,所述待存储数据和所述接收数据分别位于分隔符的两侧;
所述串口服务器在读取到所述配置信息中具有依接收数据将串口数据存储至内存的前缀符号时,判断当前串口接收数据是否符合位于分隔符一侧的接收数据;若符合,则将位于分隔符另一侧的待存储数据存储至内存相应位置;反之,则不予理会,继续读取下一条语句;
所述串口服务器在读取到所述配置信息中具有依接收数据将网口数据存储至内存的前缀符号时,判断当前网口接收数据是否符合位于分隔符一侧的接收数据;若符合,则将位于分隔符另一侧的待存储数据存储至内存相应位置;反之,则不予理会,继续读取下一条语句;
其中,所述串口数据、所述网口数据、及所述接收数据的数据内容由数字本身和/或指代特定参数的通配符构成;所述分隔符两侧的数据不同;
协议转换模块,用于根据所述配置信息进行串口服务器的串口数据与网口数据之间的协议转换、串口设备的串口数据与串口数据之间的协议转换、或者网口设备的网口数据与网口数据之间的协议转换。
4.一种计算机可读存储介质,其中存储有计算机程序,其特征在于,所述计算机程序被处理器加载执行时,实现如权利要求1至2中任一所述的协议转换方法。
5.一种芯片,其特征在于,包括:处理单元及存储单元;其中,
所述存储单元用于存储计算机程序及配置信息;
所述处理单元用于加载执行所述计算机程序,以执行如权利要求1至2中任一所述的协议转换方法。
6.一种电子设备,其特征在于,包括:处理器及存储器;其中,
所述存储器用于存储计算机程序及配置信息;
所述处理器用于加载执行所述计算机程序,以使所述电子设备执行如权利要求1至2中任一所述的协议转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910262767.4A CN109977052B (zh) | 2019-04-02 | 2019-04-02 | 协议转换方法及应用该方法的系统、介质、芯片与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910262767.4A CN109977052B (zh) | 2019-04-02 | 2019-04-02 | 协议转换方法及应用该方法的系统、介质、芯片与电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109977052A CN109977052A (zh) | 2019-07-05 |
CN109977052B true CN109977052B (zh) | 2024-04-30 |
Family
ID=67082481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910262767.4A Active CN109977052B (zh) | 2019-04-02 | 2019-04-02 | 协议转换方法及应用该方法的系统、介质、芯片与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109977052B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112737907B (zh) * | 2020-12-28 | 2022-07-01 | 常州中海电力科技有限公司 | 一种基于LabVIEW的Modbus通讯的实现系统以及方法 |
CN113382023A (zh) * | 2021-08-12 | 2021-09-10 | 中广(绍兴)有线信息网络有限公司 | 一种专网跨网监管的方法和系统 |
CN113839819B (zh) * | 2021-09-24 | 2022-08-05 | 北京微纳星空科技有限公司 | 一种协议转换器扩展串口的方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200195A (zh) * | 2013-03-29 | 2013-07-10 | 核工业理化工程研究院 | 一种多串行协议转以太网通讯的转换装置及转换方法 |
CN103595598A (zh) * | 2013-04-24 | 2014-02-19 | 安徽师范大学 | 一种基于光纤的远程透明传输串口服务器及其控制模式 |
CN105959229A (zh) * | 2016-04-22 | 2016-09-21 | 深圳市延翼通电子有限公司 | 一种具有多种协议转换功能的路由器 |
-
2019
- 2019-04-02 CN CN201910262767.4A patent/CN109977052B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103200195A (zh) * | 2013-03-29 | 2013-07-10 | 核工业理化工程研究院 | 一种多串行协议转以太网通讯的转换装置及转换方法 |
CN103595598A (zh) * | 2013-04-24 | 2014-02-19 | 安徽师范大学 | 一种基于光纤的远程透明传输串口服务器及其控制模式 |
CN105959229A (zh) * | 2016-04-22 | 2016-09-21 | 深圳市延翼通电子有限公司 | 一种具有多种协议转换功能的路由器 |
Also Published As
Publication number | Publication date |
---|---|
CN109977052A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109977052B (zh) | 协议转换方法及应用该方法的系统、介质、芯片与电子设备 | |
CN107133052B (zh) | 流程创建的方法及装置 | |
CN108829467B (zh) | 第三方平台对接实现方法、装置、设备及存储介质 | |
CN110457144A (zh) | 一种实现前端应用的方法、装置、介质和设备 | |
CN113495797B (zh) | 一种消息队列及消费者动态创建方法及系统 | |
CN116107999B (zh) | 一种数据库服务和存储系统及方法 | |
CN108804100B (zh) | 创建界面元素的方法、装置、存储介质及移动终端 | |
CN112243033B (zh) | 获取内存信息的方法、装置、设备及计算机可读存储介质 | |
CN112729868A (zh) | 一种车辆诊断方法、装置、设备及介质 | |
CN115145574A (zh) | 一种代码生成方法、装置、存储介质及服务器 | |
JP5039946B2 (ja) | クライアント装置およびサーバ装置の間の通信を中継する技術 | |
CN114830103B (zh) | 跟踪处理程序模块系统和使用所述系统的方法 | |
CN115729552A (zh) | 算子级别的并行度的设置方法及其装置 | |
CN110941443B (zh) | 修改sdk中文件名的方法、装置及电子设备 | |
KR102407941B1 (ko) | Rpc에 기반하여 외부 장치의 함수 또는 프로시저를 호출하는 전자 장치가 사용자 인터페이스를 생성하는 방법, 그 컴퓨터 프로그램 및 그 전자 장치 | |
CN112287643B (zh) | 消息监听方法、装置、设备及计算机可读存储介质 | |
CN113504909A (zh) | 工业app异构组件数据交换方法及相关设备 | |
CN111858314A (zh) | 一种对vue进行状态管理的方法、系统、设备及介质 | |
WO2024044976A1 (zh) | 数据采集装置、方法、系统、电子设备和存储介质 | |
CN117075912B (zh) | 用于程序语言转换的方法、编译方法及相关设备 | |
CN110837896B (zh) | 机器学习模型的存储和调用方法、装置 | |
CN108170432B (zh) | 可配置的数据包解码系统及方法 | |
TWI721464B (zh) | 深度學習程式配置方法、裝置、電子設備及存儲介質 | |
CN106951287B (zh) | 一种软件的配置方法、装置及系统 | |
CN114217984A (zh) | 一种通过改进DockerApi适应Podman调用方法、终端设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |