S7-200 S7-300 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内部的处理过程和工作原理,只要能看明白这张图,我下面讲程序时你就能很容易理解了。
其实模拟量模块内部和压力变送器内部一样,都是有一块电路板。
(完整版)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编程软件中应用。
S7-300程序设计方法(模拟量控制)本月修正简版

S7-300程序设计方法(模拟量控制)S7-300程序设计方法(模拟量控制)1. 简介本文档旨在介绍S7-300程序设计中的模拟量控制方法。
S7-300是西门子(Siemens)公司生产的一种工业自动化控制器,广泛应用于工业控制领域。
2. 模拟量控制概述模拟量控制是指对连续变化的物理量进行监测和调节的过程。
在工业自动化中,模拟量通常用来表示温度、压力、液位等连续变化的物理量。
S7-300控制器具备良好的模拟量输入和输出接口,可实现对模拟量的监测和调节。
3. S7-300模拟量输入配置在S7-300控制器中,模拟量输入通过配置模拟量输入模块来实现。
下面介绍一般的模拟量输入配置过程:3.1. 选择适当的模拟量输入模块根据需求选择合适的模拟量输入模块,通常有不同的输入通道数和精度可供选择。
3.2. 连接模拟量输入模块将模拟量输入模块与控制器连接。
通常采用总线或直接连接方式。
3.3. 配置模拟量输入模块在S7-300控制器的编程软件中,进行模拟量输入模块的参数配置。
包括输入通道数、量程范围、采样周期等。
3.4. 读取模拟量输入数值在PLC程序中,通过相应的指令读取模拟量输入模块的数值。
可以根据需要进行处理和判断,进一步实现对模拟量的监测和控制。
4. S7-300模拟量输出配置S7-300控制器不仅支持模拟量输入,还支持模拟量输出。
下面介绍一般的模拟量输出配置过程:4.1. 选择适当的模拟量输出模块根据需求选择合适的模拟量输出模块,通常有不同的输出通道数和分辨率可供选择。
4.2. 连接模拟量输出模块将模拟量输出模块与控制器连接。
通常采用总线或直接连接方式,需要注意与输入模块的通道对应。
4.3. 配置模拟量输出模块在S7-300控制器的编程软件中,进行模拟量输出模块的参数配置。
包括输出通道数、输出范围、初始值等。
4.4. 写入模拟量输出数值在PLC程序中,通过相应的指令将需要的模拟量输出数值写入输出模块。
可以根据需要实现对模拟量的精确控制。
西门子S7-300PLC模拟量输入输出

西门子S7-300PLC模拟量输入输出1、基本概况S7-300 的CPU 用16 位的二进制补码表示模拟量值。
其中最高位为符号位S,0 表示正值,1 表示负值,被测值的精度可以调整,取决于模拟量模块的性能和它的设定参数,对于精度小于15 位的模拟量值,低字节中幂项低的位不用。
S7-300 模拟量输入模块可以直接输入电压、电流、电阻、热电偶等信号,而模拟量输出模块可以输出0~10 V、1~5 V、-10 V~10 V、0~20 mA、4~20 mA 等模拟信号。
2、模拟量输入模块SM331 模拟量输入(简称模入(AI))模块SM331 目前有三种规格型号,即8AI 乘以l2 位模块、2AI 乘以l2 位模块和8AI 乘以l6 位模块。
SM331 主要由A/D 转换部件、模拟切换开关、补偿电路、恒流源、光电隔离部件、逻辑电路等组成。
A/D 转换部件是模块的核心,其转换原理采用积分方法,被测模拟量的精度是所设定的积分时间的正函数,也即积分时间越长,被测值的精度越高。
SM331 可选四档积分时间:2.5 ms、16.7 ms、20 ms 和l00 ms,相对应的以位表示的精度为8、12、12 和14。
SM331 与电压型传感器的连接,如图1 所示。
图1 输入模块与电压型传感器的连接SM331 与2 线电流变送器的连接如图2a)所示,与4 线电流变送器的连接如图2b)所示。
4 线电流变送器应有单独的电源。
图2 输入模块与2/4 线变送器电流输入的连接3、模拟量输出模块SM332 模拟量输出(简称模出(AO))模块SM332 目前有三种规格型号,即4AO 乘以l2 位模块、2AO 乘以12 位模块和4AO 乘以l6 位模块,分别为4 通道的12 位模拟量输出模块、2 通道的12 位模拟量输出模块、4 通道的16 位模拟量输出模块。
SM332 可以输出电压,也可以输出电流。
在输出电压时,可以采用2 线回路和4 线回路两种方式与负载相连。
s7-300模拟量(温度、压力、流量)的处理

