单片机与PLC编程的区别  

[ 2010/6/4 14:17:05 | Author: 廖老师 ]

有一个高校老师告诉我:“最近在评阅学生毕业论文中,发现一部分同学对PLC程序像单片机程序一样画了流程图,但是当系统存在模拟量控制环节时,所画的流程图又难以说明问题,很难画出与实际程序执行意义一样的总的程序流程图。考虑到PLC程序和单片机程序是不同的,单片机是逐行执行,而PLC则不同。”

单片机与PLC的程序设计有很大的区别,单片机的全部程序都是用户设计的,PLC的程序包括系统程序(西门子称为操作系统)和用户程序。操作系统用来组织与具体的控制任务无关的所有的CPU功能。操作系统的任务包括处理启动过程,刷新输入/输出过程映像,调用用户程序,检测中断事件和调用中断组织块,检测和处理错误,管理存储器,以及处理通信任务等。PLC的很多功能,例如扫描工作方式、定时器功能和中断处理,是操作系统完成的。在画流程图时,应考虑这个问题。

PLC的开关量控制系统的程序用顺序功能图来描述比较简洁。用流程图来描述PLC的用户程序原则上也是可以的,但是应区分哪些功能是操作系统完成的,哪些是用户程序实现的。

例如有人问是否需要用跳转指令来等待某个信号上升沿的出现,这是一种单片机编程的思维。PLC的扫描工作方式在每一扫描周期开始时读取全部的开关量输入,根据前后两个扫描周期同一输入点状态的变化来判断是否有上升沿出现。所以不需要用往回跳的跳转指令来等待某个输入信号的出现。如果用这种方法来查询信号的状态变化,PLC不能干别的事情,因为它的全部精力都用在查询上了!而这种查询是在一个扫描周期内进行的,将使扫描周期变得很长,很容易造成监控定时器(看门狗)超时的错误。

PLC的用户程序中,只需要用一条检测上升沿的指令就可以捕捉到脉冲信号的上升沿。如果要求快速响应,可以采用中断方式,在脉冲信号的上升沿由系统程序调用用户编写的中断程序。

回复:单片机与PLC编程的区别

[ 2013/12/1 9:32:28 | Author: (匿名游客) ]
廖老师,你好!我对这篇文章总体上认同,但对个别地方持不同意见。比方,用流程图来描述PLC的用户程序原则上也是可以的!根本就可以。不需要用往回跳的跳转指令来等待某个输入信号的出现!为什么不能往后跳?我能轻而易举的画出比如十字路口红绿灯的流程图,并一对一的转换成ST语言.

回复:单片机与PLC编程的区别

[ 2012/11/1 11:20:50 | Author: sdjqyang ]
S7-200的中断程序的使用,与300的上面OB35中断什么区别,感觉200上面的中断不好理解,使用起来也不清晰,请求给讲解一下,好吗,谢谢!

回复:单片机与PLC编程的区别

[ 2012/10/30 14:24:56 | Author: xiaocai(游客) ]
刚刚接触plc,几次链接到老师的博客中,感谢老师的答疑解惑!

回复:单片机与PLC编程的区别

[ 2010/11/18 19:26:58 | Author: sundefacz ]

解释非常好!谢谢

回复:单片机与PLC编程的区别

[ 2010/7/28 20:07:36 | Author: danny(游客) ]

解释的非常清楚

拜读

回复:单片机与PLC编程的区别

[ 2010/6/6 9:20:57 | Author: sinan ]
  是的,PLC的循环扫描是一个重要的特点,所以在需要的时候合理使用中断是蛮重要的。
 

中华工控网 | 联系我们 | 工控论坛首页 | 工控博客首页 | 博客注册 | 博客登陆

工控博客管理联系邮箱:工控博客服务邮箱

中华工控网 © Copyright 2013. All rights reserved.