一种指令处理方法及装置的制造方法

文档序号:9765492阅读:342来源:国知局
一种指令处理方法及装置的制造方法
【技术领域】
[0001] 本发明涉及电子技术领域,尤其涉及一种指令处理方法及装置。
【背景技术】
[0002] Mo化US是应用于电子控制器上的一种通用语言。Mo化US通信系统由一台控 制器(也称主站)和多台变频器(也称从站)构成,控制器可为上位机或逻辑控制器 (Programm油Ie Logic Controller,简称化C)。控制器通过Modbus协议与变频器进行通 信,W监视变频器的运行状态,并设定或查看参数等。
[0003] 控制器通过一个通信周期向变频器发送一条指令的过程如下;控制器发送指令给 变频器,变频器收到后执行该指令,并发送响应消息给控制器。控制器发送的指令可W用于 指示变频器读取多个寄存器内存储的数据,或可W指示变频器向多个寄存器写入数据,只 有在所述多个寄存器的地址为连续地址时,控制器才能通过发送一条指令来实现上述读取 多个寄存器内的数据的操作或向多个寄存器写入数据的操作。当需要读取多个地址不连 续的寄存器中的数据,或向多个地址不连续的寄存器写入数据时,控制器需通过发送多条 指令给变频器W完成上述操作。例如,当用户需要读取变频器内地址分别为〇〇〇lH、0100H、 1000 H的寄存器时,控制器需通过发送H条指令给变频器来读取该H个寄存器内的数据。
[0004] 由于一个通信周期内只能发送一条指令,因此当读取或写入的寄存器的地址不连 续时,现有技术提供的指令处理方法具有较大时延,进而降低了通信效率。
[0005] 由此可见,亟需一种指令处理方法及装置,用W降低通信时延,提高通信效率。

【发明内容】

