![运动控制器与交流伺服系统的调试和应用](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=1738909495-joYZn5patfBq5H9vH2Ejv5gM88VU6IC1-0-3b32d2990b5c66dea5ec8fc7f5023ad2)
注: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=1738909495-HviVnoeklQQoRma2qKmweREeM4aDhxT9-0-3b7f06e13ac704c89648a48e6286b24f)
表7-5是程序区号7004/运动块号No.50对应的缓存器。各轴对应的缓存器各不相同。
表7-5 程序区号7004/运动块号No.50对应的缓存器
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/84_02.jpg?sign=1738909495-nlcZG8ebTIUYyB9zPe9sJNK3E8joforc-0-3951284eaa50a74c867fbe07f6fba981)
(续)
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/85_01.jpg?sign=1738909495-A1ZP7Xj9bIzTM9O9wxtFATMRmag7K5zF-0-2560bb58cd02d35f7b22d215295b4e07)
表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=1738909495-SciNTUOUf5npN90bUYrlufq5BihgVjsV-0-100d98965eaaa93284fb69cca234d6a0)
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=1738909495-7AY9vnw5np6eFBiPtzEB3EIq9HYYQkpd-0-cea05f2a9a740660ed0477ccf5e082aa)
图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=1738909495-htHtU3gvXcam5X940q3RhX0UZs630dDm-0-12aee8158eae320db931d667725aba05)
图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=1738909495-WeM042pSjhKlcP23t1rBR8x62Jv7mfMF-0-392b6b46976c480348a1ed71a8797e7a)
(续)
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/87_01.jpg?sign=1738909495-YHZ2wdaQUFV6iRVGDgk3wezH5h1qevXs-0-cf04d99ac39f90363a0844c0eb49b82c)
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=1738909495-Exxfz7jPP4JyIUUkJifGToF4qizTapV2-0-7279f9c2c0ac0c7a9dbdde7c7a3b338a)
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=1738909495-ot5t6ke5zSGziAMhnNNWGvXPYGgE9V7q-0-53a068526e2b9c2659ec4bd786b1dda9)
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=1738909495-j60Bao4I4qExv2QmwQaPCyPnKh49YR5v-0-d83d2681f13d99c85ab3a62d73aab8cb)
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=1738909495-EnuvHxToMylmVf84VToZWz8Qsg4rfxfA-0-76e4d5e0a4adfeb9c3eec5764bf64b23)
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=1738909495-Fh1OJVMIrQuHd8phCBfbYXUD6FdNOSkY-0-67afdc12f8a069330c662d4340df49a6)
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=1738909495-q4TBRuTyxcKMwsaPDwdTdQSc3kdki2r7-0-528556a4d0b00fd1a46f45eb0a18e5b8)
7.4.4 多轴同时启动
多轴同时启动比较简单的设置方法是:通过指令接口Cd.*进行设置。
1.设置
指令接口中设置启动要求的数据见表7-14。
表7-14 多轴同时启动指令
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/89_03.jpg?sign=1738909495-6O3uijLMtHu2FoiEBlNlvOvjNnzCoFvV-0-0f047a3294b6496ac112e3b0e0002b5a)
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=1738909495-O7lnz3cjHaf35IHJIDpqe3UmdfGyE1pA-0-c5ac9a48c81f02eca46cd7f4394d8a00)
在以上设置中,轴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=1738909495-sbpNRZjJqqc4kwClQLZ3QLYODLGHXkNv-0-d5a01b590ffcb703784249adf8925f37)
图7-9 循环运行的设置
表7-16 循环运行设置样例
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/90_03.jpg?sign=1738909495-928MjJfeJfForHiFctvToW4uuCK5PU4j-0-b394b68f7706d38a5562e4f8a39919d2)
经过表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=1738909495-ELCFXz96ukiBEKYcVv0bKtOfxwhlrFzl-0-38825896e576d0368f2081577850da37)
注意:在Da.14中现在设置的是循环次数。经过如表7-17所示的设置,就能够按图7-10进行有条件的循环。
![](https://epubservercos.yuewen.com/62814D/21511157208181306/epubprivate/OEBPS/Images/91_02.jpg?sign=1738909495-9f8cTpodWcEmK3f3SFspNCcv7FOoqcBU-0-762f12b91e4efc8f4fc602e2560c615f)
图7-10 有条件循环