技术频道

娓娓工业
您现在的位置: 中国传动网 > 技术频道 > 技术百科 > Q编程介绍及例程

Q编程介绍及例程

时间:2021-01-29 10:51:34来源:上海安浦鸣志自动化设备有限公司

导语:​SCL指令的使用已经有很多年的历史。Q程序是建立在SCL指令基础之上的一个新的平台,扩展了SCL命令的使用,允许用户创建与存储SCL指令。这些程序可以保存在驱动器的非易失性存储器中,驱动可以脱离主机独立运行这些程序。Q程序为系统设计提供了高度的灵活性和强大的功能。

Q编程介绍

SCL指令的使用已经有很多年的历史。Q程序是建立在SCL指令基础之上的一个新的平台,扩展了SCL命令的使用,允许用户创建与存储SCL指令。这些程序可以保存在驱动器的非易失性存储器中,驱动可以脱离主机独立运行这些程序。Q程序为系统设计提供了高度的灵活性和强大的功能。主要特点如下:
运动控制(例如FLFPSH等)
执行驻留程序
多任务处理(请参阅MT指令)
条件判断(例如OITI等指令)
数学运算(例如R+R-R*R/R|R&等指令)
寄存器操作(例如RXRM等指令)
1Q程序支持多达12个程序段,每个程序段最多可以编写62条指令。

参考例程

以下内容给出了Q编程的参考例程,并对这些指令逐条进行了解释,Q编程中所有指令均为缓存指令(Buffered Commands

点到点相对运动(Feed to Length

鸣志

FLFeed to Length)指令用来完成点到点相对位置运动,当执行该指令时,电机将按照设定的加速度(AC),减速度(DE)及运行速度(VE),完成一段固定的相对位置距离(DI)。电机转动的方向由DI指令的正负极性决定。比如,DI32000 代表电机顺时针转动32000步(或微步),而DI-32000代表电机逆时针转动32000步(或微步)。上图中列出了一个参考例程,Q程序通过WI指令首先等待输入口3接收一个下降沿触发信号,如果条件满足,电机将按照20 /秒的转速,转动4圈;如果条件不满足,程序将一直停留在WI指令处等待输入口3接收正确的触发信号为止。

点到点绝对运动(Feed to Position

鸣志

FPFeed to Position)指令用来完成点到点绝对位置运动,当执行该指令时,电机将按照设定的加速度(AC),减速度(DE)及运行速度(VE),完成一段绝对位置距离(DI)。DI指令代表目标绝对位置,电机转动方向不由其正负极性决定,而由电机当前绝对位置与目标绝对位置来决定。上图中列出了一个参考例程,Q程序通过WI指令首先等待输入口3接收一个下降沿触发信号,如果条件满足,电机将按照20 /秒的转速,转动4圈,然后等待1秒(WT指令),然后电机以20 /秒的转速回到绝对位置0点;如果条件不满足,程序将一直停留在WI指令处等待输入口3接收正确的触发信号为止。

SPSet Position)指令用来设置电机当前的绝对位置,如发送“SP0”指令,将电机当前位置设为绝对位置零点。注意,SP指令设置的参数是以编码器Encoder Counts作为基本单位的,比如一个装有500线编码器的电机,一圈有2000Encoder Counts,如发送“SP5000”指令,将电机当前位置设为以绝对位置零点顺时针方向2.5圈的位置。

运动到传感器位置(Feed to Sensor

鸣志

FSFeed to Sensor)指令使电机以一个固定速度转动,直到一个输入口的电平状态满足触发条件,电机减速,运动停止。运动参数由ACDEVEDI指令决定,注意DI指令在FS指令执行时代表输入口电平状态满足触发条件后,电机减速到0的运动距离,注意DI设定的减速具体必须大于最小减速距离Dm,最小减速距离由DEVEEG指令决定,计算公式如下,其中V代表VE设定值,R代表EG设定值,D代表DE设定值:

鸣志

注意:当DI设定值大于最小减速距离Dm时,电机接收到输入口触发电平状态(找到传感器)后,会继续以当前速度向前运动(DI-Dm)的距离,然后以DE设定的减速度减速,直到完成Dm的减速距离。同时,DI指令也决定了电机刚开始运动的方向,比如,DI8000 代表执行FS指令后,电机顺时针转动,而DI-8000代表执行FS指令后,电机逆时针转动。输入口电平状态分为H(高电平),L(低电平),R(上升沿),F(下降沿)这几种状态。

