PLC模拟量编程实例
零基础学习PLC入门,6个指令完成模拟量程序梯形图(附程序)

零基础学习PLC入门,6个指令完成模拟量程序梯形图(附程序)这一节讲述4-20mA的模拟量信号进入西门子S7-200PLC以后,PLC怎样通过程序把它变成我们想要的实际数值。
虽然这节讲的是西门子PLC的模拟量处理程序,但道理都是一样的,你只要把程序的原理弄明白了,在其他品牌的PLC上应用也是一样的,不管是三菱的还是施耐德的都一样。
所以文章最后我会附上本节所讲的程序的下载方法,有需要的朋友可以自己下载研究。
通过上一节的学习我们知道,模拟量其实就是一个在一定数字范围内连续变化的数值。
这个数字范围绝大多数都是用4-20mA这个电流信号作为标准范围,至于为什么这样用,上一节已经讲的很清楚了,这里不再重复。
接下来看图1。
图1,的左边是一个量程范围为0-10kpa的压力变送器,它的输出电流就是0-10kpa对应4-20mA,所以压力在5kpa时对应的电流就是12mA,我们只要在电路中串联一个数字万用表就能看到电流的读数,然后我们通过这个读数,拿一个计算器通过加减乘除就能算出实际的压力是5kpa。
这就是手动的算法,如果用这种算法去算实际压力值,简直就是太老土了。
这些活只要交给PLC去干就行了,你只要把程序写好PLC就会不知疲倦的去算还不会出错,我们腾出时间看点自己想看的片片多好呢。
那怎么让PLC去算呢?很简单,我们只要做两件事就可以了。
第一,硬件部分,看图1的右边,我们只要在原来接数字万用表的地方,接一个PLC的模拟量输入模块就行了,你没看错,原理就是这样的。
它实际的接线图就是下面的图2。
在图2我们看到压力变送器和PLC的模拟量模块串联在一起,模拟量模块把接收到的4-20mA电流信号经过处理传送给PLC,这样PLC就能通过程序计算出实际的压力值了。
它的内部处理过程如下。
图3,是模拟量信号在PLC内部的处理过程和工作原理,只要能看明白这张图,我下面讲程序时你就能很容易理解了。
其实模拟量模块内部和压力变送器内部一样,都是有一块电路板。
西门子1200PLC模拟量测温案例

基于西门子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转换。
变送器将其输出的标准信号传送给模拟量输入扩展模块后,模拟量输入扩展模块将模拟量信号转化为数字量信号。
主题:S7-200模拟量EM235编程实例

主题:S7-200模拟量EM235编程实例西门子S7-200模拟量编程本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和A/D转换值的转换4、编程实例模拟量扩展模块接线图及模块设置EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。
下面以EM235为例讲解模拟量扩展模块接线图,如图1。
图1图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X +和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。
(后面将详细介绍)EM235的常用技术参数:模拟量输入特性模拟量输入点数4输入范围电压(单极性)0~10V 0~5V 0~1V 0~500mV 0~100mV 0~50mV电压(双极性)±10V ±5V ±2.5V ±1V ±500mV ±250mV ±100mV ±50mV ±25mV电流0~20mA数据字格式双极性全量程范围-32000~+32000单极性全量程范围0~32000分辨率12位A/D转换器模拟量输出特性模拟量输出点数1信号范围电压输出 ±10V电流输出0~20mA数据字格式电压-32000~+32000电流0~32000分辨率电流电压12位电流11位下表说明如何用DIP开关设置EM235扩展模块,开关1到6可选择输入模拟量的单/双极性、增益和衰减。
EM235开关单/双极性选择增益选择衰减选择SW1 SW2 SW3 SW4 SW5 SW6ON 单极性OFF 双极性OFF OFF X1OFF ON X10ON OFF X100ON ON 无效ON OFF OFF 0.8OFF ON OFF 0.4OFF OFF ON 0.2由上表可知,DIP开关SW6决定模拟量输入的单双极性,当SW6为ON时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
PLC模拟量编程实例.

