资源预览内容
第1页 / 共46页
第2页 / 共46页
第3页 / 共46页
第4页 / 共46页
第5页 / 共46页
第6页 / 共46页
第7页 / 共46页
第8页 / 共46页
第9页 / 共46页
第10页 / 共46页
亲,该文档总共46页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第四章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语句表方式 AI124 0AI124 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个字节 运算 实数 即浮点数 运算等 四 STEP7基本数据类型 BOOL1True或False 1或0 BYTE8B 16 A9WORD16W 16 12AFDWORD32DW 16 ADAC1EF5CHAR8 w S5TIME16S5T 5s 200msINT16123DINT32L 65539REAL321 2或34 5E 12TIME32T 2D 1H 3M 45S 12MSDATE16D 1993 01 20TIME 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执行指令时所具有的状态 某些指令可否执行或以何种方式执行可能取决于状态字中的某些位 指令执行时也可能改变状态字中的某些位 可以用位逻辑指令或字逻辑指令访问并检测状态字 状态字的结构 首位检测位 FC 逻辑操作结果 RLO 状态位 STA 或位 OR 溢出位 OV 溢出状态保持位 OS 条件码1 CC1 和条件码0 CC0 二进制结果位 BR 编程元件对应的存储区1 输入继电器I输入映像寄存器区I2 输出继电器Q输出映像寄存器区Q3 辅助继电器M位存储区M4 外部输入寄存器PI外部输入寄存器区PI5 外部输出寄存器PQ外部输出寄存器区PQ6 定时器T 共5种 定时器区T7 计数器C 共3种 计数器区C8 数据块寄存器DB数据块寄存器区DB9 本地数据寄存器L本地数据寄存器区L 六 数字指令所用到的操作数 地址的表示方法 例如 I2 1或IX2 1IB3Q0 1 区域标识符访问方式位置 编程元件地址的表示方法 例如 QW4 区域标识符 访问方式 位置 区域标识符 指出该地址在存储器的哪个区域 各字母代表的存储区域如下 P89 I 输入映像寄存器区 数字入 Q 输出映像寄存器区 数字出 PI 外部输入区 模拟输入 PQ 外部输出区 模拟输出 M 标志位存储区T 定时器存储区C 计数器存储区L 局部变量存储区DB 数据存储区 访问方式 X 位 一般可省略 B 字节W 字D 双字位置 不同的CPU位置范围不同 参考P47 例I1 0IB2IW4ID0Q2 0QB0QW6QD2PIW2PQW4M4 0MB2MW4MD8L2 2LB1LW4LD4T1T5C0C3DBX10 0DBW2DB10 DBX2 3 字节单元为存储单元 S7系列PLC的物理存储器以字节为单位 所以规定字节单元为存储单元 每个字节单元存储8位信息 存储单元可以位 字节 字 双字为单位使用 例如 MW0由MB0和MB1组成 MB0是高位字节 MB1是低位字节 在分配存储区地址时 要防止因字节重叠造成读写错误 七 典型数字指令 二 比较指令P124 根据所选比较类型 对IN1和IN2进行比较 表示IN1等于IN2表示IN1不等于IN2 表示IN1大于IN2 表示IN1大于等于IN2 表示IN1小于等于IN2如果比较结果为真 则功能的RLO为 1 下述比较指令可供使用 CMP I整数比较 CMP D双整数比较 CMP R实数比较 CMP I整数比较 例 如果下列条件成立 则输出Q4 0置位 在输入I0 0和I0 1的信号状态为 1 并且MW0 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 IBCD码转换为整数 I BCD整数转换为BCD码 BCD DIBCD码转换为双整数 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 x15 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 参数数据类型存储区域说明ENBOOLI Q M L D使能输入ENOBOOLI 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 位常数 整数 LL 523123 32 位常数 双整数 LB 16 EF 十六进制字节L2 0010011011100011 16 位二进制值L3 14 32 位常数 实数 数据装入和传递 2 LW 16 CAFE LW 16 AFFE ACCU2内容 ACCU1内容 程序 X X X X X X X X 数据装入和传递 3 装载 LMB0 程序 TQD4 QD4 QW4 QB4 传递 LMW0 LMD0 TQW4 TQB4 八 逻辑控制指令P133 逻辑控制指令可以用于所有逻辑块 组织块 OB 功能块 FB 和功能 FC 可执行下列功能的逻辑控制指令 JMP 无条件跳转 JMP 条件跳转 JMPN 若非则跳转 例1无条件跳转 例2有条件跳转 无条件跳转 不依赖于RLO 条件跳转 依赖于RLO 九 程序控制指令 下述程序控制指令可供使用 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个指示灯的显示面板表示临时仓库区的占用程度 输入点 光电传感器1I12 0光电传感器2I12 1仓库置初值I12 2设备启动I12 4设备停止I12 5 输出点 仓库区空Q12 0仓库区不空Q12 1仓库区装入大于等于50 Q15 3仓库区装入大于等于90 Q15 4仓库区满Q15 4传送带1前进Q15 5传送带2前进Q15 6 I2 4 I2 5 M0 0 M0 0 I12 0 Q15 5 M0 0 M0 0 I12 1 Q15 6 进库 出库 置初值 清零 Q12 0 S7 300指令系统 语句表STL方式 STL指令与LAD和FBD相比 指令集更为丰富 因此LAD FBD的代码可以转换为STL代码 但并非所有的STL代码都可以转换成LAD或FBD 1 位逻辑指令2 比较指令3 转换指令4 计数器指令5 数据块指令6 逻辑控制指令7 整数算术运算指令8 浮点算术运算指令 9 装入和传送指令10 程序控制指令11 移位和循环指令12 定时器指令13 字逻辑指令14 累加器操作指令详细资料语句表 STL 手册 S7 300指令系统 梯形图方式 1 位逻辑指令2 比较指令3 转换指令4 计数器指令5 数据块指令6 逻辑控制指令7 整数算术运算指令8 浮点算术运算指令9 赋值指令10 程序控制指令11 移位和循环指令 12 状态位指令13 定时器指令14 字逻辑指令详细资料见梯形图 LAD 手册或语句表 STL 手册
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号