回复:西门子840D sl,子程序无法输入数组,请问若想输入数组,正确的写法是什么

已锁定

右边

  • 帖子

    91
  • 精华

    1
  • 被关注

    7

论坛等级:侠士

注册时间:2013-06-05

黄金 黄金 如何晋级?

发布于 2021-10-28 13:00:12

1楼

用PROC定义带参数传递的子程序,不能定义数组,且定义的变量名称不能和主程序的变量名重复,作如下修改试试

DEF REAL VECT[3] ;

DEF REAL DiamT=2.0000

DEF REAL M_DATA[15]

;EXTERN OMMPT(VAR REAL,REAL, REAL);这处不能用,我没有用过,不知道为什么。

VECT[0]=SET(0,0,1)

M_DATA[0]=SET(2.6800,27.4994,-1.0000,-1.0000,0.0000,0.0000,0,0,0,0,0,0,0,0,0)

;OMMPT(M_DATA,VECT,DiamT);这处参数传递必须要确定传递数组的那个参数比如第1个传递27.4994,第2个传递1。就改成下面

OMMPT(M_DATA[1],VECT[2],DiamT)


;PROC OMMPT(VAR REAL _DATA[],REAL VECT[], REAL _DIAT) SAVE;改为

PROC OMMPT(VAR REAL _DATA,REAL _VECT, REAL _DIAT) SAVE;VECT和主程序数组同名需修改下






评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SINUMERIK

共有25501条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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