研选课堂
HOME
研选课堂
正文内容
温度采集plc编程 如何用小型PLC实现上百路温度采集?
发布时间 : 2024-11-24
作者 : 小编
访问数量 : 23
扫码分享至微信

如何用小型PLC实现上百路温度采集?

我是刘工,在自动化行业有着15年工作经验。今天和大家分享一下,如果用小型PLC实现上百路的温度采集。

大家都知道小型的PLC,比如西门子SMART 200 PLC,最大只能扩展6台模拟量模块,一台温度PT100模块最大4路,那么整个算下来也才24路温度。如果在现场需要采集上百路温度的话,那么就无法实现,如果用PLC+扩展模块的方案实现,恐怕就需要多个PLC+扩展模块。或者升级到S71200或者S71500PLC甚至S7300,这样在成本上面就有很大压力。

那么,为了解决这个问题,可以选用PLC+Modbus扩展模块的方案来实现。记得在2016年做过一套热处理车间的温控系统,现场需要采集的PT100温度很多,整个工艺算下来有110多路温度需要监控。客户为了节省成本,接受不了高昂的费用。当时,就想到了用Modbus扩展模块的方法去实现。当时用的是鲲航科技研发的16路PT100采集模块,该公司有以太网16路温度模块和485接口的温度模块,最后选择的是485接口的温度模块。一共用了7台,这几年一直稳定运行着。一台16路的价格也比PLC扩展模块4路PT100的还便宜。当时的方案是选择西门子 CPU SR40+7台16路温度模块。PLC有专门的Modbus功能块,直接调用即可使用。下图为Modbus程序实例,需要的朋友可以参考:

Modbus 初始化

Modbus 读取16路温度数据

鲲航科技的16路PT100温度模块

西门子1200PLC模拟量测温案例,看完新手也会使用功能指令

一、任务目标

该任务是功能指令应用案例,使用功能指令有助于我们理清编程思路。本任务使用了标准化及缩放指令,在实际应用中这两个指令应用非常广泛。本任务除了指令的解读之外,还涉及模拟量相关知识。

本任务要求读者掌握以下几个内容:

1.模拟量与数字量的关系

2.温度传感器的接线

3.模拟量与实际物理量的转换

4.标准化指令和缩放指令的使用

二、任务描述

如图3-5-1所示此温度传感器可采集车间温度,传感器(DC0-10V)把测量的数据反馈给PLC,PLC可通过计算得到实际的温度值,以便于在HMI上显示:

图3-5-1 温度采集示意图

三、相关知识

本案例需要了解的知识有模拟量的概念;模拟量与数字量的基本转换关系;温度传感器的接线;涉及编程主要掌握的是标准化及缩放指令的使用。

01、 模拟量控制简介

(1)在工业控制中,某些输入量(温度、压力、液位、流量等)是连续变化的模拟量信号,某些被控对象也需模拟信号控制,因此要求PLC有处理模拟信号的能力。PLC内部执行的均为数字量,因此模拟量处理需要完成有两方面任务:一是将模拟量转换成数字量(A/D转换);二是将数字量转换为模拟量(D/A转换)。

(2)模拟量处理过程如图3-5-2所示。这个过程主要分为以下几个阶段:

图3-5-2 模拟量处理过程

①模拟量信号的采集,由传感器来完成。传感器将非电信号(如温度、压力、液位等)转换成电信号。

注意:此时的信号为非标准信号。

②非标准信号转换成标准信号,此项任务由变送器来完成。传感器输出的非标准电信号输送给变送器,经变送器将非标准电信号转化成标准电信号。根据国际标准,标准信号分为电压型和电流型两种类型。电压型的标准信号DC0-10V和0-5V等;电流型的标准型号为DC0-20MA和DC4-20MA。

③A/D转换。变送器将其输出的标准信号传送给模拟量输入扩展模块后,模拟量输入扩展模块将模拟量信号转化为数字量信号。

02、 温度传感器接线

(1)变送器信号的选择:

