7.4 运动块数据的设置
运动块的运动数据要预先设置。高级运动控制实际上是对运动块运动数据的设置。
运动数据的设置内容用标识符Da.11~Da.19。注意Da.11~Da.19只是对运动块数据的设置,不要与定位点的数据Da.1~Da.10混淆了。
Da.11~Da.19各自对应的缓存地址如表7-3~表7-5所示,每一种运动块数据都有对应的缓存器。表7-3是程序区号7000/运动块号No.1对应的缓存器。随轴号不同,缓存器号各不相同。
表7-3 程序区号7000/运动块号No.1对应的缓存器
注:n=轴号-1,下文同。
表7-4是程序区号7000/运动块号No.2对应的缓存器,随轴号不同,缓存器号各不相同。
表7-4 程序区号7000/运动块号No.2对应的缓存器
表7-5是程序区号7004/运动块号No.50对应的缓存器。各轴对应的缓存器各不相同。
表7-5 程序区号7004/运动块号No.50对应的缓存器
(续)
表7-3、表7-4、表7-5表明在各程序区对应各轴的50个运动块都分配了缓存器,也就说明了程序区和运动块的关系。
程序区与运动块和定位点之间的关系就像仓库区、库房、货架之间的关系。
7.4.1 启动数据的设置
启动数据包含Da.11~Da.14,是对运动块的块运行连续性和启动对象进行设置。其定义如下:
1.Da.11——块运行连续性
定义执行完当前运动块后是停止还是继续执行下一运动块;
Da.11=0为停止;
Da.11=1为继续执行下一运动块。
2.Da.12——定位点编号
第12章中已经设置的600点定位点的编号01H~258H(1~600)。
由于可以设置定位点编号,就实现了更柔性化的运动控制,这是很关键的。编程时首先考虑启动某一运动块,再考虑启动某一定位点。
3.Da.13——启动方式设置
启动方式Da.13可以设置的内容见表7-6。
表7-6 启动方式Da.13的设置内容
1)Da.13=0H——正常启动。这是常规启动,无须做条件判断。
2)Da.13=1H——条件启动。当设定的条件=ON时,执行当前运动块,如果条件=OFF,跳过当前运动块,执行下一运动块,如图7-7所示。
图7-7 Da.13=1H时条件启动的流程图
3)Da.13=2H——等待启动。当条件=ON时,执行当前运动块,当条件=OFF时,系统就一直等待直到条件=ON,执行当前运动块、等待启动的流程如图7-8所示。注意等待启动与条件启动的区别。
4)Da.13=3H——同时启动。同时执行指定轴的启动,最多可以4轴同时启动。
4.Da.14——Da13的条件设置数据。
7.4.2 条件数据的设置
图7-8 Da.13=2H时等待启动的流程图
1.启动条件设置
在运动程序中,作为判断条件使用。
1)开关量信号的ON/OFF;
2)数据的大小;
3)某轴的运行状态。
本节对启动条件做一下说明,而启动条件构成了连续运动的节点。QD77提供了1组缓存器组成条件。(每组8个缓存器)也就是说,每个运动块均可以设置不同的条件作为本运动块的启动条件,通过编制PLC程序向这些缓存器设置内容。启动条件数据由Da.15~Da.19构成,以下详细解释。
2.条件的详细设置说明
Da.15的设置内容与各启动方式的关系见表7-7。
表7-7 Da.15设置值与启动方式的关系
(续)
1)Da.15=01H——以输入信号X的ON/OFF作为条件。输入信号的地址编号由Da.18设置,ON/OFF条件选择由Da.16设置。
2)Da.15=02H——以输出信号Y的ON/OFF作为条件。输出信号的地址编号由Da.18设置,ON/OFF条件选择由Da.16设置。
3)Da.15=03H——以缓存器[1个字(WORD)]中的数值作为条件。缓存器的编号由Da.17设置,比较数据由Da.18设置,运算规则由Da.16设置。
4)Da.15=04H——以缓存器(2个字)中的数值作为条件。缓存器的编号由Da.17设置,比较数据由Da.18设置,运算规则由Da.16设置。
样例:当缓存器800的数值≥1000时,条件=ON,见表7-8。
表7-8 条件运算样例1
5)Da.15=05H——以某轴的运动状态作为启动条件。设定对方轴和定位数据编号,见表7-9,当第2轴的No.3点启动时,条件=ON。
表7-9 条件运算样例2
3.条件的运算规则
1)Da.16=01H~06H规定了缓存器数据与参数设定值Da.18的比较运算规则。
2)Da.16=07H~08H规定了以输入信号X、输出信号Y的ON/OFF作为条件。
3)Da.16=10H~E0H规定了以各轴的运动状态作为条件。
4)Da.17——仅仅用于以缓存器的数据作为条件时,Da.15=03H~04H设置缓存器的地址。
5)Da.18——用于设置与缓存器的数据进行比较的数值P1以及轴1、轴2的定位点编号。
6)Da.19——用于设置与缓存器的数据进行比较的数值P2以及轴3、轴4的定位点编号。
Da.15与Da.16~Da.19之间的关系见表7-10。
表7-10 条件运算设置
7.4.3 设置样例
1.以输入信号XC的OFF作为条件
其中Da.15=01H、Da.16=08H、Da.18=0CH,见表7-11。
表7-11 设置样例1
Da.18设定了输入信号X的地址编号=0CH,即XC。
2.以数据值作为条件
例:当缓存器800、801内的数据大于1000时,条件:ON。
设置Da.15=04H—以2字缓存器内的数据为条件;
Da.16=04H——进行比较运算(大于等于);
Da.17=800——缓存器地址=800;
Da.18=1000——用于比较的数据1000。
设置内容见表7-12。
表7-12 设置样例2
3.以某一轴的运动状态作为条件
设置以第2轴的定位点No.3启动作为条件。
Da.15=05H——以某轴的某定位点的运动状态为条件;
Da.16=02H——设置轴号为第2轴;
Da.18=03H——设置定位点为No.3。
设置内容见表7-13。
表7-13 设置样例3
7.4.4 多轴同时启动
多轴同时启动比较简单的设置方法是:通过指令接口Cd.*进行设置。
1.设置
指令接口中设置启动要求的数据见表7-14。
表7-14 多轴同时启动指令
1)Cd.3为工作模式选择指令。设置Cd.3=9004,即为多轴同时启动模式。
2)在Cd.30中设置轴1的定位点编号;
3)在Cd.31中设置轴2的定位点编号;
4)在Cd.32中设置轴3的定位点编号;
5)在Cd.33中设置轴4的定位点编号;
设置完毕后,触发启动信号,即可执行多轴同时启动。
2.设置样例
以轴1为启动轴,轴2、轴4为同时启动轴,设置内容见表7-15。
表7-15 多轴同时启动指令设置样例
在以上设置中,轴3的数据为0,表示轴3不参加同时启动。轴1的启动信号Y10=ON,则轴1、轴2、轴4同时启动,而且各轴的定位点都已经设置完毕了。
7.4.5 无条件循环
1)定义:如果要执行几个运动块的循环操作,就要使用循环指令。即设置Da.13=4,由Da.14设置循环次数。循环起点为Da.13=4的运动块,循环终点为Da.13=6的运动块。循环次数由Da.14设置。如果Da.14=10,则为无限循环,如图7-9所示。
2)设置样例:循环运行设置见表7-16。
图7-9 循环运行的设置
表7-16 循环运行设置样例
经过表7-16设置后,就可以如图7-9这样进行循环操作,这种循环运行是无条件的。
7.4.6 有条件循环
1)定义:如果要执行运动块的有条件循环操作,就要使用有条件循环指令。即Da.13=5,由Da.14设置循环条件编号。
循环起点为Da.13=5的运动块,循环终点为Da.13=6的运动块。
2)设置样例:条件循环设置见表7-17。
表7-17 条件循环设置样例
注意:在Da.14中现在设置的是循环次数。经过如表7-17所示的设置,就能够按图7-10进行有条件的循环。
图7-10 有条件循环