图1 系统组成
打开硬件配置软件,插入cpu 315-2dp及profibus网络,设置dp主站参数:分配dp地址为2,诊断地址2047,波特率设为1.5mbps,操作模式设为dp主站模式。在dp网络上依次插入现场io模块et200b,分配总线地址(21~26),诊断地址(2028~2023),输入输出i(q)映像地址。在profibus网络上依次插入变频器vlt2800,分配总线地址(3~17),地址(2046~2032)。选择变频器ppo协议类型1控制字,过程映像piq地址由4ax和2ax两个id模块组成。现场io模块和变频器的dp地址设置必须与plc的硬件组态分配的地址一致,诊断地址用于诊断dp从站的工作状态。
2 ppo协议
ppo协议就是参数过程数据处理的简称,ppo协议实现dp主站和智能从站之间的快速数据交换,同时实现过程数据和参数数据存取。ppo协议由参数字pcv和过程字pcd组成,ppo类型1协议结构见表1。
表1中,pca:参数号;ind:参数索引;pva:参数值;ctw:控制字;stw:状态字;mrv:设定速度(单位为百分比);mav:实际速度。使用参数字pcv设定或读取变频器参数值;使用过程字pcd控制变频器的启停、速度设定、读取变频器的状态、获取输出频率。
丹佛斯vlt2800标准控制和状态字见表2。
3 dp从站诊断
当dp系统启动、或主站的故障组织块ob82(ob86)检测到dp从站发生错误(或使用手动诊断功能)时,主站必须及时获得从站的状态及故障信息。dp从站的诊断数据记录的0~2字节数据为从站的状态信息,字节3以后的数据为从站的主站号、制造商id、及该设备状态信息。
建立dp从站状态共享数据块db103,建立从站ng、ok状态及诊断数据记录rec数组变量,插入dp从站诊断程序功能块fb102和数据块db102。建立从站诊断dia_all、从站地址指针inx_sta、从站数目sta_qut、从站诊断首地址等变量,从站诊断请求dia_req、从站忙dia_busy、诊断返回值dia_ret、错误计数器err_cnt、从站诊断数据记录dia_rec等静态变量。
使用stl语言编写诊断程序,便于使用地址寄存器ar1(ar2)编写循环(条件跳转)程序,流程图见图2所示。执行从站诊断时,从站诊断标志置位,根据从站地址指针、从站诊断首地址计算出该从站的诊断地址,同时将错误计数器复位,从站诊断请求置位。调用系统功能块sfc13读取dp从站的诊断数据,dp诊断可能需要多次调用sfc13功能块才能完成。从站诊断完成,从站忙标志为0时,根据诊断返回值数值判断该从站诊断是否正确完成。当发生错误时,错误计数器加1,继续执行本从站诊断3次;当该从站诊断正确完成时,根据数据记录数据和上述dp从站状态信息表,判断该从站处于ok或ng状态,并将ok状态、ng状态、有用的诊断数据写入从站状态数据块db103相关的数组中。[page]
图2 dp从站诊断流程图
当该从站诊断正确完成,或发生错误重新诊断3次时,从站地址指针加1,进行下一从站的诊断,所有从站诊断完毕后,复位从站诊断标志。
图3 智能从站读写流程图
打开该变频器数据块,根据变频器地址指针计算从站的piq地址。根据参数指针从静态读写参数命令数组中获取读写参数数据记录,从正确响应数组中获取正确响应信息。调用系统功能块sfc15写连续性数据。当sfc15指令执行完成后,根据写返回值分析写数据是否正确完成,如果发生错误,继续执行sfc15指令3次。sfc15指令正确执行完成后,读参数或写参数需要响应信息时,调用系统功能块sfc14读连续性数据,并将响应数据写入读参数记录变量中。根据读返回值、读参数记录数据和正确响应数据比较,分析读写参数是否正确,当读写参数发生错误时,继续读写本参数3次;当参数正确读出时,将数据写入变频器数据块的参数数据数组变量中。
当本参数正确读写完成,或发生错误3次时,参数指针加1,继续读写下一个参数,直至读写完本变频器的所有参数。当变频器所有参数读写完成后,变频器地址指针加1,继续读写下一台变频器参数,直至读写完所有变频器。
5 结束语
烟箱输送总线控制系统运行一年多来,各项性能指标达到了设计要求,运行稳定可靠,受到用户好评。西门子profibus现场总线系统具有传输速度快、连接站点数多、稳定可靠(可组成安全冗余系统),具备强大的诊断功能,运行维护成本低,支持dp协议设备众多的优势,必将在自动化控制系统中得到广泛应用。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』