[西门子] PLC对模拟量的处理,以S7-1200PLC为例

[复制链接]
查看44458 | 回复0 | 2024-1-25 14:45:44 | 显示全部楼层 |阅读模式
在工业现场有许多模拟量需要传送给PLC进行处理,比如温度、压力、液位、速度等。这些非电量经过传感器后变成电信号,电信号无非就是两种电压信号和电流信号,常用的电压信号有-10V~10V、0~10V、-5~5V和0~5V等,常用的电流信号有0~20mA和4~20mA。但是PLC本体CPU不能直接处理这些数值连续变化的模拟量,PLC的本体CPU只能处理由0和1组成的数字量,所以需要将这些模拟量变换成数字量后PLC才能进行处理,这就是A/D(模数转换)转换过程。完成A/D转换需要用到A/D转换器,A/D转换器有模拟部分和数字部分构成,模拟部分完成是对模拟信号进行采样、调制,变成一位一位的数据位流。数字部分的作用是将模拟部分得到的数据位流进行滤波除噪,得到较为理想的数字信号。

在介绍S7-1200 PLC处理模拟量之前,先将两个定义解释清楚,第一个是模拟值,第二个是工程量。模拟值是指模拟信号经过模数转换后得到的数值,用16位的二进制补码表示。工程量是指模拟值对应一个物理量,这个物理量可以通过仪器仪表测量得到,比如10V、500r/min、100℃等。工程值和模拟值之间有着比例关系,比如,某压力传感器量程为0~25bar,其输出电流信号为0~20mA,使用西门子模拟量模块将0~20mA变化成0~27648的模拟值。

下面以PLC为S7-1200 CPU1212C DC/DC/DC为例,介绍PLC处理模拟量的过程。下图为CPU1212C DC/DC/DC的硬件接线图。CPU1212C DC/DC/DC本体自带两路模拟量输入,0和2M、1和2M分别为了两路模拟量输入,这两路模拟量输入通道只接受0~10V的电压信号。





如果PLC需要输出模拟量,需要添加模拟量输出模块,PLC本体只能处理数字量,PLC输出数字量经过A/D(数模)转换后就可以得到模拟量,用模拟量驱动执行机构,完成控制目的。CPU1212C DC/DC/DC没有模拟量输出通道,需要添加一个模拟量输出模块SM1232,该模块有两路模拟量输出,输出模拟量的类型有电压信号和电流信号,对于电流信号可以选择0~20mA和4~20mA,对于电压信号显示±10V,这是所表示的含义是只要输出的电压信号范围在-10V~+10V之间均可。









对于PLC采集到的和处理后需要输出模拟量,可以利用“NORM_X标准化”和“SCALE_X缩放”指令进行处理模拟值和工程值,完成模拟值和工程值之间的转换。可以使用“标准化” 指令,通过将输入VALUE中变量的值映射到线性标尺对其进行标准化。可以使用“缩放”指令,通过将输入VALUE的值映射到指定的值范围内,对该值进行缩放。





西门子PLC模拟量转换成模拟值:如果是单极性输入信号(比如0~10V、0~20mA、4~20mA),对应的模拟值的正常数值范围为0~27648;如果是双极性收入信号(比如-10V~10V,-5V~5V)对应的模拟值的正常数值范围为-27648~27648。这里需要注意的是如果实际输入电流是4~20mA,而设置电流范围为0~20mA,则对应的模拟值的正常数值范围为5530~27648。在正常量程之外,通过设置过冲区和溢出区,但检测值溢出时,可启动诊断中断。

下面通过一个例子,说明怎么利用“标准化”和“缩放”指令完成模拟值和工程值之间的转换。CPU1212C DC/DC/DC和SM1232构成的PLC与变频器G120C之间模拟量控制,通过PLC设置想要达到的转速然后其模拟量0~10V通过模拟量输出通道QW96传给变频器的模拟量输入;将变频器的输出频率模拟量0~20mA通过模拟量输出通道传给PLC的模拟量输入通道IW64,并在梯形图中显示输出频率。



(原创文章,转载请联系获取授权)
分享 · 共赢

电气圈,一个有态度的圈子

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则