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

主题:请教:S7-300 指令执行时间与过程控制周期的问题?[求助]

点击:3788 回复:6

前几天在论坛中发过一篇帖子(求助:关于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来实现控制了呢?
   请大家给点意见!
表情
07-01-06 23:55
我不同意楼上朋友的说法:plc(例如CPU315-2 DP)的计算执行时间动不动就是几百毫秒!
我从很多S7-300的工程实践中总结出来,大多数OB1的循环执行时间是在50ms以下.越是编程简练,OB1的循环执行时间越短!
除了OB1, 定时中断的 OB35(100ms) / OB36 (50ms) / OB37 (20ms) / OB38 (10ms)都是可以选择的编程途径. 
楼上朋友,S7-300完全能够处理你的工控任务!
07-01-08 11:58
2楼的朋友,谢谢您的回复!
您的意思我大概理解了,可是s7-300进行指令计算及控制需要时间,假如我用定时中断OB36 (50ms),但PID计算所需要的时间超过50ms,这显然是不行的,请问是否会有这种情况呢?
07-01-08 12:39
对于温度.压力.流量的PID调节, 从波动到稳态, 一个PID调节循环通常需要1s--10s. 假如你用定时中断OB36 (50ms),每50ms会扫描执行一次PID调节 FB41. 但是, 这并不是说一次50ms的扫描就能完成一个PID调节循环!
换句话来说, 20次(20*50ms)OB36扫描执行能完成一个PID调节循环!
07-01-08 15:00
robertjml,您说的对,
但我理解PID调节周期应该是一次反馈数据采集后与给定信号进行相应的PID计算,然后D/A输出到执行机构,调整机构是控制对象的反馈与给定偏差向变小的方向发展。我说的控制周期就是完成这么一个过程的时间。不是由启动到稳态的时间。
还有一个,我看到STEP7学习资料中提到三角函数的指令计算时间达到几百ms,请问为什么三角函数计算需要这么多时间,还是我的理解有误呢?
07-01-08 23:46
ysbuestc, 你说的  PID调节周期=模拟输入A/D+PID计算+模拟输出D/A. S7-CPU315能在几个ms之内完成一个PID调节周期.
07-01-09 10:00
好,谢谢robertjml 哈!
07-01-10 20:02

工控新闻

更多新闻资讯