s7200模拟量编程详解
S7-200模拟量编程实例
程序段 1模拟量输入AIW0减去6400,转换为实数(由于没有直接将整数转换为实数的指令,故先将其转换为双整数,再转换为实数)SUB_I ENO EN OUT IN1IN2I_DI ENO EN OUT IN DI_R ENO EN OUT IN Always_OnAIW0+6400VW0VW0VD4VD4VD8符号地址注释Always_On SM0.0始终接通模拟量输入对应的上限32000减去下限6400,转换为实数;实际温度的上限100度减去下限0度,转换为实数;当然此两步转换可以直接计算出来,这里主要想演示指令的使用SUB_I ENO EN OUT IN1IN2I_DI ENO EN OUT IN DI_R ENO EN OUT IN SUB_I ENO EN OUT IN1IN2I_DI ENO EN OUT IN DI_R ENO EN OUT IN Always_On+32000+6400VW2VW2VD12VD12VD12+1000VW16VW16VD20VD20VD20符号地址注释Always_On SM0.0始终接通实现公式,最终的模拟量转换值存放于VD32中DIV_R ENO ENOUT IN1IN2MUL_RENO ENOUT IN1IN2ADD_RENO ENOUT IN1IN2Always_OnVD8VD12VD24VD24VD20VD28VD280.0VD32符号地址注释Always_OnSM0.0始终接通程序段 4模拟量输入:也可以直接调用库文件的模拟量输入块设置好对应参数就可以了,这里以0~100的量程4~20mA输入为例,输出保存到VD300寄存器。
Scale_I_to_R ENOutput InputIshIslOshOsl Always_OnAIW0320006400VD300100.00.0符号地址注释Always_On SM0.0始终接通模拟量输出:原理同上,只是具体参数倒过来。
主题:S7-200模拟量EM235编程实例
主题:S7-200模拟量EM235编程实例西门子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~10V 0~5V 0~1V 0~500mV 0~100mV 0~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可选择输入模拟量的单/双极性、增益和衰减。
EM235开关单/双极性选择增益选择衰减选择SW1 SW2 SW3 SW4 SW5 SW6ON 单极性OFF 双极性OFF OFF X1OFF ON X10ON OFF X100ON ON 无效ON OFF OFF 0.8OFF ON OFF 0.4OFF OFF ON 0.2由上表可知,DIP开关SW6决定模拟量输入的单双极性,当SW6为ON时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
S7200 模拟量编程
模拟量编程模拟量扩展模块S7-200CPU要附加模拟量扩展模块才能实现模拟量输入/输出的功能。
普通模拟量模块有:•EM231:4通道电流/电压输入模块;配置拨码开关。
其中使用开关3,4,5来选择模拟量输入范围,使用开关1,2来选择电流输入模式(只有通道6和7可以用作电流输入)。
8输入的EM231模块只有第6、7两通道可以用做电流输入,使用拨码开关1、2对其进行设置:当开关1为“ON”时,通道6用做电流输入;开关2为“ON”时,通道7用做电流输入。
反之,当1、2开关为“OFF”时,6、7通道用做电压输入。
表2.新EM2318模拟量输入配置开关表•EM232:2通道电流/电压输出模块;•EM235:4通道电流/电压输入,1通道电流/电压输出。
温度测量型模块有:•EM231TC:4通道热电偶输入模块;•EM231RTD:2通道热电阻输入模块。
有一款新产品CPU224XP在CPU本体上集成了简单的模拟量I/O通道,性能不如模拟量模块。
将模拟量传感器信号连接到S7-200模拟量输入模块(EM231,EM235)模拟量输入模块可以通过DIP拨码开关设置为不同的测量方法。
开关的设置应用于整个模块,一个模块只能设置为一种测量范围。
(注:开关设置只有在重新上电后才能生效)DIP拨码开关的具体设置请参照《S7-200系统手册》。
输入阻抗与连接有关:电压测量时,输入是高阻抗为10MOhm;电流测量时,需要将Rx和x短接,阻抗降到250Ohm。
下列各图是各种传感器连接到S7-200模拟量输入模块的示例:1.四线制-外供电-电流型信号接线2.二线制-电流测量接线图中的L+和M属于为模拟量模块供电的CPU传感器电源。
如果使用其他外接电源,只要用相应电源的输出端取代上图中的L+和M,而且要使其M和为模块供电的M连接起来,如图3。
图3.三线制电流信号测量接线图4.四线制电压信号测量为了防止模拟量模块因短路而损坏,可以在传感器回路中串入一个750Ohm电阻。
西门子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-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模拟量电压/电流四线制接线所示。
图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模拟量编程手册-推荐下载
西门子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~10V 0~5V 0~1V0~500mV 0~100mV 0~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的模拟量编程说明(易懂)
西门子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模拟量编程
返回本节
1.2.3 乘法
1. 整数乘法
• *I,整数乘法指令。使能输入有 效时,将两个单字长(16位)的 符号整数IN1和IN2相乘,产生一 个16位整数结果OUT。
指令格式: 指令格式:*I *I 例:
IN1,OUT , VW0,AC0 ,
2. 完全整数乘法
• MUL,完全整数乘法指令。使能输入有效时,将两个单字长 (16位)的符号整数IN1和IN2相乘,产生一个32位双整数结 果OUT。 • 在LAD和FBD中,以指令盒形式编程,执行结果: IN1*IN2=OUT。 • OUT的寻址范围:VD、ID、QD、MD、SD、SMD、LD、 AC、*VD、*AC、*LD。 • 本指 令影响的特 殊存储器位 :SM1.0(零 ); SM1.1( 溢 出);SM1.2(负);SM1.3(被0除)。 • 指令格式: MUL IN1,OUT • 例: MUL AC0,VD10
• 例: DIV VW10, VD100 • /I VW20, VW200 • 两条指令的编程及执行情况比较如图1.26所示。
LD DIV I0.0 //使能输入端 VW10, VD100 //完全除法 // VW102/VW10=VD100
LD /I
I0.1
//使能输入端
VW20, VW200 //整数除法 //VW200/VW20=VW200
wwwplcworldcn5mv10voffoffoffoffoff25mv5voffoffoffoffoff125mv25voffoffoffoffoff500v1voffoffoff250v500offoffoffoff125v250mvoffoffoffoff50v100mvoffoffoffoff25v50mvoffoffoff125v25mvoffoffoffoffsw6sw5sw4sw3sw2sw1分辨率满量程输入双极性25mv0到10voffoffoffoffoffoffoff125mv0到5voffoffoffoff250v0到1voffoffoff125ua0到500mvoffoffoff25v0到100mvoff125v0到50mvoffoffsw6sw5sw4sw3sw2sw1分辨率满量程输入单极性wwwplcworldcn电压12位电流11位分辨率电流电压3200032000电流032000数据字格式电压输出10v电流输出020ma信号范围模拟量输出点数模拟量输出特性12位ad转换器分辨率双极性全量程范围3200032000单极性全量程范围032000数据字格式电流020ma电压双极性10v5v25v1v500mv250mv100mv50mv25mv电压单极性010v05v01v500mv0100mv050mv输入范围模拟量输入点数em235模拟量输入特性wwwplcworldcn注
(完整版)西门子PLC编程模拟量
对输入、输出模拟量的PLC编程的探讨及编程实例解析对于初学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模拟量EM235编程实例
主题:S7-200模拟量EM235编程实例西门子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±±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可选择输入模拟量的单/双极性、增益和衰减。
EM235开关单/双极性选择增益选择衰减选择SW1 SW2 SW3 SW4 SW5 SW6ON 单极性?OFF 双极性?OFF OFF X1 ?OFF ON X10 ?ON OFF X100 ?ON ON 无效?ON OFF OFFOFF ON OFFOFF OFF ON由上表可知,DIP开关SW6决定模拟量输入的单双极性,当SW6为ON时,模拟量输入为单极性输入,SW6为OFF时,模拟量输入为双极性输入。
(完整版)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电流,见下左图。
西门子200模拟量编程
本文以西门子200的例。
我们在工程中经常要做工程量的转换,如何理解呢,请看下图:
A是连续的一条直线,代表外部输入进来的电信号,D是经过模数转换后的数字量,画一条D的虚线。
图1 模拟量处理平行线
根据平行线上任何两点比值相等原理,得出
(A-A0)/(Am-A0)=(D-D0)/(Dm-D0) 公式(1)由公式(2)推倒出
A-A0 =(D-D0)*(Am-A0)/(Dm-D0)公式(2)
A=(D-D0)×(Am-A0)/(Dm-D0)+A0 公式(3)工程上常用4~20mA信号,那么采集到的范围是6400~32000(4*1600=6400,1mA对应的整数是32000/20=1600)。
某温度传感器,0~100℃与4—20mA相对应,以T表示温度值,AIW0为PLC模拟量采样值,则根据上式直接代入得出:T=(AIW0-6400)×(100-0)/(32000-6400)+0=(AIW0-6400)/256
可以用T 直接显示温度值。
同理,如果压力变送器的量程是0-1.0MPa,那么得到压力(MPa):
P=(AIW0-6400)×(1.0-0)/(32000-6400)+0=(AIW0-6400)/25600 需要注意的是,我们在处理这个方程式运算的时候,要用一个统一的格式,浮点数不能和整数运算。
另外,为了得到较精度的结果,推荐使用浮点数运算。
0-100℃量程温度变送器程序示例,如图2:
图2 0-100℃量程温度变送器程序。
(完整版)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模拟量详细教程
模拟量比例换算因为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)。
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~1V
0~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开关决定了所有的输入设置。
也就是说开关的设置应用于整个模块,开关设置也只有在重新上电后才能生效。
输入校准
模拟量输入模块使用前应进行输入校准。
其实出厂前已经进行了输入校准,如果OFFSET和GAIN电位器已被重新调整,需要重新进行输入校准。
其步骤如下:
A、切断模块电源,选择需要的输入范围。
B、接通CPU和模块电源,使模块稳定15分钟。
C、用一个变送器,一个电压源或一个电流源,将零值信号加到一个输入端。
D、读取适当的输入通道在CPU中的测量值。
E、调节OFFSET(偏置)电位计,直到读数为零,或所需要的数字数据值。
F、将一个满刻度值信号接到输入端子中的一个,读出送到CPU的值。
G、调节GAIN(增益)电位计,直到读数为32000或所需要的数字数据值。
H、必要时,重复偏置和增益校准过程。
EM235输入数据字格式
下图给出了12位数据值在CPU的模拟量输入字中的位置
图2
可见,模拟量到数字量转换器(ADC)的12位读数是左对齐的。
最高有效位是符号位,0表示正值。
在单极性格式中,3个连续的0使得模拟量到数字量转换器(ADC)每变化1个单位,数据字则以8个单位变化。
在双极性格式中,4个连续的0使得模拟量到数字量转换器每变化1个单位,数据字则以16为单位变化。
EM235输出数据字格式
图3给出了12位数据值在CPU的模拟量输出字中的位置:
图3
数字量到模拟量转换器(DAC)的12位读数在其输出格式中是左端对齐的,最高有效位是符号位,0表示正值。
模拟量扩展模块的寻址
每个模拟量扩展模块,按扩展模块的先后顺序进行排序,其中,模拟量根据输入、输出不同分别排序。
模拟量的数据格式为一个字长,所以地址必须从偶数字节开始。
例如:AIW0,AIW2,AIW4……、AQW0,AQW2……。
每个模拟量扩展模块至少占两个通道,即使第一个模块只有一个输出AQW0,第二个模块模拟量输出地址也应从AQW4开始寻址,以此类推。
图4演示了CPU224后面依次排列一个4输入/4输出数字量模块,一个8输入数字量模块,一个4模拟输入/1模拟输出模块,一个8输出数字量模块,一个4模拟输入/1模拟输出模块的寻址情况,其中,灰色通道不能使用。
图4
模拟量值和A/D转换值的转换
假设模拟量的标准电信号是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)
编程实例
您可以组建一个小的实例系统演示模拟量编程。
本实例的的CPU是CPU222,仅带一个模拟量扩展模块EM235,该模块的第一个通道连接一块带4—20mA变送输出的温度显示仪表,该仪表的量程设置为0—100度,即0度时输出4mA,100度时输出20mA。
温度显示仪表的铂电阻输入端接入一个220欧姆可调电位器,
简单编程如下:
温度显示值=(AIW0-6400)/256
编译并运行程序,观察程序状态,VW30即为显示的温度值,对照仪表显示值是否一致。
就写这些吧,希望能对您有所帮助,也欢迎您完整转载。