S7-1200 PLC 与ATV340 Modbus RTU 通讯设置(含部分程序)

01 硬件及软件配置

  • 主站:S7-1200

  • 软件:TIA V14

  • CPU:1214C + CM1241

  • Firmware:>=4.0

  • 从站:ATV340

  • Modbus 地址:2

  • 通讯速率:19200

  • 通讯参数:8-E-1

博途软件中提供了两种Modbus 通讯库文件,早期版本的 Modbus RTU 指令(图中MODBUS V2.2)仅可通过 CM1241 通信模块或CB1241 通信板进行 Modbus RTU 通信新版本的Modbus RTU  指令(图中MODBUS (RTU) V3.0)扩展了Modbus RTU  的功能,该指令除了支持 CM1241 通信模块、CB1241 通信板,还支持 PROFINET 或 PROFIBUS 分布式 I/O 机架上的 PTP 通信模块实现Modbus RTU 通信

图片

 

  • 本例中采用早期版本的Modbus RTU 指令进行编程

     

02 ATV340 参数设置

完整设置-命令和参考值

  • 控制模式:隔离模式

  • 给定频率 1 配置:Modbus

  • 命令通道 1 设置:Modbus

通信-通信参数-Modbus

  • Modbus 地址:2

  • 通讯速率:19200

  • 通讯参数:8-E-1

配置完成后,ATV340 需完全断电后重启

 

03 S7-1200 PLC 配置

接线方式:

S7-1200 PLC 配置:

1、CM1241 通信模块的参数设置

图片

图片

2、调用Modbus 通信初始化指令块

1)、S7-1200 端需要调用 MB_COMM_LOAD 指令块,该指令块主要完成通信格式的设定等任务

2)、 为 使 端 口 一 启 动 就 被 设 置 Modbus RTU 通 信 模 式 , 可 在 程 序 中 调 用“MB_COMM_LOAD”指令。调用“MB_COMM_LOAD”指令时会自动弹出创建相应背景数据块,点击确定即可,创建背景数据块后,为各输入/输出引脚分配地址。尤其需注意MB_DB 输入引脚需指向“MB_MASTER” 指令的背景数据块

    图片

     

    图片

     

    该指令块的各个管脚定义如下:

    图片

     

    3、创建 DATA_PTR 数据发送、接收缓冲区

    1)、通过“程序块”→ “添加新块”,选择“数据块(DB)”创建 DB 块,选择“标准与 S7- 300/400 兼容”,点击“确认”键。在 DB 中创建数据类型为 11 个字的数组

      图片图片图片

       

      注意:DATA_PTR 数据发送、接收缓冲区使用的 DB 访问类型必须是标准与S7- 300/400 兼容

       

      2)、修改 DB3 的属性,取消优化的块访问

        图片

        MB_DATA_PTR 指定的数据缓冲区可以为 DB 块或 M 存储区地址中。DB 块可以为优化的数据块,也可以为标准的数据块结构。若为优化的数据块结构,编程时需要以符号寻址的方式填写该引脚;若为标准的数据块结构(可以右键单击 DB 块,“属性”中将“优化的块访问”前面的勾去掉),需要以绝对地址的方式填写该引脚。本例以标准的数据块(默认) 为例进行编程

         

        3)、取消勾选优化的块访问时,寻址方式为 P#DB3.DBX0.0 WORD 2(起始位,数据类型, 数量)

           

          4、调用MB_MASTER 指令块

          图片

           

          调用该指令时会自动弹出创建相应背景数据块,注意当使用多个 MB_MASTER 指令块时, 其背景数据块都要使用同一个,且该背景数据块必须与MB_COMM_LOAD 的 MB_DB 管脚的背景数据块保持一致

           

          该指令块的各个管脚定义如下:

          图片

           

          关于MODE,DATA_ADDR,DATA_LEN 三个参数的定义如下:

          图片

           

          5、程序编写

          初始化 Modbus RTU 通信方式

          图片

           

          读操作,本例中从 ATV340 读取 3201 与 3202 两个寄存器的值

          图片

           

          写操作,本例中写入 ATV340 的 8501 与 8502 两个寄存器

          图片

          程序下载至 PLC 后,需要将 PLC 与 ATV340 全部断电重启

           

          6、ATV340 控制流程

          ATV340 变频器采用 DriveCom 控制流程,通过 ETA 状态字(通信地址为 3201)读取ATV340 的状态,通过 RFR 输出频率字(通信地址为 3202)读取 ATV340 的输出频率;通过CMD 命令字(通信地址为 8501)控制 ATV340 的状态转换,通过 LFR 设定频率字(通信地址为 8502)写入 ATV340 的设定频率

          图片

           

          控制流程图,如下:

          图片

           

          CMD 命令字

          图片

           

          ATV340 常用的命令字操作

          • 正转:16#000F

          • 反转:16#080F

          • 停止:16#0007

          • 快速停止:16#0002

          • 故障复位:16#0080

          ATV340 常用的状态字

          • 故障:16#xxx8

          • 准备好:16#xx33

          • 运行中:16#xx37

          • 快速停止中:16#xx17

           

          7、Modbus RTU 通信管理与轮询程序,ATV340 流程控制程序

          图片图片图片图片

          图片

          图片

          图片

          图片图片

          图片

          图片

          图片

          图片

          图片图片

          图片

          图片图片图片图片

           

          作 者 简 介

          李 振 

          运动控制产品专家

          施耐德电气(中国)有限公司 

          工业自动化业务部 OEM 技术中心

          独立编写《施耐德电气 SoMachine 控制器应用技巧 120 例

          参与编写《施耐德 EcoStruxure Machine 控制器应用及编程进阶