天下英雄
好人好梦
级别: 略有小成
精华主题: 0
发帖数量: 376 个
工控威望: 470 点
下载积分: 1187 分
在线时间: 174(小时)
注册时间: 2008-11-17
最后登录: 2025-04-27
查看天下英雄的 主题 / 回贴
楼主  发表于: 2025-04-22 14:03
图片:
西门子S7-200   CPU200    有这样一条子程序指令。我刚学;看不懂。拜求各位大师给予解释指点!  谢谢!
sarazyn
级别: 略有小成
精华主题: 0
发帖数量: 151 个
工控威望: 403 点
下载积分: 5591 分
在线时间: 52(小时)
注册时间: 2019-04-03
最后登录: 2025-08-18
查看sarazyn的 主题 / 回贴
1楼  发表于: 昨天
这个不是Smart的标准指令,是人家自己做了个块或者库,专门用于转换模拟量到直观的工程量,然后调出来用了。
Smart的模拟量通道最高数值(就是最大量程输入)为27648,最小值为0(对应0输入),这里有个5530是因为选择的是4~20mA,但是通道选择的模式是0~20mA,所以线性对应关系(模拟量量程)要把这个4mA以下的减去,然后再参与线性换算(比例关系计算)。下边的0和2.5是实际工程量的量程。在这里是0.0=4mA=5530,2.5=20mA=27648。估计是个压力表,单位是MPa?
然后剩下的就是按比例换算就可以了,这个需要自己去换算。做程序的话还需要用到整数I转实数R。模拟量输入输出都是一个字(长度为W(=Word))的整数 I(=int),实际工程量是会有小数点的,所以需要先把 I 扩展到双字的DW(=double Word),然后转换为实数R(=Real),之后的计算就用实数运算指令进行比例运算就行了,最终结果就是测量值。
sarazyn
级别: 略有小成
精华主题: 0
发帖数量: 151 个
工控威望: 403 点
下载积分: 5591 分
在线时间: 52(小时)
注册时间: 2019-04-03
最后登录: 2025-08-18
查看sarazyn的 主题 / 回贴
2楼  发表于: 昨天
设输入电流a,对应输入数值X,实测(换算)结果Y,比例关系就是b=a/(20-4)=X/(27648-5530),这个计算出来是个以变化范围(即量程)为底的0.x的小数,乘以量程就是结果Y=b▪(2.5-0.0)。也就是Y=(2.5-0.0)▪X/(27648-5530)。