对输入、输出模拟量的PLC编程实例解析对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。
不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。
比如有3个温度传感变送器:(1)、测温范围为 0~200 ,变送器输出信号为4~20ma(2)、测温范围为 0~200 ,变送器输出信号为0~5V(3)、测温范围为-100 ~500 ,变送器输出信号为4~20ma(1)和(2)二个温度传感变送器,测温范围一样,但输出信号不同,(1)和(3)传感变送器输出信号一样,但测温范围不同,这3个传感变送器既使选用相同的模拟量输入模块,其转换公式也是各不相同。
一、转换公式的推导下面选用S7-200的模拟量输入输出模块EM235的参数为依据对上述的3个温度传感器进行转换公式的推导:对于(1)和(3)传感变送器所用的模块,其模拟量输入设置为0~20ma电流信号 ,20ma对应数子量=32000,4 ma对应数字量=6400;对于(2)传感变送器用的模块,其模拟量输入设置为0~5V电压信号,5V 对应数字量=32000,0V对应数字量=0;这3种传感変送器的转换公式该如何推导的呢?这要借助与数学知识帮助,请见下图:上面推导出的(2-1)、(2-2)、(2-3)三式就是对应(1)、(2)、(3)三种温度传感变送器经过模块转换成数字量后再换算为被测量的转换公式。
编程者依据正确的转换公式进行编程,就会获得满意的效果。
二、变送器与模块的连接通常输出4~20ma电流信号的传感变送器,对外输出只有 +、- 二根连线,它需要外接24V电源电压才能工作,如将它的+、- 二根连线分别与24V电源的正负极相连,在被测量正常变化范围内,此回路将产生4~20ma电流,见下左图。
1200plc模拟量输入编程

1200plc模拟量输入编程
编程步骤如下:
1. 创建一个I/O模块对象,用于读取模拟量输入的值。
2. 设置I/O模块的输入信号类型为模拟量输入。
3. 设置I/O模块的输入通道数(根据实际需要设置)。
4. 在主程序的循环中,循环读取模拟量输入的值。
5. 对读取到的模拟量输入值进行处理,根据实际需求进行相应的操作。
可以进行数据转换、判断等操作。
下面是一个简单的1200PLC模拟量输入编程示例:
1. 创建一个I/O模块对象:
VAR
io_module : IO_Module;
2. 设置I/O模块的输入信号类型:
io_module.InputSignalType := AnalogInput;
3. 设置I/O模块的输入通道数:
io_module.NumberOfInputChannels := 4;
4. 在主程序的循环中读取模拟量输入的值:
REPEAT
FOR i := 1 TO io_module.NumberOfInputChannels DO
io_module.ReadAnalogInput(i, value);
// 进行相应的处理操作
END_FOR;
UNTIL stop_condition;
在上述示例中,io_module.ReadAnalogInput() 函数用于读取模拟量输入的值,该函数需要传入通道号和一个变量用于保存读取到的值。
可以根据实际需要在循环内对读取到的值进行相应的处理操作。
注意:上述示例仅供参考,具体的编程实现可能会根据不同PLC型号和编程环境有所不同。
请参考相关设备或编程手册进行详细的编程操作。
西门子S7-300PLC模拟量编程

