设为首页
加入收藏
联系我们
 
您当前的位置:工控资源网 ->文章中心 ->技术文章 -> 文章内容 退出登录 用户管理
栏目导航
· 网站首页 · 维修指南
· 技术文章 · 家电专栏
· 培训资讯 · 展会信息
· 电脑专栏 · 关于本站
热门文章
· [培训资讯] 6月24日西门子S7-30..
· [培训资讯] 6月24日西门子300/4..
· [培训资讯] 9月份北京工控自动化..
· [技术文章] 从入门到精通:学PLC..
· [培训资讯] 6月18日西门子博途1..
· [家电专栏] 电磁炉原理与维修
· [维修指南] 变频器维修经验
· [技术文章] 可编程控制器梯形图..
· [技术文章] 车间主任岗位责任制..
· [维修指南] 变频器维修常用检测..
· [技术文章] PLC可编程序控制器基..
· [培训资讯] 2月15日欧姆龙PLC编..
相关文章
· [推荐] 6月24日西门子S7-300/400 PL..
· [推荐] 6月24日西门子300/400PLC编程..
· [新闻] 9月份北京工控自动化培训中心..
· [转载] 从入门到精通:学PLC之路详解..
· [推荐] 6月18日西门子博途1500 PLC..
· [推荐] 电磁炉原理与维修
· [推荐] 变频器维修经验
· [推荐] 可编程控制器梯形图的设计方..
· [转载] 车间主任岗位责任制
· [推荐] 变频器维修常用检测方法
· [推荐] PLC可编程序控制器基础知识
· [推荐] 2月15日欧姆龙PLC编程应用培..
西门子PLC与三菱变频器通讯的实现
作者:不详  来源:不详  发布时间:2012-03-11 16:27:50  发布人:admin

减小字体 增大字体

1  引言
            
  变频器由于其应用简便和性能可靠,已成为工业传动装置中首选的电机控制器,现代变频器采用微计算机数字控制技术构成,并提供了标准的工业通讯接口和内置协议(如profibus、cclink等),为变频器的远程监控提供了必要的基础。
            
  profibus-dp做为现场总线profibus标准中一种,是一种高速(数据传输率为9.6kb/s~12mb/s)、经济、可靠的现场级网络,已经在工业控制得到了广泛的应用。
            
  本文以三菱公司的fr-a740变频器为基础,研究了simenz s7-300 plc与fr-a740在profibus-dp网络中通讯的实现,它在笔者所参与的胎面挤出生产线中得到了实践论证。为后续建立变频器的集中监控打下了基础。
            
2  基于profibus-dp控制系统结构的构建
            
  fr-a740与profibus-dp网络的连接是通过安装a7np通讯卡来实现的,其典型配置如图1所示,我们可以把系统分为三层结构,分别为监控层、控制层、执行层。ipc作为监控层,采用mcgs组态软件,用于对系统进行监控,plc做为控制层,它作为工控机与变频器之间的桥梁,一方面,它对变频器进行控制,另一方面将生产线上信息(如变频器的速度、报警等)传达给工控机,其中ipc与plc采用mpi(multipoint interface)。变频器作为执行层,将plc下达的指令执行,实现对电机的控制。

            图1  基于profibus-dp控制系统结构图
     

        
