基于数控系统PLC编辑器的设计及其实现

发布者:玉树琼花最新更新时间:2016-12-31 来源: e-works关键字:数控系统  PLC  编辑器 手机看文章 扫描二维码
随时随地手机看文章

1 引言

  ANC-45M 全功能数控系统是大连机床厂高 新技术开发中心与日本AVAIL 技研株式会社合作开发的立式、半闭环三轴加工中心数控系统。她使用了32 位RISC 型CPU,专用的多任务实时操作系统,改进的哈佛结构,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 所示。


图1  main 函数算法

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

  图 2 任务管理模块算法

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

  图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 所示。

  图 4 输入流程图

  5.2.2 确认键的输入处理

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

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

  5.2.3 其它功能键的处理

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

6 结束语

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


关键字:数控系统  PLC  编辑器 引用地址:基于数控系统PLC编辑器的设计及其实现

上一篇:PLC在纺织工业中的应用
下一篇:PLC在随动控制系统中的应用

推荐阅读最新更新时间:2024-05-03 00:57

PLC为什么需要搭配隔离栅/隔离器使用?
01相关概念 PLC:Programmable logic Controller 全称是可编程控制器,是由主控芯片和外围电路构成的一个应用系统,可以通过程序预先编写指令流程,实现特定功能,通常使用在自动化、工控等领域。其特点是高稳定性,方便编程、使用。 问:PLC为什么需要搭配隔离栅/隔离器使用? 答:因为现场设备工作环境比较恶劣,假如到PLC的信号传感线破皮与其他不同电压的线路连接或同时短接到设备上会有强电进plc输入端口,造成整块模块被烧,损失较大。而加上信号隔离器隔离如果出现此种情况则只会损坏隔离器而不会损伤plc。另外就是防干扰,稳定信号。 模拟量信号: 自动化过程控制系统中基本的过程信号(电压、电流、压力、温
[嵌入式]
<font color='red'>PLC</font>为什么需要搭配隔离栅/隔离器使用?
什么是运动控制器 运动控制器与PLC的区别
1、什么是运动控制器 运动控制器就是控制电动机的运行方式专用控制器:比如电动机在由行程开关控制交流接触器而实现电动机拖动物体向上运行达到指定位置后又向下运行,或者用时间继电器控制电动机正反转或转一会停一会再转一会再停。运动控制在机器人和数控机床的领域内的应用要比在专用机器中应用更复杂,因为后者运动形式更简单,通常被称为通用运动控制(GMC)。 2、运动控制器的特点 (1)硬件组成简单,把运动控制器插入PC总线,连接信号线就可组成系统; (2)可以使用PC机已经具有的丰富软件进行开发; (3)运动控制软件的代码通用性和可移植性较好; (4)可以进行开发工作的工程人员较多,不需要太多培训工作,就可以进行开发。 3、运动控制器的
[嵌入式]
PLC的供电系统可靠性设计
导读: 为了保证PLC的正常工作,抑制线路干扰,对于交流AC100V/240V供电的PLC,原则上应在电源输入回路加入隔离变压器、浪涌吸收器或者采取稳压措施。    1.PLC电源设计   一般而言,PLC的基本电源一般有使用ACIOOV/240V与DC24V两种类型。   当PLC采川ACIOOV/240V供电时,通常允许输入电源电压的波动范围为-15%~+10%。如:选择额定输入电压为AC100V时,通常允许输入电压的变化范围为AC85~110V;选择额定输入电压为AC240V时,允许的变化范围为AC200—AC264V。PLC对外部交流电源的频率要求较低,允许的频率变化范围通常为±3Hz,即选择额定输入频率
[嵌入式]
CAN总线及其在艾默生CT PLC上的应用
引言   数字电子信息技术的飞速发展对全世界的制造业日益起着巨大的推动作用,使得制造业的各种设备的设计越来越电子化,数字化,网络化,ECCT产品是艾默生CT推出的一款专门应用于纺织行业的具有CAN总线协议的专用PLC控制器,它不仅满足了纺织的基本I/O工艺需求,更是把CAN总线协议完美地融合进去,使用户很轻易地把系统的各种设备通过CAN协议进行连接,本文介绍了CAN总线功能在艾默生CT PLC上的应用。 CAN总线基础知识简介   CAN总线(CONTROLLER AREA NETWORK,控制器局部网络)由德国BOSCH公司首先提出来的,CAN总线是目前工业界广泛应用的总线。其特点简要归纳如下:   1)CAN控
[嵌入式]
西门子S7-200PLC程序数据的断电保存方法
西门子S7-200plc程序数据的断电保存方法,主要可分三种,其数据断电保存方法及特点如下: 一、在系统块中设置断电数据保持功能来保存数据。 在S7-200的编程中,系统块中有一项功能为断电数据保持设置,设置范围包括V存储区、M存储区、时间继电器T和计数器C(其中定时器和计数器只有当前值可被保持,而定时器位或计数器位是不能被保持的)。其基本工作原是在PLC外部供电中断时,利用PLC内部的超级电容供电,保持系统块中所设置的断电数据保持区域的数值保持不变,而将非保持区域的数据值归零。由于超级电容容量的限制,在西门子的资料中宣称只能保存几天时间。对于M存储区中的前十四个字节(即MB0-MB13),当设为断电数据保持,在PLC外部
[嵌入式]
PLC的特殊功能应用
一、传统仪器设计过程回顾 现代化的自动仪器设备均具有如下几方面的性能和特点: 前端的信号检测,适时数据采集,数据处理,实现其功能的光机电一体化的自动装置,以及人机操作界面,除此之外还必须有完备的上下位机的控制程序软件包。为实现以上几个方面的性能,以高性能的微处理器为基础的嵌入式单板机就似乎成为迄今仪器设计的唯一选择。从而,在仪器具体的性能要求确定以后,单板机的软硬件设计制造工作就进入议事日程。      二、新设计方案的提出和可行性分析与单板机方案比较 所谓的新方案的概念源于个人的专业技术经历和接触不同的技术领域,笔者分别从事过精密仪器设计和工业自动化领域的工作,PLC技术,特别是国产HOLLiAS LM 系列小型
[工业控制]
西门子S7-1200PLC数据处理指令:浮点数转整数指令
在S7-1200PLC中,除了在《西门子S7-1200PLC 处理处理指令:转换指令CONV》章节中分享的数据类型转换指令CONV之外,还可以使用浮点数转整数指令进行专门的转换,本节就是针对该指令的分享; ROUNDFLOORCEILTRUNC指令1.指令种类; 1).ROUND指令:四舍五入取整指令; 定义:该指令将输入 IN 的值解释为浮点数,并转换为一个 DINT 数据类型的整数。如果输入值恰好是在一个偶数和一个奇数之间,则选择偶数。指令结果被发送到输出 OUT,可供查询。 2).CEIL指令:向上取整指令; 定义:该指令将输入 IN 的值解释为浮点数并将其转换为较大的相邻整数。指令结果被发送到输出 OUT,可供查询。输出值
[嵌入式]
西门子S7-1200<font color='red'>PLC</font>数据处理指令:浮点数转整数指令
可编程逻辑控制器 (PLC) 中的梯形逻辑
  本文介绍了用于对 PLC 进行编程的编程语言梯形图逻辑,并展示了其功能的示例。   梯形图,更好地称为梯形逻辑,是一种用于对 PLC(可编程逻辑控制器)进行编程的编程语言。本文将简要介绍什么是梯形逻辑,并通过一些示例说明其功能。   可编程逻辑控制器或 PLC 是用于执行控制功能的数字计算机,通常用于工业应用。在可用于对 PLC 进行编程的各种语言中,梯形图逻辑是一种直接模仿机电继电器系统的语言。   它使用在代表系统电源的两个垂直条之间布置的长梯级。沿着梯级是触点和线圈,仿照机械继电器上的触点和线圈建模。触点充当输入,通常代表开关或按钮;线圈表现为输出,例如灯或电机。   不过,输出不一定是物理的,可以代表 PLC 内存
[嵌入式]
可编程逻辑控制器 (<font color='red'>PLC</font>) 中的梯形逻辑
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved