c语言直线插补程序,高手请进采纳后追加20分

c语言直线插补程序,高手请进采纳后追加20分,第1张

程序问题是自己检查的,没有人会跟你看程序。

你只要说明方法或者是流程图。

你做的是直线逐点比较。

先砍掉插补程序,看能否画划线,在添加第一象限插补,最后全加上去。

确保每个步骤添加进去的代码没有问题。

用g02、g03指定圆弧进给,其中g02为顺时针方向,g03为逆时针方向。程序格式为:

在x-y平面上的圆弧:

g17

x____

y____

f____

在z-x平面上的圆弧:

g18

x____

z____

f____

在y-z平面上的圆弧:

g19

y____z____

f____

g17、g18、g19为圆弧插补平面选择指令,以此来确定被加工表面所在平面,g17可以省略,x_y_z_为圆弧终点坐标值,可以在g90下用绝对坐标,也可以在g91下用增量坐标。在增量方式下,圆弧终点坐标是相对于圆弧起点的增量值。i、j、k表示圆弧圆心的坐标,它是圆心相对起点在x、y、z轴方向上的增量值,也可以理解为圆弧起点到圆心的矢量(矢量方向指向圆心)在x、y、z轴上的投影,与前面定义的g90或g91无关。

r是圆弧半径,当圆弧始点到终点所移动的角度小于180°时,半径r用正值表示,当从圆弧始点到终点所移动的角度超过180°时,半径r用负值表示,正好180°时,正负均可。还应注意,整圆编程时不可以使用r,只能用i、j。f规定了沿圆弧切向的进给速度。

注意:i、j、k为零时可以省略。

图b所示为半径等于50的球面,其球心位于坐标原点o。刀具中心轨迹a→b、b→c、c→a的圆弧插补程序分别为

a→b:g17

g90

g03

x0.

y50.

i-50.

j0.;

绝对坐标编程

b→c:g19

g91

g03

y-50.

z50.

j-50.

k0.;

增量坐标编程

c→a:g18

g90

g03

x50.

z0.

r50;

绝对坐标编程

嵌入式开放型数控系统研究

摘 要 在构建的开放式数控系统中,把μC/OS-Ⅱ实时 *** 作系统移植到MCS-51上,在其内核上创建自己的任务,开发出实时运

动控制系统。该数控系统具有通信和网络功能。将该系统用在模拟加工平台上,验证了系统的可行性。

关键词 开放式数控 μC/OS-Ⅱ 实时 *** 作系统

1 开放式数控

开放式数控是数控技术的发展趋势。前几年国内外对于

PC-based开放式数控讨论较多,并取得了一定成果。最近一段

时间,由于嵌入式技术的发展,采用嵌入式实时 *** 作系统的开放

式数控逐渐引起业界的关注。其主要原因是基于PC技术的数

控系统在实时性方面有其先天不足之处。而这一方面嵌入式技

术刚好发挥了它的优势,逐渐显示出其强大的生命力。

目前采用嵌入式技术的开放型数控研究主要是指包含实时 ***

作系统的控制器。本文研究的是关于采用μC/OS-Ⅱ实时内核的数

控系统的软、硬件结构以及实验系统开发。和PC技术无关。

2 基本体系结构和工作原理

硬件结构以Windows 78E58(51系列)为核心,扩展了RAM,显

示、键盘接口8279,MAX232串口,8255并口以及RTL 8019 AS网络

芯片。去步进电机输出直接由78E58进行。如图1所示。

W inbond 78E58内核32kB的FlashROM,包含μC/OS-Ⅱ实

时内核在内的系统软件(即实时 *** 作系统)约25kB左右。覆盖

了该实验系统的全部数控功能,包括输入、译码、插补、伺服输

出、显示、通讯等功能。

图1中8279主要用于管理自行设计的小键盘和LED显示

器。零件加工程序可以从小键盘输入。也可以从MAX232串行

口输入。并口8255主要用于机床I/O信号的输入、输出以及调

试时使用。8019AS是网络接口芯片,使得本嵌入式系统能和采

用TCP/IP协议的以太网连接,实现上网功能。78E58中包含一

个精简的TCP/IP协议栈。

实时时钟是嵌入式系统的一个显著特征,μC/OS-Ⅱ要求时

钟周期为10~100ms,刚好符合数控系统工作周期的需要。本

实验系统采用10ms的工作周期,复杂系统可以适当增大。

μC/OS-Ⅱ是一个源代码公开的实时占先式内核,它可以管

理64个任务,有8个留给系统,用户可以使用56个任务,每个

任务的优先级必须是不同的(对于数控系统而言这56个任务已

绰绰有余)。

GB/T 18759·1-2002开放式数控系统国家标准中,开放程度

分为三个层次。其中第二层次为“控制装置在明确固定的拓扑

结构下允许替换、增加NC核心中的特定模块以满足用户的特

殊要求”。只要在μC/OS-Ⅱ开放式内核下“挂”上不同功能的

任务,比如译码、插补、输出等模块就可以基本达到第二层次的

要求,实现开放式数控的目标。

