LD SM0.0
MOVD HC1, SMD48
LD I2.5
MOVD +0, SMD48
MOVB 16#FC, SMB47
HSC 1
LD SM0.1
MOVD VD8, SMD48
MOVB 16#FC, SMB47
HSC 1
LD SM0.0
MOVD SMD48, VD8
特别是这个VD8 赋值给SMD48后,又把SMD48再赋给它.不知道搞什么.
最佳答案
1.将HC1的数值赋予HC1的当前新值SMD48中,等SM47.6=1时,HC1的当前值就是SMD48中的值了。
2.当I2.5ON时,清零SMD48,并送16#FC到HC1的控制字节SMB47中,即SM47.0=0复位高电平有效;
SM47.1=0 HC1的使能位是高电平有效;
SM47.2=1 1倍率计数方式;
SM47.3=1 增计数方式;
SM47.4=1 HC1的计数方向更新是1有效;
SM47.5=1 HC1的更新预置值有效;
SM47.6=1 HC1写入新的当前值;
SM47.7=1 HC1使能。
定义HC1工作
3.初始第一个扫描ON时,将VD8中的值送入HC1的新当前值SMD48中,并送16#FC到HC1的控制字节,进行HC1的初始化工作。
4.CPU运行过程将SMD48的值送入VD8中。也就是将HC1的计数值送入VD8中。
整个程序是将HC1计数的值送SMD48,通过它来存入VD8,关机后在上电时,由把VD8的记忆值送入HC1继续开始加计数,待I2.5ON时清零HC1,使HC1从新开始计数。
提问者对于答案的评价:
谢谢
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc357713.html