CN104935487A - 总线上从机监控方法和装置 - Google Patents
总线上从机监控方法和装置 Download PDFInfo
- Publication number
- CN104935487A CN104935487A CN201510246350.0A CN201510246350A CN104935487A CN 104935487 A CN104935487 A CN 104935487A CN 201510246350 A CN201510246350 A CN 201510246350A CN 104935487 A CN104935487 A CN 104935487A
- Authority
- CN
- China
- Prior art keywords
- machine
- instant
- feedback information
- command
- linked list
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000012544 monitoring process Methods 0.000 title claims abstract description 57
- 230000004044 response Effects 0.000 claims description 26
- 238000012806 monitoring device Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/403—Bus networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Selective Calling Equipment (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本发明公开总线上从机监控方法和装置。方法包括:获取开始监控命令;判断即时命令队列是否为空;如果是,发送循环链表中当前节点指代的读命令到与读命令相对应的从机,读命令用于监测从机的当前状态,控制循环链表自动后移至当前节点的下一个节点,循环链表首尾相连,接收从机在响应读命令之后发送的第一反馈信息,处理第一反馈信息;如果否,发送即时命令队列中的即时命令到与即时命令相对应的从机,接收从机在响应即时命令之后发送的第二反馈信息,处理第二反馈信息,即时命令用于控制从机完成相应操作。采用本发明提供的技术方案,能够提高总线上对从机进行监控的效率。
Description
技术领域
本发明涉及控制技术领域,尤其涉及总线上从机监控方法和装置。
背景技术
监测、控制总线上的从机时,比如监测、控制RS485总线上的Modbus从机时,不但要不断读取从机的状态对从机进行监测,还要根据用户的操作或上位机监控程序本身的控制逻辑即时对从机进行控制。
目前的技术中,监控方法一般是基于优先级的控制方法,即对每种命令分别定义优先级或根据一些参数动态计算优先级,然后根据优先级的高低下发控制命令,进而读取从机的状态或对从机进行控制。
但是,目前的基于优先级的控制技术,用于总线上对从机进行监控时,需要针对每条命令定义优先级,下发命令时需要判断优先级,甚至有些命令的优先级需要根据一些参数(如命令生成的时间等)动态计算,比较复杂,这对于极其精确的高速实时控制确实需要,但对于一些慢速监控,比如,RS485总线上对Modbus从机进行监控,是没有必要的,过于复杂,导致效率比较低。
发明内容
有鉴于此,本发明提供了一种总线上从机监控方法和装置,用以解决现有的基于优先级的控制技术,用于总线上对从机进行监控时,过于复杂、效率较低的问题。
为实现上述目的,本发明提供如下技术方案:
一种总线上从机监控方法,包括:
获取开始监控命令;
判断即时命令队列是否为空;
如果是,执行第一控制指令集,如果否,执行第二控制指令集;
所述第一控制指令集包括:
发送循环链表中当前节点指代的读命令到与所述读命令相对应的从机,所述读命令用于监测所述从机的当前状态;控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连;接收所述从机在响应所述读命令之后发送的第一反馈信息;处理所述第一反馈信息;
所述第二控制指令集包括:
发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机;接收所述从机在响应所述即时命令之后发送的第二反馈信息;处理所述第二反馈信息;所述即时命令用于控制所述从机完成相应操作。
优选的,所述获取开始监控命令之前,还包括:
创建所述读命令,初始化与所述读命令相对应的所述循环链表,标定所述循环链表的所述当前节点;
初始化所述即时命令队列。
优选的,所述发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机,包括:
按照所述即时命令先进入所述即时命令队列,先发送的顺序,发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机。
优选的,所述第一控制指令集还包括:
持续第一预设时间未接收到所述第一反馈信息或者处理完成所述第一反馈信息时,判断是否存在用户输入的停止监控指令;
如果是,响应所述停止监控指令;
如果否,返回继续开始监控。
优选的,所述第二控制指令集还包括:
持续第二预设时间未接收到所述第二反馈信息或者处理完成所述第二反馈信息时,判断是否存在用户输入的停止监控指令;
如果是,响应所述停止监控指令;
如果否,返回继续开始监控。
一种总线上从机监控装置,包括:
获取单元,用于获取开始监控命令;
判断单元,用于判断即时命令队列是否为空;
第一控制单元,用于当所述即时命令队列为空时,发送循环链表中当前节点指代的读命令到与所述读命令相对应的从机,所述读命令用于监测所述从机的当前状态;控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连;接收所述从机在响应所述读命令之后发送的第一反馈信息;处理所述第一反馈信息;
第二控制单元,用于当所述即时命令队列不为空时,发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机,接收所述从机在响应所述即时命令之后发送的第二反馈信息,处理所述第二反馈信息。
优选的,还包括:
循环链表初始化单元,用于创建所述读命令,初始化与所述读命令相对应的所述循环链表,标定所述循环链表的所述当前节点;
即时命令队列初始化单元,用于初始化所述即时命令队列。
优选的,所述第一控制单元包括:
第一发送子单元,用于发送循环链表中当前节点指代的读命令到与所述读命令相对应的从机,所述读命令用于监测所述从机的当前状态;
第一控制子单元,用于控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连;
第一接收子单元,用于接收所述从机在响应所述读命令之后发送的第一反馈信息;
第一处理子单元,用于处理所述第一反馈信息。
优选的,所述第一控制单元还包括:
第二控制子单元,用于持续第一预设时间未接收到所述第一反馈信息或者处理完成所述第一反馈信息时,判断是否存在用户输入的停止监控指令,如果是,响应所述停止监控指令,如果否,触发所述判断单元,继续开始监控。
优选的,所述第二控制单元包括:
第二发送子单元,用于发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机;
第二接收子单元,用于接收所述从机在响应所述即时命令之后发送的第二反馈信息;
第二处理子单元,用于处理所述第二反馈信息。
优选的,所述第二控制单元还包括:
第三控制子单元,用于持续第二预设时间未接收到所述第二反馈信息或者处理完成所述第二反馈信息时,判断是否存在用户输入的停止监控指令,如果是,响应所述停止监控指令,如果否,触发所述判断单元,继续开始监控。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种总线上从机监控方法和装置,摒弃了现有技术中基于优先级的控制技术,提出了采用循环链表和即时命令队列相结合的方式,循环链表中的节点指代读命令,读命令用于监测所述从机的当前状态,即时命令队列中存储即时命令,用于控制所述从机完成相应操作。本发明提供的技术方案,当获取到开始监控命令后,判断即时命令队列是否为空,如果是,发送循环链表中当前节点指代的读命令到与所述读命令相对应的从机,控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连,实现读命令的循环下发,然后接收所述从机响应所述读命令后发送的第一反馈信息,处理所述第一反馈信息,从而完成对所述从机的持续监测;如果否,发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机,接收所述从机在响应所述即时命令之后发送的第二反馈信息,处理所述第二反馈信息,从而实现对所述从机的控制。因此,本发明提供的技术方案,通过循环链表和即时命令队列相结合的方式完成对总线上从机的监测和控制,不需要事先对读命令和即时命令定义优先级以及按照优先级对从机进行控制,比较适用于非高速监控的场景,监控流程相对简单,效率较高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种总线上从机监控方法的流程图;
图2为本发明实施例提供的另外一种总线上从机监控方法的流程图;
图3为本发明实施例提供的另外一种总线上从机监控方法的流程图;
图4为本发明实施例提供的一种总线上从机监控装置的结构图;
图5为本发明实施例提供的另外一种总线上从机监控装置的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
请参阅图1,图1为本发明实施例提供的一种总线上从机监控方法的流程图。如图1所示,该方法包括:
步骤S101,获取开始监控命令;
具体的,首先获取用户输入的开始监控指令。
步骤S102,判断即时命令队列是否为空;
具体的,当获取到用户输入的开始监控指令后,判断即时命令队列是否为空,如果是,执行步骤S103~S106,如果否,执行步骤S107~S109。所述即时命令队列用于由用户操作或者控制逻辑而产生的即时命令的先进先出存取。
步骤S103,发送循环链表中当前节点指代的读命令到与所述读命令相对应的从机;
具体的,所述循环链表中的当前节点是表示循环链表当前要下发的读命令,所述读命令用于监测所述从机的当前状态。
步骤S104,控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连;
具体的,所述循环链表自动后移至所述当前节点的下一个节点后,在下一轮的控制流程中,发送到从机的读命令为另一种读命令,所述循环链表中的当前节点继续后移,从而最终实现各种读命令的下发,实现对从机的完全监测。
步骤S105,接收所述从机在响应所述读命令之后发送的第一反馈信息;
具体的,所述从机在接收到上位机发送的所述读命令后,响应所述读命令,生成所述第一反馈信息,并将所述第一反馈信息发送至上位机。
步骤S106,处理所述第一反馈信息;
具体的,处理和分析所述第一反馈信息,从而获知所述从机的状态,实现对所述从机的监测。
步骤S107,发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机;
具体的,所述即时命令包括由用户操作或者上位机(即本机)控制逻辑而产生的即时命令,所述即时命令用于控制所述从机完成相应操作。需要说明的是,即时命令一般需要优先处理,因此,本发明提供的技术方案,按照所述即时命令先进入所述即时命令队列,先发送(即先进入所述即时命令队列的即时命令,先从所述即时命令队列出去)的顺序,发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机。
步骤S108,接收所述从机在响应所述即时命令之后发送的第二反馈信息;
具体的,所述从机在接收到上位机发送的所述即时命令后,响应所述即时命令,生成所述第二反馈信息,并将所述第二反馈信息发送至上位机。
步骤S109,处理所述第二反馈信息;
具体的,处理和分析所述第二反馈信息,从而获知所述从机对所述即时命令的执行结果,实现对所述从机的控制。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种总线上从机监控方法和装置,摒弃了现有技术中基于优先级的控制技术,提出了采用循环链表和即时命令队列相结合的方式,循环链表中的节点指代读命令,读命令用于监测所述从机的当前状态,即时命令队列中存储即时命令,用于控制所述从机完成相应操作。本发明提供的技术方案,当获取到开始监控命令后,判断即时命令队列是否为空,如果是,发送循环链表中当前节点指代的读命令到与所述读命令相对应的从机,控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连,实现读命令的循环下发,然后接收所述从机响应所述读命令后发送的第一反馈信息,处理所述第一反馈信息,从而完成对所述从机的持续监测;如果否,发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机,接收所述从机在响应所述即时命令之后发送的第二反馈信息,处理所述第二反馈信息,从而实现对所述从机的控制。因此,本发明提供的技术方案,通过循环链表和即时命令队列相结合的方式完成对总线上从机的监测和控制,不需要事先对读命令和即时命令定义优先级以及按照优先级对从机进行控制,比较适用于非高速监控的场景,监控流程相对简单,效率较高。
需要说明的是,执行本发明实施例一提供的技术方案,需要事先做一些准备工作,请参阅实施例二。
实施例二
请参阅图2,图2为本发明实施例提供的另外一种总线上从机监控方法的流程图。如图2所示,该方法包括:
步骤S201,创建读命令,初始化与所述读命令相对应的循环链表,标定所述循环链表的当前节点;
具体的,不同总线上基于不同通讯协议的从机,从机所使用变量的种类和每种变量的地址空间大小,可能会有所不同。下面,本发明以RS485总线上Modbus通讯协议为例进行阐述。
Modbus标准协议中,最常用的监控变量分为固定的几种,如线圈(可读写的离散变量)、输入离散量(只读的离散变量)、保持寄存器(可读写的模拟变量)以及输入寄存器(只读的模拟变量)等,分别针对每种监控变量进行统一编址,使相同种类的变量位于同一地址空间,这样一次就可以读取所有相同种类变量的状态,从而,对Modbus从机所有监控变量状态的读取只需要几次读取命令即可完成。本发明把这几种固定的读取每种类型中所有变量状态的读命令放到一个首尾相连的循环链表中。
具体的,初始化所述循环链表时,首先根据Modbus从机使用变量的种类和各种变量的地址空间大小,创建读命令,然后用这些读命令初始化一个循环链表,并指定循环链表的当前节点。进一步的,创建读命令时,考虑到Modbus从机可能只使用协议中规定的常用的几种变量的某些种类,因此,创建读命令时只针对具体监控的Modbus从机使用的变量类型进行创建,如某个Modbus从机只使用了线圈和保持寄存器,并没有使用输入离散量和输入寄存器,那对该Modbus从机创建读命令时,只需创建针对线圈和保持寄存器的读命令即可。具体的,所述步骤S201的执行,基于获取到用户输入的循环链表初始化指令集。
步骤S202,初始化即时命令队列;
具体的,获取用户输入的创建即时命令队列指令,创建空的即时命令队列,所述即时命令队列用于由用户操作或者控制逻辑而产生的即时命令的先进先出存取。
步骤S203,获取开始监控命令;
具体的,首先获取用户输入的开始监控指令。
步骤S204,判断所述即时命令队列是否为空;
具体的,当获取到用户输入的开始监控指令后,判断即时命令队列是否为空,如果是,执行步骤S205~S208,如果否,执行步骤S209~S211。
步骤S205,发送所述循环链表中当前节点指代的读命令到与所述读命令相对应的从机;
具体的,所述循环链表中的当前节点是表示循环链表当前要下发的读命令,所述读命令用于监测所述从机的当前状态。
步骤S206,控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连;
具体的,所述循环链表自动后移至所述当前节点的下一个节点后,在下一轮的控制流程中,发送到从机的读命令为另一种读命令,所述循环链表中的当前节点继续后移,从而最终实现各种读命令的下发,实现对从机的完全监测。
步骤S207,接收所述从机在响应所述读命令之后发送的第一反馈信息;
具体的,所述从机在接收到上位机发送的所述读命令后,响应所述读命令,生成所述第一反馈信息,并将所述第一反馈信息发送至上位机。
步骤S208,处理所述第一反馈信息;
具体的,处理和分析所述第一反馈信息,从而获知所述从机的状态,实现对所述从机的监测。
步骤S209,发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机;
具体的,所述即时命令包括由用户操作或者上位机(即本机)控制逻辑而产生的即时命令,所述即时命令用于控制所述从机完成相应操作。需要说明的是,即时命令一般需要优先处理,因此,本发明提供的技术方案,按照所述即时命令先进入所述即时命令队列,先发送(即先进入所述即时命令队列的即时命令,先从所述即时命令队列出去)的顺序,发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机。
步骤S210,接收所述从机在响应所述即时命令之后发送的第二反馈信息;
具体的,所述从机在接收到上位机发送的所述即时命令后,响应所述即时命令,生成所述第二反馈信息,并将所述第二反馈信息发送至上位机。
步骤S211,处理所述第二反馈信息;
具体的,处理和分析所述第二反馈信息,从而获知所述从机对所述即时命令的执行结果,实现对所述从机的控制。
为了进一步完善本发明提供的技术方案,本发明还公开另外一个具体实施例。
实施例三
请参阅图3,图3为本发明实施例提供的另外一种总线上从机监控方法的流程图。如图3所示,该方法包括:
步骤S301,获取开始监控命令;
步骤S302,判断即时命令队列是否为空;
具体的,当获取到用户输入的开始监控指令后,判断即时命令队列是否为空,如果是,执行步骤S303~S307,如果否,执行步骤S308~S311。
步骤S303,发送循环链表中当前节点指代的读命令到与所述读命令相对应的从机;
具体的,所述循环链表中的当前节点是表示循环链表当前要下发的读命令,所述读命令用于监测所述从机的当前状态。
步骤S304,控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连;
步骤S305,接收所述从机在响应所述读命令之后发送的第一反馈信息;
步骤S306,处理所述第一反馈信息;
步骤S307,持续第一预设时间未接收到所述第一反馈信息或者处理完成所述第一反馈信息时,判断是否存在用户输入的停止监控指令;如果是,执行步骤S312,如果否,返回步骤S302;
步骤S308,发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机;
步骤S309,接收所述从机在响应所述即时命令之后发送的第二反馈信息;
步骤S130,处理所述第二反馈信息;
步骤S311,持续第二预设时间未接收到所述第二反馈信息或者处理完成所述第二反馈信息时,判断是否存在用户输入的停止监控指令;如果是,执行步骤S312,如果否,返回步骤S302;
步骤S312,响应所述停止监控指令,停止对所述从机进行监控。
为了更加全面地阐述本发明提供的技术方案,对应于本发明实施例提供的总线上从机监控方法,本发明进一步公开总线上从机监控装置。
请参阅图4,图4为本发明实施例提供的一种总线上从机监控装置的结构图。如图4所示,该装置包括:
获取单元401,用于获取开始监控命令;
判断单元402,用于判断即时命令队列是否为空;
第一控制单元403,用于当所述即时命令队列为空时,发送循环链表中当前节点指代的读命令到与所述读命令相对应的从机,所述读命令用于监测所述从机的当前状态;控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连;接收所述从机在响应所述读命令之后发送的第一反馈信息;处理所述第一反馈信息;
第二控制单元404,用于当所述即时命令队列不为空时,发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机,接收所述从机在响应所述即时命令之后发送的第二反馈信息,处理所述第二反馈信息。
具体的,所述第一控制单元403包括:
第一发送子单元,用于发送循环链表中当前节点指代的读命令到与所述读命令相对应的从机,所述读命令用于监测所述从机的当前状态;
第一控制子单元,用于控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连;
第一接收子单元,用于接收所述从机在响应所述读命令之后发送的第一反馈信息;
第一处理子单元,用于处理所述第一反馈信息。
进一步的,所述第一控制单元403还包括:
第二控制子单元,用于持续第一预设时间未接收到所述第一反馈信息或者处理完成所述第一反馈信息时,判断是否存在用户输入的停止监控指令,如果是,响应所述停止监控指令,如果否,触发所述判断单元,继续开始监控。
具体的,所述第二控制单元404包括:
第二发送子单元,用于发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机;
第二接收子单元,用于接收所述从机在响应所述即时命令之后发送的第二反馈信息;
第二处理子单元,用于处理所述第二反馈信息。
进一步的,所述第二控制单元404还包括:
第三控制子单元,用于持续第二预设时间未接收到所述第二反馈信息或者处理完成所述第二反馈信息时,判断是否存在用户输入的停止监控指令,如果是,响应所述停止监控指令,如果否,触发所述判断单元,继续开始监控。
进一步的,请参阅图5,图5为本发明实施例提供的另外一种总线上从机监控装置的结构图。如图5所示,该装置包括:
循环链表初始化单元501,用于创建所述读命令,初始化与所述读命令相对应的所述循环链表,标定所述循环链表的所述当前节点;
即时命令队列初始化单元502,用于初始化所述即时命令队列。
获取单元503,用于获取开始监控命令;
判断单元504,用于判断即时命令队列是否为空;
第一控制单元505,用于当所述即时命令队列为空时,发送循环链表中当前节点指代的读命令到与所述读命令相对应的从机,所述读命令用于监测所述从机的当前状态;控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连;接收所述从机在响应所述读命令之后发送的第一反馈信息;处理所述第一反馈信息;
第二控制单元506,用于当所述即时命令队列不为空时,发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机,接收所述从机在响应所述即时命令之后发送的第二反馈信息,处理所述第二反馈信息。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的总线上从机监控装置而言,由于其与实施例公开的总线上从机监控方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种总线上从机监控方法,其特征在于,包括:
获取开始监控命令;
判断即时命令队列是否为空;
如果是,执行第一控制指令集,如果否,执行第二控制指令集;
所述第一控制指令集包括:
发送循环链表中当前节点指代的读命令到与所述读命令相对应的从机,所述读命令用于监测所述从机的当前状态;控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连;接收所述从机在响应所述读命令之后发送的第一反馈信息;处理所述第一反馈信息;
所述第二控制指令集包括:
发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机;接收所述从机在响应所述即时命令之后发送的第二反馈信息;处理所述第二反馈信息;所述即时命令用于控制所述从机完成相应操作。
2.根据权利要求1所述的方法,其特征在于,所述获取开始监控命令之前,还包括:
创建所述读命令,初始化与所述读命令相对应的所述循环链表,标定所述循环链表的所述当前节点;
初始化所述即时命令队列。
3.根据权利要求1所述的方法,其特征在于,所述发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机,包括:
按照所述即时命令先进入所述即时命令队列,先发送的顺序,发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机。
4.根据权利要求1所述的方法,其特征在于,所述第一控制指令集还包括:
持续第一预设时间未接收到所述第一反馈信息或者处理完成所述第一反馈信息时,判断是否存在用户输入的停止监控指令;
如果是,响应所述停止监控指令;
如果否,返回继续开始监控。
5.根据权利要求1所述的方法,其特征在于,所述第二控制指令集还包括:
持续第二预设时间未接收到所述第二反馈信息或者处理完成所述第二反馈信息时,判断是否存在用户输入的停止监控指令;
如果是,响应所述停止监控指令;
如果否,返回继续开始监控。
6.一种总线上从机监控装置,其特征在于,包括:
获取单元,用于获取开始监控命令;
判断单元,用于判断即时命令队列是否为空;
第一控制单元,用于当所述即时命令队列为空时,发送循环链表中当前节点指代的读命令到与所述读命令相对应的从机,所述读命令用于监测所述从机的当前状态;控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连;接收所述从机在响应所述读命令之后发送的第一反馈信息;处理所述第一反馈信息;
第二控制单元,用于当所述即时命令队列不为空时,发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机,接收所述从机在响应所述即时命令之后发送的第二反馈信息,处理所述第二反馈信息。
7.根据权利要求6所述的装置,其特征在于,还包括:
循环链表初始化单元,用于创建所述读命令,初始化与所述读命令相对应的所述循环链表,标定所述循环链表的所述当前节点;
即时命令队列初始化单元,用于初始化所述即时命令队列。
8.根据权利要求6所述的装置,其特征在于,所述第一控制单元包括:
第一发送子单元,用于发送循环链表中当前节点指代的读命令到与所述读命令相对应的从机,所述读命令用于监测所述从机的当前状态;
第一控制子单元,用于控制所述循环链表自动后移至所述当前节点的下一个节点,所述循环链表首尾相连;
第一接收子单元,用于接收所述从机在响应所述读命令之后发送的第一反馈信息;
第一处理子单元,用于处理所述第一反馈信息。
9.根据权利要求8所述的装置,其特征在于,所述第一控制单元还包括:
第二控制子单元,用于持续第一预设时间未接收到所述第一反馈信息或者处理完成所述第一反馈信息时,判断是否存在用户输入的停止监控指令,如果是,响应所述停止监控指令,如果否,触发所述判断单元,继续开始监控。
10.根据权利要求6所述的装置,其特征在于,所述第二控制单元包括:
第二发送子单元,用于发送所述即时命令队列中的即时命令到与所述即时命令相对应的从机;
第二接收子单元,用于接收所述从机在响应所述即时命令之后发送的第二反馈信息;
第二处理子单元,用于处理所述第二反馈信息。
11.根据权利要求10所述的装置,其特征在于,所述第二控制单元还包括:
第三控制子单元,用于持续第二预设时间未接收到所述第二反馈信息或者处理完成所述第二反馈信息时,判断是否存在用户输入的停止监控指令,如果是,响应所述停止监控指令,如果否,触发所述判断单元,继续开始监控。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510246350.0A CN104935487B (zh) | 2015-05-14 | 2015-05-14 | 总线上从机监控方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510246350.0A CN104935487B (zh) | 2015-05-14 | 2015-05-14 | 总线上从机监控方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104935487A true CN104935487A (zh) | 2015-09-23 |
CN104935487B CN104935487B (zh) | 2018-04-20 |
Family
ID=54122463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510246350.0A Active CN104935487B (zh) | 2015-05-14 | 2015-05-14 | 总线上从机监控方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104935487B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000165421A (ja) * | 1998-11-25 | 2000-06-16 | Nec Kofu Ltd | マルチスレーブバスラインシステム及びシリアル転送方法 |
CN101222377A (zh) * | 2007-11-23 | 2008-07-16 | 深圳国人通信有限公司 | 一种分布式主从机通信中对从机参数的处理方法及装置 |
CN101763333A (zh) * | 2008-12-08 | 2010-06-30 | 北京谊安医疗系统股份有限公司 | 总线控制器及实现多主机通信的方法 |
CN102540973A (zh) * | 2010-12-09 | 2012-07-04 | 中国科学院沈阳计算技术研究所有限公司 | 一种用于数控系统的命令多发机制的实现方法 |
CN102750241A (zh) * | 2012-06-13 | 2012-10-24 | 中国科学院声学研究所 | 一种上位机和下位机之间的通信方法及系统 |
-
2015
- 2015-05-14 CN CN201510246350.0A patent/CN104935487B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000165421A (ja) * | 1998-11-25 | 2000-06-16 | Nec Kofu Ltd | マルチスレーブバスラインシステム及びシリアル転送方法 |
CN101222377A (zh) * | 2007-11-23 | 2008-07-16 | 深圳国人通信有限公司 | 一种分布式主从机通信中对从机参数的处理方法及装置 |
CN101763333A (zh) * | 2008-12-08 | 2010-06-30 | 北京谊安医疗系统股份有限公司 | 总线控制器及实现多主机通信的方法 |
CN102540973A (zh) * | 2010-12-09 | 2012-07-04 | 中国科学院沈阳计算技术研究所有限公司 | 一种用于数控系统的命令多发机制的实现方法 |
CN102750241A (zh) * | 2012-06-13 | 2012-10-24 | 中国科学院声学研究所 | 一种上位机和下位机之间的通信方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104935487B (zh) | 2018-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110765034B (zh) | 一种数据预取方法及终端设备 | |
CN105262680A (zh) | 一种应用于云存储系统的多线程nas网关 | |
CN111563461B (zh) | 清洁设备的清洁路径获取方法、装置及存储介质 | |
CN109213080B (zh) | 一种机床的控制方法及其装置 | |
CN107798039A (zh) | 一种数据同步方法和装置 | |
CN104935487A (zh) | 总线上从机监控方法和装置 | |
CN105320246B (zh) | 一种信息处理方法及电子设备 | |
JP6312780B2 (ja) | Hmiシステムのモニタリングビューアー表示方法 | |
CN105892596A (zh) | 一种信息处理方法及电子设备 | |
CN110442059A (zh) | 被控设备拓展方法、装置及控制设备 | |
CN113076093B (zh) | 电力监控系统配置方法、装置及终端 | |
CN113819587B (zh) | 用于空调控制的方法、装置及空调 | |
CN110733037B (zh) | 信号的处理方法及装置、存储介质及处理器 | |
CN112992142B (zh) | 一种语音信息回复方法、装置、设备及介质 | |
CN104809222B (zh) | 一种id生成方法及装置 | |
CN104615349A (zh) | 一种信息处理的方法及电子设备 | |
CN105022647B (zh) | 一种应用安装的控制方法及终端 | |
CN115079820A (zh) | 一种虚拟场景动态切换方法、系统、存储介质及设备 | |
CN114285692A (zh) | 通信控制系统、身份确定方法、分配方法及设备 | |
CN106302046A (zh) | 遥控器控制方法及装置 | |
WO2020082852A1 (zh) | 控制家用电器的方法、系统及装置、家用电器 | |
CN111723388A (zh) | 一种密码运算防护方法、装置、设备及介质 | |
CN110635984A (zh) | 一种获取电表的通讯地址的方法、装置及系统 | |
CN110737297A (zh) | 基于物联网的实现远程多温室环境控制的方法及装置 | |
Bu et al. | CoTuner: a framework for coordinated auto-configuration of virtualized resources and appliances |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |