课程中心
HOME
课程中心
正文内容
PLC 对象编程 学plc编程所需要的15个基础,你知道几个?
发布时间 : 2025-01-20
作者 : 小编
访问数量 : 23
扫码分享至微信

学plc编程所需要的15个基础,你知道几个?

从事电力作业的人员都知道,工业生产和科技的发展都离不开PLC的自动化控制,PLC可以广义的理解为:集中的继电器延伸控制柜,实际的生产应用中,PLC大大的节省了工业控制的成本,加强了设备的集中管理和自动控制,想要学好PLC,首先PLC的基础需要扎实。

1、从PLC 的组成来看, 除 CPU ,存储器及通信接口外,与工业现场直接有关的还有哪些接口?并说明其主要功能。 

(1)输入接口:接受被控设备的信号,并通过光电耦合器件和输入电路驱动内部电路接通或断开。

(2)输出接口:程序的执行结果通过输出接口的光电耦合器件和输出组件 (继电器、 晶闸管、晶体管)输出,控制外部负载的接通或断开。

2、 PLC 的基本单元由哪几个部份组成?各起什么作用? 

(1) CPU :PLC 的核心部件,指挥 PLC 进行各种工作。如接受用户程序和数 据、诊断、执行执行程序等;

(2)存储器:存储系统和用户的程序和数据;

(3) I / O接口:PLC 与工业生产现场被控对象之间的连接部件,用来接受被控设 备的信号和输出程序的执行结果;

(4)通信接口:通过通信接口与监视器、打印机等其他设备进行信息交换;

(5)电源。

3、 PLC 开关量输出接口有哪几种类型?各有什么特点? 

晶闸管输出型:一般情况下,只能带交流负载,响应速度快,动作频率高;

晶体管输出型:一般情况下,只能带直流负载,响应速度快,动作频率高;

继电器输出型:一般情况下,可带交、直流负载,但其响应时间长,动作频率低。

4、按结构型式分, PLC 有哪几种类型?各有什么特点? 

(1)整体式:将 CPU 、 电源、 I/O部件都集中在一个机箱内,结构紧凑、 价格低,一般小型 PLC 采用这种结构;

(2)模块式:将 PLC 的各个部分分成若干个单独的模块,可根据需要选配不同模块组成一个系统, 具有配置灵活、 方便扩展和维修的特点, 一般中、 大型 PLC 采用这种结构。模块式 PLC 由框架或基板和各种模块组成,模块装在框架或基板的插座上。

(3)叠装式:结合了整体式和模块式的特点,叠装式 PLC 的 CPU 、电源、 I/O 接口 等也是各自独立的模块,但它们之间是靠电缆连接,使得系统不仅配置灵活 而且体积小巧。

 5、什么叫 PLC 的扫描周期?它主要受什么影响? 

PLC 的扫描过程包含内部处理、通信服务、输入处理、程序执行、输出 处理 五个阶段,这五个阶段扫描一次所需的时间称为扫描周期。

扫描周期与 CPU 运行速度、 PLC 硬件配置和用户程序长短有关。

6、 PLC 采用什么方式执行用户程序?用户程序执行过程包括哪些阶段? 

PLC 采用循环扫描的方式执行用户程序,用户程序的执行过程包括输入采样阶段、程序执行阶段和输出刷新阶段。

7、 PLC 控制系统与继电器控制系统相比,具有哪些优点? 

(1) 控制方法上:PLC 采用程序方式实现控制, 容易改变或增加控制要求, 且 PLC 的触点无限;

(2)工作方式上:PLC 采用串行工作方式,提高系统的抗干扰能力;

(3)控制速度上:PLC 的触点实际上是触发器,指令执行的时间在微秒级;

(4) 定时和计数上:PLC 采用半导体集成电路作定时器, 时钟脉冲由晶振提供,延时 精度高,范围宽。 PLC 具有继电器系统不具备的计数功能;

