使用局部变量
您可以使用程序编辑器中的局部变量表来为子程序和中断服务程序分别指定变量,如图5--9所示。参见图5-9。局部变量可用于子程序传递参数,它增强了子程序的可移植性和再利用性。
具体参看S7-200系统手册第五章P63
模拟量比例换算
因为A/D(模/数)、D/A(数/模)转换之间的对应关系,S7-200CPU内部用数值表示外部的模拟量信号,两者之间有一定的数学关系。这个关系就是模拟量/数值量的换算关系。
例如,使用一个0-20mA的模拟量信号输入,在S7-200CPU内部,0-20mA对应于数值范围0-32000;对于4-20mA的信号,对应的内部数值为6400-32000。
如果有两个传感器,量程都是0-16MPa,但是一个是0-20mA输出,另一个是4-20mA输出。它们在相同的压力下,变送的模拟量电流大小不同,在S7-200内部的数值表示也不同。显然两者之间存在比例换算关系。模拟量输出的情况也大致相同。
上面谈到的是0-20mA与4-20mA之间换算关系,但模拟量转换的目的显然不是在S7-200CPU中得到一个0-32000之类的数值;对于编程和操作人员来说,得到具体的物理量数值(如压力值、流量值),或者对应物理量占量程的百分比数值要更方便,这是换算的最终目标。
如果使用编程软件Micro/WIN32中的PIDWizard(PID向导)生成PID功能子程序,就不必进行0-20mA与4-20mA信号之间的换算,只需进行简单的设置。
通用比例换算公式
模拟量的输入/输出都可以用下列的通用换算公式换算:
Ov=[(Osh-Osl)*(Iv-Isl)/(Ish-Isl)]+Osl
其中:
Ov:换算结果
Iv:换算对象
Osh:换算结果的高限
Osl:换算结果的低限
Ish:换算对象的高限
Isl:换算对象的低限
应用模拟量模块时,需要根据输入信号的规格设置右下角的DIP开关(Configuration开关)。DIP开关只对输入信号有效,并且对所有的输入通道都是相同的。
EM231、EM235带模拟量输入通道的模块,还分别有电位器用于对输入信号进行校正。EM231和EM235上的Gain(增益)电位器用于调整输入信号和转换数值的放大关系;EM235上的Offset(偏置)用于对输入信号调零。如果没有精确的信号源,请不要调整。详细调整方法请参照《S7-200系统手册》。
表2.EM235
单极性满量程输入分辨率
SW1SW2SW3SW4SW5SW6
ONOFFOFFONOFFON0-50mV12.5μV
OFFONOFFONOFFON0-100mV25μV
ONOFFOFFOFFONON0-500mV125μV
OFFONOFFOFFONON0-1V250μV
ONOFFOFFOFFOFFON0-5V1.25mV
0-20mA5μA
OFFONOFFOFFOFFON0-10V2.5mV
双极性满量程输入分辨率
SW1SW2SW3SW4SW5SW6
ONOFFOFFONOFFOFF±25mV12.5μV
OFFONOFFONOFFOFF±50mV25μV
OFFOFFONONOFFOFF±100mV50μV
ONOFFOFFOFFONOFF±250mV125μV
OFFONOFFOFFONOFF±500mV250μV
OFFOFFONOFFONOFF±1V500μV
ONOFFOFFOFFOFFOFF±2.5V1.25mV
OFFONOFFOFFOFFOFF±5V2.5mV
OFFOFFONOFFOFFOFF±10V5mV