1.21k likes | 1.38k Views
第四章. S7-200PLC 基本指令. 本章学习目的. 位操作类指令,主要是位操作及运算指令,与时也包含与位操作密切相关的定时器和计数器指令等。 运算指令,包括常用的算术运算和逻辑运算指令。 其他数据处理类,包括数据的传送、移位、填充和交换等指令。 表功能指令,包括对表的存取和查找指令。 转换指令,包括数据类型转换、码转换和字符转换指令。. 返回本章首页. 4.1 概述. 4.1.1 数据类型 ( 1 )数据类型及范围
E N D
第四章 S7-200PLC基本指令
本章学习目的 • 位操作类指令,主要是位操作及运算指令,与时也包含与位操作密切相关的定时器和计数器指令等。 • 运算指令,包括常用的算术运算和逻辑运算指令。 • 其他数据处理类,包括数据的传送、移位、填充和交换等指令。 • 表功能指令,包括对表的存取和查找指令。 • 转换指令,包括数据类型转换、码转换和字符转换指令。 返回本章首页
4.1 概述 4.1.1数据类型 • (1)数据类型及范围 • SIMATIC S7-200系列PLC数据类型可以是布尔型、整型和实型(浮点数)。实数采用32位单精度数来表示,其数值有较大的表示范围:正数为+1.175495E-38~+3.402823E+38;负数为-1.175495E~38~-3.402823E+38。
(2)常数 • 在编程中经常会使用常数。常数数据长度可为字节、字和双字,在机器内部的数据都以二进制存储,但常数的书写可以用二进制、十进制、十六进制、ASCII码或浮点数(实数)等多种形式。几种常数形式分别如表3.9所示。
4.1.2 S7-200数据区 • 数据区是PLC中存储器存放工作数据的区域。 • 存储器按功能分区,可分为: • 数字量输入和输出映像区I/Q • 模拟量输入和输出映像区AI/AQ • 变量存储器区V—存储变量或中间结果。可位、字节、字双字 • 顺序控制继电器区S—为顺序控制开辟的存储区 • 位存储器区M—存储标志,相当于中间继电器 • 特殊存储器区SM--存系统状态和有关控制信息 • 定时器T、计数器存储器区C • 每个存储单元编排了地址,称为软元件。
输入继电器(I) I0.0~I15.7 输出继电器(Q) Q0.0~Q15.7 通用辅助继电器(M) M0.0~M31.7 256点 特殊标志继电器(SM) SM0.0~SM299.7 变量存储器(V) VB0~VB5119 局部变量存储器(L) LB0~LB63(后4个不可用) 顺序控制继电器(S) S0.0~S31.7 编程元件 CPU226为例
定时器(T) T0~T255 • 计数器(C) C0~C255 • 模拟量输入映像寄存器(AI)AIW0~AIW62 • 模拟量输出映像寄存器(AQ) AQW0~AQW62 • 高速计数器(HSC) HSC0~5 • 累加器(AC) AC0~AC3
S7-200将编程元件统一归为存储器单元,存储单元按字节进行编址,无论所寻址的是何种数据类型,通常应指出它在所在存储区域和在区域内的字节地址。每个单元都有惟一的地址,地址用名称和编号两部分组成,元件名称(区域地址符号)如表3.10所示。S7-200将编程元件统一归为存储器单元,存储单元按字节进行编址,无论所寻址的是何种数据类型,通常应指出它在所在存储区域和在区域内的字节地址。每个单元都有惟一的地址,地址用名称和编号两部分组成,元件名称(区域地址符号)如表3.10所示。
按位寻址的格式为:Ax.y • 必须指定元件名称、字节地址和位号,如图3.8 所示。图3.8中MSB表示最高位,LSB表示最低位。 图3.8 位寻址格式
4.1.3 S7-200寻址方式 • 立即寻址 • 直接寻址 • 间接寻址 • 1立即寻址 指令中操作数就是操作码所需要的具体的数据。立即数可以是字节、字、双字 。 例:MOVB 200 ,VB100 源操作数 目标操作数 例:MOVB 16#2A ,VB100
2. 直接寻址方式 • 操作码后面的操作数以地址形式给出 • (1)编址形式 • 按位寻址的格式为:Ax.y • 存储区内另有一些元件是具有一定功能的硬件,由于元件数量很少,所以不用指出元件所在存储区域的字节,而是直接指出它的编号。其寻址格式为:Ay • 数据寻址格式为:ATx • 例: MOVB VB0 , VB100
3.间接寻址方式 • 间接寻址方式是,数据存放在存储器或寄存器中,在指令中只出现所需数据所在单元的内存地址的地址。存储单元地址的地址又称为地址指针。这种间接寻址方式与计算机的间接寻址方式相同。 • 例: MOVB *VD0 VB100 (VD0的内容VB10,即VB10的内容送VB100,*表示地址) • 间接寻址在处理内存连续地址中的数据时非常方便,而且可以缩短程序所生成的代码的长度,使编程更加灵活。 • 用间接寻址方式存取数据需要作的工作有3步:建立指针、间接存取和修改指针。
(1)建立指针 • 建立指针必须用双字传送指令(MOVD),将存储器所要访问的单元的地址装入用来作为指针的存储器单元或寄存器,装入的是地址而不是数据本身,格式如下: • 例: MOVD &VB10,VD0 • MOVD &MB10,AC2 • MOVD &C2,LD14 • 注意:建立指针用MOVD指令。
(2)间接存取 • 指令中在操作数的前面加“*”表示该操作数为一个指针。 • 下面两条指令是建立指针和间接存取的应用方法: • MOVD &VB2,AC0 • MOVW *AC0,AC1 • 若存储区的地址及单元中所存的数据如下所示 • 执行过程如下:
(3)修改指针 • 下面的两条指令可以修改指针的用法: • INCD AC0 • INCD AC0 • MOVW *AC0,AC1 返回本节
4.1.4 S7-200的程序结构 • 程序组成: • 主程序 OB1 一个 • 子程序1 SBR0 • … • 子程序N SBR63 • 中断程序1 INT0 • … • 中断程序N INT127
4.1.5 梯形图的基本画法 • 编制PLC程序前的准备: • 1、设计PLC控制系统的结构、配置;确定I/O位置 • 2、根据I/O位置确定信号的I/O地址(端口表) • 3、设计、整理输入/输出信号间的逻辑关系
梯形图的基本画法 1、在左右两条逻辑电源线之间,按系统逻辑要求从 左到右排列接点和线圈;计算机编程可只画左边 2、逻辑可以是一个或多个接点的串并联,然后接到 输出线圈(或指令盒--定时器、锁存器、移位寄存器等) 3、所有接点必须在输出线圈左边 4、输出线圈不能不经过任何接点直接接在两个逻辑 电源线之间。
如何解决:上电后指令一直执行? • 上电后指令只执行一次? SM0.1为第一周期ON继电器 SM0.0为常ON继电器 上电后指令只执行一次 上电后指令一直执行
() () • 5、触点不要画在垂线上应画在水平线上
6、不含触点的分支不要放在水平方向 • 7、应尽量把串联多的电路放在最上边;把并联多的电路放在最左边(节省指令、美观) () ()
8尽量避免出现双线圈输出 同一个程序中,同一元件的线圈使用了两次或多次,称为双线圈输出。 双线圈引起逻辑关系混乱
PLC梯形图语言的编程原则 1、 梯形图由多个梯级(网络NETWORK)组成,每个线圈可构成一个梯级,每个梯级有多条支路,每个梯级代表一个逻辑方程; 2、 梯形图中的继电器、继电器接点、线圈不是物理的,是PLC存 储器中的位(1=ON;0=OFF);故编程时常开/常闭接点可无限次引用,线圈输出只能是一次; 3、 梯形图中流过的不是物理电流而是“概念电流”成为“能流”,只能从左向右流;
PLC梯形图语言的编程原则 4、用户程序的运算是根据PLC的输入/输出映象寄存器中的内容,逻辑运算结果可以立即被后面的程序使用; 5、PLC的内部继电器不能做控制用,只能存放逻辑控制的中间状态; 6、输出线圈不能直接驱动现场的执行元件,通过I/O模块上的功率器件来驱动。 7、若梯形图中串联或并联的指令数超过网络规定的数值时(32个),必须使用内部继电器经分段组合来完成。
4. 工作方式 • (1)STOP方式 • (2)RUN方式
5. 改变CPU工作方式的方法 • 1)用PLC上的方式开关来手动切换,方式开关有3个挡位 。 • 2)用STEP 7-Micro/Win32编程软件,应首先把主机的方式开关置于TERM或RUN位置,然后在此软件平台用鼠标单击STOP和RUN方式按钮即可。 • 3)在用户程序中用指令由RUN方式转换到STOP方式,前提是程序逻辑允许中断程序的执行。
4.2 指令系统 • S7-200指令系统中可分: • 基本指令----取代继电器控制系统的指令 • 应用指令----程序控制类指令、特殊功能指令
常开触点 动合 常闭触点 动开 线圈 ——( ) 指令分类——按形式分 1.继电器 LD I0.0 =Q0.0 LDN I0.0 2.功能块 地址 功能数据类型 条件 Enable EN IN1 输入参数 输出参数 IN2 OUT N 长度
指令分类——按功能分 1。位操作功能 2。定时器/计数器 3。算术运算功能 4。关系运算功能 5。数据传送功能 6。转换功能 7。控制功能
或 非 与 LD I0.0 A I0.1 = Q0.0 当 I0.0与 I0.1都 “ON” 时, 则输出 Q0.0“ON”(1)。 Q0.0 I0.0 I0.1 AND Q0.0 I0.0 LD I0.0 O I0.1 = Q0.0 当 I0.0或 I0.1 “ON” 时,则输出 Q0“ON”(1) I0.1 OR 当 I0.1 “OFF” 时 则输出 Q0.0“ON”(1) Q0.0 I0.1 LDN I0.1 = Q0.0 I0.0 * Q0.0 4.2.1基本逻辑指令 I0.1 * 逻辑关系 梯形图 助记符 LD 装载 =线圈输出
A 例: I0.0 I0.1 LD I0.0 A I0.1 O I0.2 = Q0.0 I0.2 注意:与、或、非运算均是对从该指令前面的ST 指令到该指令的前一个指令处的结果进行 运算。 Q0.0 I0.2是与图中A点处的结果(即I0.0与I0.1的结果)相或,而不是与I0.1相或。
区块与 M0.0 M0.2 M0.1 M0.3 区块或 I0.0 M0.1 Q0.0 M0.3 I0.2 逻辑关系 梯形图 助记符 LD M0.0 O M0.1 LD M0.2 O M0.3 ALD = Q0.0 ALD(And Stack) 当 “M0.0或 M0.1”与“M0.2或M0.3”都 “ON” 时, 则输出 Q0.0“ON”。 Q0.0 OLD(Or Stack) LD I0.0 A M0.1 LD I0.2 AN M0.3 OLD = Q0.0 当 “I0.0与 M0.1”或“I0.2与 M0.3非” “ON” 时,则输 出 Q0.0“ON”。
例1:电动机直接启动停车控制 I0.0 Q0.0 I0.1 Q0.0 语句表 LD I0.1 O Q0.0 A I0.0 = Q0.0 梯形图: 停止优先 启动优先 I/O分配: I0.0:停车I0.1:启动Q0.0:KM 继电器控制电路图
I/O分配决定PLC的端子接线图 I/O分配: I0.0:停车I0.1:启动Q0.1:KM PLC的端子接线方式又决定编程语言 I0.1 I0.0 Q0.1 Q0.1
2.双向控制电路--电机的正反转控制 输入:正SB1、反转SB2按钮,停止SB3按钮 输出:正、反转接触器 互锁 互锁 启、保、停 说明:双向控制电路要求2个接触器KM1、KM2不能同时得电,否则会造成电机电源的短路。
置位、复位指令 与下面指令区别
立即I/O指令—立即输入 执行立即输入指令时,只是立即读取物理输入点的值,而不改变输入映像寄存器的值。
立即I/O指令—立即输出 执行立即输出指令时,则将结果同时立即复制到物理输出点和相应的输出映象寄存器
立即I/O指令—立即置位和复位指令 须指出:立即I/O指令是直接访问物理输入输出点的,比一般指令访问输入输出映象寄存器占用CPU时间要长,因而不能盲目地使用立即指令,否则,会加长扫描周期时间,反而对系统造成不利影响。
空操作指令(NOP N)不影响程序的执行。 操作数N是常数 0~255 空操作 能流到达取非触点时,能流就停止;能流未到达取非触点时,能流就通过。 取非 检测到每一次正跳变(信号后,让能流通过一个扫描周期的时间 正跳变 输入映象寄存器I0.0 输出映象寄存器Q0.0 一个周期 检测到每一次负跳变信号后,让能流通过一个扫描周期的时间 输出映象寄存器Q0.2 负跳变 一个周期 输出映象寄存器Q0.1
小结 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)= :输出指令
2. 区块与或 3. 正负跳变指令 • (1)EU:上微分(正跳变) • (2)ED:下微分(负跳变) • (1)ALD:区块与 • (2)OLD:区块或
4. 置位和复位指令 • (1)S,置位指令 • (2)R,复位指令
5. 立即指令 • (1)立即输入触点指令LDI、LDNI、AI、ANI、OI和ONI。 • (2)=I,立即输出指令 • (3)SI,立即置位指令 • (4)RI,立即复位指令
TON:接通延时定时器 TOF:断开延时定时器 TONR:有记忆接通延时定时器 类型 4.2.2. 定时器及定时器指令 具有计时功能的软继电器 定时器号码 (0~255) T37 TON IN 输入接点 PT 定时器分辨率(时基)有三种:1ms、10ms、100ms。定时器的分辨率由定时器号决定 设定值: 1~32767 有16位的计数器,每过一个时基时间,当前值SV加一 定时器的实际设定时间T=设定值PT×分辨率
T38 I0.1 TON IN PT 1200 T38 Q0.1 ( ) 延时接通定时器 TON 定时器组成: 1)有一16位的计数器sv,用以计时 2)有一位存储器,反映定时器状态,计时时间到为“1”,反之为“0” 其工作波形图如下: I0.1 TS TS=1200*0.1=120S Q0.1 计时值复位 设定值PT 计时值SV IN=1,开始计时 IN=0,复位 SV<PT, T38=0 SV>=PT, T38=1
延时断开定时器 TOF T38 I0.1 TOF IN T38 PT 1200 TOF 使能输入 IN T38 Q0.1 ( ) 设定值 PT 其工作波形图如下: TS TS=1200*0.1=120S I0.1 IN=1,SV=0,T38=1 IN=0,开始计时,当计时时间到,SV=PT时,T38=0 计时值复位 Q0.1 设定值 计时值
输入端 IN TONR M0.1 T4 设定值 ( ) PT R 1 保持型定时器 TONR I0.1 T4 TONR IN PT 120 T4 T4 Q0.1 ( ) 其工作波形图如下: IN=1,开始计时,SV<PT,T=0 当SV=>PT,T=1,; 当IN=0,不复位 TS= 120*10ms 输入端 TS Q0.1 计时值不复位 M0.1 32767 最大值 120 设定值 当前值