首页 历史故事模拟量输入及转换处理方法

模拟量输入及转换处理方法

【摘要】:20 mA等,这些标准的模拟信号将接到模拟量输入模块上。PLC为数字控制器,必须把模拟值转换为数字量,才能被CPU处理,模拟量输入模块中的A/D转换器用来实现转换功能。图9-4 SM1234模块属性对话框的“模拟输入”项2.模拟量模块的分辨率由前面可以看出,模拟量模块的分辨率是不同的,从8位到16位都有可能。

工业生产过程中,存在着大量的连续变化的信号(模拟量信号),例如温度、压力、流量、位移、速度、旋转速度、pH值、粘度等。通常先用各种传感器将这些连续变化的物理量变换成电压或电流信号,然后再将这些信号接到适当的模拟量输入模块的接线端上,经过块内的模/数(A/D)转换器,最后将数据传入到PLC内部。同时,也存在着各种各样的由模拟信号控制的执行设备,如变频器阀门等,通常先在PLC内部计算出相应的运算结果,然后通过模拟量输出模块内部的数/模(D/A)转换器将数字转换为现场执行设备可以使用的连续信号,从而使现场执行设备按照要求的动作运动。模拟量输入/输出示意图如图9-2所示。

978-7-111-34922-8-Chapter09-2.jpg

图9-2 模拟量输入/输出示意图

图9-2中,传感器利用线性膨胀、角度扭转或电导率变化等原理来测量物理量的变化。变送器将传感器检测到的变化量转换为标准的模拟信号,如±500 mV、±10 V、±20 mA、4…20 mA等,这些标准的模拟信号将接到模拟量输入模块上。PLC为数字控制器,必须把模拟值转换为数字量,才能被CPU处理,模拟量输入模块中的A/D转换器用来实现转换功能。A/D转换是顺序执行的,即每个模拟通道上的输入信号是轮流被转换的。A/D转换的结果存在结果存储器IW中,并一直保持到被一个新的转换值所覆盖。

用户程序计算出的模拟量的数值存储在存储器QW中,该数值由模拟量输出模块中的D/A转换器转换为标准的模拟信号,控制连接到模拟量输出模块上的采用标准模拟量输入信号的模拟执行器。

1.模拟量模块的配置

S7-1200 PLC自带模拟量,另外还有模拟量模块可供选用。下面介绍模拟量的硬件组态

通常每个模拟量模块或通道可以测量不同的信号类型和范围,要参考硬件手册正确地进行接线,以免损坏模块。

硬件接线设定了模拟量模块的测量类型和范围后,还需要在STEP 7 Basic软件中对模块进行参数设定。必须在CPU为“停止”模式时才能设置参数,且需要将参数进行下载。当CPU由“停止”模式转换为“运行”模式后,CPU即将设定的参数传送到每个模拟量模块中。

在项目视图中打开“设备配置”,单击选中模拟量模块,此处以模拟量输入/输出模块SM1234 AI4×13/AO2×14 Bit为例,模拟量模块的属性对话框如图9-3所示。其中,包含“常规”、“模拟输入”和“模拟输出”几个选项,“常规”项给出了该模块的描述、名称、订货号和注释等,“IO地址/硬件标识符”项给出了输入/输出通道的地址,可以自定义通道地址。

978-7-111-34922-8-Chapter09-3.jpg

图9-3 模拟量模块的属性对话框

“模拟输入”项中,根据模块类型及控制要求可以设置用于降低噪声的积分时间、滤波时间以及启用“上溢诊断”和“下溢诊断”等。更重要的是在此设置模拟量的测量类型和范围,SM1234模块所能测量的各种模拟输入量类型如图9-4所示,此处设置要与实际变送器量程相符。

978-7-111-34922-8-Chapter09-4.jpg

图9-4 SM1234模块属性对话框的“模拟输入”项

2.模拟量模块的分辨率

由前面可以看出,模拟量模块的分辨率是不同的,从8位到16位都有可能。如果模拟量模块的分辨率小于15位,则模拟量写入累加器时向左对齐,不用的位用“0”填充,如表9-1所示。这种表达方式使得当更换同类型模块时,不会因为分辨率的不同而导致转换值的不同,无需调整程序。

3.模拟量规格化

一个模拟量输入信号在PLC内部已经转换为一个数,而通常我们希望得到该模拟量输入对应的具体的物理量数值(如压力值、流量值等)或对应的物理量占量程的百分比数值等,这就需要对模拟量输入的数值进行转换,这称为模拟量的规格化(SCALING)。

表9-1 模拟量的表达方式和测量值的分辨率

978-7-111-34922-8-Chapter09-5.jpg

不同的模拟量输入信号对应的数值是有差异的,表9-2所示为不同的电压、电流、电阻或温度输入信号对应的数值关系。此处仅选取部分典型信号作为示意,具体对应关系请查看硬件手册。

表9-2 不同的电压、电流、电阻或温度输入信号对应的数值关系

978-7-111-34922-8-Chapter09-6.jpg

由表9-1可以看出,额定范围内的模拟量输入信号双极性对应的数值范围为±27648,如±10 V对应±27648并呈线性关系,单极性信号对应数值范围为0~24648,如0~10 V、4~20 mA、0~300Ω等都对应0~27648;而对于Pt100测温范围-200~850℃,其对应的数值范围为-2000~8500,即10倍关系。

对于上面的各种模拟量输入信号的对应关系,需要编写相应的处理程序来将PLC内部的数值转换为对应的实际工程量(如温度、压力)的值,因为工艺要求是基于具体的工程量而来的,例如“当压力大于3.5 MPa时打开排气阀”,如果不进行模拟量转换,就无法知道当前的0~27648范围的这个数值对应的压力到底是多少,编程实现也就无从谈起了。

例如,假设某温度传感器的输入信号范围为-10~100℃,输出信号为4~20 mA,模拟量输入模块将4~20 mA的电流信号转换为0~27648的数字量,设转换后得到的数字为N,容易获得对应的实际温度值计算公式为

978-7-111-34922-8-Chapter09-7.jpg

模拟输出量的分析过程与模拟输入量刚好相反,PLC运算的工程量要转换为一个0~27648或±27648的数,再经D/A转换变为连续的电压电流信号,数值和执行器量程的对应关系如表9-3所示。

表9-3 不同的数值对应的输出电压、电流关系

978-7-111-34922-8-Chapter09-8.jpg