数控机床系统中实现指令交互的方法

阅读: 评论:0

著录项
  • CN200910194408.6
  • 20090821
  • CN101630155A
  • 20100120
  • 上海奈凯电子科技有限公司;上海维宏电子科技有限公司
  • 赵东京;李清涛;汤同奎
  • G05B19/18
  • G05B19/18

  • 上海市闵行区立跃路778号115室G座
  • 上海(31)
  • 上海天翔知识产权代理有限公司
  • 陈学雯
摘要
数控机床系统中实现指令交互的方法,其特点是:所述的系统中设置有一个环形缓冲区,所述的方法包括定义指令、环形缓冲区内存申请、指令写入、指令读取。本方法中由于在数控机床系统中采用环形缓冲区内存共享,并使用缓冲区中只有一个读写,这样我们的数控机床系统节省了R0到R3传输花费,提高了性能还节省空间,由于我们定义的缓冲区,只要求一个线程读操作,一个线程写操作,这样该数控机床系统对于指令交互是线程安全的。
权利要求

1、数控机床系统中实现指令交互的方法,包括以下步骤:

1)定义指令

1a)定义一个指令内存空间块,通常是最大指令的大小;

1b)使用一个标识符,便于指令识别;

1c)根据指令标识符,在指令中放置不同的指令信息;

2)环形缓冲区内存申请、指令写入、指令读取;

2a)系统定义读数据位置指针和写数据位置指针;

2b)系统申请一块内存空间,其空间大小是指令的内存空间倍数;

2c)系统将读数据位置指针和写数据位置指针都指向上一步骤申请 的内存空间的开始位置;

2d)在R0申请上述数据结构内存空间,然后把其数据指针传送到应 用程序R3;

3)指令写入

3a)系统进入指令写入操作;

3b)判断环形缓冲区中是否已经满了;

3c)如果环形缓冲区未满,则把指令放入环形缓冲队列中,也就是 把指令数据复制到环形缓冲区中;

3d)如果缓冲区已满,则等待一段时间,返回上述3b)步骤;

4)指令读取

4a)系统轮询环形缓冲区中是否有数据可读;

4b)如果有数据可读,则定义一个指令变量,然后从环形缓冲区中 取出一个指令,并把指令数据复制到指令变量中;

4c)如果无数据可读,处理其他操作,然后进入上述4a)步骤。

2、根据权利要求1所述的数控机床系统中实现指令交互的方法,其特征 在于,所述指令内存空间块,在各个指令中都是一样的;指令都有一个标示 为什么样类型指令的标示符;指令中带有相关指令信息的数据区。

3、根据权利要求1所述的数控机床系统中实现指令交互的方法,其特征 在于,所述环形缓冲区的空间大小为L,L=Nn,其中,N为系统定义的指令 个数,n为指令的空间大小。

说明书
技术领域

技术领域

本发明涉及数控机床系统领域,特别涉及数控机床系统运动控制领域, 具体是一种数控系统中实现指令与硬件交互的方法。

背景技术

制造业是国民经济的基础产业,制造业的水平高低是衡量一个国家工业 发达程度的重要标志。数控机床质量水平高低,关系着国家制造业水平的高 低。

在现有的技术中我们经常使用机床系统进行相应的控制运动操作。在机 床控制运动系统中,机床指令发送到机床控制卡中。如果采取传统的方式, 那么指令传输方式非常低效。这样就可能达不到我们想要的控制机床运动轨 迹。另外由于不断申请内存、释放内存、复制内存等操作,造成了性能的损 失。

发明内容

本发明所要解决的技术问题在于,克服现有技术中存在的问题,提供一 种能够在数控机床控制系统中实现高速传输指令、处理过程简单,内存空间 可重复使用、容易理解,数据传送安全。适用范围较为广泛的数控机床系统 中实现高速指令传输的方法。

为了解决上述问题本发明的技术方案是这样的:

数控机床系统中实现指令交互的方法,其特征包括以下步骤:

1)定义指令

1a)定义一个指令内存空间块,通常是最大指令内存空间的大小;

1b)使用一个标识符,便于指令识别;

