课程中心
HOME
课程中心
正文内容
20轴PLC编程 西门子PLC通讯控制S120变频器,PLC程序加变频参数,你也可以学会!
发布时间 : 2025-05-05
作者 : 小编
访问数量 : 23
扫码分享至微信

西门子PLC通讯控制S120变频器,PLC程序加变频参数,你也可以学会!

今天我们来讲解一下西门子PLC使用通讯控制S120变频器

通过DP总线实现S7-300与SINAMICS S120通讯

1.1 DP总线通讯功能

S7-300与SINAMICS S120之间DP通讯借助于系统功能块SFC14/SFC15进行周期性数据通讯。周期性数据交换指的是数据的实时交换,如控制字和设定值。

1.2 DP地址设定

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

当所有拨码拨至ON或者OFF状态时,通过P918参数设置DP地址。

1.3 STEP7硬件配置

在STEP7中新建项目,点击Insert-Station-2. Simatic 300 Station

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

选择相应的S120Firmware版本,如V2.5

此时会要求选择Message frame,点击选中Object1,然后点击Delete slot,

这时Message frame selection为None。点击OK。

保存编译硬件组态,将其下载至PLC中。

注:此时仅将PLC硬件配置完成,S7-300与S120之间通讯尚未建立,CPU会BF灯亮,SF等闪烁,S120侧LED DP灯不亮。

1.4 S120配置

打开STEP7,此时会出现SINAMICS S120 CU320,点击Open Object打开S120项目。

打开S120项目后,选择在线Connect to target system

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

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

点击Start automatic configuration按钮,开始自动配置

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

配置完毕出现下图画面,点击close

此时需要离线配置,点击Disconnect from target system

配置驱动SERVO_02,点击Confiure DDS

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

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

出现提示,将P0864 Infeed in operation设为1

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

选择电机是否有抱闸刹车

选择编码器类型

已有DriveCLIQ读出

在Mechanics画面中

设置传动比,Load revolutions 和Motor revolutions

设置S120电机一圈所对应的长度单位LU。

LU per load revolutions(position setpoint/actual)画面中将值设为了10000,即电机一圈代表走了10000个LU

注:LU per load revolutions(position setpoint/actual)设置的值与编码器精度有关,不能大于LU per load revolutions(Encoder revolutions)的值

Active modulo correction

激活模态,对于电机设定的长度和实际长度从360000LU开始回到0,循环执行。即0-360000再回到0.

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

完成配置。

点击SINAMICS_S120_CU320下Configuration

可以看到会有红色惊叹号,且地址为问号,点击Transfer to HW Config

将配置传送到硬件组态中。点击ACTIVE按钮并将其激活。保存编译。

再返回到SINAMICS_S120_CU320下Configuration画面,可以看到

红色惊叹号变为蓝色的勾,地址也已经分配为256开始的地址。

保存编译整个项目。连线。下载整个项目。

1.5 S7-300中通讯编程

利用SFC14和SFC15读写S120,达到通讯控制S120的目的。

SFC14读,占用7个PZD

在LADDR填写S120硬件地址,256对应16进制即W#16#100

RECORD中填写设定DB地址 P#DB2.DBX0.0 BYTE 14,即从DB2.DBX0.0开始的14个BYTE的地址分配为从S120里读出的PZD值

RET_VAL 返回值 显示故障信息

SFC15写,占用12个PZD

在LADDR填写S120硬件地址,256对应16进制即W#16#100

RECORD中填写设定DB地址 P#DB1.DBX0.0 BYTE 20,即从DB1.DBX0.0开始的20个BYTE的地址分配为向S120里写的PZD值

RET_VAL 返回值 显示故障信息

定义相对应的DB块 DB1 DB2

1.6 基本定位

1.6.1 JOG点动

S120中基本定位功能的点动有两种方式

速度方式:点动按钮按下,轴以设定的速度运行直至按钮释放

位置方式:点动按钮按下并保持,轴以设定的速度运行至目标位置后自动停止

在通过通讯控制S120之前需注意,需将PLC与S120的通讯控制位置1

即将P854 Master ctrl by PLC 参数对应r2090 bit 10,即DB1.DBX0.2

执行点动功能,需先使能S120 ON/OFF1(P840)

打开Drives下Servo_02下Control logic可以看到相关控制字及状态字

可以看到,由于之前选择了报文结构110,已经自动将控制字配置好。

P840 ON/OFF1相对应的是r2090 bit0,即PZD1的bit0

