技术论坛

 【有新意】论坛发帖一年来的总结和分享

返回主题列表
作者 主题
1Shadow1
侠士

经验值:1130
发帖数:81
精华帖:4
楼主    2023-12-21 14:12:14
主题:【有新意】论坛发帖一年来的总结和分享 精华帖 

        虽然工控是一份工作,但是希望大家可以从中找到属于自己的乐趣;

        注册论坛好久了,刚开始工作出差调试多,没有太多自由时间,真正开始发帖是从今年开始的;利用晚上和周末时间写了一些分享贴,大多是自己以前想到的一些想法,但是没空去实现的程序代码;

1.递归

       递归有着平常循环所没有的独特魅力,它利用了调用自身的方法去展开问题,思考的时候需要总结一个重复的步骤和最后一步去实现的样子;典型的比如汉诺塔,从A 柱子经过B 柱子到达 C 柱子;就可以简化成先把n-1 个挪到B 柱子,再把第n 个给挪到C;然后问题就又变成了类似原来的样子,只不过问题现在是把在B 柱子上的n-1 个,经过A 柱子协助,挪到 C 柱子;依次类推... ...,思考清楚后就陆续实现了几个版本:


STL 版本地址链接:           https://www.ad.siemens.com.cn/club/bbs/post_1826730_66_0_0.html#anch

SCL 版本的地址链接;       https://www.ad.siemens.com.cn/club/bbs/post_1826670_66_0_0.html#anch

WINCC 版本的地址链接;  https://www.ad.siemens.com.cn/club/bbs/post_1827031_5_0_0.html#anch 这个版本被评为了精华帖,感谢!;

扫雷小游戏地址链接:                      https://www.ad.siemens.com.cn/club/bbs/post_1831552_5_0_0.html#anch 

       这个小游戏有点难度的地方在于点击一个没有雷的地方后,会扩展出一片的效果,因为这一片区域的地雷是随机生成的,所以空白区域的出现也是没有规律的,使用递归就能实现这种效果,就像一滴水在纸上的扩散;

      其实本来打算(就是还没做,哈哈)进一步扩展这个游戏的数据库功能,数据库可以用于记录每次点击操作的坐标记录和花费时间等,所以数据库的一些常用指令已经准备好了,链接如下:

WINCC 数据库操作常用脚本指令:https://www.ad.siemens.com.cn/club/bbs/post_1836680_5_0_0.html#anch


2.CRC校验

        经常用串口的人对校验不陌生,最常见的有奇偶校验,累加和校验和循环冗余校验;

前两者都很容易实现,但第三种是效果最好的,就想自己去实现一下啊;本着循序渐进的态度,先去了解了原理,理解了什么是‘模2除法’,然后去实现了CRC-4,CRC8,CRC16; 配合多项式会有很多种CRC的实现方式,最想实现的就是CRC-16 MODBUS, 因为这个与工控相关度最高;


CRC-4链接:       https://www.ad.siemens.com.cn/club/bbs/post_1843510_66_0_0.html#anch

CRC-16-Modbus链接 :   https://www.ad.siemens.com.cn/club/bbs/post_1844571_66_0_0.html#anch

CRC-16 另外的几种方法汇总,链接:                           https://www.ad.siemens.com.cn/club/bbs/post_1844933_66_0_0.html#anch

3.滤波

       后来经常在调试的时候听同事说,采集的数据波形有干扰,就学习了一下常见的滤波形式,去一一实现,汇总成一篇:

常用模拟量滤波效果对比,链接:

https://www.ad.siemens.com.cn/club/bbs/post_1856573_66_0_0.html#anch

为了验证效果,其实是先做了一个简单的杂波发生器,链接:

https://www.ad.siemens.com.cn/club/bbs/post_1855970_66_0_0.html#anch

为了写杂波发生器,是要生成随机数来模拟杂波的,对比了几种伪随机数生成算法,发现西门子官方的写的平衡性最好(易于理解,方便实现,结果合适),学习后就直接用上了;

西门子随机数生成算法赏析链接:

https://www.ad.siemens.com.cn/club/bbs/post_1856109_66_0_0.html#anch



        随着CPU 和内存性能的提升,越来越多的算法可以在PLC 侧实现,得益于PLCSIM-Advanced 仿真的协助,在缺少实际硬件的情况下可以完成逻辑的编写和仿真,提高了编程效率,节约了硬件成本;在PLC 计算性能不够的情况下,还可以用1505s/1507s/1508s 等软PLC。根据不同的需求情况,在西门子selection tool的协助下,可以选择不同门类和规格的硬件;

        对写程序感兴趣的人来讲,思考一个新问题,不止会有压力,也享受思考的过程;使用西门子的产品十几年了,一开始工作用的是S7-200(继任者200smart),后来用了400,300,1200,1500,open controller,1507s;西门子的产品,规格说明清楚,文档案例丰富,博大精深,便于上手;


谋定而后动,精益求精。
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。