1、1 目录 第 1 章 可编程序控制器概述 . 2 1.1 可编程序控制器的由来与定义 . 2 1.2 可编程序控制器的特点与功能 . 2 1.3 可编程序控制器的发展与应用 . 4 1.4 常用可编程序控制器简介 . 4 第 2 章 可编程序控制器的基本原理 . 6 2.1 可编程序控制器的基本结构 . 6 2.2 可编程序控制器的各组成部分 . 7 2.3 可编程序控制器的工作原理 . 10 2.4 可编程序控制器的编程语言 .11 第 3 章 S7200 PLC 的硬件系统 . 13 3.1 S7200 PLC 硬件系统的组成 . 13 3.2 数据存储器及其寻址方式 . 18 第 4 章
2、 S7-200 PLC 的指令系统. 25 4.1 位逻辑指令 . 25 4.2 定时器和计数器指令 . 26 第 5 章 PLC 程序设计基础 . 29 5.1 梯形图的编程规则 . 29 5.2 典型控制功能的梯形图 . 31 5.3 PLC 程序的移植设计法和经验设计法 . 34 5.4 PLC 程序的顺序控制设计法 . 39 5.5 PLC 程序的子程序 . 44 2 第 1 章 可编程序控制器概述 1.1 可编程序控制器的由来与定义 一、可编程序控制器的由来 提出十项指标: (1) 编程简单,可现场修改程序。 (2) 维护方便,采用模块式结构。 (3) 可靠性高于继电器控制柜。 (4
3、) 体积小于继电器控制柜。 (5) 数据直接送入计算机。 (6) 价格能与继电器控制柜竞争。 (7) 输入可以是交流 115 V。 (8) 输出AC115 V、2 A,能直接驱动电磁阀。 (9) 扩展时系统变更很小。 (10) 用户程序存储容量至少能扩展到 4 K 字节。 1969 年美国 DEC 研制出世界上第一台可编程序控制器, 并在 GM 公司试用, 获得 了成功。 1971 年日本研制出第一台可编程序控制器。 1974 年我国开始研制,1977 年开始工业应用。 20 世纪 70 年代中期,PLC 进入了实用化阶段。 20 世纪 70 年代末和 80 年代初,PLC 进入了成熟阶段。
4、早期的可编程序控制器,一般称为可编程序逻辑控制器 (Programmable Logic Controller), 简称 PLC。它以准计算机形式出现。 1980 年,美国电气制造商协会正式将其命名为可编程序控制器 (Programmable Controller), 简称 PC。 现代可编程序控制器,逻辑运算仅是其众多功能之一,故取消了“Logic”。为了区别 “个人计算机”, PC 仍被称为 PLC。 1.2 可编程序控制器的特点与功能 一、PLC 的特点 1. 可靠性高、抗干扰能力强 无故障时间: 45 万小时。 措施:隔离、滤波、屏蔽、检测与自诊断、数据备份、后备电池 功能完备功能完备
5、 灵活灵活 通用通用 通用工业控制装置通用工业控制装置 简单易懂、操作方便简单易懂、操作方便 价格便宜价格便宜 3 2. 功能完善、通用性强、使用方便 能实现各种控制功能、用于各个控制领域。 3. 编程方法简单、易于掌握 梯形图图形语言简单易学。 4. 系统设计周期短、安装容易、维护方便 5. 体积小、重量轻、功耗低 二、PLC 的主要功能及其应用 1. 逻辑控制 用 PLC 的与、或、非指令取代继电器触点的串并联等逻辑连接,实现开关量的控制。 2. 定时与计数控制 用 PLC 的定时器、计数器指令取代时间继电器等,实现某些操作的定时或计数控制。 3. 数据处理 用数据传送、比较、移位、数码转
6、换、编码、译码以及数学运算和逻辑运算等指令来实 现数据的采集、分析和处理。用于数控机床、柔性制造系统、过程控制系统和机器人控制系 统等大中型控制系统中。 4. 步进控制 用 PLC 的步进指令取代由硬件构成的步进控制器等, 实现上、下工序操作的控制。 5. 运动控制 通过高速计数器和位置控制模块等控制步进电动机或 伺服电动机,从而控制单轴或多 轴生产机械。 6. 过程控制 通过 A/D 和 D/A 转换,用 PLC 的 PID 指令(或 PID 模块)对生产过程中的温度、 压力、速度、流量等模拟量进行单回路或多回路的闭环控制。 7. 通信与远程控制 通过各种通信模块能够将 PLC 与 PLC、
7、PLC 与上位计算机之间联结成一个网络。 8. 监控功能 三、PLC 与其他控制系统的比较 1. PLC 与继电器控制系统的比较 PLC 的梯形图与继电器控制线路图十分相似,主要原因是 PLC 梯形图的发明大致上 沿用了继电器控制的电路元件符号,仅个别处有些不同。 信号的输入/输出形式及控制功能也是相同的,但是 PLC 是软逻辑,继电器是硬逻辑。 PLC 在性能上比继电器控制逻辑优异,特别是可靠性高、设计施工周期短、调试修改 方便,而且体积小、功耗低、维护方便,但价格高于继电器。 2. 可编程控制器与单片机控制的比较 单片机具有结构简单、使用方便、价格比较低等优点,一般用于数据采集和工业控制。
8、 PLC 在数据采集、数据处理等方面不如单片机。PLC 用于工业控制,稳定可靠,抗 干扰能力强,使用方便,但单片机的通用性和适应性较强。 3. 可编程控制器与个人计算机控制的比较 使用环境、程序设计、运算速度、存储容量、价格。 应用范围: 微机除了用在控制领域外,还大量用于科学计算、 数据处理、计算机通信等方面。PLC 是专用微机控制系统,主要用于工业控制。 输入/输出: 微机系统的 I/O 设备与主机之间采用微电联系,一般不需要电气隔离。而 PLC 一般控 制强电设备,需要电气隔离,输入输出均用光电耦合,输出还采用继电器、可控硅或大功率 晶体管进行功率放大。 4 系统功能: 微机系统一般配有
9、较强的系统软件和许多应用软件。而 PLC 一般只有简单的监控程 序,能完成故障检查、用户程序的输入和修改、用户程序的执行与监视等。 互相配合各司其职: 在一个联网运行的集散控制系统中,使 PLC 集中在功能控制上,微机则集中在信息处 理上,两者相辅相成。 1.3 可编程序控制器的发展与应用 一、PLC 的发展概况 早期的 PLC 控制功能简单 基本逻辑和顺序控制、条件和时间步进控制等功能。 PLC 已经成为工业控制的标准设备。 现代工业的三大支柱: PLC 技术、机器人 技术、CAD/CAM 技术。 PLC 的生产也成了重要的产业 , 随着微电子技术的快速发展, 使制造成本, 功能。 二、PL
10、C 的发展趋势 1. 向小型化方向发展,便于实现“机电仪”一体化。 2. 向大型化方向发展 (1) 功能不断加强 各种运算、定时、计数、模拟调节、监控、记录、与计算机接口、通信 (2) 应用范围不断扩大 逻辑控制、中断控制、智能控制、过程控制、通信控制 (3) 性能不断提高 处理速度、响应时间、存储容量、多处理器技术、各种智能模块 (4) 编程软件的多样化和高级化 如 BASIC、C、汇编语言、专用高级语言等。 (5) 构成形式的分散化和集散化 三、PLC 在中国的发展与应用 最早研究和应用 PLC 始于 20 世纪 70 年代末期。 自 2001 年起,我国机械工业成为工业发展新亮点。 近年
11、来每年约新投入 10 万台套 PLC 产品。 化工行业也是需求 PLC 的一个持续而稳定的市场。 1.4 常用可编程序控制器简介 一、西门子公司的可编程序控制器 主流产品:SIMATIC S7200、300 、400。 5 二、AB 公司的可编程序控制器 SLC500 系列属于小型模块化 PLC 产品。 MicroLogix 1500 属于高级的小型 PLC 产品。 PLC-5 系列属于大中型 PLC 产品。 三、三菱公司的可编程序控制器 F、F1/F2 、FX 系列属于小型整体式与模块化 PLC 产品。 MELSEC-A 系列通用型属于小型快速的模块式 PLC 产品。 MELSEC-Q 系列
12、属于中大型 PLC 产品。 四、立石公司的可编程序控制器 小型 PLC:CPM1A、CPM2A、CPM2A 。 中型 PLC:C200H、CJ1、CJ1M、CQM1H。 大型 PLC:CS1、CS1D、CV、CVM1、CVM1D。 6 第 2 章 可编程序控制器的基本原理 2.1 可编程序控制器的基本结构 整体式 PLC 模块式 PLC 7 2.2 可编程序控制器的各组成部分 一、中央处理单元 CPU 1. CPU 的功能 (1) 读入现场状态;(2) 控制存储和解读用户程序;(3) 执行各种运算程序;(4) 输出运算结 果; (5) 执行系统诊断功能;(6) 与外部设备或计算机通信等。 二、
13、存储器 1. 存储器的类型 ROM、RAM、PROM、EPROM、EAROM、EEPROM。 2. 存储器的划分 (1) 系统存储器 ROM 存储器。 (2) 用户程序存储器 有掉电保护的 RAM 或 EEPROM 存储器。不同型号的 PLC 其存储器的容量差别很 大。 (3) 工作数据存储器 有掉电保护的 RAM 或 EEPROM 存储器。 在工作数据区预先开辟了“元件映像寄存器” 和变量数据区。 有掉电时能保持数据的区域 数据保持区。 三、输入/输出模块 输入/输出信号:开关量、模拟量。 开关量:直流量、交流量。 1. 数字量(开关量)输入接口电路 (1) 直流输入接口电路 (2) 交流输
14、入接口电路 CPU DI AI 输输 入入 映映 像像 寄寄 存存 输输 出出 映映 像像 寄寄 存存 D O . . . . 8 2. 数字量(开关量)输出接口电路 根据输出电路所用开关器件的不同分类。 (1) 晶体管输出接口电路 (2) 双向晶闸管输出单元 (3) 继电器输出接口电路 3. 模拟量的输入与输出 (1) 模拟量输入 采样值 A/D 转换 8 位/10 位/ 12 位数字量 输入映像寄存器 AI。 S7200 PLC 中, 一个模拟量转换为 12 位数字量, 但是占用 AI 一个字长 (16 位) 。 输入模拟信号的大小: 电压:10 10V, 0 10V,1 5V 电流:20
15、 20mA,0 20mA,4 20mA。 模拟量输入接口电路 9 (2) 模拟量输出 数字量 输出映像寄存器 AQ D/A 转换(还原) 模拟量。 S7200 PLC 中,输出模拟量未转换前是 1 个字长的数字量,存放在 AQ 中。 输出模拟信号的大小: 电压:10 10V,0 10V,1 5V。 电流:20 20mA,0 20mA,4 20mA。 输出可以直接驱动小功率的设备。如指示灯、小型继电器 。 大功率或高压设备,要通过中间继电器、电磁开关等进行电压或功率放大才能驱动。 模拟量输出接口电路 四、外部设备 五、智能模块 PID 控制模块 高速计数模块 温度测量模块 运动控制模块 10 通
16、信模块 ASCII 模块 BASIC 模块 中断控制模块 六、电源 内部有一个开关电源。 电源的容量取决于 PLC 的型号。 S7200 CPU 的内部电源为自身、扩展模块、其他用电设备提供 5 V、 24 V DC 电 源。 扩展模块通过与 CPU 连接的总线连接电缆取得 5 V 直流电源。 CPU 向外提供的 24 V DC 电源从(L,M)端引出。该电源为 (1) 本机集成的 、扩展模块上的 I/O 点供电。 (2) 特殊的模块、智能模块供电。 (3) 从通信口输出,提供给 PC/PPI 编程电缆、TD200 文本显示操作界面等设备。 电源的容量: 如果总需求超过 CPU 的供电能力:
17、必须减少或改变模块的配置。需增加外部 24 V DC 电源。 2.3 可编程序控制器的工作原理 一、 PLC 的扫描工作方式 PLC 采用“顺序扫描、不断循环”的工作方式。 CPU 连续执行用户程序,任务的循环序列称为扫描。 一个扫描周期包含以下任务 读输入 执行程序 处理通信请求 执行 CPU 自诊断 写输出 二、PLC 的扫描工作过程 1. 输入采样阶段输入采样阶段 读 (采样) 输入端子的信号 存入 (刷新) I 中。 没有使用的 I 位被清零。 2. 程序执行阶段程序执行阶段 执行用户程序。程序按指令顺序执行(跳转指令例外) 。 对输入指令,从 I 中读取数 据。 对输出指令,将输出值
18、存入 Q 中。 立即输入/输出指令除外。 3. 处理通信请求 CPU 处理从通信端口接收到的任何信息。 处理通信请求的时间是可以调节的。 4. 执行 CPU 的自诊断 CPU 检查其硬件、I/O 模块状态、用户存储器。发现故障,报警或停止程序运行。 5. 输出刷新阶段输出刷新阶段 11 将 Q 中的输出值 输出锁存器 驱动被控对象按新的输出值动作。 PLC 的工作过程 三、PLC 的输入/输出滞后现象 影响输入/输出响应滞后的主要因素有: 输入延迟时间。 扫描周期。 输出延迟时间。 程序语句的安排, 影响程序执行时间。 如图所示程序: 从 I0.0 接通到 Q0.1 接通延迟了一个多扫描周期(
19、正 常) 。 而 Q0.0 被接通却延迟了两个多扫描周期(不正常) 。 解决方法:交换网络 1 与网络 2 前后位置。 2.4 可编程序控制器的编程语言 一、 PLC 软件的基本概念 1. 系统软件 (1) 系统管理程序 运行管理、存储空间管理、系统自 检程序。 (2) 用户指令解释程序 (3) 标准程序模块和系统调用 2. 用户程序 实现控制功能的应用程序。编制不同程序,实现不同功能可编程序。 二、梯形图 LAD 梯形图是一种图形化的语言,特点: (1) 梯形图与继电器接触器控制电路相似,易于理解,全世界通用。 (2) 易于初学者使用。 (3) 可以利用 STL 编程器显示所有用 LAD 编
20、程器编写的程序。 (4) 各个厂商的图形符号略有不同。 12 三、语句表 STL 语句表是类似汇编语言的指令助记符编程语言。 特点: (1) STL 最适合有经验的程序员。 (2) 能解决 LAD 和 FBD 不易解决的问题 。 (3) 利用 STL 编程器可以查看用 LAD 和 FBD 编程器编写的程序,反之不一定成立。 语句表 = 语句。 语句= 操作码 + 操作数。 语句表与梯形图 四、功能块图 FBD 功能块图是用类似数字电路逻辑门符号的逻辑盒指令来表示命令的一种图形语言。 特点: (1) 图形逻辑门表示格式有利于程序流的跟踪。 (2) 可以利用 STL 编程器显示所有用 FBD 编程
21、器编写的程序。 功能块图与梯形图 五、基于 Windows 的编程语言标准 IEC61131-3 (1) FBD 功能图块语言 (Function Block Diagram 功能块) 。 (2) SFC 顺序功能图语言 (Sequence Function Chart 流程图) (3) LD 梯形图语言 (Ladder Diagram) (4) ST 结构化文本语言(类似 Pascal 等) (Structure Text) (5) IL 语句表语言 (Instruction List) 13 六、变量的数据类型 指令所允许的数据类型通过标识符得到。 表 2-1 基本数据类型 基本数据类型
22、内 容 数据范围 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 第 3 章 S7200 PLC 的硬件系统 3.1 S7200 PLC 硬件系统的组成 3.2 数据存储器及其寻址方式 3.3 扩展 I/O 模块的寻址 3.1 S7200 PLC 硬件系统的组成 一、S7200
23、 CPU 模块 中央处理单元 + 数字量 I/O 点 + 电源。 14 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 的通用规范 . 模拟电位器 提供有 1 2 个模拟电位器。 模拟电位器的电阻值存放在 SMB28 和 SMB29 中。模拟电位器 0 SMB28 ,模 拟电位器 1 SMB29 。 通过调节电位器改变 SMB28 和 SMB29 中的值(只读) 。 SMB28 和 SMB
24、29 中的值可作为程序的上下限值,或更新定时器和计数器的当前 值,输入或修改预设值。 电阻值 = 0 255 。 15 二、数据保持 1. 采用超级电容实现数据保持 2. 采用电池卡实现数据保持 3. 使用数据块实现数据保持 在编程时设置系统块,定义六个可选的要保持的存储器区:V、M、 C、T(TONR) 。使 之在 CPU 断电时自动写入 EEPROM 中。 4. 断电自动保存 5. 在用户程序中实现数据保持 将 V 中的任意地址的数据备份到 EEPROM 中每一个扫描周期只能保存一个数据。 三、 高级配置 内置 4 6 个高速计数器。 内置两路高速脉冲输出。 集成 DI 点具有脉冲捕捉功能
25、。 高速中断响应。 八路 PID 回路控制。 灵活的通信功能。 高速计数功能 (1) 有 4 6 个高速计数器。 (2) 提供高速加、减、加/减计数功能。 (3) 高速计数功能不占用 CPU 扫描时间。 (4) 使用单相编码器时 CPU 最高计数频率为 30 kHz。 (5) 使用双相编码器时 CPU 最高计数频率为 20 kHz 。 16 高速脉冲输出 PWM 功能 (1) 通过 Q0.0 和 Q0.1 来实现 PWM 输出。 (2) PWM 脉冲是占空比可调的脉冲串。 (3) 编程控制脉冲的周期(ms / s)和脉宽。 (4) 周期 =(50 65 532)s 或(2 65 532)ms。
26、 脉宽 =(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 段。 四、扩展模块 扩展实例 17 1. 数字量 I/O 扩展模块 2. 模拟量 I/O 扩展模块 定位控制模块 EM 253 EM 253 能产生脉冲串,用于步进电机和伺服 电机
27、速度、位置的开环控制。 用 PWM 输出 fmax = 200 kHz。 直接从 Micro/WIN 软件进行参数设置和调整。 应用 EM 253 举例 18 3.2 数据存储器及其寻址方式 一、S7200 CPU 数据存储器的分配和地址 1. 数据存储器的类型 (1) 输入映象寄存器 I (2) 输出映象寄存器 Q (3) 模拟量输入 AI (4) 模拟量输出 AQ (5) 变量存储器 V (6) 位存储器 M (7) 特殊存储器 SM (8) 定时器 T (9) 计数器 C (10) 高速计数器 HC (11) 顺序控制继电器 S (12) 累加寄存器 AC (13) 局部存储器 L 2.
28、 直接寻址方式 (1) 位寻址 19 存储器标识符 字节地址 . 位地址 (2) 字节寻址 存储器标识符 B 字节地址 (3) 字寻址 存储器标识符 W 起始字节地址 (4) 双字寻址 存储器标识符 D 起始字节地址 3. 数据的范围 二、数据存储器的功能及其寻址 1. 输入映像寄存器(I) 功能 存放从输入端子采集来的外部信号,按 1、0 的方式写入 I 中。作为逻辑运算的依据。 在每一个扫描周期开始时对输入端子采样。 I 中的一位, 对应一个物理输入点。 而一个物理输入点对应一个外部的“常开”或“常闭” 触点(按钮、行程开关、 ) 。 程序运行时,可以无数次地取用 I 中的某一位。 在执行
29、“立即输入”指令时,程序运行时直接读取物理输入点的状态,而不是从 I 中取 数据。 输入映像寄存器(I)寻址 可以按位、字节、字、双字等存取。 2. 输出映像寄存器(Q) 功能 存放等待输出的控制信号。 在每一个扫描周期的最后,将 Q 中的数据输出到输出端子,以驱动(控制)外部负 载。 在执行“立即输出”指令时, 程序运行时直接刷新 Q 中某一位的状态, 同时将该位的状 态输出 到输出端子,而不需要等待扫描周期的输出时段。 20 输出映像寄存器(Q)寻址 可以按位、字节、字、双字等存取。 3. 变量存储器(V) 功能 存储程序执行过程中逻辑控制操作的中间结果, 也可以用来保存与工序和任 务相关
30、的其他数据。 可以按位、字节、字、双字等存取。 4. 位存储器(M) 功能 中间继电器。暂存逻辑运算的中间结果或其他控制信息。又称为内部标志位, 其状态不能输出,即不能用于直接驱动外部负载。 位存储器(M)寻址 可以按位、字节、字、双字等存取。 5. 特殊存储器(SM) 功能 为用户提供大量的状态和控制功能,起到 CPU 和用户程序之间交换信息的 作用。 SM0.029.7:只读区域。 SM30.0179.7:可读/可写区域。 特殊存储器(SM)寻址 可以按位、字节、字、双字等存取。 21 6. 定时器存储区(T) 功能 相当于时间继电器。对时间间隔计数。 定时器的组成 16 位当前值寄存器状
31、态位(1 位) 定时器的定时值由程序赋值。 S7200 提供 256 个定时器。 定时器寻址 定时器地址:T定时器号。 7. 计数器存储区(C) 功能 用于累计输入端子或内部产生的脉冲数。 计数器的组成 16 位当前值寄存器状态位(1 位) 计数器的计数值由程序赋值。 S7200 提供 256 个计数器。 计数器寻址 计数器地址:C计数器号。 22 8. 高速计数器存储区(HC) 功能 用于对高速(比 CPU 扫描速率更快)的事件进行计数。其工作独立于 CPU 的扫描周 期。 高速计数器用 32 位符号整数累计脉冲数。 高速计数器的寻址: 地址: HC计数器号。 9. 累加寄存器( AC )
32、功能 用它向子程序传递参数,或从子程序返回参数, 也可以用来存储计算的中间 结果。 S7200 提供四个 32 位 AC: AC0、 AC1、 AC2、AC3。 可按字节、字、双字的形式存取 。 10. 模拟量输入存储区( AI ) 23 功能 存放由模拟信号转换来的 16 位二进制数。 AI 区为只读数据。 寻址格式:AIW0、 AIW2、 AIW4、 即寻址从偶数字节开始。 11. 模拟量输出存储区(AQ) 功能 存放待转换成模拟信号的 16 位二进制数。 AQ 区为只写数据区。 寻址格式:AQW0、 AQW2、 AQW4、 即寻址从偶数字节开始。 12. 顺序控制继电器存储区(S) 功能
33、 用于组织机器按顺序操作。 是顺序控制继电器指令的专用编程元件。 可按位、字节、字、双字的形式存取 。 寻址格式: 位寻址: S 字节地址 . 位号 字节/字/双字寻址: S 长度 起始字节地址 例如: S0.0 SB10 SW30 SD28 13. 局部存储器(L) 功能 与变量存储器相似,但是只能局部使用。即主程序、子程序、中断程序有各 自独立的 L。 可按位、字节、字、双字的形式存取 。 寻址格式: 位寻址: L 字节地址 . 位号 字节/字/双字寻址: L 长度 起始字节地址 例如: L0.0 LB10 LW30 LD50 三、存储器的有效范围(S7200 CPU 224) 24 S7
34、200 CPU 中的常数 常数值可以为字、字节、双字。 CPU 以二进制方式存储所有常数。 也用十进制、十六进制、ASCII 码或浮点数 形式来表示。 例如 二进制: 2#1010 0110 1100 1011 十进制: 12345 十六进制: 16#3E4F ASCII 常数: Text goes between single quotes. 实数或浮点数:3.141592E38 1.275495E38 四、CPU 存储器区域的间接寻址 间接寻址是使用指针来存取存储器中的数据。 S7200 CPU 只能对 I、Q、V、M、S、T 和 C(T、C 仅当前值)等存储器区域使 用间接寻址方式存取数
35、据。 不能对上述区域独立的位 (bit) 值使用间接寻址方式, 也不能对模拟量进行间接寻址。 1. 建立指针 地址指针为双字值。 地址指针存放在:V、L、AC1 AC3 。 使用 MOVD 指令将地址传送到地址指针单元中。 操作数前加“&”,表示某一位置的地址。 例如:&VW100、 &MB20、 &C5。 建立地址指针举例 2. 间接寻址方法 在操作数前加“*”表示操作数为指针而非直接地址。 举例 MOVW *AC3,MW20 25 MOVW *VD206,VW300 MOVW *LD8, VW400 “MOVW *AC3,MW20” 执行过程 “MOVW AC3,MW20” 执行过程 3.
36、3 扩展 I/O 模块的寻址 CPU 上集成的 I/O 点数是有限的,它们是有固定地址的。 当输入、输出量超过集成 I/O 点数时,就需扩展 I/O 点数,即加扩展 I/O 模块。 扩展 I/O 点的地址取决于扩展 I/O 模块的类型和物理位置。 第 4 章 S7-200 PLC 的指令系统 4.1 位逻辑指令 一、触点指令 1. 标准触点指令 当 bit = 1 时,常开触点闭合、常闭触点断开。 26 当 bit = 0 时,常开触点断开、常闭触点闭合。 标准触点指令的操作数: 二、取非指令 取非指令改变能流的状态:能流到达取非触点时,停止;能流未到达取非触点时,通 过。 三、正跳变和负跳变
37、检测指令 正跳变检测指令在检测到每一次正跳变(从 OFF 到 ON)时,让能流接通一个扫描周 期。 负跳变检测指令在检测到每一次负跳变(从 ON 到 OFF)时,让能流接通一个扫描周 期。 四、输出指令 当执行输出指令时, 映像寄存器中的指 定参数位(bit)被接通。 五、置位和复位指令 指令执行时,从 bit 或 OUT 指定的地址参数开始的 N 个点都被置位(置 1)或复位 (置 0) 。N = 1 255。 4.2 定时器和计数器指令 S7-200 提供三种定时器指令: (1) 接通延时定时器指令 TON (2) 有记忆接通延时定时器指令 TONR 27 (3) 断开延时定时器指令 TO
38、F 定时器指令的操作数: 定时器的三种分辨率与定时器号的对应关系 : 例:接通延时定时器和有记忆接通延时定时器的异同。 【例】 下图是使用符号地址的定时器指令的应用实例。 该程序控制电灯点亮 10s 后自动熄灭。 图中 Lamp_ON 是控制电灯点亮的按钮开关,Lamp_OFF 是控制电灯熄灭的按钮开关。 28 二、计数器指令 S7-200 CPU 提供了 256 个计数器, 分为三种类型: (1) 增计数器指令 CTU (2) 减计数器指令 CTD (3) 增减计数器指令 CTUD 29 第 5 章 PLC 程序设计基础 5.1 梯形图的编程规则 一、梯形图的编程规则 (1) 每一个网络要起
39、于左母线,然后连接触点, 中止于输出线圈。 (2) 触点可以任意串并联,输出线圈只能并联 (3) 同一个触点的使用次数不受限制 (4) 触点只能画在水平方向的支路上, 而不能画在纵向支路上 (5) 关于电路块的串并联 30 (5) 关于电路块的串并联 (5) 关于电路块的串并联 (6) 关于双线圈输出 同一个输出线圈一般只使用一次。 多次使用同一个输出线圈称为双线圈输出。 不同 PLC 对双线圈输出的处理:有些 PLC 将其视为语法错。 有些 PLC 以最后一 次输出为准(S7200) 。 有些 PLC 在限定指令中可以使用。 31 避免双线圈输出的解决方法: (7) 外部输入触点用常开或常闭
40、触点均可 起动按钮可以用常开或常闭触点。 停止按钮可以用常开或常闭触点。 二、建立功能规范 (1) 确定输入/输出(I/O)点。 (2) 操作的功能描述(画流程图) 。 (3) 每个执行设备(线圈、电机、驱动器)执行前应满足的状态。 (4) 操作接口描述。 (5) 突然断电时,输出应当怎样处理:输出状态是否保持? 输出是否强制在某种状态? 5.2 典型控制功能的梯形图 一、具有自锁和互锁功能的梯形图 1. 具有自锁功能的程序 2. 具有互锁功能的程序 32 二、定时器应用程序 2. 顺序脉冲发生器程序 3. 长定时程序 33 4. 用接通延时定时器实现断开延时功能程序 三、计数器应用程序 1.
41、 计数器与定时器组合的定时程序 34 5.3 PLC 程序的移植设计法和经验设计法 一、PLC 程序的移植设计法 1. 分析原有系统的工作原理 了解被控设备的工艺过程和机械的动作情况,根据继电器控制电路图分析和掌握控制系 统的工作原理。 2. PLC 的 I/O 分配 (1) 分析系统有哪些输入变量和输出变量; (2) 选定输入设备和输出设备; (3) I/O 分配并画出 PLC 外部接线图。 3. 建立元器件之间的对应关系 4. 设计梯形图 (1) 继电器控制电路 准梯形图。 (2) 准梯形图 符合梯形图的语法。 (3) 主令电器的常开触点不一定对应 I 的常开触点, 主令电器的常闭触点不一
42、定对应 I 的 常闭触点。 5. 程序调试 例 5-1 设计电动机的正、反转控制程序。 35 解:(1) I/O 分配 (2) 画梯形图 例 5-2 设计电动机 Y起动控制程序。 36 解:(1) I/O 分配 (2) 设计梯形图 37 二、PLC 程序的经验设计法 经验设计法的设计步骤: (1) 分析控制要求,选择控制原则。 (2) 分析有哪些控制信号 输入变量 I , 有哪些被控制信号 输出变量 Q 。 (3) 选定输入设备和输出设备。 (4) 进行 I/O 分配,画出 PLC 外部接线图。 (5) 设计执行元件的控制程序。 (6) 检查控制功能是否达到,修改、完善程序,最后进行程序调试。
43、 例 5-3 设计送料小车的两位行程控制程序。 解:(1) I/O 分配 38 (2) 梯形图 例 5-4 设计送料小车的三位行程控制程序。 (2) 梯 39 形图 5.4 PLC 程序的顺序控制设计法 前面所介绍的 S7-200 基本指令,可以设计一般的顺序、选择和循环程序,但对于一些 较复杂的程序结构(如并发顺序、并行分支等) ,为了便于编程, S7-200 提供了专用的顺序 40 类型(如并发顺序、并行分支等)控制指令。 功能图也称功能流程图,它是专用于工业顺序控制程序设计的一种方法,是一种功 能描述语言。利用功能图可以向设计者提供控制问题描述方法的规律,能完整地描述控制系 统的工作过程
44、、功能和特性。 一、顺序控制设计法的设计步骤 PLC 除了梯形图以外,还采用了 SFC(Sequential Function Chart)顺序功能图语言,用于 编制复杂的顺序控制程序。利用这种编程方法能够较容易地编写出复杂的顺序控制程序,从 而提高了工作效率,对于程序调试也极为方便。 顺序控制是指按照生产工艺预先规定的顺序,在各个输入信号的作用下,根据内部状态 和时间的顺序,使各个执行机构自动有序的进行操作。 一、顺序功能图顺序功能图 指描述控制系统的控制过程、功能和特性的一种图形,主要由步、有向连线、转换、转步、有向连线、转换、转 换条件和动作(或命令)换条件和动作(或命令)组成。它具有简
45、单、直观等特点,是设计 PLC 顺序控制程序的一种 有力工具。 顺序控制功能图设计法是指用转换条件控制代表各步的编程元件,让它们的状态按一定 的顺序变化,然后用代表各步的编程元件去控制 PLC 的各输出继电器。 1、 步 将系统的一个周期划分为若干个顺序相连的阶段,将系统的一个周期划分为若干个顺序相连的阶段, 这些阶段称为步。这些阶段称为步。 “步”是控制过程中的一个特定状态。步又 分为初始步和工作步,在每一步中要完成一个或多个特定的动 作。初始初始步表示一个控制系统的初始状态,所以,一个控制系步表示一个控制系统的初始状态,所以,一个控制系 统必须有一个初始步,统必须有一个初始步,初始步可以没
46、有具体要完成的动作。 2、转换条件 步与步之间用“有向连线”连接,在有向 连线上用一个或多个小短线表示一个或多个转换条件。当条件 得到满足时,转换得以实现。即上一步的动作结束而下一步的 动作开始,因此不会出现步的动作重叠。当系统正处于某一步 时, 把该步称为 “活动步” 。 为了确保控制严格地按照顺序执行, 步与步之间必须要有转换条件分隔。 状态继电器是构成功能图的重要元件。 以右图为例说明功能图。 步用方框表示,方框内是步的元件号或步的名称,步与步 之间要用有向线段连接。其中从上到下和从左到右的箭头可以 省去不画,有向线段上的垂直短线和它旁边的圆圈或方框是该步期间的输出信号,如需要也 可以对
47、输出元件进行置位或复位。当步 S0.0 有效时,输出 Q0.0 接通,程序等待转换条件 I0.1 动作。当 I0.1 满足时,步就由 S0.0 转到 S0.1,这时 Q0.0 断开,定时器接通。 转换条件是指与转换相关的逻辑命令, 可用文字语 言、布尔代数表达式或图形符号在短划线旁边,使用 最多的是布尔代数表达式。 例如:顺序结构也称为单流程。 1)0、1、2 为状态又称流程步或工作步。表示控制 系统中的一个稳定状态。 2)状态右侧为动作,表示状态需要执行的功能操 作。 3)两个状态之间用一个有向线段表示转移(从一 个状态变化为另一个状态的切换条件) 绘制顺序功能图应注意:绘制顺序功能图应注意
48、: 41 1、两个步绝对不能直接相连,必须用一个转换将它们隔开。 2、两个转换绝对不能直接相连,必须用一个步将它们隔开。 3、初始步必不可少,否则无法表示初始状态,系统也无法返回停止状态。 4、自动控制系统应能多次重复执行同一工艺过程, 应组成闭环, 即最后一步返回初始步,即最后一步返回初始步, (单周期)(单周期)或下一周期开始运行的第一步(连续循环)下一周期开始运行的第一步(连续循环) 。 5、只有当前一只有当前一步是活动步,该步才可能变成活动步。步是活动步,该步才可能变成活动步。一般采用无断电保持功能的编程元 件代表个步时,进入 RUN 工作方式时,它们均处于断开状态,系统无法工作。必须
49、 使用初始化脉冲初始化脉冲 SM0.1 的常开作为转换条件,将初始步预置为活动步。 3功能图的结构 根据步与步之间进展的不同情况,功能图有三种结构: 1)单序列。 反映按顺序排列的步相继激活这样一种基本的进展情况,如图 8-69 所示。 2)选择序列。 一个活动步之后,紧接着有几个后续步可供选择的结构形式称为选择序 列。如图 8-69 所示,选择序列的各个分支都有各自的转换条件。 3)并行序列。 当转换的实现导致几个分支同时激活时,采用并行序列。其有向连线的 水平部分用双线表示。如图 8-66 所示。 4)跳步、重复和循环序列。 在实际系统中经常使用跳步、重复和循环序列。这些序列 实际上都是选
50、择序列的特殊形式。 如图 6-67a 所示为跳步序列。当步 3 为活动步时,若转换条件 X005 成立,则跳过步 4 和步 5 直接进入步 6。 图 6-67b 所示为重复序列。当步 6 为活动步时,若转换条件 X004 不成立而 X005 成立, 则重新返回步 5,重复执行步 5 和步 6。直到转换条件 X004 成立,重复结束,转入步 7。 图 6-67c 所示为循环序列,即在序列结束后,用重复的方式直接返回初始步 0,形成序 列的循环。 42 二、使用顺序控制指令的编程方法 S7-200 PLC 编程环境提供了三条顺序控制指令,其指令的格式、功能及操作数形式为: 1、 LSCR 指令(在