订货:18660282618
技术:18669881016

联系我们

办公电话:0532-86785015/16
办公传真:0532-80992608
客服 QQ:11215165
公司地址:中国山东青岛市崂山区海尔路63号数码科技中心B座906

安防讲堂

西门子PLC与易能变频器的MODBUS-RTU通信应用案例

* 来源 : 易能电气 * 作者 : admin * 发表时间 : 2017年03月05日 * 浏览 : 454582

西门子PLC与易能变频器的MODBUS-RTU通信应用案例

 

设备简介

在工业自动化控制系统中,最为常见的是PLC 和变频器的组合应用,并且产生了多种多样的PLC 控制变频器方式,其中采用RS-485 通讯方式实施控制的方案得到广泛的应用:因为它抗干扰能力强、传输速率高、传输距离远且造价低廉。易能变频器内置国际标准的MODBUS(从站)通信协议,可非常方便的实现单台或多台变频器的远程通讯控制与监视功能。

下面以西门子S7-200CPU224XP为例,介绍PLC与易能变频器建立通讯并实现对变频器起停、频率给定、监控等功能的控制。

变频器作为MODBUS协议从站接收来自PLC的通信指令,必须做好以下准备工作:

 1、用一根带9针阳性插头的串口通信电缆连接在PLC的自由通信口Prat0端,电缆另一端的第38线分别接在变频器RS485485+485-端子上,其余线屏蔽不用;

 

 

 

2、预先设置变频器以下参数:

  F0.00=3      //串行口给定

  F0.02=3      //串行口运行命令控制,键盘STOP命令无效

  F2.14=03     //波特率96001-8-1,无校验

  F2.15=01     //变频器地址

  3.变频器的控制命令和状态通信地址如下:

 

 

   西门子PLC程序说明

   1、对于西门子PLC做主站的MODBUS通讯,需要程序库装有有“MBUS_CTRL”和“MBUS_MSG”指令。其下是指令的意义:

 

 

 

    2PLC程序

  I0.0                  变频器正转启动

  I0.1                  变频器反转启动

  I0.2                  变频器停止

  VW1004                设定变频器频率

  VB2000                读取变频器当前设定频率

  VB2002                读取变频器当前运行频率

  VB2004                读取电机运行转速

 

  Network 1 // 初始化参数

  LD     SM0.1

  R      M2.0, 8

  R      M4.0, 8

  R      M0.0, 2

  Network 2 // 串口设置

  LD     SM0.0

  =      L60.0

  LD     SM0.0

  =      L63.7

  LD     L60.0

  CALL   SBR1, L63.7, 9600, 0, 1000, M0.0, MB12

  Network 3

  LD     SM0.1

  MOVB   7, VB1000

  MOVB   8, VB1001

  MOVB   6, VB1002

  MOVW   2000, VW1004

  Network 4

  LD     M0.0

  EU

  S      M0.1, 1

  Network 5 // 读取当前设定频率

  LD     M0.1

  O      M2.4

  =      L60.0

  LD     M0.1

  EU

  LD     M2.4

  EU

  OLD

  =      L63.7

  LD     L60.0

  CALL   SBR2, L63.7, 1, 0, 44097, +1, &VB2000, M2.1, MB3

  Network 6

  LD     M2.1

  R      M2.3, 1

  R      M0.1, 1

  Network 7 // 读取当前运行频率

  LD     M2.1

  =      L60.0

  LD     M2.1

  EU

  =      L63.7

  LD     L60.0

  CALL   SBR2, L63.7, 1, 0, 44098, +1, &VB2002, M2.2, MB4

  Network 8

  LD     M2.2

  R      M2.1, 1

  Network 9 // 读取当前电机转速

  LD     M2.2

  =      L60.0

  LD     M2.2

  EU

  =      L63.7

  LD     L60.0

  CALL   SBR2, L63.7, 1, 0, 44102, +1, &VB2004, M2.3, MB5

  Network 10

  LD     M2.3

  R      M2.2, 1

  Network 11 // 设定电机频率

  LD     M2.3

  =      L60.0

  LD     M2.3

  EU

  =      L63.7

  LD     L60.0

  CALL   SBR2, L63.7, 1, 1, 48194, 1, &VB1004, M2.4, MB16

  Network 12

  LD     M2.4

  R      M2.3, 1

  Network 13 //正转启动电机

  LD     I0.0

  =      L60.0

  LD     I0.0

  EU

  =      L63.7

  LD     L60.0

  CALL   SBR2, L63.7, 1, 1, 48193, 1, &VB1000, M10.1, MB13

  Network 14 //反转启动电机

  LD     I0.1

  =      L60.0

  LD     I0.1

  EU

  =      L63.7

  LD     L60.0

  CALL   SBR2, L63.7, 1, 1, 48193, 1, &VB1001, M10.2, MB14

  Network 15 //停止电机

  LD     I0.2

  =      L60.0

  LD     I0.2

  EU

  =      L63.7

  LD     L60.0

  CALL   SBR2, L63.7, 1, 1, 48193, 1, &VB1002, M10.3, MB15