S7-300编程基础4_第1页
S7-300编程基础4_第2页
S7-300编程基础4_第3页
S7-300编程基础4_第4页
S7-300编程基础4_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、S7-300 S7-300 编程技术基础编程技术基础(4 4)$1 STEP 7 $1 STEP 7 中的块中的块$2 S7-300 PLC$2 S7-300 PLC的数据类型的数据类型$3 S7-300$3 S7-300的寻址方式的寻址方式$4 S7-300$4 S7-300的梯形图(的梯形图(LADLAD)指令简介)指令简介$5 $5 模拟量的处理模拟量的处理$6 $6 顺序控制程序设计方法顺序控制程序设计方法$4 S7-300的梯形图(的梯形图(LAD)指令)指令一、位逻辑指令一、位逻辑指令 位逻辑指令用于处理位信号,根据布尔逻辑对位信号进行逻辑组合,或改变位元件的状态。可执行下列功能的

2、位逻辑指令: 1.常开触点 -| |- 2.常闭触点 -| / |- 3.线圈输出 -( ) 4.线圈置位 -( S ) 5.线圈复位 -( R )当有能流流过线圈时(RLO 为“1”),指令所指定处的位被置位为“1”(或复位为“0”)。RLO 为“0”(没有能流流过线圈)时没有任何作用,并且元素指定地址的状态保持不变 6. RLO下降沿检测 -(N)- 7. RLO 上升沿检测 -(P)- RLO 下降沿检测指令可以检测“边沿存储位” 的状态从“1”到“0”的变化。如果 “边沿存储位” 的信号状态发生了下降沿,则使得其后的线圈产生一个脉宽为1个扫描周期的脉冲。 RLO上升沿检测指令的功能与其

3、类似,但检测上升沿二、定时器指令二、定时器指令 脉冲定时器 -( SP ) 扩展脉冲定时器-( SE ) 接通延时定时器-( SD ) 保持型接通延时定时器-( SS ) 断开延时定时器-( SF )1、脉冲定时器 -(SP) -(SP)指令是产生指定时间宽度脉冲的定时器。 LAD参数数据类型存储区说明TIMERT地址表示要起动的定时器号时间值S5TIMEI,Q,M,D(数据块),L(局域数据)定时时间值(S5TIME格式)脉冲定时器 -(SP) 如图所示程序,定时器T1定义的时间值为2S 脉冲定时器 -(SP) 上图程序对应的时序图如图所示 脉冲定时器 -(SP) T1接点控制Q0.0线圈,

4、因此T1接点的状态与Q0.0的状态一致。由时序图可以看出,脉冲定时器每次起动的条件是逻辑位有正跳沿发生,定时器启动计时,T1接点开始输出高电平“1”。从时序图可以看到,-(SP)指令计时的过程中,逻辑位的状态若变为“0”(如图中第7秒处)则定时器停止计时,且输出为“0”。因此,脉冲定时器输出的高电平的宽度小于或等于小于或等于所定义的时间值。 脉冲定时器 -(SP) 脉冲定时器的方框指令如表所示 LAD参数数据类型说明存储区TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD 当

5、前时间(整数格式)BCDWORD当前时间(BCD码格式)脉冲定时器 -(SP) 如图所示的程序中,可从MW10和MW12中以不同的格式读出定时器计时T1剩余的时间。脉冲定时器 -(SP) 上图所示的程序对应的时序图如图所示 2、扩展脉冲定时器 -(SE) -(SE)指令与-(SP)指令相似,但-(SE)指令具有保持功能。LAD参数数据类型存储区说明TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M,D,L定时时间值(S5TIME格式)扩展脉冲定时器 -(SE) 如图所示的程序 扩展脉冲定时器 -(SE) 上图所示的程序对应的时序图如图所示 扩展脉冲定时器 -(SE) 一旦逻辑位(

6、即I0.0的状态)有正跳沿发生,定时器T0启动,同时输出高电平“1”。定时时间到后,输出将自动变成低电平“0”。如果定时时间尚未到达,逻辑位的状态就由“1”变为“0”,这时定时器仍然继续运行仍然继续运行,直到计时完成。这一点是-(SE)指令与-(SP)指令的不同之处。 扩展脉冲定时器 -(SE) 扩展脉冲定时器的方框指令如表所示 LAD参数数据类型说明存储区TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)3、开通延时

