6RA70与PLC的通讯西门子6RA70直流调速器通过Profibus-DP与PLC通讯的实现1、必备条件软件Step7V5.3SP2(测试版本)PLC中具有Profibus-DP通讯口:S7-3152DP(6ES7315-2AF03-0AB0)Profibus通讯电缆(6XV1830-0AH10)Profibus总线联结器(6ES7972-0BB10-0XA0,带PG接口;6ES7972-0BA10-0XA0不带PG接口)6RA70直流调速器1台Drive中有Profibus通讯模板CBP2(6SE7090-0XX84-0FF5)2、组态主站系统①打开SIMATICMANAGER,通过FILE菜单选择NEW新建一个项目,在NAME栏中输入项目名称,将其命名为DP_6RA70,在下方的StorageLocation中设置其存储位置。Loden29@163.com①②项目屏幕的左侧选中该项目,在右键弹出的快捷菜单中选择InsertNewObject插入SIMATIC300Station;可以看到选择的对象出现在右侧的屏幕上。②第1页Loden29@163.com6RA70与PLC的通讯③打开SIMATIC300Station,然后双击右侧生成的hardware图标,在弹出的HWconfig中进行组态,在菜单栏中选择“View”选择“Catalog”打开硬件目录,按订货号和硬件安装次序依次插入机架、电源、CPU。插入CPU时会同时弹出组态PROFIBUS画面,如下图所示:Loden29@163.com④选择“New”新建一条PROFIBUS(1),组态PROFIBUS站地址,点击“Properties”键组态网络属性如下图,在本例中主站的传输速率为“1.5Mbps”,“DP”行规,无中继器、OBT等网络元件。⑤点击“OK”键确认并存盘;然后组态S7-3152DP本地模块,结果如下图:第2页Loden29@163.com6RA70与PLC的通讯3、组态从站:在DP网上挂上6RA70(使用CBP2连接,CBP2说明见附录),并组态6RA70的通讯区,通讯区与应用有关,在组态之前应确认通信的PPO类型(见下图显示PPO类型),本例选择PPO1,由4PKW/2PZD组成。Loden29@163.comPROFIBUS-DP报文借助报文进行数据交换。在每一个报文中,有用数据都分成两部分被传输。1.参数(参数识别值,PKW),2.过程数据(PZD);在PKW范围内,所有需要读或写的参数值或由参数特性确定读的数据都被传输。在PZD范围内,包含了所有的为了控制一个调速系统所必需的信息。控制信息(控制字)和给定值由PROFIBUS-DP主动装置传送给从动装第3页Loden29@163.com6RA70与PLC的通讯置。关于从动装置的状态的信息(状态字)和实际值按相反的方向被传送。报文中PKW和PZD部分的长度由主动装置决定。此外,主动装置还决定波特率。对于从动装置而言,只有数据总线地址和报文停歇时间可以被调节。具体组态步骤如下:①、打开硬件组态,在右侧”Profi(standard)”Profibus-DPSIMOREG双击DCMASTERCBP2;①②、弹出profibusinterfaceProperties:输入从站地址:4②Loden29@163.com第4页Loden29@163.com6RA70与PLC的通讯③、在下拉选项中选择PPO类型1,双击4PKW/2PZD(PPO1);③④、从站组态完成,地址分配从4PKW/2PZD(256–267)。④第5页Loden29@163.com6RA70与PLC的通讯46RA70直流调速器参数设置4.1我的调试参数:(现场6RA70设备的参数,与西门子的参数有点差别)P927=7(参数化的接口使能)[参数定义说明:]0:无;1:通讯板(CB);2:参数化单元(PMU);4:G-SST1串行接口和OP1S8:备用;16:工艺板(TB);32:G-SST2串行接口;64:G-SST3串行接口工厂设置值7(=4+2+1)的含义是可以通过通讯板,参数化单元,G-SST1串行接口和OP1S等修改调速器参数。P918=4(注意:从站地址必须与硬件组态时保持一致,这里是4)U722=10S(报文监控时间)P648=3001(PZD1--控制字,K3001来自第一块CB/TB板接收数据字1)P644,001=3002(PZD2--主给定,K3002来自第一块CB/TB板接收数据字2)U734,001=32(PZD1--状态字,K32状态字1)U734,002=167(PZD2–实际值K167选择的速度实际值,带符号)4.2西门子提供调试参数:(摘自西门子工业网络通信指南(上)P172)P927=40(参数化的接口使能)P918=4(注意:从站地址必须与硬件组态时保持一致,这里是4)U722=10MS(报文监控时间)P648=3001(控制字PZD1)P644,001=3002(主给定PZD2)U734,001=32(状态字,PZD1反馈值)U734,002=151(实际值,PZD2反馈值)5程序的编写5.1对PZD(过程数据)的读写:a.在Step7中对PZD(过程数据)读写参数时调用SFC14和SFC15;b.SFC14(“DPRD_DAT”)用于读Profibus从站(6RA70)的数据;c.SFC15(“DPWR_DAT”)用于将数据写入Profibus从站(6RA70);d.硬件组态时PZD的起始地址:W#16#108(即264);5.1.1建立数据块DB1将数据块中的数据地址与从站(6RA70)中的PZD、PKW数据区相对应第6页Loden29@163.com6RA70与PLC的通讯5.1.2数据分配在OB1中调用特殊功能块SFC14和SFC15,完成从站(6RA70)数据的读和写:①③②其中:LADDR表示:硬件组态时PZD的起始地址(W#16#108即264);RECORD表示:数据块(DB1)中定义的PZD数据区相对应的数据地址;RET_VAL表示:程序块的状态字,可以以编码的形式反映出程序的错误等状态。①.W#16#108(即264)是硬件组态时PZD的起始地址②.将从站数据读入DB1.DBX8.0开始的4个字节(P#DB1.DBX8.0BYTE4)PZD1-DB1.DBW8(状态字)PZD2-DB1.DBW10(实际速度)③.将DB1.DBX20.0开始的4个字节写入从站(P#DB1.DBX20.0BYTE4)DB1.DBW20-PZD1(控制字)第7页Loden29@163.com6RA70与PLC的通讯DB1.DBW22-PZD2(给定速度)5.1.3控制实现①②在本例中设定值和控制字通过数据块DB1中传送,DB1.DBW20设为W#16#8C7E再变为W#16#8C7F后DB1.DBW22中的设定值将输出;状态字和实际值可从DB1.DBW8,DB1.DBW10读出。①、控制命令W#16#8C7E(STOP);W#16#8C7F(START)(含义见附录2),启动调速器运行;②、给定速度。特别注意:当然命令形式可以发生变化,比如按位控制等;但这停止的初始状态一定要设置,否则会出现一些总线错误。第8页Loden29@163.com6RA70与PLC的通讯附录一:CBP2使用说明:CBP选件板(带PROFIBUS总线的通讯板)通过PROFIBUS协议将装置与其它更高级的自控系统连接起来。为显示当前的运行状态,此选件板装有3个发光二极管,分别为绿色、黄色和红色。电源电压由装置提供。显示在CBP选件板前端有3个发光二极管显示灯,用来显示当前的状态。所提供的显示灯如下:♦CBP运行(红色显示灯)♦与基本装置进行数据交换(黄色显示灯)♦通过PROFIBUS总线进行数据传输(绿色显示灯)注意♦正常运行时所有的显示灯同时闪亮,并以相同的频率闪烁!♦如果一个显示灯持续地亮或灭,就表明有一个异常条件(参数设置或故障)!故障指示第9页Loden29@163.com6RA70与PLC的通讯附录二、6RA70控制字和状态字定义:控制字定义第10页Loden29@163.com6RA70与PLC的通讯状态字定义第11页Loden29@163.com