识别和读取拓扑数据所需要的SFC 103 / SFC 59参数设置

问题:
需要为系统函数SFC103 “DP_TOPOL”和SFC59 “RD_REC”设置哪些参数,以 识别和读取诊断转发器(DR)的拓扑数据?n

解答:
SFC103 “DP_TOPOL”系统函数触发识别所选主站系统的拓扑结构。为了使用该系统函数,C PU必须符合特定的要求,详见条目号:17452619。n

SFC103调用在DP主站系统上寻址所有的诊断转发器。n

参数

含义

数据类型

I/O

REQ

触发拓扑识别

BOOL

I

R

放弃拓扑识别

BOOL

I

DP_ID

待识别拓扑的DP主站系统的ID(见图1)

INT

I

RET_VAL

作业状态的返回值

INT

O

BUSY

拓扑识别尚未结束

BOOL

O

DPR

报告错误的诊断转发器的PROFIBUS地址

BYTE

O

DPRI

报告错误的诊断转发器的测量部分

BYTE

O

表1:SFC103 “DP_TOPOL”的调用参数 - 拓扑识别

调用“RD_REC”时,读取保存在诊断转发器中的数据。可以被SFC59调用读取的数据量限制为240个字节。但 是诊断转发器仅为拓扑就提供了675个字节。因此诊断转发器中的拓扑数据存放在4个不同的数据记录中,每个仅有170或165个字节大小。因 此调用四次SFC59就可以读取诊断转发器的全部拓扑数据。

参数

含义

数据类型

I/O

REQ

请求读取数据记录

BOOL

I

IOID

地址区域ID - DR组态为外围输入(PI) (B#16#54)

BYTE

I

LADDR

模块的逻辑地址 - 诊断地址和DR一起使用(见图1)

WORD

I

RECNUM

数据记录号(用于识别数据记录50...53的拓扑数据2h...35h的有效值)

BYTE

I

RET_VAL

如果在函数处理时发生错误,返回值包含一个错误代码。另外:实际传输的数据记录的长度按字节计算(可能值:165或170),如 果目标区域大于传输数据记录并且传输时没有发生错误。

INT

O

BUSY

读取过程尚未结束

BOOL

O

RECORD

用于所读取的数据记录的目标区域

BYTE

O

表2:SFC59 “RD_REC”的参数 - 读取数据记录

识别和读取拓扑数据所需要的SFC 103 / SFC 59参数设置 ( 56 KB ) 1: 调用SFC103和SFC59所需要的来自HW Config的参数 ( 56 KB )

编程推荐:
拓扑表格的四个数据记录的结构是一样的。如果创建一个UDT,其中结构是唯一的,那么当规定所需数据块的结构时,可以多次使用该UDT。这 样可以节省为每个数据块再次创建数据结构的时间。在改变的情况下只有UDT有待于更改。

注意事项:
关于此主题的更多信息可见STEP 7联机帮助,或者手册“用于S7-300/S7-400系统的SIMATIC系统软件和标准函数”,第 13.7节“在DP主站系统中使用SFC 103 DP_TOPOL识别总线拓扑”。手册在条目号:1214574

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc339961.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论