7、定时器-(SD) 开通延时定时器指令-(SD),相当于继电器控制系统中的通电延时时间继电器。 通电后延时一段时间触点动作LAD参数数据类型存储区说明TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M,D,L定时时间值(S5TIME格式)开通延时定时器-(SD) 如图所示的程序: 开通延时定时器-(SD) 上图所示的程序对应的时序图如图所示 开通延时定时器-(SD) -(SD)对应的方框如表所示 LAD参数数据类型说明存储区TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态B

8、IWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)4、保持型开通延时定时器-(SS) 保持型开通延时-(SS)与开通延时定时器-(SD)类似,但-(SS)指令有保持功能。 LAD参数数据类型存储区说明TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M,D,L定时时间值(S5TIME格式)保持型开通延时定时器-(SS) 保持型开通延时定时器的应用方法如图所示 保持型开通延时定时器-(SS) 上图中的程序对应的时序图如图所示 保持型开通延时定时器-(SS) 保持型开通延时定时器的方框指令如表所示 LAD参数数据类型说明存储区TIMER要启动的计时器号如T0TSBOO

9、L启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)5、关断延时定时器-(SF) 关断延时定时器-(SF)相当于继电器控制系统中的断电延时时间继电器。也是定时器指令中唯一的一个由下降沿启动的定时器指令。 LAD参数数据类型存储区说明TIMERT地址表示要起动的计时器号时间值S5TIMEI,Q,M,D,L定时时间值(S5TIME格式)关断延时定时器-(SF) 如图所示的程序 关断延时定时器-(SF) 上图中的程序对应的时序图如图所示关断延时定时器-(SF) 关断延

10、时计时器的方框指令如下表所示 LAD参数数据类型说明存储区TIMER要启动的计时器号如T0TSBOOL启动输入端I,Q,M,D,LTVS5TIME定时时间(S5TIME格式)RBOOL复位输入端QBOOL定时器的状态BIWORD当前时间(整数格式)BCDWORD当前时间(BCD码格式)定时器应用举例:(1)使用-(SP)或-(SE)指令构成脉冲发生器:使用脉冲定时器如图所示的程序可产生周期性变化的脉冲信号。 上图中的程序对应的时序图如图所示 (2)使用-(SD)指令产生周期性变化的脉冲信号:使用-(SD)指令可以采用下图所示的程序得到脉冲信号 上图所示的程序对应的时序图如图所示 (3)使用 -

11、(SD)、(SP)、(SF)等指令,实现洗手间冲水控制的功能。程序和工作波形如图所示 定时器归纳:定时器归纳: 2种脉冲定时器(SP、SE),2种通电延时定时器(SD、SS),1种断电延时定时器(SF) SP、SD为电平控制,SE、SS为边沿控制 SP、SE、SD、SS通电开始延时,SF断电开始延时 SP、SE、SF通电触点就动作,延时到触点断开;SD、SS延时到触点动作。三、计数器指令三、计数器指令 STEP 7提供3种计数器:加法计数器、减法计数器、可逆(加/减)计数器 。 本节只对可逆(加/减)计数器 进行介绍。1.计数器线圈指令 计数器置初值指令(SC) 加法计数器线圈(CU) 减法计

