发布于 2013-08-28 16:45:55
72楼
1、SCL作为一种高级语言,仍需编译(Compile)成STL才能后最终使用,所以相比直接使用STL代码,执行效率偏低。
2、因此SCL在做一些数据处理时,如果能优化使用数据结构(Data Type)或编程代码(Code),是可以提高CPU运算速度,降低存储运算空间。
3、关于在DB块中多次读写数据的优化Code示例如下:
(1)传统低效的DB块多次数据读写Code:
DB10.a[i].v :=DB10.a[i].v1 * DB10.a[i].v2 / DB10.a[i].v3 ;
(2)用结构类型(STRUCT)建立一个临时变量,从DB块将STRUCT指定给变量一次,然后就能够在代码中多次使用此变量,而不必反复存取DB块,从而优化CPU运算速度。
VAR_TEMP
tmp : STRUCT
v : REAL;
v1 : REAL;
v2 : REAL;
v3 : REAL;
END_STRUCT;
END_VAR
tmp := DB10.a[i];
DB10.a[i].v := tmp.v1 * tmp.v2 / tmp.v3;
大学之道,在明明德,在亲民,在止于至善。