培训体系西门子PLC培训讲义_第1页
培训体系西门子PLC培训讲义_第2页
培训体系西门子PLC培训讲义_第3页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、培训体系)西门子 PLC培训讲义四、 S7-300/400 梯形图指令介绍于学习指令之前, 要先了解有关 PLC 的存储区域概念。 不同品牌 的 PLC,梯形图指令均大同小异,可是,存储区的名字及地址的表示 方法却差异很大。西门子 S7-300/400PLC 的存储区域分为:输入映像区( I 或 PI):开关量输入 DI 模块的影射到 I 区,模拟 量输入 AI 模块影射到 PI 区;这是只读区。输出映像区( Q 或 PQ):Q 区写入和之对应的开关量输出 DO 模 块,PQ 区写入和之对应的模拟量输出 AO 模块;Q 区可读/ 写,PQ 只写,不可读。位存储区( M ):又叫中间继电器,可读

2、 /写。DB 块:用户定义的数据块,必须先定义后使用,可读 / 写。T 区:计时器名。C 区:计数器名。L 区:这是局部数据区,上面提到的那些均是全局数据区。所谓 全局数据区,就是所有的程序( OB 块、 FC、FB)均能够访问,而且 访问到的是同壹个变量; 局部数据区则不然, 每个独立的 OB 块、FC、 FB 块均有壹个独立的 L 区,例如: OB1 和 FC1 中均有 L0.0,但它们 却不是同壹个变量。于 STEP7 的梯形图指令中,不同类型的 常数 的格式均有严格的规 定。如 byte 、word 和 dword 类型的常数,于输入时要以“ 16# ”作 为前缀,后面跟十六进制的数据

3、; dint 类型的数据于输入时要以 “L# ” 作为前缀,后面跟十进制的数据; real 类型的数据,于输入时,后面 壹定要带小数部分,如没有小数部分,则加上“ .0”;计时器的时间常 数则以“ S5T# ”为前缀,后面加上 aH_bbM_ccS_dddMS (表示: 几小时 _几分_几秒_几毫秒),“S5T#2.5S ”表示 2.5 秒。STEP7 中的变量,从是否使用符号的角度,能够分为 符号名变量 和地址名变量 。 地址名变量 是以存储区域名为前缀,后面紧跟代表二 进制长度的 B、W 、 D(分别代表字节、字和双字) ,然后是起始字节 的地址;位的地址名变量是存储区域名,加上位所于的字

4、节地址,加 “.”,加上位的序号。例如: IB0、IW0、ID0、I0.0;QB0、QW0 、 QD0 、Q0.0 ;MB0 、MW0 、MD0 、M0.0 ;LB0、LW0 、LD0、L0.0; DB1.DBB0 、 DB1.DBW0 、DB1.DBD0 、 。计时器变量名则以 T加上壹个 0max 之间的数字来表示,如 T0、 T1 等等。计数器变量名则以 C 加上壹个 0max 之间的数字来表示, 如 C0、C1 等等。(注: max 代表某型号的 CPU 所具有的最大数)建 议大家尽量少用地址名变量,而使用符号名变量。 符号名变量 是能够 通过符号编辑器( symboleditor )

5、来建立,也能够直接于使用了 地址 名变量后 ,用鼠标右键点击它,于弹出菜单中,选择“编辑符号”来 建立符号。于STEP7中,不仅能够为 地址名变量建立符号名变量 ,仍 能够为组织块,功能块,功能,数据块建立符号名,且使用符号名来 编写程序。壹旦建立了符号名,于编写程序的过程中,系统会自动提 示,以便我们正确输入变量。L 区的变量,是局域变量;于程序进入该块时,到该块结束的过 程中,局域变量是稳定的,当程序再次进入时,该局域变量的内容是 不可知的,系统可能覆盖了它。除此之外,其他存储区域的变量为全 局变量,组织块、功能块、功能均可访问它们,系统不会改变它们的 内容。梯形图是 PLC最常用的编程语

6、言, 它和电气控制原理图有壹点点 相似,是比较容易学习和掌握的壹种 PLC 编程语言。于 STEP7的梯 形图指令中,按照功能特点共分为如下十四大类指令:位逻辑指令、 比较指令、类型转换指令、整数运算指令、实数运算指令、移动(赋 值)指令、字逻辑运算指令、移位指令、定时器指令、计数器指令、 DB 块调用指令、跳转指令、程序控制指令和( CPU)状态位指令。4.1 、位逻辑指令位逻辑指令说明:指令符号前面的“”,是指令的输入,指令 符号后面的“”,是指令的输出。输入和输出均是 BOOL 类型,即 只有“ 0”和“ 1”俩种可能。梯形图的左边竖线表示“ 1”,连接线表 示直接传导这个信号,传导是由

