LOOP循环时的计数器
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LOOP循环时的计数器
前一段时间看到一个关于做16个阀互锁的问题只准一个输出做了一个输出计数器的程序
做了一个小的程序想实现对16个位位的输出个数的统计程序如下
AM20.0
RC10
L16
NEXT:TMD10
AM[MD10]
CUC10
LC10
TMD14
LMD10
LOOPNEXT
其中M20.0常为1以使C10在程序开始时置0但是程序在模拟时候发现只能检测出M0.1M0.3M0.5M0.7M1.1M1.3M1.5M1.7中的任何输出之和即最大检测值为8同样也可以检测M0.2M0.4M0.6M1.0M1.2M1.4M1.6M2.0
也是8但是比如当其中有M0.3M0.4M0.5则值为1也就是说不能有偶数和奇数位同时输入否则不能正常检测请说明一下计数器为什么不能统计出16
最佳答案
修改程序如下:
L0
TMD14
L16
NEXT:TMD10
AM[MD10]
JCNa01
LMD14
INC1
TMD14
a01:LMD10
LOOPNEXT
补充一下:之前程序的问题并不是由于计数脉冲周期太短的原因,而是因为计数器计数必须是采集到信号的上升沿,由于你的M0.1M0.3M0.5M0.7M1.1M1.3M1.5M1.7之间刚好经过了一个由0到1的变化,这样计数就是准确的,如果在M0.1和M0.3之间再多一个M0.2为1的信号,那么计
数器采集M0.2和M0.3的信号时,由于并没有0到1的变化,这两个为1的信号反而不会被计数。