今天我们来讲解一下西门子PLC使用通讯控制S120变频器
通过DP总线实现S7-300与SINAMICSS120通讯
1.1DP总线通讯功能
S7-300与SINAMICSS120之间DP通讯借助于系统功能块SFC14/SFC15进行周期性数据通讯。周期性数据交换指的是数据的实时交换,如控制字和设定值。

1.2DP地址设定
驱动侧,S120上通过拨码开关来设置DP地址,设定范围为1-126.

当所有拨码拨至ON或者OFF状态时,通过P918参数设置DP地址。
1.3STEP7硬件配置
在STEP7中新建项目,点击

打开硬件组态,新建DPNETWORK,在CATALOG中选择相应S120产品,如SINAMICSS120CU320,将其加入DP总线,DP地址设置应与驱动侧设置地址一致。

选择相应的S120Firmware版本,如



保存编译硬件组态,将其下载至PLC中。
注:此时仅将PLC硬件配置完成,S7-300与S120之间通讯尚未建立,CPU会BF灯亮,SF等闪烁,S120侧LEDDP灯不亮。
1.4S120配置

打开S120项目后,选择在线Connecttotargetsystem

若是新的CF卡可选择自动配置AutomaticConfiguration,通过DRIVE-CLIQ口将S120硬件配置装载至PG电脑。

若是旧CF已有配置,可选择工厂复位,将参数复位到出厂状态。


提示选择S120驱动类型,选择SERVO伺服方式。



出现S120驱动配置画面,将前三项都打勾,激活基本定位功能。

配置MotorModule,由于之前已有Drive-CLIQ将配置读上来,直接Continue

出现提示,将P0864Infeedinoperation设为1


配置电机,直接由ConnectionX1通过DriveCLIQ读出电机信息


选择电机是否有抱闸刹车

选择编码器类型
已有DriveCLIQ读出

在Mechanics画面中
设置传动比,Loadrevolutions和Motorrevolutions
设置S120电机一圈所对应的长度单位LU。
LUperloadrevolutions(positionsetpoint/actual)画面中将值设为了10000,即电机一圈代表走了10000个LU
注:LUperloadrevolutions(positionsetpoint/actual)设置的值与编码器精度有关,不能大于LUperloadrevolutions(Encoderrevolutions)的值
Activemodulocorrection
激活模态,对于电机设定的长度和实际长度从360000LU开始回到0,循环执行。即0-360000再回到0.

选择通讯报文,对于基本定位的报文选择SIEMENStelegram110,PZD-12/7

完成配置。


再返回到SINAMICS_S120_CU320下Configuration画面,可以看到
红色惊叹号变为蓝色的勾,地址也已经分配为256开始的地址。

保存编译整个项目。连线。下载整个项目。
1.5S7-300中通讯编程
利用SFC14和SFC15读写S120,达到通讯控制S120的目的。
SFC14读,占用7个PZD
在LADDR填写S120硬件地址,256对应16进制即W100
RECORD中填写设定DB地址,即从开始的20个BYTE的地址分配为向S120里写的PZD值
RET_VAL返回值显示故障信息

定义相对应的DB块DB1DB2
1.6基本定位
1.6.1JOG点动
S120中基本定位功能的点动有两种方式
速度方式:点动按钮按下,轴以设定的速度运行直至按钮释放
位置方式:点动按钮按下并保持,轴以设定的速度运行至目标位置后自动停止
在通过通讯控制S120之前需注意,需将PLC与S120的通讯控制位置1
即将P854MasterctrlbyPLC参数对应r2090bit10,即

执行点动功能,需先使能S120ON/OFF1(P840)
打开Drives下Servo_02下Controllogic可以看到相关控制字及状态字
可以看到,由于之前选择了报文结构110,已经自动将控制字配置好。
P840ON/OFF1相对应的是r2090bit0,即PZD1的bit0
我们已经定义好通过通讯写S120PZD的地址,PZD1Bit0对应的DB地址即。
还有P844bit1OFF2信号即r2090bit1对应
P845bit1OFF3信号即r2090bit2对应
P852Enableoperation即r2090bit3对应
将这些信号都置1.S120使能。

设置点动命令源
Jog1signalssource即
Jog2signalssource即
点动方式选择0速度1位置
Joggingincremental即

在AnalogSignal画面中
Velocityoverride即r2050[4]
此为点动速度的倍率,通过修改其值来改变点动的速度,16进制4000H,10进制16384对应100%

在Configurejogsetpoints画面中设置JOG1和JOG2的速度和位置

1.6.2回零/寻参
Homing又分activehoming主动回零和passivehoming(onthefly)被动回零.
Activehoming
如下图可以看到,主动回零分为三种形式
Homingoutputcamandencoderzeromark使用接近开关加编码器零位
Encoderzeromark仅编码器零位
Externalzeromark仅外部零标志
最常用的就是接近开关加编码器零位的方式

