您当前的位置:五五电子网电子知识电器控制PLC工业控制艾默生PLC在变频器网络控制中的通信设计 正文
艾默生PLC在变频器网络控制中的通信设计

艾默生PLC在变频器网络控制中的通信设计

点击数:7633 次   录入时间:03-04 11:46:43   整理:http://www.55dianzi.com   PLC工业控制

1  引言
        随着plc技术的不断发展,越来越显示其强大的核心控制功能,plc和其他设备之间的连接已经从比较烦琐的传统i/o方式向越来越受欢迎的简洁先进的通信方式过渡,不仅为设计者节省了大量的硬件成本,更能为远程控制,组网提供了可能,使控制系统更加无缝地融为一体。
本文主要通过艾默生plc和多台变频器组网通信(以modbus协议方式)为例,说明plc和多台变频器网络控制的通信程序的设计方法。

2  modbus协议简要介绍
        modbus协议由美国著名的modi -con公司提出,通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信,不同厂商生产的控制设备可以连成工业网络,进行集中监控,它已经成为一通用工业标准。控制器通信使用主—从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:ipc,hmi,plc等;典型的从设备:各种仪表,plc,变频器等。主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。modbus协议建立了主设备查询和从设备回应的格式:设备(或广播)地址、功能代码、所有要发送的数据、错误检测域。modbus协议同时支持rtu模式和ascii模式,rtu模式对应的帧格式如下:(ascii模式介绍省略)。

3  艾默生plc集成的modbus协议功能
        艾默生ec20系列plc的通信口com 1集成了modbus主站协议, 在编程时先在编程软件的系统块里进行设置具体如下:系统块→“通信口”菜单→“通信口1参数设置”菜单→选“modbus协议”→进行“modbus设置”→进行通信参数和(主模式)站号等设置即可。
然后利用modbus指令进行编程——modbus (s1) (s2)(s3)各参数含义如下:
        s1 指定的通讯通道;     
        s2 发送数据起始地址;      
        s3 接收数据起始地址;
        modbus指令发送过程中,自动加上所需的起始字符,结束字符和校验和;发送的数据,不需设定发送的数据长度,系统会根据功能码自动按系统内部设定长度进行发送。

 

rtu模式对应的帧格式

 

图1  rtu模式对应的帧格式

       2个重要的通信标志:sm135— modbus的通讯成功标志位,通讯成功时置位,不会自动复位,所以在发送数据的时候要进行一次复位;sm136—modbus的通信错误标志位,通信错误(包括从设备没有回应)时置位,不会自动复位,所以在接收数据的时候要进行一次复位。
 
4  艾默生变频器通信协议
        艾默生公司生产的ev系列变频器都集成modbus协议,且提供rs23 -2c和rs485通信口供用户选择,所以通过plc和变频器通信的方式完成控制比较简单经济,而且显得系统比较高档,下面简单介绍其协议:
        (1) 支持modbus rtu和ascii格式;
        (2) 参数的modbus协议地址影射规则:变频器的功能码参数、控制参数和状态参数都映射为modbus的读写寄存器。变频器功能码的组号映射为寄存器地址的高字节,组内索引映射为寄存器地址的低字节。变频器的控制参数和状态参数均虚拟为变频器功能码组。功能码组号与其映射的寄存器地址高字节的对应关系如下:f0组:0x00;f1组:0x01;f2组:0x02;f3组:0x03;f4组:0x04;f5组:0x05;f6组:0x06;f7组:0x07;f8组:0x08;f9组:0x09;fa组:0x0a;fb组:0x0b;fc组:0x0c;fd组:0x0d;fe组:0x0e;ff组:0x0f;fh组:0x10;fl组:0x11;fn组:0x12;fp组:0x13;fu组:0x14;变频器控制参数组:0x32;变频器状态参数组:0x33。例如变频器功能码参数f3.02的寄存器地址为0x302,变频器功能码参数ff.01的寄存器地址为0xf01。
        (3) 支持的功能码如下(见表1);

 

支持的功能码

 

        (4) 具体的协议介绍请参考艾默生变频器用户手册。

5  程序流程图
        主设备对从设备的消息查询命令主要分为2大类,连续命令序列和随机命令序列。 
        连续命令序列:主设备需要定时或连续向从设备发送的命令序列。特点是周期性,连续性。如plc对变频器读取运行频率命令,运行状态命令等。
        随机命令序列:主设备不定时或随机向从设备发送的命令序列。特点是不定时性,随机性。如plc对变频器的启停控制,改写频率或其他参数等(见图2)。

 

程序流程图

 

   图2  程序流程图      

 6  程序清单
        本程序主要介绍1台ec20plc(作为主站)按照modbus协议网络对3台变频器(从站号分别是2,3,4)进行通信控制的简单范例,本例中:
        连续命令序列 包括对2,3,4号变频器的运行频率的读取;
        随机命令序列 包括对2,3,4号变频器进行启动,停止,更改频率的命令操作;
        (1) “变频器正转”子程序清单如下:
        //主程序中用m1993作为各发送辅助使能,主要用于modbus指令的上升沿触发无其他用
        ld lm0 //位输入参数型—发送辅助使能
        rst sm135 //复位成功标志
        rst sm136 //复位失败标志
        ld sm0 //运行标志
        mov z0 v9 //保存z0值到v9
        ld sm0 //运行标志
        mov v0 v10 //从机地址
        mov 16#6 v11 //功能码
        mov 16#32 v12 //寄存器地址高字节
        mov 16#0 v13 //寄存器地址低字节
        mov 1 v14 //写入数据高字节
        mov 16#c7 v15 //写入数据低字节
        //以下把发送数据转移到d7940-d7945里
        ld sm0  
        mov 0 z0 
        ld sm0
        for 6
        ld sm0
        mov v10z0 d7940z0

[1] [2]  下一页


本文关键字:变频器  通信  艾默生  网络  PLC工业控制电器控制 - PLC工业控制