PLC基础入门

PLC编程入门基础技术知识学习

2016-06-27  xjp7879  摘自 电工技术知...

第一章  可编程控制器简介

可编程序控制器,英文称Programmable Controller,简称PC。但由于PC容易和个人计算机(Personal Computer)混淆,故人们仍习惯地用PLC作为可编程序控制器的缩写。它是一个以微处理器为核心的数字运算操作的电子系统装置,专为在工业现场应用而设计,它采用可编程序的存储器,用以在其内部存储执行逻辑运算、顺序控制、定时/计数和算术运算等操作指令,并通过数字式或模拟式的输入、输出接口,控制各种类型的机械或生产过程。PLC是微机技术与传统的继电接触控制技术相结合的产物,它克服了继电接触控制系统中的机械触点的接线复杂、可靠性低、功耗高、通用性和灵活性差的缺点,充分利用了微处理器的优点,又照顾到现场电气操作维修人员的技能与习惯,特别是PLC的程序编制,不需要专门的计算机编程语言知识,而是采用了一套以继电器梯形图为基础的简单指令形式,使用户程序编制形象、直观、方便易学;调试与查错也都很方便。用户在购到所需的PLC后,只需按说明书的提示,做少量的接线和简易的用户程序编制工作,就可灵活方便地将PLC应用于生产实践。

一、PLC的结构及各部分的作用

    PLC的类型繁多,功能和指令系统也不尽相同,但结构与工作原理则大同小异,通常由主机、输入/输出接口、电源扩展器接口和外部设备接口等几个主要部分组成。PLC的硬件系统结构如下图所示:

 
                       图1-1-1

1、主机

主机部分包括中央处理器(CPU)、系统程序存储器和用户程序及数据存储器。CPU是PLC的核心,它用以运行用户程序、监控输入/输出接口状态、作出逻辑判断和进行数据处理,即读取输入变量、完成用户指令规定的各种操作,将结果送到输出端,并响应外部设备(如电脑、打印机等)的请求以及进行各种内部判断等。PLC的内部存储器有两类,一类是系统程序存储器,主要存放系统管理和监控程序及对用户程序作编译处理的程序,系统程序已由厂家固定,用户不能更改;另一类是用户程序及数据存储器,主要存放用户编制的应用程序及各种暂存数据和中间结果。

2、输入/输出(I/O)接口

I/O接口是PLC与输入/输出设备连接的部件。输入接口接受输入设备(如按钮、传感器、触点、行程开关等)的控制信号。输出接口是将主机经处理后的结果通过功放电路去驱动输出设备(如接触器、电磁阀、指示灯等)。I/O接口一般采用光电耦合电路,以减少电磁干扰,从而提高了可靠性。I/O点数即输入/输出端子数是PLC的一项主要技术指标,通常小型机有几十个点,中型机有几百个点,大型机将超过千点。

3、电源

    图中电源是指为CPU、存储器、I/O接口等内部电子电路工作所配置的直流开关稳压电源,通常也为输入设备提供直流电源。

4、编程

    编程是PLC利用外部设备,用户用来输入、检查、修改、调试程序或监示PLC的工作情况。通过专用的PC/PPI电缆线将PLC与电脑联接,并利用专用的软件进行电脑编程和监控。

5、输入/输出扩展单元

I/O扩展接口用于将扩充外部输入/输出端子数的扩展单元与基本单元(即主机)连接在一起。

6、外部设备接口

此接口可将打印机、条码扫描仪,变频器等外部设备与主机相联,以完成相应的操作。

实验装置提供的主机型号有西门子S7-200系列的CPU224(AC/DC/RELAY)。输入点数为14,输出点数为10;CPU226(AC/DC/RELAY),输入点数为26,输出点数为14。

二、PLC的工作原理

PLC是采用“顺序扫描,不断循环”的方式进行工作的。即在PLC运行时,CPU根据用户按控制要求编制好并存于用户存储器中的程序,按指令步序号(或地址号)作周期性循环扫描,如无跳转指令,则从第一条指令开始逐条顺序执行用户程序,直至程序结束。然后重新返回第一条指令,开始下一轮新的扫描。在每次扫描过程中,还要完成对输入信号的采样和对输出状态的刷新等工作。

PLC的一个扫描周期必经输入采样、程序执行和输出刷新三个阶段。

