当前课程知识点:电气控制技术与PLC > 第5章 S7-200 SMART PLC编程基础 > 5.1 PLC编程语言与程序结构 > PLC编程语言与程序结构
大家好
这一讲我们学习PLC编程语言与程序结构
与个人计算机相比
PLC的硬件 软件的体系结构都是封闭
而不是开放的
各厂家PLC的编程语言和指令系统的功能
和表达方式也不一致
互不兼容
其中第三部分IEC61131-3是PLC编程语言标准
IEC61131-3是世界上第一个
目前有越来越多的PLC生产厂家提供符合
IEC61131-3标准的产品
IEC61131-3已经成为各种工控产品
事实上的软件标准
IEC61131-3详细地说明了
句法 语义和下述5种编程语言
分别为顺序功能图(Sequential Function Chart,SFC)
梯形图(Ladder Diagram,LAD)
功能块图(Function Block Diagram,FBD)
指令表(Instruction List)
在西门子PLC中
指令表也叫作语句表(STL)
还有结构文本(Structured Text)
这5种编程语言中顺序功能图
梯形图和功能块图是图形化编程语言
指令表和结构文本是文字语言
接下来我们来看一下每一种编程语言的特点
首先来看顺序功能图
是一种位于其他程序之上的图形语言
用来编制顺序控制程序
对于生产工艺为顺序执行的控制任务
采用顺序功能图来表征其控制过程十分合适
图1所示的就是一个典型的顺序功能图
它与系统的工艺流程较为相似
后面我们会详细介绍
接下来看梯形图
梯形图是使用得最多的PLC图形编程语言
梯形图与继电器控制系统的电路图很相似
具有直观易懂的特点
很容易被工厂熟悉电气控制的电气人员掌握
特别适合数字量逻辑控制
有时把梯形图称为电路
使用编程软件可以直接生成和编辑梯形图
梯形图由触点 线圈和方框指令组成
如图2所示
触点代表输入条件
例如外部的开关 按钮和内部条件等
线圈通常代表逻辑输出结果
用来控制指示灯
交流接触器和内部标志位等
方框用来表示定时器
计数器或者数学运算等指令
在分析梯形图中的逻辑关系时
为了借用继电器电路的分析方法
可以想象左右两侧垂直电源线之间
有一个左正右负的直流电源电压
S7-200 SMART 梯形图中
省略了右侧的垂直电源线
当I0.0的触点接通
有一个假想的能源流过M0.1的线圈
利用能流这一概念可以帮助我们
很好地理解和分析梯形图
能流只能从左向右流动
梯形图程序被划分为若干个网络
一个网络只能有一块不能分开的独立电路
在网络中 逻辑运算按照从左到右的方向执行
与能流的方向一致
没有跳转时 各程序段按照从上到下的顺序执行
执行完所有的程序段后
下一个扫描周期返回最上面的程序段重新执行
接下来我们再来看一下语句表
S7 系列PLC指令表称为语句表
PLC的指令是一种与微机的汇编语言中的
指令相似的助记符表达式
具体如图3所示
LD表示与母线相连
O表示触点并联
AN表示触点串联
=表示驱动输出
语句表由指令组成
语句表比较适合熟悉PLC和
程序设计的经验丰富的程序员使用
接下来我们再来看一下功能块图
这类语言类似数字逻辑电路的编程语言
前面例子的功能块图如图4所示
可以看出功能块图用类似于与门
或门的方框来表示逻辑运算关系
最后来看一下结构文本
它是为IEC61131-3标准创建的一种高级编程语言
与梯形图相比 它能实现复杂的数学运算
编写的程序非常简洁和紧凑
刚才一起了解了5种PLC编程语言的特点
那么在编写程序的时候
怎么选用呢
在编程软件中 用户是可以切换编程语言的
选用梯形图 功能块图和语句表来编程
国内很少有人使用功能块图来编程
梯形图和继电器电路图的表达方式极为相似
梯形图中输入信号(触点)与输出信号(线圈)
之间的逻辑关系一目了然
很容易理解
语句表程序比较难阅读
其中的逻辑关系很难一眼看出
在设计复杂的数字量控制程序时
建议使用梯形图语言
前面我们学习了PLC的编程语言
接下来我们来看一下
S7-200 SMART PLC CPU的程序结构
主要由主程序 子程序和中断程序组成
首先来看一下主程序
主程序一般用MAIN表示
是程序的主体
每次扫描都要执行主程序
每个项目都必须有且只能有一个主程序
接下来看一下子程序
仅在被调用时执行
使用子程序可简化程序代码
减少扫描时间
最后看一下中断程序
中断主要用来及时处理不能
事先预测何时发生的中断事件
在中断事件发生时
由PLC的操作系统调用中断程序
本次课我们主要学习了PLC的编程语言和程序结构
在后面的程序设计里都会用到
这一节就是为后面知识做准备的
本讲到此结束
谢谢大家
-1.1 低压电器简介
--低压电器简介
-1.2 低压开关电器
--低压开关电器
-1.3 主令电器
--主令电器
-1.4 接触器
--接触器
-1.5 熔断器
--熔断器
-1.6 继电器(一)热继电器和速度继电器
-1.7 继电器(二)时间继电器
-小测验
-2.1 三相异步电动机的直接起动控制
-2.2 三相异步电动机点动控制和长动控制
-2.3 三相异步电动机降压起动控制(一)
-2.4 三相异步电动机降压起动控制(二 )
-2.5 三相异步电动机的多点控制和顺序控制
-2.6 三相异步电动机的调速控制
-2.7 三相异步电动机的制动控制(一)
-2.8 三相异步电动机的制动控制(二)
-2.9 三相异步电动机正反转控制(一)
-2.10 三相异步电动机正反转控制(二)
-2.11 电气控制线路的设计方法
-小测验
-3.1 电气控制电路图的绘制(一)
-3.2 电气控制电路图的绘制(二)
-3.3 电气控制电路图的绘制(三)
-3.4 电气控制电路的设计方法 (一)
-3.5 电气控制电路的设计方法 (二)
-小测验
-4.1 认识PLC
--认识PLC
-4.2 PLC组成及工作原理
-4.3 S7-200 SMART PLC硬件介绍(上)
-4.4 S7-200 SMART PLC硬件介绍(下)
-4.5 STEP 7-Micro/WIN SMART编程软件(上)
--STEP 7-MicroWIN SMART编程软件(上)
-4.6 STEP 7-Micro/WIN SMART编程软件(下)
--STEP 7-MicroWIN SMART编程软件(下)
-小测验
-5.1 PLC编程语言与程序结构
-5.2 指令基础
--指令基础
-5.3 位逻辑指令
--位逻辑指令
-5.4 PLC编程规则与技巧
-5.5 定时器指令的工作原理
-5.6 定时器指令应用举例
-5.7 计数器指令的工作原理
-5.8 计数器指令的应用
--计数器指令应用
-小测验
-6.1 功能指令概述
--功能指令概述
-6.2 数据处理指令(一):比较指令与数据传送指令
-6.3 数据处理指令(二):数据转换指令
--数据转换指令
-6.4 数据处理指令(三):表格指令和时钟指令
-6.5 算术运算指令及其应用
-6.6 逻辑运算指令及其应用
-6.7 程序控制指令:跳转指令、循环指令
-6.8 子程序的编写与调用
-6.9 中断程序与中断指令
-6.10 高速计数器指令与高速脉冲输出指令(一)
-6.11 高速计数器指令与高速脉冲输出指令(二)
-小测验(一)
-小测验(二)
-小测验(三)
-7.1 梯形图的经验设计法
-7.2 顺序控制设计法与顺序功能图概述
-7.3 顺序功能图的基本结构和绘制方法
-7.4 使用SCR指令的顺序控制梯形图设计方法
-7.5 使用起保停电路的顺序控制梯形图设计方法
-7.6 使用置位复位指令的顺序控制梯形图设计法
-小测验
-8.1模拟量控制概述
--模拟量控制概述
-8.2模拟量输入输出配置及数值的规范化
-8.3PID控制指令
--PID控制指令
-8.4水箱水位PID控制程序举例
-小测验