西门子S7-300PLC模拟量编程西门子S7-300PLC模拟量方面的实例,包含了以下几个方面的要点:1、对变送器进行取值,并进行控制2、对模数功能块FC105 进行调用3、对AI 模块进行设置4、对AI 量程块进行选择这个实例,调试的是一个流量调节回路中,流量变送器输出2-2-MA DC信号到SM331 模拟输入模块,模块将该信号转换成浮点数,然后在程序中调用FC105将该值转换成工程量,我们就可以监视实际工程中的流量值了。
模拟量AI 采用SM311 模块是8x12Bit(8 通道12 位)对应货号是6ES7 331-7KF02-OABO,在模数转化上利用传感器或变送器的,电压或电流取出的值,到AI 模块上进行转换,然后把值传给西门子的CPU 进行处理,从而检测控制传感器的值,如图:模拟量输入模块模拟量输入用于连接电压和电流传感器、热电耦、电阻和热电阻,用来实现PLC 与模拟量过程信号的连接。
模拟量输入模块将从过程发送来的模拟信号转换成供PLC 内部处理用的数字信号。
本次工程用的是SM311 输入模块如下图所示。
该模块具有如下特点:分辨率为9 到15 位+符号位(用于不同的转换时间),可设置不同的测量范围。
通过量程模块可以机械调整电流/电压的基本测量范围。
用STEP 7硬件组态工具可进行微调。
模块把诊断和超限中断发送到可编程控制器的CPU 中。
模块向CPU 发送详细的诊断信息。
模拟量输入模块的接线方式两线制电流和四线制电流都只有两根信号线,它们之间的主要区别在于:两线制电流的两根信号线既要给传感器或者变送器供电,又要提供电流信号;而四线制电流的两根信号线只提供电流信号。
因此,通常提供两线制电流信号的传感器或者变送器是无源的;而提供四线制电流信号的传感器或者变送器是有源的。
因此,当PLC 的模板输入通道设定为连接四线制传感器时,PLC 只从模板通道的端子上采集模拟信号,如图2-3,而当PLC 的模板输入通道设定为连接二线制传感器时,如图2-2,PLC 的模拟输入模板的通道上还要向外输出一个直流24V的电源,以驱动两线制传感器工作。
(完整版)西门子PLC编程模拟量
对输入、输出模拟量的PLC编程的探讨及编程实例解析对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。
不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。
比如有3个温度传感变送器:(1)、测温范围为 0~200,变送器输出信号为4~20ma(2)、测温范围为 0~200,变送器输出信号为0~5V(3)、测温范围为-100~500,变送器输出信号为4~20ma(1)和(2)二个温度传感变送器,测温范围一样,但输出信号不同,(1)和(3)传感变送器输出信号一样,但测温范围不同,这3个传感变送器既使选用相同的模拟量输入模块,其转换公式也是各不相同。
一、转换公式的推导下面选用S7-200的模拟量输入输出模块EM235的参数为依据对上述的3个温度传感器进行转换公式的推导:对于(1)和(3)传感变送器所用的模块,其模拟量输入设置为0~20ma电流信号 ,20ma对应数子量=32000,4 ma对应数字量=6400;对于(2)传感变送器用的模块,其模拟量输入设置为0~5V电压信号,5V 对应数字量=32000,0V对应数字量=0;这3种传感変送器的转换公式该如何推导的呢?这要借助与数学知识帮助,请见下图:上面推导出的(2-1)、(2-2)、(2-3)三式就是对应(1)、(2)、(3)三种温度传感变送器经过模块转换成数字量后再换算为被测量的转换公式。
编程者依据正确的转换公式进行编程,就会获得满意的效果。
二、变送器与模块的连接通常输出4~20ma电流信号的传感变送器,对外输出只有 +、- 二根连线,它需要外接24V电源电压才能工作,如将它的+、- 二根连线分别与24V电源的正负极相连,在被测量正常变化范围内,此回路将产生4~20ma电流,见下左图。
PLC模拟量编程实例。
PLC模拟量编程实例。
本文介绍了PLC编程中模拟量输入输出模块的应用。
相比于使用位变量进行程序控制,模拟量编程更加困难,因为它需要考虑模拟量的转换公式推导和使用。
不同的传感变送器需要使用不同的转换公式进行转换,否则编程结果将是错误的。
本文以S7-200的模拟量输入输出模块EM235为例,对三种温度传感器进行了转换公式的推导。
编程者需要根据正确的转换公式进行编程,才能获得满意的效果。
在进行模拟量编程时,还需要考虑传感变送器与模块的连接。
对于输出4~20ma电流信号的传感变送器,需要外接24V电源电压才能工作。
将其+、-二根连线分别与24V电源的正负极相连,在被测量正常变化范围内,此回路将产生4~20ma电流。
EM235模块第一路模拟输入的框图有三个输入端,其中A+与A-为A/D转换器的+ -输入端,RA与A-之间并接250Ω标准电阻。
A/D转换器是正逻辑电路,它的输入是~5V电压信号,A-为公共端,与PLC的24V电源的负极相连。
总之,模拟量编程需要考虑转换公式和连接方式等因素,编程者需要根据具体情况进行调整。
正确的连接方式是将24V电源的负极接到模块的A-端,将传感器输出的负极接到RA端,然后将RA端与A+端并接一起。
这样,由传感器输出的4~20mA电流会经过RA流入250Ω标准电阻,产生~5V电压并加在A+与A-输入端上。
切记不要从24V正极处断开连接,否则模块将无法正常工作。
对于第二种电压输出的传感器,模块的输入应设置为~5V电压模式,只需将变送器输出负极连接到A+,RA端则不需要连接。
根据转换后变量的精度要求,转换公式编程可以采用整数运算或实数运算。
下面是两种形式的梯形图:A。
整数运算的梯形图:该梯形图是针对第一种温度传感器(测温:~200,输出:4~20mA)按公式(2-1)以整数运算编写的转换程序,可以作为一个子程序进行调用。
B。
实数运算的梯形图:该梯形图是针对一个真空压力变送器(量程:~0.1Mpa,输出:4~20mA)按公式(2-1)以实数运算编写的转换程序,可以作为一个子程序进行调用。
cp1h模拟量编程实例
cp1h模拟量编程实例
抄控器是一种功能强大的设备,常用于工业自动化控制系统中。
它可以接收和处理传感器的模拟量输入,并根据预设的逻辑和条件进行控制操作输出。
以下是一个基于CP1H PLC的模拟量编程实例:
1. 设置输入通道:
使用特定的CP1H模块,设置模拟量输入的通道数量和类型。
通常情况下,CP1H可以配置为4个模拟量输入通道。
2. 配置输入范围:
根据实际的传感器类型和信号范围,设置每个模拟量输入通
道的输入范围。
例如,对于一个0-10V的传感器信号,可以
将输入范围设置为0-10V。
3. 编写模拟量读取程序:
使用PLC编程软件(如CX-Programmer)创建一个模拟量
读取程序,在合适的位置添加一个模拟量输入读取指令。
此指令会读取模拟量输入通道的当前值,并将其存在一个变量中。
4. 操作模拟量输入值:
根据传感器信号的具体含义,对读取到的模拟量输入值进行
逻辑或算术操作。
例如,将模拟量输入值映射到特定的输出范围,或者与其他变量进行比较或计算。
5. 控制输出:
根据逻辑和条件,设置一个或多个输出变量的值。
这些输出变量可以连接到要控制的设备(如驱动器、阀门等),实现自动化控制。
需要注意的是,具体的模拟量编程实例会根据实际的控制要求和PLC设备的规格有所不同。
上述步骤提供了一个基本的框架,可以根据实际情况进行进一步的定制和细化。
西门子PLC300模拟量型号处理程序
西门子PLC300模拟量型号处理程序在西门子PLC控制工业中,模拟量处理是很普片和多种的处理,当仪表采集到的信号通常为mA10~~0等常见的电4、V~0、mA2020信号;在PLC中必须经过转换才能处理。
现在主要针对mA~204模拟量进行编程,希望能对大家20~0、mA有所帮助,在梯形图之后我把STL的代码程序附加出来,方便仿真。
硬件配置什么的我就不作展示,直接进行程序详解:在一个系统中,模拟量存在很多了,因此为了批量处理,最好是建立一个模拟处理功能块来实现;首先插入一个FC功能块,在空白处右键—插入对象—功能将其设置为FC600打开FC600插入变量如下:变量名称可以根据自己需要设置名称;这三段程序主要的功能:因为mA~204在PLC中0在PLC中对应的数值为0~27648,mA20~对应的数值为5330~27648,如果你采集的信号是mA4,那么在程~20序段3中应该将0改为5330,这样输入的模拟量信号就是在采集的信号范围内,到此模拟量信号就被存入TEMP5中了。
将模拟量信号转换为实数,存入TEMP2中将工程量的范围存入到TEMP3中,这里的工程量范围就是你检测仪表上的范围,例如你一个压力表的量程为0~3MPa ,那么你的高限就是3MPa ,你的底限就是0,;TEMP2为西门子处理后的模拟量为实数,除以内部mA 20~0的范围,如果是mA 20~4那就应该除以22318,这部之后得到的是一个百分比,再用这个百分比乘以工程量的范围,便得到模拟量的工程量值,这个工程量值加上工程量底限,便是工程量的实际值。
这个功能块就完成,之后就在OB1或者其它FC块中直接调用,在OB1中调用如下:PIW256为模拟量输入通道,将模拟量的值存入共享数据块DB1中。
同时PLC300也提供自己的功能块FC105和FC106来处理模拟量:如果I0.0等于1,则激活,当信号为双极型的时,则I2.0要为1,当为单极性的话I2.0则为0,MW10为整型值,MD20、MD30为量程,MD40则为模拟量的工程量值,FC106则与他相反,将工程量转化为整形值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对输入、输出模拟量的PLC编程实例解析
对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。
不同的传感变送器,通过不同的模拟量输入输出模块进行转换,其转换公式是不一样的,如果选用的转换公式不对,编出的程序肯定是错误的。
比如有3个温度传感变送器:
(1)、测温范围为 0~200 ,变送器输出信号为4~20ma
(2)、测温范围为 0~200 ,变送器输出信号为0~5V
(3)、测温范围为-100 ~500 ,变送器输出信号为4~20ma
(1)和(2)二个温度传感变送器,测温范围一样,但输出信号不同,(1)和(3)传感变送器输出信号一样,但测温范围不同,这3个传感变送器既使选用相同的模拟量输入模块,其转换公式也是各不相同。
一、转换公式的推导
下面选用S7-200的模拟量输入输出模块EM235的参数为依据对上述的3个温度传感器进行转换公式的推导:
对于(1)和(3)传感变送器所用的模块,其模拟量输入设置为0~20ma电流信号 ,20ma
对应数子量=32000,4 ma对应数字量=6400;
对于(2)传感变送器用的模块,其模拟量输入设置为0~5V电压信号,5V 对应数字量=32000,0V对应数字量=0;
这3种传感変送器的转换公式该如何推导的呢?这要借助与数学知识帮助,请见下图:
上面推导出的(2-1)、(2-2)、(2-3)三式就是对应(1)、(2)、(3)三种温
度传感变送器经过模块转换成数字量后再换算为被测量的转换公式。
编程者依据正确的转换公式进行编程,就会获得满意的效果。
二、变送器与模块的连接
通常输出4~20ma电流信号的传感变送器,对外输出只有 +、- 二根连线,它需要外接24V电源电压才能工作,如将它的+、- 二根连线分别与24V电源的正负极相连,在被测量正常变化范围内,此回路将产生4~20ma电流,见下左图。
下右图粉色虚线框内为EM235 模块第一路模拟输入的框图,它有3个输入端,其A+与A-为A/D转换器的+ - 输入端,RA与A-之间并接250Ω标准电阻。
A/D转换器是正逻辑电路,它的输入是0~5V电压信号,A-为公共端,与PLC的24V电源的负极相连。
那么24V电源、传感变送器、模块的输入口三者应如何连接才是正确的?正确的连线是这样的:将左图电源负极与传感器输出的负极连线断开,将电源的负极接模块的A-端,将传感器输出负极接RA端,RA端与A+端并接一起,这样由传感器负极输出的4~20ma电流由RA流入250Ω标准电阻产生0~5V 电压并加在A+与A-输入端。
切记:不可从左图的24V正极处断开,去接模块的信号输入端,如这样连接,模块是不会正常工作的。
对第(2)种电压输出的传感変送器,模块的输入应设置为0~5V电压模式,连线时,变送器输出负极只连A+,RA端空悬即可。
三、按转换公式编程:
根据转换后变量的精度要求,对转换公式编程有二种形式:1、整数运算,2、实数运算。
请见下面梯形图:
(A)、整数运算的梯形图:
该梯形图是第(1)种温度传感变送器(测温:0~200 ,输出:4~20ma)按公式(2-1)以整数运算编写的转换程序,它可作为一个子程序进行调用。
(B)实数运算的梯形图:
该梯形图是对一个真空压力变送器(量程:0~0.1Mpa,输出:4~20ma)按公式(2-1)以实数运算编写的转换程序,可作为一个子程序进行调用。
四、编程实例及解析
某设备装有4种传感器:
1、真空压力传感器,量程为:0~0.1Mpa;输出给PLC的信号为4~20ma。
2、蒸汽压力传感器,量程为:0~1.0Mpa;输出给PLC的信号为4~20ma。
3、温度传感器,量程为:0~200 度;输出给PLC的信号为4~20ma。
4、电机转速,量程为:0~50转/秒;输出给PLC的信号为4~20ma。
该设备用蒸汽对其罐体加热,并对温度要求按设定的温度值进行温度控制。
控制方式采用自动调整电动阀开门角度的大小来改变加热管道的蒸汽的流量。
电动阀的控制信号为4~20ma,即输入4ma时,电动阀关门,输入20ma时,电动阀门全开。
为此选用了含有4路模拟输入和一路模拟输出的模块EM235。
其4路模拟量输入信号皆设定为0~20ma电流输入模式,一路模拟量输出信号设定为4~20ma电流输出模式。
要求用触摸屏显示这4种信号的时时状态值,并在触摸屏上设置控制的温度参数,
传给PLC使PLC按此值进行温度控制。
由于本文重点是讲述有关模拟量的输入与输出的编程设计,对触摸屏的编程设计不予讲述,只提供触摸屏与PLC的通讯变量:
VD0:为真空压力显示区,由PLC传送给触摸屏。
VD4:为蒸汽压力值显示区,由PLC传送给触摸屏。
VW8:为蒸汽温度值显示区,由PLC传送给触摸屏。
VW10:为电机转速值显示区,由PLC传送给触摸屏。
VW12:设定温度值区,由触摸屏传送给PLC.
一、硬件电路的配置:
(一)、硬件设置
除上述4种传感器外,选用:
1、S7-200PLC一台,型号为:CPU222 CN 。
2、选用EM235模拟量输入模块一块(输入设置:0~20 ma工作模式;输出设置:4~20ma)。
3、变频器一台,型号为PI8100,由PLC控制启停,手动调速。
4、西门子触摸屏一块。
型号:Smart 700
硬件电路图
(二)、对传感器输出的4~20ma转换为显示量程的公式推导:
EM235模拟量输入输出模块,当输入信号为20ma时,对应的数字=32000,故:输入=4ma时,对应的数字量=6400,对应显示量程值=0。
输入20ma时,对应的数字量=32000,对应显示量程值最大值=Hm,其输出量与模块的数字量的变化关系曲线如图一所示:
这4个转换公式,前二种为实数运算,后二种为整数运算,为简化程序,自定义二个功能块分别用于实数与整数运算,而每个功能块在程序运行中又都调用二次,分别计算不同的物理量。
为此功能块设有二个数字输入与一个计算结果输出三个口,以适用于多次调用去计算不同物理量的值。
请见下面编程:
(三)、实数运算功能块(SBR_0):
(四)、整数运算功能快(SBR_1):
(五)、将模块的数字量,按对应公式转换为量程显示值的编程
分析以上梯形图可知,该程序编写的特点:1、选用自定义功能块编写转换公式的子程序,2、对多个转换变量的调用采用每个扫描周期对MB0加1的依次循环调用的方式,这样的编程处理会使编写的程序,简短易读易懂。
(六)、对模拟量输出的编程处理
对罐体温度控制是采用渐近比较的控制方式进行编程。
设计思路是这样的:当罐体的温度低于设定温度10度时,控制加热蒸汽的电动阀门全打开,当罐体的温度低于设定温度7度时,电动阀门打开3/4,当罐体的温度低于设定温度4度时,电动阀门打开1/2,当罐体的温度低于设定温度2度时,电动阀门打开1/4,当罐体的温度低于设定温度1度时,电动阀门打开1/8,当罐体的温度=设定温度时,电动阀门关闭。
(2-1a)式为温度与数字量的关系式,用它可将设定温度值转换为对应的数字量。
如
设定温度Tz=120度,带入(2-1a),可得对应数字量AIW=21760
(3-5)式为数字量与电动阀门打开度α的关系式,可用它输送给模块不同的数字量,来改变模块的模拟量输出值,进而达到改变电动阀门的打开角度。
如:α=1代入(3-5)可得:AIWx=32000 将32000送入给模块的AQW0, 模块的模拟量输出将产生20ma电流输入给电动阀的信号输入端,使阀门全打开。
α=1/2代入(3-5)式可得:AIWx=19200 将19200送入给模块的AQW0, 模块的模拟量输出将产生12ma电流输入给电动阀的信号输入端,使阀门打开1/2。
下面是利用渐近比较法进行温度控制的梯形图:程序解释见网络上的说明
程序中的Q0.0为蒸汽电磁阀的输出信号。
Q0.0=1即蒸汽电磁阀打开,注入蒸汽加热,程序将对罐体内的温度进行控制。
Q0.1 为冷水电磁阀的输出信号。
Q0.1=1即冷水发打开,注入冷水进行降温,此时电动阀门全开,加速降温,程序对降温不做控制处理。
(七)、PLC输入输出的控制编程
输入有3个按钮:分别控制变频器、蒸汽电磁阀、水冷电磁阀的通电与关断:
1、启动按钮接PLC的I0.0,控制变频器的启动与停止,输出口为Q0.3。
2、蒸汽电磁阀控按钮,控制蒸汽电磁阀的打开与关闭,输出口为 Q0.0
3、冷水电磁阀按钮,控制冷水电磁阀的打开与关闭,输出口为 Q0.1
控制方式选用一个按钮控制启停,用RS触发器指令编程。
Q0.0与Q0.1 互锁,即只容许一个电磁阀打开,如蒸汽阀打开时,按水阀控制按钮,水阀不能打开,只有先关断气阀后再按水阀,水阀才能打开。
见下面梯形图:。