网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
自由口通信和Modbus协议在变频器中的应用
作者: 来源:中国机电工程网    发布于:2019-06-07 18:26:09    文字:【】【】【
预缩机是印染行业中织物后整理的最后一道工序,它是将织物经过机械物理预缩(橡胶毯)的方法,使其预缩率降低,手感改善。基本配置由四个单元组成:给湿单元、橡胶毯预缩单元、呢毯整理单元和出布单元。给湿单元完成预缩前的给湿准备,以使织物拥有一定的含湿量,便于织物预缩。其拖动部分为一只糙皮辊。由一个2.2KW电机拖动。
  自由口通信和Modbus协议在S7-226和丹佛斯VLT2900系列变频器的应用
  A. 通讯协议及其在PLC和变频器上的基本设置
  既然双方控制器要建立通信,它们必将共同遵循一定的规约,这即称之为协议。本系统中,PLC建立的通讯规约将依从于变频器的规约,即Modbus协议,这是因为S7-200支持自由口通信模式。
  l 自由口通信模式:
  CPU串行通信口可由用户程序控制,这种操作模式称作自由口通信模式。在该模式下,用户程序可以使用接受中断、发送中断、发送指令(XMT)和接受指令(RCV)来进行通信操作。利用该模式,PLC可以和任意第三方串口进行通信。SMB30(用于端口0)和SMB130(用于端口1)用于选择波特率、奇偶校验、数据位数和通信协议。
  l Modbus通信协议
  a.Modbus通信是一种被用于在智能设备间建立主从方式的通信,它可以通过如RS232C、RS485等多种传输方式进行传播。它分为两种串行传输方式:ASCII和RTU(Remote Terminal Unit,远程测控中断)。它们定义了数据如何打包、解码的不同方式。丹佛斯VLT2900系列支持的是RTU方式,其格式是:
  其中奇偶校验和停止位可以是0.即可以没有。
  Modbus由一个主站(PLC)和最多31个从站(本系统中为4个)组成。主站负责发送指令,从站则是响应指令。在某一时刻,只能有一个从站能和主站进行连接。
  b.丹佛斯VLT2900系列变频器内置了RS485物理接口,且同时支持Modbus协议。其相关的参数如站地址、波特率、校验等在561#、500#、570#及501#参数组内设置。
  B. PLC和变频器通信的信号格式
  l 丹佛斯VLT2900系列变频器支持标准的Modbus-RTU信号,其格式如下:
  驱动器地址:本文为变频器地址。值为0~32.若设定为0,即为广播方式,则从PLC同时向所有的变频器传送指令信号,而变频器不反馈响应信号。
  功能码:丹佛斯VLT2900系列支持以下几种功能码(16进制)。
  数据:存储寄存器地址和数据组合构成一组数据。因指令的内容不同数据长度不同。
  故障检查:对于RTU方式,一般采用CRC-16的方式进行,后面我们将做进一步的说明
  l 丹佛斯VLT2900系列变频器编址
  既然PLC与变频器通信时操作对象是存储器,故变频器内部必须有PLC能识别的存储器地址相对应。变频器生产厂家不同会导致其编址方法的不同。丹佛斯VLT2900系列变频器编址和你在其说明书上看到的参数号是遵从一等式的,即参数地址(HEX)=[(参数号×10)-1>(DEC)。
  l Modbus信号举例
  a) 通过重写控制字与参考值的方式,启动电机并使之运行在50%的转速下。
  指令信号:[01> [0F> [00> [00> [00> [20> [04> [7C> [04> [00> [20> [9D> [01>
  该指令中
  [01>为驱动器地址
  [0F>为功能码,是指本命令为写多个位存储器指令;
  [00> [00>指出将要写入数据的起始地址为位存储器的首地址。
  [00> [20>为写入长度,20HX=32DEC位数据。
  [04>为要写入位的总字节数为4个。
  [7C> [04> 047C是启动电机的控制字内容,在实际传输中为低位前置。
  [00> [20>为电机运行的参考值,在实际传输中低位前置。
  [9D> [01>为计算出的CRC-16值
  正常时其响应信号应为:
  [01> [0F> [00> [00> [00> [20> [54> [13>
  b) 按频率指令60.0HZ传送到1#变频器(地址为01),
  指令信号:[01>[06>[04>[0F>[00>[3C>[B8>[E8>
  正常时响应信号为: [01>[06>[04>[0F>[00>[3C>[B8>[E8>
  C. 信号的发送和接受指令:
  当信号格式被确定后,我们所要做的是从PLC如何把它们发送出去和如何接收变频器的响应信号了,在自由口模式当中,信号可以用XMT命令发送,用RCV命令接收,另外我们还可以利用SMB2(接收缓冲字节)配合其它如MOV指令等来实现字符的接收。在S7-200系统中,设计了诸如发送完成、接收完成等中断事件,我们将很方便的通过它们来控制整个程序的运行。
  PLC程序的设计
  a) 数学模型:由于各个单元间是采用线性比例同步的,所以构建其数学模型非常简单,只要使某单元的转速和其相邻上一级单元遵循数学公式V1=k×V2即可。为了调节两单元之间的张力,我们只需调节两单元间比例k即可。这里需提醒注意的是:某一单元的转速必须以上一级为基础进行比例调节,这样才不至于在调节单元的速度时,影响其它单元间的张力。    
    b) 程序结构
  程序结构包括主程序、初始化子程序、停车子程序、开车子程序、比例设定子程序和速度计算子程序。其中与通信有关的程序有CRC-16校验程序、发送中断程序、接收中断程序等。下面主要介绍一下CRC-16校验程序。
  CRC是 “Cyclical Rendundancy Check” (循环冗余码校验)的英文简称。 CRC码为2个字节,16位的二进制值。故又叫CRC-16。由发送设备计算CRC值,并把它附到信息中去。接收设备在接收信息过程中再次计算CRC值并与CRC的实际值进行比较,若二者不一致,亦产生一个错误,校验开始时,把16位寄存器的各位都置为“1”,然后把信息中的相邻2个8位字节数据放到当前寄存器中处理,只有每个字符的8位数据用于CRC处理。起始位,停止位和校验位不参与CRC计算。 CRC校验时,每个8位数据与该寄存器的低位内容进行异或运算,然后向最低有效位(LSB)方向移位,同时用零填入最高有效位(MSB)后,再对LSB检查,若LSB=1,则寄存器与生成多项式(16#A001)异或,若LSB=0,不作异或运算。重复上述处理过程,直至移位8次,最后一次(第8次)移位后,下一个8位字节数据与寄存器的当前值异或,再重复上述过程。全部处理完信息中的数据字节后,最终得到的寄存器值为CRC值。 在程序编制时,可以使用FOR/NEXT指令,并使用一次嵌套。在发送时,CRC值附加到信息时,低位在先,高位在后。

浏览 (50) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人: 来源:中国机电工程网
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们