s7200模拟量处理如何通过局部变量来完成?

我有一个0~5V的模拟量进到EM235里,想通过在局部变量里来完成A/D转换,并且是实数.请问高手赐教!最好能发个实例看看!plkori2009@163.com谢谢!

最佳答案

使用局部变量
 您可以使用程序编辑器中的局部变量表来为子程序和中断服务程序分别指定变量,如图5--9所示。参见图5-9。局部变量可用于子程序传递参数,它增强了子程序的可移植性和再利用性。
 具体参看S7-200系统手册第五章P63
 模拟量比例换算
 因为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: 换算对象的低限 

 应用模拟量模块时,需要根据输入信号的规格设置右下角的DIP开关(Configuration开关)。DIP开关只对输入信号有效,并且对所有的输入通道都是相同的。

 EM231、EM235带模拟量输入通道的模块,还分别有电位器用于对输入信号进行校正。EM231和EM235上的Gain(增益)电位器用于调整输入信号和转换数值的放大关系;EM235上的Offset(偏置)用于对输入信号调零。如果没有精确的信号源,请不要调整。详细调整方法请参照《S7-200系统手册》。

 表2. EM235
                    单极性                  满量程输入     分辨率 
 SW1SW2SW3SW4SW5SW6
 ON  OFF  OFF  ON  OFF ON                  0 - 50 mV           12.5μV 
 OFF ON   OFF  ON  OFF ON                  0 - 100 mV         25μV 
 ON  OFF  OFF  OFF ON  ON                  0 - 500 mV         125μV 
 OFF ON   OFF  OFF ON  ON                  0 - 1 V                 250μV 
 ON  OFF  OFF  OFF OFF ON                  0 - 5 V                1.25mV 
                                                                     0 - 20 mA           5μA 
 OFF ON   OFF  OFF OFF ON                 0 - 10 V               2.5mV 
                       双极性                满量程输入      分辨率 
 SW1 SW2 SW3 SW4 SW5 SW6 
 ON    OFF  OFF  ON    OFF  OFF            ±25 mV             12.5μV 
 OFF   ON   OFF  ON    OFF  OFF            ±50 mV             25μV 
 OFF  OFF   ON   ON    OFF  OFF            ±100 mV           50μV 
 ON    OFF  OFF  OFF  ON    OFF            ±250 mV           125μV 
 OFF  ON    OFF  OFF  ON    OFF            ±500 mV           250μV 
 OFF  OFF   ON   OFF  ON    OFF            ±1 V                   500μV 
 ON    OFF  OFF  OFF  OFF   OFF           ±2.5 V                1.25mV 
 OFF  ON    OFF  OFF  OFF   OFF           ±5 V                   2.5 mV 
 OFF  OFF   ON   OFF  OFF   OFF           ±10 V                 5 mV 
 

提问者对于答案的评价:
谢谢你的指点!
 我去试试!

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

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

相关推荐

  • 5611连接S7 200CN

    西门子PG5611设置为PPI,XPSP3,MiroWin SP9,可以连接S7 200,但连接不到S7 200CN(224),需要特殊设置吗? 最佳…

    SIMATIC S7-200 2021年7月5日
  • S7-200 程序

    LD     SM0.0 MOVB   16#C9, SMB30 MO…

    SIMATIC S7-200 2021年7月5日
  • 关于smart-700IE连接S7-226的问题

    没用过触摸屏,而且对西门子不熟悉,现在打算买一个smart-700来连接S7-200的226,port0已经用于连接无线DTU做modbusRTU从站接口了,我看smart700I…

    SIMATIC S7-200 2017年8月18日
  • S7-200最大带几个模拟量

    S7-200最大带几个模拟量 最佳答案 CPU不同带载能力不同。CPU221不能扩展CPU222最大能扩展16AI/8AO,最大16CPU224最大能扩展32AI/28AO,最大4…

    SIMATIC S7-200 2020年11月1日
  • S7-200的V变量问题

    程序如下:……LD       SM0.0LPSA    &n…

    SIMATIC S7-200 2017年6月8日
  • 西门子200 控制温

    温度控制。用指令运算。怎么控制温度值。当我启动加热器。温度应该上升。如果温度。在一定时间里没变化(上升)就报警。。。这个怎么做啊 求前辈指导。。希望说的详细 最佳答案 参…

    SIMATIC S7-200 2017年6月24日
  • 无接口句柄以太网通讯

    测试PG/PC通讯时使用此参数设置的访问点: ->MICROWIN 函数调用 SRMD_Set(..) 中出现错误 错误:无…

    SIMATIC S7-200 2017年6月4日
  • S7-200寻址程序问题

    S7-200寻址程序问题,这是S7-200编程手册上的一段程序,LD SM0.0MOVD   &VB0, LD10+D …

    SIMATIC S7-200 2020年10月31日
  • 刚学PLC200,关于模拟量的问题

    模拟量输入输出都是AIW和AQW都应该是整数或者浮点数,可我看的学习视频中,有反馈电流互感器输入,这个应该接到AIW0吧,可反馈电流是4-20MA,那么这个AIW0到底是一个电流值…

    SIMATIC S7-200 2021年7月5日
  • MODBUS通讯的三个问题

    一台S7200 SMART作为MODBUS主站与单片机通讯,每次写入八个字再读取八个字,用的MODBUS库。问题1:是不是编程里面先写数据,用完成位来触发读数据呢?问题1…

    SIMATIC S7-200 2017年6月18日

发表回复

登录后才能评论