单片机与PLC编程的区别 点击:172 | 回复:3



零下二度

    
  • 精华:1帖
  • 求助:5帖
  • 帖子:340帖 | 6056回
  • 年度积分:13
  • 历史总积分:24395
  • 注册:2011年5月08日
发表于:2012-07-22 23:12:39
楼主
单片机PLC的程序设计有很大的区别,单片机的全部程序都是用户设计的,PLC的程序包括系统程序(西门子称为操作系统)和用户程序。操作系统用来组织与具体的控制任务无关的所有的CPU功能。操作系统的任务包括处理启动过程,刷新输入/输出过程映像,调用用户程序,检测中断事件和调用中断组织块,检测和处理错误,管理存储器,以及处理通信任务等。PLC的很多功能,例如扫描工作方式、定时器功能和中断处理,是操作系统完成的。在画流程图时,应考虑这个问题。
PLC的开关量控制系统的程序用顺序功能图来描述比较简洁。用流程图来描述PLC的用户程序原则上也是可以的,但是应区分哪些功能是操作系统完成的,哪些是用户程序实现的。
例如有人问是否需要用跳转指令来等待某个信号上升沿的出现,这是一种单片机编程的思维。PLC的扫描工作方式在每一扫描周期开始时读取全部的开关量输入,根据前后两个扫描周期同一输入点状态的变化来判断是否有上升沿出现。所以不需要用往回跳的跳转指令来等待某个输入信号的出现。如果用这种方法来查询信号的状态变化,PLC不能干别的事情,因为它的全部精力都用在查询上了!而这种查询是在一个扫描周期内进行的,将使扫描周期变得很长,很容易造成监控定时器(看门狗)超时的错误。
在PLC的用户程序中,只需要用一条检测上升沿的指令就可以捕捉到脉冲信号的上升沿。如果要求快速响应,可以采用中断方式,在脉冲信号的上升沿由系统程序调用用户编写的中断程序。



统一

  • 精华:1帖
  • 求助:0帖
  • 帖子:29帖 | 2186回
  • 年度积分:2
  • 历史总积分:2880
  • 注册:2012年3月02日
发表于:2012-07-22 23:50:05
1楼

这个东西区别大了,根本不是一个东西

 

abysmal

  • 精华:1帖
  • 求助:0帖
  • 帖子:13帖 | 2178回
  • 年度积分:6
  • 历史总积分:11194
  • 注册:2001年10月26日
发表于:2012-07-23 10:23:33
2楼
单片机 + Kernel + IEC61131解释器 + IEC61131编程软件 = PLC

建议删除该帖

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 580回
  • 年度积分:0
  • 历史总积分:2884
  • 注册:2010年9月08日
发表于:2012-07-23 10:56:51
3楼

“例如有人问是否需要用跳转指令来等待某个信号上升沿的出现,这是一种单片机编程的思维”

想当然的说法,可见写这文章的作者根本就没用过单片机,对单片机的认识还停留在书本阶段


热门招聘
相关主题

官方公众号

智造工程师