回复:指针传递参数问题

大西瓜

  • 帖子

    25
  • 精华

    0
  • 被关注

    2

论坛等级:游士

注册时间:2009-07-21

普通 普通 如何晋级?

发布于 2013-12-23 09:13:25

3楼

quote:以下是引用youhm在2013-12-20 21:29:27的发言:
TEMP0的数据类型是个错误,类型不匹配编译是不会通过的
LAR1 P##TEMP0; 和 LAR1 MD 200;
完全不是一回事,前者是把TEMP0的开始地址装载到地址寄存器AR1,后者是把MD200里保存的值装载到地址寄存器,如果MD200里保存的数字不符合地址规范,CPU停机是很正常的事儿。
LAR1 P#M200.0才是等同的。

前边的那个是能运行的,我测试时给改错了,现在更正了。你说的LAR1 P#M200.0是正确的,
但是根据你的说法我把FC2程序改成如下:
L #ADDRESS
SLD 3
T #ADDRESS_1
L ID [#ADDRESS_1]
LAR1
T #OUT //输出应该是个指针

OB1:
CALL FC 2
ADDRESS:=0
OUT :=MD200

LAR1 MD 200
L D [AR1,P#0.0]
T MD 300

这样系统报错,难道这样传递指针参数不可以么?只能用pointer类型参数么?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54713条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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