采用SFC70创建设备的诊断地址

描述

该块采用 SFC70  创建设备的诊断地址(PN_System/Device_Nr);SFC12 要用到该地址。

地址

如果在 SFC12  中没有需要激活或去活的任务,则读出设备的当前状态。若某个设备被去活,则将其输入到 DB852  中。 任务完成时,通过 TN_aktiviert  或 TN_deaktiviert  输出输出模块的状态。

每次CPU 重启时,可采用 _CFG = W#16#1 对设备进行注册。

地址

地址

iRETVAL_SFC70 := GEO_LOG(MASTER  := PNSystem,

STATION := DeviceNr,

SLOT    := INT#0,

SUBSLOT := INT#0,

LADDR   := wDiagnose_Adresse

);

SCF70   检查模块的起始地址

使用SFC 70 "GEO_LOG" (将物理地址转换成逻辑地址),可以确定模块的相关起始地址,即最小的I地址或Q地址。

若在电源模块或带压缩地址的模块(ET 200S)上使用SFC70,则返回诊断地址。

iRETVAL_SFC12 := D_ACT_DP(REQ   := xSteuerparameter,

MODE   := bAuftragskennung,

LADDR  := wDiagnose_Adresse,

BUSY   := xAktivekennung

);

用SFC12 "D_ACT_DP"激活和取消激活DP从站/PROFINETIO设备

利用SFC12 "D_ACT_DP,可以明确地取消激活及再次激活已组态的DP从站/PROFINETIO设备。此外,还可以确定当前是激活还是取消激活每个已分配的DP从站或PROFINETIO设备。

如果使用SFC 12取消激活IE/PBLink PN IO类型的网关,则连接的所有PROFIBUS DP从站也将停止运行。这些故障将被报告。

SFC 12不能用在通过DP/PA链接与DP主站系统相连的PROFIBUSPA现场设备上。

如果在实际并不存在或非当前所需的CPU中组态DP从站/PROFINETIO设备,则该CPU仍会继续以正常时间间隔访问这些DP从站/PROFINET IO设备。而在取消激活这些从站后,则其它CPU访问也将停止。使用PROFIBUS DP,有可能达到最快的DP总线周期,同时不再发生相应的错误事件。

用SFC12取消激活DP从站/PROFINETIO设备后,其过程输出将被设置为已组态的替换值或0 (安全状态)。所分配的DP主站/PROFINET IO控制器不继续寻址该组件。DP主站/PROFINETIO控制器或CPU上的错误LED不会将取消激活的DP从站/PROFINETIO设备识别为出现故障或丢失。

而取消激活的DP从站/PROFINET IO设备输入的过程映像将用0更新,即将其作为有故障的DP从站/PROFINETIO设备处理。

如果要使用程序直接访问先前取消激活的DP从站/PROFINETIO设备的用户数据,将调用I/O访问错误OB(OB 122),并在诊断缓冲区中输入相应的启动事件。如果尝试使用SFC (即SFC59 "RD_REC")访问取消激活的DP从站

/PROFINET IO设备,则会在RET_VAL中收到一条出错信息(与访问不可用的DP从站/PROFINET IO设备相同)。

取消激活DP从站/PROFINETIO设备不会启动程序错误OB (OB 85),即使其输入或输出属于要更新的系统范围的过程映像。诊断缓冲区中不输入任何条目。

取消激活DP从站/PROFINET IO设备是否会启动导致在诊断缓冲区中输入一个条目的机架故障OB (OB 86),这取决于MODE参数

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分