找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
小程序查看
手机扫码追踪该问题
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
1.是不是子程序变量表里的temp数据类型才是临时变量?而输入接口IN,输出接口out,输入输出接口IN_out是局部变量。只有temp临时变量才遵循先赋值再使用的原则?而接口区的局部变量不用赋值外使用。
答:所有L都是局部变量。in out都是使用局部变量的。in是进入子程序前系统帮你把这个L写成in进来的值。out是离开子程序之后系统帮你把结果写去out这个参数。这是系统仅仅帮你做的一点事情,没有多余的事情。
2.先赋值在使用的方法是怎么样操作?我在主程序调用这个带参的子程序3次。想程序不乱的话,是不是我在子程序的IN接口区必须要输入一个初始化脉冲,把子程序里temp临时变量中的word和int的数据类型的用mov指令赋零。temp临时变量中的booL数据用R指令复位。。还有IN接口区的L0.0 ,L0.1这些booL量,也需要先赋值再使用吗?还是不用管它。
答:L须先有确定的值,才开始使用。in参数系统帮你确定了值,这是一种方法,用户程序写入值是另外一种方法。初始化的意图不是就是写0,而是写入希望的值。例如计数,写入的当然是希望是上次计数计到的那个值,然后现在在这个值上增加,而不是每次都从0开始增加。你要知道R指令在off的时候值不变,不变就是不确定结果是什么,仅仅说不变,原来是0就是0原来是1就是1,那就是说没有确定,所以R指令经常是行不通的。输入参数系统帮你定了。
3.在带参数程序的子程序里,可以用SM0.5做一个定时器,建成库再子程序里调用吗?定时器用的是INC指令,然后比较设定时间。到了就输出。就是不知道,这种自制的定时器在子程序里,定时器设定时间和当前时间可以用temp数据类型吗?还是要做到接口区用in_out?
还是只要先赋值了再使用,用temp临时变量里的INT数据类型也可以。
答:计时器当然要从确定的值往上加,用什么都可以,关键是用第一那里的两种方法之一确定下来。
子程序计时器我建议使用IBtime和ICtime两个指令读取系统公共时间轴来计算时间。因为用0.5你一定涉及到边缘。可多次调用的子程序是不可以使用边缘的。那么又寄生出另一个问题了。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!