发表于:2006-07-23 23:06:00
25楼
下面引用由小龙女爱PLC在 2006-7-22 10:07:00 发表的内容:
我试过了,并不能够保持最大值,你的25505,和0001是什么意思啊。
条件不对的话,也不能实现啊
--------------------------------------------------------------------------------------------
回复小龙女
你所提到的问题可能是你在某些细节的问题上疏忽了,我所提供给你参考的程序的前提条件是以CPM1A为实验对象,并假设要检测“最大值”的数据是32位数据(我这里所说的32位是指32bit的数据。在OMRON里有些人说的是8位BCD数据。两种叫法实际上说的是一回事)。32bit的数据要占两个字,在我举的例子中由ch250和ch251这两个字来模拟采样得到的“数据”;由DM0200和DM0201这两个字来构成“最大值寄存器”。其中,ch251及DM0201中的内容是“数据的高4位”;ch250及DM0200中的内容是“数据的低4位”。
你先摁下“清零按钮”对“最大值寄存器”执行“清零”。之后,当你调节CPM1A上的“电位器1”即调节ch251中的内容时,倘若你从小到大地调节它,你就会看到DM0201的内容会随着你的调节而从小到大的增加,这时倘若你回过来朝ch251数值减小的方向调节,你就会看到DM0201的数值保持在你先前调节到过的“最大值”上,不会随ch251内容的减小而减小。在这基础上倘若你又去调节CPM1A上的“电位器0”即调节ch250中的内容,而且也是从小到大的调节,你却发现DM0200(这时不单只是DM0200)的内容不随你的调节而增大!这就极有可能引起你的误解:这个“最大值寄存器”在条件不对时不能记录“数据的最大值”!
事实上,当“数据的高4位”已经调到小于先前所记录过的“最大值”时,“数据的低4位”再怎么增加也并不代表完整的“数据”比先前的“数据最大值”有所增加。
我所讲的这些,谨供你参考。完全没有要“授教于人”的意思。我们上网是为了学习和交流嘛,交流总免不了要说出自己的观点。