计算机控制技术顺序控制与数字控制教学PPT.ppt_第1页
计算机控制技术顺序控制与数字控制教学PPT.ppt_第2页
计算机控制技术顺序控制与数字控制教学PPT.ppt_第3页
计算机控制技术顺序控制与数字控制教学PPT.ppt_第4页
计算机控制技术顺序控制与数字控制教学PPT.ppt_第5页
已阅读5页,还剩192页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章顺序控制与数字控制 3 1顺序控制3 2数字程序控制习题 3 1顺序控制 3 1 1顺序控制系统的类型1 按被控对象的特性分类顺序控制包括时间顺序控制系统 逻辑顺序控制系统和条件顺序控制系统等 时间顺序控制系统是固定时间程序的控制系统 它以执行时间为依据 每个设备的运行或停止与时间有关 例如 在物料的输送过程中 为了防止各输送带电动机同时启动造成负荷的突然增大 并且为了防止物料的堵塞 通常先启动后级的输送带电动机 经一定时间延时后 再启动前级的输送带电动机 在停止输送时 先停止前级输送带的电动机 延时后再停止后级输送带的电动机 使在输送带上的物料能输送完毕 又例如 在交通控制系统中 东西南北方向各色信号灯的点亮和熄灭是在时间上已经确定的 所以 它将按照一定的时间来点亮或熄灭信号灯 这类顺序控制系统的特点是各设备运行时间是事先已确定的 一旦顺序执行 将按预定的时间执行操作指令 逻辑顺序控制系统按照逻辑先后顺序执行操作指令 它与时间无严格的关系 例如 在批量控制的反应釜中 反应初期 首先打开基料阀 基料流入反应釜中 达到一定液位时 启动搅拌机 在搅拌开始后 液位因基料在继续流入而升高 当达到某一液位时 反应基料停止加入 其它物料开始加入 当液位达到另一设定液位时 物料停止加入 开始加入蒸汽升温 并开始反应 图3 1为反应釜工作流程图 图3 1反应釜工作流程图 在实际中基料与物料分别存放在各自的储液罐内 在这个过程中 进料的流量大小受到进料储罐液位的影响 液位高 则进料压力大 流量也大 达到启动搅拌机的液位所需时间也短 同样 在加入其它物料时 因受物料流量的影响 液位达到所需液位的时间也不同 但是 在这类控制系统中 执行操作指令的逻辑顺序关系不变 因此 称这类控制系统是逻辑顺序控制系统 这类控制系统在工业生产过程的控制中应用较多 条件顺序控制系统是以执行操作指令的条件是否满足为依据 当条件满足时 相应的操作就被执行 不满足时 将执行另外的操作 典型的例子是电梯控制系统 当某一层有乘客按了向上按钮后 如电梯空闲 则电梯自动向该层运行 当乘客进入电梯轿厢 并按了所需去的楼层按钮后 在一定的时间延时和关闭电梯门后 电梯将运行 一直等到电梯到达了所需的楼层 自动打开轿厢门 这里 电梯的运行根据条件确定 可向上运行也可向下运行 所停的楼层也根据乘客所需确定 这类顺序控制系统在工业生产过程控制中也有较多的应用 2 按控制技术手段分类 顺序控制系统在工业控制领域的应用很广 顺序控制系统实现的方案有采用继电器组成的逻辑控制系统 采用晶体管的无触点逻辑控制系统 采用可编程序控制器的逻辑控制系统和采用计算机的逻辑控制系统等 继电器组成的顺序逻辑控制系统是历史最久的一种实现方法 它的控制功能全部由硬件完成 即采用继电器的常开常闭触点 延时断开延时闭合触点等可动触点和普通继电器 时间继电器 接触器等执行装置完成所需的顺序逻辑功能 例如 电动机的开停控制等 受继电器触点可靠性的影响和使用寿命的限制 这类控制系统的使用故障较多 使用寿命较短 加上因采用硬件完成顺序逻辑功能 因此更改不便 维修困难 晶体管组成的无触点顺序逻辑控制因减少了连接点的可动部件 可靠性大大提高 晶体管 晶闸管等半导体元器件的使用寿命也较继电器的触点使用寿命长 因此 在20世纪70年代得到了较大的发展 它也是用硬件组成顺序逻辑功能 更改也不很方便 但因采用功能模块的结构 部件的更换和维修较继电器顺序逻辑控制系统要方便 可编程序控制器是在计算机技术的促进下得以发展起来的新一代顺序逻辑控制装置 与上述的组成方法不同 它用软件完成顺序逻辑功能 用计算机来执行操作指令 实施操作 因此 顺序逻辑功能的更改十分方便 加上得益于计算机的高可靠性和高运算速度 使得可编程序控制器一出现就得到了广泛的应用 计算机组成的顺序逻辑控制系统指在集散控制系统或工控机中实现顺序逻辑控制功能的控制系统 在大型的顺序逻辑控制和连续控制相结合的工程应用中 这类控制系统大有用武之地 在这类控制系统中 有连续量的控制和开关量的控制 采用计算机对它们进行操作和管理 必要时 把信息传送到上位机或下送到现场控制器和执行机构 由于计算机技术 半导体技术 通信和网络技术 控制技术 软件技术等高新科学技术的发展 工业生产过程的控制也出现了飞速的发展 可编程序控制器将与其他计算机控制装置一起成为21世纪工业控制领域的主流控制装置 3 1 2顺序控制系统的组成顺序控制系统的组成见图3 2 它由五部分组成 1 输入接口 实现输入信号的电平转换 2 控制器 接受控制输入信号 按一定的控制算法运算后 输出控制信号到执行机构 控制器具有记忆功能 能实现所需的控制运算功能 3 输出接口 实现输出信号的功率转换 4 检测机构 检测被控对象的状态信息 5 显示报警装置 显示系统的输入 输出状态 报警等信息 便于了解过程运行状态和对过程的操作 调试 事故处理等 图3 2顺序控制系统的组成 3 1 3顺序控制系统的应用领域1 工业生产流水线 在机械 电子等制造工业中 产品采用流水线的工作方式按先后次序进行 在这类工业生产过程中 部分控制操作是按时间的次序进行的 大部分控制操作是按逻辑顺序进行的 这类顺序控制系统的应用十分广泛 例如数控机床 柔性制造系统 物料输送系统 生产流水线等 另外 在批量控制系统中 对不同批号的产品有不同的生产顺序 不同的配方和控制条件 这类控制系统对程序更改有较多的要求 在继电器顺序控制时期 这类控制系统实现较困难 采用可编程序控制器可较方便地实现 因此 这类控制系统的应用也得到了较大的发展 2 安全生产监控系统 在石油化工 核电 冶金等工业领域 由于工作环境具有高温 高压 易燃 易爆 核辐射等特点 工作过程参数一旦偏离规定的范围 就会发生事故 造成设备损坏或人员伤亡 因此 必须对操作的过程参数进行控制 在这些工业生产过程中 要设置控制系统 以防止事故的发生 这是顺序控制系统的另一个很重要的应用场合 3 家电产品 在家电产品中 顺序控制系统也有较广泛的应用 洗衣机的顺序控制 冰箱的温度控制 空调系统等顺序逻辑控制系统是较常见的应用例子 家用电器的一些模糊控制系统 自动烹调系统等也得到应用 总之 在家电领域 顺序控制系统还刚开始进入应用 有很大的发展前途 3 1 4顺序控制的应用实例下面以冷加工自动线中钻孔动力头的自动控制顺序作为实际例子 其加工过程分为以下几步 1 动力头在原位 原位行程开关x0受压 并按启动按钮a 电磁阀dt1通电 动力头快进 2 碰上行程开关x1 电磁阀dt2通电 dt1保持通电 由快进转工进 3 碰上行程开关x2 开始延时 继续工进 4 延时时间到 dt1 dt2断电 dt3通电 动力头快退 5 动力头退回到原位 x0又受压 dt3断电 动力头停止 完成一个周期的循环动作之后 又返回到第一步 开始下一个循环的动作 钻孔动力头控制逻辑功能图如图3 3所示 图3 3钻孔动力头控制逻辑功能图 在加工过程中 钻孔动力头有快进 工进 工进延时 快退 停止等五个工作状态 各工作状态的顺序转换是根据现场输入信号 由按钮 行程开关 延时继电器发出的 而定的 显然 钻孔动力头的自动控制就是顺序控制 前已述 钻孔动力头在一个工作循环中有快进 工进 工进延时 快退和停止等五个工作状态 从前一个工作状态转入下一个工作状态 是根据来自现场的输入信号的逻辑判断 现场输入信号有启动按钮a 原位开关x0 行程开关x1和x2以及延时信号 这些电器触点的通断 通过输入电路变成电位信号引到微型计算机的输入接口的输入端上 cpu按一定逻辑顺序读取这些信号 并逐一判断是否满足各工作状态转换条件 若满足 则发出相应的转换工作状态的控制信号 控制信号从微型计算机的输出接口引出 经过隔离放大电路驱动相应的电磁阀吸合或释放 从而改变液压油路的状态 使动力头进入新的工作状态 若不满足 则等待 当cpu只控制一台动力头时 或跳过 转向询问另一台动力头 当cpu控制多台动力头时 整个工作过程是以一定的硬件为基础 通过cpu执行一段控制程序来实现的 下面介绍采用at89c51单片微型计算机实现动力头的顺序控制 1 输入输出接口设置 采用at89c51单片微型计算机通过接口电路直接与外部连接 控制各执行机构完成生产过程 输入输出信号安排如表3 1所示 表3 1输入输出信号安排 单片机at89c51的p1口设置为输入 p3口设置为输出 表3 1中所标现场输入信号a x0 x1 x2是经过输入电路处理后送来的电位信号 当开关受压时 送来 1 信号 不受压时 送来 0 信号 计算机送出的控制信号使dt1 dt2或dt3吸合或释放 完成相应执行机构的控制动作 实际上应经过驱动电路 2 控制程序流程图 控制程序流程图如图3 4所示 图3 4控制程序流程图 3 控制程序从图3 4程序流程图可以看到 控制程序所要完成的任务是 按一定的逻辑顺序读取现场工作状态信号 按预先规定的逻辑算式进行与 或 非等逻辑运算 按运算结果判断是否发出某种控制信号 根据图3 4所给出的流程图及表3 1所示输入输出信号排列 按程序实现数字逻辑功能的方法 可编出控制程序如下 stage1 mova p1 读p1口输入信号 anla 03h 取出a信号和原位信号 cjnea 03hstage1 没有a信号和原位信号 继续等待stage2 movp3 01h 发快进命令 stage20 mova p1 读p1口输入信号 anla 04h 取出x1信号 cjnea 04hstage20 没有x1信号 继续快进 stage3 movp3 02h 发工进命令 stage30 mova p1 读p1口输入信号 anla 08h 取出x2信号 cjnea 08hstage30 没有x2信号 继续工进 stage4 lcalldelay 调延时子程序 movp3 04h 发快退命令 stage40 mova p1 读p1口输入信号 anla 02h 取出原位信号 cjnea 02hstage40 没有回到原位 继续快退stage5 ljmpstage1 返回 转下次循环 延时子程序delay此处从略 3 2数字程序控制 3 2 1数值插补计算方法 能根据输入的指令和数据 控制生产机械按规定的工作顺序 运动轨迹 运动距离和运动速度等规律而自动完成工作的自动控制称为数字程序控制 数字程序控制主要应用于机床自动控制 如用于铣床 车床 加工中心 线切割机以及焊接机 气割机等的自动控制系统中 采用数字程序控制系统的机床叫做数字程序控制机床 数字程序控制机床具有能加工形状复杂的零件 加工精度高 生产效率高 便于改变加工零件品种等许多特点 它是实现机床自动化的一个重要发展方向 数字程序控制系统一般由输入装置 输出装置 控制器和插补器等四大部分组成 目前硬件数控系统已很少采用 多数采用计算机数控系统 控制器和插补器功能以及部分输入输出功能都由计算机承担 数字程序控制系统的插补器用于完成插补计算 插补计算就是按给定的基本数据 如直线的终点坐标 圆弧的起 终点坐标等 插补 插值 中间坐标数据 从而把曲线形状描述出来的一种计算 插补器实际上是一个函数发生器 能按给定的基本数据 产生一定的函数曲线 并以增量形式 例如为脉冲 向各坐标连续输出 以控制机床刀具按给定的图形运动 多年来 在数字程序控制机床中最常采用的插补计算方法是逐点比较插补计算法 简称逐点比较法 和数字积分器插补计算法 简称数字积分法 近几年又采用了一些新的插补计算法 如时间分割插补计算法 简称时间分割法 和样条插补计算法等 按插补器的功能可以分为平面的直线插补器 圆弧插补器和非圆二次曲线插补器及空间直线和圆弧插补器 因为大部分加工零件图形都可由直线和圆弧两种插补器得到 所以 在数字程序控制系统中直线插补器和圆弧插补器应用最多 所谓逐点比较插补法 就是它每走一步都要和给定轨迹上的坐标值进行一次比较 看这点在给定轨迹的上方或下方 或是在给定轨迹的里面或外面 从而决定下一步的进给方向 如果原来在给定轨迹的下方 下一步就向给定轨迹的上方走 如果原来在给定轨迹的里面 下一步就向给定轨迹的外面走 如此 走一步 看一看 比较一次 决定下一步走向 以便逼近给定轨迹 即形成 逐点比较法 插补 逐点比较法是以阶梯折线来逼近直线或圆弧等曲线的 它与规定的加工直线或圆弧之间的最大误差为一个脉冲当量 因此只要把脉冲当量 每走一步的距离 取得足够小 就可达到加工精度的要求 下面分别介绍逐点比较法直线和圆弧插补原理及其插补计算的程序实现方法 图3 5第一象限直线 3 2 2逐点比较法直线插补1 直线插补计算原理 1 偏差计算公式 按逐点比较法的原理 必须把每一插值点 动点 的实际位置与给定轨迹的理想位置间的误差 即 偏差 计算出来 根据偏差的正 负决定下一步的定向 逼近给定轨迹 因此 偏差计算是逐点比较法关键的一步 下面以第一象限平面直线为例来推导其偏差计算公式 假定加工如图3 5所示的直线oa 取直线起点o为坐标原点 xe ye 是已知的直线终点坐标 m xm ym 为加工点 动点 若m在oa直线上 则根据相似三角形的关系可得 即 取直线插补的偏差判别式fm为 3 1 若fm 0 表明m点在oa直线上 若fm 0 说明xe xm时 ym ye 表明m点在oa直线上方 若fm 0 说明xe xm时 ym ye 表明m点在oa直线下方 逐点比较法直线插补的原理是 从第一象限直线的起点 即坐标原点 出发 当fm 0时 沿 x轴方向走一步 当fm 0时 沿 y方向走一步 当两方向所走的步数与终点坐标 xe ye 相等时 发出终点到信号 停止插补 如果直线按式 3 1 计算偏差 要做两次乘法 一次减法 比较麻烦 因此需要进一步简化 对于第一象限而言 设加工点正处于m点 当fm 0时 表明m点在oa上或在oa的上方 应沿 x方向进给一步 走一步后新的坐标值为 xm 1 xm 1 ym 1 ym 该点的偏差为 fm 1 ym 1xe xm 1ye ymxe xm 1 ye ymxe xmye ye fm ye 3 2 若fm 0时 表明m点在oa的下方 应向 y方向进给一步 走一步后新的坐标值为 xm 1 xm ym 1 ym 1 该点的偏差为 式 3 2 和式 3 3 是简化后的偏差计算公式 在公式中只有加 减运算 只要将前一点的偏差值与等于常数的终点坐标值xe ye相加或相减 即可得到新的坐标点的偏差值 加工的起点是坐标原点 起点的偏差是已知的 即f0 0 这样 随着加工点前进 新加工点的偏差fm 1都可以由前一点偏差fm和终点坐标相加或相减得到 这样就省去了乘法运算 2 终点判断方法 逐点比较法的终点判断有多种方法 下面介绍两种 第一种方法是 设置x y两个减法计数器 在加工开始前 在x y计数器中分别存入终点坐标值xe ye 在x坐标 或y坐标 进给一步时 就在x计数器 或y计数器 中减去1 直到这两个计数器中的数都减到零时 到达终点 第二种方法是 用一个终点计数器 寄存x和y两个坐标进给的总步数 x或y坐标进给一步 1 若 1 0就到达终点 3 插补计算过程 插补计算时 每走一步 都要进行以下四个步骤 又称四个节拍 的逻辑运算和算术运算 偏差判别 即判别偏差f 0或f 0 这是逻辑运算 根据逻辑运算结果决定进行何种运算及何种进给 坐标进给 根据所在象限及偏差符号 决定沿哪个坐标轴以及是沿正向还是负向进给 这也是逻辑运算 偏差计算 进给一步后 计算新的加工点对规定图形的偏差 作为下一次偏差判别的依据 这是算术运算 终点判断 进给一步后 终点计数器减1 判断是否到达终点 到达终点则停止运算 未到终点则返回到第一步 如此不断循环直到到达终点为止 2 直线插补计算举例 设加工第一象限直线oa 起点为坐标原点 终点坐标xe 6 ye 4 试进行插补计算并作出走步轨迹图 计算过程如表3 2所示 表中的终点判断是采用前述的第二种方法 即设置一个终点计数器 寄存x和y两个坐标进给的总步数 每进给一步 1 若 1 0 则到达终点 表3 2直线插补过程 走步轨迹如图3 6所示 图3 6直线插补走步轨迹图 3 四个象限直线插补计算公式 不同象限直线插补的偏差符号及进给方向如图3 7所示 由图可知 第二象限的直线oa2 其终点坐标为 xe ye 在第一象限有一条和它对应y轴的直线oa1 其终点坐标为 xe ye 当我们从o点出发 按第一象限直线oa1进行插补时 若把沿x轴正向进给改为x轴负向进给 这时实际插补所得的就是第二象限直线oa2 亦即第二象限直线oa2插补时的偏差计算公式与第一象限的直线oa1的偏差计算公式相同 差别在x轴的进给反向 同理 如果插补第三象限终点为 xe ye 的直线 只要插补终点值为 xe ye 的第一象限的直线 而将输出的进给脉冲由 x变为 x y变为 y方向即可 以此类推 所有四个象限的偏差计算公式和进给方向列于表3 3中 图3 7四个象限直线的偏差符号及进给方向 表3 3直线插补计算公式及进给方向表 4 直线插补计算的程序实现 由前面所述可知 逐点比较法插补计算是一些加 减运算和逻辑运算 在以往的硬件数控系统中 是用硬件数字电路构成硬件插补器 运算器 来完成这些运算的 显然采用微型计算机来完成这些运算是十分容易的 而且与硬件插补器相比较还具有可靠性高 灵活性大 装置体积小 成本低等许多优点 与硬件插补器相对应 我们称完成插补计算的一段程序为 软件插补器 下面以插补第一象限直线为例 介绍软件插补器的程序流程图及程序设计 1 数据的输入及存放 在内存中开辟四个单元xx yy jj mm分别存放终点值xe 终点值ye 总步数 加工点偏差值fm 其中xx yy的内容xe和ye在加工指令中提供 装入后在加工过程中保持不变 jj的内容也在加工指令中提供 加工过程中作减1修改 直至 jj 0表示加工结束 mm的内容初始清除为零 依据加工过程中偏差计算结果而变化 2 程序流程图及程序 第一象限直线插补计算程序流程图如图3 8所示 从流程图中可明显看出插补计算的四个节拍 偏差判别 偏差计算及终点判断是逻辑运算和算术运算 容易编写程序 而坐标进给通常都是给步进电机发走步脉冲 通过步进电机 或再经液压放大 带动机床工作台或刀具移动 有关步进电机的控制问题待后面再介绍 这里先作为两个走步子程序调用 图3 8第一象限直线插补计算程序流程图 逐点比较法第一象限直线插补计算程序 mmequ30h xxequ31h yyequ32h jjequ33h org0000h jmpmain org0080h main mova 00h 置偏差初值为零 movmm a l1 mova mm 取原偏差值到a clrc subba 80h jncl11 偏差 0 不 转算l11 mova yy 是 取ye到a movr1 a ye保存在r1 mova mm 取原偏差值到a clrc subba r1 a ye movmm a 保存新偏差值 callstep1 x走步 jmpl12 至终点判断 l11 mova xx 算x 取xe到a movr1 a xe保存在r1 mova mm 取原偏差值到a adda r1 mm xe movmm a 保存新偏差值 callstep3 y走步 l12 mova jj 取总步数jj到a deca jj 1 movjj a jj jj 1 jnzl1 终点 不 继续 jmp 是 结束 3 2 3逐点比较法圆弧插补1 圆弧插补计算原理 1 偏差计算公式 下面以第一象限逆圆为例来讨论偏差计算公式的推导方法 如图3 9所示 设要加工圆弧ab 圆弧的圆心在坐标原点 并已知圆弧的起点为a x0 y0 终点为b xe ye 圆弧的半径为r 令瞬时加工点为m xm ym 它与圆心的距离为rm 显然 我们可以比较rm 加工点到圆心的距离 和r 圆弧半径 来反映加工偏差 比较rm和r 实际上是比较它们的平方值 因此 可得圆弧偏差判别式如下 若fm 0 表明加工点m在圆弧上 fm 0 表明加工点m在圆弧外 fm 0 表明加工点m在圆弧内 若fm 0 为了逼近圆弧 下一步向 x轴向进给一步并算出新的偏差 若fm 0 为了逼近圆弧 下一步向 y轴向进给一步并算出新的偏差 那么 如此一步步计算和一步步进给 并在到达终点后停止运算 就可插补出如图3 9所示的第一象限逆圆弧ab 图3 9第一象限逆圆弧 为避免计算平方值而简化计算 下面推导偏差计算的递推公式 设加工点正处于m xm ym 点 其判别式为 若fm 0 应沿 x轴向进给一步 到m 1点 其坐标值为xm 1 xm 1 ym 1 ym 新加工点的偏差为 3 4 若fm 0 应沿 y轴向进给一步 到m 1点 其坐标值为xm 1 xm ym 1 ym 1 新加工点的偏差为 3 5 由式 3 4 和式 3 5 可知 只要知道前一点的偏差 就可求出新的一点的偏差 公式中只有乘2运算 避免了平方计算 计算大大简化了 因为加工是从圆弧的起点开始 起点的偏差 f0 0 所以新加工点的偏差总可以根据前一点的数据计算出来 2 终点判断方法 圆弧插补的终点判断方法和直线插补相同 可将x y轴走步步数的总和 存入一个计数器 每走一步 从 中减1 当 1 0时发出终点到信号 3 插补计算过程 圆弧插补计算过程和直线插补计算过程相同 也是分偏差判别 坐标进给 偏差计算和终点判断四个节拍 但是偏差计算公式不同 而且在偏差计算的同时还要进行加工点瞬时坐标 动点坐标 值的计算 以便为下一点的偏差计算作好准备 如对于第一象限逆圆来说 坐标值计算公式为 xm 1 xm 1 ym 1 ym 1 2 圆弧插补计算举例 设加工第一象限逆圆弧ab 已知起点a的坐标为x0 4 y0 0 终点b的坐标为xe 0 ye 4 试进行插补计算并作出走步轨迹图 计算过程如表3 4所示 根据表3 4可作出走步轨迹如图3 10所示 表3 4圆弧插补过程 图3 10圆弧插补走步轨迹图 3 四个象限圆弧插补计算公式前面以第一象限逆圆为例推导出偏差计算公式 并指出了根据偏差符号来确定进给方向 其它三个象限的逆 顺圆的偏差计算公式可通过与第一象限的逆圆 顺圆相比较而得到 下面先推导第一象限顺圆的偏差计算公式 设加工点现处于m xm ym 点 若偏差fm 0 则沿 y轴向进给一步 到m 1点 新加工点坐标将是 xm ym 1 可求出新的偏差为 3 6 若偏差fm 0 则沿 x轴向进给一步 到m 1点 新加工点的坐标将是 xm 1 ym 同样可求出新的偏差为 3 7 这样便可以第一象限的逆圆 顺圆为基准来推导其它三个象限的逆 顺圆插补计算公式 在下面叙述过程中 分别以符号 sr1 sr2 sr3 sr4表示第一至第四象限的顺圆 以符号nr1 nr2 nr3 nr4表示第一至第四象限的逆圆 图3 11四个象限圆弧 以第二象限顺圆为例 与sr2相对应的是第一象限逆圆nr1 这两个圆弧对y轴对称 起点坐标相对应 见图3 11 从图中可知 从各自起点插补出来的轨迹对于x坐标对称 即y方向的进给相同 x方向进给反向 机器完全按第一象限逆圆偏差计算公式进行运算 所不同的是将x轴的进给方向变为正向 则走出sr2 这时圆弧的起点坐标要取其数字的绝对值 在现在情况下 图3 11中起点坐标 x0 y0 送入机器时 起点坐标应取为 x0 y0 而 x0的 号则应去控制x轴的正向进给 从图3 11还可以看出 当我们按第一象限逆圆nr1插补时 若将y坐标反向 则走出的就是第四象限顺圆sr4 若将x坐标和y坐标的进给方向同时反向 走出的就是第三象限逆圆nr3 由上述分析可知 nr1 sr2 nr3和sr4的偏差计算公式相同 而只要改变进给方向便可归结到nr1的插补计算 按上述方法可知 nr2 sr3 nr4的偏差计算公式与sr1相同 所不同的也只是改变进给方向 所有四个象限 8种圆弧插补时的偏差计算公式和坐标进给方向列于表3 5 表3 5圆弧插补计算公式和进给方向 4 圆弧插补计算的程序实现 以插补第一象限顺圆 sr1 为例来设计软件插补器 按逐点比较法圆弧插补的偏差计算公式及终点判断公式 应知道圆弧的起点坐标和终点坐标 根据起 终点坐标计算出两坐标走步的总步数 xe x0 ye y0 先输入起点坐标值x0 y0 总步数 并应保存偏差值fm 因此 与直线插补一样 应开辟四个内存单元来存放 设定xx为x轴坐标值存放单元 初始存x0 yy为y轴坐标值存放单元 初始存y0 jj为总步数 存放单元 mm为加工点瞬时偏差值存放单元xx yy单元初始存放x0 y0 加工过程中依据坐标计算结果而变化 jj单元的内容在加工过程中作减1修改 直至 jj 0表示加工结束 mm的内容初始清除为零 在加工过程中依据偏差计算结果而变化 第一象限顺圆插补计算程序流程图如图3 12所示 图3 12第一象限顺圆插补计算程序流程图 第一象限顺圆插补计算程序如下 mmequ30h xxequ31h yyequ32h jjequ33h org0000h jmpmain org0080h main mova 00h 置偏差初值为零 movmm a l1 mova mm 取原偏差值到a clrc subba 80h jncl11 偏差 0 不 转算l11 mova yy 取y到a deca movyy a rla movr1 a 2 y 1 存在r1 mova mm 取原偏差值到a deca clrc subba r1 f 2y 1 movmm a 保存新偏差值 callstep1 x走步 jmpl12 至终点判断 l11 mova xx 是 x x 1 inca movxx a rla movr1 a 2 x 1 保存在r1 mova mm 取原偏差值到a deca clrc adda r1 f 2x 1 movmm a 保存新偏差值 callstep4 y走步 l12 mova jj 取总步数jj到a deca jj 1 movjj a jj jj 1 jnzl1 终点 不 继续 ret 是 结束 step1 ret step4 ret 补充线性化处理 根据数学方程式计算处理线性插值法二次抛物线插值法 计算法 计算法就是在已测参数的基础上 利用各种运算程序计算出需要的参数 用计算法处理数据一般可按以下步骤进行 1 根据物理和工程实际求出被测参数的数学表达式 2 根据要求的精度 确定a d转换器的位数 并设计出相应的硬件电路 3 根据被测参数的数学表达式 进行相应的数据处理 返回本章首页 控制系统主程序和中断服务程序流程框图如图5 1和图5 2所示 图5 1主程序流程图 图5 2中断服务程序流程图 流量计算程序流程图如图5 3所示 程序清单如下 movmul1 l data 差压信号 p送mult1incdatamovmul1 h dataincdatamovmul2 l data 绝对压力p送mult2incdatamovmul2 h data acallmultd 计算 p pmovdiv1 h pr hmovdiv1 l pr lincdatamovdiv2 l data 绝对温度t送div2incdatamovdiv2 h dataacalldubdiv 计算 p p tmovs h div1 hmovs l div1 lacallsortmovmul1 l sr movmul1 h 00hincdatamovmul2 l dataincdatamovmul2 h dataacallmultdmovresult pr lincresult movresult pr h 程序中用到的双字节的乘法 除法子程序可参考第三章中的相关内容 开方子程序 程序入口 被开方数n存放地址s h 高8位 s l 低8位 程序出口 平方根的整数部分存放在sr单元中 sort movsr 00h 开放结果i置零clrc 清进位标志位loop mova sr 求2 i 1adda sr movr7 00hxcha r7addca 00hxcha r7addca 00hxcha r7movr6 aclrc 求n 2 i 1 mova s lsubba r6movs l amova s hsubba r7movs h ajcretuincsr 开方结果加1sjmploopretu ret 返回本节 查表法 顺序查表法计算查表法对分查表法 返回本章首页 顺序查表法 顺序查表法的步骤如下 1 设定表格的起始地址 2 设定表格的长度 3 设定要搜索的关键字 4 从表格的第一项开始 比较表格数据和关键字 进行数据搜索 图5 4顺序查表法程序流程图 图5 4顺序查表法程序流程图 顺序查表法程序清单 search movr0 table 设定表格起始地址movr1 length 设定表格长度clrflag 查找成功标志位清零loop mova key 读关键字xrla r0 比较jnznext 未查找到关键字 继续setbflag 查找到关键字 置位查找成功标志位mova r0 读出关键字在表中的地址ajmpretu 退出查找next incr0 指向表格的下一个数据djnzr1 loop 未检索完全部数据 继续retu ret 退出查找程序 子程序返回 返回本节 计算查表法 计算查表法适用于数据按一定的规律排列 并且搜索内容和表格数据地址之间的关系能用公式表示的有序表格 下面以实例介绍计算查表法的程序设计 设计一巡回检测报警装置 要求能对16个通道输入值进行比较 当某一通道输入值超过该路的报警值时 发出报警信号 通道值和报警值的存放地址之间的关系可用下面的公式表示 报警值存放地址 数据表格起始地址 通道值 2 设通道值 以16进制表示 存放在circ单元中 查表后的上限报警值存放在upper单元中 下限报警值存放在lower单元中 查表程序清单如下 clrc 进位标志位清零movdptr tab 设置数据表首址mova circ 读检测通道值rlca 检测通道值乘2movca a dptr 读上限值movupper a 保存上限值incdptrmovca a dptr 读下限值movlower a 保存下限值rettab upper0 lower0 upper1 lower1 upper15 lower15 报警数据表 返回本节 对分查表法 对分查表法的最高搜索次数log2n 1 和顺序查表法相比 对分法可以大大减少查表次数 提高检索效率 对分查表法的程序流程图如图5 5所示 对分查表法程序清单 movbegin 00h 设置检索范围起点movend dvl 设置检索范围终点movkey key 设置关键字movtime 01h 置检索次数初值loop movr0 add 置数据区起始地址mova begin 取检索范围起点adda end 起点 终点clrcrrca 除2movflag a 存放对分检索取数序号clrc xora 2ah 判断是否到检索范围边缘jzloop3 是 跳转至loop3mova flagadda r0 形成对分检索取数地址movr0 amova r0 读数movdata a 保存检索到的数据clrcsubba key 和关键字比较jzloop5 相等 则检索成功jncloop2 取的数据大 跳转至loop2mov2ah flag 取的数据小 修改检索范围的起点 inctime 检索次数加1sjmploop1 继续检索loop2 mova flag 取的数据大 修改检索范围的终点movend ainctimesjmploop1 继续检索loop3 movr0 data 到达检索边缘 比较是否为关键字mova r0cjnea key loop4 不是关键字 跳转至loop4movdata a 是关键字 保存sjmploop5 退出检索程序loop4 mova 0ffh 不是关键字 置检索不成功标志movflag aloop5 ret 检索程序结束 返回本节 线性插值法 1 线性插值原理2 线性插值的计算机实现3 线性插值法非线性补偿实例 1 线性插值原理 1 线性插值原理设某传感器输入信号x和输出信号y之间的关系如图5 6所示 图5 6传感器的输出特性曲线 从图5 6可以看出 1 曲线斜率变化越小 替代直线越逼近特性曲线 则线性插值法带来的误差就越小 因此 线性插值法适用于斜率变化不大的特性曲线的线性化 2 插值基点取得越多 替代直线越逼近实际的曲线 插值计算的误差就越小 因此 只要插值基点足够多 就可以获得足够的精度 2 线性插值的计算机实现 利用计算机实现线性插值的步骤如下 1 用实验法测出传感器输出特性曲线 应尽可能保证该曲线的精确性 2 选取插值点 将绘制好的曲线分段 3 计算并存储各相邻插值点间逼近曲线的斜率ki 4 计算x xi 5 读出x所在区间的斜率ki 计算ki x xi 6 计算 根据以上步骤可以画出计算机实现的线性插值计算流程图如图5 7所示 3 线性插值法非线性补偿实例 根据热电偶的技术数据可以绘制出输出电压信号v和温度t之间的特性曲线 假设热电偶的输出特性曲线如图5 8所示 由图5 8可以看出 该热电偶的输出特性曲线斜率的变化不大 可以采用线性插值法进行非线性补偿 选择4个插值基点 v1 t1 v2 t2 v3 t3 v4 t4 然后写出每段曲线的插值函数表达式 表达式如式 5 5 所示 表5 1参数存储单元分配表 线性插值法非线性补偿程序清单 movfir l 54h 取热电偶输出电压信号vimovfir h 55hmovsec l 44h 取v4movsec h 45hacallcompare 求vi v4jbflag t5 vi v4 转t5movsec l 42h 取v3movsec h 43hacallcompare 求vi v3jbflag t4 vi v3 转t4movsec l 40h 取v2 movsec h 41hacallcompare 求vi v2jbflag t3 vi v2 转t3movsec l 38h 取v1movsec h 39hacallcompare 求vi v1jbflag t2 vi v1 转t2t1 movmul1 l 30h 取k1movmul1 h 31hmovmul2 l 54h 取vimovmul2 h 55hacallmultd 求k1 vimovresu l pr l t resumovresu h pr hretu ret t2 movmul1 l 32h 取k2movmul1 h 33hmovmul2 l diff l 取vi v1movmul2 h diff hacallmultd 求k2 vi v1 clrcmova 46h 求t1 k2 vi v1 addca pr lmovresu l a t resumova 47haddca pr hmovresu h aajmpretu t3 movmul1 l 34h 取k3movmul1 h 35hmovmul2 l diff l 取vi v2movmul2 h diff hacallmultd 求k3 vi v2 clrcmova 48h 求t2 k3 vi v2 addca pr lmovresu l a t resumova 49haddca pr hmovresu h aajmpretut4 movmul1 l 36h 取k4 movmul1 h 37hmovmul2 l diff l 取vi v3movmul2 h diff hacallmultd 求k4 vi v3 clrcmova 50h 求t3 k4 vi v3 addca pr lmovresu l a t resumova 51haddca pr hmovresu h aajmpretut5 movresu l 52h t resumovresu h 53hajmpretu 比较程序清单 程序入口 第一数 fir l fir h 第二数 sec l sec h 程序出口 比较标志位flag 0 则第一数 第二数 flag 1 则第一数 第二数 且第一数与第二数的差存放在diff h diff l单元中 compare clrc 清进位标志位mova fir h 取第一数的高8位subba sec h 高8位相减jncnext 无借位 继续clrflag fir sec flag 0ajmpretu c next clrcmovdiff h a 保存差值高8位mova fir l 取第一数的低8位subba sec l 低8位比较jncbig fir sec 转bigclrflag fir sec flag 0ajmpretu cbig setbflag fir sec flag 1movdiff l a 保存差值低8位retu c ret 返回本节 二次抛物线插值法 二次抛物线插值法就是通过特性曲线上三点做一条抛物线 用此抛物线替代特性曲线进行参数计算 由于抛物线比直线能更好地逼近特性曲线 所以抛物线插值法能够提高非线性补偿的精度 线性插值法和抛物线插值法补偿精度比较如图5 9所示 假设系数m0 m1和m2已经求出并存储到到相应的内存单元中 根据上面的讨论可以画出用抛物线插值法进行线性化的程序流程框图 如图5 10所示 返回本节 判断程序设计 算术判断程序逻辑判断程序标志判断程序 返回本章首页 判断程序就是分支执行程序 程序在执行时 首先判定给定的条件是否满足 根据判定的结果 真或假 再执行相应的操作 例如 在转速控制系统中 电机的恒速运转一般是通过控制输入电压来实现的 首先检测出电机的实际转速 再比较电机的实际转速和给定转速 如果电机的转速低于给定转速 就需要增加输入电压 如果电机的转速高于给定转速 就需要降低输入电压 上述功能的执行过程如图3 1所示 图判断程序框图 mcs 51系列的程序状态字 psw 是一个用于存储程序运行状态信息的8位寄存器 其位定义如表3 1所示 其中有些位状态是根据程序运算结果由硬件自动设置 而有些位状态则是通过软件设定的 psw的位状态可通过指令读出 以实现程序的转移 返回本节 算术判断程序 1 两个8位无符号数比较2 两个16位无符号数比较3 两个8位有符号数的比较 两个8位无符号数比较 图8位无符号数的比较流程框图 clrcy 进位标志清零mova m a msubba n 求m njzequ 累加器a 0 则m n 转equjcless cy 1 有借位 则mn处理程序 无借位 则m n 执行big处理程序equ m n处理程序less m n处理程序 8位无符号数的比较程序清单 2 两个16位无符号数比较 图16位无符号数的比较流程框图 16位无符号数的比较程序清单 clrcy 标志位清零mova mh a mhmovr2 nh r2 nhsubba r2 高8位比较jzhequ 高8位相等 转低8位比较jcless 有借位 转mn理程序 hequ clrcy 标志位清零mova ml a mlmovr2 nl r2 nlsubba r2 低8位比较jzequ a 0 则m n 转equjcless 有借位 则mn处理程序 无借位 执行m n理程序euq m n处理程序less m n处理程序 3 两个8位有符号数的比较 由于m和n均为有符号数 m和n两数在比较时 可能出现以下四种情况 1 m 0 n 0 即两数均为正数 2 m 0 n0 即m为负数 n为正数 4 m 0 n 0 即两数均为负数 图8位有符号数的比较流程框图 8位有符号数比较程序清单 mova m a mmovr2 n r2 nsubba r2 m和n比较jzequ m和n相等 转相等处理程序jbpsw 2 flow 判断是否溢出jbacc 7 less 无溢出 且a的最高位为1 则mnflow jbacc 7 big 有溢出 且a的最高位为1 则m nless mn处理程序euq m n处理程序 返回本节 逻辑判断程序 逻辑判断程序的设计步骤 1 读入数据 开关状态或阀门的位置 2 屏蔽不需要的状态位 3 与所要求的状态比较 4 判断比较结果 选择程序入口 例图3 5中a b c d表示4个开关 当四个开关均闭合时 顺序执行相应的程序 否则 继续检测 逻辑判断程序流程框图如图示 图开关位置检测图 图开关状态检测流程图 逻辑判断程序清单 check mova p1 读入开关状态anla 55h 屏蔽无用位xrla 00h 判断a b c d是否全部闭合jnzcheck a b c d没全部闭合 继续检测 否则顺序执行相应程序 返回本节 标志判断程序 标志判断的设计思想是 根据某一设定的标志单元 或标志位 的状态 决定程序的执行方向 电机旋转方向控制程序流程图如图所示 图电机旋转方向控制程序流程图 电机旋转方向控制程序清单 flagbit00h 设定00h为电机旋转方向控制位 jbflagright flag 1 转rightleft flag 0 顺时针旋转控制程序 right 逆时针旋转控制程序 返回本节 上下限报警处理程序设计 报警程序主要有以下几个步骤组成 1 采样被测参数 2 比较采样值和给定的上下限 3 根据比较结果执行相应的处理程序 返回本章首页 例设计一简单的单字节上下限报警程序 当采样值超出上 下限时 分别执行相应的报警处理程序 设上限报警值存放在amax单元 下限报警值存放在amin单元 采样值存放在samp单元 简单上下限报警程序程序清单如下 clrc 清进位标志位mova amax 读上限报警值subba samp 判断是否超过上限报警值jcupper 超过上限 转报警处理程序mova amin 读下限报警值subba samp 判断是否超过下限报警值jnclower 超过下限 转报警处理程序 upper 超上限处理程序 lower 超下限处理程序 例设计一报警处理程序 只有采样值连续3次异常时 系统才进行报警处理 报警程序流程框图如图所示 图报警程序流程框图 报警程序清单 movnum 03h check clrc 清进位标志位mova amax 读上限报警值subba samp 判断是否超过上限报警值jcabnormal 超过上限 转abnormalmova amin 读下限报警值subba samp 判断是否超过下限报警值jncabnormal 超过下限 转abnormal clrflag 采样正常 清采样异常标志位ajmpretuabnormal jbflag abnor l 上次采样异常 转abnor lmovnum 03h 上次采样正常 重置允许连续异常次数setbflag 置位采样异常标志位ajmpretuabnor l mova num 读允许连续采样异常次数jzalarm 允许采样异常次数 0 执行报警处理程序decnum 允许采样异常次数 0 允许采样异常次数减1setbflag 置位采样异常标志位ajmpretualarm1 报警处理程序 返回本节 3 2 4步进电机工作原理 步进电机是工业过程控制及仪表中的主要控制元件之一 例如 在机械结构中 可以用丝

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论