输入为any指针(in1),输出为一个bool(out1)
例如输入in1: P#M0.0 byte 10 那么在m0.0到m9.7中有任何一个为1,那么输出out1就为1,只有全部为0,out1才为0。这样的FC块应该如何编写
类似的功能块还有 输入一个any指针(in1) 一个bool (in2)
当in2为1时 将any指向的所有数据清0.该如何编写
问题补充:
自控龙龙的回答不对 我要的是in是任何any指针 而不是只有10byte 可以是p#m0.0 byte 100 也可以是p#db1.dbx0.0 byte 50
最佳答案
这需要对any指针的拆分,利用循环指令和间接寻址可以实现。但对编程人员的要求较高,一定要先熟悉寻址才可以的。不然程序可能还是看不懂的。
建议先学习寻址知识。
参见:西门子PLC指针编程
http://wenku.baidu.com/view/a91f0a4769eae009581bec11.html
补充:他的编程思路是对的,你可以在此基础上修改即可。
1、把区域内寻址改为区域间寻址。2、考虑如何复位#out1。
提问者对于答案的评价:
非常感谢,虽然你没有说的很详细,但是看了你的文档(ANY指针那一章节)我全明白了,程序块做出来了,还是非常感谢,感觉自己又知道了好多呵呵。
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc226936.html