基于LPC2148通讯的变频器控制(5)

2019-04-09 16:36

02 03 04 05 06 07 08 09 10 11 12 13 14 15 3.5.2 Modbus通讯协议

Modbus协议最初由Modicon公司开发出来,在1979年末该公司成为施耐德自动化(Schneider Automation)部门的一部分,现在Modbus已经是工业领域全球最流行的协议。此协议支持传统的RS-232、RS-422、RS-485和以太网设备。许多工业设备,包括PLC,DCS,智能仪表等都在使用Modbus协议作为他们之间的通讯标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。

ModbUS协议是一个主从协议。同一时间,只能将一个主站和最多247个从站连接到总线。Modbus通信总是由主站发起,当从站没有收到来自主站的请求时,不会发送数据。主站同时只能启动一个Modbus事务处理,从站之间不能相互通信。主站用两种模式向从站发出Modbus请求:单播模式和广播模式。单播模式即主站寻址单个从站, 从站接收并处理完请求之后, 向主站返回一个应答。广播模式即主站可以向所有的从站发送请求, 从站对于主站广播的请求没有应答返回。广播请求必须是写命令, 所有设备必须接收写命令的广播。地址0被保留用来识别广播通信。

当在网络上通信时,Modbus协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成应答并使用Modbus协议发送给询问方。

Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。Modbus的ASCII、RTU协议规定了消息、数

直流制动 惯性停止 快速停止 锁定输出频率 加减速停止 无效 数据无效 启动 复位 点动 无效 数据有效 启用继电器 1 启动继电器 2 菜单选择 低位(lsb) 菜单选择 高位(msb) 反转 15

据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。其中modbus通讯协议RS-422、RS-485传输距离理论为1200米,modbus通讯协议RS-232传输距离理论为12米。Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。所以在这里我仅介绍一下Modbus的RTU和ASCII协议。 3.5.2.1 通讯协议Modbus RTU:

使用RTU模式,消息发送至少要以3.5个字符时间的停顿间隔开始。在网络波特率下多样的字符时间,这是最容易实现的(如下图的T1-T2-T3-T4所示)。传输的第一个域是设备地址。可以使用的传输字符是十六进制的0...9,A...F。网络设备不断侦测网络总线,包括停顿间隔时间内。当第一个域(地址域)接收到,每个设备都进行解码以判断是否发往自己的。在最后一个传输字符之后,一个至少3.5个字符时间的停顿标定了消息的结束。一个新的消息可在此停顿后开始。

整个消息帧必须作为一连续的流转输。如果在帧完成之前有超过1.5个字符时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于3.5个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。这将导致一个错误,因为在最后的CRC域的值不可能是正确的。一典型的消息帧如表3-5-6所示:

表3-5-6 RTU消息帧

起始位 T1-T2-T3-T4 设备地址 8Bit 功能代码 8Bit 数据 n个8Bit CRC校验 16Bit 结束符 T1-T2-T3-T4 CRC校验: CRC域是两个字节,包含一16位的二进制值。它由传输设备计算后加入到消息中。接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误。

16

CRC是先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。仅每个字符中的8Bit数据对CRC有效,起始位和停止位以及奇偶校验位均无效。

CRC产生过程中,每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0填充。LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。整个过程要重复8次。在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。最终寄存器中的值,是消息中所有的字节都执行之后的CRC值。 3.5.2.2 通讯协议Modbus ASCII

使用ASCII模式,消息以冒号(:)字符(ASCII码 3AH)开始,以回车换行符结束(ASCII码 0DH,0AH)。

其它域可以使用的传输字符是十六进制的0...9,A...F。网络上的设备不断侦测“:”字符,当有一个冒号接收到时,每个设备都解码下个域(地址域)来判断是否发给自己的。

消息中字符间发送的时间间隔最长不能超过1秒,否则接收的设备将认为传输错误。一个典型消息帧表3-5-7所示:

表3-5-7 ASCII消息帧

起始位 设备地址 功能代码 1个字符 2个字符 2个字符 数据 n个字符 LRC校验 2个字符 结束符 2个字符 LRC校验: LRC域是一个包含一个8位二进制值的字节。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有错误。

LRC校验比较简单,它在ASCII协议中使用,检测了消息域中除开始的冒号及结束的回车换行号外的内容。它仅仅是把每一个需要传输的数据按字节叠加后取反加1即可。

4 变频器驱动软件设计

4.1 Danfoss变频器利用Danfoss FC协议驱动设计

VLT为用户提供了FC Drvie控制字和状态字格式标准,FC Drvie为用户提供了与VLT有关的控制信息和状态信息。

VLT变频器的串行通讯为异步半双工方式,使用字节奇偶校验和块传送异或校验方法。由于VLT变频器提供了开放的通讯协议,所以PLC与VLT能否成功的实现通讯,

17

取决于用户使用的PLC是否具有标准的通讯能力。Danfoss VLT变频器与PLC的通讯应用有着众多的成功范例。

例: LPC2148向VLT变频器发布运行频率给定值25HZ和0输出其通讯数据结构如表4-1-1、表4-1-2所示:

表4-1-1 25HZ运行的通讯数据

Stx 02 lge 06 adr 04 pcdl 04 7C pdc2 20 00 bcc 58 表4-1-2 VLT零输出时的通讯数据

Stx 02 lge 06 adr 04 pcdl 04 7C pdc2 00 00 bcc 78 其中上表13、14中bcc的值分别由下列列式计算所得:

在上述数据结构中,stx=起始字节=02H;lge=数据长度(该字节以后所有字节数之和);adr=被叫站站址;pcd1,2=数据处理字节;bcc=校验字节(该字节之前的所有字节之异或值),表中字节为十六进制数。

LPC2148向VLT变频器发布运行频率给定值25HZ时的发送子程序: unsigned int i=0;

unsigned char cmd[8] = {0x02,0x06,0x04,0x04,0x7C,0x20,0x00,0x58}; //指令数据 /*发送一个字节子程序*/

void Sent1_Byte(unsigned char data) {

U1THR = data;

// 发送数据

while( (U1LSR&0x40)==0 ); // 等待数据发送完毕 }

18

/*发送指令子程序*/ void Send_data() {

for(i = 0;i < 8;i++) {

Sent1_Byte(cmd[i]); } }

4.2 三菱变频器利用Modbus协议驱动设计

要使LPC2148和变频器之间能进行正确的数据交换,必须有一个数据处理的过程,来完成LPC2148中的数据、指令与符合变频器通讯协议数据格式的数据之间的转换。数据处理包括两个方面的内容,一是要将LPC2148发送的命令或输入数据转换为变频器能识别的数据格式,二是分析变频器返回的数据,将其转换成实际值,在LPC2148中体现出来。

LPC2148与变频器之间的数据通讯执行过程如图4-2-1中的a、b所示。

LPC2148变频器通讯请求等待时间LPC2148处理延迟时间应答返回(a)LPC2148从变频器读数据的通讯过程LPC2148变频器通讯请求等待时间应答(b)LPC2148向变频器读数据的通讯过程

图4-2-1 LPC2148与变频器之间的数据通讯执行过程

(1) 三菱变频器Modbus ASCII通讯协议数据格式类型

① 从LPC2148到变频器的通讯请求数据

19


基于LPC2148通讯的变频器控制(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:[新版]鲁教版六年级数学上册《有理数的混合运算》教案[精]

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: