不管用梯形图,语句表还是结构化高级语言,在PLC的编程中结构化编程一向占据主导地位。这主要与被编程的对象息息相关。被编程的对象是具有物理实体的,比如电机、阀门,传感器。结构化编程对比OOP编程的特点就是线性的,一句一句的执行程序指令,这十分便于理解,不易出错。但是OOP编程就完全不一样了。就不是简单的线性执行了。这对于面向工业现场对象来讲是具有风险的,因为如果掌握不好,编程者甚至不知道自己所写的这行代码会执行什么,对所控制的电机会产生什么后果,也许就无意识的使得被控制的800KW电机运行起来了,造成不可挽回的设备甚至人员损失。
但是现在各个PLC厂家都在遵循IEC61131-3编程规范。而最新的规范中,包括了OOP编程。
在此背景下,本系列文档就是探寻PLC的OOP编程实现的过程,目的就是使得编程者对自己所写的每一行OOP代码做到心中有数,不犯大错误。
目前主流的支持PLC OOP的IDE有SIMENES的SIMATIC AX和CODESYS两种。截至到成稿之日,SIEMENS的SIMATIC AX是收费版本,普通人不容易接触到。所以本系列文档以CODESYS为范例。本人也是为了探寻PLC中OOP编程才开始学习CODESYS。希望与大家一起进步。
本系列文档旨在为熟悉结构化编程的PLC工程师解释OOP编程及注意事项。
在编写本系列文档的过程中,我也希望大家能够双向交流。有问题可以互动。
PLC OOP探秘系列的第一集就先从OOP中最基本的“类属性”谈起。