作者 | 主题 |
---|---|
拾起 奇侠 经验值: 5100 发帖数: 335 精华帖: 6 |
楼主 2019-01-15 08:53:13
主题:SCL之冒泡法 最早应用指针寻址,是在10年的时候做滑动均值,即始终计算这一区间内数值的平均值,当区间范围改变时也能满足。看S7-300的STL技术文档,跟啃砖头一样,指针间的跳转始终头大。后面有一个项目,想应用在在线称重,通过对物品在通过检重秤的时间内,采集多个数值,然后利用冒泡法排序,再去大去小,取平均值,或取中间值等都可以,为了降低误差,后面项目没实施,只是做了SMART 200的梯形图间接寻址的冒泡法测验。在SCL没有出现之前,我认为其他品牌的PLC在间接寻址方面比西门子的要好用。 言归正传,在一直想用SCL而从未实施过,所以用SCL写冒泡排序,是SCL的第一次。此处排序除了比较最大值,将该值对应的编号一并排序,比如ABCD四台泵,谁工作时间长,谁优先休息,或最短,优先启动。 1、端口定义 2、冒泡法程序 3、程序调用 总结:老生常谈,SCL在应用于数组功能计算的时候优势明显,好用就是它最好的褒奖。 附:SMART 200梯形图冒泡法,有本人的也有其他网友的,可惜不知道是哪位大神的。如果有版权的影响,请版主告知删除。谢谢
仰望星空,脚踏实地
|
不断攀登 至圣 经验值: 12589 发帖数: 1850 精华帖: 0 |
1楼 2019-01-15 10:54:13
主题:回复:SCL之冒泡法 感谢分享!赞一个。
邮箱 yongquancun@126.com
|
HandsomeHu 游侠 经验值: 405 发帖数: 48 精华帖: 0 |
2楼 2019-01-15 11:12:22
主题:回复:SCL之冒泡法 0到15共16个数不是第一个循环不是只需要15次吗?我看你是0-15共16次循环。 |
RENHQ 至圣 经验值: 70615 发帖数: 12697 精华帖: 60 |
3楼 2019-01-15 11:14:37
主题:回复:SCL之冒泡法 感谢分享 SCL在计算和数据处理上确实很方便,比STL明了了很多 STL感觉就和计算机上的汇编语言似的,写好了,可能处理速度更快一些
Q群:https://jq.qq.com/?k=9BDuEgf6
|
茹道明 游士 经验值: 206 发帖数: 14 精华帖: 0 |
4楼 2019-01-15 11:15:15
主题:回复:SCL之冒泡法 好贴好贴,学习了 |
WWCWWC 至圣 经验值: 72865 发帖数: 8234 精华帖: 145 |
5楼 2019-01-15 11:22:45
主题:回复:SCL之冒泡法 |
拾起 奇侠 经验值: 5100 发帖数: 335 精华帖: 6 |
6楼 2019-01-15 14:30:19
主题:回复:SCL之冒泡法 关键是J值,最大值14,虽然I可以到15,但是在J值的判断中则不会执行。
仰望星空,脚踏实地
|
校长123校长 侠士 经验值: 1206 发帖数: 59 精华帖: 0 |
7楼 2019-01-15 14:46:38
主题:回复:SCL之冒泡法 当#I=15时,14-#I变负数了? |
HandsomeHu 游侠 经验值: 405 发帖数: 48 精华帖: 0 |
8楼 2019-01-15 15:17:27
主题:回复:SCL之冒泡法 16个数两两比较的次数为15次,所以J值最大为15次,因为是从0开始,所以J值最大为14,是对的。主要I值为16个数,每次取一个最大值,需要15次,从0开始则I值最大值也为14。 |
holdkcsxyz 至圣 经验值: 13226 发帖数: 1852 精华帖: 22 |
9楼 2019-01-15 15:47:47
主题:回复:SCL之冒泡法 |
拾起 奇侠 经验值: 5100 发帖数: 335 精华帖: 6 |
11楼 2019-01-16 08:09:35
主题:回复:SCL之冒泡法
仰望星空,脚踏实地
|
看雪001 至圣 经验值: 20446 发帖数: 2194 精华帖: 79 |
15楼 2019-02-11 18:19:03
主题:回复:SCL之冒泡法 前段时间也在做动态检重秤,1ms采集一次秤数据(16bit),一个产品大约采集300个数据,用窗口选择其中相对平稳时间段的200个数据,分别用均值和中值作为分析结果,重复精度还是均值的高。 附上数据单个产品通过检重秤时采集到的数据波形图: 红色曲线是原始数据,相当于#ADDTIME_SE,蓝色曲线是经过排序后的#ADDTIME,左下角是均值和中值计算结果(克数),相差不大;后来尝试取一段中值再平均,以及振幅补偿等,最终在线使用的还是最简单的累加求和/数组个数=均值。 检重秤的精度主要是由机械设计决定(被测产品是液体容器,在通过检重秤时有晃动,上图中红色曲线的振幅较大;后来用同样的容器,装入高粘度液体或者小颗粒固体就平滑很多),将数据可视化,有一个这样的‘示波器”就可以很直观地找到设计缺陷。
大道至简,知易行难
|
拾起 奇侠 经验值: 5100 发帖数: 335 精华帖: 6 |
16楼 2019-02-12 08:05:53
主题:回复:SCL之冒泡法 总结一下经验 1、在线检重秤需要屏弃进入检重秤和出去检重秤的时间段。 2、需要增加个修正系数,用于不同物体的重量修正。不知道这个数值是经验所得还是根据斜率自动计算或其他。 3、均值在当下环境,实践证明在允许误差范围内可靠。 4、数据可视,也可做成计算选择功能项,类似配方功能由操作人选择中值或均值计算。
仰望星空,脚踏实地
|
看雪001 至圣 经验值: 20446 发帖数: 2194 精华帖: 79 |
17楼 2019-02-12 13:01:56
主题:回复:SCL之冒泡法 中值计算能得到两个结果:众数和极差。动态秤的平滑段采集到的数据一定是正态分布,而不是偏态分布; 在正态分布中,众数和均值基本相等,均值计算复杂度小得多。 下面是对42000个被测产品重量数据的品质分布图分析: 自然现象中,正态分布占多数,均值更有意义。极差在一定程度上反映了数据的离散程度,就是我们常说的3西格玛还是6西格玛(或者6s);它是采集上来的原始数据,没法通过编程来改善,只能靠硬件,比如机械设计、电磁屏蔽消除干扰等。 中值计算用在偏态分布才是合适的,比如国民收入,中下层特别多,但统计局只会公布均值,不会公布中值。 一切数据分析的基础是数据可视化。
大道至简,知易行难
|