回复:请教,子程序中形式参数 ld_r10等的值来自哪里?

已锁定

yesuaizi

  • 帖子

    252
  • 精华

    0
  • 被关注

    2

论坛等级:侠客

注册时间:2021-12-26

普通 普通 如何晋级?

发布于 2022-01-03 21:32:31

14楼

展开查看
以下是引用右边在2022-01-01 16:29:04的发言 >12楼

这几天一直在想,我应该还有什么地方没有想到,写此子程序的作者既然写出参数传递的变量,就应该是有用处的。不应该是我理解的这么简单。只是这几天没有时间试验。今天有空测试了一下,果然是有用处的。实际上这个子程序有两种给计算变量赋值的方法。

第1种就是楼主用的在主程序直接给这13个R参数赋值,调用子程序只写子程序名。第2种是在主程序内调用子程序时用参数传递ld_r10这些变量,他们在子程序内利用条件判断再次赋值给程序使用的13个R参数。

if (($p_subpar[1]==false) and ($p_subpar[2]==false) and ($p_subpar[3]==false) and ($p_subpar[4]==false) and ($p_subpar[5]==false) and ($p_subpar[6]==false) and ($p_subpar[7]==false) and ($p_subpar[8]==false) and ($p_subpar[9]==false) and ($p_subpar[10]==false) and ($p_subpar[11]==false) and ($p_subpar[12]==false) and ($p_subpar[13]==false))

;这句的意思是调用子程序时所有参数传递都没有赋值为成立,只要有任何一个参数传递赋值就不成立





以下是引用右边在2021-12-30 08:57:40的发言 >10楼:根据你说的这些情况...

引用10楼详细内容:

根据你说的这些情况,我估计,子程序内IF判断语句成立,程序内的R参数值就是用的主程序赋值数据,如果判断不成立,才进入ELSE分枝,把R参数全部赋值为0了。你在子程内ENDIF前段加个M0看程序暂停否,不暂停,去看R参数应该是主程序的值,如暂停了,R参数应该是0

以下是引用耶稣爱字在2021-12-29 08:15:12的发言 >8楼:搜索了整个子程序L...

引用8楼详细内容:

搜索了整个子程序L3104,除了PROC行,只有语句“R10=ld_r10”(顶楼亦可见)两句有有“ld_10”,其它无,

十分感谢大侠!大侠有心了。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SINUMERIK

共有25603条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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