S7-1200 PLC运动控制根据连接驱动方式不同可分成三种控制方式,如图12-32所示。
①PROFIdrive:通过基于PROFIBUS/PROFINET的PROFIdrive方式与支持PROFIdrive的驱动器连接,进行运动控制。
②PTO(Pulse Train Output):通过发送PTO脉冲的方式控制驱动器,可以是脉冲+方向、A/B正交、也可以是正/反脉冲的方式。
③模拟量:通过输出模拟量来控制驱动器。继电器类型输出,不能作为PTO输出点使用。
1.运动控制的硬件组成
S7-1200 PLC运动控制的硬件组成如图12-33所示。
1)信号板:可以使用信号板为CPU添加输入和输出。可将数字量输出用作控制驱动器的脉冲发生器输出。对于具有继电器输出的CPU,由于继电器不支持所需的开关频率,因此无法通过板载输出来输出脉冲信号,必须使用具有数字量输出的信号板。如果需要,还可使用模拟量输出来控制所连接的模拟量驱动器。
2)PROFINET:PROFINET接口用于在S7-1200PLC与编程设备之间建立在线连接。除了CPU的在线功能外,附加的调试和诊断功能也可用于运动控制。PROFINET支持用于连接PROFIdrive驱动器和编码器的PROFIdrive配置文件。
图12-32 S7-1200PLC运动控制方式
图12-33 运动控制的硬件组成
3)驱动装置和编码器:驱动器用于控制轴的运动。编码器提供轴的闭环位置控制的实际位置。
驱动器和编码器连接方式,见表12-10。
表12-10 驱动器和编码器连接方式
2.运动控制基础知识
(1)通过PTO连接驱动器
1)最大PTO数:不论是使用板载I/O、信号板I/O还是两者的组合,最多可以控制4个PTO输出。脉冲发生器具有默认的I/O分配,但是它们可组态为CPU或SB上的任意数字量输出。不能将CPU上的脉冲发生器分配至SM或分布式I/O。
注意:
如果已选择PTO并将其分配给某个轴,固件将通过相应的脉冲发生器和方向输出接管控制,将断开过程映像和I/O输出间的连接。虽然用户可通过用户程序或监视表写入脉冲发生器和方向输出的过程映像,但所写入的内容不会传送到I/O输出。因此,通过用户程序或监视表格无法监视I/O输出。读取的信息反映过程映像中的值,与I/O输出的实际状态不一致。
2)PTO的信号类型:根据PTO的信号类型,不同PTO信号类型占用的脉冲发生器D0通道个数见表12-11。
表12-11 脉冲发生器D0通道个数
PTO信号类型具体含义见表12-12。
表12-12 PTO信号类型
3)可用的脉冲发生器输出和频率范围 CPU及信号板可用的脉冲发生器输出和频率范围见表12-13。
表12-13 CPU及信号板可用的脉冲发生器输出和频率范围
注意:
同一个PTO使用具有不同频率范围的脉冲发生器输出点(除信号类型“脉冲A和方向B”外),输出频率以较低频率范围为准。例如:A/B相移,选择脉冲发生器输出频率分别为100kHz和20kHz的两个输出点时,输出频率最高为20kHz。
(2)PROFIdrive驱动/模拟量驱动连接
1)最大轴数量:通过PROFIdrive或模拟量驱动接口,最多可控制8个驱动装置。
2)驱动和编码器的连接:通过信号板或模拟量输出模块上的模拟量输出与具有模拟量设定值接口的驱动器进行连接,通过模拟量输出指定设定值;具有PROFIdrive功能的驱动器可通过CPU的PROFINET接口进行连接,通过PROFIdrive报文指定设定值。
可通过以下方式连接编码器:
•PROFIdrive驱动器上的编码器。
•工艺模块上的编码器。
•PROFIdrive编码器。
对于以上编码器,编码器值通常通过PROFIdrive报文经由PROFIBUS或PROFINET进行传送。
•高速计数器(HSC)上的编码器。
编码器信号将直接连接HSC,并生成编码器值,根据所用的CPU,最多可使用6个HSC编码器。
3)PROFIdrive:PROFIdrive是通过PROFIBUS/PROFINET连接驱动器和编码器的标准化驱动技术配置文件。支持PROFIdrive配置文件的驱动器都可根据PROFIdrive标准进行连接。控制器和驱动器/编码器之间通过各种PROFIdrive报文进行通信。每个报文均有一个标准化的结构。可根据具体应用,选择相应的报文。通过PROFIdrive报文,可传输控制字、状态字、设定值和实际值。定位轴的设定值可通过PROFIdrive消息帧1、2、3或4传送到驱动装置中。编码器值既可与设定值(消息帧3和4)一同经由消息帧传送,也可通过单独的编码器消息帧(消息帧81或消息帧83)进行传送。支持用于连接驱动器和编码器的PROFIdrive报文见表12-14。
4)闭环控制:通过PROFIdrive或模拟量驱动装置接口连接驱动装置,可以实现闭环位置控制,运动控制器闭环结构如图12-34所示。
插补器(MC-Interpolator[OB92])用于计算轴的位置和速度设定值。位置设定值与实际位置之间的差,乘以位置控制器的增益系数,之后与预控制值相加,结果作为驱动装置的速度设定值,通过PROFIdrive或模拟量输出进行输出。可见,位置控制器是使用预控制速度的比例控制器。编码器用于记录轴的实际位置,并通过PROFIdrive消息帧或HSC(高速计数器)返回控制器。
5)过程响应:创建带有PROFIdrive驱动装置或模拟量驱动接口的工艺对象“定位轴(Positioningaxis)”时,系统将自动创建用于处理工艺对象的组织块。下面的组织块会被创建:
•MC-Servo[OB91],用于位置控制器的计算。
表12-14 PROFIdrive报文
图12-34 运动控制器结构
•MC-Interpolator[OB92],用于评估运动控制指令、生成设定值和监控功能。
两个组织块为受保护块(专有知识保护),无法查看或更改程序代码。两个组织块彼此之间出现的频率关系始终为1∶1。MC-Servo[OB91]总是在MC-Interpolator[OB92]之前执行。根据控制质量要求与系统负载的不同,可以设定组织块的循环时间和优先级。
在组织块MC-Servo[OB91]上右键菜单选择“属性”,在属性窗口“常规>循环时间”中,可设置MC-Servo[OB91]的循环时间,MC-Servo[OB91]以指定的循环时间进行循环执行,完成位置控制器的计算,如图12-35所示。
图12-35 OB91循环时间
所选循环时间必须足够长,以确保可在一个循环中完成所有工艺对象的处理操作,否则将发生溢出。可根据所使用的轴数量设置MC-Servo[OB91]的循环时间,建议的循环时间为循环时间=2ms+位置控制轴的数量×2ms。
不同位置控制轴数量对应的MC-Servo[OB91]循环时间,见表12-15。(www.xing528.com)
表12-15 不同位置控制轴数量对应的循环时间
使用SINAMICS驱动器时,设置MC-Servo[OB91]循环时间需要满足:
MC-Servo[OB91]循环时间≥SINAMICS驱动装置过程映像采样时间(参数P2048)≥总线时钟周期且时间之间应为整数倍。
在组织块的属性“常规>属性>优先级”中,可以按需设定组织块的优先级:
•MC-Servo[OB91],优先级17~26(默认值25);
•MC-Interpolator[OB92],优先级17~26(默认值24)。
MC-Servo[OB91]的优先级必须至少比MC-Interpolator[OB92]的优先级高1级。
为了对控制进行优化,将运动控制使用的所有I/O模块(如工艺功能模块、硬限位开关)均指定给过程映像分区“PIPOB伺服”。这样,I/O模块即可与工艺对象同时处理。运动控制使用的高速计数器(HSC)会自动分配给过程映像分区“PIPOB伺服”。
执行运动控制功能时,将在每个应用循环中调用和执行组织块MC-Servo[OB91]和MC-Interpolator[OB92]。余下的循环时间用于处理用户程序。要实现无错程序执行,应遵循下列规则:
•在每个应用循环中,都必须启动并完全执行MC-Servo[OB91];
•在每个应用循环中,至少启动相关的MC-Interpolator[OB92]。
运行组织块无故障操作顺序如图12-36所示。如果未遵循规则设置(例如由于应用循环过短),则可能发生溢出。溢出信息将输入到CPU的诊断缓冲区中。
图12-36 运动组织块操作顺序
6)通过数据块实现驱动装置/编码器的数据连接:PROFIdrive驱动装置和PROFIdrive编码器可通过PROFIdrive报文或数据块建立数据连接。出于控制过程特定的原因(例如非线性的液压轴的控制),如果要修改或评估用户程序中的报文内容时,则需通过数据块建立连接。
通过数据块建立数据连接的操作原理如下:
通常,轴闭环位置控制开始时,将通过MC-Servo[OB91]读取驱动装置或编码器的输入报文。闭环位置控制结束时,将输出报文写入驱动装置或编码器中。由于过程特定的原因要修改或评估报文内容时,必须在闭环位置控制前后通过数据块在驱动装置和编码器之间连接数据接口。
•通过MC-PreServo[OB67]组织块,可编辑报文的输入区域。在MC-Servo前调用MC-PreServo。
•通过MC-PostServo[OB95]组织块,可编辑报文的输出区域,在MC-Servo后调用MC-PostServo。
数据块由用户创建,其中需包含数据类型为“PD_TELx”的数据结构,以进行数据连接,“x”表示在设备组态中组态的驱动装置或编码器的报文编号。
在数据块“属性”选项中,需禁用以下属性:
•“仅存储在装载存储器中”(Only store in load memory)。
•“设备中的写保护数据块”(Data block write-protected in the device)。
•“优化块访问”(Optimized block access)。
用户可对MC-PreServo和MC-PostServo组织块进行编程,通过PROFIdrive报文以及数据块建立数据连接的操作原理如图12-37所示。
7)带模拟量驱动接口的数据连接驱动装置:带模拟量驱动接口的数据连接驱动装置,也可通过数据块进行数据连接。通常,在“MC-Servo[OB91]”位置控制结束处,模拟量驱动装置的设定值将写入所指定的模拟量输出中。模拟量驱动装置的设定值可通过数据块中的组织块“MC-PostServo[OB95]”进行编辑,并写入该I/O地址中。
(3)硬件和软件限位开关
硬限位开关和软限位开关用于限制定位轴工艺对象的“允许行进范围”和“工作范围”。这两者的相互关系如图12-38所示。
硬限位开关是限制轴的最大“允许行进范围”的限位开关。硬限位开关是物理开关元件,PTO轴的输入必须具有硬件中断功能。软限位开关将限制轴的“工作范围”。它们应位于限制行进范围的相关硬限位开关的内侧。由于软限位开关的位置可以灵活设置,因此可根据当前的运行轨迹和具体要求调整轴的工作范围。与硬限位开关不同,软限位开关只通过软件来实现,无需借助自身的开关元件。在组态中或用户程序中使用硬限位和软限位开关之前,必须先将其激活。
图12-37 通过PROFIdrive报文以及数据块建立数据连接的操作原理
图12-38 硬件和软件限位开关
注意:
只有在轴回原点之后,软限位开关才生效。
(4)加加速度限值
利用加加速度限值,可以降低在加速和减速斜坡运行期间施加到机械上的应力。当加加速度限值处于激活状态时,加速度和减速度的值不会突然改变,而是逐渐增大和减小的。不使用和使用加加速度限值时的速度和加速度曲线如图12-39所示。使用加加速度限值可以产生“平滑”的轴运动速度轨迹。例如,可以确保传送带的软启动和软制动。
(5)回原点
通过回原点,可使工艺对象的位置与驱动器的实际物理位置相匹配。为显示工艺对象的正确位置或进行绝对定位时,都需要进行回原点操作。在S7-1200CPU中,使用运动控制指令“MC_Home”执行轴回原点。“MC_Home”指令可启动轴的回原点操作,回原点模式有:
1)模式0:绝对式直接回原点
轴位置的设置与回原点开关无关,不会终止任何已激活的运动控制命令。立即将运动控制指令“MC_Home”中输入参数“Position”的值设置为轴的参考点。
图12-39 加加速度限值
2)模式1:相对式直接回原点
轴位置的设置与回原点开关无关,不会终止当前的运动控制命令。
回到原点后轴的定位:
新的轴位置=当前轴位置+指令“MC_Home”中“Position”参数的值。
3)模式2:被动回原点
被动回原点期间,运动控制指令“MC_Home”不会执行任何回原点运动。用户需通过其他运动控制指令,执行这一步骤中所需的行进移动。检测到回原点开关时,将根据组态使轴回原点。此功能有助于应对正常的机器磨损和齿轮间隙,从而无需对磨损进行手动补偿。
4)模式3:主动回原点
在主动归位模式下,运动控制指令“MC_Home”将执行所需要的回原点操作。检测到回原点开关时,将根据组态的运行轨迹使轴回原点。此模式是最精确的回原点方法。
5)模式6:绝对编码器相对调节
将当前轴位置的偏移值设置为参数“Position”的值。
6)模式7:绝对编码器绝对调节
将当前的轴位置设置为参数“Position”的值。
模式6和7仅用于带模拟驱动接口的驱动器和PROFIdrive驱动器。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。