[西门子] S7-1200-1500案例之获取数组的最大值最小值

[复制链接]
查看96826 | 回复0 | 2024-4-23 20:35:38 | 显示全部楼层 |阅读模式
S7-1200-1500案例之获取数组的最大值最小值



相关软件:

1、编程软件:TIA-V15.1

2、仿真软件:PLC-SIM

控制要求:

1、通过冒泡排序方法实现获取数组的最大值、最小值。

冒泡排序,英文Bubble Sort,是一种比较经典而又容易实现的排序算法,它重复地访问要排序的数组元素,依次比较两个相邻的元素,以升序为例,如果当前元素 > 相邻的下一个元素,那么就他们互换位置,紧接着往下比较,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。

冒泡排序算法原理:

比较相邻的元素,升序为例,如果当前元素大于相邻的下一个元素(降序相反),就交换它们两个位置。

对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对,最后的元素应该会是最大的数(或最小的数)。

针对所有的元素重复以上的步骤,除了最后一个。

持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较为止。   

2、通过遍历法实现获取数组的最大值、最小值。

假设数组的第一个数据最大或最小,用假设的最大值或最小值和后面的数组数据逐一比较,把假设的值进行替换,最后得到的数据最大或最小。

(参考文章:S7-200 SMART获取数组最大值最小值)

(参考文章:S7-200 SMART 冒泡排序进阶篇)

(参考文章:S7-200 SMART 案例应用之冒泡排序)

注:本文程序仅供参考!!!

一、新建项目



二、遍历法:新建FB块、命名为Get Array Max Min、定义变量参数、编写程序、调用程序、下载测试。

1、定义变量:     



2、编写程序:   



3、下载测试:   



下载测试1



下载测试2

三、冒泡法:新建FB块、命名为Bubble Sort、定义变量参数、编写程序、调用程序、下载测试。

1、定义变量:   



2、编写程序:   



3、下载测试:   



下载测试1



下载测试2

四、视频演示:


video: https://mp.weixin.qq.com/mp/readtemplate?t=pages/video_player_tmpl&action=mpvideo&auto=0&vid=wxv_3240160190247960579注:本文程序仅供参考!!!​

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则