恭喜,你发布的帖子
发布于 2022-04-06 12:14:38
3楼
分享一个三角波动态刷新函数
(可以一次性刷新三角波/温度/湿度等所有缩放值合适的数据)
(一)刷新函数
刷新指针-函数指针:唯一地址接口用来组织安排函数内部数值型或引用型数据(公共指针变量)
刷新量程-公共全局:坐标系最大量程
刷新变数-公共全局:三角波/温度/湿度/压力等变量曲线条数默认1
刷新行数-公共全局:坐标系矩阵点行数默认32
刷新移针-公共全局:左移指针它指向的双字默认16#00000001(公共指针常量)
刷新显针-公共全局:布尔矩阵的指针(公共指针变量)
采样存针-私有读写:单条曲线存入指针(私有指针变量)
采样取针-私有读写:单条曲线取出指针(私有指针变量)
采样首针-私有只读:单条曲线数组头部指针(私有指针常量)
采样尾针-私有只读:单条曲线数组尾部指针(私有指针常量)
采样数据-私有只读:单条曲线实时采样数据-可以有n个实时数据比如三角波/温度/湿度/压力等
刷新变循-局部临时:刷新曲线条数
刷新行循-局部临时:刷新显示行数
(二)程序文件:
由于程序变量都是自带注释的名字,因此不用注释太多应该可以看出来梯形图内容,有空完善注释.
(三)梯形截图
(四)状态显示
以上两张GIF图中实时变量的刷新频率分别是1秒和0.2秒
以上一张GIF图是正三角倒三角两条模拟曲线的同时刷新
程序:
另外一种思路算法实现上述例程:先左移所有历史数据,再填充最新鲜的一个数据.(这种方法也有缺点就是要先知道最大量程,而上面两个例程是不需要先知道最大量程的,详见例程注释,实现的效果和上面的两个例程一模一样)
(五)结束内容
以上程序测试硬件是S7-200Smart-CR60,错漏难免.CR60上面的丝印是"仅供学习,不的销售".这个丝印真的很有教育意义,自己也一直在践行:一直在"学习",从未做"销售".但还是要"销售"一下最近买齐的西门子系列书籍的运动指南和运动解析,这两本还是不错的.
请填写推广理由:
分享
只看
楼主