3  变频器数据通讯的实现
            
  3.1 参数设置
            
  在进行设备通讯之前,必须对变频器的相关参数进行设置,首先在a7np卡上设置网络节点地址,必须要与step 7硬件组态中设置的地址完全一致,这个设置主要通过a7np上sw3,sw1两个旋钮开关来调节的,另外其他主要参数设置如表1所示,它们是在fr-a740的操作面板设置的。

  3.2 profibus通讯协议
            
  对于调速驱动装置,根据变速驱动行规,在周期型通道中传输的数据结构被定义为参数过程数据对象pp0(parameter process object)。这个通道经常被称为标准通道,其中包含有用的用户数据。可用的数据结构分为两个部分且能用报文分别传送:过程通道pzd部分、参数通道pkw部分,具体的协议报文结构如图2所示。

            图2  profibus-dp报文中有效的数据结构

            
  变速驱动行规对ppo的结构、长度作了更具体的规定,常用的参数过程数据对象ppo一共有5种类型,按照可用数据有无参数通道及过程通道的数据字的多少来划分:
            
  (1)可用数据有数据区而无参数区,有两字或六个字的过程数据,如ppo3和pp04。

  (2)可用数据有参数区和数据区,且有两个字、六个字或是个字的过程数据,如ppo1、ppo2、ppo5。常用的ppo类型如表2所示。选用那种类型的pp0,取决于在硬件组态中的设置。过程数据在传动系统中总是以最高优先级进行传送和处理,它主要传送传动装置的状态信息和控制信息。参数数据运行存取传动系统的所有参数。因而,它能够在不影响过程数据传输性能的情况下,从上一级系统调用参数值、诊断值、故障信号等。
            
  pkw区说明参数数值(pkw)的数据接口处理方式。pkw接口并非物理意义的接口,而是一种通讯机理。这一机理确定了参数在两个通讯伙伴之间(如plc和变频器之间)的传输方式。pkw参数区一般包含4个字。前两个字(pke和ind)的信息是关于主站请求任务(任务识别标记id)和从站应答响应(应答识别标记id)的报文。pkw的后两个字(pwe1和pwe2)用来读写具体的参数数值。
            
  pkw参数通道的第一个字是参数标识符pke。位0到10(pnu)包括所请求的参数号,它决定所要执行的参数读写任务访问的是数组参数中的哪一个元素。位11(spm)是用来参数变更报告的触发位。位12到位15(ak)包括任务标识id和应答标识id.pkw参数通道的第二个字变址ind的位12到15位是参数号pnu的扩展页号,它和参数标识符基本参数号pnu共同产生完整的传动装置参数号。变址ind的0到7位为带数组的参数寻址提供数组下标,决定访问数组参数的哪一个元素。
            
  第三和第四字为参数数值(pwe)。参数值总是以双字来传送,在ppo报文中,一次只能传送一个参数值,由pwe1(高位字)和pwe2(低位字)共同组成一个32位参数数值。当用pwe2传送一个16位参数值,必须在dp主站中设置高位字pwe1为零。
            
  利用pkw参数通道修改驱动装置参数必须遵守以下规则:
            
  (1)一个任务或一个应答仅能涉及一个参数。
            
  (2)主站必须重复地发送任务报文直到从从站那里得到相应的应答报文。主站通过对应答识别id、参数号、变址下标和参数值的处理识别任务的应答。
            
  (3)完成的任务必须送出一个报文,对于应答也一样。
            
  (4)在应答报文中重复的实际值总是当前的最新值。
            
  (5)如果在周期工作中不需要pkw参数通道的信息而只需要pzd过程通道的信息,则任务id被发布为“无任务(用0表示)”。
           
   过程通道pzd区是为监测和控制调速驱动装置而设计的,在dp主站和从站中收到的pzd报文总是以最高的优先级处理,即处理pzd过程通道的优先级高于处理参数通道pkw的优先级,而且pzd过程通道总是传送调速驱动装置上当前最新的有效数据。通常dp主站给传动装置的任务报文中,第一个pzd字为控制字,第二个字为主设定值;传动装置给dp主站的响应报文中,第一个pzd字为状态字,第二个字为主实际值。
            
  本文中fr-a740采用pp03的数据传输结构,即使用过程通道(pzd)控制和监测变频器的工作,而没有使用参数通道(pkw)修改变频器的内部参数。pp03的数据结构如表3所示。

  主站给fr-a740的pzd任务报文的第一个字pzd1是变频器的控制字(stw),其每一位的含义如表4所示。

  对于变频器收到的控制字,其中位10必须设置为1。如果位10是0,变频器将以从前的控制方式继续工作。主站给变频器的pzd任务报文的第二个字pzd2字是变频器的主设定值(hsw),即主频率设定值,以十六进制发送,最小单位是0.01hz。
            
  变频器给主站的pzd应答报文的第一个pzd字是变频器的状态字(zsw),其每一位的含义如表5所示。pzd应答报文的第二个字是主要的运行参数实际值(hiw)。通常,把它定义为变频器的实际输出频率。

