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