浅谈用单片机模拟PLC(山寨三菱系列)
个人觉得PLC和单片机的关系就好比图章和圆珠笔一样,图章操作简单傻子能盖出漂亮的图案但缺点也显而易见灵活性太差了你不能用图章盖出一些复杂的图案,圆珠笔就正好相反虽然操作难度大点但灵活性强了n个数量级。
本文引用地址:https://www.eepw.com.cn/article/201612/324257.htm既然单片机的灵活性那么强那么我们能用单片机来模拟PLC吗,很明显是可以的而且PLC的核心其实也是单片机,那么该怎么模拟PLC呢?PLC分程序和硬件部分,硬件部分主要是做好外围电路设计,实现PLC的IO输入输出功能,一般用光耦做IO口电路设计提高单片机的抗干扰能力,做好稳定的电源设计,电源是可靠性的基础。其实模拟PLC的关键再于程序部分,思路是写个编译器把梯形图编译成 单片机能执行的机器码,但写编译器工程太大了,我们只是模拟又不是造PLC所以不用考虑写那种直接把梯形图编译成机器码的编译器了,我们可以把编译过程分解为梯形图—>指令表—>C51代码—>机器码,这样的话问题就简单多了梯形图转指令表可以手工完成或者写个图形编辑程序来完成但这不是重点,指令表转C51代码才是模拟PLC的灵魂所在,虽然是个伪编译器但每条指令的翻译都是蛋疼的过程,我肯定是没办法把所有的三菱指令都模拟出来的,要完成这个任务还得认真学学编译原理啊……
这是PLC模拟程序的运行截图,对应指令表的逻辑,发现运行结果是正确的,虽然只完成了几条最简单指令的翻译而且与反指令还存在问题但毕竟思路是正确的完成只是时间问题了,太晚了不搞了果然比泥玛搬砖还辛苦想问题的时候根本睡不了……艾玛
评论