西门子PLC面向对象编程

时间:2023-03-07作者:佚名

面向对象编程是计算机高级语言的一种先进的编程模式,在工业控制系统的plc程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多优秀特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程的基本概念就是类和类的实例(即对象),我们只需要使用这种概念就可以了。在计算机编程中我们需要把一些事物抽象和归纳,才能编写类,而在工业控制系统中,控制对象如:电机,阀等等是很明显的控制类别,不需要抽象就可以很明显的针对它们编写类,以下将会用到西门子的Step7编程语言和施奈德的Unity 编程语言来讲解PLC的面向对象编程。

一、 实现方式

面向对象编程在Step7中使用功能块(即FB)编程,一谈到此大家就会想到西门子提出的模块化编程,不错,就是这个模块化编程,但西门子提出的模块化、背景数据块、多重背景等名词并不能让大家很明白的理解和使用这种优秀的设计理念。如果大家从面向对象编程的角度去理解,则可以很好的理解这种设计模式。“FB块”被看 成“类”,它可以被看成是对相似的控制对象的代码归纳,如对MM440的变频器可以编写FB块:MtrMM440,这在面向对象编程中称为“类”,当需要 编程控制具体的电机时,可以给它分配一个背景DB块,在面向对象编程中称为类的实现(即创建类的实例:对象),当需要控制多个电机时,可以分配不同的背景 DB到这个FB块,即创建类的多个实例。Step7中有另外一种程序块,即FC块,以FC块为主的编程在西门子中称为结构化编程,这也可以类比于计算机编程中的面向过程编程,即纯粹以函数为主体的编程。

施奈德的Unity软件编程可以更好的理解面向对象编程。它的DFB定义中包含输入/输出参数,私有/共有变量,以及代码实现,而这正是计算机的面向对象 编程中“类”的基本元素,而创建类的实例(对象)就像创建普通的“布尔”变量一样,只需在“Function Blocks”中定义这种“类”的变量即可。

Step7和Unity都可以采用面向过程和面向对象编程方式,这两种编程方式的区别类似于计算机高级语言中的C语言和C 语言编程的区别。

以下的讲解将会把Step7中的FB和Unity中的DFB称为“类”,Step7中的FB 背景DB以及Unity中DFB的实例称为“对象”。

二、 面向对象编程架构

以上讲解的是实现细节,而编程思想是建立在程序架构上的,不是某个局部使用了面向对象方式,则可以称之为这种编程就是面向对象编程。这种编程需要从以下方面着手:

1、 电路设计的结构化。

这里主要以自动线为主介绍,对于单机机床可以是它的简化结构,

<1>、自动线层:这是最高层次,它拥有一个主PLC,对属于它下面的各区域控制

<2>、工程层:拥有独立的配送电系统,但没有PLC,只有分布式模块,由自动线控制。顾名思义,它有着较大的独立性,可以作为一个单独的工程项目设计和制造,当自动线比较小时,可以省略该层次。

<3>、功能组层:根据工艺划分,将实现某一个工艺功能的区段设备划分为一个功能组,它隶属于工程层,当工程层被省略时,隶属于自动线层。

面向对象编程并不一定要求使用以上的结构,但好的电气结构更利于面向对象编程。

2、 任何控制对象逻辑都在“类”中实现。

为了做到这点,必须分析与控制对象相关的信息,譬如,对于一个电机,有以下相关的信息需要考虑:

输入信息:

<1>、电路保护信息,如电机的空气开关,热继电器等。

<2>、功能保护信息,如运动电机的限位开关,风机的风压开关,油泵的油位开关等。

<3>、启动和终止条件,以上的电路保护和功能保护都可能导致电机运转终止,复位也可能导致重启动,但这里的条件指的是正常运行的启动和终止条件,譬如顺序控制的流程步。

<4>、控制模式:如手动和自动等。

<5>、故障复位:通过复位信息,重新启动。

输出信息:

相关阅读

排查故障:贴片电容贴块是否是罪魁祸首

在电路中,有大量微小的电子元器件。因此,如果电路设计不当或电压不稳定,很容易导致故障。在这些故障中,贴片电容因其小体积和低电压承受能力,一旦出现故障,很难准确定位...
2023-08-09
排查故障:贴片电容贴块是否是罪魁祸首

验收、调试报告和竣工图

施工单位施工完毕后,有责任组织业主、设计院. 施工监理和有关部门进行施工验收,并做好验收整改和验收报告。 施工单位应负责局部调试和系统调试工作,并作出调试报告。 经施工...
2023-04-17
验收、调试报告和竣工图

通过上位或触摸屏对PLC中S5TIME类型的参数进行设定

1 、从上位机写整型数 INT 或实数 REAL 到 plc ,首先该数值需包含以毫秒为单位的时间值,在写入 PLC 的数据存储区后,利用 ITD ( Integer to Double Integer )或 RND ( Real to Double Integer with R...
2023-03-21

水电现场图片,看图找问题、提建议、共进步,你能找出几点错误?

水电现场图片, 看图找问题、提建议、共进步, 你能找出几点错误?下图是电井,木盒子是预留的桥架洞。 这么做............. 1、是否费工? 2、是否费材料? 3、这么做对后期是否留有质量...
2023-06-11
水电现场图片,看图找问题、提建议、共进步,你能找出几点错误?

常见电动机控制线路的功能与实际应用

直流电动机调速控制线路是一种可在负载不变的条件下,控制直流电动机稳速旋转和旋转速度的线路。 降压启动的直流电动机控制电路是指直流电动机启动时,将启动电阻RP串入直流电...
2023-06-25
常见电动机控制线路的功能与实际应用

热销商品

广东珠江电线电缆阻燃国标定制BYJBV BVR YJV YJY RVV RVS RV KVV

广东珠江电线电缆,专注于阻燃国标定制,产品涵盖BYJBVBVRYJVYJYRVVRVSRVKVV等多种规格。我们采用先进生产技术,严格遵循国家标准,确保产品质量可靠、性能稳定。产品适...
¥ 1

可换头防静电塑胶镊子ESD-7A/242/249/259防划伤夹IC硅晶片陶瓷头

ESD-7A/242/249/259是一款专为半导体行业设计的防静电塑胶镊子,有效防止静电对敏感电子元件的损害。其独特之处在于可更换的镊子头,包括专为夹持IC硅晶片和陶瓷元件...
¥ 2

公牛官方旗舰店开关插座空调16A插座五孔10A面板暗装多孔G12白灰

公牛官方旗舰店提供一系列高质量的开关插座和空调配件。这款16A插座五孔面板采用暗装设计,适用于多种安装环境,如墙面、天花板等。它具有10A的电流容量,可以满足家庭...
¥ 5.55

86型开关超薄自粘贴式防水罩浴霸开关家用防水盒浴室插座防溅盒子

86型开关超薄自粘贴式防水罩浴霸开关,是一种专为家用浴室设计的创新产品。其采用超薄设计,无需复杂布线,自粘贴式安装方式简洁高效,有效节省空间。防水罩有效阻挡水汽...
¥ 3.9

L型套筒扳手铣口烟斗双头弯头7字穿孔机修六角汽修轮胎工具6-19mm

L型套筒扳手是一款常用于工业领域的多功能工具,具备双头设计,可高效完成铣口、烟斗等多种工件孔位加工,适用六角汽修、轮胎等场景。其套筒尺寸为6-19mm,精准适配各类...
¥ 3.5

网站栏目