我们已经定义好通过通讯写S120PZD的地址,PZD1 Bit0对应的DB地址即DB1.DBX1.0。

还有P844 bit1 OFF2信号 即r2090 bit1 对应DB1.DBX1.1

P845 bit1 OFF3信号 即r2090 bit2 对应DB1.DBX1.2

P852 Enable operation 即r2090 bit3 对应DB1.DBX1.3

将这些信号都置1.S120使能。

点击Servo_02-Technology-Basic Psitioner-JOG,进入JOG画面

设置点动命令源

Jog1 signals source 即r2090 bit 8 DB1.DBX0.0

Jog2 signals source 即r2090 bit 9 DB1.DBX0.1

点动方式选择 0速度 1位置

Jogging incremental 即r2092 bit5 DB1.DBX5.4

在Analog Signal画面中

Velocity override 即r2050[4] PZD5 DB1.DBW8

此为点动速度的倍率,通过修改其值来改变点动的速度,16进制4000H,10进制16384对应100%

在Configure jog setpoints画面中设置JOG1和JOG2的速度和位置

1.6.2 回零/寻参

点击Servo_02-Technology-Basic Psitioner-Homing,进入Homing画面

Homing又分active homing主动回零和passive homing(on the fly)被动回零.

Active homing

如下图可以看到,主动回零分为三种形式

Homing output cam and encoder zero mark使用接近开关加编码器零位

Encoder zero mark 仅编码器零位

External zero mark 仅外部零标志

最常用的就是接近开关加编码器零位的方式

在homing/configuration

Referencing start r2090 bit11即DB1.DBX0.3 为寻零开始信号

Search for reference,reference cam r2092 bit2 即DB1.DBX5.2即外部接近开关

动作过程

1, 将S120使能,P840 DB1.DBX1.0置1

2, 寻零开始信号置reference startDB1.DBX0.3置1 ,电机开始运行

3, 将外部接近开关信号对应reference cam ,当DB1.DBX5.2为1时,电机减速,搜寻编码器零脉冲,遇到后停止。

寻零结束

当编码器为绝对值编码器时,会看到以下画面

在Home position coordinate中设置坐标值,点击Perform absolute value calibration做编码器校准即可

1.7 基本定位_程序步(Traversing Blocks)

通过使用Traversing Blocks"程序步"模式可自动执行一个完整的定位程序,也可实现单步控制;但只有当前程序步执行完后下一个程序步才有效。

在S120中提供了最多64个程序步供使用。

1.7.1 程序步设置

点击Servo_02-Technology-Basic Positioner-Traversing Blocks,进入画面

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

P2616 (No.) 每个程序步都要有一个任务号,运行时依此任务号顺序执行(-1表示无效的任务)

P2621 (Job) 表示该程序步的任务。可选择:Positioning(位置方式)、Endless_Pos/Endless_Neg(正、反向速度方式)、Waiting(等待指定的时间)Goto(跳转到指定的程序步)Set_0/Reset_0(置位/复位指定的开关量输出点)

P2622(Parameter)依赖于不同的Job,对应不同的Job有不同的意思

P2023.8/9(Mode)定义定位方式,仅当任务(Job)为位置方式(Position)时有效

P2617/P2618/P2619/P2620(Position,Velocity,Acceleration,Deceleration)指定运动的位置,速度,加减速

P2623.4/5/6 (Advance)制定本任务结束方式。

END:本任务结束不连续执行下一任务,Continue_With_Stop:本任务结束准确定位,电机停止后重新启动开始下一任务。Continue_Flying:本任务结束连续执行下一任务。

1.7.2 程序步示例 如上图

第1步,以速度600,加减速100%,走绝对定位位置1000,本任务结束连续执行下一任务

第2步,以速度600,加减速100%,走相对定位-500,本任务结束准确定位后开始下一任务

第3步,Goto 1,回到第1步,循环执行。

1.7.3 程序步执行

1.选择不拒绝任务reject traversing task和没有停止命令

P2641=r2090 bit4 即DB1.DBX1.4

P2640=r2090 bit5 即DB1.DBX1.5 都置1

2.选择 程序步选择位Traversing block selection bit

P2625=r2091 bit0 即DB1.DBX3.0 置1

3.使能S120

P840=r2090 bit0 即DB1.DBX1.0 置1

4.激活程序步Active traversing task(上升沿信号)

P2631=r2090 bit6 即DB1.DBX1.6 置1

之后即按照之前程序步中设置的运行。

1.8 Direct setponit specification/MDI(直接设定点输入方式/手动数据设定方式)

