西门子博途编程-模拟量批量处理二(重构版)

重构这个词是PC编程中的术语,意思是当写第一遍程序时,因对程序逻辑不甚明白,程序逻辑有点乱,写完后重新理了一下思路,对程序的结构、变量命名等以更好的方式重新了一遍,这个过程叫重构。第二遍的程序逻辑清晰易懂。

和西门子论坛的几位版主讨论后,他们提供了很好的建议,我重构了这个模拟量程序,比以前更简单,更灵活了。下面是我们的程序。这个程序适用1200/1500.

程序段1中的程序是把模拟量PIW中的值拷贝到data.PIW数组中,实际使用中应用2,3,4行程序代替7,8,9行的程序。7,8,9行的程序用的是MW,主要是为了测试。

这个是主要的逻辑。3-12极性选择。16-31行代码主要是判断数组的长度和起始索引是否符合条件。如果目标数组的长度小于源数组,返回错误代码1,

如果源数组的索引不等于0,error返回2,如果目标数组的索引不等于0,error返回3。以上都不满足返回0, 也就是正确。34-37行是处理模拟。程序较简单。

这个数据块共两个数组,第一个是PIW数组,保存的是未处理的模拟量,第二个是result数组,保存的处理后的模拟量。

时间: 2024-10-20 06:32:34

西门子博途编程-模拟量批量处理二(重构版)的相关文章

西门子博途编程-模拟量断线超量程处理(中值法)

温度PID控制时, 有多个温度测量点, 但最终只有一个温度作为反馈值参与PID控制, 我们有时会采用平均值法, 计算所有温度的平均值来作为PID的反馈值. 但在某一路温度探头断线的情况下, 温度值为零, 这时平均值就会小很多. 像这种情况下中值法比较有效.  原理如下: 对于一组温度, 模拟量转换为数字量后, 对温度值进行排序, 取中间的那个值作为PID反馈值. 如果是偶数, 取中间两个值除以2后作为反馈值. 排序采用西门子LGF的库中的希尔排序, 但它是FB的, 使用上还的带个DB块, 现修改

西门子博途编程 - 另类状态机

这次我们用博途来写上次的控制任务,发现还是有些不一样. 和AB比,还是有点复杂啊.

模拟量编程详解——三菱FX2N系列

前几期,我们发表过西门子PLC的模拟量手把手教学文,发现大家很感兴趣,也有不少朋友给我们留言需要我们发表些三菱PLC的,苦于事多,力不从心!今天熬夜,把这空缺补上!(熬夜伤身,记得多给我们鸡腿补补) 先用例子来引导 有一个压力变送器,量程为0-20MPa,输出信号为0-10V.PLC借助FX2N-2AD的模拟量输入模块,将压力值传送给上位机显示. 其中的FX2N-2AD模块的量程为0-10V,转换后的数字量为0-4000,(这个0~4000,是FX2N-2AD模块的输出特性,也就是线性比的数据值

西门子6ES7331-7KF02-0AB0 SM331模拟量输出模块

西门子6ES7331-7KF02-0AB0 SM331模拟量输出模块 SM331, 8AI, 9/12/14BIT SIMATIC S7-300,模拟量输入SM 331,光电隔离,U/I/热电偶/电阻中断,诊断:分辨率9/1 2/14位,8AI, 上海楚控自动化设备有限公司西门子代理商电话:18217095569(微信同号) Q Q:1984523968 公司主营: 一:西门子S7-200/300/400/1200.ET200,LOGO! 二:西门子HMI触摸屏,6AV系列 三:西门子变频器,工

TIA博途SCL编程学习_选择法排序

用数组定义20个元素,给定20个实数,按从大到小排列.2. 添加FB块,建立变量.如下图: 3. 编写程序.如下图:4. 调用并监控.如下图:5.置1变量enable,监控变量表6.如果你也是博途热爱者,就一起学习吧

PLC模拟量(工程量)转化的方法

1.基本概念 我们生活在一个物质的世界中.世间所有的物质都包含了化学和物理特性,我们是通过对物质的表观性质来了解和表述物质的自有特性和运动特性.这些表观性质就是我们常说的质量.温度.速度.压力.电压.电流等用数学语言表述的物理量,在自控领域称为工程量.这种表述的优点是直观.容易理解.在电动传感技术出现之前,传统的检测仪器可以直接显示被测量的物理量,其中也包括机械式的电动仪表. 2.标准信号    在电动传感器时代,中央控制成为可能,这就需要检测信号的远距离传送.但是纷繁复杂的物理量信号直接传送会

模块采集带模拟量真空表实验

实验采用带模拟量,分辨率为1-5V,量程为0--101kpa的真空表 数据采集模块采用DAM-8021,  16位模块 算法描述如下: 真空表读数范围: 0到-101kpa 模拟量输出: 1-5V 一次AD数据采集结果为(由串口助手取得):  >+03.921-00.000 此时真空表读数:  74.2 则系数A=(3.921-1)/74.2=0.0393 真空表模拟量输出修正系数:  是指真空表模拟量输出的偏差. 其取得方法为,  将真空去掉,让真空表读数为零, 读一次AD采样的结果, 例如其

STM32L476应用开发之二:模拟量数据采集

采集模拟量数据在一台一起中是必不可少的功能.在本次实验中我们要采集的模拟量值主要包括氧气传感器的输出以及压力变送器的输出. 1硬件设计 我们需要采集数据对精度有一定的要求,而STM32L476自带ADC为12位的,所以我们采用独立的ADC芯片来完成这一工作.由于使用经验的关系,我们选择了AD7705芯片. AD7705为完整16位.低成本.Σ-Δ型ADC,适合直流和低频交流测量应用.其具有低功耗(3 V时最大值为1 mW)特性,因而可用于环路供电.电池供电或本地供电的应用中.片内可编程增益放大器

基于tcp/ip以太网通信实现0-5v,4-20ma模拟量AI采集以及模拟量AO输出控制-综科智控

ZKA-XXX-ETH 使 用 说 明 书 [ ]绝密 [ ]NDA [X]公开 版本历史 版本 修订日期 修订人 修订内容 1.0 2014-10-13 综科智控 1.0初版正式发布 1.1 2014-12-07 综科智控 填图 1.2 2015-03-01 综科智控 更新配置 1.3 2015-08-13 综科智控 修正组网图 1.4 2015-09-28 综科智控 增加ZKA型号 1.5 2016-05-22 综科智控 增加附件 1.6 2016-11-01 综科智控 修改组网图 1.7