发表于:2011/3/3 9:17:08
#0楼
有网友将我的博客日志“为什么不能用循环中断组织块OB35来取代主程序OB1”转帖到西门子的S7-300/400论坛,日志最后一句是“虽然删除OB1也不会报错,但是绝对不能用OB35取代OB1。”有网友说“用‘绝对’来讨论这个问题,显然不合适。”
“绝对”这个词的确使用不当。日志的标题本来以“绝对”开始,发出以后我觉得不妥,很快将“绝对”改为“为什么”,但是没有注意到日志结束时还有一个“绝对”。
当初用“绝对”二字,主要的原因是我认为这个问题很重要,想用“绝对”来强调问题的重要性。
PLC循环调用主程序,有中断事件出现时立即调用中断程序,这是PLC最合理、最科学的运行模式,S7-200是不允许删除自动生成的主程序的,由此可见主程序的重要性。
主程序是循环调用的,每次循环的时间可能是变化的,两次调用之间无间隙时间。OB35是按精确的时间间隔循环调用的,如果没有OB1,两次调用OB35之间可能有较大的时间间隙。在时间间隙内,CPU可能在不断地读写过程映像输入/输出。
有网友说:“我的程序全部用CFC完成,生成的代码在OB35中执行,没有OB1,照样运行得很好。”CFC程序是用来处理模拟量和闭环控制的吧,PID功能块一般放在OB35。
虽然S7-300没有OB1也可以运行,但是这种运行方式并非是最优的,与PLC的基本运行模式背道而驰。控制系统一般都有开关量控制程序,将后者放在OB1的响应快速性比放在OB35好得多。
我已将日志的最后一句改为“虽然删除OB1也不会报错,但是将程序分别放在OB1和OB35更为合理”。
“绝对”这个词的确使用不当。日志的标题本来以“绝对”开始,发出以后我觉得不妥,很快将“绝对”改为“为什么”,但是没有注意到日志结束时还有一个“绝对”。
当初用“绝对”二字,主要的原因是我认为这个问题很重要,想用“绝对”来强调问题的重要性。
PLC循环调用主程序,有中断事件出现时立即调用中断程序,这是PLC最合理、最科学的运行模式,S7-200是不允许删除自动生成的主程序的,由此可见主程序的重要性。
主程序是循环调用的,每次循环的时间可能是变化的,两次调用之间无间隙时间。OB35是按精确的时间间隔循环调用的,如果没有OB1,两次调用OB35之间可能有较大的时间间隙。在时间间隙内,CPU可能在不断地读写过程映像输入/输出。
有网友说:“我的程序全部用CFC完成,生成的代码在OB35中执行,没有OB1,照样运行得很好。”CFC程序是用来处理模拟量和闭环控制的吧,PID功能块一般放在OB35。
虽然S7-300没有OB1也可以运行,但是这种运行方式并非是最优的,与PLC的基本运行模式背道而驰。控制系统一般都有开关量控制程序,将后者放在OB1的响应快速性比放在OB35好得多。
我已将日志的最后一句改为“虽然删除OB1也不会报错,但是将程序分别放在OB1和OB35更为合理”。
我是廖常初,是一个高校的老师,曾在企业从事机械、电气技术工作,长期从事工业控制和PLC应用的教学、科研和工程应用工作。博客中的日志除注明外均为原创。愿意在此与大家探讨工控的问题!
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/