(完整版)S7-200模拟量输入输出实例
S7-200模拟量输入输出工程量转换

S7-200模拟量输入输出工程量转换1、基本概念我们生活在一个物质的世界中。
世间所有的物质都包含了化学和物理特性,我们是通过对物质的表观性质来了解和表述物质的自有特性和运动特性。
这些表观性质就是我们常说的质量、温度、速度、压力、电压、电流等用数学语言表述的物理量,在自控领域称为工程量。
这种表述的优点是直观、容易理解。
在电动传感技术出现之前,传统的检测仪器可以直接显示被测量的物理量,其中也包括机械式的电动仪表。
2、标准信号在电动传感器时代,中央控制成为可能,这就需要检测信号的远距离传送。
但是纷繁复杂的物理量信号直接传送会大大降低仪表的适用性。
而且大多传感器属于弱信号型,远距离传送很容易出现衰减、干扰的问题。
因此才出现了二次变送器和标准的电传送信号。
二次变送器的作用就是将传感器的信号放大成为符合工业传输标准的电信号,如0-5V、0-10V或4-20mA(其中用得最多的是4-20mA)。
而变送器通过对放大器电路的零点迁移以及增益调整,可以将标准信号准确的对应于物理量的被检测范围,如0-100℃或-10-100℃等等。
这是用硬件电路对物理量进行数学变换。
中央控制室的仪表将这些电信号驱动机械式的电压表、电流表就能显示被测的物理量。
对于不同的量程范围,只要更换指针后面的刻度盘就可以了。
更换刻度盘不会影响仪表的根本性质,这就给仪表的标准化、通用性和规模化生产带来的无可限量的好处。
3、数字化仪表到了数字化时代,指针式显示表变成了更直观、更精确的数字显示方式。
在数字化仪表中,这种显示方式实际上是用纯数学的方式对标准信号进行逆变换,成为大家习惯的物理量表达方式。
这种变换就是依靠软件做数学运算。
这些运算可能是线性方程,也可能是非线性方程,现在的电脑对这些运算是易如反掌。
4、信号变换中的数学问题信号的变换需要经过以下过程:物理量-传感器信号-标准电信号-A/D转换-数值显示。
声明:为简单起见,我们在此讨论的是线性的信号变换。
西门子S7-200模拟量编程

西门子S7-200模拟量编程本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和A/D转换值的转换4、编程实例模拟量扩展模块接线图及模块设置EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。
下面以EM235为例讲解模拟量扩展模块接线图,如图1。
图1图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。
(后面将详细介绍)量的单/双极性、增益和衰减。
时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
SW4和SW5决定输入模拟量的增益选择,而SW1,SW2,SW3共同决定了模拟量的衰减选择。
6个DIP开关决定了所有的输入设置。
也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。
输入校准模拟量输入模块使用前应进行输入校准。
其实出厂前已经进行了输入校准,如果OFFSET和GAIN电位器已被重新调整,需要重新进行输入校准。
其步骤如下:A、切断模块电源,选择需要的输入范围。
B、接通CPU和模块电源,使模块稳定15分钟。
C、用一个变送器,一个电压源或一个电流源,将零值信号加到一个输入端。
D、读取适当的输入通道在CPU中的测量值。
E、调节OFFSET(偏置)电位计,直到读数为零,或所需要的数字数据值。
F、将一个满刻度值信号接到输入端子中的一个,读出送到CPU的值。
G、调节GAIN(增益)电位计,直到读数为32000或所需要的数字数据值。
H、必要时,重复偏置和增益校准过程。
EM235输入数据字格式下图给出了12位数据值在CPU的模拟量输入字中的位置图2可见,模拟量到数字量转换器(ADC)的12位读数是左对齐的。
S7-200模拟量库使用说明

