Q编程介绍及例程
Q编程介绍
SCL指令的使用已经有很多年的历史。Q程序是建立在SCL指令基础之上的一个新的平台,扩展了SCL命令的使用,允许用户创建与存储SCL指令。这些程序可以保存在驱动器的非易失性存储器中,驱动可以脱离主机独立运行这些程序。Q程序为系统设计提供了高度的灵活性和强大的功能。主要特点如下:• 运动控制(例如FL、FP、SH等)
• 执行驻留程序
• 多任务处理(请参阅MT指令)
• 条件判断(例如OI、TI等指令)
• 数学运算(例如R+、R-、R*、R/、R|、R&等指令)
• 寄存器操作(例如RX、RM等指令)
1个Q程序支持多达12个程序段,每个程序段最多可以编写62条指令。
参考例程
以下内容给出了Q编程的参考例程,并对这些指令逐条进行了解释,Q编程中所有指令均为缓存指令(Buffered Commands)点到点相对运动(Feed to Length)
![点到点相对运动(Feed to Length) 点到点相对运动(Feed to Length)](https://s3.moons.com.cn/staticpic/Chinese/techshoolimg/Q-programmer-01.png)
点到点绝对运动(Feed to Position)
![点到点绝对运动(Feed to Position) 点到点绝对运动(Feed to Position)](https://s3.moons.com.cn/staticpic/Chinese/techshoolimg/Q-programmer-02.png)
运动到传感器位置(Feed to Sensor)
![运动到传感器位置(Feed to Sensor) 运动到传感器位置(Feed to Sensor)](https://s3.moons.com.cn/staticpic/Chinese/techshoolimg/Q-programmer-03.png)
![计算公式 计算公式](https://s3.moons.com.cn/staticpic/Chinese/techshoolimg/Q-programmer-04.png)
循环(Looping)
用户可以通过两种方式来实现程序的循环。第一种使用QG(Queue Goto)指令,设置QG参数使程序回到设定的行数。下图中列出了一个参考例程,在FL指令后等待时间0.5秒(WT0.5),然后使用QG指令,使程序回到第一行重新执行,实现不断循环。![QG(Queue Goto)指令 QG(Queue Goto)指令](https://s3.moons.com.cn/staticpic/Chinese/techshoolimg/Q-programmer-05.png)
![QR(Queue Repeat)指令 QR(Queue Repeat)指令](https://s3.moons.com.cn/staticpic/Chinese/techshoolimg/Q-programmer-06.png)
跳转(Jumping)
程序跳转由QJ(Queue Jump)指令实现,跳转和循环不同,跳转主要判断条件是否满足,即跳转指令通常和TI(输入检测),TR(寄存器检测),CR(寄存器比较)指令配合使用。下图中列出了一个参考例程,有两种可能的运动,顺时针旋转,当输入信号5有效时(低电平有效)电机开始逆时针旋转,加速度300,减速度450,速度18.5,两种运动间有0.25秒的等待时间。然后,检测X5信号的状态,当 X5信号有效时(True),程序跳转到第10行,开始逆时针旋转,如果X5信号为高时程序直接到第7行进行顺时针旋转,执行完后回到第一行进行循环。![QJ(Queue Jump)指令 QJ(Queue Jump)指令](https://s3.moons.com.cn/staticpic/Chinese/techshoolimg/Q-programmer-07.png)