PLC在输入采样阶段:首先以扫描方式按顺序将所有暂存在输入锁存器中的输入端子的通断状态或输入数据读入,并将其写入各对应的输入状态寄存器中,即刷新输入。随即关闭输入端口,进入程序执行阶段。

PLC在程序执行阶段:按用户程序指令存放的先后顺序扫描执行每条指令,经相应的运算和处理后,其结果再写入输出状态寄存器中,输出状态寄存器中所有的内容随着程序的执行而改变。

输出刷新阶段:当所有指令执行完毕,输出状态寄存器的通断状态在输出刷新阶段送至输出锁存器中,并通过一定的方式(继电器、晶体管或晶闸管)输出,驱动相应输出设备工作。

三、PLC的程序编制

编程元件

    PLC是采用软件编制程序来实现控制要求的。编程时要使用到各种编程元件,它们可提供无数个动合和动断触点。编程元件是指输入寄存器、输出寄存器、位存储器、定时器、计数器、通用寄存器、数据寄存器及特殊功能存储器等。

 PLC内部这些存储器的作用和继电接触控制系统中使用的继电器十分相似,也有“线圈”与“触点”,但它们不是“硬”继电器,而是PLC存储器的存储单元。当写入该单元的逻辑状态为“1”时,则表示相应继电器线圈得电,其动合触点闭合,动断触点断开。所以,内部的这些继电器称之为“软”继电器。

S7-200系列CPU224、CPU226部分编程元件的编号范围与功能说明如下表所示

表1-1-1

元件名称

符号

编号范围

功  能  说  明

输入寄存器

I

I0.0~I1.5共14点

接受外部输入设备的信号

输出寄存器

Q

Q0.0~Q1.1共10点

输出程序执行结果并驱动外部设备

位存储器

M

M0.0~M31.7

在程序内部使用,不能提供外部输出

 

 

 

定时器

          

 

256(T0~t255)

T0,T64

保持型通电延时1ms

T1~T4,T65~T68

保持型通电延时10ms

T5~T31,T69~T95

保持型通电延时100ms

T32,T96

ON/OFF延时,1ms

T33~T36,T97~T100

ON/OFF延时,10ms

T37~T63,T101~T255

ON/OFF延时,100ms

计数器

C

C0~C255

加法计数器,触点在程序内部使用

高速计数器

HC

HC0~HC5

用来累计比CPU扫描速率更快的事件

顺控继电器

S

S0.0~S31.7

提供控制程序的逻辑分段

变量存储器

V

VB0.0~VB5119.7

数据处理用的数值存储元件

局部存储器

L

LB0.0~LB63.7

使用临时的寄存器,作为暂时存储器

特殊存储器

SM

SM0.0~SM549.7

CPU与用户之间交换信息

特殊存储器

SM(只读)

SM0.0~SM29.7

接受外部信号

累加寄存器

AC

AC0~AC3

用来存放计算的中间值

2、编程语言

    所谓程序编制,就是用户根据控制对象的要求,利用PLC厂家提供的程序编制语言,将一个控制要求描述出来的过程。PLC最常用的编程语言是梯形图语言和指令语句表语言,且两者常常联合使用。

梯形图(语言)

梯形图是一种从继电接触控制电路图演变而来的图形语言。它是借助类似于继电器的动合、动断触点、线圈以及串、并联等术语和符号,根据控制要求联接而成的表示PLC输入和输出之间逻辑关系的图形,直观易懂。


梯形图中常用 图形符号分别表示PLC编程元件的动合和动断触点;

用 ( ) 表示它们的线圈。梯形图中编程元件的种类用图形符号及标注的字母或数加以区别。触点和线圈等组成的独立电路称为网络,用编程软件生成的梯形图和语句表程序中有网络编号,允许以网络为单位给梯形图加注释。

    梯形图的设计应注意到以下三点:

    ①梯形图按从左到右、自上而下地顺序排列。每一逻辑行(或称梯级)起始于左母线,然后是触点的串、并联接,最后是线圈。

    ②梯形图中每个梯级流过的不是物理电流,而是“概念电流”,从左流向右,其两端没有电源。这个“概念电流”只是用来形象地描述用户程序执行中应满足线圈接通的条件。

    ③输入寄存器用于接收外部输入信号,而不能由PLC内部其它继电器的触点来驱动。因此,梯形图中只出现输入寄存器的触点,而不出现其线圈。输出寄存器则输出程序执行结果给外部输出设备,当梯形图中的输出寄存器线圈得电时,就有信号输出,但不是直接驱动输出设备,而要通过输出接口的继电器、晶体管或晶闸管才能实现。输出寄存器的触点也可供内部编程使用。