SCALE(V1.0)库文件的使用
以下公式由计算换算值的图表中得出: Ov = (Osh - Osl) / (Ish - Isl) * (Iv - Isl) + Osl
"Scale" 库的描述: "scale.mwl" 库包括从INTEGER(整数) 到REAL (S_ITR)(实数)、从REAL(实数)to REAL (S_RTR)(实数)及从REAL(实数)到INTEGER (S_RTI)(整数)类型数据的比例换算。
3.2 模拟量输入换算为REAL数据格式的输出值(S_ITR): S_ITR 功能块可用来将模拟量输入信号转换成0.0到1.0之间的标么值( 类型REAL )。
此调用为4-20MA的偏移量,读入模拟量转换为0.0-1.0之间的量程存入到VD100
3.3 REAL格式数据比例换算(S_RTR): S_RTR 功能块可用来转换在范围内的REAL 格式的值(例如将0.0 到1.0输入值转化为百分数输出)。
本子程序调用为前面读取来的0.0-1.0量程转换为百分比0-100数值转出到DV200
3.4转换为INTEGER格式数据的模拟量输出(S_RTI): S_RTI 功能块可用来将REAL 数转换为INTEGER数据类型的模拟量输出。
本子程序调用:把模拟量量程0.0-1.0数字转换成0-20MA的信号输出
,在不同量程下,读取或输出得到不同的结果。
一次函数表达示:Y=KX+b(不过原点),Y=KX(过原点)。
图文详解S7-200smart的模拟量输入输出

图⽂详解S7-200smart的模拟量输⼊输出⼀.模拟量模块接线1.普通模拟量模块接线模拟量类型的模块有三种:普通模拟量模块、RTD模块和TC模块。
普通模拟量模块可以采集标准电流和电压信号。
其中,电流包括:0-20mA、4-20mA两种信号,电压包括:+/-2.5V、+/-5V、+/-10V三种信号。
注意:S7-200 SMART CPU普通模拟量通道值范围是0~27648或-27648~27648。
普通模拟量模块接线端⼦分布如下图1 模拟量模块接线所⽰,每个模拟量通道都有两个接线端。
图1 模拟量模块接线模拟量电流、电压信号根据模拟量仪表或设备线缆个数分成四线制、三线制、两线制三种类型,不同类型的信号其接线⽅式不同。
四线制信号指的是模拟量仪表或设备上信号线和电源线加起来有4根线。
仪表或设备有单独的供电电源,除了两个电源线还有两个信号线。
四线制信号的接线⽅式如下图2模拟量电压/电流四线制接线所⽰。
(电话/微信:178********)图2 模拟量电压/电流四线制接线三线制信号是指仪表或设备上信号线和电源线加起来有3根线,负信号线与供电电源M线为公共线。
三线制信号的接线⽅式如下图3 模拟量电压/电流三线制接线所⽰。
图3 模拟量电压/电流三线制接线两线制信号指的是仪表或设备上信号线和电源线加起来只有两个接线端⼦。
由于S7-200 SMART CPU模拟量模块通道没有供电功能,仪表或设备需要外接24V直流电源。
两线制信号的接线⽅式如下图4 模拟量电压/电流两线制接线所⽰。
图4 模拟量电压/电流两线制接线不使⽤的模拟量通道要将通道的两个信号端短接,接线⽅式如下图5 不使⽤的通道需要短接所⽰。
图5 不使⽤的通道需要短接2. RTD模块接线RTD热电阻温度传感器有两线、三线和四线之分,其中四线传感器测温值是最准确的。
S7-200 SMART EM RTD模块⽀持两线制、三线制和四线制的RTD传感器信号,可以测量PT100、PT1000、Ni100、Ni1000、Cu100等常见的RTD温度传感器,具体型号请查阅《S7-200 SMART系统⼿册》。
s7-200 smart 模拟量模块用法

