PLC程序中模拟量输入信号的处理--控制网



PLC程序中模拟量输入信号的处理
企业:控制网 日期:2005-07-04
领域: 点击数:5504

    随着PLC技术的发展,越来越多的设备中应用到PLC控制器,如中央空调中的恒温恒湿机、冷水机等。在这些设备的应用中,使用了大量的模拟量输入输出信号,来达到温湿度控制。为此,我们在这里以模拟量输入信号(0-20mA和4-20mA)为例,简单介绍以S7-200的模拟量处理方法:
1. 模拟量比例换算
    因为A/D(模/数)、(D/A)数/模转换之间的对应关系,S7-200 CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是模拟量/数值量的换算关系。例如,使用一个0 - 20mA的模拟量信号输入,在S7-200 CPU内部,0 - 20mA对应于数值范围0 - 32000;对于4 - 20mA的信号,对应的内部数值为6400 - 32000。显然两者之间存在比例换算关系。模拟量输出的情况也大致相同。
上面谈到的是0 - 20mA与4 - 20mA之间换算关系,但模拟量转换的目的显然不是在S7-200 CPU中得到一个0 - 32000之类的数值;对于编程得到具体的物理量数值(如温度、湿度、压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。
2.  通用比例换算公式
    模拟量的输入可以用下列的通用换算公式换算:
    Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
    其中:Ov: 换算结果     Iv: 换算对象  Osl: 换算结果的低限
    Ish: 换算对象的高限   Isl: 换算对象的低限
它们之间的关系可以图示如下:


图1. 模拟量比例换算关系



  3.程序的编制
根据1、2两点的分析,在由第二点中的公式可以编制如下用户程序。首先在已存在的程序项目建立子程序,在子程序中添加如下代码:
    LD     SM0.0
    -R     #Osl, #Osh
    -I     #Isl, #Input
    ITD    #Input, #Temp_D
    DTR    #Temp_D, #Temp_R
    *R     #Temp_R, #Osh
    -I     #Isl, #Ish
    ITD    #Ish, #Temp_D
    DTR    #Temp_D, #Temp_R
    /R     #Temp_R, #Osh
    +R     #Osl, #Osh
    MOVR   #Osh, #Output
    在建立了子程序后,在把它定义为库指令后,在以后的编程中可以随时调用该指令应用到不同的控制程序中,使用程序的编制过程简单,同时使增强的程序的可读性。以上的程序已经过实际的应用,同行们可以直接使用。在程序中调用的指令Scal_I_to_R如下图所示。


  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: