西门子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运行。
西门子PLC STL编程指令中英文对照表,收藏备用!
1、LD ( Load 装载 ) :动合触点
2、LDN ( Load Not 不装载 ) : 动断触点
3、A ( And 与 动合) : 用于动合触点串联
4、AN ( And Not 与 动断 ) :用于动断触点串联
5、O ( Or 或 动合 ) :用于动合触点并联
6、ON ( Or Not 或 动断 ) : 用于动断触点并联
7、= ( Out 输出 ) :用于线圈输出
8、OLD ( Or Lode): 块或
9、ALD ( And Lode): 块与
10、LPS ( Logic Push ) :逻辑入栈
11、LRD ( Logic Read ) :逻辑读栈
12、LPP ( Logic Pop ) :逻辑出栈
13、NOT ( not 并非 ) :非
14、NOP ( No Operation Performed ) : 无操作
15、AENO ( And ENO ) :指令盒输出端ENO相与
16、S ( Set 放置 ) : 置1
17、R ( Reset 重置,清零 ) :清零
18、P ( Positive) :上升沿
19、N ( Negative) :下降沿
20、TON ( On_Delay Timer ) :接通延时定时器21、TONR ( Retentive On_Delay Timer ) : 有记忆接通延时定时器
22、TOF ( Off_ Delay Timer ) :断开延时定时器
23、CTU ( Count Up ) : 增计数器
24、CTD ( Count Down ) : 减计数器
25、CTDU ( Count Up/ Count Down ) :增减计数器
26、ADD ( add 加 ) : 加注意
//ADD_I (_ I 表示整数)
ADD_DI( DI表示双字节整数)
ADD-R (R 表示实数)
它们都是加运算只是数的大小不同。
27、SUB ( Subtract 减去,减少) :减
28、MUL ( Multiply ) : 乘
29、DIV ( Divide ) : 除
30、SQRT ( Square root ) : 求平方根
31、LN ( Napierian Logarithm 自然对数 ) : 求自然对数
32、EXP ( Exponential 指数的 ) :求指数
33、INC_B ( Increment 增加 ) :增1
//其中_B代表数据类型 还有W(字节)、DW双字后面几个都是这样的。
34、DEC_B ( Decrement 减少 ) :减1
35、WAND_B ( Word and 与命令 ) :逻辑与
36、WOR_B ( Word or 或命令) : 逻辑或
37、WXOR_B ( Word exclusive or 异或命令) :逻辑异或
38、INV_B ( Inverse 相反 ) : 取反
39、MOV _B ( Move 移动 ) :数据传送
40、BLKMOV_B ( Block Move 块移动) :数据块传送
41、SWAP ( Swap 交换 ) :字节交换
42、FILL ( Fill 填充 ) :字填充
43、ROL_B ( Rotate Left 循环 向左) :循环左移位
44、ROR_B ( Rotate Right 循环 向右) : 循环右移位
45、SHL_B ( Shift Right 移动向左) :左移动
46、SHR_B ( Shift Right 移动向右 ) :右移动
47、SHRB ( Shift buffer 移动缓存) :寄存器移位
48、STOP ( Stop 停止 ) :暂停
49、END /MEND ( End /Mend ) : 条件/无条件结束
50、WDR ( Watch dog reset ) :看门狗复位
51、JMP ( Jump 跳) :跳转
52、LBL ( Label 位置 ) :跳转标号
53、FOR ( For 循环 ) :循环
54、NEXT ( Next 再下去) :循环结束
55、SBR ( Subprogram Regulating子程序控制 ) : 子程序调用
56、SBR_T ( Subprogram Regulating Take ) : 带参数子程序调用
57、SCR ( Sequence Control 顺序控制 ) : 步开始
58、SCRT ( Sequence Control Transfer 顺序控制转移 ) : 步转移
59、SCRE ( Sequence Control End 顺序控制结束 ) : 步结束
60、AD_T_TBL ( Add data to table 添加数据到表格中) :填数据表
61、FIFO ( First in First out 先进先出 ) :先进先出
62、LIFO ( Last in First out 后进先出 ) :后进先出
63、TBL_FIND ( Table Find 表格查找 ) :表查找
64、BCD_I ( Binary Coded Decimal _I 二进制编码的十进制 ) :BCD 码转整数
65、I_BCD ( I_ Binary Coded DecimaL ) :整数转BCD码
66、B_I ( Bit to int ) :字节转整数
67、I_B ( int to bit ) :整数转字节
68、DI_I ( Double int to int ) :双整数转整数
69、I_DI ( int to double int ) :整数转双整数
70、ROUND ( Round 取整 ) : 实数转双整数
71、TRUNC ( Trunc 截取 ) :转换32位实数整数部分(舍去小数取整)
72、DI_I (double int to int ) :双整数转实数
73、ENCO ( Encode 编码) :编码
74、DECO ( Decode 译码) :译码
75、SEG ( Segment decoder分断译码器 ) : 七段显示译码器
76、ATH ( ASCII码 turn hex ) : ASCII码转16进制
77、HTA ( Hexadecimal to ascii) : 16进制转ASCII码
78、ITA ( // int to ascii) : 整数转ASCII码
79、DTA ( // double int to ascii ) : 双整转ASCII码
80、RTA ( // real to ascii) : 实数转ASCII码
81、ATCH (//attach ) : 中断连接
82、DTCH ( Depatch ) : 中断分离
83、HDEF ( High speed counter definition ) : 高速计数器定义
84、HSC ( High Speed Counter 高速计数器 ) :启动高速计数器
85、PLS ( Pulse 脉冲 ) :脉冲输出
86、READ_ RTC ( Read real time clock 读实时时钟 ) :读实时时钟87、SET_RTC ( Set real time clock ) : 写实时时钟88、XMT ( Transmitter ) : 自由发送
89、RCV ( Receive 接收 ) : 自由接收
90、NETR ( Net read 网络读 ) : 网络读
91、NETW ( Net write 网络写 ) : 网络写
92、GET_ADDR ( Get address 获取地址 ) : 获取口地址
93、SET_ADDR ( Set address 设置地址 ) : 设定口地址
94、PID ( Proportional Integral Differential 比例、积分、微分 ) :比例积分微分调节器。
来源:本文转自网络,版权归原作者所有,如涉及作品版权问题,请及时与我们联系删除,谢谢!
如何获取 电气热门资料?
操作指引如下!
相关问答
PLC基本逻辑指令中的VB、IB、QB、SMB、*VD等都表示什么意思?
VBIBQBSMB分别表示内部字节存储器、输入字节存储器、输出字节存储器和特殊字节存储器,分别存储8位数据,*VD表示*后面的操作数是指针,即表示该数据存储在地...
CP1H使用2路模拟量输入AD模块,如何在PLC里编程?
首先,你需要的PLC中去设定需要的量程,以及对应的分辨率:1、如果你使用内建的AD输入,那么对应的模拟量输入地址就是:200CH~203CH例如如果使用AD0的话,对...
PLC中寄存器移位的SHRB指令怎么使用的?
SHRB:移位寄存器指令,其中:EN:为使能端;DATA:需要保存的数据位(bit);S_BIT:移位寄存器的最低位N:移位寄存器的长度(bits)你程序中的意思就...SHRB:移位寄.....
plc中b型触点是什么意思?
在PLC(可编程逻辑控制器)中,B型触点是一种常闭(NormallyClosed)触点。它是PLC输入/输出模块中的一种元件,用于检测或控制电路中的信号。当B型触点处于非...
HP-5099B东方马达怎么写PLC程序?
编写PLC程序需要对PLC的编程语言和硬件有一定的了解。一般来说,PLC程序可以使用多种编程语言进行编写,如LadderLogic、StructuredText、FunctionBlockDi...
plc程序中ab是什么意思?
你好,AB在PLC程序中通常是指Allen-Bradley,这是一家专门从事工业自动化和控制设备制造的公司,在PLC程序中常用AB来指代该公司的PLC产品系列,例如ABPLC-5、AB...
谁能解释下plc中的S和R指令是怎么回事,如何使用,谢谢了?
plc中的S和R指令:S:置位指令,只要是置位了不管其梯形图电路中是否接通,被置位的Q/M状态都为1,即使当前梯形图状态是断开的Q/M状态也还是为1,直到被复...plc...
plc程序SR和RS是什么意思?
功能不同。SR指令:复位优先型触发器。它有两个输入S和R,一个输出Q。现用0和1分别表示信号的高低电平RS指令:RS触发器和SR触发器和大体一致,但当S=1,R=1时...
plc里面vb代表什么?
这些是V寄存器中不同数据类型表示方法在西门子PLC中:VB表示V存储区的一个字节Byte,可用于存放短整型数据。VW表示V存储区的一个字Word,可用于存放整型数据。...
PLC编程中==B是什么意思?
==表示相等,B表示BYTE(字节),==B即两个字节或一个字节与一个数值比较,相等则有输出,比较数值时,数值是十进制==表示相等,B表示BYTE(字节),==B即两个字节或...
扫一扫微信交流