7、左向右的。? |常开触点(地址 ):本地址位和输入进行“和”运算,结果输 出。? |/| 常闭触点(地址 ):对本地址位先“非”,再和输入进行“和” 运算,结果输出。? ()输出线圈 (地址 ):本地址位等于输入。? |NOT| 能流取反:把输入信号,“非”后输出;? (S)置位线圈 (地址 ):如果输入为“ 1”,本地址位等于“ 1”。 ? (R)重置线圈 (地址 ):如果输入为“ 1”,本地址位等于“ 0”。? (P)RLO上升沿检测:如果输入为“ 1”,本地址位为“ 0 ”,则 输出为“ 1”,否则,输出为“ 0”。? (N) RLO下降沿检测:如果输入为“ 0”,本地址位为“ 1 ”,

8、则 输出为“ 1”,否则,输出为“ 0”。? POS 地址上升沿检测:输入为“1”,指定的位检测上升沿时, 输出为“ 1”,否则,输出为“ 0”。? NEG 地址下降沿检测:输入为“1 ”,指定的位检测下降沿时, 输出为“ 1”,否则,输出为“ 0”。? (#) 中间输出:本地址位保存输入的值,输出等于输入。? =SR 复位优先型 SR双稳态触发器: 先置位,后重置,故复位优先。? =RS 置位优先型 RS双稳态触发器: 先重置,后置位,故置位优先。? XOR 逻辑“异或”:位和位直接进行“异或”运算的梯形图指令 没有。? 立即读取:于执行含有 PIB、PIW、PID 的变量的指令时, CPU

9、直 接从外设读取数据。? 立即写入:于执行含有 PQB、PQW 、PQD 的变量的指令时, CPU 直接向外设写数据。4.2 、比较指令 比较指令说明:指令符号前面的“”,是指令的输入,指令符 号后面的“,”是指令的输出。输入和输出均是 BOOL 类型,即只有 “0”和“1”俩种可能。当比较指令输入为“ 1”时,且 IN1 和IN2 的 比较,结果符合条件,输出为“ 1”,否则,输出为“ 0”。IN1 和IN2必须是相同的数据类型,比较的条件分为如下六种情况:? =IN1 等于 IN2? <>IN1 不等于 IN2? >IN1 大于 IN2? <IN1 小于 IN2?

10、>=IN1 大于等于 IN2? <=IN1 小于等于 IN2根据IN1 和IN2的数据类型,分为:整数比较、双整数比较和实数 比较三大类。? CMP?I 整数比较,符号如下:? CMP?D 双整数比较,符号如下:? CMP?R 实数比较,符号如下:4.3 、数据格式转换指令数据格式转换指令说明:EN 为输入,是 BOOL 类型,BOOENO 为输出, 且总是和 EN 相同;当输入为“ 1”时,执行指令,否则,不执行指令。IN 输入 的数据类型和 OUT 输出 的数据 类型于指令名称中已经说明;且且要求为全局变量或局部变量。BCD_IBCD 码转换为整数I_BCD 整数转换为 BCD

11、 码BCD_DIBCD 码转换为双整数DI_BCD 双整数转换为 BCD 码I_DINT 整数转换为双整数DI_REAL 双整数转换为浮点数INV_I 整数的二进制反码INV_DI 双整数的二进制反码NEG_I 整数的二进制补码NEG_DI 双整数的二进制补码NEG_R 浮点数求反ROUND 舍入为双整数? TRUNC 舍去小数取整为双整数? CEIL 上取整? FLOOR 下取整4.4 、计数器指令? S_CUD 加- 减计数器? S_CD 减计数器? S_CU 加计数器? -(SC) 计数器线圈置位? -(CU) 加计数器线圈? -(CD) 减计数器线圈*4.5 、数据块指令于梯形图中,

12、访问固定数据块中的数据的壹种方式, 是先用 (OPN) 指令打开 DB 块, 然后直接使用 DB 块中的地址。4.6 、逻辑控制指令逻辑控制指令,只能于逻辑块内跳转。-(JMP)- 无条件跳转:指输入为“ 1 ”,跳转指令必定执行。-(JMP)- 条件跳转:其输入为逻辑运算的结果, “ 1”时执行,“ 0”则不执行。-(JMPN)- 若非则跳转:其输入为逻辑运算的结果, “ 0”时执行,“ 1”则不执行。LABEL 标号是壹个跳转指令目的地的标识符。由 14 个字符组成,第壹个字符为字母,后面能够是数字或字母,中间也能够有“_”。和跳转指令配合使用。4.7 、整数算术指令指令说明: EN 为输

13、入,是 BOOL 类型, ENO 为输出,且总是和 EN 相同;当输入为“ 1”时,执行指令,否则,不执行指令。整数算 术指令要求 IN1 、IN2 必须为 INT 类型的变量或常数, OUT 必须为 INT 类型的变量;双整数的运算指令要求 IN1 、IN2 必须为 DINT 类 型的变量或常数, OUT 必须为 DINT 类型的变量。 使用整数算术指令 时,要考虑是否会产生溢出及除法余数丢失等等问题。ADD_I 整数加法SUB_I 整数减法MUL_I 整数乘法DIV_I 整数除法ADD_DI 双整数加法SUB_DI 双整数减法MUL_DI 双整数乘法DIV_DI 双整数除法? MOD_DI

14、 回送余数的双整数4.8 、浮点数(实数)算术指令指令说明: EN 为输入, 是 BOOL 类型,ENO 为输出,且总是和 EN 相同;当输入为“ 1 时,执行指令,否则,不执行指令。实数的加、减、乘、除法运算指令要求 IN1 、 IN2 必须为 REAL 类型的变量或常数,? ADD_R 实数加法? SUB_R 实数减法? MUL_R 实数乘法OUT 必须为 REAL 类型的变量。DIV_R 实数除法实数的下述运算指令要求 IN 必须为 REAL 类型的变量或常数, OUT 必须为 REAL 类型 的变量。? 求绝对值运算( ABS )? 求平方( SQR )运算求平方根( SQRT)运算求

15、自然对数( LN )运算求基于 e 的指数运算( EXP) (e=2.71828)求正弦( SIN )运算求反正弦( ASIN )运算求余弦( COS )运算求反余弦( ACOS )运算? 求正切( TAN )运算? 求反正切( ATAN )运算4.9 、赋值指令指令说明: EN为输入,是 BOOL类型, ENO为输出,且总是和 EN相同;当输入为“ 1 时,执行指令, 否则,不执行指令。 指令要求 IN 为变量或常数, 其类型, 和OUT的类型壹致, 且OUT 必须为变量。 MOVE 只能复制 BYTE(字节)、WORD (字)、INT (整数)、 DWORD双字)、DINT (双精度整数)

