![运动控制器与交流伺服系统的调试和应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/880/41309880/b_41309880.jpg)
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对应的缓存器
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/83_01.jpg?sign=1739612234-Y6yhFPlXShpHgfIXBsW8dULYFPA2a6G9-0-541af23c6000e553516adfb46bff370c)
注:n=轴号-1,下文同。
表7-4是程序区号7000/运动块号No.2对应的缓存器,随轴号不同,缓存器号各不相同。
表7-4 程序区号7000/运动块号No.2对应的缓存器
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/84_01.jpg?sign=1739612234-ilsou24JWcFLoRz5pndrHs2hGSxth4mJ-0-3edb8f28f367fe0fac8ce2fb427d2c54)
表7-5是程序区号7004/运动块号No.50对应的缓存器。各轴对应的缓存器各不相同。
表7-5 程序区号7004/运动块号No.50对应的缓存器
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/84_02.jpg?sign=1739612234-xWI1yVWwjebIf6JQuPBgtdHh7YJg2Y0U-0-a50cdc4e984e56ee3e95284388e15482)
(续)
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/85_01.jpg?sign=1739612234-rLLtiJ8WgE1XcXVIT4IvtIFhizJZWJ3a-0-b07f9e74f0025432c8322d3b67d7e27e)
表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的设置内容
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/85_02.jpg?sign=1739612234-ro6Oyf1khQVvupDEcURu1AIyE7UaX5JR-0-e65d0b83a43530b00e2a30de74e575b8)
1)Da.13=0H——正常启动。这是常规启动,无须做条件判断。
2)Da.13=1H——条件启动。当设定的条件=ON时,执行当前运动块,如果条件=OFF,跳过当前运动块,执行下一运动块,如图7-7所示。
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/86_01.jpg?sign=1739612234-QMXNDifVG10pgsnnKRQUZYL4UgxMZ0qP-0-894a96a011bcbdf31a4d7ca328d386ba)
图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 条件数据的设置
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/86_02.jpg?sign=1739612234-SKJVIleL8EXXQO1S1eh6gU4udfGEnPR6-0-3fbd81bedd5f91965ac6bf4accc0eab8)
图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设置值与启动方式的关系
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/86_03.jpg?sign=1739612234-kOieVspVMOUztIcDNcFC3m2E1BzDK1jR-0-4c4cae521ac6ec2b7ddb7140d50adc1e)
(续)
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/87_01.jpg?sign=1739612234-RXtXflrYYSb4UcCvqGSZOFhwQcT4VBRF-0-332deb419eac56da205d127cca604a07)
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
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/87_02.jpg?sign=1739612234-q7w8pzXC6bClzDzvH6YZ6nCqPMR37Sgt-0-0fbe551b675ae494e71231af6b5c7d07)
5)Da.15=05H——以某轴的运动状态作为启动条件。设定对方轴和定位数据编号,见表7-9,当第2轴的No.3点启动时,条件=ON。
表7-9 条件运算样例2
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/87_03.jpg?sign=1739612234-VBj8oZr4E71VQ3uI5qYhd8mXOopX0WWu-0-96a510159ebea8b00d2625c6f007e067)
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 条件运算设置
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/88_01.jpg?sign=1739612234-8WPMUnz0t32iIfHYbB1yimUIAzBzZyAF-0-0a082cbe3d0ad7f72b838ca942ee46f3)
7.4.3 设置样例
1.以输入信号XC的OFF作为条件
其中Da.15=01H、Da.16=08H、Da.18=0CH,见表7-11。
表7-11 设置样例1
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/88_02.jpg?sign=1739612234-aUDH2bZqPh7KUneImK3O8e9GrNabjDTf-0-f580604902bcfa7f37abf0a064a320e5)
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
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/89_01.jpg?sign=1739612234-S7AWhbMLzRR21ReyLpnXvJmtQa3pQy2O-0-017411964e7181d541a8e1fac40e1928)
3.以某一轴的运动状态作为条件
设置以第2轴的定位点No.3启动作为条件。
Da.15=05H——以某轴的某定位点的运动状态为条件;
Da.16=02H——设置轴号为第2轴;
Da.18=03H——设置定位点为No.3。
设置内容见表7-13。
表7-13 设置样例3
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/89_02.jpg?sign=1739612234-qlvZCVVVONwKkIibOhRW6bpeoGiDbY6i-0-acc0bc11eca71fcb19adb98ea903c050)
7.4.4 多轴同时启动
多轴同时启动比较简单的设置方法是:通过指令接口Cd.*进行设置。
1.设置
指令接口中设置启动要求的数据见表7-14。
表7-14 多轴同时启动指令
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/89_03.jpg?sign=1739612234-qhO6iKpjBM8mnHl20a2sLNB4rcIXrU5u-0-aabd91ec389e764070e645b0877c4617)
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 多轴同时启动指令设置样例
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/90_01.jpg?sign=1739612234-XKIKfMkU0nOmHDGSB5sv4Jn4tl4jHZtm-0-0fd6abb2a6413231fa120828de37f74b)
在以上设置中,轴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。
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/90_02.jpg?sign=1739612234-pO7SCNkP1STFo6yT9UW8qCqMcRWunjcG-0-98cb36e47551fc81253583f6c96433b8)
图7-9 循环运行的设置
表7-16 循环运行设置样例
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/90_03.jpg?sign=1739612234-FNcBLbjlPWew6ebjf3w0LEklUY2Q78CF-0-514511a4fccb480f279b7450de64d151)
经过表7-16设置后,就可以如图7-9这样进行循环操作,这种循环运行是无条件的。
7.4.6 有条件循环
1)定义:如果要执行运动块的有条件循环操作,就要使用有条件循环指令。即Da.13=5,由Da.14设置循环条件编号。
循环起点为Da.13=5的运动块,循环终点为Da.13=6的运动块。
2)设置样例:条件循环设置见表7-17。
表7-17 条件循环设置样例
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/91_01.jpg?sign=1739612234-q11ca376KtRNwGqDcV8bOtOtcUh5gJyz-0-04eb90c90bd1102b201c1a16f634bc81)
注意:在Da.14中现在设置的是循环次数。经过如表7-17所示的设置,就能够按图7-10进行有条件的循环。
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/91_02.jpg?sign=1739612234-B3NKkLt6uhFgHzETZP5fD5dx2fTH5Jrd-0-0428ecbe651ffdf55a315fd9210db8ea)
图7-10 有条件循环