0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何实现数控系统内嵌式软PLC编辑器的设计

电子设计 来源:郭婷 作者:电子设计 2019-06-21 08:00 次阅读

1、引言

ANC-45M 全功能数控系统是大连机床厂高新技术开发中心与日本AVAIL 技研株式会社合作开发的立式、半闭环三轴加工中心数控系统。她使用了32 位RISCCPU,专用的多任务实时操作系统,改进的哈佛结构,9″彩色液晶显示器,双CPU、双主板设计,其中一个CPU 所在的主板是加工中心的控制子系统,另一个CPU 及其主板是它的输入、输出子系统,它是机床的人机用户界面。本文详细论述了数控ANC-45M 加工中心PLC 编辑器的设计与实现。

2、ANC—45M 加工中心的组成结构

两个CPU 及其主板之间用一根通信电缆线将两个主板上的RS-232 异步串行通信接口连接起来,用报文形式进行数据交换。其中交换的数据包括:MMC 侧(人机接口控制器)和CNC侧加工程序以及PLC 梯形图程序等的交换,MMC 侧和CNC 侧的实时坐标数据、机床状态参数的交换等。

3、软件系统结构

3.1 主程序算法结构

PLC 编辑器是MMC 部分的一个子程序,为了能更好地描述本文的内容,我们应首先分析一下MMC 部分主程序的设计算法,其三个主要程序模块算法如下:

(1) main 函数算法如图1 所示。

如何实现数控系统内嵌式软PLC编辑器的设计

图 1 Main 函数算法

(2) 任务管理模块如图 2 所示。

如何实现数控系统内嵌式软PLC编辑器的设计

图 2 任务管理模块算法

(3) 状态任务模块如图 3 所示。

如何实现数控系统内嵌式软PLC编辑器的设计

图3 状态任务模块算法

主程序为每一个子功能模块预留了对应的两个子函数,PLC 编辑器有其相应的无键处理子函数和向键处理子函数。在向键处理子函数中进行输入键值的判断处理,而无键处理子函数则进行实时状态参数的屏幕刷新处理。对于每个子功能模块,都有一个共同的特点,那就是其无键处理子程序相对于向键处理子程序较为短小。在当前子功能模块状态下、没有键值输入时就调用无键处理子函数,并且每一主程序循环周期都要调用它;当在有键值输入的情况下,就转而调用向键处理子程序。一旦有按键输入,系统是以中断方式被CPU 所接收的,它首先进行相应的预处理,然后再调用任务管理模块子程序。任务管理模块程序是通过判断当前状态变量是否为初始状态,如果是则进入相应的初始处理,如果不是则判断是否按键状态,如是则分别进入相应的分支程序。

在有按键的情况下,程序首先判断该键值的类型,如果是改变功能子函数模块的命令时,则首先调用相应的功能键值子函数模块,并送去状态变量值TASKSTART,同时把当前运行中的功能子模块放入后台等待该中断执行完后,接着执行完;如果不是改变功能子模块,而是在当前功能子函数状态下的键值输入,系统则调用该功能键值处理子函数模块,并且送去TASKRUN 状态,这样也就进入了各子程序的键值处理子程序。

3.2 操作系统

该数控系统的操作系统采用的是AVAIL 公司自行开发设计的,并已经成功应用于公司生产的绣花机上,该公司生产的绣花机多年行销中国大陆等地,已经得到实践和用户的验证和认可。该操作系统是专门为任务相对比较单一的控制系统所设计的,其中有一个非常重要的时间任务控制模块,它负责对各任务的处理分配运行时间,并对任务执行时间进行监控。我们知道,对于一个实时系统来说,系统的正确性不仅取决于计算的逻辑结果,而且还依赖于产生结果的时间。为了保证数控加工的精度,该操作系统采用一种硬实时任务的管理模式,即系统给一个特定的任务指定了一个最后的期限,而系统必须在这个最后期限之前处理完所规定的任务,否则系统就会强制中断该任务的执行。这个时间任务模块决定了该数控系统的加工精度,依赖于多种因素的制约,比如CPU 执行速度的快慢、通讯口传输速率等等。由于该操作系统功能简单、任务可预测且单一,这就为该系统可靠性更高,稳定性更强提供了根本的保证。

4 梯形图主要功能实现

4.1梯形图符号的输入和编辑

该梯形图编辑器采用软键盘按菜单梯形图编辑器[1-4]工具绘制相应的图形符号,具有增加、删除、修改等功能,操作方便。操作者在使用时,只需移动到合适的位置,然后用键盘按相应的梯形图符号,即可在该位置画出该符号,并可以标注编号。将作图窗口划分成一定间隔的行与列,使插入的图形符号只能定位在网格点上。这既不影响梯形图编辑的直观性,又使解释程序易于实现。

4.2 梯形图符号的存储和提取

每个梯形图符号是一幅位图,我们存储每幅位图的类型、位置、文本显示信息等。提取时仍按照原来的顺序绘制各幅位图。由于梯形图的行数是不能预知的,因此,对梯形图的编辑采用动态数据存储,以双向链表数据结构来记录梯形图的所有信息。由于双向链表的每个链结都具有向前和向后的指针,既能向前查找,又可向后访问,因此各类操作十分灵活方便。