1c)根据指令标识符,在指令中放置不同的指令信息;

2)环形缓冲区内存申请、指令写入、指令读取;

2a)系统定义读数据位置指针和写数据位置指针;

2b)系统申请一块内存空间,其内存空间大小是指令的内存空间倍 数;

2c)系统将读数据位置指针和写数据位置指针都指向步骤2b)申请的 内存空间的开始位置;

2d)在R0申请上述数据结构内存空间,然后把其数据指针传送到应 用程序R3;

(R0和R3是CPU设定的特权级,分别为R0、R1、R2、R3。R0拥有最 高级别,能够访问计数机所有的资源,操作系统运行于此层;R3是最低级别, 无法访问系统内核资源,应用程序运行在此层,简单来说R3不能访问R0数 据,R0可能访问R3数据);

3)指令写入

3a)系统进入指令写入操作;

3b)判断环形缓冲区中是否已经满了;

3c)如果环形缓冲区未满,则把指令放入环形缓冲队列中,也就是 把指令数据复制到环形缓冲区中;

3d)如果缓冲区已满,则等待一段时间,返回上述3b)步骤;

4)指令读取

4a)系统轮询环形缓冲区中是否有数据可读;

4b)如果有数据可读,则定义一个指令变量,然后从环形缓冲区中 取出一个指令,并把指令数据复制到指令变量中;

4c)如果无数据可读,处理其他操作,然后进入上述4a)步骤。

所述指令内存空间块,在各个指令中都是一样的;指令都有一个标识,标 识该指令的是具体完成什么功能;指令中带有相关指令信息的数据区。

所述环形缓冲区的空间大小为L,L=Nn,其中,N为系统定义的指令个 数,n为指令的空间大小。

有益效果:采用该发明的数控机床系统中实现指令传输方法,由于在数 控机床系统中采用环形缓冲区内存共享,并使用缓冲区中只有一个读写,这 样我们的数控机床系统节省了R0到R3传输花费,提高了性能还节省空间, 由于我们定义的缓冲区,只要求一个线程用于读操作,一个线程用于写操作, 这样该数控机床系统对于指令交互是线程安全的。

附图说明

下面结合附图和具体实施方式来详细说明本发明;

图1为本发明的写入指令流程。

图2为本发明的读取指令流程。

图3为系统结构流程图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了 解,下面结合具体图示,进一步阐述本发明。

参看图1、图2、图3

首先对数控机床技术领域中的几个名词进行解释:

指令——指用于控制板卡的命令信息,在驱动中被解释成有意义的信息。

逻辑正方向——指环形缓冲区中先存入数据到后存入数据在环形缓冲区 中的排列的逻辑方向。

逻辑负方向——指环形缓冲区中先存入数据到后存入数据在环形缓冲区 中的排列的逻辑方向的反方向。

该数控机床系统中实现高速指令交互的方法,其特点是:所述的系统中 设置有一个环形缓冲区,所述的方法包括定义指令1)、环形缓冲区内存申请 2)、指令写入3)、指令读取4)。

1)所述的定义指令方法包括以下步骤:

1a)定义一个指令内存空间块,通常是最大指令的大小;

1b)使用一个标识符,便于指令识别;

1c)根据指令标识符,在指令中放置不同的指令信息。

指令在定义是有三个要点:

指令所申请内存空间大小在各个指令中都是一样的;

指令都有一个表示是何种指令的标识符;

指令带有相关指令信息的数据区。

2)所述的环形缓冲区内存申请步骤:

2a)系统定义读数据位置指针和写数据位置指针;

2b)系统申请一块内存空间,其空间大小是指令的内存空间倍数;

2c)系统将读数据位置指针和写数据位置指针都指向上一步骤申请的 内存空间的开始位置;

2d)在R0申请上述数据结构内存空间,然后把其数据指针传送到应 用程序R3;

(R0和R3是CPU设定的特权级,分别为R0、R1、R2、R3。R0拥有最 高级别,能够访问计数机所有的资源,操作系统运行于此层;R3是最低级别, 无法访问系统内核资源,应用程序运行在此层。简单来说R3不能访问R0数 据,R0可能访问R3数据)。

