西门子200CN模块代理商黔西南州西门子触摸屏代理商
黔西南州西门子触摸屏代理商黔西南州西门子触摸屏代理商
编码器的单圈分辨率是13位.我想在DB1中,记录每一个脉冲数值,用来分析编码器的输出脉冲是否连续正常。不能用定时采集的方法做,避免丢失脉冲数。
用数值比较的方法始终没成功,不知道为何?
图片说明: 1,程序截图
佳答案
在网络2中,你的DB1中的每个DBW都赋不同的初值了是吗。
如果是,则因为循环指令是在一个扫描周期内完成的,所以MW50的值在循环期间没有改变。设次执行时MW50为1,进入循环指令后与DBW0(为1)比较相等,则与DBW2(为2)比较,这时不相等则跳出循环了。在*二次扫描周期时MW50为2,进入循环指令后与DBW0比较,不相等则直接跳出循环,此后的每次扫描相当于你的循环都不起作用了。
6ES7288-1SR60-0AA1 | S7-200 SMART,CPU SR60,标准型 CPU 模块,继电器输出,220 V AC 或110 DC供电,36 输入/24 输出 |
6ES7288-1ST60-0AA1 | S7-200 SMART,CPU ST60,标准型 CPU 模块,晶体管输出,24 V DC 供电,36 输入/24 输出 |
6ES7288-1CR20-0AA1 | S7-200 SMART,CPU CR20s,经济型 CPU 模块,继电器输出,220 V AC或110 DC 供电,12 输入/8 输出 |
6ES7288-1CR30-0AA1 | S7-200 SMART,CPU CR30s,经济型 CPU 模块,继电器输出,220 V AC或110 DC 供电,18 输入/12 输出 |
6ES7288-1CR40-0AA1 | S7-200 SMART,CPU CR40s,经济型 CPU 模块,继电器输出,220 V AC或110 DC 供电,24 输入/16输出 |
如果不是,初值都相同(默认为0),则次扫描就可能不执行循环,或进入循环后都赋相同的值,并不能起到你想要的结果。
OPN DB1
L MW 50
T DBW [MD60]
L MD60
L P#2.0
+I
T MD60
L MD60
L 80
<I
JC mo1
L 0
T MD60
mo1: NOP 0
程序没有测试,你可以试一试,只是个思路。在OB100中对MD60赋值0。保存到DB块地址大为DBW10,若扩大则修改80这个数值。
黔西南州西门子,触摸屏代理商,PLC模块,交换机,网线代理,黔西南州西门子,触摸屏代理商,PLC模块,交换机,网线代理黔西南州西门子,触摸屏代理商,PLC模块,交换机,网线代理黔西南州西门子,触摸屏代理商,PLC模块,交换机,网线代理黔西南州西门子,触摸屏代理商,PLC模块,交换机,网线代理黔西南州西门子,触摸屏代理商,PLC模块,交换机,网线代理黔西南州西门子,触摸屏代理商,PLC模块,交换机,网线代理
黔西南州西门子触摸屏代理商西门子200CN模块代理商西门子200CN模块代理商西门子触摸屏代理商西门子触摸屏代理商西门子触摸屏代理商西门子触摸屏代理商