s7-300模拟量(温度、压力、流量)的处理S7-300中温度、压力及流量的输入值,这样处理为PLC可以处理的数据,并实现数值的显示???匿名回复:调用FC105匿名回复:看AI模块的接线图和D/A转换的规则,自己编程嘛。
匿名回复:PLC可直接处理模拟量输入PIW XXX显示用触摸屏或工控机或智能显示仪表。
匿名回复:显示可以用捷通的DDM4A型PLC专用显示表,直接在表上显示PLC内处理好的模拟量数据(数字信号),不需要再进行模拟量的硬件电压电流转换。
/上有S7-300驱动32块DDM4A显示表的驱动程序例子。
匿名回复:用二点式将模拟量信号标定为有实际意义的值。
如0-10V对应0-100KN即0-27648对应0-10V对应0-100KN。
将模拟量通道数值如PIW30除以2727648再乘以100KN。
即转化为压力值了。
匿名回复:温度有EM231热电阻模块,流量及压力是不是只需要有开、关数据即可,若是这样,只需要有输入输出单元即可,通过编程就行,压力可以通过油压表实现匿名回复:用系统库啊,我吊用FC105的,输入显示上下幅度就行了,好用啊,程序是系统加保护的,要看算法,我有解保护软件。
elexxj@匿名回复:用系统库啊,我吊用FC105的,输入显示上下幅度就行了,好用啊,程序是系统加保护的,要看算法,我有解保护软件。
elexxj@匿名回复:那为大侠有西门子的关于configuring connections方面的资料。
中英都可。
中文最好呵呵。
那里可以下呀。
谢了。
匿名回复:易飞:解保护软件当然可以能解FB41\FB45!明明:不知你要config哪方面的connection?好许我可以帮你。
匿名回复:只要了解接线方法,外部模拟量和内部数值的对应关系,应该很容易,主要是数据的量化。
只要了解接线方法,外部模拟量和内部数值的对应关系,应该很容易,主要是数据的量化。
匿名回复:如果是热电偶,则把数值除10即可,其它调用FC105,注意单极性还是双极性,双极性就是有负值,单极性对应值0~27648,双极性对应-27648~27648匿名回复:压力和流量可以自己做个滤波变标,简单一点就调FC105。
plc模拟量与实际工程量的转换公式与详细程序图

