登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:自己写了个模拟量转换的程序,请大家挑点毛病,谢谢

点击:4188 回复:27

程序的大概意思就是说,PLC模拟输出模块的4-20MA电流信号,来控制现场变频器的自动变速,当模拟模块输出20MA电流,变频器以50HZ的频率运行,PLC输出0MA电流信号,变频器停止运行。根据实际需要直接修改IN的值就可以了。
下面我已把IN的值设为50,也就是说,现在模块现在输出20MA的电流,现场变频器以50HZ的频率运行。如想变频器以30HZ的频率运行,直接将IN的值设为30就OK了。
大家看我写的这段程序可行吗?有什么毛病的话,有的话请大家指出来,我好再改正一下,谢谢。
附件
附件
附件
09-11-10 20:07
其实我也是一直在找这个东西,如果你已经想好的话,在更新一下,我好学习一下,谢谢帮忙
09-11-10 21:53
貌似是你这个理!
不过在S7300中可以直接调用FC105,FC106进行规范化处理
09-11-10 22:21
ok表情
09-11-11 01:24
大家怎么没发表意见的呢?如果没问题的话,我会把模拟量输入整定的程序在发出来,供大家参考。
09-11-11 09:20

引用 hb_zlx 在 2009-11-10 22:21:42 发言【内容省略】

有现成的块可以调用的
09-11-11 10:46

引用 rockmusic 在 2009-11-11 9:20:16 发言【内容省略】

输入输出整定程序也不必发了,曾经给这个论坛的大哥写了一个,应该还在这个论坛上可以找到,无非一个线性化的公式而已。
Regards
09-11-11 10:53
程序缺少-lo_lim.当然为0的时候无所谓,但不通用.y=(x-Lo)*(OH-OL)/(Hi-Lo)+OL线性化.
其实,这个程序是有硬伤的.硬伤就在,使用整数(INT)计算,可能导致误差很大.特别是先除,导致取整;先乘又导致溢出.
09-11-11 11:22
这个应是GE的PLC.
6400-32000感觉像.
既然是200的就抱歉了.
不过程序道理是通用的.
最后修改:2009-11-11 12:49:08
09-11-11 11:23
回复5楼:这个是200的PLC,不是300的PLC,没有这样的块调用。
回复6楼:照您那么说,我这个帖子不应该发就是了?请大家帮我看程序还有错了吗?首先声明我是自己写的不是复制人家的。再就是您会的东西,别人就不准发出来了是吧?这是谈论问题的地方不是你在这说应不应该发。
回复7楼:首先感谢您的指正,的确您说的硬伤我也发现了,比如实际中要求频率设定为30.8HZ那么我的程序就实现不了了,所以一会我会改改程序,在计算的时候用浮点,然后转整数。然后我程序最后还缺了个MOVW   LW20, #OUT:LW10。
回复8楼:这是西门子200的PLC,不是GE的。
09-11-11 11:58

上一页下一页

工控新闻

更多新闻资讯