参数传递语句PROC的变量数量限制

我现在正在为一台德国磨床修改程序,用户因为产品发生变化需要在PROC语句中定义更多的变量进行参数传递,但是在执行时却总是会出12340报警,意思就是定义的变量超出了限制。这个PROC定义的子程序原来是有39个变量,现增加到49个变量,可是执行程序就会出现12340报警,应该是厂家在编程时在哪里对PROC语句传递参数的数量进行了限制,不知哪位高手能指点指点,这限制会在哪个地方。
需要指出的是,在一个加工程序里定义了好几个子程序,子程序都通过PROC语句传递参数,而每个子程序对变量的数量限制还不一样,都是超过厂家最开始定义的变量数就会出错。
系统为Siemens Sinumerik 840D

最佳答案

1)首先确定的是PROC语句允许传递参数的个数是在NCK中永久设置了,用户无法改动。
2)840D系统允许传递参数的个数最大为127个,即并未达到上限。
3)PROC语言允许传递的参数个数是在系统语言设计中规定好了,系统语言不会识别NC子程序名称,并分别限制其传递参数的数量。
4)通过以上分析,为什么每个子程序增加参数都会出错? 应该是使用PROC 定义子程序参数的操作有不完善的地方。
       A:参数增加的形参名称不能与调用它的实参名称一样。
       B:定义与调用的数据类型及数量要一致。
       C:检查是否调用了正确的程序 / 函数。根据程序 / 函数设计参数数目。
参考:《840D 高级编程手册》

提问者对于答案的评价:
谢谢各位的耐心帮助!后来我自己找到了问题原因:在改变了PROC传递参数数量重新编写了PROC语句后,必须把系统断电重启才能使新定义的变量有效。这是我以前未遇到过的情况,一般编程都是修改了以后立即起作用的。
再次感谢大家的帮助!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc154947.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月6日 下午6:57
下一篇 2017年6月6日 下午6:57

相关推荐

  • 使用pcin的问题

    使用pcin传输数据,总是连接不上,本人笔记本上没有串口,买了根usb转RS232的线,厂家的人告诉我是我得线的问题,准备买个新线,各位老大帮我分析分析还有没有其他的原因。注:&n…

    SINUMERIK 2019年6月11日
  • 840D sl系统,修改电机瞬间启动功率

    我在的钢厂使用的意大利POMINI磨床因为工件电机的功率问题,经常带不动轧辊,使工作效率大大降低,请问我怎么修改程序里的参数,使工件电机在启动的瞬间能带的动轧辊,轧辊+轴承箱大概1…

    SINUMERIK 2017年8月18日
  • 加工中心换刀梯形图问题

    808D梯形图监控显示:网络2如图,SM0.6   DB2600和输出DB2600三个蓝色方块都在闪烁,是什么意思,另外触点SM0.6 &n…

    2020年10月31日
  • 求840Dsl系统变量表(中文版)

    求840Dsl系统变量表(中文版),感觉西门子好乱 最佳答案 支持中心里就有 提问者对于答案的评价:

    SINUMERIK 2020年10月31日
  • 刀库管理列表

    伺服电机的刀库。刀库管理列表绿箭头不随实际刀库位置改变而改变,FC18不是可以完成此功能? 最佳答案 要对着刀具管理的中的设置,不知道是所有的刀具都没有,还是个别没有? 提问者对于…

    SINUMERIK 2020年10月31日
  • 安全集成轴使能

    第一次使用带profisafe安全集成,完全自己摸索中。现在遇到一个问题不知如何下手,即安全功能轴使能没有激活(第1个轴),如附件。其他轴使能都正常,安全轴使能为黄色。不知它的使能…

    2017年6月27日
  • 828d刀具管理怎么配合plc使用

    以前做项目,从来没有用过刀具管理,现在828只能用这个控制刀库,不明白怎么用,有人帮帮我吗,谢谢着急 最佳答案 可以参考一下资料:《828D刀具管理简介》http://www.do…

    SINUMERIK 2017年8月16日
  • 840D各轴显示不正常

    40dX轴和Z轴显示异常,本来x轴的范围是-260到2,Z轴的范围是-90到2,现在出现如图的显示,要怎么处理,现在一开液压站X轴和Z轴就动,请问怎么处理 是不是参考点丢…

    SINUMERIK 2017年6月6日
  • sinumerik-operate-v4.7能不能用来仿真828d?

    打开后 机床好像只有840d,,,如果不行 有没有其他什么软件可以实现 最佳答案 SinuTrain for SINUMERIK …

    SINUMERIK 2017年6月1日
  • 程序中退刀

    我的机床是西门子840D系统,我在论坛中看到过REPOS重新定位的使用方法,试了一下,感觉没什么用, 我以前的方法是这样的1、MDA方式下单段2、程序停止3、按JOG键4…

    SINUMERIK 2017年12月7日