在TIA博途中使用梯形图编程,可以通过以下步骤实现:
定义通道数和变量
定义“通道数”常量。
创建用户自定义类型“AI通道”和“AI参数”。
在PLC变量表和全局DB块中配置相关变量。
使用数组实现模拟量的批量处理
通过标签和跳转指令的循环,实现对多个模拟量通道的批量操作。
在仿真中,可以观察到任意通道过程值变化对模拟量的影响。
这种方法的优点是方便修改通道数量,缺点是无法为每个通道单独命名,且通道地址需连续。
间接寻址和S7-300/400的区别
博途中的间接寻址主要用peek/poke指令,peek/poke指令不能用于优化的数据块。
优化数据块可以用数组类寻址。
控制任务示例
模拟类的批量处理,将数量不定的模拟量转换成工程量,然后保存到指定的数据块中。
例如,采集通道的10组最近的数据求平均值作为过滤后的值,以尽可能反馈通道的真实值。
在定时中断中(如100ms)调用算法,每次运行时将实时值放入10个的数组中,第11个数据放入数组的第一个,溢出时采用先进先出的方式,始终保证数组是最新的10个数据,然后求这10个数据的平均值。
SCL语言混用
对于S7-1200/1500,博图支持梯形图(LAD)块下面添加SCL语言混用。
使用SCL语言编写控制逻辑,例如判断输入值是否大于0,进入for循环,在循环中判断数组中哪一个为0,找到后将输入值放在为0的数组中,然后清零退出循环。
数据块和校验
创建数据块需要校验的字节所在DB编号。
指定要校验的字节起始地址,并关闭数据块“优化块访问”功能。
通过以上步骤,可以在TIA博途中使用梯形图编程实现对模拟量通道的批量处理和控制任务。