永恒的心
级别: 探索解密
精华主题: 0
发帖数量: 19 个
工控威望: 113 点
下载积分: 792 分
在线时间: 15(小时)
注册时间: 2014-11-14
最后登录: 2019-08-09
查看永恒的心的 主题 / 回贴
楼主  发表于: 2014-11-22 10:57
我一个人去实验室看了下300的接线图但是看不到模块和cpu的接线,不知道是如何进行信息交换的,如sm321模块,还有模块的电源和cpu的是一样的吗,模拟量输入和输出是不是就比数字量输入和输出多了个模数转换器类的,如果有模拟量的程序截图那就感激不尽了,谢谢大神不吝赐教,谢谢
giveme
级别: 正式会员
精华主题: 0
发帖数量: 5 个
工控威望: 93 点
下载积分: 965 分
在线时间: 6(小时)
注册时间: 2014-11-14
最后登录: 2021-09-09
查看giveme的 主题 / 回贴
1楼  发表于: 2014-11-22 23:07
模拟量在西门子是个范围量,这一般是PIW和PQW,使用时需要转换为工程值,转换可以使用系统模块,或自己编写
以下是网络转载:
S7-300以4-20mA为例。系数为27648。
模拟量值=(PIWxx/27648)*(高限-低限)+低限+补偿值
例子:从0到10V的值中输入到插在插槽6的模拟模块中。目前这个值是一个整数(16位),应该规格化100到1000之间的REAL格式,并以双字MD10保存在位储存器中。
语句表的解决方案:
L PIW 288 //0到10V的模拟量输入包含0到27648个整数(16位)
ITD //16位整数值转换成32位整数
DTR //32位整数转化成实数
L 2.7648e+4 //
/R //除以实数27648
L 9.000e+2 //
*R // 乘以实数***(1000-100)
L 1.000e+2 //
+R // 加上实数100(补偿值)
T MD10 //把100到1000规格化成REAL格式
转换模拟量值到工程量值
问题: 是否有功能块能转换模拟量值到工程量值?  
解答: 在Step7 中,standard library T1-S7 Converting Blocks FC105。
例如:转换一个模拟量PIW256到0.0~200.0工程范围  
Call FC105  
IN:=PIW256          (模拟量,范围-27648~27648)
HI_LIM:=200.0       (上限)
LO_LIM:=0.0         (下限)
BIPOLAR:=M2.1      (极性  
如M2.1为1,对应的PIW256 为-27648~27648;
如M2.1为0,对应的PIW256为0~27648)
RET_VAT:=MW4         (错误返回值)
OUT:=MD50  (工程值)
本帖最近评分记录:
  • 下载积分:+1(永恒的心) 真诚感谢!