西门子S7-200PLC指令系统手册
西门子S7-200 PLC的指令系统及指令应用
说明: 根据控制要求,程序在 M0.1 处应该输出 Q0.1,在 M0.2 处也应该输出 Q0.1 如果在 M0.1 及 M0.2 处直接输出 Q0.1,则就范了上面程序双线圈错误, 因此在需要输出 Q0.1 的地方,输出不同的中间继电器,然后把中间继电器的常 开点并联起来,再集中输出一个 Q0.1 的线圈,这样就能避免双线圈的问题。 或者下面的程序也能正确的满足控制要求:
分析: 若 A 先按下按钮, 则 Q0.1 灯要亮, 并且一直亮, 直到主持人按下复位按钮 I0.0, 灯才会灭。其他人按下按钮,对应的灯也不会亮。 若 B 先按下按钮, 则 Q0.2 灯要亮, 并且一直亮, 直到主持人按下复位按钮 I0.0, 灯才会灭。其他人按下按钮,对应的灯也不会亮。 同理,C、D 一样 以下程序是分析后得出的:
地址:苏州吴中宝丰路 1 号
咨询: 400-8169-114
苏州天天自动化 PLC 培训中心
触点指令应用案例 3:
用一个按钮(I0.1)来控制三个输出(Q0.1、Q0.2、Q0.3) 。 当 Q0.1、Q0.2、Q0.3 都为 OFF 时,按第一下 I0.1,则 Q0.1 变为 ON, 按第二下 I0.1,则 Q0.1、Q0.2 变为 ON, 按第三下 I0.1,则 Q0.1、Q0.2、Q0.3 都变 ON 按第四下 I0.1,则 Q0.1、Q0.2、Q0.3 都变为 OFF 状态。 按第五下 I0.1,重复执行如上动作。 试用两种不同的程序设计方法设计其梯形图程序。 以下是分析后得出的程序:
上图梯形图中,”N”此条件只有当 I0.0 由接通→断开的瞬间(也就是上面波形 图中的过程 4 这个状态时)才会接通,其他时刻都不会接通。
应用案例 1:每按一下 I0.1 按钮,变量存储器的数值加 1
西门子S7-200系列PLC顺序控制指令
西门子S7-200系列PLC顺序控制指令挨次掌握指令是plc生产厂家为用户供应的可使功能图编程简洁化和规范化的指令。
表1 挨次掌握指令的形式及功能STL LAD功能操作对象LSCR bit挨次状态开头S(位)SCRT bit挨次状态转移S(位)SCRE挨次状态结束无CSCRE条件挨次状态结束无从上表中可以看出,挨次掌握指令的操作对象为顺控继电器S,也把S称为状态器,每一个S的位都表示功能图中的一种状态。
S的范围为:即S0.0~S31.7。
从LSCR指令开头到SCRE指令结束的全部指令组成一个挨次掌握继电器(SCR)段。
LSCR指令标记一个SCR段的开头,当该段的状态器置位时,允许该SCR段工作。
SCR段必需用SCRE指令结束。
当SCRT 指令的输入端有效时,一方面置位下一个SCR段的状态器S,以便使下一个SCR段工作;另一方面又同时使该段的状态器复位,使该段停止工作。
由此可以总结出每一个SCR程序段一般有三种功能:(1)驱动处理:即在该段状态器有效时,处理相应的工作;有时也可能不做任何工作;(2)指定转移条件和目标:即满意什么条件后状态转移到何处;(3)转移源自动复位功能:状态发生转移后,置位下一个状态的同时,自动复位原状态。
1、挨次掌握指令的应用液压动力滑台在自动机床中被广泛采纳,这里以液压动力滑台掌握为例来说明挨次功能图设计方法以及挨次掌握指令的使用方法。
液压动力滑台在实际工作时的运动过程一般是:快进——工进——快退。
其运动过程由快进、工进、快退三个电磁阀掌握,掌握系统PLC各I/O功能及地址安排如表2所示。
机床液压滑台掌握系统如图1所示。
表2 液压动力滑台掌握系统PLC I/O地址安排功能名称动作器件I/O地址说明启动按钮SB1I0.0启动滑台原点位置SQ1I0.1滑台在原点位置工进起点SQ2I0.2滑台运动到工进起点位置工进终点SQ3I0.3滑台运动到工进终点位置快进YV1Q0.0滑台快进工进YV1、YV2Q0.0、Q0.1滑台工进快退YV3Q0.2滑台快退初始化脉冲SM0.1将初始状态S0.1置位。
西门子s7-200PLC基本指令
15:33
14
15:33
15
2、保持型接通延时定器(TONR)
Txx IN TONR PT
•在输入(IN)收到能流时,从当前值开始计时; •当当前值达到预置值(PT)时,定时器位被置1; •当输入能流断开时停止计时,定时器位、当前值保持不变; •必须用复位指令才能清除定时器位和当前值; •定时器号(Txx)决定了定时器的分辨率。
???
② 置位线圈指令
(S) xxx
???位代表位起始地址
当指令收到能流时,则???指定位开始的XXX个位被置1;
当指令没收到能流时,则???指定的位状态不变 。
???
③ 复位线圈指令 (xRxx) ???位代表位起始地址
当指令收到能流时,则???指定位开始的XXX个位被置0;
当指令没收到能流时,则???指定的位状态不变 。
1. 基本逻辑指令 2. 堆栈操作指令* 3. 定时器指令 4. 计数器指令 5. 比较指令
15ห้องสมุดไป่ตู้33
2
一、基本逻辑指令
1、触点指令
???
① 检查闭指令 其中???位代表位地址 当???指定地址的数据为1时, 指令结果接通能流; 否则,指令结果断开能流。
???
② 检查开指令 其中???位代表位地址 当???指定地址的数据为0时, 指令结果接通能流; 否则,指令结果断开能流。
15:33
21
2、减计数器减计数指令(CTD)
Cxx CD CTD LD PV
从当前计数值开始,在每一个(CD)输入状态 的低到高时递减计数。
•当CXX的当前值等于0时,计数器位CXX置位。
西门子S7-200 SMART系统手册说明书
SIMATICS7S7-200 SMART 系统手册Siemens AGDivision Digital Factory Postfach 48 4890026 NÜRNBERG A5E03822234-AFⓅ 02/2019 本公司保留更改的权利Copyright © Siemens AG 2019. 保留所有权利法律资讯警告提示系统为了您的人身安全以及避免财产损失,必须注意本手册中的提示。
人身安全的提示用一个警告三角表示,仅与财产损失有关的提示不带警告三角。
警告提示根据危险等级由高到低如下表示。
危险表示如果不采取相应的小心措施,将会导致死亡或者严重的人身伤害。
警告表示如果不采取相应的小心措施,可能导致死亡或者严重的人身伤害。
小心表示如果不采取相应的小心措施,可能导致轻微的人身伤害。
注意表示如果不采取相应的小心措施,可能导致财产损失。
当出现多个危险等级的情况下,每次总是使用最高等级的警告提示。
如果在某个警告提示中带有警告可能导致人身伤害的警告三角,则可能在该警告提示中另外还附带有可能导致财产损失的警告。
合格的专业人员本文件所属的产品/系统只允许由符合各项工作要求的合格人员进行操作。
其操作必须遵照各自附带的文件说明,特别是其中的安全及警告提示。
由于具备相关培训及经验,合格人员可以察觉本产品/系统的风险,并避免可能的危险。
按规定使用 Siemens 产品请注意下列说明:警告 Siemens产品只允许用于目录和相关技术文件中规定的使用情况。
如果要使用其他公司的产品和组件,必须得到 Siemens推荐和允许。
正确的运输、储存、组装、装配、安装、调试、操作和维护是产品安全、正常运行的前提。
必须保证允许的环境条件。
必须注意相关文件中的提示。
商标所有带有标记符号 ® 的都是 Siemens AG的注册商标。
本印刷品中的其他符号可能是一些其他商标。
若第三方出于自身目的使用这些商标,将侵害其所有者的权利。
西门子s7200-PLC-基本指令
梯形图
操作数
无 无
NOT
NOP N
改变能流输入的状态
空操作
无
N=0~255
正负跳变指令、取反指令、空操作指令的几点规定
1. 正跳变指令(EU)检测到每一次正跳变(触点的输入信号 由0到1),或负跳变指令(ED)检测到每一次负跳变(触点的 输入信号由1到0),让能流接通一个扫描周期。对于正跳变指令 ,一旦发现有正跳变发生(由0到1),该栈顶值被置为1,否则 置0。对于负跳变指令,一旦发现有负跳变发生(由1到0),该 栈顶值被置为1,否则置0。 2. 取反指令(NOT)将它左边电路的逻辑运算结果取反,运算 结果为1,则变为0,为0则变为1。 3. 空操作指令(NOP)不影响程序的执行。
新值同时写到物理输出点和对 应的输出映像寄存器中 bit: Q N的取值范围为 :1~128
RI bit,N
=I bit
说明: “I”表示立即,当指令执行时,新值会同时被写到物理输出点和对 应的输出过程映象寄存器。这一点不同于非立即指令,只把新值写入 过程映像寄存器。
② 立即触点指令 语句表 LDI bit AI bit 功能 常开立即触点与左侧母线相连接 常开立即触点与其他程序段相串联 梯形图 操作数
特殊存储区的简单应用
案例1.
当报警信号I0.0接通时,报警指示灯Q0.1闪烁
例3扩展
特殊存储区,具有闪烁功 能
案例2.
在自动控制系统中,按下启动按钮I0.1,启动指示灯Q0.0输出,为了防止操 作员误动作,因此停止时需两个按钮I0.3及I0.2都按下,系统才能停止,启动 灯灭。
案例3.
水位低报警信号I0.1,故障指示灯Q0.1在有检测到故障时保持闪烁 直到按下复位按钮I0.2,指示灯灭。
西门子S7-200指令
LN IN,OUT
对一个32位实数(IN)取自然对数,得到32位实数结果(OUT)
EXP IN,OUT
对一个32位实数(IN)取以e为底数的指数,得到32位实数结果(OUT)
SIN IN,OUT
分别对一个32位实数弧度值(IN)取正弦、余弦、正切,得到32位实数结果(OUT)
COS IN,OUT
S7-200PLC数据传送指令
表4-22数据传送指令
名称
指令格式
(语句表)
功能
操作数
单一传送指令
MOVB IN,OUT
将IN的内容拷贝到OUT中
IN和OUT的数据类型应相同,可分别为字,字节,双字,实数
IN,OUT:VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD
IN还可以是常数
两个16位带符号整数相乘,得到一个32位带符号整数。
执行结果:IN1*OUT=OUT(在LAD和FBD中为:IN1*IN2=OUT)
IN1,IN2:VW,IW,QW,MW,SW,SMW,LW,AIW,T,C,AC,*VD,*AC,*LD和常数
OUT:VD,ID,QD,MD,SD,SMD,LD,AC,*VD,*AC,*LD
RRB OUT,N
将字节OUT循环右移N位,从最右边移出的位送到OUT的最左位
RLB OUT,N
将字节OUT循环左移N位,从最左边移出的位送到OUT的最右位
字移位指令
BMW IN,OUT,N
将从IN开始的连续N个字数据拷贝到从OUT开始的数据块
N的有效范围是1~255
IN,OUT:VW,IW,QW,MW,SW,SMW,LW,T,C,*VD,*AC,*LD
IN还可以是AIW
西门子S LC指令系统手册
SIMATIC 指令集:西门子公司为S7-200 PLC 设计的编程语言,不支持系统完全数据类 型检查,可以用梯形图(LAD)、功能块图 (FBD)和语句表(STL)编程语言,且指令 执行时间较短。 (一)梯形图(LAD)编程语言
LAD 是与电气控制电路图相呼应的一种图 形语言,其信号流向清楚、简单、直观、易 懂,很适合电气工程人员使用;常作为第一用 户语言。
VB(0-5119)
储器 作中的中间结果或 (2)V[数据长度][起始字 VW(0-5118)
(V)
其他数据,即全局 节地址]
有效
例:VB20 VW100 VD2
VD(0-5116)
(1)L[字节地址].[位地
局部存 存放局部变量,是 址] 例: L0.0
储器 局部有效的,即只 (2) L[数据长度][起始
(1) I[字节地址].[位地 I(0.0-15.7)
输入映 存放输入点的状
址] 例:I0.1
IB(0-15)
像寄存 态,每一个输入端 (2) I[数据长度][起始字 IW(0-14)
器(I) 子与I的相应位相
节地址]
对应
例:IB4 IW6 ID10
ID(0-12)
存放CPU执行程序 (1)Q[字节地址].[位地址] Q(0.0-15.7)
系统区:存放有关PLC配置结构的参数, 存储器为:EEPROM;
数据区:是S7-200 CPU 提供的存储器的特定区 域,将数据存储区作了进一步的分区,并为每个存储 区域赋予了不同的功能,形成专用的存储单元。 包括:I、Q、V、M、S、SM、L、T、C、AI、AQ、 AC、HC;存储器为:EEPROM和RAM。 (一)数据区存储器的地址表示格式 1. 位地址格式 由存储器区域标识符、字节地址及位号构成 例如:V5.4
第5章 西门子S7-200系列PLC功能指令(脉冲输出)
3) PTO的,允许脉 冲串排队。PTO输出多段脉冲的方式有两种: ●单段PTO:定义一个脉冲串,输出一个脉冲 串 (特性参数通过特殊寄存器分别定义) 。 ●多段PTO:集中定义多个脉冲串,按顺序输
出多个脉冲串(特性参数通过包络表集中定义) 。
▲单段PTO 实现的方法 用指定的特殊标志寄存器定义脉冲串特性 参数(每次定义一个脉冲串)。一个脉冲串输 出完成后,产生中断。在中断服务程序中再为 下一个脉冲串更新参数,输出下一个脉冲串。 ◎优点: 各脉冲段可以采用不同的时间基准。 ◎缺点:单段PTO输出多段高速脉冲串时,编程 复杂,且参数设置不当会造成脉冲串之间的不平 滑转换。每个脉冲串输出期间周期值不能改变.
2)特殊寄存器
每个 PTO/PWM 都有一组配套参数: ● 1个 8位的控制字节 ● 1个 8位的状态字节 ● 1个 16位的周期值 ● 1个 16位的脉宽值 ● 1个 32位的脉冲数量 对于多段 PTO,还有 ● 1个 8位的段字节 ● 1个 16位包络表起始地址
这些参数存放在系统指定的特殊标志寄存器中
高速脉冲输出指令控制 PLC 从指定的输出 端输出高速脉冲信号。 1. 高速脉冲输出的几个概念 1) 高速脉冲输出的形式 ● 高速脉冲串输出 PTO :
( Pulse Train Output )
输出指定数量,占空比为50% 的方波脉冲串。
● 宽度可调脉冲输出 PWM :
( Pulse Width Modulation )
名称及功能描述
SMW70
SMW80
PWM的脉宽值,字型,范围0~65535,16位无符号 数
SMD72
SMD82
PTO的脉冲数,双字型, 范围:1~4294967295,32位无符号数
西门子S7-200PLC指令系统手册
(二)输出指令 梯形图(LAD)中,“()”表示线圈,“能 流”到线圈端,则线圈被激励,其Q寄存器的相 应位为1,反之为0; 语句表(STL)中,输出指令为“=”,把栈 顶值复制到操作数地址指定的存储器位(bit), 堆栈各级栈值不变。 (三)置位和复位指令-把从操作数(bit)指定 的地址开始的N个点都被置位或复位,其中N=1 -255
3. 修改指针:用自增或自减指令修改指针,则可 连续存取存储单元中的数据
五、用户程序的结构 用户程序可分为三个区:主程序、子程序和 中断程序; 主程序(OB1):是用户程序的主体,CPU 在每一个扫描周期都要执行一次主程序指令; 子程序:可选部分,只有主程序调用时才执 行; 中断程序:可选部分,只有当发生中断事件 时,才执行中断程序,可在扫描周期的任意点执 行。
(二)直接寻址-指令中直接给出操作数的地址 的寻址方式 例: 位寻址 AND Q5.5
字节寻址 ORB VB33 , LB21 字寻址 双字寻址 MOVW MOVD AC0 , AQW200 AC1 , VD200
(三)间接寻址-指令中给出了存放操作数地 址的存储单元的地址的寻址方式 1. 建立指针
S7-200 PLC 的SIMATIC指令集不支持完全 数据类型检查; 使用局部变量时,执行简单数据类型检查; 使用全局变量时,指令操作数为地址而不是 可选的数据类型时,执行无数据类型检查。 (二)数据长度和数值范围 数据长度:用字节型(B)、字型(W)、 双字型(D)分别表示8位、16位、32位数据; 不同的数据长度对应的数据范围如表5-4所示
在语句表(STL)中,没有EN允许输入端, 但允许执行指令的条件是栈顶的值必须为1。 功能框的ENO端是允许输出端,即允许功能 框的布尔量输出,用于指令的级联 ; 语句表(STL)中,用AENO(ANDENO)指 令产生允许输出。 (四)条件输入、无条件输入 条件输入:在梯形图(LAD)、功能块图 (FBD)中,与“能流”有关的功能框或线圈不直 接与左母线连接;
S7-200 SMART PLC 系统功能说明(图文并茂)
Page 1 of 58
存储卡
S 7 2 0 0S M A R TC P U支持商用M i c r o S D 卡(支持容量为4 G ,8 G ,1 6 G ):可用于程序传输,C P U 固件更新,恢复 C P U出厂设置。 打开C P U 本体数字量输出点上方的端子盖,可以看到右侧有一卡槽,将M i c r o S D 卡缺口向里插入,如图 1 所示:
S7-200 SMART 实时时钟
S 7 2 0 0S M A R T 的硬件实时时钟可以提供年、月、日、时、分、秒的日期/ 时间数据。 C P UC R 4 0A C / D C / R e l a y没有内置的实时时钟,C P US R 2 0 、C P US R 4 0 、C P US T 4 0 、C P US R 6 0 、C P US T 6 0 支持内置的实时时钟,C P U 断电 状态下可保持7 天。 S 7 2 0 0S M A R TC P US R 2 0 的时钟精度是± 1 2 0秒 /月,C P US R 4 0 、C P US T 4 0 、C P US R 6 0 、C P US T 6 0 的时钟精度是 1 2 0秒 /月。 S 7 2 0 0S M A R TC P U靠内置超级电容为实时时钟提供电源缓冲,保持时间为典型值7 天,最小值6 天。缓冲电源放电完毕后,再次上电后 时钟将停止在缺省值,并不开始走动。 注意:因为 C P UC R 4 0无内置超级电容,所以实时时钟无电源缓冲,尽管用户可以使用R E A D _ R T C和 S E T _ R T C指令设置日期/ 时间 数据,但是当 C P UC R 4 0断电并再次上电时,这些日期/ 时间数据会丢失,上电后日期时间数据会被初始化为2 0 0 0 年1 月1 日。 为了提高运算效率,应当避免每个程序周期都读取实时时钟。实际上可读取的最小时间单位是1 秒,可每秒读取一次(使用S M 0 . 5 上 升沿触发读取指令)。 使用程序读取的实时时钟数据为B C D 格式,可在状态表中使用十六进制格式查看。 要设置日期、时间值,使之开始走动,可以:
西门子S7-200 PLC指令学习(1)
西门子S7-200 PLC指令学习S7-200系列的基本逻辑指令S7-200系列的基本逻辑指令与FX系列和CPM1A系列基本逻辑指令大体相似,编程和梯形图表达方式也相差不多,这里列表表示S7-200系列的基本逻辑指令(见表)。
表S7-200系列的基本逻辑指令S7-200系列PLC的比较指令在SIEMENS S7-200的编程软件STEP-7中,有专门的比较指令:IN1与IN2比较,比较的数据类型可以是B、I(W)、D、R,即字节、字整数、双字整数和实数;还可以有其他的比较式:>、<、≥、≤、<>等等。
当满足比较等式,则该触点闭合。
与LMODSOFT指令对照:在LMODSOFT中,没有直接的数的比较指令,但SUB指令可以通过其执行减法功能后的三个输出端的状态实现整数的比较功能。
若与LMODSOFT 中的SUB指令对应,则在STEP-7中应有三个比较指令: >、=、< 来分别对应SUB 指令的三个输出;若还要对应≥、≤、或<>,则根据SUB指令三个输出端的不同组合,均可找到对应的比较指令。
比如:①(30007)>(40030)②(30007)=(40030)③ (30007)<(40030)①+②(30007)≥②+③(30007)≤(40030)①+③(30007)<>(40030)S7-200系列PLC的定时器指令类型、编号及分辨率TON——接通延时TONR——有记忆接通延时TOF——断开延时3种分辨率(时基):1ms、10ms、100ms——分别对应不同的定时器号定时器6个要素:指令格式(时基、编号等)预置值——PT使能——IN 复位——3种定时器不同当前值——Txxx 定时器状态(位)——可由触点显示定时值=时基×预置值PT。
由于定时器的计时间隔与程序的扫描周期并不同步,定时器可能在其时基(1ms、10ms、100ms)内任何时间启动,所以,未避免计时时间丢失,一般要求设置PT预置值必须大于最小需要的时间间隔。
西门子s7-200编程手册
前言,目录产品概述1使用入门2S7--200的安装3PLC的基本概念4编程的概念、惯例及特点5S7-200指令集6网络通讯7硬件故障诊断指南和软件调试工具8S7-200开环运动控制9创建调制解调模块程序10使用USS协议库控制MicroMaster驱动器11使用Modbus协议库12使用配方13使用数据归档14PID自整定和PID整定控制面板15目录1 产品概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 新内容. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2S7--200 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2S7-200扩展模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 STEP 7--Micro/WIN编程数据包. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5显示面板. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 入门指南. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 连接S7--200 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8创建一个例子程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10下载例子程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14将S7--200转入RUN模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 安装S7-200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 S7--200设备的安装指南. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16S7--200模块的安装和拆卸. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17接地和接线指南. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 PLC原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 理解S7--200如何执行您的控制逻辑. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24访问S7-200的数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27了解S7--200如何保存和恢复数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36选择S7--200 CPU的工作模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40使用S7-200资源管理器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41S7--200的特征. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 编程原则、约定和特征. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 设计一个微型PLC系统的指导原则. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52程序的基本组件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53用STEP7--Micro/WIN创建用户程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55选择SIMATIC和IEC 1131--3指令集. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57理解程序编辑器中使用的惯例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58使用向导帮您创建控制程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60S7--200中的出错处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60在数据块中指定地址和初始值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62用符号表来定义变量的符号地址. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62使用局部变量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63用状态图来监视用户程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63创建一个指令库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64应用程序的调试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64S7-200可编程序控制器系统手册x6 S7-200指令集. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 用于描述指令的习惯用语. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67S7--200存储器范围及特性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68位逻辑指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70触点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70线圈. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73逻辑堆栈指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75RS触发器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77时钟指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78通讯指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81发送和接收指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86获取口地址和设定口地址指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95比较指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96数值比较. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96字符串比较. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98转换指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99标准转换指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99ASCII码转换指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103字符串转换指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107编码___________和解码指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112计数器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 SIMATIC计数器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113IEC计数器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116高速计数器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 脉冲输出指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133数字运算指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 加、减、乘、除指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140整数乘法产生双整数和带余数的整数除法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142数学功能指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143增加和减少指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144比例/积分/微分(PID)回路控制指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145中断指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 逻辑操作指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161取反指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161与、或和异或指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162传送指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 字节、字、双字或者实数传送. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164字节立即传送(读和写) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165块传送指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166程序控制指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167条件结束. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167停止. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167看门狗复位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167For -- Next循环指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169跳转指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171顺控继电器(SCR)指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172诊断LED指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178目录xi移位和循环指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 右移和左移指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179循环右移和循环左移指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179字节交换指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183字符串指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184表指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 填表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189先进先出和后进先出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190内存填充. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192查表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193定时器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 SIMATIC定时器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196IEC定时器指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201时间间隔定时器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203子程序指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2047 通过网络进行通讯. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 理解S7--200网络通讯的基本概念. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210为网络选择通讯协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 通讯接口的安装和删除. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220网络的建立. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221用自由口模式创建用户定义的协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226在网络中使用调制解调器和STEP 7--Micro/WIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228高级议题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 组态RS-232/PPI多主站电缆实现远程操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2398 硬件故障诊断指南和软件调试工具. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 调试应用程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244显示程序状态. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246使用状态图来显示和修改S7--200中的数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247强制指定值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248指定程序执行的扫描周期数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248硬件故障诊断指导. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249 9 S7-200开环运动控制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252 使用PWM (脉宽调制)输出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253开环位控用于步进电机或伺服电机的基本信息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255通过位控向导创建指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 PTO指令的错误代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 位控模块的特性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 组态位控模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267通过位控向导为位控模块创建指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273位控模块的示例程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285 使用EM253控制面板监视位控模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290位控模块和位控指令的错误代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292高级议题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 理解位控模块所支持的参考点寻找模式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303S7-200可编程序控制器系统手册xii10 创建调制解调模块程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307 EM241调制解调模块特点. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308利用调制解调扩展向导组态EM241调制解调模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314调制解调指令和限定概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318 EM241调制解调模块指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 EM241调制解调模块示例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323支持智能模块的CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323 EM241调制解调模块的特殊存储区. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323高级议题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325 消息电话号码格式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 文本消息格式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 CPU数据传送消息格式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32911 使用USS协议库控制MicroMaster驱动器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331 使用USS协议的要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332计算与驱动通讯的时间要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332使用USS指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 USS协议指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334 USS协议示例程序. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341 USS执行错误代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342连接并设置3系列MicroMaster驱动. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342连接和设置4系列MicroMaster驱动. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34512 使用Modbus协议库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 使用Modbus协议的要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348 Modbus协议的初始化和执行时间. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 Modbus地址. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350使用Modbus主站指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351使用Modbus从站指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352 Modbus协议指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353高级议题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362 13 使用配方. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 配方的定义和术语. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 使用配方向导. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367由配方向导创建的指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 14 使用数据归档. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 使用数据归档向导. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 由数据归档向导创建的指令. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379 15 PID自整定和PID整定控制面板. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381 理解PID的自整定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382扩展回路表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382先决条件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385自滞后和自偏移. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 自整定序列. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386目录xiii异常情况. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 关于过程变量超限的说明(结果代码3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387 PID整定控制面板. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388A 技术规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 通用技术规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392 CPU规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396 数字量扩展模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405 模拟量扩展模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 热电偶和RTD(热电阻)扩展模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424 EM277 PROFIBUS--DP模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 EM241调制解调模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 EM253位控模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452 (CP243--1)以太网模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458 (CP243--1IT) Internet模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460 (CP243--2) AS--i接口模块规范. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463可选卡件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465 扩展电缆. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466 RS-232/PPI多主站电缆和USB/PPI多主站电缆. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467输入仿真器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471B 计算功率分配. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473C 错误代码. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477 致命错误代码和消息. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478 运行程序错误. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479编译规则错误. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480D 特殊内存(SM)位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481 SMB0:状态位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 SMB1:状态位. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 SMB2:自由端口接收字符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 SMB3:自由端口奇偶校验错误. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 SMB4:队列溢出. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483 SMB5:I/O状态. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 SMB6:CPU ID寄存器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 SMB7:保留. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 SMB8至SMB21:I/O模块标识和错误寄存器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485 SMW22至SMW26:扫描时间. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 SMB28和SMB29:模拟调整. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 SMB30和SMB130:自由端口控制寄存器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 SMB31和SMW32:永久存储器(EEPROM)写控制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 SMB34和SMB35:用于定时中断的时间间隔寄存器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487 SMB36至SMB65:HSC0、HSC1和HSC2寄存器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487。
西门子s7200-PLC-基本指令
第四章 S7-200 的基本指令系统及编程
第一部分 第二部分 第三部分 第四部分 第五部分 第六部分
位操作指令 运算指令 数据处理指令 表功能指令 转换指令 小结
1. 常见指令
计数指令用于进行脉冲数的计算。操作数可以 是整数,也可以是实数。在梯形图中用带参数 和运算符的触点表示比较指令,比较条件满足 时,触点闭合,否则打开。
2. 取反指令(NOT)将它左边电路的逻辑运算结果取反,运算 结果为1,则变为0,为0则变为1。
3. 空操作指令(NOP)不影响程序的执行。
I0.0 Q0.0 Q0.1
LD
I0.0
//输入常开触点
EU
//脉冲正跳变
=
Q0.0
//输出触点
LD
I0.0
//
ED
//脉冲负跳变
=
Q0.1
//
图 跳变应用
跳变指令示意
类型 CPU 221 CPU 222 CPU 224
CPU 226
M 0.0--31.7 0.0--31.7 0.0 - 31.7 0.0 - 31.7
线圈接通,则常开触点导 通
特殊存储区 SM
特殊存储器标志位提供大量的状态和控制功能, 下表列出了部分常用的特殊存储器
其他特殊存储区可以用来控制高速计数器,高速脉冲输出等,具体用法 等用到特殊功能时再作讲解
Q1.0
图4-8上升沿检测
分析:1.在I0.1上升沿之前,I0.1的常开触点断开,Q1.0和Q1.1均为0 2.在I0.1上升沿,I0.1变为1,CPU先执行第一行电路。因为前一个周期Q1.1为0 , Q1.1的常闭触点闭合,所以Q1.0变为1 3.执行第二行电路后,Q1.1变为1 4.进入第二个扫描周期后,Q1.1为1,使Q1.1常闭触点断开,使Q1.0为0 5.到I0.1变为0,Q1.0仍为0 因此,Q1.0只是在I0.1的上升沿到来后接通一个周期
西门子S7-200系列PLC及其基本指令
第1单元 物流运输市场分析
(2)物流运输市场的参与者。 物流运输市场是多层次、多要素的集合体。物流运输市场的
参与者可分为以下4方面。 ①物流运输服务需求方。 物流运输服务需求方是指物流运输服务的需求者,例如居民、
生产企业、销售企业等。
上一页下一页 返回
第1单元 物流运输市场分析
(4)按竞争形态和程度分,可分为竞争性物流运输市场、 垄断性物流运输市场。
(5)按供求状况分,可分为买方物流运输市场和卖方物流 运输市场。
通常用于提供常数、设置初始值等。
(2) 直接寻址
指直接给出操作数地址的寻址方式。用于位、字节、字
或双字数据存取。包括对寄存器和存储器的直接寻址。
如:A I 0.0 //对输入位I 0.0进行“与”逻辑操作
(3) 存储器间接寻址
在间接寻址方式中,操作数指的是操作对象所存放的
地址, 间接寻址需要通过“地址指针”才能进行。
第二章 物运流输市场分析与市场开拓
第1单元 第2单元 第3单元
握
物流运输市场分析 物流运输市场开拓 物流运输市场商业分析与把
第1单元 物流运输市场分析
学习情景 某一家运输公司为了制订公司未来的物流运输市场发展战略,
想要研究现在物流运输市场的状况,并对物流运输市场的竞 争情况进行了解,以便企业能合理地制订市场发展战略,占 据主动地位,所以要求市场部员工小李对物流运输市场的现 状做一份详细的分析报告,小李该如何做呢? 学习目标 一、掌握物流运输市场的构成、特征、功能 二、能够进行物流运输市场竞争的分析
(3)其它地址格式
定时器、计数器地址格式为:编程元件+元件号;
如T37表示某定时器的地址。
西门子s7200_PLC_基本指令
例4.1:装载及驱动线圈指令用法示例
LD I0.0 = M0.0 LDN I0.1 = Q0.0 = Q0.1
说明: (1)LD、LDN指令总是与母线相连(包括在分支点引出的母线); (2)=指令不能用于输入继电器; (3)具有图3-1中的最后2条指令结构的输出形式,称为并联输出, 并联的=指令可以连续使用; (4)=指令的操作数不可重复使用。
NOT 改变能流输入的状态
NOP N
空操作
梯形图
操作数 无 无 无
N=0~255
正负跳变指令、取反指令、空操作指令的几点规定
1. 正跳变指令(EU)检测到每一次正跳变(触点的输入信号 由0到1),或负跳变指令(ED)检测到每一次负跳变(触点的 输入信号由1到0),让能流接通一个扫描周期。对于正跳变指令 ,一旦发现有正跳变发生(由0到1),该栈顶值被置为1,否则 置0。对于负跳变指令,一旦发现有负跳变发生(由1到0),该 栈顶值被置为1,否则置0。
O bit
常开触点与其他程序 段相并联
ON bit
常闭触点与其他程序 段相并联
梯形图
操作数
I、Q、M、SM、T、C、V、 S、L
I、Q、M、SM、T、C、V、 S、L
I、Q、M、SM、T、C、V、 S、L
I、Q、M、SM、T、C、V、 S、L
例4.3:触点串并联指令示例一
LD I0.0
O
I0.2
AN I0.1
ON C1
=
M0.1
=
Q0.1
AN I2.0
= Q0.2
例4.4:触点串并联指令示例二
Network 1
LD I0.0
O
I0.1
ON I0.2
西门子S7200基本指令
第4章 基本指令
本指令影响的特殊存储 器位:SM1.0(零); SM1.1(溢出); SM1.2(负) 使能流输出ENO断开 的出错条件:SM1.1 (溢出);SM4.3(运 行时间);0006(间接 寻址)
指令格式:
+I IN1, OUT
第4章 基本指令
例: +I VW0, VW4 本指令在梯形图和语句表中的编程如图4.1所示。
第4章 基本指令
I0.0 I0.1 I0.2 Q0.0 Q0.2
图4. 4 时序图
第4章 基本指令
负跳变触点检测到脉冲的每一次负跳变后, 产生一个微分脉冲。 指令格式:ED (无操作数) 应用举例:图4.5是跳变指令的程序片断。 图4.6是图4.5指令执行的时序。
第4章 基本指令
LD
I0.0
//输入常开触点
第4章 基本指令
可编程序控制器中的 堆栈与计算机中的堆 栈结构相同,堆栈是 一组能够存储和取出 数据的暂时存储单元。 堆栈的存取特点是 “后进先出”,S7200可编程序控制器的 主机逻辑堆栈结构如 表4.3所示。
第4章 基本指令
1. 标准触点指令
(1)LD:装入常开触点(LoaD) (2)LDN:装入常闭触点(LoaD Not) (3)A:与常开触点(And) (4)AN:与常闭触点(And Not)。 (5)O:或常闭触点(Or) (6)ON:或常闭触点(Or Not) (7)NOT:触点取非(输出反相) (8)= :输出指令
EU
//脉冲正跳变
=
Q0.0
//输出触点
LD
I0.0
//
ED
//脉冲负跳变
=
Q0.1
//
图4.5 跳变应用
西门子S7-200型PLC指令系统及编程应用
九、照明灯、指示灯等控制
继电控制电路中的照明灯一般都是36V安全电压驱动,所以具有 单独的变压器供电;而指示灯的电压等级不定,从6.3V到220V不等。
如果原继电控制回路中有照明灯、指示灯等,利用PLC进行改造 时一般不用改动,保留原样即可。
如果想丰富PLC控制系统的指示功能,可以单独改造指示灯电路, 实现闪烁等变化。
所谓“状态”是指特定的功能,因此状态转移实 际上就是控制系统的功能转移。机电自控系统中机械 的自动工作循环过程就是电气控制系统的状态自动、 有序、逐步转移的过程。
七、时间继电器的处理
时间继电器用来产生延迟效果,继电接触控制电路中的时间继电 器有通电延时型和断电延时型两种,每种时间继电器都有延时动作 触点和瞬时动作触点。
如果原继电控制回路中使用了通电延时动作的时间继电器,在 利用PLC控制系统设计时将其以PLC的定时器代替,不必出现在PLC的 输入或输出列表中,原时间继电器的延时闭合触点和延时打开触点 分别用定时器的常开接点和常闭接点代替。
五、PLC外部接线图设计
六、中间继电器的处理方法
中间继电器是用来“暂时”记忆控制过程的中间状态,这些状 态需要参与系统控制,但是并不直接驱动最终物理负载。
如果原继电控制回路中使用了中间继电器(一般以KA标记), 在利用PLC控制系统设计时将其以PLC的内部继电器(或者叫中间继 电器、辅助继电器)代替,不必出现在PLC的输入或输出列表中。
输入 正转启动按钮SB1 反转启动按钮SB2
停止按钮SB3 左限位SQ1 右限位SQ2 左极限限位SQ3 右极限限位SQ4 热保护FR
I0.0 I0.1 I0.2 I0.3 I0.4 I0.5 I0.6 I0.7
输出 正转驱动KA1 反转驱动KA2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二节 S7-200 PLC 的基本指令及编程方法 一、基本逻辑指令 基本逻辑指令以位逻辑操作为主,操作数的 有效区域为:I、Q、M、SM、T、C、V、S、 L,且数据类型是BOOL (一)标准触点指令 梯形图(LAD)中
功能块图(FBD)中
语句表(STL)中 LD(load)指令,表示一个逻辑梯级编程的开 始; A(And)指令:表示触点的串联编程; O(Or)指令:表示触点的并联编程; LDN、AN、ON指令则是分别表示对常闭触点的
地址格式 (1)SM[字节地址].[位地 址] 例:SM0.1 (2)SM[数据长度][起始 字节地址] 例:SMB20 SMW100 SMD12 T[定时器号] 例:T24
有效地址范围 SM(0.0-549.7) SMB(0-549) SMW(0-548) SMD(0-546)
T(0-255)
C[计数器号] 例:C3
指针中存放存储器的某个地址,则以指针中 内容值为地址就可进行间接寻址; 注:只能使用V、L、AC1、AC2、AC3作为 指针,AC0不能用作间接寻址的指针 例: MOVD &VB200 , AC1 2. 使用指针来存取数据 使用指针可存取字节、字、双字型的数据 例: MOVW *AC1 , AC0
无条件输入:在梯形图(LAD)、功能块图 (FBD)中,与“能流”无关的线圈或功能框直接 与左母线连接。 例如:LBL、NEXT、SCR、SCRE等 (五)无允许输出端的指令 无允许输出端(ENO)的指令方框,不能用 于级联,例如:CALL SBR_N(N1,…)子程序调 用指令和LBL、SCR等。
第五章 S7-200 可 编程控制器的指令系统
第一节 S7-200 PLC编程的基本概念 一、编程语言 S7-200 PLC有两种指令集:IEC 1131-3 指 令集和SIMATIC 指令集; IEC 1131-3指令集支持系统完全数据类型 检查,只能用梯形图(LAD)和功能块图 (FBD)编程语言,指令执行时间较长。
功能存储器Fra bibliotek功能地址格式
有效地址范 围
HC用来累计高速 高速计 脉冲信号,HC的 当前寄存器为32 数器 位,则读取高速计 (HC) 数器当前值应以双 字(32位)来寻址
HC[高速计数器号] 例:HC1 HC(0-5)
四、寻址方式 S7-200 PLC 的寻址方式有:立即寻址、直 接寻址、间接寻址 (一)立即寻址 指令中直接给出操作数,即操作数紧跟在操 作码后面,在取出指令的同时也取出了操作数; 立即寻址常用来提供常数,设置初始值等; 指令中常数表示形式:十进制、十六进制、 ASCII码或浮点数
(二)数据区存储器区域
存储器
功能
输入映 存放输入点的状 像寄存 态,每一个输入端 器(I) 子与I的相应位相 对应 存放CPU执行程序 输出映 运行的结果,且输 像寄存 出模块每一个的端 器(Q)子与Q的相应位相 对应 也称为内部线圈, 内部标 模拟继电器控制系 志位存 统中的中间继电 器,存放中间操作 储器 (M) 状态或其他数据
SIMATIC 指令集:西门子公司为S7-200 PLC 设计的编程语言,不支持系统完全数据类 型检查,可以用梯形图(LAD)、功能块图 (FBD)和语句表(STL)编程语言,且指令 执行时间较短。 (一)梯形图(LAD)编程语言 LAD 是与电气控制电路图相呼应的一种图 形语言,其信号流向清楚、简单、直观、易 懂,很适合电气工程人员使用;常作为第一用 户语言。
注意:操作数的数据类型应该和指令标识 符相匹配。 三、存储器区域 PLC的存储器分为:程序区、系统区、数据区 程序区:存放用户程序, 存储器为: EEPROM 系统区:存放有关PLC配置结构的参数, 存储器为:EEPROM;
数据区:是S7-200 CPU 提供的存储器的特定区 域,将数据存储区作了进一步的分区,并为每个存储 区域赋予了不同的功能,形成专用的存储单元。 AC、HC;存储器为:EEPROM和RAM。 (一)数据区存储器的地址表示格式 1. 位地址格式 由存储器区域标识符、字节地址及位号构成 例如:V5.4
C(0-255)
地址格式 有效地址范围 外部输入的模拟信 AIW[起始字节地址] 号通过模拟输入模 例: AIW4 块转换成1个字长 注:AI的地址必须用偶 AIW(0-62) 的数字量存放在模 数字节地址来表示 拟量输入映像寄存 器(AI)中 模拟量 CPU运算的相关结 AQW[起始字节地址] 输出映 果是驱动外部模拟 例:AQW4 像寄存 量控制的设备时, 注:AQ的地址必须用 AQW(0-62) 则此结果存放在模 偶数字节地址来表示 器 拟量输出映像寄存 (AQ) 器(AQ)中 存储器 模拟量 输入映 像寄存 器 (AI) 累加器 暂时存放计算中间 (AC) 值,也可向子程序 AC[累加器号] 传递参数或返回参 例:AC0 数 AC(0-3)
S7-200 PLC 的SIMATIC指令集不支持完全 数据类型检查; 使用局部变量时,执行简单数据类型检查; 使用全局变量时,指令操作数为地址而不是 可选的数据类型时,执行无数据类型检查。 (二)数据长度和数值范围 数据长度:用字节型(B)、字型(W)、 双字型(D)分别表示8位、16位、32位数据; 不同的数据长度对应的数据范围如表5-4所示
(六)编程的一般规约 (一)网络 在梯形图(LAD)中,程序被分成称为网络 的一些程序段,而每一个网络由一个或多个梯级 组成; 功能块图(FBD)中,使用网络概念给程序 分段; 语句表(STL)中,使用“NETWORK”关键 词对程序分段。
(二)梯形图(LAD)/功能块图(FBD) 梯形图(LAD)中,一个梯级是一个完整 的“电路”,不允许“短路”、“开路”,也不允许 “能流”反向流动; 功能图(FBD)中,输入总在框图的左边, 输出总在框图的右边。 (三)允许输入端、允许输出端 功能框的EN端是允许输入端,只有EN端存 在“能流”时,才执行该功能框图的相应功能;
包括:I、Q、V、M、S、SM、L、T、C、AI、AQ、
2. 字节、字、双字地址格式 字或双字的起始地址构成 字、双字的地址
由存储器区域标识符、数据长度以及该字节、
例:VB100、VW100、VD100分别表示字节、
3. 其他地址格式——包括T、C、AC、HC 地址格式:区域标示符和元件号 eg: T24
(二)直接寻址-指令中直接给出操作数的地址 的寻址方式 例: 位寻址 AND Q5.5
字节寻址 ORB VB33 , LB21 字寻址 双字寻址 MOVW MOVD AC0 , AQW200 AC1 , VD200
(三)间接寻址-指令中给出了存放操作数地 址的存储单元的地址的寻址方式 1. 建立指针
(二)输出指令 梯形图(LAD)中,“()”表示线圈,“能 流”到线圈端,则线圈被激励,其Q寄存器的相 应位为1,反之为0; 语句表(STL)中,输出指令为“=”,把栈 顶值复制到操作数地址指定的存储器位(bit), 堆栈各级栈值不变。 (三)置位和复位指令-把从操作数(bit)指定 的地址开始的N个点都被置位或复位,其中N=1 -255
在语句表(STL)中,没有EN允许输入端, 但允许执行指令的条件是栈顶的值必须为1。 功能框的ENO端是允许输出端,即允许功能 框的布尔量输出,用于指令的级联 ; 语句表(STL)中,用AENO(ANDENO)指 令产生允许输出。 (四)条件输入、无条件输入 条件输入:在梯形图(LAD)、功能块图 (FBD)中,与“能流”有关的功能框或线圈不直 接与左母线连接;
3. 修改指针:用自增或自减指令修改指针,则可 连续存取存储单元中的数据
五、用户程序的结构 用户程序可分为三个区:主程序、子程序和 中断程序; 主程序(OB1):是用户程序的主体,CPU 在每一个扫描周期都要执行一次主程序指令; 子程序:可选部分,只有主程序调用时才执 行; 中断程序:可选部分,只有当发生中断事件 时,才执行中断程序,可在扫描周期的任意点执 行。
地址格式
存储器 功能 变量存 存放全局变量、操 作中的中间结果或 储器 (V) 其他数据,即全局 有效 局部存 存放局部变量,是 局部有效的,即只 储器 (L) 能在某一程序分区 中使用 用于顺序控制(或 顺序控 步进控制);顺序 制继电 控制继电器指令 器存储 (SCR)是基于顺 器(S) 序功能图(SFC) 的编程方式
(二)功能块图(FBD) FBD 类似于普通逻辑功能图,一般用一种 功能方框表示一种特定的功能,框内的符号表 示该方框图的功能。 (三)语句表(STL) STL是用助记符来表达PLC的各种控制功 能,类似于计算机的汇编语言。 二、数据类型 (一)基本数据类型及数据类型检查
1. 基本数据类型 1位布尔型(BOOL)、8位字节型 (BYTE)、16位无符号整数型(WORD)、 16位有符号整数型(INT)、 32位无符号双字 整数型(DWORD)、 32位有符号双字整数型 (DINT)、32位实数型(REAL)。 2. 数据类型检查 数据类型检查分为三级:完全数据类型检 查、简单数据类型检查和无数据类型检查。
有效地址范围 V(0.0-5119.7) VB(0-5119) VW(0-5118) VD(0-5116) L(0.0-63.7) LB(0-63) LW(0-62) LD(0-60) S(0.0-31.7) SB(0-31) SW(0-30) SD(0-28)
功能 SM即特殊内部线 特殊标 圈,是用户程序与 志位存 系统程序之间的界 面,为用户提供一 储器 些特殊的控制功能 (SM) 存储器 模拟继电器控制系 定时器 统中的时间继电 存储器 器,有三种时基: (T) 1ms、10ms、 100ms 计数器是累计其计 计数器 数输入端脉冲电平 存储器 由低到高的次数, (C) 有三种类型:增计 数、减计数、增减 计数
在LAD和FBD中,只要“能流”到,就执行 置位并保持或复位并保持,置位后即使“能流” 断,仍保持置位,复位后即使“能流”断,仍保持 复位; 在STL中,当栈顶值为“1” 时,才执行置位指令 S bit , N 或复位指令 R bit ,N; 置位后即使栈顶值为“0”,仍保持置位,执行 复位指令后即使栈顶值为“0”,仍保持复位。