楼主最近还看过
譬如有一指定“目标功能”为:在PLC 上自动查找出 D10-D69 这60个数据寄存器中的“最大值”和“最小值”。
实现这一目标功能的方法有:①、“变址比较法” ②、“移位比较法” ③、“排序查找法” ④、“检索查找法” 等等。
现在我们来想办法测试一下这几种方法在相同的 FX2n 上完成指定“目标功能”各自需要多小时间?
虽然将2楼的“变址比较法”经过改进,少用一个扫描周期所节省的时间也不够显著!因为从60个周期里减少1 个周期,毕竟减少的 1 个周期所占的比例太小!
我们看一看用“检索查找法”可以提高多少速度:

“变址比较法”、“移位比较法”、“排序查找法” 在完成指定功能时,都至少要用n-1 个扫描周期(n 是查找数据的个数),而“检索查找法”则只需 1 个扫描周期,所以它是几种方法中最快的一种。大约是上百倍的提高速度!
你们是想知道相关指令的执行时间吗?那就请查阅《使用手册》(版本号:Y992D69401A)第71页或其它资料。
基本指令(譬如:LD、AND、SET、……等等)在FX2n上的执行时间为0.08微秒;应用指令(譬如:MOV)在FX2n上的执行时间为1.52微秒;
FMOV 执行时间为69.1+2.8n (n 为点数)
......
你们把“变址比较法”(参照№2楼的片断)所用的每条指令在执行该指令时所耗的时间累加起来,再乘以59(周期数)最后得到它们的总和。在这个总和所代表的一段时间内,“查找任务”能够完成吗?事实上在这段计算出来的时间内根本远远不能达到“完成任务”的目的!
《编程手册》(版本号:Y992D87701A)第441页至445页的相关内容
LDP : 44微秒
FMOV :(条件ON时)69.1+2.8 n 微秒 (条件OFF时)6.4 微秒
RST V : (条件ON时)22 微秒 (条件OFF时)18 微秒
LD> : 1.52 微秒
LD< : 1.52 微秒
MOV : (条件ON时)1.52 微秒 (条件OFF时)1.52 微秒
INC : (条件ON时)18.8 微秒 (条件OFF时)6.4 微秒
构成“变址比较法”的各条指令在完成指定任务(从60个数据中查找到其最大值与最小值)的过程中所执行的时间总和为:5653.1 微秒 约:5.65 毫秒。
44×59+69.1+2.8×2+6.4×58+22+18×58+1.52×5×59+18.8×58+6.4
=2596+74.7+371.2+1066+448.4+1096.8
=5653.1 (微秒)
[13044]
[25721]
[8473]
[12483]
[9004]
[7905]
[18038]
[12810]
[9426]
[8884]

客服
小程序
公众号