当我们在实际的应用中需要对当前的温度或是压力进行采集显示的时候,我们需要用到模拟量模块来对模拟量信号进行采集,在这里我们以S7-200smart PLC的EMAE04模拟输入模块为例来说明如何使用这个模块来采集温度或是压力。
例如:现需要实时监控发电机机组的温度,假设变送器输出的信号为0到10V的电压信号,最大温度值为150。
最小温度值为0度。
要完成正确读取实际的温度值,需要进行以下三步操作:第一、正确的接线第二、正确的硬件组态第三、编写正确的程序1、按照变送器提供的信号输出接线方式进行正确的接线,对于EMAE04模块的信号接入如图所示:若变送器为三线制输出的变送器,则接线时,先把变送器的24V 电源接上,变送器上的信号输出接端0+,0-端子接24V电源负。
2、打开S7-200smart的编程软件,打开其系统块对其进行硬件组态。
如图所示:注意:对于信号类型的选择,通道0的设置对通道1的设置也有效,通道2的设置对通道3 也同样有效。
3、编写转换程序S7-200smartPLC来说其最大的数字量为27648。
我们可以根据其得到的数字量的大小转换成我们实际的温度值。
对其转换程序,我们可以使用S7-200中的scaling模拟量转换库,使用库移植的方法把其移植到S7-200smart的软件中。
其移植方法可以参考前面所介绍的内容。
Input :表示需要转换的数字量,即采样所的数字量Ish:换算对象的高限,即最大模拟量所对应的数字量值(27648)Isl: 换算对象的低限,即最小模拟量所对应的数字量值(0)Osh:换算结果的高限,即测量范围最大值Osl:换算结果的底限,即测量范围最小值。
VD100:换算结果所存储的值。
S7-200模拟量模块的使用教程

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~10V0~5V0~1V0~500mV0~100mV0~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可选择输入模拟量的单/双极性、增益和衰减。
时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
SW4和SW5决定输入模拟量的增益选择,而SW1,SW2,SW3共同决定了模拟量的衰减选择。
6个DIP开关决定了所有的输入设置。
也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。
s7-200模拟量实例

PLCcpu224×7编成例1—要求:1、液位机量程0—3米,对应输出信号0—10V,通过电位机进行模拟介入PLC模块的模拟量输入专口。
要求PLC正确读取液位机的输出信号转换成水池的液位。
2、水泵控制具有手动与自动两种模拟。
3、自动模拟:PLC内部根据液位至控制水泵的启动和停止,水泵在液位上升至2米时启动,降到1米时停止。
4、手动模拟:水泵通过按钮手动启动/停止。
5、上升到2.5米时,触发液位超上限报警,故障指示灯常亮。
6、对水泵的运行状态进行检测,当水泵运行信号输出后,检测水泵运行反馈信号。
如水泵运行信号,输出1秒后未收到水泵运行反馈信号,则故障指示灯闪亮,同时复位水泵运行信号。
7、故障状态自保持,当故障原因消除且按下复位按钮事,故障复位。
8、ALW0 输入信号0—10V,对应PLC寄存器数量0—3200D,输入信号5路。
I0.0:自动手动模拟装换开关SA0,当I0.0接通时为自动模拟,I0.0断开时为手动模拟状态I0.1:水泵手动启动按钮SB1,常开点。
I0.2:水泵停止按钮SB2,常闭点。
I0.3:故障复位按钮SB3,常开点。
I0.4:水泵运行状态反馈,正常状态下,水泵运行信号输出后接通,水泵运行信号断开后断开。
Q:输出信号四路,Q0.0:自动模拟指示灯HL0.Q0.1:水泵运行状态指示灯HL1.Q0.2:故障指示灯HL2,超液位报警时常亮,水泵反馈信号异常报警时闪亮。
Q0.3:水泵运行输出KA3。
编写程序:根据“液位机量程0—3米,对应输出信号0—10V”可得出:1米对应3.33V,2米对应6.67V,2.5米对应8.33V,再由“ALW0 输入信号0—10V ,对应PLC寄存器数量0—3200D”可得出:1米对应数字量10667,2米对应数字量21333,2.5米对应数字量26667,按要求,编写如下梯形图:动作原理:1、I0.0自动/ 手动,模拟开关,当改变它的状态时,其前后沿都使Q0.3=0,目的是确保进入自动模拟或手动模拟状态时,水泵都处于停止状态。
(完整版)S7-200模拟量输入输出实例

