求助:s7-300模拟量转换编程 点击:1451 | 回复:5



zangyi

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 1回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2006年5月09日
发表于:2006-05-09 07:04:00
楼主
小弟要做一个水库的水位测量系统。用的是S7-300。但是不会用PLC采集模拟量输入并转换成PLC识别的数字量。看了好多帖子都没有实例,所以不知道如何编写。
各位高人能给编个简单的实例说明一下么?测量量是+/-10V,用的是12位A/D模块。
这里先谢谢了



yuanle

  • 精华:0帖
  • 求助:0帖
  • 帖子:9帖 | 10208回
  • 年度积分:2747
  • 历史总积分:48332
  • 注册:2005年4月22日
发表于:2006-05-09 08:48:00
1楼
L PIW256 //假设你的模拟量信号接在模块地址256上,由于电压信号占用2通道,所以需要PIW,此时你的ACCU1中就是通过A/D转换后相对于量程的整数
T DB1.DBW0  //保存一下,方便以后调用
以上是最方便的模拟量采集
网站上很多人建议使用FC105做模拟量采集,其实是一样的,只不过
FC105将采集进来的信号做了一下线性话,通过FC105采集进来信号在你的问题中就是以V为单位的工程量,比如5V,这样的转换对于PLC来说其实没有什么意义,因为PLC运算完全以数字作为运算的,这样转换的作用是方便在HMI上显示而已.
例如wincc,已经有变量的线性标定功能,所以下位机采用线性转换是毫无意义的.
如果你采集的是温度信号,那么根据模板规范所定义,你应该如下编程:
L PIW256  //采集信号
ITD   //转换为长整形,因为根据语法,整形转换为浮点数必须先转换为长整形.
DTR  //转换为浮点数
L 10.0  //装入浮点数10
/R      //除以10,因为模板规范规定,采集值和实际温度比值为10
T DB1.DBW0   //保存 实际温度值.
所以,好好看看模版规范是你能正确使用模拟量的关键.


yyght

  • 精华:1帖
  • 求助:0帖
  • 帖子:176帖 | 821回
  • 年度积分:0
  • 历史总积分:1549
  • 注册:2005年3月21日
发表于:2006-05-09 20:00:00
2楼
有高手能出来再指点一下西门子PLC编程入门吗,好向有点和三菱的不一样。

zangyi

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 1回
  • 年度积分:0
  • 历史总积分:7
  • 注册:2006年5月09日
发表于:2006-05-10 00:10:00
3楼
恩,谢谢yuanle
仔细研究一下。

wxzzm

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:4
  • 注册:2009年3月08日
发表于:2009-03-08 21:53:21
4楼
模拟量量程转换在什么地方下载,那位高手指点一下

彩云之滇东北

  • 精华:20帖
  • 求助:5帖
  • 帖子:107帖 | 2725回
  • 年度积分:0
  • 历史总积分:21121
  • 注册:2005年6月14日
发表于:2009-03-09 10:27:53
5楼

学习学习                        


热门招聘
相关主题

官方公众号

智造工程师