您现在所在的是:

西门子SIEMENS

回帖:6个,阅读:3733 [上一页] [1] [下一页]
1015
ysbuestc
文章数:32
年度积分:50
历史总积分:1015
注册时间:2006/8/12
发站内信
发表于:2007/1/6 23:55:00
#0楼
前几天在论坛中发过一篇帖子(求助:关于S7300 PID控制问题(急),等着定方案!),内容主要是关于如果要不用s7-300专门的功能模块,也不用STEP7中现成的PID控制功能块(FB41),就是想用原有的C语言编写的PID代码,自己写PID控制程序,应该是用STEP7写好下载到plc中,利用plc的cpu实现,还是用WINCC写,用计算机的cpu来计算,考虑到网络的实时性问题,大家都建议在plc中进行。
   可是我这几天看了一些s7-300和STEP7的学习资料,发现plc的cpu(例如CPU315-2 DP)的计算执行时间动不动就是几百毫秒,可是我的控制周期最多不能超过100ms,请问是不是就不能用s7300来实现控制了呢?
   请大家给点意见!
表情
2392
robertjml
文章数:630
年度积分:50
历史总积分:2392
注册时间:2006/2/23
发站内信
发表于:2007/1/8 11:58:00
#1楼
我不同意楼上朋友的说法:plc(例如CPU315-2 DP)的计算执行时间动不动就是几百毫秒!

我从很多S7-300的工程实践中总结出来,大多数OB1的循环执行时间是在50ms以下.越是编程简练,OB1的循环执行时间越短!

除了OB1, 定时中断的 OB35(100ms) / OB36 (50ms) / OB37 (20ms) / OB38 (10ms)都是可以选择的编程途径. 

楼上朋友,S7-300完全能够处理你的工控任务!
1015
ysbuestc
文章数:32
年度积分:50
历史总积分:1015
注册时间:2006/8/12
发站内信
发表于:2007/1/8 12:39:00
#2楼
2楼的朋友,谢谢您的回复!
您的意思我大概理解了,可是s7-300进行指令计算及控制需要时间,假如我用定时中断OB36 (50ms),但PID计算所需要的时间超过50ms,这显然是不行的,请问是否会有这种情况呢?
2392
robertjml
文章数:630
年度积分:50
历史总积分:2392
注册时间:2006/2/23
发站内信
发表于:2007/1/8 15:00:00
#3楼
对于温度.压力.流量的PID调节, 从波动到稳态, 一个PID调节循环通常需要1s--10s. 假如你用定时中断OB36 (50ms),每50ms会扫描执行一次PID调节 FB41. 但是, 这并不是说一次50ms的扫描就能完成一个PID调节循环!

换句话来说, 20次(20*50ms)OB36扫描执行能完成一个PID调节循环!
1015
ysbuestc
文章数:32
年度积分:50
历史总积分:1015
注册时间:2006/8/12
发站内信
发表于:2007/1/8 23:46:00
#4楼
robertjml,您说的对,
但我理解PID调节周期应该是一次反馈数据采集后与给定信号进行相应的PID计算,然后D/A输出到执行机构,调整机构是控制对象的反馈与给定偏差向变小的方向发展。我说的控制周期就是完成这么一个过程的时间。不是由启动到稳态的时间。
还有一个,我看到STEP7学习资料中提到三角函数的指令计算时间达到几百ms,请问为什么三角函数计算需要这么多时间,还是我的理解有误呢?
2392
robertjml
文章数:630
年度积分:50
历史总积分:2392
注册时间:2006/2/23
发站内信
发表于:2007/1/9 10:00:00
#5楼
ysbuestc, 你说的  PID调节周期=模拟输入A/D+PID计算+模拟输出D/A. S7-CPU315能在几个ms之内完成一个PID调节周期.

1015
ysbuestc
文章数:32
年度积分:50
历史总积分:1015
注册时间:2006/8/12
发站内信
发表于:2007/1/10 20:02:00
#6楼
好,谢谢robertjml 哈!

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003