12、数器线圈(CD)(1)计数器置初值指令(SC) 当逻辑位RLO有正跳沿时,计数器置初值线圈将预置值装入指定计数器中。若RLO位的状态没有正跳沿发生,则计数器的值保持不变。LAD参数数据类型存储区说明计数器号COUNTERC地址表示预置初值的计数器号预置值WORDI,Q,M,D,L预置值(必须是BCD码格式,即为C#,例如C#23)(2)加法计数器线圈 (CU) 当逻辑位RLO有正跳沿时,加法计数器线圈使指定计数器的值加1,如果RLO位的状态没有正跳沿发生,或者计数器数值已经达到最大值999,则计数器的值保持不变。 LAD参数数据类型存储区说明计数器号COUNTERC地址表示要执行加法计数的计数

13、器号(3)减法计数器线圈(CD) 当逻辑位RLO有正跳沿时,减法计数器线圈使指定计数器的值减1,如果RLO位的状态没有正跳沿发生,或者计数器数值已经达到最小值0,则计数器的值保持不变。 LAD参数数据类型存储区说明计数器号COUNTERC地址表示要执行减法计数的计数器号计数器线圈指令的使用举例 如图所示计数器指令的使用举例 当I0.0的状态由“0”变为“1”时,(SC)指令将数值23装入计数器C0中,当I0.1的状态由“0”变为“1”时,计数器C0的值将减1,当I0.2的状态由“0”变为“1”时,计数器C0的值将加1。 计数器的位状态与计数器值的关系如表所示 计数器的计数值计数器的位状态(即触

14、点状态)不等于0“1”(高电平)等于0“0”(低电平)计数器指令的使用举例 如图所示,若I0.3的状态为“1”,则计数器C0所计的数值立刻变为零,由于(R)指令是高电平执行,因此若I0.3的状态一直保持“1”,则计数器C0始终处于清零状态而无法正常使用。用户在使用指令时,应注意指令的执行方式(可加脉冲位)。 2可逆计数器(S_CUD)的方框指令LAD参数数据类型说明存储区COUNTER计数器标识号CCUBOOL加计数输入I,Q,M,D,LCDBOOL减计数输入SBOOL计数器预置输入PVWORD计数器预置值(C#格式)RBOOL复位输入QBOOL计数器位状态CVWORD计数器当前值(整数格式)

15、CV_BCDWORD计数器当前值(BCD格式) 可以看到,可逆计数器方框指令可以完成计数器的加(CU)、减(CD)计数和置初值(S、PV)以及计数器值清零(R)等功能,还可以将计数器当前值以不同的格式输出,整数格式(CV)和BCD格式(CV_BCD)。计数器的状态可以Q端输出,也可以由计数器的触点输出。 例如,前面例子中两图所示的程序可以由下图所示的程序代替 计数器的使用举例:四、数据处理指令四、数据处理指令 数据处理指令包括数据传送、转换、算术运算、移位及字逻辑指令等1.数据装载和传送指令数据装载和传送指令 数据装载和传送指令(MOVE)如表所示 LAD参数数据类型说明存储区ENBOOL允许

16、输入I,Q,M,D,LENOBOOL允许输出IN长度为8位、16位、32位的所有数据类型源数据OUT长度为8位、16位、32位的所有数据类型目的地地址数据装载和传送指令(MOVE)举例:2. 算术运算指令算术运算指令 加法运算指令 ADD 减法运算指令 SUB 乘法运算指令 MUL 除法运算指令 DIV(1)16位整数加法运算ADD_ILAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1INT相加的第1个值IN2INT相加的第2个值OUTINT相加的结果 程序示例如图所示 运算结果可能失控的情况下需加脉冲指令(2) 16位整数减法运算SUB_I 减法指

17、令运算规则为: IN1IN2=OUTLAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1INT被减数IN2INT减数OUTINT减法运算的结果(3) 16位整数乘法运算MUL_I 允许输入EN的状态为“1”时,启动乘法运算指令,将IN1乘以IN2,并将计算结果送至OUT端。如果计算结果正确,ENO端输出为“1”。LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1INT被乘数IN2INT乘数OUTINT乘法运算的结果 如果运算结果超出16位范围(-32768+32767)时,ENO=0,同时CPU的状态字中OV

18、=1、OS=1 若估计运算结果可能会超出16位范围,应采用32位乘法指令:LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1DINT或常数被乘数IN2DINT或常数乘数OUTDINT乘法运算的结果 如果 I0.0 = “1”,则MUL_DI 方块指令激活。MD0 与MD4 相乘的结果放入MD10 中。如果结果超出双整数的允许范围,则输出Q4.0 置位。(4) 16位整数除法运算DIV_I 除法指令的运算规则为: IN1IN2=OUT LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1INT被除数IN2INT

19、除数OUTINT除法运算的结果 例如如图所示的程序,运算结果为6。 (5)双整数取余数指令MOD_DI 在16位整数除法中,余数被舍弃,若要取余数,要用双整数取余数指令MOD_DI 。 双整数取余数指令,是将两个双整数进行除法运算,并将余数作为结果送到OUT端 LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1DINT被除数IN2DINT除数OUTDINT除法运算取余数的结果 例如27与4两个整数相除的余数为3,利用如图所示的程序可以计算出来 (L#为双整数)3. 比较指令比较指令 是比较触点指令 对2个源数据(IN1和IN2)进行比较,如果条件满足

20、,则比较触点接通;条件不满足,比较触点断开。比较指令及其应用比较指令及其应用源数据: 两个整数(I)的比较(每一整数均为16位); 两个双整数(DI)的比较(每一双整数均为32位); 两个实数(R)的比较(每一实数均为32位);比较关系有以下几种类型: 等于(EQ) :IN1等于(= =)IN2; 不等于(NQ):IN1不等于()IN2; 大于(GT):IN1大于()IN2; 小于(LT):IN1小于( =)IN2; 小于或等于(LE):IN1小于或等于( =)IN2;(例1)整数等于比较指令 整数比较指令关键字符为 I 。整数等于比较指令是判断两个整数是否相等,如果相等,则逻辑结果RLO为“

21、1”,如果不相等则逻辑结果RLO为“0”。LAD参数数据类型说明存储区IN1INT比较的第一个数值I、Q、M、D、LIN2INT比较的第二个数值 如图所示的程序,当MW10中的内容等于23时,Q0.0的状态为“1”,否则,Q0.0的状态为“0”。 注意:比较指令的使用类似触点,因此比较指令不能放在梯级的最后。如图所示 说明:上图所示程序是一个不完整的程序,不能被保存或下载。比较指令只能放在逻辑串的中间,在它右边一定还应有线圈或其它指令。(例2)整数不等于比较指令 整数不等于比较指令是指当两个整数不相等时,比较的逻辑结果RLO为“1”,而当两个数相等时逻辑结果RLO为“0”。这一指令相当于“等于

22、”比较指令的“非”操作。LAD参数数据类型说明存储区IN1INT比较的第一个数值I、Q、M、D、LIN2INT比较的第二个数值 其余16位整数比较的方框指令格式与上述指令相同,只是方框中的操作码不同:(例3)双整数大于比较指令 双整数的关键字为D。大于比较指令是当第一个数值大于第二个数值时,即IN1大于IN2,比较逻辑结果RLO为“1”,否则逻辑结果RLO为“0”。LAD参数数据类型说明存储区IN1DINT比较的第一个数值I、Q、M、D、LIN2DINT比较的第二个数值(例4)实数小于等于比较指令 实数比较指令的关键字为R。小于等于比较指令是当第一个数值小于或等于第二个数值时,即IN1=IN2

23、时,比较逻辑结果RLO为“1”,否则逻辑结果RLO为“0”。 LAD参数数据类型说明存储区IN1REAL比较的第一个数值I、Q、M、D、LIN2REAL比较的第二个数值 字与字相“与”指令:WAND_W 双字与双字相“与”指令:WAND_DW 字与字相“或”指令:WOR_W 双字与双字相“或”指令:WOR_DW 字与字相“异或”指令:WXOR_W 双字与双字相“异或”指令:WXOR_DW4. 字逻辑指令字逻辑指令(1)字与字相“与”指令:WAND_W 当EN端状态为“1”时,执行指令。这一指令根据“与”真值表将IN1端和IN2端的内容逐位相与,并将结果送至OUT端指定的地址。 LAD参数数据类

24、型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1WORD逻辑运算第1个值IN2WORD逻辑运算第2个值OUTWORD逻辑与运算的结果 如图所示的程序: 设MW10中的内容为 2#0111_0010_0101_1001AND 2#0000_0000_0000_1111 字逻辑“与”指令的操作结果(MW12中的内容)为 2#0000_0000_0000_1001。 (2)字与字相“或”指令:WOR_W 当EN端状态为“1”时,执行字“或”指令,这一指令根据“或”真值表将输入IN1和IN2端指定的内容逐位相或,并将结果送至OUT端指定的地址。 LAD参数数据类型说明存储区ENBOOL允许输入I、Q、M、D、LENOBOOL允许输出IN1WORD逻辑运算第1个值IN2WORD逻辑运算第2个值OUTWORD逻辑或运算的结果 如图所示的程序: MW46中的内容为 0000_0000_0001_0110(BCD) OR 2#0010_0000_0000_0000 字逻辑“或”指令的操作结果(MW48中的内容)为 00

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论