2)指令语句表

    指令语句表是一种用指令助记符来编制PLC程序的语言,它类似于计算机的汇编语言,但比汇编语言易懂易学,若干条指令组成的程序就是指令语句表。一条指令语句是由步序、指令语和作用器件编号三部分组成。

下例为PLC实现三相鼠笼电动机起/停控制的两种编程语言的表示方法:

 KM  I0.0 I0.1 Q0.0  步序   指令语    器件号



                     
   

第二章  基本指令简介

 

S7-200的SIMATIC基本指令简表:

助记符

节点命令

功能说明

LD

LDN

N

N

装载(开始的常开触点)

取反后装载(开始的常闭触点)

A

AN

N

N

与(串联的常开触点)

取反后与(串联的常闭触点)

O

ON

N

N

或(并联的常开触点)

取反后或(并联的常闭触点)

EU

ED

 

上升沿检测

下降沿检测

=

N

赋值

S

R

S_BIT,N

S_BIT,N

置位一个区域

复位一个区域

SHRB

DATA,S_BIT,N

移位寄存器

SRB

SLB

OUT,N

OUT,N

字节右移N位

字节左移N位

RRB

RLB

OUT,N

OUT,N

字节循环右移N位

字节循环左移N位

TON

TOF

Txxx,TP

Txxx,TP

通电延时定时器

断电延时定时器

CTU

CTD

Cxxx,PV

Cxxx,PV

加计数器

减计数器

END

 

程序的条件结束

STOP

 

切换到STOP模式

JMP

N

跳到指定的标号

ALD

OLD

 

电路块串联

电路块并联

     (其他指令见附表)

一、标准触点指令

LD动合触点指令,表示一个与输入母线相连的动合触点指令,即动合触点逻辑运算起始。

LDN动断触点指令,表示一个与输入母线相连的动断触点指令,即动断触点逻辑运算起始。

A 与动合触点指令,用于单个动合触点的串联。

AX 与非动断触点指令,用于单个动断触点的串联。

O 或动合触点指令,用于单个动合触点的并联。

ON 或非动断触点指令,用于单个动断触点的并联。

LD、LDN、A、AN、O、ON触点指令中变量的数据类型为布尔(BOOC)型。LD、LDN两条指令用于将接点接到母线上,A、AN、O、ON指令均可多次重复使用,但当需要对两个以上接点串联连接电路块的并联连接时,要用后述的OLD指令。

例子:

 

步序

指令

器件号

步序

指令

器件号

0

LD

I0.0

5

=

Q0.3

1

AN

I0.1

6

=

Q0.4

2

O

I0.2

7

AN

I0.5

3

A

I0.3

8

=

Q0.5

4

ON

I0.4

   

 

二、串联电路块的并联连接指令OLD

两个或两个以上的接点串联连接的电路叫串联电路块。串联电路块并联连接时,分支开始用LD、LDN指令,分支结束用OLD指令。OLD指令与后述的ALD指令均为无目标元件指令,而两条无目标元件指令的步长都为一个程序步。OLD有时也简称或块指令。

三、并联电路的串联连接指令ALD

两个或两个以上接点并联电路称为并联电路块,分支电路并联电路块与前面电路串联连接时,使用ALD指令。分支的起点用LD、LDN指令,并联电路结束后,使用ALD指令与前面电路串联。ALD指令也简称与块指令,ALD也是无操作目标元件,是一个程序步指令。

四、输出指令 =

1、= 输出指令是将继电器、定时器、计数器等的线圈与梯形图右边的母线直接连接,线圈的右边不允许有触点,在编程中,触点以重复使用,且类型和数量不受限制。

五、置位与复位指令S、R

S为置位指令,使动作保持;R为复位指令,使操作保持复位。从指定的位置开始的N个点的寄存器都被置位或复位,N=1~255如果被指定复位的是定时器位或计数器位,将清除定时器或计数器的当前值。

六、跳变触点EU,ED

正跳变触点检测到一次正跳变(触点的入信号由0到1)时,或负跳变触点检测到一次负跳变(触点的入信号由1到0)时,触点接通到一个扫描周期.正/负跳变的符号为EU和ED,他们没有操作数,触点符号中间的”P”和”N”分别表示正跳变和负跳变

