就个人经历谈谈我的看法吧,仅供参考。
07研究生期间,我当时研究方向是嵌入式,但因为老板的军工项目接触了PLC。项目是在国家的一个研究所后来改制成有限责任公司进行,目前应该是行业内非常大的一家企业了。一开始接触项目时,我发现是个大工程,涉及两台台PLC,其中PLC是三菱的,电机是安川的,开关是欧姆龙的,还有编码器是光阳的,编程语言梯形图居然有30000行代码。你知道要完成什么功能吗?一个智能军工焊接的系统工作站,简单理解就是焊接机器人群。而我们的项目目标是设计嵌入式pcb完全取代PLC。
最后的结果是我们设计了五块嵌入式pcb,一个作为主节点控制端,另外四块作为从节点执行端(这四块一模一样)完成了整个项目。代码行数最后统计2000行,完全的C语言+ucos操作系统就完成了,简单易懂。这些代码是我花不到一周完成的,而我当时去自学并完全弄懂梯形图花了1个月。其实,整个项目难点不在于软件这些,而是嵌入式硬件设计的可靠性怎么能在工业的强干扰情况下还稳定运行。
总之,我要说的是在工业方面,梯形图对于大型系统真的复杂,这个完全被嵌入式单片机秒杀了。当然前提是,你的嵌入式单片机能替代别人plc。
最早的PLC,是用继电器搭建的,用梯形图编程,只需要布尔代数基础,很适合电气工程师做简单开发应用。
随着单片机的发展,继电器逻辑很快被其代替,模入模出也成为标配。由于元件与工艺成熟,可靠性高,迅速得到普遍应用。
八十年代我用PLC开发国内同行第一套PLC应用的时候,还只是用手工编写梯形图,编程器输入。很麻烦。现在各种成熟开发环境早替代了原始编程器。更高效更不容易出错。很多当年用单片机自己搭系统的转向PLC,也就顺理成章了。
但是单片机仍然有自己的市场,首先大量嵌入式应用场合,例如智能洗衣机或者仪表,产量动辄几十万几百万,PLC的价格与体积无法承受。自己或委托开发单片机控制就是最常见模式。
其次是计算量较大的应用场合。这时候单片机、工业计算机就成为优选了。
我觉得没有那个必要非要被替换,PLC基于继电器逻辑控制演变而来的,是专门为在工业环境下应用而设计的数字运算操作电子系统。
PLC的CPU也是内嵌微处理器,是由微机技术和继电器常规控制概念相结合的产物。
它更能适应工业自动化控制,编程语言采用梯形图模式也更容易理解和操作,便于逻辑编写和维护。
反而单片机属于嵌入式开发产品,虽然编程语言高级,但不适用工业自动化设计,它要求设计者有计算机语言编程能力,设计开发庞大,在工厂里不适用。