1.8.1 MDI有两种不同模式

位置(position)模式P2653=0

手动定位或称速度模式(setting up)P2653=1这两种模式可在线切换

速度模式是指轴按照设定的速度及加减速运行,不考虑轴的实际位置。

位置模式是指轴按照设定的位置、速度、加减速运行;

位置模式又可分为绝对位置(P2648=1)和相对位置(P2648=0)两种方式

1.8.2 MDI 执行步骤

1.使能S120

P840=r2090 bit0 即DB1.DBX1.0 置1

2. direct setpoint input/MDI selection 选择MDI模式

P2647=r2091 bit 15 即DB1.DBX2.7 置1

3.选择不拒绝任务reject traversing task和没有停止命令

P2641=r2090 bit4 即DB1.DBX1.4

P2640=r2090 bit5 即DB1.DBX1.5 都置1

4.设置MDI位置速度加减速参数

4.1 Velocity override 速度倍率

P2646=r2050[4],即DB1.DBW8 W#16#4000对应100%

4.2 Direct setpoint input/MDI position MDI位置

P2642=r2060[5],即DB1.DBD10

4.3 Direct setpoint input/MDI velocity MDI速度

P2643=r2060[7],即DB1.DBD14

4.4 Direct setpoint input/MDI acceleration MDI加速度

P2644=r2050[9],即DB1.DBW18 W#16#4000对应100%

4.5 Direct setpoint input/MDI acceleration MDI加速度

P2644=r2050[9],即DB1.DBW18 W#16#4000对应100%

4.6 Direct setpoint input/MDI deceleration MDI减速度

P2645=r2050[10],即DB1.DBW20 W#16#4000对应100%

4.7 Direct setpoint input/MDI mode MDI位置模式(相对/绝对)

P2654=r2050[11],即DB1.DBW22

Signal via CI: p2654 = xx0x hex -> absolute 绝对位置 Signal via CI: p2654 = xx1x hex -> relative 相对位置 Signal via CI: p2654 = xx2x hex -> abs_pos (only for modulo correction)

绝对位置,正向(仅对模态) Signal via CI: p2654 = xx3x hex -> abs_neg (only for modulo correction)

绝对位置,反向(仅对模态)

5. Setpoint acceptance edge MDI设置接收上升沿信号

P2650=r2090 bit6,即DB1.DBX1.6

置1后即按照之前设定的速度位置开始MDI运行。

西门子1200PLC位置控制的通用程序,一劳永逸

西门子1200PLC最多支持4路高速脉冲输出,可以控制四个步进或伺服电机,如果每个轴都调用一次运动控制值,编程工作量就会成倍的增加。那么有没有通用的程序可以一劳永逸呢,今天就介绍一下西门子1200PLC位置控制的通用程序,编写一个函数就可以实现多个轴的控制。

一、 编写运动控制函数

1. 添加函数块。双击“添加新块”、点击“函数块”、输入名称、编程语言LAD、“确定”;

​​图 1 新建函数块

2. 双击“位置控制”函数块,定义输入/输出变量;

图 2 定义输入输出变量

3. 添加运动控制指令。“指令”、“工艺”、“运动控制”、拖动MC_Power指令到编程区域,分配多重背景数据块,点击“确定”;

图 3 添加MC_Power指令

4. MC_Power分配变量;

图 4 MC_Power

5. 同样的方法添加MC_Reset确认故障指令;

图 5 MC_Reset

6. 添加MC_Home回原点指令;

图 6 MC_Home

7. 添加MC_Halt停止轴指令;

图 7 MC_Halt

8. 添加MC_MoveAbsolute绝对运动定位指令;

图 8 MC_MoveAbsolute_

9. 添加MC_MoveRelative相对运动定位指令;

图 9 MC_MoveRelative

10. 添加MC_Jog点动指令;

图 10 MC_Jog

11. 读取轴当前位置和当前运行速度;

图 11 读取当前位置和速度

二、主程序调用函数块

1. 双击“Main”,打开主程序,拖动“位置控制”到主程序编辑区,分配背景数据块,点击“确定”,完成函数块FB1的调用;

图 12 调用函数块

2. 分配控制命令和状态变量;

图 13 分配变量

三、 点动控制

1. 下载程序到PLC中,打开监控表,输入监控变量;

图 14 监控表

2. “正向点动”赋值1,旋转料库开始正向运行,“当前位置”开始累加,“当前速度”逐渐增大到设置的点动速度,“正向点动”清零即停止,“当前速度”降为零;