①电压型变送器的选用:早期的变送器大多为电压输出型,即测量信号转换成0-5V或0-10V电压输出。这是运算放大器直接输出,信号功率小于0.05W,通过A/D转换电路转换成数字信号供S7-1200PLC读取、控制。但在信号需要远距离传输或使用环境中电网干扰较大的场合,电压输出型变送器的使用受到了极大限制,暴露了抗干扰能力较差、线路损耗导致精度降低等缺点;所以电压信号一般只使用与短距离传输。

②电流型变送的选用:当现场与控制室之间的距离较远,连接电线的电阻较大时,如果用电压信号远传,电线电阻与接收仪表输入电阻的分压,将产生较大的误差,而用恒电流信号远传,只要传送回路不出现分支,回路中的电流将不会随电线长短而改变,从而保证了传送的精度;所以一般远距离传输用的都是电流信号。

(2)温度变送器及传感器,如图3-5-3:

图3-5-3 温度变送器及传感器

(3)变送器的类型及接线

变送器分为四线制、三线制、二线制接线法。这里讨论的“线制”,是以传感器或仪表变送器是否需要外供电源来区别的,而并不是指模块需要几根线或该变送器有几根输出信号线。以下介绍三线制电压型变送器接线方法如图3-5-4:

图3-5-4 温度变送器接线

03、 模拟量与数字量的转换

在实际的工程项目中,读者往往采集温度、压力、流量等信号,那么在程序中如何处理这些模拟量信号呢?换句话说编写模拟量程序的目的是什么呢?编写模拟量程序的目的是将模拟量转换成对应的数字量,最终将数字量转换成工程量(物理量)。

模拟量转换为工程量分为单极性和双极性两种。双极性的-27648对应工程量的最小值,27648对应工程量的最大值。

单极性模拟量分为两种,即4-20mA和0-10V、0-20mA。

(1)第一种为4-20mA,是带有偏移量的。

因为4mA为总量的20%,而20mA转换为数字量为27648,所以4mA对应的数字量为5530。模拟量转换为数字量是S7-1200PLC完成的,读者要在程序中将这些数值转换为工程量。

(2)第二种是没有偏移量的

没有偏移量的是如0-10V、0-20mA等模拟量,27648对应最大工程量,0对应工程量的最小值。

(3)模拟量信号(0-10V、0-5V或0-20mA)在S7-1200PLC CPU内部用0-27648的数值表示(4-20mA对应5530-27648),这两者之间有一定的数学关系,如图3-5-5

图3-5-5 模拟量信号与数字量曲线

04、 标准化指令和缩放指令

(1)标准化指令(NORM_X)

NORM_X指令:使用“NORM_X”指令,可将输入VALUE中变量的值映射到线性标尺对其标准化。使用参数MIN和MAX定义输入VALUE值范围的限值:

注意:可以从指令框“<???>”下拉列表中选择该指令的数据类型。

标准化指令的计算公式是:OUT= (VALUE - MIN) / (MAX - MIN),其中 (0.0 <= OUT <= 1.0),计算原理如图3-5-6

图3-5-6 标准化指令公式对应计算原理图

用一个例子来说明标准化指令(NORM_X)的使用,梯形图如图3-5-7所示:

当I0.0闭合激活标准化指令,要标准化的VALUE存储在MW10中,VALUE的范围是0-27648,将VALUE标准化的输出范围是0.0-1.0。假设MW10中是13824,那么MD12中的标准化的结果是0.5。

图3-5-7 标准化指令示例

(2)缩放指令(SCALE_X)

SCALE_X指令:使用“SCALE_X”指令,可将输入VALUE的值映射到指定的值范围来对其缩放。当执行缩放指令时,输入VALUE的浮点值会缩放到有参数MIN和MAX定义的值范围。缩放结果为整数,存储在OUT输出中。缩放指令参数见下表:

注意:可以从指令框“<???>”下拉列表中选择该指令的数据类型。

缩放指令的计算公式是:OUT= VALUE (MAX - MIN) + MIN,其中 (0.0 <= VALUE <= 1.0),计算原理如图3-5-8;

用一个例子来说明标准化指令(NORM_X)的使用,梯形图如图3-5-8所示,当I0.0闭合激活标准化指令,要标准化的VALUE存储在MD16中,VALUE的范围是0-27648,将VALUE标准化的输出范围是0-27648。假设MD10中是0.5,那么MW20中的标准化的结果是13824。