16、和 REAL(实数)数据对象。用户定义的数据类型(例如数组或结构)必须使用系统功能“ BLKMOVE ”(SFC20 )? MOVE 赋值指令*4.10 、程序控制指令-(CALL) 从线圈调用:用来调用不带参数的功能(EN 为输入, ENO 为输出,且总是相同的,如图所示:CALL_FB 从方块调用FBCALL_FC 从方块调用FC进行复制。FC)或系统功能( SFC);OVERVIEW )”里,拖放到梯形图中,从方块调用 FB/FC/SFB/SFC ,即从左侧的 “总览CALL_SFB 从方块调用 SFBCALL_SFC 从方块调用 SFC调用多背景块从库中调用块使用 MCR 功能的重要注

17、意事项-(MCR) 主控继电器接通? -(MCRA) 主控继电器启动? -(MCRD) 主控继电器停止? RET 返回4.11 、移位指令使用移位指令,能够将输入 IN 中的内容向左或向右逐位移动(请参见“CPU寄存器”)。将输入 IN 中的内容左移相当于完成乘 2加权;将输入 IN 中的内容右移相当于完成除 2加 权的运算。例如,如果将十进制数值“3 ”的等效二进制数左移 3位,则累加器中的结果是十进制数“ 24 ”的二进制数。如果将十进制数值“ 16”的等效二进制数右移 2位,则累加 器中的结果是十进制数“ 4”的二进制数。输入参数 N 提供的数值表示移动的位数。?SHR_I 整数右移?S

18、HR_DI 双整数右移?SHL_W 字左移?SHR_W 字右移?SHL_DW 双字左移?SHR_DW 双字右移?ROL_DW 双字左循环?ROR_DW 双字右循环*4.12 、状态位指令状态字是 CPU 内部存储区中的壹个寄存器,包含有为位地址和字逻辑指令提供参考的 位。这类指令的使用难度较大,意义不大,这是我个人意见。? 二进制结果位 (BR-II-) 置位(即有壹个信号状态为“ 1 ”)。? 算术运算功能有上溢 (OV-II-) 或存储的上溢 (OS-II-) 。? 算术运算功能的结果是无序的 (UO-II-) 。? 算术运算功能的结果以下列方式之壹: =0 ,0 ,0 , 0 ,=0 ,=0 。4.13 、定时器指令? ?S_PULSE 脉冲 S5 定时器? ?S_PEXT 扩展脉冲 S5 定时器? ?S_ODT 接通延时 S5 定时器? ?S_ODTS 保持型接通延时 S5 定时器? ?S_O

温馨提示

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

评论

0/150

提交评论