登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:程序家族的故事(1)

点击:3615 回复:9

   1.程序家族有哪些成员?
   plc的控制程序一般由主程序、子程序和中断程序组成。西门子的s7-300/400将子程序分为功能(function,或称为函数)和功能块(function block)。
   在每一个扫描循环周期,cpu都要调用一次主程序,用户程序必须有一个并且只能有一个主程序。小型控制系统可以只有主程序。
   中断程序用于快速响应中断事件。在中断事件发生时,cpu将停止执行当时正在处理的程序或任务,去执行用户编写的中断程序。执行完中断程序后,继续执行被暂停执行的程序或任务。
   2.哪些情况需要使用子程序?
   当系统规模很大、控制要求复杂时,如果将全部控制任务放在主程序中,主程序将会非常复杂,既难以调试,也难以阅读。使用子程序可以将程序分成容易管理的小块,使程序结构简单清晰,易于调试、查错和维护。
   子程序也可以用于需要多次反复执行相同任务的地方,只需要编写一次子程序,别的程序在需要的时候多次调用它,而无需重写该程序。
   3.怎样调用子程序?
   主程序可以调用子程序,子程序也可以嵌套调用别的子程序。嵌套调用的层数是有限制的,例如s7-200的最大嵌套深度为8级。
   执行完子程序后,返回调用它的程序中的调用指令的下一条指令。
   4.每个扫描周期都会执行子程序吗?
   子程序的调用可以是有条件的,在被调用期间,每个扫描周期都要执行一次被调用的子程序。调用条件不满足时不会执行子程序中的指令,因此使用子程序可以减少扫描循环时间。
   5.停止调用子程序后,子程序中的线圈处于什么状态?
   停止调用子程序后,不再执行子程序中的指令。子程序中线圈对应的编程元件如果没有受到别的程序的控制,将保持子程序最后一次执行后的状态不变。即使控制这些线圈的触点的状态变化,该线圈对应的元件的状态也不会变化,因为这时根本就没有执行子程序中的指令。
   6.怎样实现子程序的无条件调用?
   有的plc的子程序调用指令不能直接接到左侧的垂直“电源”线上,需要通过触点电路来控制是否调用子程序,即子程序的调用是有条件的。可以用一直为on的特殊位元件(例如s7-200的sm0.0或fx系列的m8000)的常开触点来实现子程序的无条件调用。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=119219&Name=liaochangchu
10-07-10 10:22
廖老师的新作,支持一下!
10-07-11 00:14
我现在做的是三菱高性能PLC,我个人的感觉是:PLC程序的架构最重要,一个大程序“自上而下”的设计理论很重要!
10-07-12 15:23
学习了
10-07-13 13:51
了解一下.
10-07-23 14:48
顶一下,学习了
10-07-23 16:54
顶一下,学习了!狂顶
10-07-24 21:25
学习了
10-07-25 09:32
表情
10-07-26 14:15
精彩表情
10-09-18 14:11

工控新闻

更多新闻资讯