七、空操作指令NOP

NOP指令是一条无动作、无目标元件的一个序步指令。空操作指令使该步序为空操作。用NOP指令可替代已写入指令,可以改变电路。在程序中加入NOP指令,在改动或追加程序时可以减少步序号的改变。

八、程序结束指令END

END是一条无目标元件的一序步指令。PLC反复进行输入处理、程序运算、输出处理,在程序的最后写入END指令,表示程序结束,直接进行输出处理。在程序调试过程中,可以按段插入END指令,可以按顺序扩大对各程序段动作的检查。采用END指令将程序划分为若干段,在确认处于前面电路块的动作正确无误之后,依次删去END指令。要注意的是在执行END指令时,也刷新监视时钟。

 

 

第三章  可编程控制器梯形图编程规则

 

一、编程的几个步骤

(一)决定系统所需的动作及次序。

    当使用可编程控制器时,最重要的一环是决定系统所需的输入及输出。输入及输出要求:

第一步是设定系统输入及输出数目。

第二步是决定控制先后、各器件相应关系以及作出何种反应。

(二)对输入及输出器件编号

    每一输入和输出,包括定时器、计数器、内置寄存器等都有一个唯一的对应编号,不能混用。

(三)画出梯形图。

    根据控制系统的动作要求,画出梯形图。

    梯形图设计规则

(1)触点应画在水平线上,并且根据自左至右、自上而下的原则和对输出线圈的控制路径来画。

(2)不包含触点的分支应放在垂直方向,以便于识别触点的组合和对输出线圈的控制路径。

(3)在有几个串联回路相并联时,应将触头多的那个串联回路放在梯形图的最上面。在有几个并联回路相串联时,应将触点最多的并联回路放在梯形图的最左面。这种安排,所编制的程序简洁明了,语句较少。

(4)不能将触点画在线圈的右边。

(四)将梯形图转化为程序

    把继电器梯形图转变为可编程控制器的编码,当完成梯形图以后,下一步是把它的编码编译成可编程控制器能识别的程序。

    这种程序语言是由序号(即地址)、指令(控制语句)、器件号(即数据)组成。地址是控制语句及数据所存储或摆放的位置,指令告诉可编程控制器怎样利用器件作出相应的动作。

(五)在编程方式下用键盘输入程序。

(六)编程及设计控制程序。

(七)测试控制程序的错误并修改。

(八)保存完整的控制程序。

转载于:https://www.cnblogs.com/oxspirt/p/6954189.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400792.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Xcode 的正确打开方式——Debugging

2019独角兽企业重金招聘Python工程师标准>>> 程序员日常开发中有大量时间都会花费在 debug 上,从事 iOS 开发不可避免地需要使用 Xcode。这篇博客就主要介绍了 Xcode 中几种能够大幅提升代码调试效率的方式。 “If debugging is the process of removing…

VS Code 调试 PHP有关配置

一、安装VS CODE 、 WampServer 二、用VS Code 打开php项目后,提示 "Cannot validate since no PHP executable is set. Use the setting php.validate.executablePath to configure the PHP executable." 解决方法如下: 在“文件”-“首选项”…

MSP430F5529 DriverLib 库函数学习笔记(十六)比较器B Comp_B

目录硬知识比较器B介绍比较器 B 的特点比较器 B 的结构模拟输入部分比较部分基准电压部分低通滤波部分比较器和普通运放的区别比较器B测量电阻原理利用比较器B实现电容触摸按键原理比较器B控制寄存器COMP_B API (机翻)介绍处理初始化和输出的函数参数处理中断的函数参数处理COM…

深入解析kubernetes controller-runtime

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

数据结构练习 00-自测3. 数组元素循环右移问题 (20)

