作为一个成熟的产品,“plc”有着高可靠性,使用方便,易于维护等优点,得到日益广泛的应用;有成熟的应用案例(如电梯)也应该说是一个很大的优势。但“于sun” 所言:“现在的工业场合单片机几乎淘汰啊,客观的说单纯的单片机只适合用在诸于玩具之类的小东西上,它的稳定性,防护等级,抗干扰能力...根本就没法跟plc比”是我所不能认同的。其实我们周围是一个单片机的海洋;我耽心有些人被淹没在这个海洋中而不自知,手机,手表,电视,电话,照像机,电冰箱,洗衣机,汽车,红绿灯几乎到处都有单片机的踪迹;医疗设备,仪器制造,工控产品也都离不开单片机,这哪是“几乎淘汰”的前景啊! “单纯的单片机”只是实验室的教具,不是参比对象,我们提的单片机和由其衍生的嵌入式系统才是和“PLC”比较的对象;如果需要,单片机完全可能按“PLC”的全部措施,提高可靠性;(但我无意非要改变电梯行业成功应用“PLC”的事实。)民用市场的大批量需求造成单片机有着极高的性价比,单片机和由其衍生的嵌入式系统,会和 PLC 长期存在并竟争着;由于单片机尺寸更小,硬件成本更低,所以在大批量的产品中(如汽车,家电),在尺寸敏感的产品中(如仪表),PLC 不得不避让单片机。希望大家在关注“PLC”的同时,关注单片机和由其衍生的嵌入式系统。
从发展历史上来看,PLC源于继电器,单片机源于工业仪表,在一些特定的行业里,已经有了很多固定的硬件架构,这也限制了后来设计者的思路。通常环境通常要求,二者都可以将功能实现的很好。至于为什么这个公司会选择PLC或者单片机,可能仅仅因为这个公司的习惯以及受到某个行业传统的影响。至于价格,做少量设备的话,很难看出价格优势,而且由于电气控制在总成本里面占的比重比较小,大家也都不是过分关注。只要有成功的案例,证明PLC和单片机可以完成,那就没有问题,但如果这个行当都不采用PLC/单片机,那就说明可能这种系统的某个劣势恰好在这个行业中被暴露出来,例如速度,例如安全性。
单片机与PLC的程序设计有很大的区别,单片机的全部程序都是用户设计的,PLC的程序包括系统程序(西门子称为操作系统)和用户程序。操作系统用来组织与具体的控制任务无关的所有的CPU功能。操作系统的任务包括处理启动过程,刷新输入/输出过程映像,调用用户程序,检测中断事件和调用中断组织块,检测和处理错误,管理存储器,以及处理通信任务等。PLC的很多功能,例如扫描工作方式、定时器功能和中断处理,是操作系统完成的。在画流程图时,应考虑这个问题。 PLC的开关量控制系统的程序用顺序功能图来描述比较简洁。用流程图来描述PLC的用户程序原则上也是可以的,但是应区分哪些功能是操作系统完成的,哪些是用户程序实现的。 例如有人问是否需要用跳转指令来等待某个信号上升沿的出现,这是一种单片机编程的思维。PLC的扫描工作方式在每一扫描周期开始时读取全部的开关量输入,根据前后两个扫描周期同一输入点状态的变化来判断是否有上升沿出现。所以不需要用往回跳的跳转指令来等待某个输入信号的出现。如果用这种方法来查询信号的状态变化,PLC不能干别的事情,因为它的全部精力都用在查询上了!而这种查询是在一个扫描周期内进行的,将使扫描周期变得很长,很容易造成监控定时器(看门狗)超时的错误。 在PLC的用户程序中,只需要用一条检测上升沿的指令就可以捕捉到脉冲信号的上升沿。如果要求快速响应,可以采用中断方式,在脉冲信号的上升沿由系统程序调用用户编写的中断程序。 |