恭喜,你发布的帖子
发布于 2020-12-13 20:05:46
6楼
问题1:
jogSpeed是设定的手动速度,单位r/min ,最终转换成模拟量控制传送带beltAnalogSpeed
analogActSpeed是实际速度的模拟量反馈 0-27648
homed在传送带单元中无任何意义,为了方便在hmi中使用面板实例,与FB284共用一个UDT
velocity 反馈的实际速度,单位r/min,由analogActSpeed转换而来
问题2: #AnalogToSpeed是FC的返回值,您可以看做FC的输出,不过返回值只能有一个,在LAD中返回值和输出看起来没什么区别,但是SCL调用该FC的时候,语法是:
返回值:=FC();
赋值也就可以解释了,在不同情况下为返回值赋值不同的值。
问题3:tempYwert是中间变量,先将计算的中间变量写入该值,最后统一写入输出或者返回值,这是一种标准写法,这可以避免在程序中多次向最终的输出写入,因为如果程序编写不当可能会造成双线圈,导致前面为输出赋的值永远无效。
问题4:常量确实可以用静态变量代替,但是FC呢,这也是一种编程风格指南中提到的方法,恒定不变的数在常量中定义
问题5:这一段是通用写法,简单的说就是把0-27648转换成对应的模拟量,NORM_X和SCALE_X可以代替把位于x0和x1之间的输入x转换成y0和y1之间的输出
问题6:这就是避免程序输入输错了
问题7:Ret_Val就是最后一张图return下面定义的返回值,就是前面问题2说的
请填写推广理由:
分享
只看
楼主