签到有奖
消息提醒
运维工程师专区
官方商城
扫码分享好友 任选多种周边
200smart 子程序带参数最多16个,如果参数超出怎么处理?
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
帖子链接:https://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1656606&b_id=3&s_id=0&num=3
每个子例程调用的输入/输出参数的最大限制是 16。如果尝试下载一个超出此项限制的程
序,STEP 7-Micro/WIN SMART 返回错误。
手册上这么说的
我刚才还试了一下, 编译好像没出错
大于16个根本就输不进。
大于16个就要用库内存。库内存只受空间限制。库内存中任何一个地址都可以被全局修改,也就是全部都可以看做in/out参数。
也可以用间接寻址。把所有参数按顺序安排在一片连续的空间。在子程序里面自己计算排第几个参数是什么用的参数,一条一条指针算出来,自己往里面找参数。比如,第一个参数是上升时间*VB50是字参数占用16位,第二个参数是下降时间*VB52占用16位,第三个是次数*VB54占用8位。……。想多少个参数都行。在vb50的基础上数下去就是了。
然后这个参数的接口定义成in参数。并命名为“字节5”意思为这里要填写一个数值,上例中是50。并且占用5个字节。方便以后使用这个子程序的时候知道这个子程序的占用内存量。下一个其他子程序就从50+5的地方开始使用内存。这样内存既可以灵活分配也可以容易计算。
分享
扫码分享好友 任选多种好礼
收藏
有帮助
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
密码至少8位,包含大、小写字母,数字和符号至少三种。
允许邮箱和手机接收来自支持中心网站的信息
我已同意《支持中心网站注册协议和隐私政策》
微信登录扫码一键登录
验证码登录
密码登录
二维码失效点击重试
打开微信扫一扫,快速登录/注册
未注册手机验证后自动登录,注册即代表同意《支持中心网站注册协议和隐私政策》
三日内免验证登录
短信登录
登录