×
接口总线驱动 > 总线 > 详情

PROFIBUS总线在烟箱输送线上的应用

发布时间:2020-05-26 发布时间:
|
1 引 言

    本文以烟箱输送系统介绍西门子profibus现场总线控制系统,输送系统实现四台封箱机后成品烟箱的合流、输送、提升,将烟箱输送至成品高架仓库入库分拣输送线上。使用s7-315-2dp作为dp控制器,本地机架安装2组数字量输入输出模块,15台丹佛斯vlt2800变频器及现场6组et200b远程io模块通过dp总线接入plc,使用10.4″彩色触摸屏tp270通过mpi总线与plc连接,系统组成参见图1所示。


图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,进行下一从站的诊断,所有从站诊断完毕后,复位从站诊断标志。


4 读写变频器智能从站

    智能从站分配的地址为过程映像pi(或pq),是连续性数据,必须注意读写数据的连续性。对于4字节及以下的连续性数据,如上述组态图中的2ax模块,可以使用(双字)装载或(双字)传送指令读写。对于4字节以上的连续性数据,如上述组态图中的4ax模块,不能使用两个双字装载或传送指令分两步读写,只能使用系统功能块sfc14读取从站的连续性数据,sfc15写入连续性数据到从站。

    变频器的过程字pcd(ppo类型1),使用双字装载指令[l pid432 md532],获取变频器的常用状态信息及实际输出频率;使用双字传送指令[t md632 pqd432],控制变频器的启停及设定频率,注意频率为最大频率的百分比,其数值为16384时,表示100%。

    变频器的pcv参数字,如上述组态图中的4ax模块,使用系统功能块sfc14和sfc15读写。首先确定需要读写(如电机电流、电机电压、变频器温度、报警字、加速时间等)参数的参数pnu号及子索引ind号。依次为每个变频器创建数据块db41-55,建立读参数数据记录parr_rec、写参数数据记录parw_rec及参数数据存放par_data数组变量。

    创建功能块fb100和数据块db100,建立变频器地址指针inx_vlt、变频器数量vlt_qut、变频器起始数据块db_int、变频器piq首地址piq_int,变频器piq地址piq_add、参数指针inx_par、参数条目数par_qut、错误计数器err_cnt等变量。建立读写参数命令组ary_cmd及正确响应信息组ary_rpok静态数组变量,将读写参数的命令数据赋值给参数命令组ary_cmd数组变量,将对应的正确响应信息赋值给正确响应组ary_rpok数组变量。建立sfc14正确响应信息变量par_rpok、sfc15写返回值ret_wrt、sfc14读返回值ret_read变量。

    使用stl语言编写程序,流程图见图3所示。打开数据块db103,根据变频器地址指针,获取本从站的工作状态。如果该站工作正常,就读写该变频器参数;否则,变频器地址指针加1,读写下一台变频器参数。

 


图3  智能从站读写流程图


    打开该变频器数据块,根据变频器地址指针计算从站的piq地址。根据参数指针从静态读写参数命令数组中获取读写参数数据记录,从正确响应数组中获取正确响应信息。调用系统功能块sfc15写连续性数据。当sfc15指令执行完成后,根据写返回值分析写数据是否正确完成,如果发生错误,继续执行sfc15指令3次。sfc15指令正确执行完成后,读参数或写参数需要响应信息时,调用系统功能块sfc14读连续性数据,并将响应数据写入读参数记录变量中。根据读返回值、读参数记录数据和正确响应数据比较,分析读写参数是否正确,当读写参数发生错误时,继续读写本参数3次;当参数正确读出时,将数据写入变频器数据块的参数数据数组变量中。

    当本参数正确读写完成,或发生错误3次时,参数指针加1,继续读写下一个参数,直至读写完本变频器的所有参数。当变频器所有参数读写完成后,变频器地址指针加1,继续读写下一台变频器参数,直至读写完所有变频器。

5 结束语

    烟箱输送总线控制系统运行一年多来,各项性能指标达到了设计要求,运行稳定可靠,受到用户好评。西门子profibus现场总线系统具有传输速度快、连接站点数多、稳定可靠(可组成安全冗余系统),具备强大的诊断功能,运行维护成本低,支持dp协议设备众多的优势,必将在自动化控制系统中得到广泛应用。 


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
RS232与RS485谁才是UART中的高速公路