LOOP循環(huán)時的計數(shù)器
劉玉蓉
發(fā)布于2014-10-21 17:19
107
0
標簽:
前一段時間看到一個關于做16個閥互鎖的問題 只準一個輸出 做了一個輸出計數(shù)器的程序
做了一個小的程序想實現(xiàn)對16個位位的輸出個數(shù)的統(tǒng)計程序如下
A M 20.0
R C 10
L 16
NEXT: T MD 10
A M [MD 10]
CU C 10
L C 10
T MD 14
L MD 10
LOOP NEXT
其中M20.0常為1以使C10在程序開始時置0但是程序在模擬時候發(fā)現(xiàn)只能檢測出M0.1 M0.3 M0.5 M0.7 M1.1 M1.3 M1.5 M1.7中的任何輸出之和即大檢測值為8 同樣也可以檢測M0.2 M0.4 M 0.6 M1.0 M1.2 M1.4 M1.6 M2.0
也是8 但是比如當其中有 M0.3 M0.4 M0.5 則值為1 也就是說不能有偶數(shù)和奇數(shù)位同時輸入否則不能正常檢測 請說明一下計數(shù)器為什么不能統(tǒng)計出16
佳答案
修改程序如下:
L 0
T MD 14
L 16
NEXT: T MD 10
A M [MD 10]
JCN a01
L MD 14
INC 1
T MD 14
a01: L MD 10
LOOP NEXT
補充一下:之前程序的問題并不是由于計數(shù)脈沖周期太短的原因,而是因為計數(shù)器計數(shù)必須是采集到信號的上升沿,由于你的M0.1 M0.3 M0.5 M0.7 M1.1 M1.3 M1.5 M1.7之間剛好經(jīng)過了一個由0到1的變化,這樣計數(shù)就是準確的,如果在M0.1和M0.3之間再多一個M0.2為1的信號,那么計數(shù)器采集M0.2和M0.3的信號時,由于并沒有0到1的變化,這兩個為1的信號反而不會被計數(shù)。