S7-200SMART 定时器中断SMB34的值是否可以用变量表示并可以修改?现在用定时中断在Q0.0上输出方波,方波的长度需要不断修改,比如现在的周期是100MS 过一会需要200MS或50MS 如何实现?
钻石用户推荐最佳答案
1、
特殊存储器字节 34 和 35 控制定时中断 0 和 1的时间间隔。可以指定从 1 ms
到 255 ms 的时间间隔(以 1 ms 为增量)。当 CPU 将中断例程连接到对应的定时中断事件时,CPU 捕获时间间隔值。
要更改时间间隔,必须将定时中断事件重新连接到相同或不同的中断例
程。可以通过分离事件来终止定时中断事件。
可以实现用连接不同的中断例程实现。
可参考系统手册的附录 D13
S7-200 SMART V2.3系统手册
https://support.industry.siemens.com/cs/document/109745610
2、
另外一种方法。不改定时器中断的间间隔,要求是方波的输出是有律的轮回执行。
A、利用 SM0.1 定义一个计数变量,初始值为0;
B、找到所有方波的最大公约数。比如周期是50、100、200MS,则周期的最大公约数是 50 MS,那就以 50 除以 2 =25MS做为定时中断的设定时间,即每 25MS 产生一次定时中断。
C、在定时时间到的中断程序中作以下工作:
1)计数值自加1;
2)根据计数值来写是置位还是复位方波输出信号;
3)一定要考虑在所有类型都输出完的那一时刻,要复位计数的值,以便下一个轮回。
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc362305.html