(完整版)S7-200模拟量计算公式

合集下载

S7-200模拟量库使用说明

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(过原点)。

教你几步搞定西门子PLC模拟量计算(附程序)

教你几步搞定西门子PLC模拟量计算(附程序)

教你⼏步搞定西门⼦PLC模拟量计算(附程序)假设模拟量的标准电信号是 A0—Am(如:4—20mA),A/D转换后数值为D0—Dm(如:6400—32000) ,设模拟量的标准电信号是A,A/D转换后的相应数值为D,由于是线性关系,函数关系A=f(D)可以表⽰为数学⽅程:A=(D-D0)×(Am-A0)/(Dm-D0)+A0。

根据该⽅程式,可以⽅便地根据D值计算出A值。

将该⽅程式逆换,得出函数关系D=f(A)可以表⽰为数学⽅程:D=(A-A0)×(Dm-D0)/(Am-A0)+D0。

具体举⼀个实例,以S7-200和4—20mA为例,经A/D转换后,我们得到的数值是 6400—32000,即A0=4,Am=20,D0=6400,Dm=32000 ,代⼊公式,得出:A=(D-6400)×(20-4)/(32000-6400)+4假设该模拟量与AIW0对应,则当AIW0的值为12800时,相应的模拟电信号是6400×16/25600+4=8mA。

⼜如,某温度传感器,-10—60℃与4—20mA相对应,以T表⽰温度值,AIW0为PLC模拟量采样值,则根据上式直接代⼊得出: T=70×(AIW0-6400)/25600-10 可以⽤T 直接显⽰温度值。

模拟量值和A/D转换值的转换理解起来⽐较困难, 该段多读⼏遍, 结合所举例⼦,就会理解。

为了让您⽅便地理解,我们再举⼀个例⼦:某压⼒变送器,当压⼒达到满量程5MPa时,压⼒变送器的输出电流是20mA,AIW0的数值是32000。

可见,每毫安对应的A/D值为32000/20,测得当压⼒为0.1MPa时,压⼒变送器的电流应为4mA,A/D值为(32000/20)×4=6400。

由此得出,AIW0的数值转换为实际压⼒值(单位为KPa)的计算公式为:VW0的值=(AIW0的值-6400)(5000-100)/(32000-6400)+100 (单位:KPa)编程实例您可以组建⼀个⼩的实例系统演⽰模拟量编程。

图文详解S7-200smart的模拟量输入输出

图文详解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系统⼿册》。

200SMART模拟量-100到100

200SMART模拟量-100到100

200SMART模拟量-100到100因为A/D(模/数)、D/A(数/模)转换之间的对应关系,S7-200 SMART CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。

这个关系就是模拟量/数值量的换算关系。

例如,使用一个0 - 20mA的模拟量信号输入,在S7-200 SMART CPU内部,0 - 20mA对应于数值范围0 - 27648;对于4 - 20mA的信号,对应的内部数值为5530 - 27648。

如果有两个传感器,量程都是0 - 16MPa,但是一个是0 - 20mA输出,另一个是4 - 20mA输出。

它们在相同的压力下,变送的模拟量电流大小不同,在S7-200 SMART内部的数值表示也不同。

显然两者之间存在比例换算关系。

模拟量输出的情况也大致相同。

上面谈到的是0 - 20mA与4 - 20mA之间换算关系,但模拟量转换的目的显然不是在S7-200 SMART CPU中得到一个0 - 27648之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。

通用比例换算公式模拟量的输入/输出都可以用下列的通用换算公式换算:Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl其中:Ov:换算结果Iv:换算对象Osh:换算结果的高限Osl:换算结果的低限Ish:换算对象的高限Isl:换算对象的低限它们之间的关系可以图示如下:图1. 模拟量比例换算关系量程转化指令库为便于用户使用,这里提供了量程转化库,用户可以添加到自己的Micro/WIN编程软件中应用。

