网络知识 娱乐 冒泡排序_使用TIA博途仿真

冒泡排序_使用TIA博途仿真

①:打开博途,创建新项目并添加CPU设备

②:程序块内添加函数块FC和数据块DB

冒泡排序_使用TIA博途仿真

程序块的结构

③:编辑“函数块FC”

冒泡排序_使用TIA博途仿真

变量表,创建了一个包含10个元素的数组Array

IF #Start THENn FOR #i:= 0 TO 8 DOn FOR #j:= 0 TO 8-#i DOn IF #Array[#j] > #Array[#j+1] THENn #temp1:= #Array[#j];n #Array[#j]:= #Array[#j+1];n #Array[#j+1]:= #temp1;n END_IF;n END_FOR;n END_FOR;nEND_IF;

可以看出,整个子程序有两层FOR循环,外层循环9次。

外层循环第一次(i=0),则内层j取值0-8,循环9次。j=0时,比较第1和第2个元素;j=1时,比较第2和第3个元素......依次类推,内层9个循环分别将9组相邻的数据两两比较,大者置后,元素中的最大值将移至数组最后;

外层循环第二次(i=1),则内层j取值0-7,循环8次(最大值已在最后,只需处理前9个元素),依次将8组相邻数据两两比较,结果元素中第二大值移至数组倒数第二位;

....................

外层循环结束,所有元素将按从小到大顺序排列完成。

注意:FC的临时变量仅在此扫描周期,被调用的此FC中赋值有效。

④:编辑数据块,对数组内元素赋初值:

冒泡排序_使用TIA博途仿真

⑤:主程序调用FC子程序:

冒泡排序_使用TIA博途仿真

M2.0控制是否执行

⑥:仿真运行并测试

冒泡排序_使用TIA博途仿真