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)和zui多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系统中,设计了诸如发送完成、接收完成等中断事件,我们将很方便的通过它们来控制整个程序的运行。