文末有55个实战案例资料

导读:在污水处理、锅炉控制、给排水控制等行业会大量使用模拟量控制,比如测量设备的温度、管网的压力、流量等。那么这些数据都是通过传感器接入到PLC中,那么由于各传感器的测量单位不一样(比如温度传感器量程是0.0-150.0;压力传感器是0.0-1.0Mpa),所以我们可以编写一个通用的模拟量转换程序。传感器如图1所示。

本文使用西门子1200和汇川EASY521 PLC编写模拟量转换程序

一、控制要求

  • 1.PLC采集外部传感器数据

  • 2.可以在HMI上选择传感器是单极性还是双极性

  • 3.根据不同的传感器量程计算出实际的工程单位值

二、西门子1200PLC程序设计

1.定义接口变量

2.程序段1主要实现的是极性选择,如果是单极性数字量的范围是0-27648之间,超过了27648或者小于0276480计算。选择双极性的话数字量的范围为-27648-27648之间。

3.程序段2是利用标准化指令将采集的数据转换至0.0-1.0之间,最后转换成工程单位值。

4.调用子程分配接口参数

西门子和汇川FB块编程模拟量程序,有什么差异?


三、汇川PLC程序设计


(1)在“模块配置”中选择“GL20(GL20S)-4AD”模拟量模块

(2)在“配置”选项卡中设置-10-10V对应的数字量是-20000-20000

(3)在“IO映射”选项卡中定义4个通道的地址,D100开始的4个地址。


(4)新建FB块,并且定义接口变量

从接口变量的类型来看,西门子的是有“In”’inout’“Out”’Static”Temp’等,而汇川PLC是没有“Temp”的,那我们编写的一些中间计算的结果变量存储在“VAR”类别中即可,这个“VAR”其实就是相当于西门子的“Static”变量。

(5)程序编写

网络1是判断单双极性


网络2是先通过标准化指令将模拟量采集的数据缩放至0.0-1.0之间。然后再通过公式:Out:=标准化值*(工程上限-工程下限) 工程下限。


主程序调用FB程序块:

为FB块分配实例



最近有很多小伙伴说要案例书籍,说是手机上看文章不是很方便,我抽时间把55个实战案例全部整理出来,案例都是比较典型的,其中包括气缸控制程序、报警程序、程序框架、运动控制程序封装、模拟量控制变频器、通信等实战案例。需要的可以加我微信:biao467524527,如果加不上可以私信我!