模拟量比例换算指令库注意:此指令库/程序的和拥有者对于该软件的功能性和兼容性不负任何责任。

使用该软件的风险完全由用户自行承担。

由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

plc模拟量计算公式

plc模拟量计算公式

plc模拟量计算公式LAD方法实现(1)计算公式说明[(IN0-IN1)/(IN2-IN1)]*(IN4-IN3)+IN3•IN0:模拟量输入信号,数据类型为整数•IN1:模拟量信号下限,数据类型为整数•IN2:模拟量信号上限,数据类型为整数•IN3:工程量数值下限,数据类型为实数•IN4:工程量数值上限,数据类型为实数(2)程序编写说明02SCL方法实现(1)计算公式说明[(Raw-Dmin)/(Dmax-Dmin)]*(Emax-Emin)+Emin •Raw:模拟量输入信号,数据类型为整数•Dmin:模拟量信号下限,数据类型为整数•Dmax:模拟量信号上限,数据类型为整数•Emin:工程量数值下限,数据类型为实数•Emax:工程量数值上限,数据类型为实数(二)程序编写说明FUNCTION FC1 : VOID //函数定义VAR_INPUT //输入变量定义Raw,Dmin,Dmax: INT;Emin,Emax: REAL;END_VARVAR_OUTPUT //输出变量定义OutReal: REAL;OutPercentage:REAL;END_VARVAR_TEMP //临时变量定义RawTemp: INT;END_VARBEGINIF (Emin < Emax) AND (Dmin < Dmax) THEN//判断上下限值是否设置合理IF Raw < Dmin THEN RawTemp := Dmin;//输入值超下限直接取下限END_IF;IF Raw > Dmax THEN RawTemp := Dmax;//输出值超上限直接取上限END_IF;IF (Raw >= Dmin) AND (Raw <= Dmax) THEN RawTemp := Raw;//输入正常直接读取输入值END_IF;OutReal := (INT_TO_REAL(RawTemp-Dmin)/INT_TO_REAL(Dmax-Dmin))*(Emax-Emin)+Emin;//数量类型转换和计算公式OutPercentage := (OutReal/(Emax-Emin))*100.0;ELSE //上下限值设置不合理直接输出零OutReal := 0.0;OutPercentage := 0.0;END_IF;END_FUNCTION。

原创 S7-200采集模拟量 求其最大值最小值及平均值算法附程序

原创 S7-200采集模拟量 求其最大值最小值及平均值算法附程序

程序目的:
通过本实例演示怎么定期采集模拟量求其最大值、最小值和平均值
期间用到西门子S7-200的定时中断定时器SMB34 和指针以及循环指令等
程序要求和思路:
提到最大值和最小值,平均值必须设定在一段时间内,或者以确定多少数据
要不就没什么意义
(1)程序分为部分,第一部分采集,第二部分计算最大值最小值及平均值
(2)首先,启动采集信号I0.1,采集时间T40为10S开始计时,同时设定SMB34为每100MS 采集一次并执行,中断程序里把每次采集的模拟量数值放到指针VD1000地址里,每次采集完毕指针移到下一位,10S定时到采集结束,同时分离中断,要求启动采集后,但采集未结束,如果再次启动采集信号I0.1,那么采集从新开始
(3)采集完毕后,用T40完成位控制启动计算程序,用循环指令FOR-NEXT指令在一个周期内计算出要求的各数值
主程序:
中断程序。

plc模拟量输出公式

plc模拟量输出公式

plc模拟量输出公式PLC(可编程逻辑控制器)在工业控制领域可是个相当重要的角色,而模拟量输出公式更是其中的关键一环。

咱们先来说说啥是模拟量。

想象一下,你家里的水龙头,开大一点水就流得多,关小一点水就流得少,这水流的大小变化就是一种模拟量。

在 PLC 的世界里,模拟量也是类似的概念,比如温度、压力、速度等等这些连续变化的量。

