• 自动化系统
  • 驱动技术
  • 低压电气
  • 工业服务
  • 其他
更多
常问问题

FC中如何传递ANY指针

star star star star star
5.0 分
  • 软件编程
  • 使用操作
  • Step 7 Basic
文档编号:F0670| 文档类型:常问问题| 发布时间:2024年01月30日
  • 0
  • 626
  • 4536
问题描述: 在STEP7函数FC1中调用SFC14和SFC15,程序结构如图1,如何将FC1接口中定义的ANY指针 RD_RECORD及WR_RECORD(图2)分别传递给SFC14及SFC15 ? ......

问题描述: 在STEP7函数FC1中调用SFC14和SFC15,程序结构如图1,如何将FC1接口中定义的ANY指针 RD_RECORD及WR_RECORD(图2)分别传递给SFC14及SFC15 ? ......


问题描述:
在STEP7函数FC1中调用SFC14和SFC15,程序结构如图1,如何将FC1接口中定义的ANY指针 RD_RECORD及WR_RECORD(图2)分别传递给SFC14及SFC15 ?


图 1


图 2

解决方法:
如图3所示,由于FC接口参数中定义的ANY类型参数RD_RECORD 无法作为其调用函数SFC14 RECORD参数的实参,而在临时变量区中定义的ANY类型变量却可以作为SFC14 RECORD参数的实参,所以可采取通过临时变量中转的方式来传递ANY指针。


图 3

附件提供的样例程序中在FC1函数的临时变量区中定义两个ANY类型变量 RD_Temp和 WR_Temp,分别作为SFC14和SFC15的RECORD参数。
FC1中的Network 1通过1个WORD和2个DWORD逐字段传递的方式将RD_RECORD的内容传递给 RD_Temp;
FC1中的Network 2通过在LOOP循环中逐字节传递的方式将WR_RECORD的内容传递给WR_Temp;

测试环境 版本
PC操作系统Microsoft Windows XP, SP3
STEP 7V5.5, SP2

关于指针结构及寻址编程参考下载中心文档《S7-300和S7-400寻址》文档编号“F0215”

样例程序:   nestedfc.zip (867,6 KB)

下载此文档:  F0670_FCANY.pdf (104,9 KB)

关键词
函数,ANY,嵌套,SFC14,SFC15


您可以前往全球资源库查看此文档


推广Service Portal Home首页
  • 评论
  • 分享

    扫码分享

  • 收藏
  • 点赞
  • 纠错
 

隐私政策更新提示

欢迎您来到西门子数字化工业支持中心网站!我们使用cookies来确保您能最好地使用我们的网站,进行网站分析并根据您的兴趣定制内容。我们有时会与第三方共享cookie数据。继续浏览本网站,即表示您同意我们使用cookies。您亦可以参考西门子数据隐私政策以了解更多相关信息。

同意并继续浏览
提示
您即将前往“全球技术资源库”。
“全球技术资源库”的用户名与本地支持中心(下载中心、技术论坛、找答案、1847工业学习平台)的用户名不通用。如果需要在全球技术资源库下载文档,您需要重新登录或注册。
确定
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。