3 开放式数控的软件实现

3·1 软件接口

整个软件系统以μC/OS-Ⅱ作为平台,并在创建的各个任务中

调用相应的应用软件模块,结合实时中断服务程序,共同完成系

统功能。为了实现开放式数控系统的模块化,提高应用软件模块

的互换性和可移植性,给各应用软件模块定义了相应的程序接

口。只要软件接口一致的应用软件模块则可以替代和互换。

下面是插补程序的部分接口定义(C语言),其中包括插补

数据的数据结构和一些相关的函数接口。

3·2 任务实现

整个软件除了μC/OS-Ⅱ以外,建立了9个任务外加一个系

统初始化例程。9个任务分别是。

9个任务被分配在一个前后台结构中,前台程序是实时性

较强的任务,包括插补任务,监控任务,机床信号输入/输出任

务。其余为后台任务,零件加工程序输入任务主要是从键盘输

入加工程序,放在存储器中。串行通信是从外部输入零件加工

程序。网络任务是和局域网交换信息。显示放在空闲任务之

中。

系统初始化在启动时只运行一次,以启动多任务OSStart()

结束,见图2

为实现各个任务之间的通信以及数据共享,μC/OS-Ⅱ提供

了三种方法:信号量、邮箱和消息队列。下面以信号量为例说明

任务间通信的方法。用户任务形式如下:

这样,任务就是一个无限循环的C语言函数。函数中任务

通过OSSemPend()函数等待相应信号量的到来,触发任务的执

行并利用系统延时函数OSTimeDly()延时。如图2所示,系统

初始化完成的工作为μC/OS-Ⅱ初始化,创建信号量,创建任务,

接口初始化等。在启动多任务OSStart()后,就处于μC/OS-Ⅱ

的调度下运行。首先,在键盘命令没有下达之前,系统处于等待

状态,各用户任务都在等待信号量的到来。在此期间,系统执行

的是优先级最低的任务OSTask Idle,进行一些显示等工作。实

时中断定时发生,只是没有键盘命令,只进行一些例外监控等,

不会出现插补等加工状态。一等加工的键盘命令按下,经过键

盘解析任务KeyAnalyse Task对任务的解析,向译码任务Trans-

late Task发出信号量,进入译码过程,译码任务从存储器中取出

零件加工程序进行编译处理,同时给插补程序发出信号量,等到

实时中断发生后,插补任务接收到信号量后,即开始插补加工。

本次实验系统采用步进电机伺服系统,一边插补,一边就向外输

出。译码任务在没有遇见M02、M30之前,则不断进行编译,一

直到零件加工程序结束。零件加工程序输入任务InputTask是

在非加工状态下运行的,下达键盘命令后经KeyAnalyse Task任

务解析,向输入任务InputTask发出信号量。InputTask在获得

信号量后,即开始从键盘输入零件加工程序至存储器。串行通

信和网络通信亦设计成非加工状态下执行。

在以太网网络通信的硬件设计上,采用了RTL8019AS,它是一

款10Mbps的以太网网卡控制芯片,大量应用于PC机的ISA接口

以太网网卡中。虽然如今计算机网卡市场中的主流产品已经是

PCI接口的10M/100M自适应的以太网网卡了,但是,RTL8019AS的

生产线仍然没有停止。因为RTL8019AS支持8位数据总线,在跳

线工作方式下可以非常方便地连接单片机,所以在嵌入式系统领域

中仍然有很大的应用价值。图3为硬件连接图。

除了硬件连接外,在软件上要编写相应的驱动程序。内容

有芯片初始化、发送以太帧数据包和接收以太帧数据包三种。

4 开放式数控的实现和验证

按照前面提出的系统体系结构,我们搭建了一个小型的开

放式数控实验台。在图1的基础上,通过P1口接一个X-Y实验

工作台。通过键盘输入一段零件加工程序,在按下起按钮后,进

行译码、插补、伺服输出。工作台的X、Y轴由二台步进电机驱

动,插补算法采用最常用的逐点比较法,演示的结果达到了预期

的效果。证明了开放式数控系统控制思想的正确性。

5 结束语

基于μC/OS-Ⅱ的开放式数控系统工作台稳定可靠,且开放

性强,虽然就目前只是初步实现了数控系统的基本功能,但可以

随时根据需要,利用嵌入式系统的软硬件资源进行功能扩展,方

便二次开发,以满足不同的功能要求。是实现开放式数控和

“个性化”CNC的一个有效途径。

参 考 文 献

[ 1 ]谭峰,等.基于μC/OS-Ⅱ的开放式数控系统研究.机械与电子,

2004, 12.

[ 2 ]李诚人,等.嵌入式系统及单片机应用.北京:清华大学出版社,

2005.

[ 3 ]谭峰,等.基于以太网的嵌入式数控系统的研究开发.西北工业大

学硕士论文, 2005, 3.

[ 4 ]李诚人,等.现代机电控制系统.西安:西北工业大学出版社, 1999.

[ 5 ] GB/T 18759. 1-2002,开放式数控系统标准第一部分:总则.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11848856.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存