1.高速计数的计数功能是不是在第一次扫描初始化后就具备了,并且在全局及任何的扫描周期内也都具备了计数功能?
2.在所有程序内,能反复去激活HSC吗
3.我监控过状态表,只要执行初始化HSC了,编码器等就可以计数了。我说的正确吗?
4.SM0.1只接通一个扫描周期,它初始化了HSC,且激活HSC。当在后续扫描周期内,HSC还能维持在第一个扫描周期内被激活计数的状态吗?
问题补充:
老师,谢谢您指导,十分详细。顺便再问下:1.首次扫描初始化高速计数器,其中:传送16井F8,定义HDEF,初始为0,预置50,中断是当前=预设,执行hsC。只有这些内容。2主程序是电机正转,计50个脉冲后停止,再延时后启动反转,反转计50个脉冲后停止,再延时转到正转,循环进行。它在正转开始时用上升沿使能HSc,反转开始时用上升沿又使能HSc一次,对Hsc0的控制位没作更改,仅仅使用了计够50个脉冲,再去执行中断(中断里只对正反转和两个M位置位和复位)。 请问下,这个只使用了当前值等于预设值这一个计数功能的程序,还需要反复两次用沿指令去激活HSC两次吗? 谢谢老师!
最佳答案
1、在程序中要使用初次扫描存储器位SM0.1来调用HDEF指令,而且只能调用一次。如果用SM0.0调用或者第二次执行HDEF指令会引起运行错误,而且不能改变第一次执行HDEF指令时对计数器的设定。调用初始化完成以后,高速计数器就能使用了
2、可以
高速计数器可以在初始化或者运行中更改设置,如初始值、预置值。其操作步骤应当是:
1)、设置控制字节的更新选项。需要更新哪个设置数据,就把控制字节中相应的控制位置位(设置为“1”);不需要改变的设置,相应的控制位就不能设置
2)、然后将所需 的值送入初始值和预置值控制寄存器
3)、执行HSC指令
3、只要初始化正常是的
4、第一个周期执行的是HDEF指令,不是HSC指令
详细参考:
高速计数器常见问题
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-portal/MicroPower2013/Smart SMS/013.html
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc367619.html