4  plc程序的编写
            
  在编写变频器通讯程序时,首先应该读取变频器的状态字,判断变频器是否准备就绪,如果没有就绪则判断是否存在故障,若有故障要判断故障的类型,给出相关的故障提示信息。然后根据操作指令组装控制字,设定主频率值,同时实时读取从站的应答报文,完成运行状态的在线显示。其程序结构框图如图3所示。

             图3  变频器通讯程序流程图
           


  plc作为总线主站读pzd应答报文是通过调用s7系统功能sfc14(dprd_dat)来实现,sfc14用于从一个标准的profibus-dp从站读取一串连续的数值,读取数值的长度取决于cpu的类型,它有三个形式参数:dp从站的读数据区的首地址、存放数据变量的首地址、存放错误代码的地址。若能正确读取数据,错误代码返回0000(hex);若读取出错,错误代码为非零值。同理,写pzd报文是通过调用系统功能sfc15(dpwr_dat)来实现的,它也有三个入口参数:dp从站写数据区的首地址、存放待写入数据变量的首地址、存放错误代码的地址。若正确写人,错误代码返回0000(hex);若写入出错,错误代码为非零值。以下是部分程序代码。

            call  "dprd_dat"    //调用sfc14 读取pzd应答报文
            laddr  :=#addres_iw    //dp从站读数据区的首地址
            ret_val:=#error_code_i
            -n//存储错误代码的返回变量
            record :=#bpq_in //存放应答报文的首地址
            l w#16#f
            l #bpq_in.state_pzd[1]  //pzd1字
            aw  //判断变频器是否就绪
            jn nr     //没有准备就绪
              clr
              = #fault     //清内部故障标志位
            l #control_word1
            t bpq_out.control_pzd[1] //写从站固定控制字
            spee:  l #speed_iw                    
            t bpq_out.control_pzd[2]  //写主频率给给定数值
            call "dpwr_dat"       //调用sfc15写pzd任务报文
            laddr  :=#addres_qw   //dp从站写数据区的首地址
            record :=#bpq_out        //存放任务报文的首地址
            ret_val:=#error_code_
            -out    //存储错误代码的返回变量
            nop
            call "dprd_dat"     //调用sfc14读取pzd应答报文
            laddr  :=#addres_iw
                 ret_val  :=#error_code
            _in
            record   :=#bpq_in
            l #bpq_in.state_pzd[2]
            t #actual_speed         //读取主频率实际运行值
            ju  end
            nr: l w#16#8
            l #bpq_in.state_pzd[1]  //pzd1字
            aw                      //判断变频器是否有故障
            jz   end
            set
            = #fault
            //添加判断错误和故障的代码,并将相应的错误类型写入存储区
            end:    be
            
5  结束语
            
  本文讨论了fr-a740在profibus-dp网络中通讯的实现方法,该方法已经在作者的项目中通过调试,实际运行表明设备通讯控制良好、可靠。
[] [返回上一页] [打 印] [收 藏]
关于本站 - 公司简介 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 网站留言 - 企业邮局 - 管理登录
Copyright © 2007-2020 www.zggkzy.com All Rights Reserved .
公司地址:北京市大兴区康庄路原生墅康和园137号楼1-102
电话:010-67577139 13811659603 微信:13811659603
联系邮箱:zggkzyw@163.com 京ICP备11002135号
Powered by:工控Vsp4