图3-5-8 缩放指令示例

四、任务实施

本任务的实施步骤主要分为PLC接线、IO地址分配以及程序设计思路:

01、 IO地址分配

输入地址

说明

温度显示地址

说明

IW64

模拟量输入

MD24

温度显示

02、 程序设计思路

1)使用标准化指令,把采集过来的模拟量值进行标准化,标准化后的范围值在0.0-1.0之间。

2)再使用缩放指令,把标准化后的数值进行缩放,缩放后的范围值在温度传感器量程(-50.0-200.0℃)范围之间。

03、 程序设计

五、经验与总结

1、模拟量的换算,主要是要理解模拟量与数字量之间的关系。

2、在本任务中,主要使用的是标准化和缩放指令进行模拟量采集换算,换算的时候要注意数字量及工程量数值的填写,以免换算错误。

3、在上述例子中,温度传感器的量程为-50℃-200℃,所以在缩放指令中需要正确填写数值。

4、如果现场有多个温度传感器,可以使用带参数子程序的方式编写更加方便。

5、如果现场的传感器是4-20mA电流输出的,那么在标准化指令中的MIN管脚填写的数值应该是5530,而不是0。

(技成培训网原创,作者:郭彪,未经授权不得转载,违者必究)

小编推荐:

13种电气计算EXCEL表格,自动生成!从此计算不求人(超实用)

手机版电工专用计算器,1分钟快速搞定复杂的电工计算

6款免安装的超实用电气计算软件,值得下载

相关问答

plc温度采集程序怎么编写?

第一,知道传感器的量程。二,传感器输出4-20MA的接入PLC模拟量模块。三,按照这个公式在PLC内部四则运算即可PLC的读数VW10={[(AIW0-6400)x(传感器最大值-传...

plc如何根据温度曲线编程?

编写PLC曲线需要进行以下步骤:1.确定变量:选择需要控制的变量,例如温度、压力等。2.设计曲线:根据要求设计曲线,如S型曲线、折线曲线等。可以使用PLC软件中自...

plc温度测量方法?

用PLC测量温度三种方法,一种是直接用PT模块或者TC模块,将感温器件PT100或者热电偶等直接接到模块上,直接就可以读取出温度值,第二种是用AD模块加上温度变送器...

三菱plcfx1s如何编程温度模块的数据?

三菱FX1SPLC编程温度模块的数据可以通过使用相应的指令来实现。首先需要在程序中定义温度模块的输入口,然后使用读取模块温度的指令进行读取,并将读取的温度...

PLC每小时记录一次温度度怎么做?

要实现PLC每小时记录一次温度的功能,可以通过以下步骤实现:首先,需要连接温度传感器到PLC的模拟输入端口上,从而读取温度数据。然后,设置一个定时器,每隔...

西门子1200温度模拟量编程实例?

首先,连接PLC并创建一个新的工程。创建一个新的程序块,并将其命名为“Temperature_Control”。在Temperature_Control程序块中,创建两个数据块,一个用于模拟...

三菱plc温度模拟量输入指令编写?

答:根据选用的模拟量模块来确认程序的编写。基本的框架是不变,使用to来写入模块的缓冲存储器的BFM值。使用FROM,来读取模块的BFM值当前值,通道选择等一些你...

温控仪怎么接入plc模拟量?

有的表有输出4-20MA,但它输出的是10V电压,有的温控表的接线端子里面有一个电阻,如没有的要在输出端并联一个250欧标准电阻,如果PLC模拟量的输入是4-20MA,就...

信捷plc温度模块怎么编程?

你好,信捷PLC温度模块编程需要以下步骤:1.首先需要在PLC编程软件中添加温度模块的驱动程序,并设置好通信端口和参数。2.在程序中定义温度模块的输入端口和...

西门子s7-300plc温度编程实例?

西门子S7-300PLC温度编程实例:首先,在PLC中创建一个新的程序块,然后将温度值作为输入变量添加到程序块中。接着,创建一个定时器,并将其设置为所需的加热...

 云浮之窗  飞腾浏览器 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部