关于模拟量的转换如何编程?

我要将变频器中的0-50HZ频率变为PLC中的数字进行监视,公式这样写D=(F-0)×(32000-0)/(50-0)对吗?要在程序里编应该怎么写呀?要输出又应该怎样写呢?最好劳驾能写上注释,谢谢

问题补充:
还想问一下,频率值进入模拟量模块后显示的类型是整数吗?

最佳答案

建议你参考:
 如何对 S7-200 的 CPU224XP 和扩展模块 EM 231, EM 232 及 EM 235 的模拟量值进行比例换算?
 说明:
 扩展模块 EM 231、 EM 232  和 EM 235模拟量的输入输出和 CPU224XP 一样以 word 格式的整数显示,这就需要做转换来确保正确的显示和过程中的应用 。这些转换可通过附件中的下载功能块来完成。下载中包括 转换功能块的 "Scale" 库 和易于理解的例程"Tip038" 。 

 1. 比例换算:
 下列图表显示输入输出值的比例换算。 

 这里对术语 "单极性", "双极性" 和 "20% 偏移" 有解释。这些术语在其他 里非常重要。如STEP 7 Micro/Win - PID 向导(工具 > 指令向导 > PID 控制器)
 单极性比例换算只有正的或负的值范围 (图 01 显示了一个模拟量输入值 0到32000的例子)。 

 
 图 01 

 在带有20%偏移的单极性的例子中, 最低限值是最大限值的 20% 。 (图 02 显示了一个模拟量输入值6400到  32000的例子)。 

 
 图 02 

 双极性比例换算有正的和负的值范围 (图 03 显示了一个 模拟量输入值 -32000 到 32000的例子)。 

 
 图 03 

 下表是对一些缩写地解释:
   参数 描述 
 Ov 换算结果 (输出值) 
 Iv 模拟量值 (输入值) 
 Osh 换算输出值的高限  (换算输出高限)
  
 Osl 换算输出值的低限   (换算输出低限) 
 Ish 换算输入值的高限  (换算输入高限) 
 Isl 换算输入值的低限  (换算输入低限) 
 表 01 

 2. 公式
 以下公式由计算换算值的图表中得出: 

 Ov = (Osh - Osl) / (Ish - Isl) * (Iv - Isl) + Osl 

 3. 库 

 3.1 "Scale" 库地描述
 "scale.mwl" 库包括从  INTEGER 到 REAL (S_ITR)、从REAL to REAL (S_RTR)及从REAL 到 INTEGER (S_RTI)类型数据的比例换算。 

 
 图 04 

 3.2 模拟量输入换算为REAL数据格式的输出值 (S_ITR):
 S_ITR 功能块可用来将模拟量输入信号转换成0.0到1.0之间的标么值(  类型 REAL )。 

 
 图 05 

 3.3 REAL格式数据比例换算 (S_RTR):
 S_RTR 功能块可用来转换在范围内的REAL 格式的值 (例如 将0.0 到 1.0输入值转化为百分数输出)。 

 
 图 06 

 3.4转换为 INTEGER格式数据的模拟量输出(S_RTI):
 S_RTI 功能块可用来 将 REAL 数 转换为 INTEGER数据类型的模拟量输出。 

 
 图 07 

 4. 例子程序 

 4.1 例子程序 "Tip038"的描述
 这里有一个装液体的密闭容器。 

 压差传感器为模拟量输入模块提供一个 (4 - 20 mA)电流输入 。 电流值的大小与容器内的液面高度成正比。 

 EM 235  必须进行校准,因此在液面高度为 10m 时模拟量为20mA 的值可转换为 3200 数字值。在液面为 0 m 时模拟量为4mA的值可转换为数字值6400。此程序可将数字值按比例转换为液面高度的米数。 

 显示液面高度的电压必须通过模拟量输出模块产生。这个电压值是对模拟量输出word (AQW) 写入相应的数字值产生的。 

 模拟量输出模块将液面高度(从0 m 到10 m)  以从0 V到10V的电压形式传输给测量装置。测量装置获得电压后以指针的偏移量来指显示液面的高度。 

 换算公式将每一个值按比例换算为最大与最小换算值之间的值。这个程序将接收的模拟量输入值 (AIW) 按比例换算后作为模拟量模块输出。首先程序读在 4 mA 到 20 mA (6400 与 32000)之间的AIW 值, 接着按比例转换为一个  0.0 到 1.0 (看图 05)之间的标么值。 然后按比例转换为0.0 to 100.0 (看图 06)的范围对应的0 到 32000 (看图 07)之间的值。 

 4.2  STEP 7 Micro/WIN 库可见 zip 文件:
 拷贝 "scale.zip" 文件到到一个单独的目录,然后打开。可集成为"scale.mwl" 库和例子程序 "Tip038_D.mwp"到 S7-200 项目中, 要求使用 STEP 7 Micro/WIN  V3.2.4.27 及以上版本。 "scale.zip" 文件包括 德语版的库和例子程序("Tip038_D.mwp") 和英语版的("Tip038_E.mwp"). 

 注意: 

 该程序也是  SIMATIC S7-200 编程技巧 08/03 "Tip038") 的一部分。
 条目 ID: 1232912 
 在 TEP 7 Micro/WIN 中如何插入库文件可见
 条目 ID: 16689345 
 可免费下载 STEP 7 Micro/WIN V3.2 的 SP4 如
 条目 ID: 16520047 .
  scale.zip ( 20 KB ) 

  
  
  条目号:27043396     日期:2008-01-08   
  
  http://support.automation.siemens.com/CN/llisapi.dll?func=cslib.csinfo&lang=zh&siteid=cseus&objid=27043396

 你选择整数就是整数。若选择浮点数那么就是小数。
  
  
  
 

提问者对于答案的评价:
刚来,什么也不懂,看了你的回答,终于明白了库和例程的使用,谢谢。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc350399.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午12:26
下一篇 2021年7月5日 上午12:26

相关推荐

发表回复

登录后才能评论