比如有一个压力变送器输入20kp--800kp,输出0—10V信号给PLC,然后PLC把0-10V转换为0-4000数字信号,现在要在PLC程序里实现把20Kp—800KP转换为20-800后直接在触摸屏上显示,可以这样实现,
一种方法调整模拟量增益与偏置,
另外一种方法自己在程序里用公式转换
首先用(4000-0)/(800-20)=5.128,
然后用800乘以5.128等于4102,再用4102-102=4000,
这样就可以得到另外一个公式,以三菱FX为例,当D0为模拟量通道直接写进数范围是0-2000.那么就可以用(D0+K102)/5.128=D1,那么D1就对应20-800,这样就可以直接在触摸屏上显示。
因为在三菱FX-PLC里5.128无法表示,可以把(D0+K102)先乘以K100后在除以K512,这样换算的精度就提高了。
如果还想提高精度可以把(D0+K102)先乘以K1000后,再除以K5128,这样换算的精度就更高了。
这是D0等于0时,0V信号输入,D34等于20。
这是D0等于2000时,5V信号输入,D34等于409。
这是D0等于4000时,10V信号输入,D34等于800。
200 PLC模拟量的AD和DA转换
S7-200 PLC模拟量的A/D和D/A转换以及编程的探讨对于初学PLC编程的人来说,模拟量输入、输出模块的编程要比用位变量进行一般的程序控制难的多,因为它不仅仅是程序编程,而且还涉及到模拟量的转换公式推导与使用的问题。
因为A/D、D/A转换之间的对应关系,S7-200 CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。
这个关系就是模拟量/数字量的换算关系。
例如,当输入模拟量设定为电流信号的输入,在S7-200 CPU内部,电流信号0-20mA对应于数值范围0-32000;但是对于4-20mA的信号,对应的内部数值为6400-32000。
那可能有学员不知道这个6400是怎么算来的?其实这里的数字量和电流是成正比的,只需要按比例去算就可以了。
因为电流信号0-20mA对应于数值范围0-32000,那么1mA 对应的数字量就是32000/20=1600,而4mA对应的数字量就等于4*1600,等于6400。
(这里是以S7-200 PLC来作为举例,对于S7-200 SMART S7-300 400等等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)三种温度传感变送器经过模块转换成数字量后再换算为被测量的转换公式。
PLC s7-300模拟量处理技术
• 微分项 微分项MD与偏差的改变成比例,方便计算取 。 计算微分项的公 式为:
为了避免步骤改变或由于对设定值求导而带来的输出变化,对此 公变量式的进改行变修,改而,不假计定算设偏定差值的为改常变量,(S计Pn算=S公P式n-1)可,以因改此进将为计:算过程
其中: Mn
MPn
MIn
MDn • 比例项
为采样时刻n的回路输出计算值 为采样时刻n的回路输出比例项 为采样时刻n的回路输出积分项 为采样时刻n的回路输出微分项
比计例算项取MKpP=是KcP。IDC回PU路采的用比的例计系算数比(K例p)项及的偏公差式(e为)的:乘积,为了方便
其中:
MPn Kc SPn PVn
PQW ... PQW ... ::: PQW ...
CPU
: : : : : : L PIW 304
......................................
T PQW 320 :
1 量程卡
2 S7-300模拟量模块的寻址
机架 3 电源 IM
640 656 672
模块 (接收)
超上限 超上界
额定范围
超下界 超下限
>=32767
32511 :
27649
27648 :
0 :
- 6912
- 6913 : : :
- 27648
- 27649 :
- 32512
<=- 32513
0
11.7589 :
10.0004
10.0000 : 0 0
0
5.8794 :
5.0002
5.0000 :
23.515 :
20.0007
S7-300程序设计方法(模拟量控制)简版修正
S7-300程序设计方法(模拟量控制)引言在自动化控制系统中,模拟量控制是一种重要的控制方式。
S7-300是西门子公司开发的一种可编程控制器(PLC),它提供了一种灵活的方式来实现模拟量控制。
本文将介绍如何使用S7-300进行模拟量控制的程序设计方法。
硬件配置,我们需要了解S7-300的硬件配置。
S7-300包括一个或多个CPU,用来执行用户编写的程序。
CPU和其他设备之间通过总线连接,包括输入模块、输出模块和模拟量模块。
在模拟量控制中,模拟量模块用来读取传感器的模拟信号,并输出控制信号给执行器。
编程软件S7-300使用STEP7编程软件进行程序设计。
STEP7提供了一个友好的图形化界面,以及一套丰富的函数库来支持编程。
在开始编程之前,我们需要安装和配置STEP7软件,并连接S7-300 PLC。
程序设计步骤1. 配置模拟量模块:在STEP7软件中,我们需要配置模拟量模块。
这包括设置模块的地质、通道数和其他参数。
配置完成后,我们可以通过函数调用的方式读取模块的模拟信号。
2. 编写读取模拟信号的程序:在STEP7软件中,我们可以使用函数库提供的函数来读取模拟量模块的模拟信号。
这些函数会将模拟信号转换为数字量,以便后续的控制算法使用。
3. 设计控制算法:在STEP7软件中,我们可以使用图形化编程语言来设计控制算法。
控制算法可以包括PID控制器、滤波器和限幅器等。
通过读取模拟信号并对其进行处理,我们可以控制信号,并输出给执行器。
4. 编写输出控制信号的程序:在STEP7软件中,我们可以使用函数库提供的函数来输出控制信号。
这些函数将控制信号转换为模拟输出信号,并输出给执行器。
5. 调试和测试:在完成程序设计后,我们需要进行调试和测试。
我们可以使用STEP7软件提供的在线模拟功能来模拟真实的输入和输出信号,并进行调试和测试。
本文介绍了在S7-300上进行模拟量控制的程序设计方法。
通过配置模拟量模块、编写读取模拟信号的程序、设计控制算法和编写输出控制信号的程序,我们可以实现灵活且高效的模拟量控制。
S7-300_PLC模拟量处理
688 to 702 560 to 574 432 to 446 304 to 318 7
704 to 718 576 to 590 448 to 462 320 to 334 8
720 to 734 592 to 606 464 to 478 336 to 350 9
736 to 750 608 to 622 480 to 494 352 to 366 10
80 40
* *
* *
* *
* *
* *
* *
* *
* *
*
10
位的 11 分辨率 + 符号 12 13 14 15
32
16 8 4 2 1
20
10 8 4 2 1
*
* * * * * *
*
* * * * *
*
* * * * *
*
* * * * *
*
* * * * *
*
* * * * *
*
* * * * *
超下界
- 27649 : - 32512 <=- 32513
超下限
模拟量处理
模拟量模块的用途
生产过程
物理量 标准的模拟 信号
模拟量输入模块
CPU
: : : : : : L PIW 304
结果 存储器 PIW ... PIW ... ::: PIW ...
传感器
• • • • • • • 压力 温度 流量 速度 pH 值 粘性 等
MR 模块
ADC
变送器
± 500mV ± 1V ± 5V ± 10V ± 20mA 4...20mA 等
模拟量输出模块
物理量
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
已知模拟量通道数据值,计算模拟量输入值及对应工程量 输入类型 描述 代码 4-20mA 0-20mA
换算结果
工程量
换算结果
数据字
换算对象
工程量范围
输入类型范围
数据字范围
换算结果的高限 换算结果的低限 换算结果的高限 换算结果的低限 换算对象的高限 换算对象的低限
Ov2 20.0000 20.0000
Ov1 100.0000 100.0000
Iv 32000.00 27648.00
Osh1 100.00 100.00
Osl1 0.00 0.00
Osh2 20.00 20.00
Osl2 4.00 4.00
Ish 32000.00 27648.00
Isl 6400.00 0.00
已知工程量显示值,计算模拟量输入及对应的数据值 输入类型 数据字 工程量 工程量范围 输入类型范围 数据字范围
输入类型范围
数据字范围
换算结果的高限 换算结果的低限 换算结果的高限 换算结果的低限 换算对象的高限 换算对象的低限
Ov1 100.0000 100.0000
Iv 32000.00 27648.00
Ov2 20.0000 20.0000
Osh1 100.00 100.00
Osl1 0.00 0.00
用途:已知模拟量输入值(如检测到的电流值)、模拟量通道读数、工程值其中的一项,计算出另外两项的值。 使用说明:配置好EFGHIJ列,在D列输入数值,BC列自动计算出对应的数值。
模拟量的输入/输出都可以用下列的通用换算公式换算: Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl 其中: Ov:换算结果 Iv:换算对象 Osh:换算结果的高限 Osl:换算结果的低限 Ish:换算对象的高限 Isl:换算对象的低限
Osl1 0.00 0.00
Osh2 20.00 20.00
Osl2 4.00 4.00
Ish 32000.00 27648.00
Isl 6400.00 0.00
已知模拟量输入值,计算对应的数据值和工程量 工程量 描述 代码 4-20mA 0-20mA
换算结果
数据字
换算对象
输入类型
换算结果
工程量范围
描述 代码 4-20mA 0-20mA
换算结果
换算对象
换算结果
换算结果的高限 换算结果的低限 换算结果的高限 换算结果的低限 换算对象的高限 换算对象的低限
Ov2 20.0000 20.0000
Iv 32000.00 27648.00
Ov1 100.0000 100.0000
Osh1 100.00 100.00
Osh2 20.00 20.00
Osl2 4.00 4.00
Ish 32000.00 27648.00
Isl 64