以下内容纯属个人理解,如有错误欢迎指正。
本篇主要是关于汇川ST编程,for语句的一个小案例,是求出数组中的最大最小值的一个小程序。
首先简单说明一下,如何定义数组型变量。
定义一维数组的指令格式如下:
数组名:ARRAY[开始下标..结束下标] OF 【数据类型】 ;
举例:ARY0: ARRAY[0..6] OF UINT :=[12,98,42,1,90,100,23];
上述的例子中,ARY0为数组名,数组的开始下标是0.结束下标是6,一共七个变量。数组的变量类型还可以是real、Word等。
定义二维三维数组的案例如下:
ARY1: ARRAY[0..2,0..3] OF REAL ;
ARY2: ARRAY[0..6,0..2,0..3] OF WORD ;
下面是完整代码
/********************变量声明************************/
PROGRAM PLC_PRG
VAR
ARY0: ARRAY[0..6] OF UINT :=[12,98,42,1,90,100,23];
//ARY1: ARRAY[0..2,0..3] OF REAL ;
//ARY2: ARRAY[0..6,0..2,0..3] OF WORD ;
ARY_MIN: UINT :=0;
ARY_MAX: UINT :=0;
I: UINT;
END_VAR
/********************程序编写************************/
ARY_MIN := ARY0[0];
ARY_MAX := ARY0[0];
FOR I:=0 TO 6 BY 1 DO
IF ARY0[I] > ARY_MAX THEN
ARY_MAX := ARY0[I];
END_IF;
IF ARY0[I] < ARY_MIN THEN
ARY_MIN := ARY0[I];
END_IF
END_FOR
谢谢大家~