quote:以下是引用Zane在2009-08-07 17:20:44的发言:
得用SFC14/15
利用SFC 14 "DPRD_DAT" (读取DP标准从站的连续数据),能读取DP标准从站/PROFINET IO设备的连续数据。
要查找适用于S7-300 CPU的最大长度,请参考以下手册:S7-300自动化系统、硬件与安装、ET?00S接口子模块,IM151-7 CPU
或基本子模块BM147CPU。关于S7-400 CPU,请参考手册S7-400自动化系统的CPU数据。如果在数据传送期间未出现错误,则已读取的数据将被输入到由RECORD标识的目标区域中。
目标区域的长度必须与用STEP 7为选定模块组态的长度相同。
如果从具有模块化设计或具有多个DP标识符的DP标准从站读取数据,则通过指定组态的起始地址,每个SFC 14调用只能访问一个模块/DP标识符的数据。
注意只有长度为三个字节或多于四个字节的数据区内可访问SFC 14 "DPRD_DAT"。否则访问将被拒绝,且出现错误代码W#16#8090。
参数 声明 数据类型 存储区 描述
LADDR INPUT WORD I、Q、M、D、L、
常数 模块的I区域中已组态
的起始地址,将从该处读取
数据。注意:
必须以十六进制格式输入地址。例如,诊断地址100表示:LADDR:=W#16#64。
RET_VAL OUTPUT INT I、Q、M、D、L 如果在功能激活时出错,
则返回值将包含
一个错误代码。
RECORD OUTPUT ANY I、Q、M、D、L 已读取的用户数据的目标区域。必须与用STEP 7为选定模块组态的长度完全相同。仅允许使用数据类型BYTE。