西门子模块总代理商-武威地区
- 供应商
- 上海兆维智控科技有限公司
- 认证
- 企业认证实名实力商家
- 报价
- 请来电询价
- 品牌
- 西门子
- 型号
- 模块
- 产地
- 德国
- 关键词
- PLC,CPU,触摸屏,变频器,交换机,电机,电线,电缆,低压,
- 联系电话
- 15618725685
- 全国服务热线
- 15618725685
- 微信号
- 15618725685
- 邮箱
- 3998188751@qq.com
- 经理
- 岳经理
- 所在地
- 上海市奉贤区环城西路3111弄300号2幢1层
- 更新时间
- 2026-05-27 08:18
面向对象编程是计算机语言的一种先进的编程模式,在工业控制系统的PLC程序中也可以采用这种设计思想,虽然我们无法实现面向对象的很多特点如“继承”,甚至于它根本就不具备面向对象编程语言的特点,但面向对象编程的基本概念就是类和类的实例(即对象),我们只需要使用这种概念就可以了。在计算机编程中我们需要把一些事物抽象和归纳,才能编写类,而在工业控制系统中,控制对象如:电机,阀等等是很明显的控制类别,不需要抽象就可以很明显的针对它们编写类,以下将会用到西门子的Step7编程语言和施奈德的Unity编程语言来讲解PLC的面向对象编程。
一、 实现方式
面向对象编程在Step7中使用功能块(即FB)编程,一谈到此大家就会想到西门子提出的模块化编程,不错,就是这个模块化编程,但西门子提出的模块化、背景数据块、多重背景等名词并不能让大家很明白的理解和使用这种的设计理念。如果大家从面向对象编程的角度去理解,则可以很好的理解这种设计模式。“FB块”被看成“类”,它可以被看成是对相似的控制对象的代码归纳,如对MM440的变频器可以编写FB块:MtrMM440,这在面向对象编程中称为“类”,当需要编程控制具体的电机时,可以给它分配一个背景DB块,在面向对象编程中称为类的实现(即创建类的实例:对象),当需要控制多个电机时,可以分配不同的背景DB到这个FB块,即创建类的多个实例。Step7中有另外一种程序块,即FC块,以FC块为主的编程在西门子中称为结构化编程,这也可以类比于计算机编程中的面向过程编程,即纯粹以函数为主体的编程。
施奈德的Unity软件编程可以更好的理解面向对象编程。它的DFB定义中包含输入/输出参数,私有/共有变量,以及代码实现,而这正是计算机的面向对象编程中“类”的基本元素,而创建类的实例(对象)就像创建普通的“布尔”变量一样,只需在“FunctionBlocks”中定义这种“类”的变量即可。
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>、故障复位:通过复位信息,重新启动。
输出信息:
<1>、控制输出,如控制电机的主接触器。
<2>、状态信息输出
<3>、故障输出
.........
状态储存信息:
用于代码实现的中间变量以及可以被人机界面读出的状态变量等
把以上信息都整合到一个类中,并尽量使类的参数标准化。不过,同编程语言还是曾在一些差别,针对Step7,应该遵循的标准是:程序结构由FC实现,对象控制由FB实现,如下的一种结构体系(其电气结构来自上面的介绍):这只不过是一个粗略的PLC程序架构体系,好的架构应该更完善和科学。
3、 规划好数据结构
数据结构的定义相当重要,并尽量统一这些结构,不要顾虑存储空间,当今的PLC内存足以容纳大量的数据。说明一点的是在Step7中尽量不要在类的外部定义数据结构(UDT),而是在类里面定义,虽然会造成不同类中同一结构的重复性定义,但却提高了类的独立性。
在控制柜中安装 ET 200SP HA 站需要使用 DIN 导轨。接口模块的 IM 载体模块、I/O模块的载体模块以及服务模块安装到 DIN 导轨上。
提供了为 482 mm(用于安装在 19 英寸机架中)和 1500 mm(用于机柜内的大配置和垂直安装)的 DIN导轨。

IM 单载体模块

IM 冗余载体模块
接口模块的 IM 载体模块提供了两种用于接口模块的 IM 载体模块:
用于 1 个接口模块的 IM 单载体模块,用于单一连接到 PROFINET
用于 2 个接口模块的 IM 冗余载体模块,用于冗余连接到 PROFINET
IM 载体模块将接口模块连接到背板总线。它们可实现与 I/O 模块的数据交换。

I/O 模块的载体模块,8 插槽
I/O 模块的载体模块,2 插槽
I/O 模块的载体模块I/O 模块的插槽是通过将这些载体模块连接到端子排而产生的。
I/O 模块的载体模块分为以下几种类型:
载体模块,2 插槽,带 2 个用于 I/O 模块的插槽
载体模块,8 插槽,带 8 个用于 I/O 模块的插槽
载体模块,8 插槽,带 8 个用于 I/O 模块的插槽,不带电源总线功能
ET 200SP HA 服务模块
服务模块服务模块和电源总线盖让 ET 200SP HA 的设计变得完整。接口模块的每个 IM载体模块都提供了一个服务模块和一个电源总线盖。

我们是西门子工控产品专业服务提供商,欢迎来电来函咨询,合作共赢,共同发展!
一般项目:技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;软件开发;电子元器件与机电组件设备销售;电子元器件批发;工业自动控制系统装置销售;电气设备销售;电气设备修理;仪器仪表销售;仪器仪表修理;工业机器人安装、维修;工业机器人销售;专用设备修理;计算机及通讯设备租赁;机械设备租赁;电子产品销售;五金产品零售;金属材料销售;办公设备耗材销售;互联
SIEMENS 可编程控制器 1、 SIMATIC S7 系列 PLC:S7-200、S7-1200、S7-300、S7-400、ET-200 2、 逻辑控制模块 LOGO!230RC、230RCO、230RCL、24RC、24RCL 等 3、 SITOP 直流电源 24V DC 1.3A、2.5A、3A、5A、10A、20A、40A 可并联. 4、HMI 触摸屏 TD200 TD400C K-TP OP177 ...