首 结束 第五章7200系列PC的基本指令 5.1S7-200编程的基本概念 5.2基本逻辑指令 5.3程序控制指令 5.4PLC初步编程指导 5.5简单程序编制
首页 上一页 下一页 结束 第五章 S7-200系列PLC的基本指令 5.1 S7-200编程的基本概念 5.2 基本逻辑指令 5.3 程序控制指令 5.4 PLC初步编程指导 5.5 简单程序编制
首 结束 5,17200编程的基本概 5.1.1编程语言 5.1.2数据类型 5.1.3用户程序的结构 5.1.4编程的一般约定 回
首页 上一页 下一页 结束 5.1 S7-200编程的基本概念 5.1.1 编程语言 5.1.2 数据类型 5.1.3 用户程序的结构 5.1.4 编程的一般约定 返回
首 结束 5,,编程语 可编程控制器的工作过程是依据一连串的控制指令来进行的,这些控制指令就是我们常说的编程语言。可 编程控制器的编程语言一般有梯形图、语句表、功能块图和计算机髙级语言等几种。S7-200可编程控制器 般使用梯形图、语句表和功能块图 梯形图是一种图形语言,它任沿用了继电器的触点和线圈等符号。它是以继电器控制系统的电器原理 图为基础演变而来的,易于初学者使用,图形表示易于理解,而且全世界通用 PLG的梯形图使用的内部继电器,定时器和计数器等都是通过软件来实现的,使用方便,修改灵活 例如图5-1所示,该控制程序具有启动自锁、延时断开的功能 0.0 0.1 T38 Q0.0 Q00 T38 TON +10PT 5-1梯形图编程实 语句表是通过指令助记符控制程序的,类似计算机汇编语言,它适合有经验的程序员。不同厂家的PL所 采用的指令集往往不同,所以对于同一个梯形图,书写的语句表指令形式也不尽相同 语句是用户程序的基本单元,每条语句都规定了CPU该如何动作,实现什么功能。PLc的语句表由操作码和 操作数构成:操作码操作数 操作码告诉CPU要执行的功能,操作数提供执行过程中所需的参数。应该注意的是,有的操作码是没有 操作数的
首页 上一页 下一页 结束 5.1.1 编程语言 可编程控制器的工作过程是依据一连串的控制指令来进行的,这些控制指令就是我们常说的编程语言。可 编程控制器的编程语言一般有梯形图、语句表、功能块图和计算机高级语言等几种。S7-200可编程控制器 一般使用梯形图、语句表和功能块图。 梯形图是一种图形语言,它任沿用了继电器的触点和线圈等符号。它是以继电器控制系统的电器原理 图为基础演变而来的,易于初学者使用,图形表示易于理解,而且全世界通用。 PLC的梯形图使用的内部继电器,定时器和计数器等都是通过软件来实现的,使用方便,修改灵活。 例如图5-1所示,该控制程序具有启动自锁、延时断开的功能。 图5-1 梯形图编程实例 语句表是通过指令助记符控制程序的,类似计算机汇编语言,它适合有经验的程序员。不同厂家的PLC所 采用的指令集往往不同,所以对于同一个梯形图,书写的语句表指令形式也不尽相同。 语句是用户程序的基本单元,每条语句都规定了CPU该如何动作,实现什么功能。PLC的语句表由操作码和 操作数构成:操作码 操作数… 操作码告诉CPU要执行的功能,操作数提供执行过程中所需的参数。应该注意的是,有的操作码是没有 操作数的
首 结束 5,,编程语言 与图5-1相对应的语句表指令如图5-2所示 I0.0 T38 Q0.0 LPP ToNT38,+10 图5-2语句表编程实例 功能块图又称逻辑盒指令,它沿用了半导体逻辑电路的逻辑方框图,没有像梯形图中的触点和线圈,对每 种功能都使用一个运算方法,其运算功能由方框图内的符号确定。控制逻辑常用“与”、“或”、“非” 三种逻辑功能来表达,方框的左边为输入,右边为输出。 与图5-1相对应的功能块图如图5-3所示
首页 上一页 下一页 结束 5.1.1 编程语言 与图5-1相对应的语句表指令如图5-2所示: 图5-2 语句表编程实例 功能块图又称逻辑盒指令,它沿用了半导体逻辑电路的逻辑方框图,没有像梯形图中的触点和线圈,对每 种功能都使用一个运算方法,其运算功能由方框图内的符号确定。控制逻辑常用“与”、“或”、“非” 三种逻辑功能来表达,方框的左边为输入,右边为输出。 与图5-1相对应的功能块图如图5-3所示:
首页画上一页下一页结束 5,,编程语 TON 图5-3功能块图编程实例 由于各厂家生产的PLC系列各不相同,使用的指令符号也各有差异,不过梯形图编程基本上大同小异。本 书都是基于 SimatIc s7-200系列可编程控制器来介绍梯形图、语句表指令的编程方法
首页 上一页 下一页 结束 5.1.1 编程语言 图5-3 功能块图编程实例 由于各厂家生产的PLC系列各不相同,使用的指令符号也各有差异,不过梯形图编程基本上大同小异。本 书都是基于Simatlc S7-200系列可编程控制器来介绍梯形图、语句表指令的编程方法
首 结束 5,1.2数据类型 (1)基本数据类型 S7-200PLC指令系统所用的数据类型包括:1位布尔型(BOOL)、8位字节型(BYTE)、16位无符号整数 (WORD)、16位有符号整数(NT)、32位无符号整数 DWORD)、32位有符号整数DNT)以及32位实数 (REAL) 16位无符号整数一般称为“字”,32为无符号整数一般称为“双字”:16位有符号整数习惯上称为“整 数”,32为有符号整数称为“双整数”。实数REAL类型是按照 ANSIIEEE754-1985的标准的表示格式规 定的 (2)数据长度与数值范围 CPU存储器中存放的数据类型可以为BOOL、BYTE、WORD、INT、 DWORD、DNT和REAL。不同的数 据类型具有不同的数据长度和数值范围。如表5-1所示: 数据类型表数述度与数值范围数值范围(十进制表示 位(BOO 0 字节(BYTE 字(WORD) 0~65535 整数NT) 32768~32767 双字WORD) 0~4294967295 双整数N) 147483648~2147483647 实数EAL) 1038~1038 SIMATIO指令集中,不同的指令所需操作数的数据类型一般不同,例如传送操作指令分为字节传送、比传 送和双字传送等,在编程过程中,要稍加留意
首页 上一页 下一页 结束 5.1.2 数据类型 (1) 基本数据类型 S7-200PLC指令系统所用的数据类型包括:1位布尔型(BOOL)、8位字节型(BYTE)、16位无符号整数 (WORD)、16位有符号整数(INT)、32位无符号整数(DWORD)、32位有符号整数(DINT)以及32位实数 (REAL)。 16位无符号整数一般称为“字”,32为无符号整数一般称为“双字”;16位有符号整数习惯上称为“整 数”,32为有符号整数称为“双整数”。实数REAL类型是按照ANSI/IEEE 754-1985的标准的表示格式规 定的。 (2) 数据长度与数值范围 CPU存储器中存放的数据类型可以为BOOL、BYTE、WORD、INT、DWORD、DINT和REAL。不同的数 据类型具有不同的数据长度和数值范围。如表5-1所示: 表5-1 数据长度与数值范围 SIMATIC指令集中,不同的指令所需操作数的数据类型一般不同,例如传送操作指令分为字节传送、比传 送和双字传送等,在编程过程中,要稍加留意。 数据类型 数据长度 数值范围(十进制表示) 位(BOOL) 1 0、1 字节(BYTE) 8 0~255 字(WORD) 16 0~65535 整数NT) 16 -32768~32767 双字WORD) 32 0~4294967295 双整数NT) 32 -2147483648~2147483647 实数EAL) 32 -1038~1038
首 结束 用户程序的结构 主程序OB1 主程序OBI 任务模块0 控制任务1 子程序SBR0 SBRI 控制任务2 子程序SBRI 王务模块1 控制任务3 子程序SBR2 任务模块2 控制任务n 子程序SBRn SBRn 图5-4线性程序结构 5-5分块程序结构
首页 上一页 下一页 结束 5.1.3 用户程序的结构 主程序OB1 控制任务1 控制任务2 控制任务3 ………… 控制任务n 图5-4线性程序结构 主程序OB1 子程序SBR0 子程序SBR1 子程序SBR2 ………… 子程序SBRn SBR1 任务模块1 SBR0 任务模块0 SBR2 任务模块2 SBRn 任务模块n 图5-5 分块程序结构
首 结束 4编程的一般约完 (1)网络 在梯形图中,程序被分成称为网络的一个个段。一个网络就是触点、线圈和功能框的有顺序排列,这些元 件连在一起组成一个从左母线到右母线之间的完整电路。 梯形图和功能块图中使用网络这个概念给程序分段和注释,语句表程序不使用网络,而是使用关键词 NETWORK对程序进行分段。 STEP- Micro/WIN32允许以网络为单位给程序建立注释。 (2)执行分区 在梯形图、语句表或功能块图中,一个程序包含至少一个必需部分和其他可选部分。必需部分是主程序, 可选部分包括一个或多个子程序或者中断程序。通过选择 STEP- Micro/WN32的分区选项,可以方便地切 换到程序的各个分区。 (3)EN/ENO定义 EN(允许输入)是梯形图和功能块图中功能框的布尔量输入。对要执行的功能框,这个输入必须存在能量流。 在语句表中,指令没有N输入,但是对于要执行的语句表指令,栈顶的值必须置“1” ENO(允许输出)是梯形图和功能块图中功能框的布尔量输岀。如果功能框的N输入存在能量流,功能框 能够准确地执行其功能,那么ENO输岀将把能量流传到下一个单元。如果在执行过程中岀现错误,则能 量流就在出现错误的功能框上终止。 (4)条件无条件输入 在梯形图和功能块图中,与能量流有关的功能框或线圈用不是到左母线的连接表示。与能量流无关的线圈 或功能框用一个直接到左母线的连接表示
首页 上一页 下一页 结束 5.1.4 编程的一般约定 (1) 网络 在梯形图中,程序被分成称为网络的一个个段。一个网络就是触点、线圈和功能框的有顺序排列,这些元 件连在一起组成一个从左母线到右母线之间的完整电路。 梯形图和功能块图中使用网络这个概念给程序分段和注释,语句表程序不使用网络,而是使用关键词 “NETWORK”对程序进行分段。STEP-Micro/WIN32允许以网络为单位给程序建立注释。 (2) 执行分区 在梯形图、语句表或功能块图中,一个程序包含至少一个必需部分和其他可选部分。必需部分是主程序, 可选部分包括一个或多个子程序或者中断程序。通过选择STEP-Micro/WIN32的分区选项,可以方便地切 换到程序的各个分区。 (3) EN/ENO定义 EN(允许输入)是梯形图和功能块图中功能框的布尔量输入。对要执行的功能框,这个输入必须存在能量流。 在语句表中,指令没有EN输入,但是对于要执行的语句表指令,栈顶的值必须置“1”。 ENO(允许输出)是梯形图和功能块图中功能框的布尔量输出。如果功能框的EN输入存在能量流,功能框 能够准确地执行其功能,那么ENO输出将把能量流传到下一个单元。如果在执行过程中出现错误,则能 量流就在出现错误的功能框上终止。 (4) 条件/无条件输入 在梯形图和功能块图中,与能量流有关的功能框或线圈用不是到左母线的连接表示。与能量流无关的线圈 或功能框用一个直接到左母线的连接表示
首 结束 4编程的一般约完 (5)无输出的指令 不能级联的指令盒用不带布尔输出来表示。它们是子程序调用、JMP、CRET等。也有只放在左母线的梯 形图线圈。它们包括LBL、NEXT、SCR和SCRE等等。在功能块图中,它们表示为指令盒,并把它们与不 带标记的能量输入相区别 (6)比较指令 尽管比较指令在梯形图中是一个触点,但是在功能块图中用的是指令盒表示 比较指令的执行和能量流的状态无关,如果能量流不存在,比较的输出就是“0”,如果能量流存在,比较 的输出就和比较的结果有关 (7 STEPT-MicorNIN32的一些规定 1)一个符合所有的大写字母(ABC)表示该符号为全局符号。 2)带有警号的符号名#arl表示该符号是局部符号 3)符号%指示一个直接地址 4)操作数符号“?或“?22指示需要一个值
首页 上一页 下一页 结束 5.1.4 编程的一般约定 (5) 无输出的指令 不能级联的指令盒用不带布尔输出来表示。它们是子程序调用、JMP、CRET等。也有只放在左母线的梯 形图线圈。它们包括LBL、NEXT、SCR和SCRE等等。在功能块图中,它们表示为指令盒,并把它们与不 带标记的能量输入相区别。 (6)比较指令 尽管比较指令在梯形图中是一个触点,但是在功能块图中用的是指令盒表示。 比较指令的执行和能量流的状态无关,如果能量流不存在,比较的输出就是“0”,如果能量流存在,比较 的输出就和比较的结果有关。 (7)STEP7-Micor/WIN 32的一些规定 1) 一个符合所有的大写字母(ABC)表示该符号为全局符号。 2) 带有警号的符号名#var1表示该符号是局部符号。 3) 符号%指示一个直接地址。 4) 操作数符号“?”或“????”指示需要一个值
首 结束 5.2基本逻辑指今 5.2.1位逻辑指令 5.2.2定时器和计数器指令 5.2.3逻辑堆栈指令 5.2.4比较操作指令 回
首页 上一页 下一页 结束 5.2 基本逻辑指令 5.2.1 位逻辑指令 5.2.2 定时器和计数器指令 5.2.3 逻辑堆栈指令 5.2.4 比较操作指令 返回