热门搜索:
西门子可编程控制器CPU222
1问题的提出
1.1 如何扩展**值编码器的测量范围
问题1:在使用SINAMICS S120进行位置控制时,在采用**值编码器作为位置反馈时,如果负载行程较长,**出了**值编码器的测量范围,那么在设备重新上电时,编码器的返回位置r0483与负载实际位置是不匹配的。此时应该如何扩展**值编码器的测量范围,正确地读取负载的位置?
1.2 如何正确使用测量齿轮
举一个例子,在使用图2的测量齿轮时,假设所用的编码器是一个8圈的**值编码器,那么默认情况下,编码器返回位置、电机/负载的角度、编码器的角度随时间变化的关系如图3所示。
从图3可以看出,在编码器旋转8圈以后发生溢出,每次溢出后编码器返回值的零点与电机/负载的零点会有1/3圈的偏移,在发生溢出以后编码器返回的位置值就不可用了。在溢出3次以后,编码器返回值零点与电机/负载零点又重合了。
问题2:在使用SINAMICS S120进行位置控制时,在采用**值编码器作为位置反馈时,如果使用了测量齿轮,那么如何在编码器溢出时,也能正确读取电机/负载的实际位置?
2 SINAMICS S120位置跟踪功能的使用
2.1 SINAMICS S120位置跟踪功能概述
? 扩展**值编码器的测量范围
该功能可通过参数P0411.0来激活,激活以后,编码器溢出的次数信息会被保存在断电保持数据区中,这样即使编码器返回值发生溢出,即使设备重新上电,也可以重新根据编码器溢出次数和当前返回值计算出负载的当前位置。
**值编码器位置实际值保存在参数r0483中,r0483是一个无符号32位数,需要激活编码器的控制字中*13位(GnSTW.13)才会将编码器的实际值显示在r0483中。如果P0411.0=0,那么位置跟踪功能未被激活,此时r0483中的位置值由以下数据构成:
? 编码器每转脉冲数P0408
如果P0411.0=1,那么位置跟踪功能被激活,此时r0483中的位置由以下数据构成:
? 编码器每转脉冲数P0408
2.2 扩展**值编码器测量范围的参数设置
在弹出的对话框中Details选项卡中,选择激活位置跟踪功能,并在虚拟圈数P0412中输入需要的值,如图6所示。配置完毕后,下载数据并保存。
另外也可以在ONLINE情况下,通过参数表直接设置。使用PG/PC连接设备,在STARTER软件中连接在线后,通过驱动器的Expert List打开参数列表,依次设置以下参数即可。
P0010=4, Encoder Commissioning 编码器调试
2.3 使用测量齿轮时的参数设置
西门子可编程控制器CPU222
这样可以扩展位置值r0483的表示范围(如图8所示),在使用测量齿轮时,即使发生编码器返回值溢出,也能正确指示电机/负载的实际位置。
一、PROFINET IO和PROFIBUS DP并行通讯功能概述
1.通过PROFINET IO和PROFIBUS DP连接SIMATIC CPU 319-3 PN/DP与SINAMICS S120 CU320 网络组态如下:
2. 使用的硬件:
3、使用的软件
4、IP 地址及通讯名称:
注意:所有节点的子网掩码:255.255.255.0。
三、项目配置
1、 本例使用的设备描述
2、硬件组态
GSD V2.0 (gsdml-v2.0-siemens-sinamics-cbe20-yyyymmdd.xml) 可被安装。
在插入CPU319-3PN/DP时会弹出建立PROFINET IO网络的窗口,在此新建一个PROFINET IO网络并设置此PLC PN节点的IP地址及子网掩码。
(4)选择报文结构
(5)双击SINAMICS S120 CBE20,打开其属性窗口
(6)建立PROFIBUS DP网络
3、初始化通讯节点
可通过使用"configuration"对驱动装置进行手动配置。配置结束后编译保存。
注意:S120支持两个周期性通讯接口IF1和IF2,分别通过CU参数P8839.0和P8839.1来定义IF1和IF2的通讯方式,在默认情况下P8839.0= P8839.1=99,就激活了这两个接口的自动模式,如下表所示:
两个周期性通讯接口IF1和IF2的特性如上表所示:
五、通过PROFIBUS DP或PROFINET IO总线来实现过程数据的传输
在运动控制系统中,经常使用**值旋转编码器作为位置反馈,**值编码器具有返回值与实际位置一一对应、断电后位置信息不丢失等优点,在使用时给用户带来了很多方便,比如在设备重新上电时,不需要重新寻找参考点(回零)。
不过**值旋转编码器也有缺点,不管是单圈**值编码器,还是多圈**值编码器,它的测量范围都是有限的。如果负载不停地单方向运行,那么一定会造成编码器返回值溢出,此时编码器的值又重新返回零,周而复始。此时如果设备重新上电,编码器返回值是不包含溢出次数信息的,所得到的位置值也是不可用的。
图1 **值旋转编码器的返回值与负载位置的关系
在一些场合会使用测量齿轮改变电机或负载的转速特性,以便于速度或位置的测量,如图2所示为一个齿轮比为1:3的测量齿轮。如果所用的编码器为**值编码器,那么在发生溢出时,编码器返回值的零点与电机/负载的零点就出现偏移,偏移量的大小取决于齿轮比。一旦编码器返回值发生溢出,负载的实际位置值就不可用了。
图2 测量齿轮示意图
图3 编码器返回位置、电机/负载角度、编码器角度的关系
SINAMICS S120位置跟踪(Position Tracking)可用于:
? 在使用测量齿轮时,正确计算负载的位置
图4 测量齿轮和编码器的示意图
? 编码器信号细分位数P0419
? 编码器圈数P0421
? 编码器信号细分位数P0419
? **值旋转编码器虚拟圈数P0412
如果没有测量齿轮,编码器的圈数即为P0421的值,如果P0421太小,不满足负载行程要求,那么可以通过放大P0412来扩展**值编码器的位置测量范围。
? 测量齿轮比P0433/P0432
要扩展**值编码器的测量范围,可以在配置向导中编码器配置画面上进行设置。使用STARTER软件打开项目,在Config DDS的配置向导中,在配置编码器数据时,点击Details按钮,如图5所示。
图5 编码器配置画面
图6 激活位置跟踪功能
P0411.0=Yes, Activate Position Tracking 激活位置跟踪功能
P0412=600, Set Virtual Revolution 设置虚拟圈数,根据实际情况调整
P0010=0, Ready 返回就绪状态
针对1.2节中的例子,编码器每溢出一次,都会在电机/负载侧产生1/3圈的偏移,每溢出3次以后,编码器零点与电机/负载的零点重新吻合。在编码器溢出时,电机/负载的位置就可能不正确了。
此时需要激活位置跟踪功能,并设置测量齿轮的齿轮比P0433和P0432,如图7所示。本例中**值编码器是一个8圈的**值编码器,所以P0412=8。
图7 测量齿轮的参数设置
图8 位置跟踪功能激活后的位置值
SINAMICS CU320控制单元可用的硬件通讯接口如下:
? 标配的通讯接口(PROFIBUS DP)
? 可选的通讯接口(PROFINET IO,CAN)
当通讯接口板插入到CU320以后,标配的通讯接口(PROFIBUS DP)就被自动禁止,无法实现周期性通讯。
在以下应用场合,可以通过设置参数P8839,在SINAMICS系统中实现两者的并行通讯:
? PROFIBUS DP用于实现对驱动的控制,PROFINET IO用于接收驱动的实际值。
? PROFIBUS DP用于控制,PROFINET IO仅用于工程应用。
? 两主站工作,一个用于工艺控制,另一个用于逻辑控制。
? 通讯接口冗余。
二、S7-300/400与SINAMICS S120 CU320的网络连接
图 1.
Device
Order No.[MLFB]
Version
CPU319-3 PN/DP
6ES7318-3EL00-0AB0
V2.6
CU320
6SL3040-0MA00-0AA1
E
CBE20
6SL3055-0AA00-2EB0
? STEP7 V5.4 SP2
? SCOUT V4.1 SP1 或 STARTER V4.1 SP1
? S120 V2.5 SP1 HF1
? CBE20的 GSD V2.1文件:gsdml-v2.1-siemens-sinamics-s-cu3x0-20070726.xml
在CF 卡中的路径: \\SIEMENS\SINAMICS\DATA\CFG\CBE20GSD.ZIP
Device
Communication name
IP address
CPU319-3 PN/DP
PN-IO
192.168.0.108
CU320
CU310
192.168.0.109
PG
192.168.0.112
SERVO_02
Motor Module: 6SL3120-2TE13-0AA3
Motor: 1FK7022-5AK71-1LG0
Absolute Encoder
SERVO_03
Motor Module: 6SL3120-2TE13-0AA3
Motor: 1FK7022-5AK71-1AG0
Sin/Cos Encoder
(1)安装SINAMCIS S120 CBE20的GSD文件
对于PROFIBUS DP 及 PROFINET IO 需要的所有 GSD 文件存在S120的CF卡中,将这些文件拷贝至本地硬盘并解压。
在Step 7的硬件配置中选择 “Options => Install GSD file"
图 2.
GSD文件安装后,设备会出现在硬件组态的如下目录中:
"PROFINET IO => Drives => SINAMICS => GSD => SINAMICS S120 CBE20 from 2.5"。
注意:
? GSD 子文件夹只有在安装DriveES 或 SIMOTION SCOUT后才有效。否则 GSD设备可直接在SINAMICS 文件夹中被找到。
? 如果安装了 DriveES Basic / Simatic 或 SIMOTION SCOUT,则不必安装 GSD 文件。
(2)通过CPU319建立PROFINET IO网络
图 3.
(3)将CBE20拖曳至PROFINET总线上(若安装DriveES)
图 4.
图 5.
分配其设备名称及IP地址,勾选“Assign IP address via IO controler”。
图 6
图 7.
在硬件组态画面中,点击 "PLC =>Ethernet => Edit Ethernet nodes",在打开的画面中配置SINAMICS S120 CBE20和CPU319的设备名称及IP地址。
图 8.
四、使用Starter / SCOUT调试
如图9所示:在SteP7项目中生成了两个驱动项目“SINAMICS_S120_CU320”和”SINAMICSxS120xCBE20v1”,分别是驱动在PROFIBUS DP和PROFINET IO网络上生成的。本例中PC与CBE20之间通过网线连接,用如图9的方式既可直接打开Starter 或SCOUT 及驱动项目。
图 9.
本例中:在Scout中选择同样的报文结构,并与SteP7 HW Config中定义的报文结构保持一致,并单击“Transfer to Hw Config”按钮
图 10.
在这种方式下无法实现PROFIBUS DP和PROFINET IO的并行通讯,因此为了实现其并行通讯,需要按如下方式设置:
? P8839[0]=1和P8839[1]=2:PROFIBUS DP 用于同步,PROFINET IO用于周期性通讯
? P8839[0]=2和P8839[1]=1:PROFINET IO用于同步,PROFIBUS DP用于周期性通讯(本例中的设置)
注意:IF2不支持TM41,TM15,TM17,TM/TB,CU与CPU之间的通讯。
S7-300/400PLC通过PROFINET IO或PROFIBUS DP周期性通讯方式将控制字1(CTW1)和主设定值(NSETP_B)发送至驱动器。
(1) 控制字中Bit0做电机的起、停控制。
(2) 主设定值为速度设定值,参数P2000中的值为频率设定值和实际值的参考频率,** 对应4000H(十六进制),发送的较高频率(较大值)为7FFFH(200%)。
(3) 当组态的报文结构 PZD=2或自由报文999时,在S7-300/400 中可用“MOVE” 指令进行数据传送;当组态的报文结构PZD 〉2,在S7-300/400 中需调用SFC14和SFC15系统功能块。
? SFC14(“DPRD_DAT”)用于读驱动装置的过程数据。
? SFC15(“DPWR_DAT”)用于将过程数据写入驱动装置。
例子(PROFINET IO):SERVO_02 控制字、主设定值的发送及状态字、实际频率的读取程序见图11。