(5)可靠性和可维护性上:PLC 采用微电子技术,可靠性高,所具有的自检功能能 及时查出

8、 PLC 为什么会产生输出响应滞后现象?如何提高 I/O响应速度?

因为 PLC 采用集中采样、集中输出的循环扫描工作方式,输入端的状态只在 每个扫描周期的输入采样阶段才能被读入, 而程序的执行结果只在输出刷新阶段才 被送出; 其次 PLC 的输入、 输出延延迟, 用户程序的长度等均能引起输出响应滞后。

要提高 I/O响入采样、输出刷新,或直接输入采样、输 出刷 新,以及中断输入输出和智能化 I/O接口等多种方式。

9、 西门子 系列 PLC 内部软继电器有哪几种? 

输入继电器、输出继电器、辅助继电器、状态寄存器、定时器、计数器、 数据 寄存器。

10、如何选择 PLC ?

1) 机型选择:应从结构形式、 安装方式、 功能要求、 响应速度、 可靠 性要求、 机型统一等几个方面考虑;

2)容量选择:应从 I/O点数、用户存储容量两个方面考虑;

3) I/O模块选择:包括开关量和模拟量 I/O模块选择, 以及特殊功能模块的 选择;

4)电源模块及编程器等其它设备的选择

11、 简单叙述 PLC 集中采样、 集中输出工作方式的特点, 采用这种工作方式具有哪些优、缺点? 

集中采样:在一个扫描周期内,对输入状态的采样只在输入采样阶段进行, 当进入程序执行阶段后输入端将被封锁。

集中输出:在一个扫描周期内, 只有在输出 刷新阶段才将输出映像寄存器中与输出有关的状态转存到输出锁存器中, 对输出接 口进行刷新,在其他阶段输出 状态一直保存在输出映像寄存器中。采用这种工作 方式可提高系统的抗干扰能力,增强系统的可靠性,但会引起 PLC 输入 /输出响应 的滞后。

12、 PLC 采用什么样的工作方式?有何特点? 

PLC 采用集中采样、集中输出、循环扫描的工作方式。

特点:集中采样是指在一个扫描周期内, PLC 对输入状态的采样只在输入采 样阶 段进行, 当进入程序执行阶段后输入端将被封锁。

集中输出是指在一个扫描周期内, PLC 只在输出刷新阶段才将输出映像寄存 器中与输出有关的状态转存到输出锁存 器中, 对输出接口进行刷新,在其他阶段 输出状态一直保存在输出映像寄存器中。

循环扫描是指 PLC 在一个扫描周期内需要执行多个操作, 它采用分时扫描的方式 按顺序逐个执行,周而复始重复运行。

13、电磁接触器主要由哪几部分组成?简述电磁接触器的工作原理。 

电磁接触器一般由电磁机构、触点、灭弧装置、释放弹簧机构、支架与底座 等几部分组成。 接触器根据电磁原理工作:当电磁线圈通电后, 线圈电流产生磁场, 使静铁心产生电磁吸力吸引衔铁, 并带动触点动作,使常闭触点断开, 常开 触点闭合, 两者是联动的。 当线圈断电时, 电磁力消失, 衔铁在释放弹簧的作用下降放,使触点复原,即常开触点断开,常闭触点闭合。

14、简述可编程序控制器(PLC )的定义。 

可编程控制器(PLC )是一种专门为在工业环境下应用而设计的数字运算操 作的电子装置。 它采用可以编制程序的存储器, 用来在其内部存储执行逻辑运算、 顺序运算、 计时、 计数和算术运算等操作的指令, 并能通过数字式或模拟式的输 入和输出, 控制各种类型的机械或生产过过程。

PLC 及其有关的外围设备都应按照易于与工业控制系统形成一个整体,易于扩展其功能的原则而设计。

15、简答 PLC 系统与继电接触器系统工作原理的差别。 

组成器件不同;

触点数量不同;

实施控制的方法不同;

