关于STEP7 模拟量控制 点击:1927 | 回复:3



勇无止境

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 36回
  • 年度积分:0
  • 历史总积分:191
  • 注册:2003年2月22日
发表于:2006-05-04 12:06:00
楼主
请问关于STEP7 模拟量控制的一些细节<温度,电流,电压等>,FC105,106各角的应用方法!



CHENBING68

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 1回
  • 年度积分:0
  • 历史总积分:1
  • 注册:2009年6月06日
发表于:2009-06-06 14:30:51
1楼
请问关于STEP7 模拟量控制的一些细节<温度,电流,电压等>,FC105,106各角的应用方法!

zzwlovett

  • 精华:0帖
  • 求助:0帖
  • 帖子:7帖 | 20回
  • 年度积分:0
  • 历史总积分:104
  • 注册:2008年11月01日
发表于:2009-06-06 15:18:10
2楼

FC105:IN工程单位的实型输入整数类型,如PIW288  LO_LIM工程单位下限  LH_LIM工程单位上限  OUT规范后的值实数类型  BIPOLAR极性转化. RET_VAL错误值返回

FC106:IN欲转换为整型的输入值.OUT输出:如PQW300,其他同上.

拿0-10V电压打个比方.0-10V的电压,对应的转换值为0-27648.模块自动转化,我们不用管.如果我们测的是0-100MPa的压力,那么上限就是100.0下限就是0.0那么OUT就是我们测到的压力.

 

 

tian_0000

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 29回
  • 年度积分:0
  • 历史总积分:236
  • 注册:2010年4月17日
发表于:2011-06-05 21:57:13
3楼
因为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

其程序段实例:



热门招聘
相关主题

官方公众号

智造工程师