有关S7-200 SMART的高速计数器的问题

HSC0_INIT_1除了上电的第一个扫描周期接通外,其他的情况能否再次扫描,比如说图中的程序所示

问题补充:
6.为什么高速计数器不能正常工作?

在程序中要使用初次扫描存储器位SM0.1来调用HDEF指令,而且只能调用一次。如果用SM0.0调用或者第二次执行HDEF指令会引起运行错误,而且不能改变第一次执行HDEF 指令时对计数器的设定。 
这是我从高速计数器常见问题中看到的,现在真的还不确定我所谓的编程方式还是否可行?

图片说明:

有关S7-200 SMART的高速计数器的问题   

最佳答案

可以的,如果需要重新初始化高速计数器,必须开一次高速计数器指令HSC。
这在重新初始化预设值,当前值中经常需要用到。
补充问题回复:
不是只能调用一次,而是当需要修改高速计数器初始化数据时,仅仅只需要调用一次就可以了,另外,上面说过调用初始化后,仍然需要调用HSC指令一次。
至于你程序中的逻辑错误,只能是你自己找了,高速计数器可以按你的图示方式调用,没有问题。
不清楚你的具体目的,一般当需要修改当前值或者预设值时,需要重新初始化,模式尽可能不要修改(牵涉到外部硬件编码器的状态)。

提问者对于答案的评价:
我用高速计数器主要实现3个功能:1、确定工件所在的位置 2、断电重启仍可记录断电前的数据  3、手动回到原点能手动清零,自动回到原点能自动清零,当然还有一个就是断电 重启初始化高速计数器。因为在计算的过程在需要用到HC0这个只能读不能写的寄存器,为减少运动过程中干扰及误差,需要每次回到原点都要清零。  为防止回到原点再次初始化HDEF这条指令,我在指令的前面加SM0.1这个触点来控制是否可以?

最佳答案作者回复:
2)调用sm0.1,并将HC0值传送到设置保持型V区。
3)原点就是需要你重新定义高速计数器的当前值为0。你可以通过一个传感器,当检测到这个传感器的沿脉冲时,重新调用高速计数器的当前值为0(也可以为其它数据),同时,修改高速计数器必须重新调用HSC一次。你的意思我理解相当于300高速计数器的软件门或硬件门的作用。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc362533.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午12:25
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论