The invention discloses a method for resolving the conflict between multiple software accessing hardware resources and a computer device. The method comprises the following steps: the isolator loads the hardware SDK; the isolator creates an instruction queue and a scan thread for scanning the instruction queue; the isolator receives instructions from the application software to access the hardware resources corresponding to the hardware SDK and adds the instructions to the instruction queue. The scanning thread ejects its scanned instructions from the instruction queue and invokes the hardware SDK to execute the ejected instructions sequentially. The invention can effectively solve the conflict problem when multiple software accesses hardware resources.
【技术实现步骤摘要】
一种解决多个软件访问硬件资源冲突的方法及设备
本专利技术涉及自动化控制领域,更具体地,涉及一种解决多个软件访问硬件资源冲突的方法及一种计算机设备。
技术介绍
在工业自动化控制领域,自动化软件要控制、使用硬件(如IO板卡),一般需要通过软件编程调用硬件厂商提供的SDK(SoftwareDevelopmentKit,软件开发包)来实现。然而,硬件厂商提供的SDK往往是独占式的,即同一时刻只能有一个软件通过调用SDK来使用此硬件。例如,有两个软件需访问硬件资源,当软件A加载SDK后,软件B也试图加载SDK就会失败。
技术实现思路
本专利技术的一个目的是提供一种解决多个软件访问硬件资源冲突的新技术方案。根据本专利技术的一个方面,提供了一种解决多个软件访问硬件资源冲突的方法,包括以下步骤:隔离程序加载硬件SDK;所述隔离程序创建指令队列和扫描线程,所述扫描线程用于扫描所述指令队列;所述隔离程序接收应用软件访问该硬件SDK对应的硬件资源的指令,将所述指令加入到所述指令队列中;所述扫描线程将其扫描到的指令从所述指令队列中弹出,调用所述硬件SDK按顺序执行弹出的指令。可选地,所述方法 ...
【技术保护点】
1.一种解决多个软件访问硬件资源冲突的方法,其特征在于,包括以下步骤:隔离程序加载硬件SDK;所述隔离程序创建指令队列和扫描线程,所述扫描线程用于扫描所述指令队列;所述隔离程序接收应用软件访问该硬件SDK对应的硬件资源的指令,将所述指令加入到所述指令队列中;所述扫描线程将其扫描到的指令从所述指令队列中弹出,调用所述硬件SDK按顺序执行弹出的指令。
【技术特征摘要】
1.一种解决多个软件访问硬件资源冲突的方法,其特征在于,包括以下步骤:隔离程序加载硬件SDK;所述隔离程序创建指令队列和扫描线程,所述扫描线程用于扫描所述指令队列;所述隔离程序接收应用软件访问该硬件SDK对应的硬件资源的指令,将所述指令加入到所述指令队列中;所述扫描线程将其扫描到的指令从所述指令队列中弹出,调用所述硬件SDK按顺序执行弹出的指令。2.根据权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:所述隔离程序创建TCP服务端,以和所述应用软件创建的TCP客户端建立连接;或者,所述隔离程序和所述应用软件通过虚拟串口通信。3.根据权利要求1所述的方法,其特征在于,所述扫描线程按照预设的周期扫描所述指令队列。4.根据权利要求1所述的方法,其特征在于,所述指令包括写数据指令,所述写数据指令包括需要写入的数据;所述隔离程序将所述写数据指令加入到所述指令队列中;所述扫描线程扫描到所述写数据指令时,将所述写数据指令从所述指令队列中弹出并执行。5.根据权利要求1所述的方法,其特征在于,所述指令包括读数据指令,所述读数据指令包括需要读取的数据的位置;所述隔离程序将所述读数据指令加入所述指令队列中;所述扫描线程扫描到所述读数据指令时,将所述读数据指令从所述指令队列中弹出并执行,以及在执行完成后,将读取到的数据发送给对应的应用软件。6.一种计算机设备,包...
【专利技术属性】
技术研发人员:吕建涛,王克生,
申请(专利权)人:歌尔股份有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。