对输入、输出模拟量的PLC 编程的探讨及编程实例解析3134 人阅读| 4条评论发布于:2011-12-29 9:03:42对于初学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 电流,见下左图。
S7-200模拟量输入输出实例

对输入、输出模拟量的PLC编程的探讨及编程实例解析3134人阅读| 4条评论发布于:2011-12-29 9:03:42 对于初学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电流,见下左图。
s7-200smart模拟量模块用法

当我们在实际的应用中需要对当前的温度或是压力进行采集显示的时候,我们需要用到模拟量模块来对模拟量信号进行采集,在这里我们以S7-200smart PLC的EMAE04模拟输入模块为例来说明如何使用这个模块来采集温度或是压力。
例如:现需要实时监控发电机机组的温度,假设变送器输出的信号为 0 到 10V 的电压信号,最大温度值为 150 。
最小温度值为 0 度。
要完成正确读取实际的温度值,需要进行以下三步操作:第一、正确的接线第二、正确的硬件组态第三、编写正确的程序1、按照变送器提供的信号输出接线方式进行正确的接线,对于 EMAE04 模块的信号接入如图所示:若变送器为三线制输出的变送器,则接线时,先把变送器的24V 电源接上,变送器上的信号输出接端0+ ,0- 端子接 24V 电源负。
2 、打开 S7-200smart 的编程软件,打开其系统块对其进行硬件组态。
如图所示:注意:对于信号类型的选择,通道 0 的设置对通道 1 的设置也有效,通道 2 的设置对通道 3 也同样有效。
3、编写转换程序S7-200smartPLC来说其最大的数字量为27648 。
我们可以根据其得到的数字量的大小转换成我们实际的温度值。
对其转换程序,我们可以使用S7-200 中的 scaling 模拟量转换库,使用库移植的方法把其移植到S7-200smart的软件中。
其移植方法可以参考前面所介绍的内容。
Input : 表示需要转换的数字量,即采样所的数字量Ish :换算对象的高限,即最大模拟量所对应的数字量值(27648 )Isl: 换算对象的低限,即最小模拟量所对应的数字量值(0)Osh :换算结果的高限,即测量范围最大值Osl :换算结果的底限,即测量范围最小值。
VD100 :换算结果所存储的值。
幸福,不能用手去捉摸,只能用心去琢磨,只能静静去体味。
细细地品味了,你就享受到了它温馨的暖,或浓或淡的甜!幸福,其实很简单。
幸福就是和爱人一起漫步,幸福就是吃到妈妈的拿手饭菜,幸福就是孩子在你的脚跟前转悠,幸福就是你能帮父母洗衣洗碗。
S7-200模拟量库使用说明

SCALE(V1.0)库文件的使用
以下公式由计算换算值的图表中得出: Ov = (Osh - Osl) / (Ish - Isl) * (Iv - Isl) + Osl
"Scale" 库的描述: "scale.mwl" 库包括从INTEGER(整数) 到REAL (S_ITR)(实数)、从REAL(实数)to REAL (S_RTR)(实数)及从REAL(实数)到INTEGER (S_RTI)(整数)类型数据的比例换算。
3.2 模拟量输入换算为REAL数据格式的输出值(S_ITR): S_ITR 功能块可用来将模拟量输入信号转换成0.0到1.0之间的标么值( 类型REAL )。
此调用为4-20MA的偏移量,读入模拟量转换为0.0-1.0之间的量程存入到VD100
3.3 REAL格式数据比例换算(S_RTR): S_RTR 功能块可用来转换在范围内的REAL 格式的值(例如将0.0 到1.0输入值转化为百分数输出)。
本子程序调用为前面读取来的0.0-1.0量程转换为百分比0-100数值转出到DV200
3.4转换为INTEGER格式数据的模拟量输出(S_RTI): S_RTI 功能块可用来将REAL 数转换为INTEGER数据类型的模拟量输出。
本子程序调用:把模拟量量程0.0-1.0数字转换成0-20MA的信号输出
,在不同量程下,读取或输出得到不同的结果。
一次函数表达示:Y=KX+b(不过原点),Y=KX(过原点)。
最新S7-200模拟量库使用说明

