我知道写这个肯定会引来争议,但我的目的不是为了形成PLC编程的鄙视链,而是对我这么多年编程心得的一个总结。同意的话您就点个赞,不同意的话就一笑而过。 L1 套用继电器控制方法,最典型的就是随处可见的启保停。所有程序都塞在OB里面,没有任何规划可言。 L2 已经可以简单的使用FB/FC将程序按照功能或者区域进行划分,部分程序被放到了FB或者FC中。但是这些划分并没有形成对设备或者工艺的抽象。这个层级还有一个特征是大量使用M点或者DB对I/O信号进行映射。 L3 了解一些简单的封装,一些功能会被封装到FB或者FC中,美其名曰模块化编程、标准化编程或其它新名词。这个层级的封装还比较原始,对面向对象的编程理念也还不是很理解。 L4 有高级语言编程基础,懂得将一些方法论用于PLC编程,比如使用接口进行约束等,这一层级比上一个层次的区别是在对象的抽象上,懂得合理运用属性,事件,方法等。这一阶段的程序看上去非常简洁,FB/FC通常占据了70%左右。 L5 这一层级最典型的就是自动编程,比如通过Openness根据配置生成程序,通过SiVarc生成画面等。当然并不是使用了Openness或者SiVArc就是第五层级,建立在L4之上的Openness&SiVArc才是第五层级。 在工控行业中,除极少部分人可能一开始遇到了良师,直接进入了L3外,绝大部分人都是从L1开始慢慢升级。