1、1 目录 第 1 章 可编程序控制器概述 . 2 1.1 可编程序控制器的由来与定义 . 2 1.2 可编程序控制器的特点与功能 . 2 1.3 可编程序控制器的发展与应用 . 4 1.4 常用可编程序控制器简介 . 错误错误!未定义书签。未定义书签。 第 2 章 可编程序控制器的基本原理 . 4 2.1 可编程序控制器的基本结构 . 4 2.2 可编程序控制器的各组成部分 . 5 2.3 可编程序控制器的工作原理 . 7 2.4 可编程序控制器的编程语言 . 8 第 3 章 S7200 PLC 的硬件系统 . 10 3.1 S7200 PLC 硬件系统的组成 . 10 3.2 数据存储器及其
2、寻址方式 . 错误错误!未定义书签。未定义书签。 第 4 章 S7-200 PLC 的指令系统. 错误错误!未定义书签。未定义书签。 4.1 位逻辑指令 . 错误错误!未定义书签。未定义书签。 4.2 定时器和计数器指令 . 错误错误!未定义书签。未定义书签。 第 5 章 PLC 程序设计基础 . 15 5.1 梯形图的编程规则 . 15 5.2 典型控制功能的梯形图 . 17 5.3 PLC 程序的移植设计法和经验设计法 . 20 5.4 PLC 程序的顺序控制设计法 . 25 5.5 PLC 程序的子程序 . 28 2 第 1 章 可编程序控制器概述 1.1 可编程序控制器的由来与定义 一
3、、可编程序控制器的由来 提出十项指标: (1) 编程简单,可现场修改程序。 (2) 维护方便,采用模块式结构。 (3) 可靠性高于继电器控制柜。 (4) 体积小于继电器控制柜。 (5) 数据直接送入计算机。 (6) 价格能与继电器控制柜竞争。 (7) 输入可以是交流 115 V。 (8) 输出AC115 V、2 A,能直接驱动电磁阀。 (9) 扩展时系统变更很小。 (10) 用户程序存储容量至少能扩展到 4 K 字节。 1969 年美国 DEC 研制出世界上第一台可编程序控制器, 并在 GM 公司试用, 获得 了成功。 1971 年日本研制出第一台可编程序控制器。 1974 年我国开始研制,1
4、977 年开始工业应用。 20 世纪 70 年代中期,PLC 进入了实用化阶段。 20 世纪 70 年代末和 80 年代初,PLC 进入了成熟阶段。 早期的可编程序控制器,一般称为可编程序逻辑控制器 (Programmable Logic Controller), 简称 PLC。它以准计算机形式出现。 1980 年,美国电气制造商协会正式将其命名为可编程序控制器 (Programmable Controller), 简称 PC。 现代可编程序控制器,逻辑运算仅是其众多功能之一,故取消了“Logic”。为了区别 “个人计算机”, PC 仍被称为 PLC。 1.2 可编程序控制器的特点与功能 一、
5、PLC 的特点 1. 可靠性高、抗干扰能力强 无故障时间: 45 万小时。 措施:隔离、滤波、屏蔽、检测与自诊断、数据备份、后备电池 功能完备功能完备 灵灵活活 通用通用 通用工业控制装置通用工业控制装置 简单易懂、操作方便简单易懂、操作方便 价格便宜价格便宜 3 2. 功能完善、通用性强、使用方便 能实现各种控制功能、用于各个控制领域。 3. 编程方法简单、易于掌握 梯形图图形语言简单易学。 4. 系统设计周期短、安装容易、维护方便 5. 体积小、重量轻、功耗低 二、PLC 的主要功能及其应用 1. 逻辑控制 用 PLC 的与、或、非指令取代继电器触点的串并联等逻辑连接,实现开关量的控制。
6、2. 定时与计数控制 用 PLC 的定时器、计数器指令取代时间继电器等,实现某些操作的定时或计数控制。 3. 数据处理 用数据传送、比较、移位、数码转换、编码、译码以及数学运算和逻辑运算等指令来实 现数据的采集、分析和处理。用于数控机床、柔性制造系统、过程控制系统和机器人控制系 统等大中型控制系统中。 4. 步进控制 用 PLC 的步进指令取代由硬件构成的步进控制器等, 实现上、下工序操作的控制。 5. 运动控制 通过高速计数器和位置控制模块等控制步进电动机或 伺服电动机,从而控制单轴或多 轴生产机械。 6. 过程控制 通过 A/D 和 D/A 转换,用 PLC 的 PID 指令(或 PID
7、模块)对生产过程中的温度、 压力、速度、流量等模拟量进行单回路或多回路的闭环控制。 7. 通信与远程控制 通过各种通信模块能够将 PLC 与 PLC、PLC 与上位计算机之间联结成一个网络。 8. 监控功能 三、PLC 与其他控制系统的比较 1. PLC 与继电器控制系统的比较 PLC 的梯形图与继电器控制线路图十分相似,主要原因是 PLC 梯形图的发明大致上 沿用了继电器控制的电路元件符号,仅个别处有些不同。 信号的输入/输出形式及控制功能也是相同的,但是 PLC 是软逻辑,继电器是硬逻辑。 PLC 在性能上比继电器控制逻辑优异,特别是可靠性高、设计施工周期短、调试修改 方便,而且体积小、功
8、耗低、维护方便,但价格高于继电器。 2. 可编程控制器与单片机控制的比较 单片机具有结构简单、使用方便、价格比较低等优点,一般用于数据采集和工业控制。 PLC 在数据采集、数据处理等方面不如单片机。PLC 用于工业控制,稳定可靠,抗 干扰能力强,使用方便,但单片机的通用性和适应性较强。 3. 可编程控制器与个人计算机控制的比较 使用环境、程序设计、运算速度、存储容量、价格。 应用范围: 微机除了用在控制领域外,还大量用于科学计算、 数据处理、计算机通信等方面。PLC 是专用微机控制系统,主要用于工业控制。 输入/输出: 微机系统的 I/O 设备与主机之间采用微电联系,一般不需要电气隔离。而 P
9、LC 一般控 制强电设备,需要电气隔离,输入输出均用光电耦合,输出还采用继电器、可控硅或大功率 晶体管进行功率放大。 4 系统功能: 微机系统一般配有较强的系统软件和许多应用软件。而 PLC 一般只有简单的监控程 序,能完成故障检查、用户程序的输入和修改、用户程序的执行与监视等。 互相配合各司其职: 在一个联网运行的集散控制系统中,使 PLC 集中在功能控制上,微机则集中在信息处 理上,两者相辅相成。 1.3 可编程序控制器的发展与应用 一、PLC 的发展概况 早期的 PLC 控制功能简单 基本逻辑和顺序控制、条件和时间步进控制等功能。 PLC 已经成为工业控制的标准设备。 现代工业的三大支柱
10、: PLC 技术、机器人 技术、CAD/CAM 技术。 PLC 的生产也成了重要的产业 , 随着微电子技术的快速发展, 使制造成本, 功能。 二、PLC 的发展趋势 1. 向小型化方向发展,便于实现“机电仪”一体化。 2. 向大型化方向发展 (1) 功能不断加强 各种运算、定时、计数、模拟调节、监控、记录、与计算机接口、通信 (2) 应用范围不断扩大 逻辑控制、中断控制、智能控制、过程控制、通信控制 (3) 性能不断提高 处理速度、响应时间、存储容量、多处理器技术、各种智能模块 (4) 编程软件的多样化和高级化 如 BASIC、C、汇编语言、专用高级语言等。 (5) 构成形式的分散化和集散化
11、三、PLC 在中国的发展与应用 最早研究和应用 PLC 始于 20 世纪 70 年代末期。 自 2001 年起,我国机械工业成为工业发展新亮点。 近年来每年约新投入 10 万台套 PLC 产品。 化工行业也是需求 PLC 的一个持续而稳定的市场。 第 2 章 可编程序控制器的基本原理 2.1 可编程序控制器的基本结构 整体式 PLC 5 模块式 PLC 2.2 可编程序控制器的各组成部分 一、中央处理单元 CPU 1. CPU 的功能 (1) 读入现场状态;(2) 控制存储和解读用户程序;(3) 执行各种运算程序;(4) 输出运算结 果; (5) 执行系统诊断功能;(6) 与外部设备或计算机通
12、信等。 二、存储器 1. 存储器的类型 ROM、RAM、PROM、EPROM、EAROM、EEPROM。 2. 存储器的划分 (1) 系统存储器 ROM 存储器。 (2) 用户程序存储器 有掉电保护的 RAM 或 EEPROM 存储器。不同型号的 PLC 其存储器的容量差别很 大。 (3) 工作数据存储器 有掉电保护的 RAM 或 EEPROM 存储器。 在工作数据区预先开辟了“元件映像寄存器” 和变量数据区。 有掉电时能保持数据的区域 数据保持区。 6 三、输入/输出模块 输入/输出信号:开关量、模拟量。 开关量:直流量、交流量。 1. 数字量(开关量)输入接口电路 (1) 直流输入接口电路
13、 2. 数字量(开关量)输出接口电路 根据输出电路所用开关器件的不同分类。 (1) 晶体管输出接口电路 (2) 双向晶闸管输出单元 (3) 继电器输出接口电路 CPU DI AI 输输 入入 映映 像像 寄寄 存存 输输 出出 映映 像像 寄寄 存存 D O . . . . 7 三、电源 内部有一个开关电源。 电源的容量取决于 PLC 的型号。 S7200 CPU 的内部电源为自身、扩展模块、其他用电设备提供 5 V、 24 V DC 电 源。 扩展模块通过与 CPU 连接的总线连接电缆取得 5 V 直流电源。 CPU 向外提供的 24 V DC 电源从(L,M)端引出。该电源为 (1) 本机
14、集成的 、扩展模块上的 I/O 点供电。 (2) 特殊的模块、智能模块供电。 (3) 从通信口输出,提供给 PC/PPI 编程电缆、TD200 文本显示操作界面等设备。 电源的容量: 如果总需求超过 CPU 的供电能力: 必须减少或改变模块的配置。需增加外部 24 V DC 电源。 2.3 可编程序控制器的工作原理 一、 PLC 的扫描工作方式 PLC 采用“顺序扫描、不断循环”的工作方式。 CPU 连续执行用户程序,任务的循环序列称为扫描。 一个扫描周期包含以下任务 读输入 执行程序 处理通信请求 执行 CPU 自诊断 写输出 二、PLC 的扫描工作过程 1. 输入采样阶段 读 (采样) 输
15、入端子的信号 存入 (刷新) I 中。 没有使用的 I 位被清零。 2. 程序执行阶段 执行用户程序。程序按指令顺序执行(跳转指令例外) 。 对输入指令,从 I 中读取数 据。 对输出指令,将输出值存入 Q 中。 立即输入/输出指令除外。 3. 处理通信请求 CPU 处理从通信端口接收到的任何信息。 处理通信请求的时间是可以调节的。 4. 执行 CPU 的自诊断 CPU 检查其硬件、I/O 模块状态、用户存储器。发现故障,报警或停止程序运行。 5. 输出刷新阶段 将 Q 中的输出值 输出锁存器 驱动被控对象按新的输出值动作。 PLC 的工作过程 8 三、PLC 的输入/输出滞后现象 影响输入/
16、输出响应滞后的主要因素有: 输入延迟时间。 扫描周期。 输出延迟时间。 程序语句的安排, 影响程序执行时间。 如图所示程序: 从 I0.0 接通到 Q0.1 接通延迟了一个多扫描周期(正 常) 。 而 Q0.0 被接通却延迟了两个多扫描周期(不正常) 。 解决方法:交换网络 1 与网络 2 前后位置。 2.4 可编程序控制器的编程语言 一、 PLC 软件的基本概念 1. 系统软件 (1) 系统管理程序 运行管理、存储空间管理、系统自 检程序。 (2) 用户指令解释程序 (3) 标准程序模块和系统调用 2. 用户程序 实现控制功能的应用程序。编制不同程序,实现不同功能可编程序。 二、梯形图 LA
17、D 梯形图是一种图形化的语言,特点: (1) 梯形图与继电器接触器控制电路相似,易于理解,全世界通用。 (2) 易于初学者使用。 (3) 可以利用 STL 编程器显示所有用 LAD 编程器编写的程序。 (4) 各个厂商的图形符号略有不同。 9 三、语句表 STL 语句表是类似汇编语言的指令助记符编程语言。 特点: (1) STL 最适合有经验的程序员。 (2) 能解决 LAD 和 FBD 不易解决的问题 。 (3) 利用 STL 编程器可以查看用 LAD 和 FBD 编程器编写的程序,反之不一定成立。 语句表 = 语句。 语句= 操作码 + 操作数。 语句表与梯形图 四、变量的数据类型 指令所
18、允许的数据类型通过标识符得到。 表 2-1 基本数据类型 基本数据类型 内 容 数据范围 BOOL(1 位) 布尔型 0 1 BYTE(8 位) 无符号型 0 255 WORD(16 位) 无符号整数 0 65 535 INT(16 位) 有符号整数 32 768 32 767 DWORD(32 位) 无符号双整数 0 2321 DINT(32 位) 有符号双整数 231 2311 REAL(32 位) IEEE 32 浮点数(实数) 1038 1038 10 第 3 章 S7200 PLC 的硬件系统 3.1 S7200 PLC 硬件系统的组成 3.2 数据存储器及其寻址方式 3.3 扩展
19、I/O 模块的寻址 3.1 S7200 PLC 硬件系统的组成 一、S7200 CPU 模块 中央处理单元 + 数字量 I/O 点 + 电源。 1. CPU 模块的型号及主要技术指标 CPU 221、CPU 222、CPU 224、 CPU 226、CPU 226 XM 供电电压:24 V DC、120 220 V AC。 种类:DC/DC/DC、AC/DC/Relay S7200 系列 CPU 的通用规范 11 . 模拟电位器 提供有 1 2 个模拟电位器。 模拟电位器的电阻值存放在 SMB28 和 SMB29 中。模拟电位器 0 SMB28 ,模 拟电位器 1 SMB29 。 通过调节电位
20、器改变 SMB28 和 SMB29 中的值(只读) 。 SMB28 和 SMB29 中的值可作为程序的上下限值,或更新定时器和计数器的当前 值,输入或修改预设值。 电阻值 = 0 255 。 二、数据保持 1. 采用超级电容实现数据保持 2. 采用电池卡实现数据保持 3. 使用数据块实现数据保持 在编程时设置系统块,定义六个可选的要保持的存储器区:V、M、 C、T(TONR) 。使 之在 CPU 断电时自动写入 EEPROM 中。 12 4. 断电自动保存 5. 在用户程序中实现数据保持 将 V 中的任意地址的数据备份到 EEPROM 中每一个扫描周期只能保存一个数据。 三、 高级配置 内置
21、4 6 个高速计数器。 内置两路高速脉冲输出。 集成 DI 点具有脉冲捕捉功能。 高速中断响应。 八路 PID 回路控制。 灵活的通信功能。 高速计数功能 (1) 有 4 6 个高速计数器。 (2) 提供高速加、减、加/减计数功能。 (3) 高速计数功能不占用 CPU 扫描时间。 (4) 使用单相编码器时 CPU 最高计数频率为 30 kHz。 (5) 使用双相编码器时 CPU 最高计数频率为 20 kHz 。 高速脉冲输出 PWM 功能 (1) 通过 Q0.0 和 Q0.1 来实现 PWM 输出。 (2) PWM 脉冲是占空比可调的脉冲串。 (3) 编程控制脉冲的周期(ms / s)和脉宽。
22、 (4) 周期 =(50 65 532)s 或(2 65 532)ms。 脉宽 =(50 65 532)s 或(2 65 532)ms。 高速脉冲输出 PTO 功能 (1) 通过 Q0.0 和 Q0.1 来实现 PTO 输出。 (2) PTO 脉冲占空比为 50。 (3) 编程控制脉冲的周期(ms/s)和个数(1 2321 个) 。 (4) 预期输出一种周期(递增)的 PTO 脉冲。 (5) 预期连续输出多种周期 (递增) 的 PTO 脉冲串, 即具有多序列脉冲输出功能。 段数 255 段。 13 四、扩展模块 扩展实例 1. 数字量 I/O 扩展模块 2. 模拟量 I/O 扩展模块 14 定
23、位控制模块 EM 253 EM 253 能产生脉冲串,用于步进电机和伺服 电机速度、位置的开环控制。 用 PWM 输出 fmax = 200 kHz。 直接从 Micro/WIN 软件进行参数设置和调整。 应用 EM 253 举例 15 第 4 章 PLC 程序设计基础 4.1 梯形图的编程规则 一、梯形图的编程规则 (1) 每一个网络要起于左母线,然后连接触点, 中止于输出线圈。 (2) 触点可以任意串并联,输出线圈只能并联 (3) 同一个触点的使用次数不受限制 (4) 触点只能画在水平方向的支路上, 而不能画在纵向支路上 (5) 关于电路块的串并联 16 (5) 关于电路块的串并联 (5)
24、 关于电路块的串并联 (6) 关于双线圈输出 同一个输出线圈一般只使用一次。 多次使用同一个输出线圈称为双线圈输出。 不同 PLC 对双线圈输出的处理:有些 PLC 将其视为语法错。 有些 PLC 以最后一 次输出为准(S7200) 。 有些 PLC 在限定指令中可以使用。 17 避免双线圈输出的解决方法: (7) 外部输入触点用常开或常闭触点均可 起动按钮可以用常开或常闭触点。 停止按钮可以用常开或常闭触点。 二、建立功能规范 (1) 确定输入/输出(I/O)点。 (2) 操作的功能描述(画流程图) 。 (3) 每个执行设备(线圈、电机、驱动器)执行前应满足的状态。 (4) 操作接口描述。
25、(5) 突然断电时,输出应当怎样处理:输出状态是否保持? 输出是否强制在某种状态? 4.2 典型控制功能的梯形图 一、具有自锁和互锁功能的梯形图 1. 具有自锁功能的程序 2. 具有互锁功能的程序 18 二、定时器应用程序 2. 顺序脉冲发生器程序 3. 长定时程序 19 4. 用接通延时定时器实现断开延时功能程序 三、计数器应用程序 1. 计数器与定时器组合的定时程序 20 4.3 PLC 程序的移植设计法和经验设计法 一、PLC 程序的移植设计法 1. 分析原有系统的工作原理 了解被控设备的工艺过程和机械的动作情况,根据继电器控制电路图分析和掌握控制系 统的工作原理。 2. PLC 的 I
26、/O 分配 (1) 分析系统有哪些输入变量和输出变量; (2) 选定输入设备和输出设备; (3) I/O 分配并画出 PLC 外部接线图。 3. 建立元器件之间的对应关系 4. 设计梯形图 (1) 继电器控制电路 准梯形图。 (2) 准梯形图 符合梯形图的语法。 (3) 主令电器的常开触点不一定对应 I 的常开触点, 主令电器的常闭触点不一定对应 I 的 常闭触点。 5. 程序调试 例 5-1 设计电动机的正、反转控制程序。 21 解:(1) I/O 分配 (2) 画梯形图 例 5-2 设计电动机 Y起动控制程序。 22 解:(1) I/O 分配 (2) 设计梯形图 23 二、PLC 程序的经
27、验设计法 经验设计法的设计步骤: (1) 分析控制要求,选择控制原则。 (2) 分析有哪些控制信号 输入变量 I , 有哪些被控制信号 输出变量 Q 。 (3) 选定输入设备和输出设备。 (4) 进行 I/O 分配,画出 PLC 外部接线图。 (5) 设计执行元件的控制程序。 (6) 检查控制功能是否达到,修改、完善程序,最后进行程序调试。 例 5-3 设计送料小车的两位行程控制程序。 解:(1) I/O 分配 24 (2) 梯形图 例 5-4 设计送料小车的三位行程控制程序。 (2) 梯 25 形图 5.4 PLC 程序的顺序控制设计法 前面所介绍的 S7-200 基本指令,可以设计一般的顺
28、序、选择和循环程序,但对于一些 较复杂的程序结构(如并发顺序、并行分支等) ,为了便于编程, S7-200 提供了专用的顺序 26 类型(如并发顺序、并行分支等)控制指令。 功能图也称功能流程图,它是专用于工业顺序控制程序设计的一种方法,是一种功 能描述语言。利用功能图可以向设计者提供控制问题描述方法的规律,能完整地描述控制系 统的工作过程、功能和特性。 一、顺序控制设计法的设计步骤 PLC 除了梯形图以外,还采用了 SFC(Sequential Function Chart)顺序功能图语言,用于 编制复杂的顺序控制程序。利用这种编程方法能够较容易地编写出复杂的顺序控制程序,从 而提高了工作效
29、率,对于程序调试也极为方便。 顺序控制是指按照生产工艺预先规定的顺序,在各个输入信号的作用下,根据内部状态 和时间的顺序,使各个执行机构自动有序的进行操作。 一、顺序功能图 指描述控制系统的控制过程、功能和特性的一种图形,主要由步、有向连线、转换、转 换条件和动作(或命令)组成。它具有简单、直观等特点,是设计 PLC 顺序控制程序的一种 有力工具。 顺序控制功能图设计法是指用转换条件控制代表各步的编程元件,让它们的状态按一定 的顺序变化,然后用代表各步的编程元件去控制 PLC 的各输出继电器。 1、 步 将系统的一个周期划分为若干个顺序相连的阶段, 这些阶段称为步。 “步”是控制过程中的一个特
30、定状态。步又分 为初始步和工作步, 在每一步中要完成一个或多个特定的动作。 初始步表示一个控制系统的初始状态,所以,一个控制系统必 须有一个初始步,初始步可以没有具体要完成的动作。 2、转换条件 步与步之间用“有向连线”连接,在有向 连线上用一个或多个小短线表示一个或多个转换条件。当条件 得到满足时,转换得以实现。即上一步的动作结束而下一步的 动作开始,因此不会出现步的动作重叠。当系统正处于某一步 时, 把该步称为 “活动步” 。 为了确保控制严格地按照顺序执行, 步与步之间必须要有转换条件分隔。 状态继电器是构成功能图的重要元件。 以右图为例说明功能图。 步用方框表示,方框内是步的元件号或步
31、的名称,步与步 之间要用有向线段连接。其中从上到下和从左到右的箭头可以 省去不画,有向线段上的垂直短线和它旁边的圆圈或方框是该步期间的输出信号,如需要也 可以对输出元件进行置位或复位。当步 S0.0 有效时,输出 Q0.0 接通,程序等待转换条件 I0.1 动作。当 I0.1 满足时,步就由 S0.0 转到 S0.1,这时 Q0.0 断开,定时器接通。 转换条件是指与转换相关的逻辑命令, 可用文字语 言、布尔代数表达式或图形符号在短划线旁边,使用 最多的是布尔代数表达式。 例如:顺序结构也称为单流程。 1)0、1、2 为状态又称流程步或工作步。表示控制 系统中的一个稳定状态。 2)状态右侧为动
32、作,表示状态需要执行的功能操 作。 3)两个状态之间用一个有向线段表示转移(从一 个状态变化为另一个状态的切换条件) 绘制顺序功能图应注意: 27 1、两个步绝对不能直接相连,必须用一个转换将它们隔开。 2、两个转换绝对不能直接相连,必须用一个步将它们隔开。 3、初始步必不可少,否则无法表示初始状态,系统也无法返回停止状态。 4、自动控制系统应能多次重复执行同一工艺过程,应组成闭环,即最后一步返回初始 步, (单周期)或下一周期开始运行的第一步(连续循环) 。 5、只有当前一步是活动步,该步才可能变成活动步。一般采用无断电保持功能的编程 元件代表个步时,进入 RUN 工作方式时,它们均处于断开
33、状态,系统无法工作。必 须使用初始化脉冲 SM0.1 的常开作为转换条件,将初始步预置为活动步。 二、使用顺序控制指令的编程方法 S7-200 PLC 编程环境提供了三条顺序控制指令,其指令的格式、功能及操作数形式为: 1、 LSCR 指令(在前) :为功能图中一个状态的开始。 LSCR 指令操作对象 bit 为顺序控制继电器 S 中的某个位(范围为 S0.0 S31.7) ,当某 个位有效时,激活所在的 SCR 段。S 中各位的状态用来表示功能图中的一种状态。 2、 顺序状态转移指令 SCRT: 该指令操作数 bit 置位激活下一个 SCR 段的状态,使下一个 SCR 段开始工作,同时使该
34、指令所在段停止工作,状态器复位。 3、 SCRE 指令(在后) :为这个状态的结束。 使用顺序控制指令将功能图转换为梯形图示例: 28 使用顺序控制继电器指令需注意的问题: 1)步进控制指令 SCR 只对状态元件 S 有效。 2)当需要保持输出时,可使用 S/R 指令,如上图所示。 3)不能把同一编号的状态元件用在不同的程序中,如在主程序中用了 S0.1,在子程序中就不 能再使用 S0.1。 4)在 SCR 段中不能使用 JMP 和 LBL 指令,即不允许跳入、跳出或在内部跳转。 5)在 SCR 段中不能使用 FOR、NEXT 和 END 指令。 6)当需要把执行动作转为从初始条件开始再次执行
35、时,需要复位所有的状态,包括初始状态。 5.5 PLC 程序的子程序 将实现某一控制功能的一组指令设计在一个模块中, 该模块可以被随机多次调用执行, 每次执行结束后,又返回到调用处继续执行原来的程序,这一模块称为子程序。 当主程序调用子程序并执行时,子程序执行全部指令直至结束。然后返回到主程序的子 程序调用处。子程序用于程序的分段和分块,使其成为较小的、更易于管理的块,只有在需 要时才调用,可以更加有效地使用 PLC。 说明: 1)子程序调用指令编写在主程序中,子程序返回指令编写在子程序中。 29 2) 子程序标号 n 的范围是 O63。 3)子程序可以不带参数调用,也可以带参数调用。带参数调
36、用的于程序必须事先在局部 变量表里对参数进行定义,最多可以传递 1 6 个参数,参数的变量名最多为 23 个字符。传递 的参数有 IN、IN-OUT、OUT 3 类,IN(输入)是传入子程序的输入参数;IN-OUT (输入输出) 将参数的初始值传给子程序,并将子程序的执行结果返回给同一地址;OUT(输出)是子程序的 执行结果,它被返回给凋用它的程序。被传递参数的数据类型有 BOOL、BYTE、WORD、INT、 DWORD、DINT、REAL、STRINGL8 种。 4)在现行的编程软件中,无条件子程序返回指令(RET)为自动默认,不需要在子程序结束 子程序可嵌套,嵌套深度最多为 8 层。 (
37、1) 建立子程序 运行编程软件在“编辑” (Edit)菜单中的“插入” (Insert)选项选择“子程序” (Subroutine) ,默认的程序名是 SBR_N。 (2)子程序调用指令格式: CALL SBR_0 子程序调用指令示例程序 : 注:(子程序注:(子程序SBR_1未列出)未列出) 例如:电动机组控制要求如下: 1、该组总共有 3 台电动机,每台电动机都要求以 Y-降压启动; 2、启动时,按下启动按钮,M1 电动机启动,然后每隔 10S 启动一台,最后 M1-M3 三 台电动机全部启动; 3、停止是实现逆序停止。即按下停止按钮,M3 先停,过 10S 后 M2 也停止,在过 10S
38、 最 后 M1 停; 4、任一台电动机启动时,控制电源的接触器和 Y 形接法的接触器接通电源 6S 后,Y 形 接触器断开,1S 后接法的接触器动作接通。 分析:因为每台电动机的启动过程相同,所以设计一个子程序,实现电动机的启动,然后在 主程序中多次调用,就可以实现电动机的控制。 启动按钮为 I0.0,停止按钮为 I0.1, M1 电动机中:控制电源接触器为 Q0.0,Y 形接触器为 Q0.1,形接触器为 Q0.2 30 M2 电动机中:控制电源接触器为 Q0.3,Y 形接触器为 Q0.4,形接触器为 Q0.5 M3 电动机中:控制电源接触器为 Q0.6,Y 形接触器为 Q0.7,形接触器为 Q1.0 编程步骤如下: 1、编辑变量声明表,并编写程序: 插入子程序,在变量声明表中,定义相关参数 1、 编写子程序如下: 2、 编写主程序如下: (手动切换) 31 4、编写主程序如下: (自动切换) 另一方法(时间控制自动切换) 1、 编写子程序如下: 2、 编写主程序如下: 32 2.1:启动与停止控制 2.2:启动计时 2.3:停止计时 2.4:M1 电动机的控制 33 2.5:M2 电动机的控制 2.6:M3 电动机的控制