SCALE(V1.0)库文件的使用以下公式由计算换算值的图表中得出: Ov = (Osh - Osl) / (Ish - Isl) * (Iv - Isl) + Osl"Scale" 库的描述: "scale.mwl" 库包括从INTEGER(整数) 到REAL (S_ITR)(实数)、从REAL(实数)to REAL (S_RTR)(实数)及从REAL(实数)到INTEGER (S_RTI)(整数)类型数据的比例换算。
3.2 模拟量输入换算为REAL数据格式的输出值(S_ITR): S_ITR 功能块可用来将模拟量输入信号转换成0.0到1.0之间的标么值( 类型REAL )。
此调用为4-20MA的偏移量,读入模拟量转换为0.0-1.0之间的量程存入到VD1003.3 REAL格式数据比例换算(S_RTR): S_RTR 功能块可用来转换在范围内的REAL 格式的值(例如将0.0 到1.0输入值转化为百分数输出)。
本子程序调用为前面读取来的0.0-1.0量程转换为百分比0-100数值转出到DV2003.4转换为INTEGER格式数据的模拟量输出(S_RTI): S_RTI 功能块可用来将REAL 数转换为INTEGER数据类型的模拟量输出。
本子程序调用:把模拟量量程0.0-1.0数字转换成0-20MA的信号输出,在不同量程下,读取或输出得到不同的结果。
一次函数表达示:Y=KX+b(不过原点),Y=KX(过原点) 定义:介词是一种用来表示词与词, 词与句之间的关系的词。
在句中不能单独作句字成分。
介词后面一般有名词代词或相当于名词的其他词类,短语或从句作它的宾语。
介词和它的宾语构成介词词组,在句中作状语,表语,补语或介词宾语。
※一、表示时间的介词:1)in , on,at 在……时in表示较长时间,如世纪、朝代、时代、年、季节、月及一般(非特指)的早、中、晚等。
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)以实数运算编写的转换程序,可以作为一个子程序进行调用。
西门子S7-200模拟量编程.doc

西门子S7-200模拟量编程本文以EM235为例讲解S7-200模拟量编程,主要包括以下内容:1、模拟量扩展模块接线图及模块设置2、模拟量扩展模块的寻址3、模拟量值和A/D转换值的转换4、编程实例模拟量扩展模块接线图及模块设置EM235是最常用的模拟量扩展模块,它实现了4路模拟量输入和1路模拟量输出功能。
下面以EM235为例讲解模拟量扩展模块接线图,如图1。
图1图1演示了模拟量扩展模块的接线方法,对于电压信号,按正、负极直接接入X+和X-;对于电流信号,将RX和X+短接后接入电流输入信号的“+”端;未连接传感器的通道要将X+和X-短接。
对于某一模块,只能将输入端同时设置为一种量程和格式,即相同的输入量程和分辨率。
(后面将详细介绍)量的单/双极性、增益和衰减。
时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
SW4和SW5决定输入模拟量的增益选择,而SW1,SW2,SW3共同决定了模拟量的衰减选择。
6个DIP开关决定了所有的输入设置。
也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。
输入校准模拟量输入模块使用前应进行输入校准。
其实出厂前已经进行了输入校准,如果OFFSET和GAIN电位器已被重新调整,需要重新进行输入校准。
其步骤如下:A、切断模块电源,选择需要的输入范围。
B、接通CPU和模块电源,使模块稳定15分钟。
C、用一个变送器,一个电压源或一个电流源,将零值信号加到一个输入端。
D、读取适当的输入通道在CPU中的测量值。
E、调节OFFSET(偏置)电位计,直到读数为零,或所需要的数字数据值。
F、将一个满刻度值信号接到输入端子中的一个,读出送到CPU的值。
G、调节GAIN(增益)电位计,直到读数为32000或所需要的数字数据值。
H、必要时,重复偏置和增益校准过程。
EM235输入数据字格式下图给出了12位数据值在CPU的模拟量输入字中的位置图2可见,模拟量到数字量转换器(ADC)的12位读数是左对齐的。
S7-200 SMART 模拟量应用(1)

