发表于:2023/2/16 22:36:02
#0楼
今天发帖记录并分享下自己想的一个模拟程序。先介绍下模拟的这个程序的要求,程序目标是小车往右运行,假设这个路程较长,所以想让小车的运行速度快一些,但是从开始到快速,然后从快速到碰到最后的限位开关执行停止都会有较大的惯性,希望小车能先慢速运行,然后再快速运行,再慢速运行,最后碰到限位停止。然后记录下最近的一个想法,是使用定时器来控制多个步进行转换,就可以由定时器来确定慢速和快速的时间,最后的一段慢速由碰到限位开关来结束。这其中就在想每个程序都会碰到暂停和断电重启这样的情况,假设一种情况就是小车在中段进行着快速的移动,然后此时断电重启了,程序应该如何编写才能继续下去呢?有种方法是停止然后回到程序最开始的位置,但是假设有些程序的步骤是100个,然后运行完这100个的时间是1个小时,重新再来会浪费时间。若通过断电记忆来保持这个步骤的话,因为定时器在断电期间会清零,所以直接启动这个步骤会直接输出快速的点,并且从0开始运行快速的定时器时间会让小车快速运行到终点的限位开关造成冲击。后来想了很久终于想出一个方法就是普通的慢速步直接进行记忆上电并按开始键之后直接慢速运行,对于处于定时器的那几个步执行一个跳转到特殊步的指令,这个特殊步的功能是什么呢?是必须检测到起点限位并人工按下开始键才会转到最开始的慢速步,这样就安全了,当然小车从路程的中间段返回到起点的这个过程是由人工进行手动操作过来的。