网站首页 > 精选教程 正文
最近使用西门子PLC的高速计数器模块采集编码器信号,直接使用模块输出的瞬时速度跳变有点大,为了能让屏幕上显示的速度体现实时速度且平稳,需要在程序上进行处理一下,用更加专业的说法就是速度滤波。这里说的速度滤波就是一种数据处理算法。由于速度的跳变是在一个速度值左右来回跳变,所以选择的处理方法是算术平均数法。通过采集相同时间速度值N个,存入一个数组,然后对数组内的速度值进行排序,将最大值和最小值去掉后,计算平均值,将计算的平均值作为实时速度值在屏幕上显示。平均值的计算很简单,这里主要说一下里面涉及到的排序方法——冒泡排序如何通过SCL程序语言实现。
冒泡排序属于排序算法的一种,其排序原理是通过比较相邻的两个数据,根据大小交换位置,经过几轮比较后,数据就会按照从大到小或者从小到大的顺序排列储存。以下是冒泡排序算法的图解过程:
清楚明白冒泡排序算法的具体原理后,接下来就是要用SCL语言来实现,以下就是SCL语言实现冒泡算法的具体代码:
变量声明
SCL语言属于一种高级语言,所以冒泡排序实现的代码和C语言、JAVA等高级语言的实现代码很相似。由于PLC程序的执行是一种循环反复执行过程,所以在使用冒泡排序的时候可以考虑加入一个使能控制命令。
- 上一篇: Python实现冒泡排序
- 下一篇: 看动画学算法之:排序-冒泡排序
猜你喜欢
- 2024-12-04 程序入门:冒泡排序(C++)
- 2024-12-04 算法学习-JavaScript冒泡排序与选择排序
- 2024-12-04 西门子SCL编程实例——冒泡排序算法(更新版)
- 2024-12-04 python冒泡排序
- 2024-12-04 C语言 冒泡排序
- 2024-12-04 Python中的关键算法之”冒泡排序“
- 2024-12-04 西门子SCL语言编程实例——冒泡排序
- 2024-12-04 宇哥编程算法练习:冒泡排序的原理(基于Access数据库VBA)
- 2024-12-04 看动画学算法之:排序-冒泡排序
- 2024-12-04 Python实现冒泡排序
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)