D/A模块
A/D模块
[1]模拟量应用说明——模拟量模块说
4
[1]模通道配置的信号类型是相同的,如通道0配置为电压的信号类型,则通道1也自动配 置为电压的信号类型。
[1]模拟量应用说明——控制方式说明
4
(1)开环控制:主要用于对数据的采集(即反馈)和输出的控制(输出多少由用户设定)
干 扰
控制值
控制器
执行器
被控对象
被控制
(2)闭环控制:主要根据反馈值与设定值之间的关系来决定输出的大小是多少。
2
PLC的模拟量功能应用主要有模拟量输入功能应用,模拟量的输出功能应用,模拟量输入功能主要用于多现 场过程信号的采集,模拟量输出可用于对一些接收模拟量信号的设备进行控制。
[1]模拟量应用说明——模拟量模块使用示意图
3
S7-200SMART系列PLC本身并不具备模拟量信号采集和模拟量信号输出功能,需要使用时必须使用模拟量的输 入模块和模拟量的输出模块实现对模拟量信号的采集和模拟量信号的输出。
Ø 模拟量输入/输出模块 EM AM03、EM AM06
使用注意模拟量输入信号及模拟量的对应数字量范围
[1]模拟量应用说明——转换关系说明
4
S7-200SMARTPLC的模拟量模块可以分别接收电压或是电流信号,具体接收那种信号时,要求需要在编程软件 中的系统块中进行相应的组态。在系统块组态中可以设置模块接收的信号类型,信号范围,滤波以及超上下限 报警等。
(完整版)S7-200模拟量详细教程

模拟量比例换算因为A/D (模/数)、(D/A)数/模转换之间的对应关系,S7-200 CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。
这个关系就是模拟量/ 数值量的换算关系。
例如,使用一个0- 20mA的模拟量信号输入,在S7-200 CPU内部,0- 20mA对应于数值范围0- 32000;对于 4 - 20mA 的信号,对应的内部数值为6400 - 32000 。
如果有两个传感器,量程都是0 - 16MPa,但是一个是0 - 20mA输出,另一个是4 - 20mA输出。
它们在相同的压力下,变送的模拟量电流大小不同,在S7-200 内部的数值表示也不同。
显然两者之间存在比例换算关系。
模拟量输出的情况也大致相同。
上面谈到的是0 - 20mA与4 - 20mA之间换算关系,但模拟量转换的目的显然不是在S7-200 CPU中得到一个0 - 32000 之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。
如果使用编程软件Micro/WIN32中的PID Wizard(PID向导)生成PID功能子程序,就不必进行0 - 20mA 与 4 - 20mA 信号之间的换算,只需进行简单的设置。
通用比例换算公式模拟量的输入/输出都可以用下列的通用换算公式换算:Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl其中:Ov: 换算结果Iv: 换算对象Osh: 换算结果的高限Osl: 换算结果的低限Ish: 换算对象的高限Isl: 换算对象的低限它们之间的关系可以图示如下:图 1. 模拟量比例换算关系实用指令库在Step7 - Micro/WIN Programming Tips (Micro/WIN 编程技巧中)的Tip38 就是关于如何实现上述转换的例程。
Micro/WIN编程软件中应用为便于使用,现已将其导出成为”自定义指令库“,可以添加到自己的在这个指令库中,子程序Scale_l_to_R可用来进行模拟量输入到S7-200内部数据的转换;子程序Scale_R_l可用于内部数据到模拟量输出的转换。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对输入、输出模拟量的PLC编程的探讨及编程实例解析
3134人阅读| 4条评论发布于:2011-12-29 9:03:42 对于初学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 互锁,即只容许一个电磁阀打开,如蒸汽阀打开时,按水阀控制按钮,水阀不能打开,只有先关断气阀后再按水阀,水阀才能打开。
见下面梯形图:
本文到此结束,望大家分析探讨,有不对之处请给于指正。
谢谢大家!。