搜索
bottom↓
回复: 20

比例转换代码,小程序不知道能不能穿裤衩!

[复制链接]

出0入0汤圆

发表于 2013-8-1 14:15:05 | 显示全部楼层 |阅读模式
本帖最后由 gzhmcu 于 2013-8-1 19:59 编辑

午休的时间闹心写了一个仿西门子的比例转换程序,方便单片机开发时比例转换使用,请勿拍砖
追加文字:      大家不太明白呀,就是把西门子PLC的代码改成C语言的方便我们使用呀,下面给梯形图



/*************************************************************************************
double Proportion_Convert(signed short Inptu,signed short Ish,signed short Isl,double Osh,double osl)
———————————————————————————————————————————————————————
功  能: 仿西门子S7-200 比例转换库文件
———————————————————————————————————————————————————————
输  入: signed short Inptu; //模拟量输入值
         signed short Ish;   //模拟量范围上限
         signed short Isl;   //模拟量范围下限
         double       Osh;   //输出比例上限
         double       osl;   //输出比例下限
———————————————————————————————————————————————————————
返  回: double       Output: //比例输出值
———————————————————————————————————————————————————————
作  者:GZHMCU                     |   聚联微控    |             企鹅:ⅤⅠ Ⅶ Ⅸ Ⅸ Ⅵ Ⅰ Ⅰ Ⅶ
———————————————————————————————————————————————————————
**************************************************************************************/
double Proportion_Convert(signed short Inptu,signed short Ish,signed short Isl,double Osh,double Osl)               
{
    double Output://比例输出值
      Output =((Osh -Osl)*(Inptu -Isl )/( Ish -Isl))+ Osl;
    return Output;
}



比如 模拟量输入值 0-32000,当前为PT100转4-20ma,对应量程为-50~ +150度,当前模拟量为6400,模拟量范围上限=32000,模拟量范围上限=6400,输出比例上限=150度   输出比例下限=-50度,那么输出当前温度转换为0度
—————————————华丽的分割线—————————————————————————————————————————————————————————————————
大家都看不懂,木有办法,接着发帖吧

通用比例换算公式
  
模拟量的输入
/
输出都可以用下列的通用换算公式换算:

Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
  
Ov:
换算结果

Iv:
换算对象

Os
h:
换算结果的高限

Osl
:  
换算结果的低限

Ish:
换算对象的高限

Isl:
换算对象的低限
  
它们之间的关系可以图示如下:


1.
模拟量比例换算关系


  
实用指令库
  

STEP 7-Micro/WIN Programming Tips

Micro/WIN
编程技巧中)的
Tip38
就是关于如何
实现上述转换的例程。
  
为便于用户使用,现已将其导出成为

自定义指令库

,用户可以添加到自己的
Micro/WIN
编程软件中应用。


  
在这个指令库中,子程序
Scale_I_to_R
可用来进行模拟量输入到
S7-200
内部数据的转换;
子程序
Scale_R_I
可用于内部数据到模拟量输出的转换。

编程举例:


4 - 20mA
模拟量输入转换为内部百分比值
将内部百分比值转换为
4 - 20mA
模拟量输出

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入4汤圆

发表于 2013-8-1 20:29:55 | 显示全部楼层
本帖最后由 cumt_123456 于 2013-8-1 20:31 编辑

Y=KX+B是吧?
的确挺实用的,以前遇到时候没想过通用化,每次都得算,改。谢啦

出0入0汤圆

发表于 2013-8-2 10:07:15 | 显示全部楼层
gzhmcu 发表于 2013-8-1 19:49
这个就是西门子I/R转换的代码公式呀,哈哈,同时希望阿莫大哥给个酷吧

Y=KX+B (K≠0) 直线方程,这回有点明白了。

出0入85汤圆

发表于 2013-8-1 14:24:10 | 显示全部楼层
硬是不知道

出0入0汤圆