4.3 语法检查

主要检查所绘制的梯形图是否符合规定的格式,如果梯形图不符合格式要求,则会给出错误信息。首先对存储好的文件进行逐行扫描,看支路是否有输出,如有则指出错误,没有则继续扫描;继续检查编号是否为X、Y、R、T等事先规定好的字母,如不是则指出错误,正确则继续扫描;然后看编号后面是否为数字,是则正确,检查数字是否小于127,是则语法检查成功,不是则报警。

4.4 逻辑检查

由于在编辑梯形图时,存储的是行与行之间的顺序以及每行中各元素的信息,并没有存储各个元素间的逻辑关系,所以检查比较困难。我们采用先把梯形图转换成语句表的方法来达到目的。本文提出了以二叉树为中心的转换方法。二叉树的特点:一个父结点有且只有两个子结点。这种数据结构用来表示逻辑关系很方便。梯形图中有序排列的阶梯,可以表示成若干有序排列的二叉树森林,通过对每棵二叉树设计遍历算法,可以唯一地得到相应指令集。

5 语句表主要功能设计与实现

5.1 MMC 部分主程序的设计原理

MMC 部分主程序采用的是主循环的总体结构,每隔大致30ms 就对各子程序模块扫描执行一次。而每一模式下的子程序又包括向键任务子程序和无键任务子程序,在主程序的每一扫描周期中,有键值输入的情况下,则运行相应的向键任务子程序,如果没有输入键值,则运行相应的无键任务子程序。在每一次循环之前,先进行模式的检查,如果当前模式已经改变,则把相应模式的子程序调入前台执行,而把在这之前运行的前台程序转入后台继续执行。

5.2 设计原理

MMC 部分main 主程序采用定周期循环读取键值的处理方式,当遇到某一中断,首先对其合法化进行判断,在其合法的情况下,将其中断子程序从后台转移至前台执行并显示之。所以,全屏幕编辑子程序采用每一个循环周期接收一个字符或一个控制指令并执行之的思路。

5.2.1 指令的输入处理

考虑到编辑器应能适应顺序输入语句表程序以及进行程序段中间某部分的修改两种情况,每输入一个指令时首先应对其合法性进行检查判断,合法的情况下,首先应将当前位置后面的所有字符后移一位,然后在当前位置处依次、前后相连地把该指令字符存放在一缓存里。在存入缓存的同时将其显示在监视器上,监视器采用的是800×600 的LCD,其普通字符模式下显示参数为50×18。字符和数字输入的算法如图4 所示。

如何实现数控系统内嵌式软PLC编辑器的设计

图 4 输入流程图

5.2.2 确认键的输入处理

(1)编辑功能。当一PLC 语句表程序段编辑完以后必须按下确认键才能进行下一程序段的编辑工作。一旦按下确认键,编辑器需要对该程序段依次进行查错、容错、格式化和规整化一系列处理。语法检查用户语句程序有无拼写、指令格式、指令地址越界等语法错误;语言程序逻辑检查语句表程序是否存在逻辑错误。

(2)检错功能。开发系统在将PLC程序转换为中间代码之前必须先检查PLC程序是否有语法错误。该系统为了方便PLC编程者修改PLC程序,按照梯形图的梯级顺序进行,编译过程中要进行语法检查,主要是检查所编译的梯形图是否符合规定的格式,如果梯形图不符合格式要求,则会给出错误信息,同时,在编译过程中还要校验梯形图中的信号代码与信号定义模块中所定义的信号是否一致,如果不一致,则提示该信号代码未定义。用户通过查看编译过程中所给出的错误信息,进行相应的修改,直到没有错误为止。

5.2.3 其它功能键的处理

在PLC 编程中为了方便用户进行指令的编辑,还提供了行选择、行复制、行粘贴、字选择、字复制、字粘贴,行号检索等功能。当然在进行屏幕编辑以及上面介绍的所有功能中还会遇到上、下自动移屏显示,这是每个编辑器都应具有的最基本的功能。值得指出的是:在这个编辑系统中,光标总是随着输入自动地指向下一位置处,指导用户将输入的字符输到当前位置处,光标是不能随便自由地移到屏幕的空格处。并且在行选择和字选择时均以反色形式重新在原位置处对所选内容重新刷新一遍。

6 结束语

本文提出的内嵌式软PLC 编辑器体现了数控系统的开放性要求,易于实现与硬件无关性要求,统一的数据结构易于实现深度的系统开放,方便的编程环境、灵活的编程方式可降低PLC 编程门槛,方便用户使用,另外该方法降低了系统成本。该PLC 编辑器根据输入的离散信息,在内部进行逻辑运算,并完成输入输出控制功能,完全能够满足经济型数控加工中心的要求。PLC 已成功应用于ANC_45M 经济型加工中心的数控系统设计中,随着数控产品即将销往全国各地。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5010

    文章

    13271

    浏览量

    463057
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10854

    浏览量

    211583
  • 数控系统
    +关注

    关注

    5

    文章

    260

    浏览量

    24235