PLC程序设计|简化程序元素的最佳方式——面向对象编程

摘要

面向对象编程,是一种利用对象、方法和属性,来组织和简化程序元素的最佳方式。

最新发布的IEC-61131-3标准更新包括面向对象编程(OOP)语言。虽然面向对象编程是高大上的术语,但它其实是关于组织和简化的。组织是指程序元素进行分组以及分组所采用的机制。组织良好的程序更直观和更易于使用。面向对象的特征旨在改善和促进健全的组织项目。简化是指向外部世界提供简化的接口。封装之下,对象内部的复杂细节则保留在程序中。

何为对象?

编程中的“对象”,就是将功能和数据整合在一起,用其来实现对实际设备、过程和其它结构的状态和行为的建模。 在IEC 61131-3标准中,对象是带额外特性的功能块。功能块可以定义方法和属性,从而可以进一步划分代码和扩展接口。方法和属性可以使用任何IEC-61131-3语言来实现。语言的选择在每个方法或属性的基础上确定,这使其很容易根据环境来使用最适合的语言。

示例项目包含一个功能块,该功能块实现一个简单的加/减计数器(如图1所示)。在其它面向对象编程(OOP)语言中使用的“类”,是“函数功能块”的同义词。两者的定义都必须在使用前进行实例化。类的实例或功能块被称为“对象”。

图1:该示例工程包含了一个简单的增/减计数器的功能块。图片来源: Mitek 自动化

定义方法

“方法”,是能够访问所定义的函数块内部数据和参数的函数。 它们也可以有输入、输出参数和返回值,这和普通函数一样。

方法,可以用梯形图来定义。 当输入参数为“真”时,计数器递增,最后达到一个最大值。在功能块的主体中,定义PMaxCount和Count参数。由于方法可以访问功能块的数据和参数,方法内部就可以使用PMaxCount和Count参数。返回值被写入到CountUp,它是方法本身的名字。

在方法中定义NotMax变量,并将其分配给方法的调用堆栈。 这意味着,前一个运行周期的变量值不会保持。在功能块主体中定义的变量被分配到内存中,并在不同的运行周期中保持一致。

另一种方法是定义递减计数器,比如使用结构化文本语言来实现。 当输入参数为“真”时,计数器递减,直到减为零为止。Count 是功能块的输出参数,并将返回值写入变量CountDn,这也是方法的名称。此方法提供了一种简单方便的方法,将整个程序分解成更小、更易于管理的程序块。这种设计,更易于匹配不同的语言。

从函数块本体调用这些方法,是很简单的事情(如图2所示)。 由于这些方法是使用关键字“私有”定义的,所以只能在函数中调用它们。使用关键字“公共”定义的方法,也可以在外部调用。

图2:用户可以从功能块本体来调用这些方法,并使用关键词作为方法的防护。

定义属性

“属性”是类似于变量的函数,可以在表达式中使用,与使用变量的方法相同。 不同于绑定到某个存储位置,属性与get()和set()功能绑定。当需要从属性中读取数据时,就需要执行get()功能。当需要向属性写入数据时,就需要执行set()功能。

“公有”与“私有”关键词,也可以用来控制属性的访问权限。 “私有”意味着属性只能在定义的功能块内部使用。“公有”,则意味着该属性可用在外部调用。然而,“公有”与“私有”关键词也可以用于get()和set()函数的定义。这就使得该属性,外部可读,内部可写。

在最基本的形式中,属性从内部变量读取、或写入数据。 它们的附加功能可用于验证数据值或执行其它操作。例如,可在程序中添加MaxCount属性。这允许将最大计数设置为指定的值,且其当前值可读。数据通过MaxCount属性传递给set()和get()函数,就像变量一样。get()函数返回功能块变量PMaxCount的值。set()函数验证输入值,以便在将结果写入PMaxCount之前确保它是一个正数。

图3:重置属性没有潜在读写操作对象。

