-
需要计算机配置并安装wincc unified,需要安装步骤的可以查看我历史帖
-
因画面程序被删,懒得原因,画面程序需要自己动手去做
-
附件是程序源文件和画面视频
-
运算块中是程序源文件,下载后将TXT格式更改为scl格式,导入到博图中
-
冒泡排序.avi
-
运算块.txt
-
DATA_BLOCK "DB1"
-
{ S7_Optimized_Access := 'TRUE' }
-
VERSION : 0.1
-
NON_RETAIN
-
VAR
-
开始运算 : Bool;
-
tst2 : Bool;
-
tst3 : Bool;
-
tst4 : Bool;
-
END_VAR
-
BEGIN
-
END_DATA_BLOCK
-
FUNCTION_BLOCK "运算块"
-
{ S7_Optimized_Access := 'TRUE' }
-
VERSION : 0.1
-
VAR_INPUT
-
in : Array[1..20] of Int; //创建需要排序的数据
-
END_VAR
-
VAR_OUTPUT
-
out : Array[1..20] of Int; //排序后结果数据
-
END_VAR
-
VAR
-
num : Array[1..20] of Int;
-
i : Int;
-
j : Int;
-
k : Int;
-
m : Int;
-
temp : Int;
-
buzhixing : Bool;
-
运算使能边沿 : Bool;
-
END_VAR
-
BEGIN
-
REGION 开始运算
-
IF "DB1".开始运算 AND NOT #运算使能边沿 THEN
-
FOR #k := 1 TO 20 BY 1 DO
-
#num[#k] := #in[#k];
-
END_FOR;
-
ELSE
-
GOTO tiaochu;
-
END_IF;
-
END_REGION
-
REGION 排序算法
-
FOR #j := 0 TO 18 BY 1 DO
-
FOR #i := 1 TO 19 - #j BY 1 DO
-
IF #num[#i] > #num[#i + 1] THEN
-
#temp := #num[#i + 1];
-
#num[#i + 1] := #num[#i];
-
#num[#i] := #temp;
西门子电缆6FX3002-2CT20-1AD0