设计要求:
设计一个计数器程序,要求计数到10万次时,Q0.0等于1。
先来看下I/O分配的情况:
根据要求编写符号表,然后分析下题目要求:
要求对于10万次进行计数,而单个计数器的计数上限是32767,低于10万。
先来复习一下计数器的基本信息,如计数器的数量,是从C0-C255共计256个,高速计数器是从HC0-HC5共计6个,累加器是从AC0-AC3共计4个。
问题:既然单个计数器无法完成结果的计数,那么需要几个计数器,计数器之间的关系是累加还是相乘?
有些人可能觉得应该用加法,有的则认为应该用乘法。先来用一个实例推演下,比如某啤酒公司生产罐装啤酒,其中20听为1箱,如果生产100听啤酒,应该怎么统计?
20听为1箱,5箱正好100听,那就是统计下满足5个整箱时,结构就实现了(就可以点亮QO.O了)。
下面开始设计程序:
逐行解读一下:
第一步:I0.0启动计数器,开始计数,并在C0累加到设定值时,C0常开触点导通,C0被复位;
第二步:C0常开触点导通,则C1计数器计数1次,累计达到设定值时,C1常开触点导通;I0.1可以实现计数器复位;
第三步:C1常开触点导通,Q0.0被点亮,技术结果完成。
那么,上电之后,实测下看看效果。按下20次,C1计数1次,直到按到100次后,果然Q0.0点亮了。
但是,随着按下复位按钮后,问题就出现了,这个大家可以思考一下。