收藏 人收藏

    评论

    相关推荐

    AD的内嵌式阵列拼板疑问

    `“用AD的内嵌式阵列拼板方式无法将源单板的keep-out-layer显示出来,但出gerber时是有keep-out-layer的”请问各位大神,要怎么设置内嵌式阵列拼板里会将源单板的keep-out-layer显示出来?`
    发表于 03-31 16:36

    数控系统PLC编辑器的设计与实现 -Design and R

    介绍了一种在数控系统中用C语言设计PLC编辑器的方法。首先概括性地介绍该数控系统系统结构,然后根据ANC_45M加工中心的需求和
    发表于 05-05 21:56 35次下载

    基于PC的开放数控系统的研究与开发

    在探讨了开放数控系统的开放途径的基础上,提出了一种运行在PC机上,基于DSP的完全开放的数控系统,阐述了这种数控系统的软硬件结构及实现方法
    发表于 08-24 15:24 12次下载

    PLC程序编辑器中功能块的设计与实现

    本文分析了目前PLC 编辑器中功能块编程的不足,提出了使用面向对象的概念来设计功能块图的方法。通过研究PLC 开发
    发表于 12-07 11:45 23次下载

    基于PC的开放数控系统体系的应用分析

    随着计算机技术的发展,数控系统正在发生着日新月异的变化。本文介绍了开放数控系统的特征以及比较了当前开放数控系统的几种模式。通过目前3 种
    发表于 01-11 17:11 25次下载

    数控系统PLC编辑器的设计与实现

    介绍了一种在数控系统中用C语言设计PLC编辑器的方法。首先概括性地介绍该数控系统系统结构,然后根据ANC_45M加工中心的需求和
    发表于 07-13 15:52 24次下载

    内嵌式电源系列产品目录

    内嵌式电源系列产品目录
    发表于 10-27 00:26 20次下载

    开放钻床数控系统软件的设计

    数控系统由传统的专用型封闭系统向灵活的开放数控系统转变已成为一种必然趋势。与传统的封闭
    发表于 07-21 10:10 862次阅读

    基于ARM与FPGA的嵌入数控系统设计

    基于ARM与FPGA设计了嵌入数控系统。其ARM芯片采用Samsumg公司的基于ARM9的 S3C2410 , FPGA采用Altera公司的Cyclone系列的EP1C20。介绍了数控系统的硬件设计, 并采用L INUX操作
    发表于 07-25 18:22 74次下载
    基于ARM与FPGA的嵌入<b class='flag-5'>式</b><b class='flag-5'>数控系统</b>设计

    机床数控系统中嵌入plc的设计

    在机床数控系统中,电气设备的控制占有重要的地位。目前,一般采用可编程控制PLC)进行机床电气控制。PLC可靠性高,使用方便,对于复杂的,控制点数较多的应用场合,可以在
    发表于 01-06 15:25 2129次阅读
    机床<b class='flag-5'>数控系统</b>中嵌入<b class='flag-5'>式</b><b class='flag-5'>plc</b>的设计

    基于CORTEX-A8的嵌入数控系统设计

    基于OMAP3530处理的嵌入实时系统,然后在此基础上完成基于实时嵌入数控系统的设计。 本文对实时
    发表于 11-23 10:43 6次下载
    基于CORTEX-A8的嵌入<b class='flag-5'>式</b><b class='flag-5'>数控系统</b>设计

    嵌入数控系统设计

    目前,基于PC的开放数控系统数控技术开放架构的主要实现方式,这种实现方式主要是考虑利用工业
    发表于 03-16 15:12 17次下载

    数控系统PLC的外置和内置PLC信息交换技术详细说明

    介绍了数控系统中,外置和内置PLC信息的交换形式,开放数控系统
    发表于 08-25 16:32 19次下载
    <b class='flag-5'>数控系统</b>中<b class='flag-5'>PLC</b>的外置<b class='flag-5'>式</b>和内置<b class='flag-5'>式</b><b class='flag-5'>PLC</b>信息交换技术详细说明

    基于MPC08运动控制实现开放数控系统的设计方案

    在计算机技术飞速发展的今天,数控系统由传统的专用型封闭系统向灵活的开放数控系统转变已成为一种必然趋势。与传统的封闭
    的头像 发表于 03-28 10:38 3500次阅读
    基于MPC08运动控制<b class='flag-5'>器</b><b class='flag-5'>实现</b>开放<b class='flag-5'>式</b><b class='flag-5'>数控系统</b>的设计方案

    什么是开放数控系统

    对开放数控系统给出如下定义:开放数控系统本质一个具备软件平台化、功能模块化、界面组态化内部属性和可移植性、可伸缩性、互操作性外部特征,支持用户根据需求进行
    的头像 发表于 02-08 10:54 3985次阅读
    什么是开放<b class='flag-5'>式</b><b class='flag-5'>数控系统</b>?