[0006] 本发明实施例提供一种指令处理方法及装置,用W降低通信时延,提高通信效率。
[0007] 本发明实施例提供一种指令处理方法,应用于采用Mo化US通信协议进行通信的 系统,包括:
[000引接收指令;
[0009] 获得所述指令中携带的起始地址W及寄存器数量,所述寄存器数量为N,N > 1 ;
[0010] 根据所述起始地址W及寄存器数量确定出连续的N个第一地址,并获得与所述连 续的N个第一地址一一对应的N个寄存器地址,其中,所述N个寄存器地址为不连续的地 址;
[0011] 根据所述N个寄存器地址执行所述指令。
[001引比如,接收控制器发送的指令。所述指令的发送方式W及格式等符合Mo化US通信 协议。可W通过解析获取指令中携带的起始地址W及寄存器数量,寄存器数量为N,N> 1。
[0013] 根据所述起始地址W及寄存器数量确定出连续的N个第一地址,并获得与所述连 续的N个第一地址一一对应的N个寄存器地址,根据所述N个寄存器地址执行所述指令;其 中,所述N个寄存器地址为不连续的地址。
[0014] 一种较佳的实施方式为在获得与所述连续的N个第一地址一一对应的N个寄存器 地址之前,判断根据所述起始地址W及寄存器数量确定出连续的N个第一地址是否处于第 一地址集合内,若所述起始地址W及寄存器数量所确定出的连续的N个第一地址处于第一 地址集合内,则根据所述第一地址集合中包含的每一个第一地址与各个寄存器地址之间的 对应关系,将连续的N个第一地址--对应为N个寄存器地址。
[0015] 较佳的,预设的所述连续的N个第一地址与N个寄存器地址的对应关系,或所述第 一地址集合中包含的每一个第一地址与各个寄存器地址之间的对应关系,均可W W对应关 系表的方式进行存储。
[0016] 第一地址集合内的地址为虚拟的寄存器地址,即,第一地址集合内的地址的长度 与寄存器地址的长度相同,但第一地址集合内的地址的取值范围不在变频器的寄存器地址 取值范围之内。第一地址集合内的地址也可W是未被占用的寄存器地址,即,第一地址集合 内的地址的取值范围在变频器的寄存器地址取值范围之内,但第一地址集合内的地址所对 应的寄存器未被变频器所使用。
[0017] 在本发明实施例中,针对需要通过一条指令对多个地址不连续的寄存器进行处理 操作的需求,预先设定一个特殊的第一地址集合,并将多个地址不连续的寄存器对应为第 一地址集合内的一段连续的地址(如上述的连续的N个第一地址),并将送种对应关系配置 到指令接收端,比如变频器中。上述第一地址集合中包含的每一个第一地址与各个寄存器 地址的对应关系,可存储为对应表。由于上述连续的N个第一地址即在第一地址集合内部, 因此根据预设的对应关系可获得与连续的N个第一地址分别对应的N个寄存器地址。该对 应表被配置到指令接收端,比如变频器,并可被变频器访问。送样第一地址集合内地址的个 数可W大于N,并且可W根据需要选择N。
[0018] 在指令发送端,比如控制器,可在指令中指示出所述连续的N个第一地址,用来表 示所述N个地址不连续的寄存器。在指令接收端,比如变频器,收到该指令后,根据连续的N 个第一地址与寄存器地址的一一对应关系,将连续的N个第一地址对应为不连续的N个寄 存器地址。
[0019] 另一种较佳的实现方式中,在指令接收端,比如变频器,收到该指令后,先判断该 指令所指示出的连续的N个第一地址是否处于第一地址集合内。若判断该指令所指示出 的连续的N个第一地址处于第一地址集合内,则根据第一地址与寄存器地址的对应关系, 将连续的N个第一地址对应为不连续的N个寄存器地址。若判断该指令所指示出的连续的 N个第一地址未处于第一地址集合内,则根据目前的Mo化US通信协议进行处理,比如,针对 连续的N个第一地址所指示的寄存器进行处理操作。
[0020] 根据Mo化US通信协议,发给变频器的指令中携带有功能码。如果指令中携带的功 能码为用于指示读取寄存器的功能码,则变频器在根据该指令读取到相应寄存器内的数据 后,将读取到的数据携带于响应消息,并发送该响应消息。该响应消息符合Mo化US通信协 议的规定。有些寄存器上存储着监视参数的信息,控制器经常需要读取寄存器内的不同的 监视参数来确认变频器的运行状况,例如Ul为状态监视,U2为故障跟踪,U3为故障记录, U4为维护监视,当用户需要读取监视参数的信息时,指令中携带有用于指示读取寄存器的 功能码,且连续的N个第一地址对应得到的N个寄存器地址为用于存储监视参数的N个寄 存器的地址,此时,用户从存储有监视参数的N个寄存器中读取监视参数的信息。
[0021] 如果指令中携带的功能码为用于指示向寄存器写入数据的功能码,则变频器根据 该指令将该指令中携带的需要写入的数据写入相应的寄存器。
[0022] 通过上述可知,由于可依据所接收的一条指令中的起始地址W及寄存器数量确定 出连续的N个第一地址,继而获得与连续的N个第一地址一一对应的N个寄存器地址,女口 此,可将N个不连续的寄存器地址对应为连续的N个第一地址,送样指令发送端可在一条指 令中指示出该连续的N个第一地址,而在信令接收端将该连续的N个第一地址一一对应为N 个不连续的寄存器地址,从而可通过一条指令指示出对N个地址不连续的寄存器进行读或 写操作。因此与现有技术中使用多条指令来完成对N个地址不连续的寄存器进行读或写操 作相比,采用本发明的上述实施例可减少通信时延,提高通信效率。
[0023] 本发明实施例还提供了另一种指令处理方法,应用于采用Mo化US通信协议进行 通信的系统,包括:
[0024] 为了获得与N个不连续的寄存器地址一一对应的N个第一地址,获得所述第一地 址的起始地址W及寄存器数量,N > 1 ;
[0025] 生成指令,其中,指令中携带起始地址W及寄存器数量;所生成的指令中至少携带 连续的N个第一地址的起始地址W及寄存器数量。所生成的指令的格式符合Mcxlbus通信 协议的规定。
[002引发送指令。
[0027] 具体来说,用户可通过用户界面输入所请求读取或写入的参数所在的寄存器地址 中的起始地址W及寄存器数量,提交包含该起始地址W及寄存器数量的请求消息。如前所 述,针对需要通过一条指令对多个地址不连续的寄存器进行处理操作的需求,可将需要通 过一条指令进行处理操作的多个地址不连续的寄存器的地址对应为连续的N个第一地址。 较佳的,所述起始地址W及寄存器数量所确定出的连续的N个第一地址处于第一地址集合 内,第一地址集合中包含的每一个第一地址与各个寄存器地址之间一一对应。连续的N个 第一地址为第一地址集合内的一段连续的地址,用户所提交的请求消息中所携带的起始地 址为该连续的N个第一地址的起始地址,该连续的N个第一地址可对应为N个不连续的寄 存器地址。
[0028] 较佳的,预设的所述连续的N个第一地址与N个寄存器地址的对应关系,或所述第 一地址集合中包含的每一个第一地址与各个寄存器地址之间的对应关系,均可W W对应关 系表的方式进行存储。
[0029] 所述第一地址集合是预先设定的,第一地址集合为虚拟的寄存器地址,即,第一地 址集合的长度与寄存器地址的长度相同,但第一地址集合的取值范围不在变频器的寄存器 地址取值范围之内。第一地址集合也可W是未被占用的寄存器地址,即,第一地址集合的取 值范围在变频器的寄存器地址取值范围之内,但第一地址集合所对应的寄存器未被变频器 所使用。
[0030] 在本发明实施例中,针对需要通过一条指令对多个地址不连续的寄存器进行处理 操作的需求,预先设定一个特殊的第一地址集合,并将多个地址不连续的寄存器对应为第 一地址集合内的一段连续的地址(如上述的连续的N个第一地址),并将送种对应关系配置 到指令接收端,比如变频器中。上述第一地址集合中包含的每一个第一地址与各个寄存器 地址的对应关系,可存储为对应表。由于上述连续的N个第一地址即在第一地址集合内部, 因此根据预设的对应关系可获得与连续的N个第一地址分别对应的N个寄存器地址。该对 应表被配置到指令接收端,比如变频器,并可被变频器访问。送样第一地址集合内地址的个 数可W大于N,并且可W根据需要选择N。
[0031] 根据Mo化US通信协议,例如发给变频器的指令中携带有功能码。如果指令中携带 的功能码为用于指示读取寄存器的功能码,则变频器在根据该指令读取到相应寄存器内的 数据后,将读取到的数据携带于响应消息,并发送该响应消息给控制器。该响应消息符合 Mo化US通信协议的规定。有些寄存器上存储着监视参数的信息,控制器经常需要读取寄存 器内的不同的监视参数来确认变频器的运行状况,例如Ul为状态监视,U2为故障跟踪,U3 为故障记录,U4为维护监视,当用户需要读取监视参数的信息时,指令中携带有用于指示读 取寄存器的功能码,且连续的N个第一地址对应得到的N个寄存器地址为用于存储监视参 数的N个寄存器的地址,此时,用户从存储有监视参数的N个寄存器中读取监视参数的信 息。
[0032] 如果指令中携带的功能码为用于指示向寄存器写入数据的功能码,则变频器根据 该指令将该指令中携带的需要写入的数据写入相应的寄存器。
[0033] 通过上述可知,由于可依据所接收的一条指令中的起始地址W及寄存器数量确定 出连续的N个第一地址,继而获得与连续的N个第一地址一一对应的N个寄存器地址,女口 此,可将N个不连续的寄存器地址对应为连续的N个第一地址,送样指令发送端可在一条指 令中指示出该连续的N个第一地址,而在信令接收端将该连续的N个第一地址一一对应为N 个不连续的寄存器地址,从而可通过一条指令指示出对N个地址不连续的寄存器进行读或 写操作。因此与现有技术中使用多条指令来完成对N个地址不连续的寄存器进行读或写操 作相比,采用本发明的上述实施例可减少通信时
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1