上图中列出了一个参考例程,Q程序通过WI指令首先等待输入口3接收一个下降沿触发信号,如果条件满足,取消限位功能,电机以5/秒的转速顺时针方向转动,直到输入口7接收到一个高电平触发状态,驱动器找到了传感器,于是以DE设定的减速度,DI设定的减速距离完成减速到0。然后电机等待1秒钟,随后以20/秒的速度运行到绝对位置零点处,打开限位功能。

循环(Looping

用户可以通过两种方式来实现程序的循环。第一种使用QGQueue Goto)指令,设置QG参数使程序回到设定的行数。下图中列出了一个参考例程,在FL指令后等待时间0.5秒(WT0.5),然后使用QG指令,使程序回到第一行重新执行,实现不断循环。

鸣志

第二种方法是使用QRQueue Repeat)指令,QR指令指明跳转到哪一行和循环次数。下图中列出了一个参考例程,QR指令表示跳转到第二行,参数为3,即循环次数由用户自定义寄存器3中的值决定,在这里RX指令写入数值5到自定义寄存器3, 所以程序循环执行5次。

鸣志

跳转(Jumping

程序跳转由QJQueue Jump)指令实现,跳转和循环不同,跳转主要判断条件是否满足,即跳转指令通常和TI(输入检测),TR(寄存器检测),CR(寄存器比较)指令配合使用。下图中列出了一个参考例程,有两种可能的运动,顺时针旋转,当输入信号5有效时(低电平有效)电机开始逆时针旋转,加速度300,减速度450,速度18.5,两种运动间有0.25秒的等待时间。然后,检测X5信号的状态,当 X5信号有效时(True),程序跳转到第10行,开始逆时针旋转,如果X5信号为高时程序直接到第7行进行顺时针旋转, 执行完后回到第一行进行循环。

鸣志

程序调用(Calling

程序调用是在不同的程序段(Segment)之间实现的。QCQueue Call)指令允许用户结束一个当前程序段,调用另一个程序段,执行完后,回到执行调用指令的第一个程序段。这样,用户可以把需要多次循环的程序单独放到一个段中进行调用,以减少循环的次数和降低程序结构的复杂度。下图中列出了一个参考例程,由第1程序段(Segment 1)和第2程序段(Segment 2)组成:

鸣志鸣志

1程序段在第610行调用第2程序段,第2程序段中设置Y1低电平输出,等待0.25秒,设置Y2低电平输出,等待0.25秒。然后设置Y2高电平输出,等待0.25秒,设置Y1高电平输出,回到第1程序段,继续执行第1程序段内后续指令。

多任务处理(Multi-tasking

多任务处理模式(MT1)允许程序在执行运行指令(如FLFPCJFS等)时,同时执行其他指令,而不需要等待前一个运行指令的结束。在单任务处理模式(MT0)下,Q程序是顺序执行的,即执行下一条指令会等待上一条指令的结束。例如,FL指令后是SO指令,那么驱动器在FL指令结束后才会设置输出。当开启多任务处理模式(MT1),Q程序执行运行指令的同时会执行后面的指令。例如,上面的FLSO指令,执行多任务处理,驱动器开始运行并且立即执行输出设置,不需要等待FL指令执行完毕。多任务处理由MT指令设置,MT1为多任务处理开启,MT0为多任务处理关闭(单任务处理模式)。

鸣志鸣志

例如上图所示,当MT=1,驱动器执行FL指令,等待0.5秒后设置输出口Y1为低电平,不需要等待FL指令结束后,再等待0.5秒才输出低电平。以上是一个最基本的例子,如果您尝试对您的驱动器进行编程,请尽量保证DI值足够大以观察不同的指令执行后的区别。注意,因为电机不能同时执行两种运动,即使多任务处理开启后,运动指令还是会有先后顺序。例如,多任务处理开启后,程序中连续有两种运行指令,那么驱动器还是会等待第一条指令完成后执行下一条指令。

标签: 鸣志伺服驱动器

点赞

分享到:

上一篇:Stone Motion Control 机器人...

下一篇:方案分享丨禾川模切印标机整...

中国传动网版权与免责声明:凡本网注明[来源:中国传动网]的所有文字、图片、音视和视频文件,版权均为中国传动网(www.chuandong.com)独家所有。如需转载请与0755-82949061联系。任何媒体、网站或个人转载使用时须注明来源“中国传动网”,违反者本网将追究其法律责任。

本网转载并注明其他来源的稿件,均来自互联网或业内投稿人士,版权属于原版权人。转载请保留稿件来源及作者,禁止擅自篡改,违者自负版权法律责任。