在S7-400项目中寻找第三方传感器的DP通讯程序段,可按以下步骤进行:
一、硬件组态与GSD文件配置
硬件组态确认:
在STEP 7的HW Config中,确认第三方传感器已正确组态至PROFIBUS-DP网络,检查其模块类型、订货号及版本号是否与实际设备一致。
确保传感器DP地址(如3)与主站(如S7-400的DP地址4)无冲突,波特率统一设置为187.5kbit/s。
GSD文件导入:
传感器需提供符合PROFIBUS标准的GSD文件,通过HW Config的“Options”→“Install New GSD File”导入。
检查GSD文件是否支持DP-V0/V1协议,确保数据交换的兼容性。
二、程序段定位方法
交叉引用法:
使用STEP 7的“References”工具,搜索传感器输入地址(如IB100)或输出地址(如QB100),定位程序中调用该地址的逻辑块(如OB1、FC、FB)。
示例:若传感器数据存储在DB1.DBW0,通过交叉引用可找到所有读写该数据的程序段。
功能块调用检查:
第三方传感器通常通过系统功能块(SFC)或自定义功能块(FB)实现通讯。搜索SFC14(DPRD_DAT,数据读取)和SFC15(DPWR_DAT,数据写入)的调用。
示例:
CALL "DPRD_DAT", LADDR:=W#16#64, RET_VAL:=MW2, RECORD:=P#DB2.DBX0.0 BYTE 20
表示从地址64开始读取20字节数据至DB2。变量表监控:
创建变量表(VAT),添加传感器输入/输出地址(如IW100、QW100),监控数据变化以验证通讯状态。
通过比较监控值与传感器实际输出,快速定位数据异常的程序段。
三、通讯程序结构分析
数据一致性处理:
检查是否使用SFC14/SFC15传输一致性数据,确保复杂控制(如模拟量闭环)中数据连续性。
示例:在OB1中周期性调用SFC14读取传感器数据,并通过SFC15发送控制指令。
错误处理机制:
检查通讯错误处理逻辑,如SFC14/SFC15返回的错误代码(RET_VAL)是否被正确解析。
示例:若RET_VAL≠0,触发报警或切换至备用传感器。
四、调试与验证
通讯状态诊断:
使用STEP 7的“Diagnostics”功能,检查传感器DP从站的“Status”和“Error”标志位。
通过“PROFIBUS DP”→“Slave Properties”确认传感器在线状态及数据交换周期。
信号追踪:
利用PLCSIM仿真传感器输入信号,逐步执行程序并观察数据流向,验证通讯逻辑的正确性。
五、文档与支持
技术文档参考:
查阅传感器厂商提供的PROFIBUS通讯手册,确认GSD文件配置参数及示例程序。
示例:某品牌传感器手册中可能包含标准DP通讯程序模板。
厂商技术支持:
若程序段仍无法定位,联系传感器厂商提供针对S7-400的DP通讯代码示例或组态指导。