该数控系统中实现环形缓冲区的空间大小L,根据以下公式确定:

L=Nn

其中,N为系统定义的指令个数,n为指令的大小。

3)指令写入步骤:

3a)系统进入指令写入操作;

3b)判断环形缓冲区中是否已经满;

3c)如果环形缓冲区未满,则把指令放入环形缓冲队列中,也就是把 指令数据复制到环形缓冲区中。复制步骤如下:

3c1)如果环形缓冲区有指令,则读数据位置指针与写数据位置指 针所指向指令记录不是同一个,如果不是则等待一段时间,返回上述步骤3b);

3c2)如果写数据指针所指向指令记录的位置与写入读数据位置指 令所指向的指令位置单元,在正方向的距离不等于系统预定的指针数-1个, 如果不是则等待一段时间,返回上述步骤3b);

3c3)系统将指令中的信息写入到所述的写数据位置指针所指向的 记录单元中;

3c4)系统将读数据位置指针所指向的指令位置向逻辑正方向移动 一个单位。

3d)如果环形缓冲区已满,等待一段时间,返回上述步骤3b)中;

4)指令读取步骤:

4a)系统轮询环形缓冲区中是否有数据可读;

4b)如果有数据可读,则定义一个指令变量,然后从环形缓冲区中取 出一个指令,并把指令数据复制到指令变量中。写数据步骤如下:

4b1)判断所述的读数据位置指针所指向的指令位置与写数据位置 指针所指向的指令位置不一致,且读数据位置指针与首数据位置指针所指向 的指令位置不一致;如果不一致,则进入下一步,否则系统将进入上述步骤 4a)中;

4b2)如果读数据指针的逻辑正方向的下一个指令位置指针与写入 数据位置指针不一致。如果不一致,则进入下一步,否则系统将进入上述步 骤4a)中;

4b3)系统把此时的读数据位置指针的指令信息读取出来,并放入 到上述步骤4b)申请的变量中;

4b4)系统将读数据位置指针向逻辑正方向移动一个指令单位;

4b5)系统处理所读取的指令,然后系统进入上述步骤4a)中。

4c)如果无数据可读,等待一段时间,然后进入上述步骤4a)中。

该数控机床系统中实现环形缓冲区中设置有读数据位置指针,写数据位 置指针,所述的将数控机床系统中的指令写入到环形缓冲区,包括以下步骤:

1、如果环形缓冲区没有任何指令单元,则读数据位置指针、写数据位置 指针指向同一个记录单元;

2、如果环形缓冲区有指令,则读数据位置指针与写数据位置指针所指向 指令记录不是同一个;

3、如果写数据指针所指向指令记录的位置与写入读数据位置指令所指向 的指令位置单元,在正方向的距离不等于系统预定的指针数-1个;

4、系统将指令中的信息写入到所述的写数据位置指针所指向的记录单元 中;

5、系统将读数据位置指针所指向的指令位置向逻辑正方向移动一个单 位。

该数控机床系统中实现环形缓冲区中设值有读数据位置指针,写数据位 置指针写入,所述的将数控机床系统中的对于环形缓冲进行读取的方式,包 括以下步骤:

1、如果所述的读数据位置指针所指向的指令位置与写数据位置指针所指 向的指令位置不一致,且读数据位置指针与首数据位置指针所指向的指令位 置不一致;

2、如果读数据指针的逻辑正方向的下一个指令位置指针与写入数据位置 指针不一致;

3、系统将读数据位置指针向逻辑正方向移动一个指令单位;

4、系统把此时的读数据位置指针的指令信息读取出来。

采用该发明的数控机床系统中实现指令传输方法,由于在数控机床系统 中采用环形缓冲区内存共享,并使用缓冲区中只有一个读写,这样我们的数 控机床系统节省了R0到R3传输花费,提高了性能还节省空间,由于我们定 义的缓冲区,只要求一个线程读操作,一个线程写操作,这样该数控机床系 统对于指令交互是线程安全的。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行 业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明 书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本 发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围 内。本发明要求保护范围由所附的权利要求书及其等同物界定。

本文发布于:2023-04-15 06:50:58,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/1/87640.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图