技术论坛

 利用1500+SCL+wincc unified编写冒泡排序程序

返回主题列表
作者 主题
恋忆
游侠

经验值: 305
发帖数: 15
精华帖: 1
楼主    2020-02-27 09:33:17
主题:利用1500+SCL+wincc unified编写冒泡排序程序 精华帖 

要求:

  1. 需要博图V16版本

  2. 需要计算机配置并安装wincc unified,需要安装步骤的可以查看我历史帖

  3. 因画面程序被删,懒得原因,画面程序需要自己动手去做

  4. 附件是程序源文件和画面视频

  5. 运算块中是程序源文件,下载后将TXT格式更改为scl格式,导入到博图中

  6. 冒泡排序.avi

  7. 运算块.txt

  8. DATA_BLOCK "DB1"

  9. { S7_Optimized_Access := 'TRUE' }

  10. VERSION : 0.1

  11. NON_RETAIN

  12.    VAR 

  13.       开始运算 : Bool;

  14.       tst2 : Bool;

  15.       tst3 : Bool;

  16.       tst4 : Bool;

  17.    END_VAR



  18. BEGIN


  19. END_DATA_BLOCK


  20. FUNCTION_BLOCK "运算块"

  21. { S7_Optimized_Access := 'TRUE' }

  22. VERSION : 0.1

  23.    VAR_INPUT 

  24.       in : Array[1..20] of Int;  //创建需要排序的数据

  25.    END_VAR


  26.    VAR_OUTPUT 

  27.       out : Array[1..20] of Int;   //排序后结果数据

  28.    END_VAR


  29.    VAR 

  30.       num : Array[1..20] of Int;

  31.       i : Int;

  32.       j : Int;

  33.       k : Int;

  34.       m : Int;

  35.       temp : Int;

  36.       buzhixing : Bool;

  37.       运算使能边沿 : Bool;

  38.    END_VAR



  39. BEGIN

  40. REGION 开始运算

  41.     IF  "DB1".开始运算 AND NOT #运算使能边沿 THEN

  42.         FOR #k := 1 TO 20 BY 1 DO

  43.             #num[#k] := #in[#k];

  44.         END_FOR;

  45.     ELSE

  46.         GOTO tiaochu;

  47.     END_IF;

  48. END_REGION

  49. REGION 排序算法

  50.     FOR #j := 0 TO 18 BY 1 DO

  51.         FOR #i := 1 TO 19 - #j BY 1 DO

  52.             IF #num[#i] > #num[#i + 1] THEN

  53.                 #temp := #num[#i + 1];

  54.                 #num[#i + 1] := #num[#i];

  55.                 #num[#i] := #temp;

  56.             END_IF;

  57.         END_FOR;

  58.     END_FOR;

  59.     FOR #m := 1 TO 20 BY 1 DO

  60.         #out[#m] := #num[#m];

  61.     END_FOR;

  62.     "DB1".开始运算 := 0;

  63. END_REGION

  64. tiaochu:

  65. #buzhixing := 0;

  66. END_FUNCTION_BLOCK

风雨廊桥
东方红一红
至圣

经验值: 16129
发帖数: 6594
精华帖: 50
1楼    2020-02-28 10:09:05
主题:回复:利用1500+SCL+wincc unified编写冒泡排序程序


很棒!!!

知其道,用其妙!
Letham
至圣

经验值: 13777
发帖数: 1964
精华帖: 43
2楼    2020-02-29 17:22:38
主题:回复:利用1500+SCL+wincc unified编写冒泡排序程序

这些 经典的 算法可以当作 SCL的入门教学案例

人生就像一场旅行!
yangchunbaixue
侠圣

经验值: 3694
发帖数: 555
精华帖: 0
3楼    2020-03-01 09:40:24
主题:回复:利用1500+SCL+wincc unified编写冒泡排序程序


学习了!很棒!以前学习C语言的时候有接触过冒泡法排序。

all alone with you
侠士

经验值: 1199
发帖数: 88
精华帖: 0
4楼    2020-03-07 18:43:18
主题:回复:利用1500+SCL+wincc unified编写冒泡排序程序

还能优化吧,排列好了之后的循环都不需要在比较了。

我希望她三十岁未嫁,我也不希望她三十岁未嫁。
贤贤易色
奇侠

经验值: 8060
发帖数: 1305
精华帖: 6
6楼    2020-03-08 08:22:40
主题:回复:利用1500+SCL+wincc unified编写冒泡排序程序


经典。。。。

养活一团春意思,撑起两根穷骨头
天芯
至圣

经验值: 18630
发帖数: 2091
精华帖: 0
7楼    2020-03-08 13:38:09
主题:回复:利用1500+SCL+wincc unified编写冒泡排序程序


不错不错,好好学学

笨笨笨笨
奇侠

经验值: 7101
发帖数: 1022
精华帖: 2
8楼    2020-03-20 09:09:10
主题:回复:利用1500+SCL+wincc unified编写冒泡排序程序


好好学习下给个赞

心有多远路就有多远
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。