引用
引用第26楼风再起时于2023-08-01 10:19发表的 :
各位大师,这个程序基本能实现所有功能,也能切换(头、中、尾之间部分要切与不切转换),只要时间只能用100ms速度达不到,如果程序中100ms定时器能全部换成10ms定时器就好啦,可惜10ms定时器不够用,大师有办法 吗?麻烦路过大师指导一下,十分感谢。
软件定时器,有两种做法
1、用1ms定时器(或者10ms定时中断)给自定义的时基寄存器做累加,两个寄存器+一个布尔量做输出就行了,这个基本上你内存有多大,就能做多少个,无限的
2、用子函数或者块什么的,做延时输出函数,其实和上面差不多,但是这个要更简单一些,几乎所有的小型plc都有公共的时基寄存器,启动延时的时候把目标值+时基锁存起来,然后用时基和目标值比较做输出
上面的要准一些,下面的方便一些,看实际情况,结合具体程序的扫描周期来确定,毕竟大部分小型PLC速度在ms这个量级下还是比较慢的,10ms定时器的意义不大