图 15 正向点动

3. “负向点动”赋值1,旋转料库开始负向运行,“当前位置”开始负累加,“当前速度”值逐渐增大到设置的点动速度,符号代表方向,“负向点动”清零即停止,“当前速度”降为零;

图 16 负向点动

四、 回原点

1. “回原点”赋值1,回原点模式为0(把当前位置设置为绝对零点),“当前位置”变为零,“回原点完成”有效,表示回零完成;

图 17 回原点

2. “回原点”清零,“回原点完成”清零,不影响绝对零点位置;

五、 相对运动控制

1. “相对运动距离”和“相对运动速度”赋值,注意速度的范围(在启停速度和最大速度之间),运动距离的符号代表方向;

图 18 设置相对运动参数

2. “相对运动触发”赋值1,上升沿触发指令执行,旋转料库按照设置的速度运动设置的距离“相对运动完成”有效时停止;

图 19 相对运动1

3. “相对运动触发”清零,重复以上步骤,每次都运动设定的距离;

图 20 相对运动2

六、绝对运动控制

1. 绝对运动控制之前先执行回原点,确定绝对零点位置;

2. “绝对运动目标位置”和“绝对运动速度”赋值,注意速度的范围(在启停速度和最大速度之间);

图 21 设置绝对运动参数

3. “绝对运动触发”赋值1,上升沿触发指令,旋转料库安装设置的速度运动到目标位置,“绝对运动完成”有效时停止,当前位置等于目标位置;

图 22 绝对运动1

4. 修改目标位置的值,重复以上步骤;

图 23 绝对运动2

通过以上步骤,创建一个通用的运动控制函数,在运动控制程序中调用此函数,分配对应的各轴相关的变量,就可以实现一劳永逸,大幅减少编程工作量。

本文由@豆豆牵着蜗牛在散步 原创,欢迎关注,帮您一起长知识!

西门子1200PLC 配置运动控制工艺,控制面板实现位置控制

西门子1200PLC的运动控制功能

相关问答

cm40l-20控制器编程实例?

CM40L-20是一款高性能PLC(可编程逻辑控制器),它具有多种控制功能和广泛的应用范围。以下是一个CM40L-20控制器的编程实例,以控制一个简单的电机启停为例:首...

plc编程时间怎么写?

PLC编程时间的书写通常遵循特定的格式:小时:分钟:秒。例如,8小时30分钟20秒的编程时间可以表示为"08:30:20"。在PLC编程中,时间常用于指定程序的延时、定时和...

plc存储器中md20最高字节是什么?

您好,MD20是PLC存储器中的一个双字类型地址,它包含了MW20~MW21两个字节,其中MW20和MW21都是16位整型数据,由MB20和MB21两个字节组合而成的。在西门子plc中md2...

1200plc的编程方法有哪几个?

这个问题,不好回答。我只能说一下思路。控制都容易,温度传感器变送出4---20mA信号,给PLC模拟量模块,然后模拟量输出模块输出4---20mA信号给你要控制的设备...

三菱PLCDMULd150K4D20怎么解释_作业帮

[最佳回答]DMUL双字乘法D150*4=>D20.当然,D150和D20都是双字.

plc怎么控制模拟量调节阀?

PLC输出4~20mA模拟量输出信号对应控制模拟量调节阀。PLC要输出的4~20mA信号不是普通意义的信号,是PLC把输入信号与给定信号比较后。根据偏差值确定PID比列,积...

三菱PLC的模拟量编程,最好有例子?

三菱PLC模拟量编程,最好有例子:1.将模拟量输入口Y0~Y3配置成相应的值。2.为Y0~Y3配置对应的输出X0~X3,将X0~X3设置成对应的或运算。3.为Y0~Y3设置...三...

三菱PLc模拟编程,4一20mA怎么编程?

k200,"K"就是表示常量吧.就是把十进制数据200传送到D2914寄存器里k200,"K"就是表示常量吧.就是把十进制数据200传送到...

两线制4-20ma如何接plc?

1两线制4-20ma可以通过模拟量输入模块接入PLC。2模拟量输入模块有多路模拟量信号输入端口,通过接入4-20ma的信号线,将信号转换为数字量信号,然后传输给PLC进...

g120变频器与plc1200是如何连接的?

g120变频器与plc1200可以通过RS485或以太网进行连接。使用RS485连接时,需要使用屏蔽双绞线,并按照西门子的RS485连接规范进行接线。使用以太网连接时,需要使...

 现代新胜达2.7  雨花区李绍萍 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部