完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
相关推荐
1个回答
|
|
梯形图(LAD, LadderLogic ProgrammingLanguage)是PLC使用得最多的图形编程语言,被称为PLC的第一编程语言。
梯形图语言沿袭了继电器控制电路的形式,梯形图是在常用的继电器与接触器逻辑控制基础上简化了符号演变而来的,具有形象、直观、实用等特点,电气威廉希尔官方网站 人员容易接受,是运用上最多的一种PLC的编程语言。 正运动威廉希尔官方网站 的ZMC006CE就是一款高性价比的,支持ZBasic、ZPlC编程语言,以及可以使用正运动威廉希尔官方网站 ZHMI界面编程的EtherCAT运动控制器。在正式学习直线插补之前,我们先简单了解一下这个产品。 EtherCAT运动控制器的PLC编程(一) 直线插补 一 、梯形图介绍 (一)梯形图运行逻辑 PLC梯形图执行从左侧的母线开始,从左至右,从上至下依次扫描,从第一行程序开始顺序扫描到END为一个扫描周期,然后又开始新一轮程序扫描,直到程序被停止。 PLC运行时,主要经过自检测、通讯处理、输入检测、程序执行、输出刷新这五个阶段。扫描程序之前,先执行故障检测与程序检查,发现异常停机显示出错信息,打印程序编写问题,再执行与其他设备的通信响应。 一个扫描周期包括输入检测、程序执行、输出刷新三个阶段。 1.输入检测 PLC以扫描方式顺序读入各输入端子的通断状态,并写入相应的输入状态寄存器,即刷新输入,接着转入程序执行阶段。一般来说,输入信号的宽度要大于一个扫描周期,否则可能导致信号丢失。 2.程序执行 PLC按从左至右,从上至下的顺序对每条梯形图指令进行扫描,并将相应的运算和处理结果保存在输出状态寄存器中。在程序执行的过程中,若输入信号状态发生改变,但此时状态寄存器内的输入状态没有改变,直到下一扫描开始时再读入输入信号状态。 3.输出刷新 在所有指令执行完毕后,输出状态寄存器的通断状态写入输出端子,驱动相应的输出设备。 扫描周期主要取决于程序的长短、指令的类型、CPU 执行指令的速度。扫描周期的时间可以通过特殊寄存器 D8010(扫描时间)、D8011(扫描最小时间)、D8012(扫描最大时间)来查看。 (二)梯形图混合Basic 1.PLC调用BASIC指令 PLC可以通过EXE指令或EXEP指令调用Basic标准指令。EXEP指令是EXE指令的脉冲形式,仅在驱动输入由OFF变为ON后,才调用Basic标准指令。 语法格式如下: 2.PLC调用BASIC和PLC程序 PLC使用CALL指令调用子程序。程序文件必须在同一项目文件(.ZPJ)内才可调用。 2.1 PLC调用PLC子程序 CALL调用子程序后,跳转到对应LBL行执行,执行到SRET指令处返回。 2.2 PLC调用Basic子程序 PLC调用Basic子程序时,需要在SUB函数名前加上@,调用时可根据实际情况选择是否传入参数,如右图的参数LV0。 3.BASIC调用PLC文件 程序文件必须在同一项目文件(.ZPJ)内才可调用。 3.1 Basic启动PLC任务 Basic里可使用语句“run"xxx.plc",任务编号”来启动PLC文件任务。 PLC子程序SRET子程序返回指令可以带上返回值,返回值存储在LV局部寄存器中,返回值是浮点格式,调用者通过RETURN指令获取返回值。 3.2. Basic调用PLC子程序 Basic里使用“CALL SUB_FUNC”或“RUNTASK 任务号, SUB_FUNC”来调用PLC子程序LBL。 如下图,Basic程序执行到CALL语句后跳转到PLC程序的LBL子程序执行,执行完子程序SRET返回参数LV1保存在RETURN中。 二 、插补功能介绍 (一)插补原理 直线插补方式中,两点间的插补沿着直线的点群来逼近。首先假设在实际轮廓起始点处沿X方向走一小段(给一个脉冲当量轴走一段固定距离),发现终点在实际轮廓的上方,则下一条线段沿Y方向走一小段,此时如果线段终点还在实际轮廓下方,则继续沿Y方向走一小段,直到在实际轮廓上方以后,再向X方向走一小段,依此类推,直到到达轮廓终点为止。实际轮廓是由一段段的折线拼接而成,虽然是折线,但每一段插补线段在精度允许范围内非常小,那么此段折线还是可以近似看做一条直线段,这就是直线插补。 假设轴需要在在XY平面上从点(X0,Y0)运动到点(X1,Y1),其直线插补的加工过程如下图所示。 给轴发送一个脉冲运动的距离由电机的特性决定,不同的轴单个脉冲运动距离有所不同。 (二)梯形图插补指令介绍 在正运动梯形图编程中,有两种形式的插补指令其分别为Zbasic形式和PLC形式。 1.Zbasic插补指令介绍 MOVE – 直线运动 2.PLC形式插补指令介绍 MOVE 指令说明: MOVE指令为直线插补相对运动指令。 操作数: S1:T,C,D,K,H,Z,V,LV,DT,@ S2:T,C,D,K,H,Z,V,LV,DT,@ …… S8:T,C,D,K,H,Z,V,LV,DT,@ 操作数若使用字寄存器,寄存器中的数值需用浮点指令赋值。 编程示例: 三 、梯形图直线插补示例 (一)梯形图混合Zbasic例程 ld m8002 exe @Axis_Init ldp m0 EXE @RelativeMove end lbl @Axis_Init ld m8000 EXE @BASE(0,1) EXE @UNITS = 100,100 EXE @ACCEL = 1000,1000 EXE @DECEL = 1000,1000 EXE @SPEED = 100,100 EXE @DPOS = 0,0 EXE @MPOS = 0,0 sret LBL @RelativeMove ld m8000 EXE @BASE(0,1) exe @Trigger exe @MOVE(300,400) sret Axis_Init WHILE 1 IF SCAN_EVENT(MODBUS_BIT(0)) > 0 THEN Axis_Move ENDIF WEND END GLOBAL SUB Axis_Init() BASE(0,1) UNITS= 100,100 ACCEL = 1000,1000 DECEL = 1000,1000 SPEED = 100,100 DPOS = 0,0 MPOS = 0,0 ENDSUB GLOBAL SUB Axis_Move() BASE(0,1) TRIGGER MOVE(300,400) ENDSUB |
|
|
|
只有小组成员才能发言,加入小组>>
2371 浏览 0 评论
8683 浏览 4 评论
36409 浏览 18 评论
4967 浏览 0 评论
24179 浏览 34 评论
1337浏览 2评论
1586浏览 1评论
1954浏览 1评论
1400浏览 0评论
1835浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 20:07 , Processed in 1.095209 second(s), Total 78, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号