利用SPC3 开发智能DP 从站源码讲解(连载三)

利用SPC3 开发智能DP 从站源码讲解(连载三)
4、DP 从设备软件设计方案
在方案设计过程中,我们将软件结构设计成主程序模块/中断处理模块的形式。主程序
模块主要负责系统初始化和寄存器状态查询,并根据寄存的状态进行相应的操作,这一过程
主要处理一些对时间关键性要求相对较低的操作,如IN/OUT 数据的处理、诊断报文的处理
等;中断处理模块主要处理对时间关键性要求较高的操作,如设备的上/下线处理、参数化
报文处理、从设备通道配置报文处理、设地址报文和设备波特率变更报文处理等过程。
下图给了主程序模块和中断处理模块的工作流程图。
图 基于SPC3 的DP 从设备程序设计流程图
在主程序模块的工作流程中,SPC3 初始化是非常关键一个环节。SPC3 的初始化过程主
要包括以下内容:
SPC3 中断配置。SPC3 最多支持11 种类型的中断,用户程序可以对SPC3 需要响应
的中断进行设置。SPC3 RAM 内中断屏蔽寄存器(IMR)的地址为0x04。
用户定时器配置。在用户定时器超时后,SPC3 会认为用户程序发生错误,会自动
切换其工作状态,以防止设备发生故障时影响整个系统的安全。SPC3 RAM 内设置
用户定时器时间的地址为0x18,0x19。
设备地址设置。SPC3 内0x16H 为写入设备地址处。
制造商标识设置。SPC3 RAM 内设置制造商标识的地址为0x3a,0x3b。
SPC3 内各种缓冲区地址及长度计算。需要注意的是,最后的长度值是以段为单位
的。需要计算的内容包括:输入/输出缓冲区的长度和指针;存放诊断处理、参数
化、检查组态数据和从设备地址设置等多种协议报文的缓冲区长度及指针等。
SPC3 只提供一个中断,用户程序在响应中断后根据中断请求寄存器(IRR)中的内容来
判断具体发生何种类型的中断事件,SPC3 RAM 中IRR 的地址为0x00,0x01。
中断处理模块主要做以下工作:
检查并处理新的PRM 报文;
检查并处理新的CFG 报文;
检查并处理新的SSA 报文。
5、DP 从设备调试方案
智能DP 从设备的调试是一个复杂的过程,它要求开发人员具有PROFIBUS DP 系统的应
用经验。这里提出了两套调试方案。另外,笔者建议开发人员利用DP 协议分析软件来来分
析设备工作中发生的报文序列,以更深入了解设备的开发过程。
图示 PROFIBUS DP 从设备调试系统结构图
5.1 简单设备调试方案
系统构成:PC/SIEMENS CP5611 接口卡/COMPROFIBUS 软件
方案说明:SIEMENS 的PACKAGE 4 开发套件就提供了这种调试方案。这个方案主要
是调试设备的基本协议一致性,其优点是调试方便、简单;缺点是不能验证设备的
互操作性。详见上图中上半部分。
5.2 系统调试方案
系统构成:PC/SIEMENS CP5611 接口卡/STEP 7 软件/PLC S7-300/ SIEMENS ET200M
方案说明:本方案可以全面调试、测试、验证智能设备的功能和性能,但需要开发人员
对PROFIBUS DP 系统配置和组态有一定的经验,调试起来有一定的难度。详见上图中下半部
分。
附录
以上所讲内容可参见SPC3 用户手册和DP 协议规范。
相关内容可从 www.fieldbuses.com 网站下载。

你可能感兴趣的:(dp,智能,spc3,从站,Profibus)