S7-300模拟量,谁能给个小程序

想找个例如温度控制之类的小程序,低温启动加热器,高温断开加热器,详细的程序,对这个有些迷惑,想参考学习,那位老师不吝赐教

问题补充:
用温度传感器,4-20ma

最佳答案

譬如 你的模拟量输入模块 接入的是标准型的PT100  地址为pi256  读进来的温度值除以10就可以了
程序:先转换下,读进来的温度值
      A(    
      A(    
      L     PIW  256
      T     #TEMP0
      SET   
      SAVE  
      CLR   
      A     BR
      )     
      JNB   _001
      L     #TEMP0
      DTR   
      T     #TEMP1
      SET   
      SAVE  
      CLR   
_001: A     BR
      )     
      JNB   _002
      L     #TEMP1
      L     1.000000e+001
      /R    
      T    DB30.DBD2
_002: NOP   0

    根据工艺,进行相应的温度控制,当t1<DB30.DBD2<t2 就关闭 加热器 q
 程序
    O(    
      L     #t1
      L    DB30.DBD2
      <R    
      )     
      O(    
      L     DB30.DBD2
      L     #t2
      >R    
      )     
      =     #temp2


  当DB30.DBD2>T2 或是DB30.DBD2<T1 就打开 加热器 q
程序
   A(    
      L   DB30.DBD2
      L     #t1
      <=R   
      )     
      A(    
      L    DB30.DBD2
      L     #t2
      <=R   
      )     
      AN    #temp2
      =     #q


你把三端程序转化为梯形图看看就明白了!
问题补充:
接入的是4-20ma的传感器信号,对应的数字量为0-27648 ,你可以进行线性转换。

PLC的模拟量输入模块把采集到的标准模拟信号(比如4~20mA)转换成0-27648的整数值,放进PIW的缓存区。这时候,在PLC里监视到的PIW数值,不管它是以什么格式显示的,(比如实数)。实际上,它都是一个0-27648的整数。
此时的PIW里存储的数值,并不是传感器采集到的物理量。而是和这个物理量有线性关系的
一个整数。你需要用一个量程转换才能把它转换成需要显示的物理量。实际上西门子提供了一个专用的功能块,就是调用FC105,你只需要输入模拟量的量程和PIW的地址,就可以直接得到物理量的数值。
那么这个物理量的值就是你需要的工程值。
编程思路跟上面的加热控制一样。用这个工程值根据工艺,进行数据的比对,进行判别,实现你要的工艺控制!

提问者对于答案的评价:
谢谢左传,只是转化不成梯形图,有错误

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月2日 下午4:55
下一篇 2018年12月2日 下午4:56

相关推荐