而 PLC 要控制这些模拟量的输出,就得依靠特定的公式啦。

一般来说,常见的模拟量输出公式是这样的:输出值 = (输入值 - 输入下限)×(输出上限 - 输出下限)/(输入上限 - 输入下限) + 输出下限这公式看起来有点复杂,咱们来举个例子。

比如说,有一个温度传感器,它的测量范围是 0 - 100 摄氏度,对应的 PLC 模拟量输入值是 0 - 10000。

现在传感器测到的温度是 50 摄氏度,那输入值就是 5000。

如果我们要把这个温度值通过 PLC 输出到一个控制器,这个控制器的接收范围是 4 - 20mA,那按照公式来算:首先,(5000 - 0)×(20 - 4)/(10000 - 0) + 4 ,算出来就是12mA ,这就是 PLC 应该输出的模拟量电流值。

我之前在一个工厂里就碰到过这么个事儿。

厂里的一台设备出了故障,老是温度控制不稳定。

我就去排查问题,发现就是 PLC 模拟量输出这里出了岔子。

按照上面说的公式仔细一核对,原来是输入上限和下限设置错了,导致输出的模拟量电流不对,温度控制自然就乱套啦。

咱们再深入一点说说这个公式里的几个要素。

输入下限和上限,就好比是一个尺子的两端,确定了测量的范围。

输出下限和上限呢,就是 PLC 要控制的目标范围。

这就像是你要把一堆大小不同的苹果按照一定的规则放进不同的篮子里,得先清楚每个篮子能装多大的苹果,然后再根据苹果的大小来分配。

总之,PLC 模拟量输出公式虽然看起来有点头疼,但只要搞清楚每个部分的含义,多做几次计算,再结合实际情况去调试,就能让 PLC乖乖地按照我们的想法来控制那些模拟量啦。

模拟量比例换算

模拟量比例换算

模拟量比例换算因为A/D(模/数)、D/A(数/模)转换之间的对应关系,S7-200 SMART CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。

这个关系就是模拟量/数值量的换算关系。

例如,使用一个0 - 20mA的模拟量信号输入,在S7-200 SMART CPU 内部,0 - 20mA对应于数值范围0 - 27648;对于4 - 20mA的信号,对应的内部数值为5530 - 27648。

如果有两个传感器,量程都是0 - 16MPa,但是一个是0 - 20mA输出,另一个是4 - 20mA输出。

它们在相同的压力下,变送的模拟量电流大小不同,在S7-200 SMART内部的数值表示也不同。

显然两者之间存在比例换算关系。

模拟量输出的情况也大致相同。

上面谈到的是0 - 20mA与4 - 20mA之间换算关系,但模拟量转换的目的显然不是在S7-200 SMART CPU中得到一个0 - 27648之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。

通用比例换算公式模拟量的输入/输出都可以用下列的通用换算公式换算:Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl其中:Ov:换算结果Iv:换算对象Osh:换算结果的高限Osl:换算结果的低限Ish:换算对象的高限Isl:换算对象的低限它们之间的关系可以图示如下:图1. 模拟量比例换算关系量程转化指令库为便于用户使用,这里提供了量程转化库,用户可以添加到自己的Micro/WIN编程软件中应用。

模拟量比例换算指令库注意:此指令库/程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。

使用该软件的风险完全由用户自行承担。

由于它是免费的,所以不提供任何担保,错误纠正和热线支持,用户不必为此联系西门子技术支持与服务部门。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

因为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_I_to_R可用来进行模拟量输入到S7-200内部数据的转换;子程序Scale_R_I可用于内部数据到模拟量输出的转换。

其中scale_I_R程序段例:
将4 - 20mA模拟量输入转换为将内部百分比值转换为4 -
内部百分比值20mA模拟量输出
对于精度要求不高的地方,4-20ma转换成0-20ma 可按比例计算公式 =((ai-4)/16)*20
其程序段实例:。

相关文档
最新文档