一段s5程序,我不太懂,请各位帮我分析分析。
我想知道fb50是什么意思。
FB50在OB13中调用,每50ms扫描一次。在OB13中可以看到FB50块的FR管脚写的是内存地址FY99。而在程序中FY99只有F99.0用过,其他的bit都没有用过。F99.0的程序是在PB1中的,意思应该是每秒一个脉冲。
我现在看不明白FB50是做什么用的。
图片说明:
6912ae14d3e5e9bCEb56fe0899dc6cd3
最佳答案
JUM001//无条件转移到标号M001处
NOP0//空操作,无意义
M001:L=FR//取=FR单元的内容
D16//将上述=FR单元的低字节的内容用16减
T=FR//将递减结果保存在=FR单元单元中
JUM002//无条件转移到标号M002处
LKH419D//取十六进制数
M002:BE//块结束
1、从上述程序看,程序执行结果就是FR单元的低字节的内容用16减的结果,再保存在=FR单元单元中。
2、=FR是一个形式地址,实际地址要看调用FB50中的FY99。
3、该程序是修改后的版本,其逻辑显得无章法,例如LKH419D//取十六进制数这条指令根本就不能被执行。
4、有关S5指令,详见:
htTP://wenku.baidu.com/view/49019dabdd3383c4bb4cd26c.html
提问者对于答案的评价:
我也知道是减了16,但是不明白他是做什么用的。还是谢谢了。
最佳答案作者回复:
别人不会明白他是做什么用的,这要问编程的人了!