发表于 2013-8-1 14:30:32 | 显示全部楼层
什么东东?

出0入0汤圆

 楼主| 发表于 2013-8-1 14:50:49 | 显示全部楼层
hongkong 发表于 2013-8-1 14:30
什么东东?

重新编辑了,看了再不懂就木有办法了

出0入0汤圆

 楼主| 发表于 2013-8-1 14:51:05 | 显示全部楼层
CK345 发表于 2013-8-1 14:24
硬是不知道

重新编辑了,看了再不懂就木有办法了

出0入45汤圆

发表于 2013-8-1 15:20:10 | 显示全部楼层
hongkong 发表于 2013-8-1 14:30
什么东东?

没具体的研究。但是不知道对不对
=============
比如一个压力传感器是4-20Ma的, 测量范围是0-20mpa。
现在采样值是x.
然后套用楼主的程序算出当前的压力值

出0入0汤圆

发表于 2013-8-1 16:49:22 | 显示全部楼层
不错,清晰明了!

出0入0汤圆

发表于 2013-8-1 18:51:43 | 显示全部楼层
gzhmcu 发表于 2013-8-1 14:50
重新编辑了,看了再不懂就木有办法了

公式怎么回事?

出0入0汤圆

 楼主| 发表于 2013-8-1 19:49:10 | 显示全部楼层
hongkong 发表于 2013-8-1 18:51
公式怎么回事?

这个就是西门子I/R转换的代码公式呀,哈哈,同时希望阿莫大哥给个酷吧

出0入0汤圆

 楼主| 发表于 2013-8-1 19:53:04 | 显示全部楼层
myiccdream 发表于 2013-8-1 15:20
没具体的研究。但是不知道对不对
=============
比如一个压力传感器是4-20Ma的, 测量范围是0-20mpa。


看看西门子PLC的用法就知道了
比如 模拟量输入值 0-32000,当前为PT100转4-20ma,对应量程为-50~ +150度,当前模拟量为6400,模拟量范围上限=32000,模拟量范围上限=6400,输出比例上限=150度   输出比例下限=-50度,那么输出当前温度转换为0度

出0入0汤圆

 楼主| 发表于 2013-8-1 20:00:40 | 显示全部楼层
CK345 发表于 2013-8-1 14:24
硬是不知道

再不懂就木有办法了,更新帖子3次了

出0入0汤圆

 楼主| 发表于 2013-8-1 20:00:57 | 显示全部楼层
gzhmcu 发表于 2013-8-1 19:53
看看西门子PLC的用法就知道了
比如 模拟量输入值 0-32000,当前为PT100转4-20ma,对应量程为-50~ +150度, ...

再不懂就木有办法了,更新帖子3次了

出0入0汤圆

 楼主| 发表于 2013-8-1 20:01:25 | 显示全部楼层
hongkong 发表于 2013-8-1 18:51
公式怎么回事?

再不懂就木有办法了,更新帖子3次了,您再看看

出0入0汤圆

 楼主| 发表于 2013-8-1 20:02:10 | 显示全部楼层
adongliu 发表于 2013-8-1 16:49
不错,清晰明了!

又更新了,除了您以外,别人似乎都木有看懂呀

出0入0汤圆

发表于 2013-8-1 20:38:12 | 显示全部楼层
这学期PLC考22,看到PLC就头痛

出0入0汤圆

 楼主| 发表于 2013-8-2 14:07:51 | 显示全部楼层
阿莫大哥给个裤衩穿穿吧

出0入0汤圆

 楼主| 发表于 2013-8-2 16:10:47 | 显示全部楼层
笑笑我笑了 发表于 2013-8-1 20:38
这学期PLC考22,看到PLC就头痛

PLC木有单片机好玩

出0入0汤圆

 楼主| 发表于 2014-1-1 15:25:43 | 显示全部楼层
自己支持一下自己吧
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 22:09

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表