资源预览内容
第1页 / 共83页
第2页 / 共83页
第3页 / 共83页
第4页 / 共83页
第5页 / 共83页
第6页 / 共83页
第7页 / 共83页
第8页 / 共83页
第9页 / 共83页
第10页 / 共83页
亲,该文档总共83页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
STEP 7 软件结构及调用执行按用户程序分:系统块、用户块系统块:系统功能块(SFB)、系统功能(SFC)和系统数据块(SDB)用户块:组织块(OB)、功能块(FB)、功能(FC)及数据块(DB) 系统块是储存在CPU操作中的预定义的功能或功能块,这些块不占用用户的任何存储空间。这些块在系统中具有相同的接口、相同的名称和相同的编号,所以可被不同的CPU或CPU之间互换用户程序 用户块是提供给用户用于管理用户程序代码和数据的区域,用户块也称为程序块。3.2 位逻辑指令及应用 位逻辑指令的运算结果用两个二进制数字1和0来表示。 可以对布尔操作数(BOOL)的信号状态扫描并完成逻辑操作。逻辑操作结果为RLO(result of logic operatian) (PLC对第一条语句的扫描称为首次扫描,被直接保存在RLO中)位逻辑指令:位逻辑运算、定时器指令、计数器指令及位测试指令。3.2.1 基本逻辑指令及应用基本逻辑指令见P36 表3-2。PLC规定:如果触点是常开触点,则常开触点“动作”认为是“1”,常开触点“不动作”认为是“0”; 如果触点是常闭触点,则常闭触点“动作”认为是“0”,常闭触点“不动作”认为是“1”; 一、位操作指令介绍一、位操作指令介绍 1.1. 逻辑取(装载)及线圈驱动指令逻辑取(装载)及线圈驱动指令 LD(load):常开触点逻辑运算的开始。 LDN(load not):常闭触点逻辑运算的开始 =(OUT):线圈驱动指令。位操作类指令 2.2.触点串联指令触点串联指令A/ANA/AN指令指令 A (And)A (And):与操作,表示串联连接单个常开触点。 AN (And not)AN (And not):与非操作,表示串联连接单个常闭触点。位操作类指令 3. 3. 触点并联指令:触点并联指令:O O(OrOr)/ON/ON(Or notOr not) O O:或操作,表示并联连接一个常开触点。 ONON:或非操作,表示并联连接一个常闭触点。 网络网络1LDI0.0OI0.1ONM0.0=Q0.0网络网络2LDNQ0.0AI0.2OM0.1ANI0.3OM0.2=M0.1位操作类指令 4 4、“异或异或”和和“异或非异或非” X XN 表示两信号结果不同时为“1”,两信号结果相同时为“0”在S5系列中不具备此功能,只有在S7系列中才有“异或”和“异或非”指令,但该功能只在STL(语句指令)/FBD(功能块图指令)方式下编程。位操作类指令 5. 5. 电路块的串联指令电路块的串联指令ALDALD ALDALD:块块“与与”操作,串联连接多个并联电路组成操作,串联连接多个并联电路组成的电路块。的电路块。位操作类指令OLDOLDLDI0.0AI0.1LDI0.2AI0.3LDNI0.4AI0.5=Q0.0OLDOLD6. 6. 电路块的并联指令电路块的并联指令OLDOLD OLDOLD:块“或”操作,并联连接多个串联电路组成的电路块。位操作类指令 注意输出线圈不能串联位操作类指令7.7.嵌套表达式和先嵌套表达式和先“与与”后后“或或”当逻辑串是串并联的复杂组合时,CPU的扫描是先“与”后“或”。指令规则:先“与”后“或”逻辑不加括号 先“或”后“与”逻辑加括号位操作类指令注意 电路图上的常闭开关不一定要在PLC等效梯形图中画成常闭的,比如一些机械的限位开关,在电路图里一般画成常开点,这样正常状态下该路通,具体画成什么点要根据程序的逻辑判断。 此为PLC内部的软触点和外接硬元件的关系。 但根据中央电大考核要求:在考试范围内,凡常闭的在梯形图上一律画成常闭的。实验题:起动保持停止电路(起保停电路)LDI0.0起动I0.0停止I0.1Q0.0OQ0.0ANI0.1=Q0.0010111位操作类指令8.8.置位置位/ /复位指令复位指令 S/RS/R 置位指令置位指令S:使能输入有效后从起始位S-bit开始的N个位置置“1”并保持并保持。复位指令复位指令R:使能输入有效后从起始位R-bit开始的N个位清清“0”并保持并保持。网络网络1LDI0.0SQ0.0,1网络网络2LDI0.1RQ0.0,1位操作类指令置位/复位功能: 复位优先型RS触发器 置位优先型RS触发器详情见P47-489.边沿触发指令 EU/ED上升沿触发指令上升沿触发指令:EU在EU指令前有一个上升沿时(由OFFON)产生一个宽度为一个扫描周期的脉冲,驱动后面的输出线圈。下降沿触发指令下降沿触发指令:ED在ED指令前有一个下降沿时(由ON OFF )产生一个宽度为一个扫描周期的脉冲,驱动其后线圈。 基本位操作指令应用举例抢答器程序设计 (1)控制任务:有3个抢答席和1个主持人席,每个抢答席上各有1个抢答按钮和一盏抢答指示灯。参赛者在允许抢答时,第一个按下抢答按钮的抢答席上的指示灯将会亮,且释放抢答按钮后,指示灯仍然亮;此后另外两个抢答席上即使在按各自的抢答按钮,其指示灯也不会亮。这样主持人就可以轻易的知道谁是第一个按下抢答器的。该题抢答结束后,主持人按下主持席上的复位按钮(常闭按钮),则指示灯熄灭,又可以进行下一题的抢答比赛。 位操作类指令(2 2)I/OI/O分配表分配表输入 I0.0 SB0 /主持席上的复位按钮I0.1 SB1 /抢答席1上的抢答按钮 I0.2 SB2SB2 /抢答席2上的抢答按钮 I0.3 SB3 /抢答席3上的抢答按钮输出Q0.1 L1 /抢答席1上的指示灯Q0.2 L2 /抢答席2上的指示灯Q0.3 L3 /抢答席3上的指示灯位操作类指令(3)程序设计请请写写出出指指令令表表.位操作类指令三、定时器指令 定时器的定时时间:T=PT*S (PT设定值,S时基)工作方式:3种定时指令分别为TON、TONR和TOF3.4 定时指令及应用时基时基( (定时器的精度定时器的精度) ) 按脉冲分,有1ms、10ms、100ms 三种定时器。n 1ms定时器每隔1ms刷新一次,当扫描周期较长时,在一个周期内可能被多次刷新,其当前值在一个扫描周期内不一定保持一致。n 10ms 定时器则由系统在每个扫描周期开始自动刷新。由于每个扫描周期内只刷新一次,故而每次程序处理期间,其当前值为常数。n 100ms定时器则在该定时器指令执行时刷新。下一条执行的指令,即可使用刷新后的结果,非常符合正常的思路,使用方便可靠。定时器的工作原理:定时器的工作原理:使能输入有效后,当前值PT对PLC内部的时基脉冲增1计数,当计数值大于或等于定时器的预置值后,状态位置1。 用于单一间隔的定时。上电周期或 首 次 扫 描 , 定 时 器 状 态 位OFF(0),当前值为0。使能输入接通时,定时器位为OFF(0),当前值从0开始计数时间,当前值达到预置值时,定时器位ON(1),当前值最大到32767并保持。使能输入断开,定时器自动复位,即定时器状态位OFF(0),当前值为0。指令格式:TON Txxx,PT1. 接通延时定时器*用于对许多间隔的累计定时。上电周期或首次扫描,定时器状态位OFF(0),当前值保持。使能输入接通时,定时器位为OFF,当前值从0开始计数时间。使能输入断开,定时器位和当前值保持最后状态。使能输入再次接通时,当前值从上次的保持值继续计数,当累计当前值达到预设值时,定时器状态位ON(1),当前值连续计数最大到32767。*指令格式:TONRTxxx,PT2. 保持型接通延时定时器断电延时型定时器用来在输入断开,延时一段时间后,才断开输出。使能端(IN)输入有效时,定时器输出状态位立即置1,当前值复位为0。使能端(IN)断开时,定时器开始计时,当前值从0递增,当前值达到预置值时,定时器状态位复位为0,并停止计时,当前值保持。指令格式:TOFTxxx,PT3.断电延时延时定时器例例2 2:闪烁电路:闪烁电路 I0.0I0.0的的常常开开触触点点接接通通后后,T37T37的的ININ输输入入端端为为1 1状状态态,T37T37开开始始定定时时。2S2S后后定定时时时时间间到到,T37T37的的常常开开触触点点接接通通,使使Q0.0Q0.0变变为为ONON,同同时时T38T38开开始始计计时时。3s3s后后T38T38的的定定时时时时间间到到,它它的的常常闭闭触触点点断断开开,使使T37T37的的ININ输输入入端端变变为为0 0状状态态,T37T37的的常常开开触触点点断断开开,Q0.0Q0.0变变为为OFFOFF,同同时时使使T38T38的的ININ输输入入端端变变为为0 0状状态态,其其常常闭闭触触点点接接通通,T37T37又又开开始始定定时时,以以后后Q0.0Q0.0的的线线圈圈将将这这样样周周期期性性地地“通通电电”和和“断断电电”,直直到到I0.0I0.0变变为为OFFOFF,Q0.0Q0.0线线圈圈“通通电电” 时时间间等等于于T38T38的设定值,的设定值,“断电断电”时间等于时间等于T37T37的设定值。的设定值。闭计数器用来累计输入脉冲的次数。计数器也是由集成电路构成,是应用非常广泛的编程元件,经常用来对产品进行计数。 计数器指令有3种:增计数CTU、增减计数CTUD和减计数CTD。指令操作数有4方面:编号、预设值、脉冲输入和复位输入。3.5计数器指令 CTUD,增减计数器指令。有两个脉冲输入端:CU输入端用于递增计数,CD输入端用于递减计数。 指令格式:CTUDCxxx,PV例:CTUDC30,5举例举例指令表格式LD I0.1LD I0.2LD I0.3CTUD C50,+4LD C50= Q0.0增减计数程序及时序增减计数程序及时序注:在同一程序段里不能同时使用同一计数器的线圈编号。将其中一个C8改为C0-C255之间的任意其他线圈 PV为032767任意数3.6比较指令 1.字节比较 LDB、AB、OB2.整数比较 LDW、AW、OW3.双字整数比较 LDD、AD 、OD4、实数比较 LDR AR OR比较运算符 := 等于 、 小于、大于、= 小于等于、= 大于等于、不等于 控制要求:一自动仓库存放某种货物,最多6000箱,需对所存的货物进出计数。货物多于1000箱,灯L1亮;货物多于5000箱,灯L2亮。其中,L1和L2分别受Q0.0和Q0.1控制,数 值 1000和 5000分 别 存 储 在 VW20和VW30字存储单元中。程序举例程序举例600060006000时序图时序图1000100050005000C30 当前值Q0.0Q0.1一、算术运算指令一、算术运算指令二、逻辑运算指令二、逻辑运算指令3.7运算指令 算术运算指令在累加器1和2中进行,在累加器2中的值作为被减数或被除数。算术运算的结果保存在累加器1中,累加器1原有的值被运算结果覆盖,累加器2中的值保持不变LADLAD功能功能IN1+IN2=OUTIN1-IN2=OUTIN1+IN2=OUTIN1-IN2=OUT一、算术运算指令一、算术运算指令一、算术运算指令一、算术运算指令1. 1. 整数与双整数加减法指令整数与双整数加减法指令(INT /DINT)(INT /DINT)1 1、将累加器、将累加器1 1中的中的1616位整数与累加器位整数与累加器2 2中的中的1616位整数相加,产生一位整数相加,产生一1616位整数保存在累加器位整数保存在累加器1 1中中2 2、用累加器、用累加器2 2中的中的1616位整数减去累加器位整数减去累加器1 1中的中的1616位整数,产生一位整数,产生一1616位整数保存在累加器位整数保存在累加器1 1中中3 3、将累加器、将累加器1 1中的中的3232位整数与累加器位整数与累加器2 2中的中的3232位整数相加,产生一位整数相加,产生一3232位整数保存在累加器位整数保存在累加器1 1中中4 4、用累加器、用累加器2 2中的中的3232位整数减去累加器位整数减去累加器1 1中的中的3232位整数,产生一位整数,产生一3232位整数保存在累加器位整数保存在累加器1 1中中例4-7 运行结果如下(演示)将将+500+500装入累加器装入累加器1 1中中将将+400+400装入累加器装入累加器1 1中,累加器中,累加器1 1中的原有值移至累加器中的原有值移至累加器2 2中中将运算的结果送到将运算的结果送到ACOACO里里LAD功能IN1*IN2=OUTIN1/IN2=OUTIN1*IN2=OUTIN1/IN2=OUTIN1*IN2=OUTIN1/IN2=OUT2.2.整数乘除法指令整数乘除法指令整数乘除法指令整数乘除法指令 1 1、用累加器、用累加器1 1中的中的1616位整数乘以累加器位整数乘以累加器2 2中的中的1616位整数,产生一位整数,产生一1616位整数保存在累加器位整数保存在累加器1 1中中2 2、用累加器、用累加器2 2中的中的1616位整数除以累加器位整数除以累加器1 1中的中的1616位整数,产生一位整数,产生一1616位整数保存在累加器位整数保存在累加器1 1中,中, 不留余数不留余数3 3、用累加器、用累加器1 1中的中的3232位整数乘以累加器位整数乘以累加器2 2中的中的3232位整数,产生一位整数,产生一3232位整数保存在累加器位整数保存在累加器1 1中中4 4、用累加器、用累加器2 2中的中的3232位整数除以累加器位整数除以累加器1 1中的中的3232位整数,产生一位整数,产生一3232位整数保存在累加器位整数保存在累加器1 1中,中, 不留余数不留余数5 5、用累加器、用累加器1 1中的中的1616位整数乘以累加器位整数乘以累加器2 2中的中的1616位整数,产生一位整数,产生一3232位整数保存在累加器位整数保存在累加器1 1中中6 6、用累加器、用累加器2 2中的中的1616位整数除以累加器位整数除以累加器1 1中的中的1616位整数,产生一位整数,产生一3232位整数保存在累加器位整数保存在累加器1 1中中 低低1616位为商,高位为商,高1616位为余数。位为余数。例4-8运行结果如下: (演示)LAD功能IN1+IN2=OUTIN1-IN2=OUTIN1*IN2=OUTIN1/IN2=OUT3.3.实数加减乘除指令实数加减乘除指令实数加减乘除指令实数加减乘除指令二、逻辑运算指令 1.逻辑与指令(逻辑与指令(WAND) 2.逻辑或运算逻辑或运算 (WOR)3.逻辑异或指令(逻辑异或指令(WXOR)4. 取反指令(取反指令(INV)运算规则:与或异或取反 数字逻辑运算指令将两个字(16位)或两个双字(32位)逐位进行逻辑运算。两个数中的一个在累加器1中,另一个可以再累加器2中或在指令中以立即数(常数)的方式给出,字逻辑运算指令的逻辑运算结果放在累加器1低字中,双字逻辑运算结果放存在累加器1中,累加器2的内容保持不变。字节逻辑运算包括:字节与、字节或、字节异或、字节取反8位字位字节逻辑“与与”指令。如果指令。如果输入端入端EN位位“1”,将,将IN1与与IN2中的中的值按位做按位做“与与”运算,如运算,如果没有超出范果没有超出范围,结果存放在果存放在OUT中,中,ENO连接的接的为“1”,否,否则为“0”字逻辑运算包括:字与、字或、字异或、字取反16位字位字逻辑“与与”指令。如果指令。如果输入端入端EN位位“1”,将,将IN1与与IN2中的中的值按位做按位做“与与”运算,如果运算,如果没有超出范没有超出范围,结果存放在果存放在OUT中,中,ENO连接的接的为“1”,否,否则为“0”双字逻辑运算包括:双字逻辑运算包括: 双字双字与与、双字、双字或或、双字、双字异或异或、双字、双字取反取反6一、数据传送指令 6二、移位指令 3.7 传送及位移指令一、数据传送指令 1.单一传送MOV2.块传送BLKMOV1、单一传送、单一传送 MOVMOV指令可用用来传送单个数据,数据类型可以是字节、字、双字、实数。将IN的内容拷贝到OUT中2.块传送块传送 BLKMOVBLKMOV指令可用来进行一次多个(最多255个)数据的传送,数据块类型可以是字节块、字块、双字块。N的范围为的范围为1至至255 将从将从IN开始的连续开始的连续N个个 字节字节/字字/双字双字 数据数据拷贝到从拷贝到从OUT开始的数据块开始的数据块 举例:举例:二、移位指令 41.左移位和右移位42.循环左移位、循环右移位43.寄存器移位 1.左移位和右移位(1)左移位指令()左移位指令(SHL) 原理:使能输入有效时,将输入IN的无符号数字节、字或双字中的各位向左移N位后(右端补0),将结果输出到OUT所指定的存储单元中,如果移位次数大于0,最后一次移出位保存在“溢出”存储器位SM1.1 二进制左移一位相当与将原数值乘以二进制左移一位相当与将原数值乘以2,右移,右移一位相当与将原数值除以一位相当与将原数值除以2如:如:0100 1101左移一位为左移一位为 1001 1010 左移两位为左移两位为 0011 0100 详见详见 P89 图图3-79(2)右移位指令)右移位指令(SHR) 原理:使能输入有效时,将输入IN的无符号数字节、字或双字中的各位向右移N位后,将结果输出到OUT所指定的存储单元中,移出位如果为正数,补0,负数补1,最后一移出位保存在SM1.1 详见详见 P89 图图3-802.循环左移位、循环右移位循环左移(循环左移(ROL)和循环右移(和循环右移(ROR)移位特点:移位特点:移位数据存储单元的移出端与另一端相移位数据存储单元的移出端与另一端相连,同时又与连,同时又与SM1.1(溢出)相连,所以最溢出)相连,所以最后被移出的位被移到另一端的同时,也被放后被移出的位被移到另一端的同时,也被放到到SM1.1位存储单元。例如在位存储单元。例如在循环右移时,循环右移时,移位数据的最右端位移入最左端移位数据的最右端位移入最左端,同时又进,同时又进入入SM1.1。SM1.1始终存放最后一次被移出始终存放最后一次被移出的位。的位。循环移位循环移位的类型的类型(1)字节循环左移和字节循环右移 (2)字循环左移和字循环右移(3)双字循环左移和双字循环右移 EN:使能输入端使能输入端 ; ENO:有效输出端:有效输出端IN:输入端:输入端 N:循环位数:循环位数字循环右移3次举例:例4-10: 3.8转换指令 &1、数据类型转换指令 &2、编码和译码指令 &3、七段译码指令 &4、字符串转换指令 一、数据类型转换1字节型数据与字整数之间转换的指令字节型数据与字整数之间转换的指令2字整数与双字整数之间的转换字整数与双字整数之间的转换3BCD码与整数之间的转换的指令格式码与整数之间的转换的指令格式二、编码和译码指令 1.编码ENCO,编码指令。使能输入有效时,将字型输入数据IN的最低有效位(值为1的位)的位号输出到OUT所指定的字节单元的低4位。指令格式:ENCOIN,OUT例:ENCOAC0,VB02.译码DECO,译码指令。使能输入有效时,将字节型输入数据IN的低4位所表示的位号对OUT所指定的字单元的对应位置1,其他位置0。指令格式:DECOIN,OUT例:DECOVB0,AC0举例 字 :2#0010 1001 0001 0000 (最低有效位的位号:4)编码: 2#0000 01002#0000 0100译码 :位号 :4字 :2# 0000 0000 0001 0000四、字符串转换指令 (1)ASCII码转换码转换16进制指令进制指令ATH(2)16进制到进制到ASCII码码HTA ASCII码:美国(国家)信息交换标准(代)码,一种使用7个或8个二进制位进行编码的方案. 基本的 ASCII 字符集共有 128 个字符,其中有 96 个可打印字符,包括常用的字母、数字、标点符号等,另外还有 32 个控制字符。 字母和数字的 ASCII 码的记忆是非常简单的。只要记住了一个字母或数字的 ASCII 码(例如记住 A 为 65 , 0 的 ASCII 码为 48 ),知道相应的大小写字母之间差 32 ,就可以推算出其余字母、数字的 ASCII 码
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号