干货 西门子PLC编程详细讲解及案例分析
编程语言种类很多,各有各的优势,语句表和指令表类似,是编程语言的一种,在PLC中应用比较普遍,也是一种高级编程语言,PLC中语句表、梯形图、SCL等编程语言的特点:
1、顺序功能图(SFC-Seauential Fuction Chart)
2、梯形图(LAD-LAdder Diagram)
3、语句表(STL-STatement List)
4、功能块图(FBD-Function Block Diagram)
5、结构化文本(ST-Structured Text)
今天大牛就用PPT的形式为大家讲解西门子PLC编程以及分析案例。
▼
↓↓↓下载进入西门子、三菱PLC学习平台
如何快速学习西门子PLC编程?这有5个工控实例,看完的都入门了!
可编程控制器的分类
按组成结构:整体式、模块式和紧凑式
按I/O点数:大 (>1024)、中 (256~1024) 、小型 (<256点)
按功能:低、中、高档.
PLC硬件系统:输入部分;运算控制部分(CPU);运算控制部分(CPU)
可编程控制器的一个机器扫描周期是指用户程序运行一次所经过的时间。它分为执行CPU自诊断、处理通讯请求、读输入(输入采样)、执行程序、写输出(输出刷新)等五个阶段。
S7-200 CPU有两种工作方式:
STOP(停止)。 CPU在停止工作方式时不执行程序,此时可以向CPU装载程序或进行系统设置。
RUN(运行)。 CPU在RUN工作方式下运行用户程序。
在程序编辑、上/下载等处理过程中,必须把CPU置于STOP方式。
改变工作方式的方法:
使用PLC上的方式开关来改变工作方式。
使用STEP7-Micro/WIN32编程软件设置工作方式。
在程序中插入一个STOP指令,CPU可由RUN方式进入STOP工作方式。
使用工作方式开关改变工作状态。
用位于CPU模块的出/入口下面的工作方式开关选择CPU工作方式。工作方式开关有三个挡位:STOP TERM(Terminal)、RUN。
提供参与操作的数据地址的方法,称为寻址方式。
S7-200数据的寻址方式有立即数寻址、直接寻址和间接寻址三大类;有位、字节、字和双字四种寻址格式。用立即数寻址的数据在指令中以常数形式出现。
输入继电器线圈只能由外部信号驱动,不能用程序指令驱动。
输出继电器用来将PLC的输出信号传递给负载,只能用程序指令驱动。
数据存储区及元件功能
(1)输入/输出映像寄存器
(2)变量存储器(V)
(3)内部标志位(M)存储区
(4)顺序控制继电器(S)存储区
(5)特殊标志位(SM)存储器
(6)局部存储器(L)
(7)定时器
(8)计数器
(9)模拟量输入/输出映像寄存器(AI/AQ)
(10)累加器(AC)
(11)高速计数器(HC)
定时器的主要参数有定时器预置值,当前计时值和状态位。
计数器有一个16位的当前值寄存器和一位状态位。当前值寄存器用以累计脉冲个数,其设定值(预置值)在程序中被赋予;当计数器当前值大于或等于预置值时,状态位置1。
S7-200 CPU提供有三种类型的计数器:
增计数,
减计数,
增/减计数。
S7-200系列PLC支持SIMATIC和IEC1131-3两种基本类型的指令集,编程时可任意选择。
SIMATIC指令集是西门子公司PLC专用的指令集,具有专用性强、执行速度快等优点,可提供LAD,STL,FBD等多种编程语言。
IEC1131-3指令集是按国际电工委员会(IEC)PLC编程标准提供的指令系统。该编程语言适用于不同厂家的PLC产品,有LAD和FBD两种编辑器。
LAD图形指令有三个基本形式:触点、线圈和指令盒。
实例编程:
例1
图1.1为三相异步电动机正反转运行电路。起动时,合上QS,引入三相电源。按下正转控制按钮SB2,KMl线圈得电,其常开触点闭合,电动机正转并实现自锁。
图1.1
当电动机需要反转时,按下反转控制按钮SB3,KMl线圈断电,KM2线圈得电,KM2的常开触点闭合,电动机反转并实现自锁,按钮SBl为总停止按钮。
任务要求用PLC来实现上图所示的三相异步电动机的正反转运行电路
(1)I/O(输入/输出)地址分配
由上述控制要求可确定PLC需要3个输入点,2个输出点,其I/0地址分配如下:
I0.0:停止按钮SB1
I0.1:正转起动按钮SB2
I0.2:反转起动按钮SB3
Q0.0:正转运行用交流接触器KM1
Q0.1:反转运行用交流接触器KM2
PLC的外部硬件接线图
1)方案一:直接用“起一保一停”基本电路实现。
2)方案二:利用“置位/复位”基本电路实现。
3)方案三:利用栈操作指令实现梯形图及指令表。
例2
图2.1为两台电动机顺序起动逆序停止的控制电路图。按下起动按钮SB2,第一台电动机M1开始运行,5s之后第二台电动机M2开始运行;按下停止按钮SB3,第二台电动机M2停止运行,10s之后第一台电动机Ml停止运行;SBl为紧急停止按钮,当出现故障时,只要按下SBl,两台电动机均立即停止运行。
图2.1
任务要求用PLC来实现上图所示的两台电动机顺序起动逆序停止的控制电路,其控制时序图如下图所示。
I/O(输入/输出)地址分配
由上述控制要求可确定PLC需要3个输入点,2个输出点,其I/0地址分配如下:
I0.0:紧急停止按钮SB1
I0.1:起动按钮SB2
I0.2:停止按钮SB3
Q0.0:电动机M1运行用交流接触器KM1
Q0.1:电动机M2运行用交流接触器KM2
根据I/0地址分配及控制时序图可知,当起动按钮SB2被按下时,输入继电器I0.1接通,输出继电器Q0.0置1,交流接触器KMl线圈得电并自保,这时第一台电动机M1运行,5s之后输出继电器Q0.1置1,第二台电动机M2。
开始运行;当按下停止按钮SB3时,输入继电器I0.2接通,输出继电器Q0.1置0,第二台电动机M2停止运行,10s之后输出继电器Q0.0置0,第一台电机停止运行。梯形图及语句表如图所示。
例3
图3.1为三相异步电动机Y-△减压起动的原理图。KMl为电源接触器。KM2为△联结接触器,KM3为Y联结接触器,KT为起动时间继电器。其工作原理是:起动时合上电源开关QS,按起动按钮SB2,则KMl、KM3和KT同时吸合并自锁,这时电动机接成Y联结起动。
图3.1
任务要求用PLC来实现图Y-△减压起动的控制电路,其控制时序图如图所示。利用PLC基本指令中的串、并联及输出指令可实现上述控制要求。
例4
如图4.1是一个库门自动控制示意图。当有汽车接近库门时,超声波开关动作(超声波开关为0N),库门打开,直到上限位开关动作,汽车通过库门,红外线光电开关动作(汽车遮断了光束,光电开关为0N),汽车完全进入库门后,库门开始关门,直到下限位开关动作,完成一个自动控制过程。
图4.1
如图4-1所示,设小车在初始位置时停在右边,限位开关SQ2处于“0N”状态。按下起动按钮SB0后,小车向左运动,碰到限位开关SQl时,变为右行;返回限位开关SQ2处变为左行,碰到限位开关SQ0时,变为右行,返回起始位置后停止运动。
任务要求用PLC控制小车往复运动,用单序列的顺序功能图编程。
图4-1
(1)I/O(输入/输出)地址分配
由上述控制要求可确定PLC需要4个输入点,2个输出点,其I/O地址分配如下:
I0.0:限位开天SQ0
I0.1:限位开关SQl
I0.2:限位开关SQ2
I0.3:起动按钮SB0
QO.0:接触器KMl小车左行
QO.1:接触器KM2小车右行
小车往复运动的顺序功能图
小车往复运动的控制梯形图
例5
城市隧道要求24小时不间断照明,有时考虑到要节约用电和延长灯的使用寿命,需要分时控制,同时又要有足够的照明,如隧道中有A、B、C三组灯,每天早7点到晚7点,第1组灯亮,晚7点到晚10点3组灯都亮(车多),晚10点至第二天早7点第2、3组灯亮,要求用一个开关控制三组灯的亮和灭。
(1)I/O(输入/输出)地址分配
I0.0: 控制开关
QO.1、QO.2、QO.3: 三组灯
相关问答
西门子plc485通讯怎么编程?
西门子PLC485通讯可以使用ModbusRTU协议进行通讯。以下是一个基本的ModbusRTU通讯程序编程示例:硬件环境搭建:主站设备:西门子S7-1200从站设备:DTD433FC...
西门子plc编码器编程实例?
西门子plc的编码器编程的实例如下:使用PRV(062)指令,需要对数据逻辑存储器DM6642进行设置,方法如下即用手持编程器改变PLC设置PLC的开关放到PROGRAM状态下...
欧姆龙plc怎么写入程序?
首先,需要通过欧姆龙专业的PLC编程软件,如CX-Programmer,创建一个新的项目并选择PLC型号。然后,编写程序并进行逻辑设计,可以使用LadderDiagram、Function...
三菱亚龙plc编程程序?
三菱PLC编程软件的安装步骤如下:1、鼠标右键点击下载好的三菱PLC安装包,把安装包解压到指定文件夹。2、解压压缩包之后,会有一个文件夹出现,打开文件夹,找...
s7300程序怎么编译?
你好,S7300是一种工业控制器,其程序的编译通常需要使用相应的编译器和开发环境。以下是一些通用的步骤:1.准备开发环境:安装S7-300编程软件Step7或TIAPort...
三菱plc的ei指令详解?
三菱PLC的EI(ExternalInterrupt)指令是一种特殊的指令,用于处理外部中断信号。该指令允许PLC在特定条件下对外部中断进行响应并执行相应的操作。EI指令的使...
plc如何实现pid控制?
PLC实现PID(比例、积分、微分)控制相对还是比较简单的,因为现在很多PLC都具有PID控制指令,像三菱、西门子等都能够完成PID的控制,下面我们以三菱PLC为例来说...P...
西门子PLC肿么编写脉冲程序-ZOL问答
Y=X-6400/25600*100,你的程序就按照这条公式编程就行了。有用(0)回复baidu_chuiguoyan一般直接加上或者减去一个数即可,如果是个常数,直接在plc里编程。如.....
plc五种编程语言?
plc编程语言如下1、梯形图语言(LD)梯形图语言是PLC程序设计中最常用的编程语言。它是与继电器线路类似的一种编程语言。由于电气设计人员对继电器控制较为熟...
信捷PLC的C语言功能怎么编程?
信捷PLC的C语言编程步骤如下:打开信捷PLC的编程软件“XDPPro”,就会看到在左侧目录树下,有“函数功能块”这一栏。通过在上面单击右键,就可以添加功能块。第...