CN101751291B - 应用程序共享同一串口的方法与装置 - Google Patents

应用程序共享同一串口的方法与装置 Download PDF

Info

Publication number
CN101751291B
CN101751291B CN 200910214455 CN200910214455A CN101751291B CN 101751291 B CN101751291 B CN 101751291B CN 200910214455 CN200910214455 CN 200910214455 CN 200910214455 A CN200910214455 A CN 200910214455A CN 101751291 B CN101751291 B CN 101751291B
Authority
CN
China
Prior art keywords
serial ports
instruction
count value
sharing
application programs
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.)
Expired - Fee Related
Application number
CN 200910214455
Other languages
English (en)
Other versions
CN101751291A (zh
Inventor
刘明华
赵宏
蒋中斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vtron Group Co Ltd
Original Assignee
Vtron Technologies Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vtron Technologies Ltd filed Critical Vtron Technologies Ltd
Priority to CN 200910214455 priority Critical patent/CN101751291B/zh
Publication of CN101751291A publication Critical patent/CN101751291A/zh
Application granted granted Critical
Publication of CN101751291B publication Critical patent/CN101751291B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种应用程序共享同一串口的方法与装置,采用多线程通讯的方式接收应用程序的指令,将访问同一串口的指令进行排队处理并将串口的回码发送给应用程序,从而使应用程序共享同一串口得以实现。

Description

应用程序共享同一串口的方法与装置
技术领域
本发明涉及计算机技术领域,特别涉及一种应用程序共享同一串口的实现方法与装置。
背景技术
在工业控制中,很多设备采用的是串行端口(RS232或者RS485)来作为控制端口,而一般计算机的串口设备在操作系统中是只能限制为1个应用程序控制,如图1所示,一旦某个程序打开了一个串口,其他应用程序便无法使用它,因此需要一种能够实现多个应用程序同时使用同一串口的方法或装置。
发明内容
本发明提供了一种应用程序共享同一串口的方法和装置,以解决一个串口只能被一个应用程序使用的问题。
本发明应用程序共享同一串口的方法,包括以下步骤:
(1).通过多线程通讯的方式接收应用程序的指令;
(2).解析指令,将访问同一串口的指令进行排队处理,按照接收的顺序通过串口发送出去;
(3).监听并发送串口的响应码。
本发明应用程序共享同一串口的方法,由于采用多线程通讯的方式接收应用程序发送的指令,对访问同一串口的指令进行排队处理,使多个应用程序共享同一串口得以实现。
一种应用程序共享同一串口的装置,包括:
接收模块,通过多线程通讯的方式接收应用程序的指令;
解析模块,解析接收模块接收到的指令,将访问同一串口的指令进行排队处理,按照接收的顺序通过串口发送出去;
发送模块,监听并发送串口的响应码。
本发明应用程序共享同一串口的装置,由于采用可以同时接收多个访问指令的接收模块和对访问同一串口的指令进行排队处理的解析模块,使多个应用程序共享同一串口得以实现。
附图说明
图1是串口被一个应用程序单独使用时,其他应用程序无法使用同一串口的示意图;
图2是两个个应用程序共享同一串口的示意图;
图3是本发明应用程序关于同一串口的方法实施例的流程图;
图4是本发明应用程序关于同一串口的装置实施例的结构图。
具体实施方式
由于操作系统的限制,无法在操作系统层面上更改串口被占用的唯一性,本发明提供了一种应用程序共享同一串口的方法和装置,在应用层面上,通过多线程通讯方式接收应用程序的访问指令,应用程序的个数不受限制,将访问同一串口的指令进行排队处理,从而实现串口的共享。
本发明应用程序共享同一串口的方法,如图2所示,其实现的主体是一个串口共享服务,应用程序通过多进程通讯的方法将指令发送到串口共享服务,共享服务解析数据后再将指令通过串口发送出去,同时监听串口得到硬件的响应回码,并将回码通过网络返回给应用程序,将该串口共享服务的方法应用在本发明应用程序共享同一串口的装置上即可实现应用程序共享同一串口。
下面结合附图对本发明做进一步的说明。
本发明应用程序共享同一串口的方法,如图3所示,包括以下步骤:
步骤301:初始化网络端口,监听网络端口;
步骤302:通过Scoket接口通讯的方式接收应用程序的指令;
步骤303:解析指令,指令共分为4种:打开串口、关闭串口、发送数据和接收数据,如果是打开串口进入步骤304,如果是关闭串口进入步骤305,如果是发送或接收数据进入步骤306,从0开始计数串口被打开的次数;
步骤304:根据计数值和串口是否已经被打开进入步骤307返回相应结果,如果计数值大于0,说明有其他应用程序通过串口共享服务打开了该串口,将计数值加1,步骤307发送打开成功,如果计数值等于0但串口已经被打开,说明其他应用程序通过其他方式占用了该串口,此时步骤307返回打开失败,如果计数值等于0且串口没有被打开,说明该串口此时空闲,向系统申请打开串口并将计数值加1;
步骤305:将计数值减1,如果计数值为0,则向系统申请关闭串口,进入步骤307,返回关闭成功;
步骤306:将指令发给指定的串口,如果有其他指令在访问同一串口,则将指令排序并按序发送,如果要访问的串口没有被其他指令访问,则通过串口将指令发出去;
步骤307:监听并发送串口的响应码。
一种应用程序共享同一串口的装置,如图4所示,包括:
接收模块,用于打开并监听网络接口,通过Socket接口通讯方式接收监听到的应用程序发送的指令;
解析模块,包括判断模块、计数模块和排队模块,判断模块判断接收模块接收到的指令,根据指令内容和串口状态对指令进行相应的处理,计数模块计数每个串口被打开的次数,排队模块对访问同一个串口的发送和接收数据指令进行排队处理。
发送模块,监听并发送串口的响应码。
其工作过程如图3所示:
步骤301:接收模块打开网络接口,开始监听网络接口是否有应用程序发来的指令;
步骤302:接收监听到的指令;
步骤303:解析模块的判断模块解析指令判断指令类别:如果是打开串口则进入步骤304,如果是关闭串口进入步骤305,如果是发送或接收数据进入步骤306,计数模块从0开始计数串口被打开的次数;
步骤304:发送模块根据计数值的大小和串口状态返回相应的结果,如果计数模块的计数值大于0,说明有其他应用程序通过本串口共享装置打开了该串口,计数模块的计数值加1,步骤307发送模块发送打开成功,如果计数值等于0但串口已经被打开,说明其他应用程序通过其他方式占用了该串口,此时步骤307发送模块返回打开失败,如果计数值等于0且串口没有被打开,说明该串口此时空闲,发送模块向系统申请打开串口,计数模块将计数值加1;
步骤305:计数模块的计数值减1,如果计数值为0,进入步骤307,发送模块向系统申请关闭串口并返回关闭成功;
步骤306:判断模块将指令发给指定的串口,如果有其他指令在访问同一串口,排队模块将指令排序并按序发送,如果要访问的串口没有被其他指令访问,则通过串口将指令发出去;
步骤307:发送模块监听并发送串口的响应码。
本发明应用程序共享同一串口的方法与装置,对外暴露一个Socket通讯接口,采用多线程通讯支持多个应用的连接,任何一个应用对串口进行操作时,只需要将命令码发送到串口共享服务,服务自动将命令码转发到指定的串口并且将回码通过相同的方式返回给应用,对于应用除了通讯方式发生了改变,其他任何操作都与单独打开一个串口使用没有任何区别,并且不需要对内部逻辑实现变更。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

Claims (6)

1.一种应用程序共享同一串口的方法,其特征在于,包括以下步骤:
(1).通过多线程通讯的方式接收应用程序的指令;
(2).解析指令,将访问同一串口的指令进行排队处理,按照接收的顺序通过串口发送出去;
(3).监听并发送串口的响应码,
步骤(2)包括以下步骤:
a.解析指令,如果是打开串口进入步骤b,如果是关闭串口进入步骤c,如果是发送或接收数据进入步骤d;
b.根据计数值和串口是否已经被打开返回相应结果,如果计数值大于0,则发送打开成功并将计数值加1,如果计数值等于0且串口已经被打开,则返回打开失败,如果计数值等于0且串口没有被打开,则向系统申请打开串口并将计数值加1,所述计数值表示串口打开的次数,从0开始计数;
c.将计数值减1,返回关闭成功,如果减1后计数值为0,则向系统申请关闭串口,所述计数值表示串口打开的次数,从0开始计数;
d.将指令发给指定的串口,如果有其他指令在访问同一串口,则将指令排序并按序发送,如果要访问的串口没有被其他指令访问,则直接发送指令。
2.根据权利要求1所述的应用程序共享同一串口的方法,其特征在于,步
骤(1)之前包括以下步骤:
初始化网络接口,监听网络接口。
3.根据权利要求1或2所述的应用程序共享同一串口的方法,其特征在于,所述多线程通讯的方式为Socket接口通讯。
4.一种应用程序共享同一串口的装置,其特征在于,包括:
接收模块,通过多线程通讯的方式接收应用程序的指令;
解析模块,解析接收模块接收到的指令,将访问同一串口的指令进行排队处理,按照接收的顺序通过串口发送出去;
发送模块,监听并发送串口的响应码,
所述解析模块包括:
判断模块,判断指令内容,根据指令内容、串口状态和计数模块的计数值对指令进行相应的处理;
计数模块,从0开始计数,串口通过本装置被打开一次计数加1,串口通过本装置被关闭一次计数减1;
排队模块,将访问同一串口的指令按接收顺序进行排队并通过串口发送出去。
5.根据权利要求4所述的应用程序共享同一串口的装置,其特征在于,所述接收模块还用于初始化并监听网络接口。
6.根据权利要求4或5所述的应用程序共享同一串口的装置,其特征在于,所述多线程通讯的方式为Socket接口通信。
CN 200910214455 2009-12-30 2009-12-30 应用程序共享同一串口的方法与装置 Expired - Fee Related CN101751291B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910214455 CN101751291B (zh) 2009-12-30 2009-12-30 应用程序共享同一串口的方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910214455 CN101751291B (zh) 2009-12-30 2009-12-30 应用程序共享同一串口的方法与装置

Publications (2)

Publication Number Publication Date
CN101751291A CN101751291A (zh) 2010-06-23
CN101751291B true CN101751291B (zh) 2013-03-20

Family

ID=42478303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910214455 Expired - Fee Related CN101751291B (zh) 2009-12-30 2009-12-30 应用程序共享同一串口的方法与装置

Country Status (1)

Country Link
CN (1) CN101751291B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739619B (zh) * 2011-04-14 2015-08-26 阿里巴巴集团控股有限公司 一种数据通信方法和装置
CN102520936B (zh) * 2011-11-30 2017-02-08 厦门雅迅网络股份有限公司 一种在Android上实现Socket通讯服务共享的方法
CN103428357B (zh) * 2012-05-25 2016-12-21 上海盛付通电子支付服务有限公司 实现移动终端操作系统上的本地服务共享的方法及装置
CN103078908B (zh) * 2012-12-26 2015-09-09 北京经纬恒润科技有限公司 一种数据传输方法及装置
CN103118181B (zh) * 2013-01-17 2015-12-02 努比亚技术有限公司 一种处理同步at指令的方法及装置
CN104601655B (zh) * 2014-12-05 2018-02-13 上海斐讯数据通信技术有限公司 智能插座的控制方法及装置
CN104503852A (zh) * 2014-12-26 2015-04-08 河南信安通信技术有限公司 一种多进程串口通信方法
CN106488297B (zh) * 2016-10-21 2019-01-22 广州酷狗计算机科技有限公司 一种显示图像数据的方法和装置
CN107688486A (zh) * 2017-08-10 2018-02-13 深圳市证通电子股份有限公司 基于共享服务的串口共享方法、共享装置及存储介质
CN108052477A (zh) * 2017-11-27 2018-05-18 成都华力创通科技有限公司 消除rs422串口干扰的方法
CN110620713B (zh) * 2019-09-11 2022-03-25 北京演能科技有限公司 Modbus协议共享通讯的方法和装置
CN111475318B (zh) * 2020-04-29 2021-02-23 中国人民解放军军事科学院国防科技创新研究院 一种支持多用户访问的串口通信装置、方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020016868A1 (en) * 1998-05-13 2002-02-07 Palm, Inc. Method and apparatus for serial port sharing
CN101067794A (zh) * 2007-06-14 2007-11-07 中兴通讯股份有限公司 多核处理器及其串口复用方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020016868A1 (en) * 1998-05-13 2002-02-07 Palm, Inc. Method and apparatus for serial port sharing
CN101067794A (zh) * 2007-06-14 2007-11-07 中兴通讯股份有限公司 多核处理器及其串口复用方法

Also Published As

Publication number Publication date
CN101751291A (zh) 2010-06-23

Similar Documents

Publication Publication Date Title
CN101751291B (zh) 应用程序共享同一串口的方法与装置
US10338945B2 (en) Heterogeneous field devices control management system based on industrial internet operating system
US10365957B2 (en) Multicasting of event notifications using extended socket for inter-process communication
EP2814214B1 (en) A system for providing multi-cell support with a single symmetric multi-processing, smp, partition in a telecommunications network
CN101175033B (zh) 报文保序方法及其装置
EP3026863B1 (en) Firewall with application packet classifier
CN105610972A (zh) 集群式的任务调派系统
CN105528261B (zh) 一种嵌入式设备中智能输出调试信息的方法及系统
CN111209112A (zh) 一种异常处理方法及装置
CN110460623A (zh) 一种针对工业控制通用协议的处理系统、方法及终端
CN107066413A (zh) 一种用于处理多个总线设备数据的方法、及其总线系统
KR20060057587A (ko) 다중-채널-can-애플리케이션들의 진단을 위한 디바이스및 방법
CN105472290B (zh) 数据收发运行模式的处理方法及装置
EP3640187B1 (en) Method and system for monitoring elevator communication module fault and elevator
CN103731316B (zh) 一种流量监控装置及方法
EP1217517A1 (en) Synchronizing calls in a server and client system
CN111475368A (zh) 一种串口级联调控方法及串口设备
CN101488910B (zh) 用于在多个套接字之间通信的方法
CN114513383B (zh) 基于原始套接字的实时以太网现场总线数据包处理方法
CN101247397A (zh) 一种镜像和访问控制列表功能生效顺序的优化方法
CN105812327A (zh) 复合型高性能多用通讯方法及系统
CN106973065A (zh) 一种服务器事件处理系统及方法
JP6338186B2 (ja) 仮想化ネットワークシステム
CN101155177A (zh) 基于共用协议的数据通道共享系统及方法
CN107239353A (zh) 进程间通信方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Kezhu road high tech Industrial Development Zone, Guangzhou city of Guangdong Province, No. 233 510670

Patentee after: Wei Chong group Limited by Share Ltd

Address before: 510663 Guangzhou province high tech Industrial Development Zone, Guangdong, Cai road, No. 6, No.

Patentee before: Guangdong Weichuangshixun Science and Technology Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130320

Termination date: 20181230