S7-300/400中FC,FB使用指针的区别?

已锁定

shanghaiyutian

  • 帖子

    67
  • 精华

    2
  • 被关注

    2

论坛等级:游士

注册时间:2004-04-05

普通 普通 如何晋级?

S7-300/400中FC,FB使用指针的区别?

5387

20

2009-03-09 14:44:20

版主及各位大侠,请问SIEMENS S7-300/400FC,FB编程中,使用指针有什么限制及注意事项?为何下面一段程序在FC中使用正常,移植到FB中会引起FB工作异常?

// -> Load Pointer to the User-Defined Variables !
L P##uTPIF // #uTPIF是在IN/OUT接口区定义的UDT类型变量
LAR1 // *
L W [AR1,P#0.0] // *
T #DB_PTR.iDBNO //#DB_PTR.iDBNO是在Temp区域定义的临时变量
OPN DB [#DB_PTR.iDBNO] // *
L D [AR1,P#2.0] // *
T #DB_PTR.pAREA //#DB_PTR.pAREA是在Temp区域定义的临时变量
LAR1 // *
LAR2 P##uTmp_TPIF //#uTmp_TPIF是在Temp区域定义的UDT临时变量,UDT类型与#uTPIF相同
// Load Input Variable to Internal Variable
L D [AR1,P#0.0] // = Input-Variable
T LD [AR2,P#0.0] // = Internal-Variable
L D [AR1,P#4.0] // = Input-Variable
T LD [AR2,P#4.0] // = Internal-Variable

**********FC,FB逻辑控制程序****************


LAR2 P##uTmp_TPIF // Pointer to Internal-Variable
OPN DB [#DB_PTR.iDBNO] // Pointer to Input-Variable
LAR1 #DB_PTR.pAREA // *
// Save Internal Variable to Input Variable
L LD [AR2,P#0.0] // Save Internal in Input Variable !
T D [AR1,P#0.0] // *
L LD [AR2,P#4.0] // Save Internal in Input Variable !
T D [AR1,P#4.0] // *


此段程序的功能是,首先将#uTPIF中定义的数据读入#uTmp_TPIF变量中,在中间的逻辑控制中使用#uTmp_TPIF中的地址,最后再将#uTmp_TPIF中的数据写回到#uTPIF变量中。

希望各位高手帮忙分析以下出错原因,谢谢!
S7-300/400中FC,FB使用指针的区别? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54762条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。