一个数组A中存有N(N>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(M>0)个位置,即将A中的数据由(A0A1……AN-1)变换为(AN-M …… AN-1…

MSP432P401R TI Drivers 库函数学习笔记(一)导入工程模板

目录从Resource Explorer中导入从SDK导入测试平台:Code Composer Studio 10.4.0 MSP432P401R SimpleLink™ 微控制器 LaunchPad™ 开发套件 (MSP-EXP432P401R) 从Resource Explorer中导入 本文所用编程平台为Code Composer Studio 10.4.0 启动软件后在Help中打开…

ThreadLocal的简单理解

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

JMS 在 SpringBoot 中的使用

当前环境 Mac OS 10.11.xdocker 1.12.1JDK 1.8SpringBoot 1.5前言 基于之前一篇“一个故事告诉你什么是消息队列”,了解了消息队列的使用场景以及相关的特性。本文主要讲述消息服务在 JAVA 中的使用。 市面上的有关消息队列的技术选型非常多,如果我们的代…

MSP432P401R TI Drivers 库函数学习笔记(二)认识TI-RTOS (TI-POSIX)

目录简介TI-RTOSFreeRTOSPOSIX运行时对象查看器 (Runtime Object Viewer)TI-POSIX 介绍在源代码中使用 POSIXTI-POSIX支持的函数摘要线程函数调用的前后关系线程管理线程属性线程同步障碍属性条件变量条件变量属性互斥锁互斥属性读写锁定读写锁属性辅助函数调用的前后关系时钟消…

arcgis创建postgre企业级数据库

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

[floyd+路径输出]HDU1385 Minimum Transport Cost

题目链接 题目翻译: 有N个城市,然后直接给出这些城市之间的邻接矩阵,矩阵中-1代表那两个城市无道路相连,其他值代表路径长度。 如果一辆汽车经过某个城市,必须要交一定的钱(可能是过路费)。 现在要从a城到b城,花费为路…

MSP432P401R TI Drivers 库函数学习笔记(三)认识任务的创建及图形化配置

目录任务的简单创建图形化配置上手简简单单点个灯配置引脚建立任务实验结果整体代码main.cmyTask.cmyTask.h平台:Code Composer Studio 10.4.0 MSP432P401R SimpleLink™ 微控制器 LaunchPad™ 开发套件 (MSP-EXP432P401R) 任务的简单创建 根据上篇机翻的函数作用…

JavaScript实现自适应宽度的瀑布流

摘要: 主要介绍瀑布流的一种实现方法:绝对定位(css)javascriptajaxjson。简单一点如果不做滚动加载的话就是绝对定位(css)javascript了,ajax和json是滚动加载更多内容的时候用到的。 这样的布局并不陌生,从2011年Pinterest创立以来&#xff0…

.net web 开发平台- 表单设计器 一(web版)

如今为了适应需求的不断变化,动态表单设计器应运而生。它主要是为了满足界面的不断变化和提高开发速度。比如:一些页面客户可能也无法确定页面的终于布局,控件的位置,在哪种情况下显示或不显示等可能须要随时改动。为了应对这些需…

.NET程序配置文件操作(ini,cfg,config)

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

MSP432P401R TI Drivers 库函数学习笔记(四)GPIO

目录API头文件函数 (机翻)宏GPIO驱动程序api返回的通用状态代码GPIO_PinConfig输出引脚配置宏GPIO_PinConfig输入引脚配置宏GPIO_PinConfig中断配置宏特殊的GPIO_PinConfig配置宏类型别名示例配置引脚示例配置外部中断示例上机实战配置引脚main.cmyTask.cmyTask.h实验结果平台&…

# Vue3 toRef 和 toRefs 函数

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

二分检索函数lower_bound()和upper_bound()

二分检索函数lower_bound()和upper_bound() 一、说明 头文件&#xff1a;<algorithm> 二分检索函数lower_bound()和upper_bound() lower_bound()&#xff1a;找到大于等于某值的第一次出现upper_bound()&#xff1a;找到大于某值的第一次出现必须从小到大排序后才能用 内…

MSP432P401R TI Drivers 库函数学习笔记(五)PWM

目录API (机翻)函数上机实战配置引脚PWM初始化&#xff0c;实现简易呼吸灯的效果实验结果完整代码myPWM.cmyPWM.hmyTask.cmyTask.hmain.cmain.h平台&#xff1a;Code Composer Studio 10.4.0 MSP432P401R SimpleLink™ 微控制器 LaunchPad™ 开发套件 (MSP-EXP432P401R) API …

防火墙配置十大任务之十,构建虚拟防火墙

防火墙配置任务十构建虚拟防火墙任务拓扑图10.11.inside区域的交换机的基本配置&#xff0c;在交换机上开启vlan2&#xff0c;vlan3&#xff0c;vlan4.三个vlan。图10.22.outside区域的Internet基本配置。图10.33.交换机上连接防火墙接口的配置。图10.44.inside区域各个PC的主机…