在homing/configuration
Referencingstartr2090bit11即为寻零开始信号
Searchforreference,referencecamr2092bit2即即外部接近开关

动作过程
1,将S120使能,置1
2,寻零开始信号置置1,电机开始运行
3,将外部接近开关信号对应referencecam,当为1时,电机减速,搜寻编码器零脉冲,遇到后停止。
寻零结束
当编码器为绝对值编码器时,会看到以下画面

1.7基本定位_程序步(TraversingBlocks)
通过使用TraversingBlocks"程序步"模式可自动执行一个完整的定位程序,也可实现单步控制;但只有当前程序步执行完后下一个程序步才有效。
在S120中提供了最多64个程序步供使用。
1.7.1程序步设置

进入程序块设置画面,对于程序步有特定的数据结构,如下图

P2616(No.)每个程序步都要有一个任务号,运行时依此任务号顺序执行(-1表示无效的任务)
P2621(Job)表示该程序步的任务。可选择:Positioning(位置方式)、less_Pos/less_Neg(正、反向速度方式)、Waiting(等待指定的时间)Goto(跳转到指定的程序步)Set_0/Reset_0(置位/复位指定的开关量输出点)
P2622(Parameter)依赖于不同的Job,对应不同的Job有不同的意思
/9(Mode)定义定位方式,仅当任务(Job)为位置方式(Position)时有效
P2617/P2618/P2619/P2620(Position,Velocity,Acceleration,Deceleration)指定运动的位置,速度,加减速
/5/6(Advance)制定本任务结束方式。
:本任务结束不连续执行下一任务,Continue_With_Stop:本任务结束准确定位,电机停止后重新启动开始下一任务。Continue_Flying:本任务结束连续执行下一任务。1.7.2程序步示例如上图
第1步,以速度600,加减速100%,走绝对定位位置1000,本任务结束连续执行下一任务
第2步,以速度600,加减速100%,走相对定位-500,本任务结束准确定位后开始下一任务
第3步,Goto1,回到第1步,循环执行。
1.7.3程序步执行
1.选择不拒绝任务rejecttraversingtask和没有停止命令
P2641=r2090bit4即
P2640=r2090bit5即都置1
2.选择程序步选择位Traversingblockselectionbit
P2625=r2091bit0即置1
3.使能S120
P840=r2090bit0即置1
4.激活程序步Activetraversingtask(上升沿信号)
P2631=r2090bit6即置1
之后即按照之前程序步中设置的运行。

1.8Directsetponitspecification/MDI(直接设定点输入方式/手动数据设定方式)
1.8.1MDI有两种不同模式
位置(position)模式P2653=0
手动定位或称速度模式(settingup)P2653=1这两种模式可在线切换
速度模式是指轴按照设定的速度及加减速运行,不考虑轴的实际位置。
位置模式是指轴按照设定的位置、速度、加减速运行;
位置模式又可分为绝对位置(P2648=1)和相对位置(P2648=0)两种方式
1.8.2MDI执行步骤
1.使能S120
P840=r2090bit0即置1
2.directsetpointinput/MDIselection选择MDI模式
P2647=r2091bit15即置1
3.选择不拒绝任务rejecttraversingtask和没有停止命令
P2641=r2090bit4即
P2640=r2090bit5即都置1

4.设置MDI位置速度加减速参数
4.1Velocityoverride速度倍率
P2646=r2050[4],即对应100%
4.2Directsetpointinput/MDIpositionMDI位置
P2642=r2060[5],即
4.3Directsetpointinput/MDIvelocityMDI速度
P2643=r2060[7],即
4.4Directsetpointinput/MDIaccelerationMDI加速度
P2644=r2050[9],即对应100%
4.5Directsetpointinput/MDIaccelerationMDI加速度
P2644=r2050[9],即对应100%
4.6Directsetpointinput/MDIdecelerationMDI减速度
P2645=r2050[10],即对应100%
4.7Directsetpointinput/MDImodeMDI位置模式(相对/绝对)
P2654=r2050[11],即
SignalviaCI:p2654=xx0xhex-absolute绝对位置SignalviaCI:p2654=xx1xhex-relative相对位置SignalviaCI:p2654=xx2xhex-abs_pos(onlyformodulocorrection)
绝对位置,正向(仅对模态)SignalviaCI:p2654=xx3xhex-abs_neg(onlyformodulocorrection)
绝对位置,反向(仅对模态)

5.SetpointacceptanceedgeMDI设置接收上升沿信号
P2650=r2090bit6,即
置1后即按照之前设定的速度位置开始MDI运行。
免责声明:本文章如果文章侵权,请联系我们处理,本站仅提供信息存储空间服务如因作品内容、版权和其他问题请于本站联系