在图3所示的例子中,在项目中增加了使用梯形图语言实现的复位功能。重置属性没有潜在的读写操作对象变量。当写入“真”时,执行复位操作。当读取属性时,计算表达式的值,并返回结果。

值得一提的是,项目结构和组织如何反映到项目树中。 在项目中,每个程序、函数块、方法和属性都用一个节点表示。双击节点,就会在主窗口的文档页打开一个选项卡。标签可以被移除并以单独的窗口显示。get()和set()功能都可以单独显示,因此可以用于属性定义的显示。

图4:程序可以像功能块一样定义内部数据、参数、方法和属性。

面向对象程序元素的优化

面向对象包括很多,但它最根本的目的就是以一种最优的方式组织程序元素。 对象、方法和属性,是实现这一目标的主要手段,对于理解和掌握这些概念,是最基本的。

项目初期,可采用较小的程序步骤来组织常规程序;基于对象的设计可以稍后进行。熟悉使用这些技术以后,会让你更容易考虑所有其它的可能性。没有理由不做尝试。

本文来自于《控制工程中文版》(CONTROL ENGINEERING China )2017年9月刊《技术进展》栏目,原标题为:PLC程序设计:面向对象编程

相关问答

plc没有设备没有网络怎么编程?

PLC没有设备没有网络是不能进行编程的。1.PLC作为工业自动化控制系统中的主要控制器件,必须要有设备和网络才能发挥作用。如没有设备,则没有具体的控制对象;...

PlC的程序怎么编写?

编写PLC程序需要遵循一定的步骤。首先,需要进行需求分析,确定系统的功能和操作流程。然后,根据需求设计程序结构,包括输入输出模块的配置和信号处理逻辑。...

想学一下PLC编程,求推荐学习的书籍资料?申请方

闲话就不说了吧,直接推荐下我正在用的教材吧。首先我用的是清华大学出版社王阿根主编的《电气可编程控制原理与应用》这本书,这本书主要是因为日本...

plc如何控制LabVIEW虚拟对象?

PLC控制labview这个还真没听说,顶多就是plc里面某个输出寄存器或者继电器的值变了之后labview程序或者VI可以产生相应的响应!一般来说,都是labview编写上位机...

plc程序的bug是怎么回事?

BUG就是程序逻辑疏漏或缺陷及潜在缺陷,没有漏洞这一说。因为PLC程序不能像电脑一样打补丁而只能修改编写。BUG是电脑编程的专业术语。但PLC里一般不会用BUG这...

plc里bug是什么意思?

BUG就是程序逻辑疏漏或缺陷及潜在缺陷,没有漏洞这一说。因为PLC程序不能像电脑一样打补丁而只能修改编写。BUG是电脑编程的专业术语。但PLC里一般不会用BUG这...

plc编程方框p是什么?

plc(P)是指边沿检测脉冲指令。指令作用:LDP(取脉冲上升沿)是上升沿检测运算开始指令,LDF(取脉冲下降沿)是下降沿脉冲运算开始指令,ANDP(与脉冲上升沿...指令...

PLC编程中,PLS指令如何使用,有和妙用方法?

PLC编程中,PLS指令如何使用,有何妙用方法,首先我们来说下PLS指令,它呢是脉冲指令,仅在驱动输入ON以后的1个运算周期内,对象软元件动作,与其对应的还有一个...PLC...

如何提高自己的PLC编程能力?

如何提高自己的PLC编程能力首先我们看一下PLC的编程都支持哪些语言,有主要梯形图、指令表、步进梯形图(顺序功能图)、ST文本语言、结构化梯形图/FBD,对于我们...

plc编程中的fun是什么?

在PLC编程中,"fun"通常是指功能块(FunctionBlock)的缩写。功能块是一种可重用的程序模块,用于封装特定的功能或操作。它可以包含输入、输出、内部变量和逻辑...

 401k  5233诺基亚 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2025  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部