恭喜,你发布的帖子
发布于 2017-05-19 09:31:28
8楼
编程一个数据交换的程序,应该很简短把。增加个中间变量用于存放要交换的数据,3个变量做一个交换,一个3条mov就解决了。、之所以说用数据交换,是为了避免使用循环指令,每个扫描周期只交换1次数据,循环指令是一个周期交换完所有数据,所以数据太多,担心扫描超时时,不好用循环指令,就用数据交换,反过来数据少时,用循环指令更新快一点。
实际上你的担心大可不必,200samrt 系统默认程序扫描工作时间为500mS的周期。
而一般我们编辑的程序大多均在5~10mS之间,到达系统报警时间远远未到达这个标定的时间值。
你对数据交换处理当然也是一种办法,说到底没有对与错,只有精简与不精简之分(我这里是指同样的功能,编辑的程序段越少越精简),这也是人工编程的另一种魅力所在。
曾经在讲解第三方plc课程时,挂在我口头上的那句话,在没有合适的指令调用或者没有搞明白一些指令组合使用前,千万别使用。可以用基本指令编辑的暂时用基本指令编辑,因为目的只有一个,程序的安全、稳定是最重要的,说到另一个话题,就是上面说的程序扫描时间,如果用基本指令,相对比较肯定会比功能指令的程序程序扫描周期会大一些,但因为基本指令会使用,逻辑相对要好理解。一个工作周期5mS与一个工作周期20mS的plc,在一般工况下几乎无法区分的反应的速度。
请填写推广理由:
分享
只看
楼主