西门子PLC编程举例.ppt_第1页
西门子PLC编程举例.ppt_第2页
西门子PLC编程举例.ppt_第3页
西门子PLC编程举例.ppt_第4页
西门子PLC编程举例.ppt_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

第四章 S7-300指令系统 数字指令 要求: 1、了解S7-300编程软件STEP7的基本数据 类型。 2、了解S7-300系列PLC的各种数字指令 3、能编写简单程序。 一、S7-300系列PLC编成语言-STEP7 详细资料见梯形图(LAD) 手册或语句表(STL)手 册 PLC的编程语言有3种: 1、梯形图(LAD) 方式 2、语句表(STL) 方式 3、功能块图(FBD) 方式 I124.0 ( ) Q125.1例1 梯形图方式 例2 语句表方式 A I124.0 A I124.1 = Q125.1 例3 功能块图方式 I124.1 & I124.0 I124.1 = Q125.1 二、S7-300指令系统(梯形图方式) 1、位逻辑指令 2、比较指令 3、转换指令 4、计数器指令 5、数据块指令 6、逻辑控制指令 7、整数算术运算指令 8、浮点算术运算指令 9、赋值指令 10、程序控制指令 11、移位和循环指令 12、状态位指令 13、定时器指令 14、字逻辑指令 详细资料见梯形图(LAD) 手册或语句表(STL)手 册 三、S7-300系列PLC数字指令 2、比较指令 3、转换指令 4、计数器指令 5、数据块指令 6、逻辑控制指令 7、整数算术运算指令 8、浮点算术运算指令 9、赋值指令 10、程序控制指令 11、移位和循环指令 12、状态位指令 13、定时器指令 14、字逻辑指令 详细资料见梯形图(LAD) 手册或语句表(STL)手 册 注:这些运算分整数(2 个字节)运算、 双整数 (4个字节)运算、 实数 (即浮点数)运算等。 四、STEP 7基本数据类型 BOOL1True 或 False (1 或0) BYTE8B#16#A9 WORD16W#16#12AF DWORD32DW#16#ADAC1EF5 CHAR8 w S5TIME16S5T#5s_200ms INT16123 DINT32L#65539 REAL321.2 或 34.5E-12 TIME32T#2D_1H_3M_45S_12MS DATE16D#1993-01-20 TIME_OF_DAY32TOD#12:23:45 关键字长度 (位) 该类型的常数举例 用户定义的变量或常数可以为以上基本数据类型 五、S7-300PLC的特殊功能寄存器 累计器1 (ACCU1) 32位 累计器2 (ACCU2) 32位 地址寄存器1(AR1) 32位 地址寄存器2(AR2) 32位 数据块地址寄存器DB(共享数据块)32位 数据块地址寄存器DI(背景数据块) 32位 状态寄存器 16位 状态字 状态字用于表示CPU执行指令 时所具有的状态。某些指令可否执 行或以何种方式执行可能取决于状 态字中的某些位,指令执行时也可 能改变状态字中的某些位,可以用 位逻辑指令或字逻辑指令访问并检 测状态字。 状态字的结构 l首位检测位(FC) l逻辑操作结果(RLO) l状态态位(STA) l或位(OR) l溢出位(OV) l溢出状态态保持位(OS) l条件码1(CC1)和条件码0( CC0) l二进制结果位(BR) 编程元件 对应的存储区 n1. 输入继电器I 输入映像寄存器区I n2.输出继电器Q 输出映像寄存器区Q n3.辅助继电器M 位存储区M n4.外部输入寄存器 PI 外部输入寄存器区PI n5.外部输出寄存器PQ 外部输出寄存器区 PQ n6.定时器T(共5种) 定时器区T n7.计数器C (共3种) 计数器区C n8.数据块寄存器DB 数据块寄存器区DB n9.本地数据寄存器L 本地数据寄存器区L 六、数字指令所用到的操作数 地址的表示方法: 例如: I 2.1或 IX2.1 IB3 Q0.1 区域标识符 访问方式 位置 编程元件地址的表示方法 例如: QW4 区域标识符访问方式位置 区域标识符 :指出该地址在存储器的哪个区域,各字母 代表的存储区域如下。(P89) I:输入映像寄存器区(数字入) Q:输出映像寄存器区(数字出) PI:外部输入区(模拟输入) PQ:外部输出区(模拟输出) M:标志位存储区 T:定时器存储区 C:计数器存储区 L:局部变量存储区 DB:数据存储区 访问方式: X:位(一般可省略) B:字节 W: 字 D:双字 位置: 不同的CPU位置范围不 同。参考P47 例 I1.0 IB2 IW4 ID0 Q2.0 QB0 QW6 QD2 PIW2 PQW4 M4.0 MB2 MW4 MD8 L2.2 LB1 LW4 LD4 T1 T5 C0 C3 DBX10.0 DBW2 DB10.DBX2.3 字节单元为存储单元 S7系列PLC的物理存储器以字节为单位,所 以规定字节单元为存储单元,每个字节单元存储 8位信息。存储单元可以位、字节、字、双字为 单位使用,例如,MW0由MB0和MB1组成,MB0是高 位字节,MB1是低位字节。在分配存储区地址时 ,要防止因字节重叠造成读写错误。 七、典型数字指令 二、 比较指令P124 根据所选比较类型,对 IN1 和 IN2 进行比较: = 表示IN1 等于 IN2 表示IN1 大于 IN2 = 表示IN1 大于等于 IN2 = MW2 CMP ? D 双整数比较 例 如果下列条件成立,则输出 Q4.0 置位: 在输入 I0.0 和 I0.1 的信号状态为 “1” 并且 MD0 = MD4 并且,输入 I0.2 的信号状态为“1” CMP ? R 实数比较 例 如果下列条件成立,则输出 Q4.0 置位: 在输入 I0.0 和 I0.1 的信号状态为 “1” 并且 MD0 = MD4 并且,输入 I0.2 的信号状态为“1” 三、 转换指令P118 下述转换指令可供使用: BCD_I BCD 码转换为整 数 I_BCD 整数转换为BCD 码 BCD_DI BCD 码转换为双 整数 I_DINT 整数转换为双整 数 DI_BCD 双整数转换为 BCD 码 DI_REAL 双整数转换为 浮点数 INV_I 整数的二进制反码 INV_DI 双整数的二进制 反码 NEG_I 整数的二进制补 码 NEG_DI 双整数的二进制 补码 NEG_R 浮点数求反 ROUND 舍入为双整数 TRUNC 舍去小数取整为 双整数 CEIL 上取整 FLOOR 下取整 例1 例2 如果I0.0 为“1”,则 MW10 的内容作为整数读入, 并转换为一个双整数。其结果保存在MD12 中。如果 不执行转换(ENO = EN = 0),则输出 Q4.0 为“1” 四、 整数算数运算指令P121 使用整数算术运算指令,可以进行以下两个整数 (16 位和 32 位)之间的运算: ADD_I 整数加法 SUB_I 整数减法 MUL_I 整数乘法 DIV_I 整数除法 ADD_DI 双整数加法 SUB_DI 双整数减法 MUL_DI 双整数乘法 DIV_DI 双整数除法 MOD_DI 回送余数的双整数 如果I0.0 = “1”,则ADD_I 方块激活。MW0 + MW2 相加的结果放入MW10 中。如果结果在整数 的允许范围之外,则输出Q4.0 置位。 例1 例2 解决算术问题 如何使用 3 种整数算术运算指令产生如下列方程一样的结果: MW4 = (IW0 + DBW3) x 15) / MW0 打开数据块 DB1。 五、 浮点数运算指令P121 32 位标准IEEE 浮点数完成以下算术运算: ADD_R 实数加法 SUB_R 实数减法 MUL_R 实数乘法 DIV_R 实数除法 完成一个浮点数的绝对值运算(ABS) 完成一个浮点数的平方(SQR)和平方根(SQRT)运算 完成一个用 32 位标准IEEE 浮点数表示的角度的以下三角函数 运算: - 正弦(SIN)和反正弦(ASIN)运算 - 余弦(COS)和反余弦(ACOS)运算 - 正切(TAN)和反正切(ATAN)运算 例 如果I0.0 = “1”,则ADD_R 方块激活。MD0 + MD4 相加的结果放入MD10 中。如果结果在浮点数 的允许范围之外或程序语句没有执行(I0.0 =“0” ),则输出Q4.0 置位。 六、 数据块指令 例 数据块10(DB10)被打开。接点地址(DBX0.0) 指的是数据块DB10 中包含的当前数据记录的数据 字节 0 的 0 位。该位的信号状态被赋值给输出 Q4.0。 -(OPN) 打开数据块:DB 或DI 七、 赋值指令P197 MOVE 赋值 例 如果 I0.0 = “1”,则执行指令。MW10 的内容被 复制到当前打开的数据块的数据字12中。 如果执行指令,则 Q4.0 为“1”。 参数 数据类型 存储区域 说明 EN BOOL I,Q,M,L,D 使能输入 ENO BOOL I,Q,M,L,D 使能输出 IN 所有数据类型, 长度可为 8位、 16 位或 32 位 I,Q,M,L,D 或 常数 源数值 OUT 所有数据类型, 长度可为 8位、 16 位或 32 位 I,Q,M,L,D 目的地址 装载 举例 数据装入和传递 (1) L +5/16-位常数 (整数) L L#523123/32-位常数 (双整数) L B#16#EF/十六进制字节 L 2#0010 0110 1110 0011/16-位二进制值 L 3.14/32-位常数 (实数) MOVE EN IN OUT ENO MB5 5 FBD L+5 TMB5 STL MOVE EN OUT ENO MB5 LAD IN5 数据装入和传递(2) 0000 0000 : : L W#16#CAFE L W#16#AFFE : : : XXXXXXXXCAFE AFFE ACCU2 内容 ACCU1 内容 程序 YYYYYYYYXXXXXXXX 0000CAFE 数据装入和传递(3) 31231570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0MB0 31231570 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0MB1MB0 31231570 MB3MB2MB0MB1 装载 L MB 0 程序 T QD 4 QD 4 QW 4 QB 4 传递 ACCU1内容 L MW 0 L MD 0 T QW 4 T QB 4 八、逻辑控制指令P133 逻辑控制指令可以用于所有逻辑块:组织块(OB) ,功能块(FB)和功能(FC)。 可执行下列功能的逻辑控制指令: -( JMP )- 无条件跳转 -( JMP )- 条件跳转 -( JMPN )- 若非则跳转 例1 无条件跳转 例2 有条件跳转 无条件跳转 (不依赖于 RLO) ( JMP ) NEW1 Network 1 Network 2 : : : : Network x NEW1 ( ) M69.0 I 2.7M5.5 LAD NEW1 JMP NEW1 & M5.5 I 2.7 = M69.0 Network 1 Network 2 : : : : Network x FBD Network 1 JU NEW1 Network 2 : : : : Network x NEW1:AN M5.5 AN I 2.7 = M69.0 STL 条件跳转 (依赖于 RLO) A I0.0 A I0.1 JC NEW1 NEW1 I 0.0I 0.1 &I0.0 I0.1JMP NEW1 (JMP) 如果RLO=1 就跳转 A I0.2 A I0.3 JCN NEW2 JMPN I0.2 I0.3 NEW2 NEW2 I 0.2I 0.3 如果RLO=0 就跳转 (JMPN) & LADFBDSTL 九、程序控制指令 下述程序控制指令可供使用: -(CALL) 从线圈调用 FC/SFC(无参数) CALL_FB 从方块调用 FB CALL_FC 从方块调用 FC CALL_SFB 从方块调用 SFB CALL_SFC 从方块调用 SFC 调用多背景块 从库中调用块 十、 移位和循环指令P199 下述移位指令可供使用: SHR_I 整数右移 SHR_DI 双整数右移 SHL_W 字左移 SHR_W 字右移 SHL_DW 双字左移 SHR_DW 双字右移 例 如果 I0.0 = “1”,则 SHR_I 方块激活。 MW0 装入,并右移使用 MW2 指定的位数。 其结果被写入 MW4 中。Q4.0 置位。 下图所示为包括两台传送带的系统,在两台传送带之间有一个临时仓库区。 传送带1 将包裹运送至仓库区。传送带1 靠近仓库区一端安装的光电传感器确 定已有多少包裹运送至仓库区。传送带2 将临时库区中的包裹运送至装货场, 在这里货物由卡运送至顾客。传送带2 靠近仓库区一端安装的光电传感器确定 已有多少包裹从仓库区运送至装货场。含 5 个指示灯的显示面板表示临时仓库 区的占用程度。 输入点: 光电传感器1 I12.0 光电传感器2 I12.1 仓库置初值 I12.2 设备启动 I12.4 设备停止 I12.

温馨提示

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

评论

0/150

提交评论