网站大量收购独家精品文档,联系QQ:2885784924

04S7-300编程语言与指令系统01.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
04S7-300编程语言与指令系统01剖析

第4章 S7-300编程语言 与指令系统 第4章 S7-300编程语言与指令系统 数据格式(16位) 数据格式(32位) 图4-1 基本数据类型说明 保持存储器:非易失RAM,用来保存位存储器、定时器、计数器和数据块。 外设I/O存储区:PI和PQ,可直接访问。 0~65 532 PQD 0~65 534 PQW 0~65 535 PQB 0~65 532 PID 0~65 534 PIW 0~65 535 PIB 通过本区域,用户程序能够直接访问输入和输出模板(即外部输入和输出信号) 外部输入(PI) 外部输出(PQ) 0~252 MD 0~254 MW 0~255 MB 0.0~255.7 M 本区域存放程序的中间结果 位存储器(M) 0~65 532 QD 0~65 534 QW 0~65 535 QB 0.0~65 535.7 Q 在循环扫描期间、程序运算得到的输出值存入本区域。在循环扫描的末尾传送至输出模板 输出过程映像存储区 (Q) 0~65 532 ID 0~65 534 IW 0~65 535 IB 0.0~65 535.7 I 在循环扫描的开始,从过程中读取输入信号存入本区域,供程序使用 输入过程映像存储区 (I) 寻址范围 标识符 功 能 名 称 表4-2 系统存储区及其功能 0~65 532 LD 0~65 534 LW 0~65 535 LB 0.0~65 535.7 L 本区域存放逻辑块(OB,FB或FC)中使用的临时数据。当逻辑块结束时,数据丢失 本地数据(L) 0~65 532 DID 0~65 534 DIW 0~65 535 DIB 0.0~65 535.7 DIX     0~65 532 DBD 0~65 534 DBW 0~65 535 DBB 0.0~65 535.7 DBX 本区域包含所有数据块的数据。 数据块(DB) 0~255 C 访问本区域可得到当前计数器值 计数器(C) 0~255 T 访问本区域可得到定时剩余时间 定时器(T) 表4-2 系统存储区及其功能(续) 4.3.2 指令操作数 指令由操作码和操作数组成。 操作码代表所要完成的具体操作 操作数就是要处理的数据,或简单的说就是被“操作的对象”。它可以是: 数据位:输入位、输出位、存储器位 定时器/计数器:预置值、累计值 程序控制 状态字中的位 ……等等 4.3.3 CPU中的寄存器 1. 累加器ACCUx: S7-300PLC有2个32位的累加器 (ACCU1、ACCU2) 用于处理位、字节、字和双字的寄存器 可以把操作数送入累加器,并经运算和处理,结果除保存在ACCU1中外,还可以传送到存储区。 处理8位或16位数据时,数据存放在累加器的低端(右对齐) 2. 状态字寄存器(16位) 用来存储CPU执行指令时的状态; 有些指令的执行会影响到状态字中的位; 指令的执行也会受到状态字的影响; 可用位逻辑指令和字逻辑指令来访问和检测状态字。 FC RLO STA OR OV OS CC0 CC1 BR 未用 0 1 2 3 4 5 6 7 8 15 9 图4-8 状态字的结构 ⑴首次检测位(FC) 若FC位的状态为0,表示一个梯形逻辑网络的开始,或指令语句为第一条指令。 FC在逻辑串的开始时为“0”,在逻辑串的执行过程中为“1” 当一个逻辑串结束时(如输出或者跳转等),FC被清0。 ⑵逻辑运算结果(RLO) RLO(Result of Logic Operation),用于存储位逻辑指令或比较指令的结果。 ⑶状态位(STA) 状态位不能用指令检测,仅在程序测试中被CPU解释并使用。 ⑷或位(OR) 在先“与”后“或”的逻辑运算中,暂存逻辑“与”的结果,以便进行后面的逻辑“或”运算。其它指令将OR位清0。 ⑸溢出位(OV) OV被置1,表示算术运算或浮点数比较指令执行时出错(溢出、非法操作、不规范格式 ) 。 ⑹溢出状态保持位(OS) OV被置1时OS也被置1;OV被清0时OS仍保持。该位用来表明先前的指令执行时是否产生过错误。 ⑺条件码1(CC1)和条件码0(CC0) 用这两位来表示累加器1中产生的算术运算或逻辑运算结果与0的大小关系。见表4-4、4-5。 非法的浮点数 除法或MOD指令的除数为0 - 1 1 正数上溢出 乘除法上溢出,加减法下溢出 结果0 0 1 负数绝对值过大 乘法下溢出;加减法上溢出 (正数过大) 结果0 1 0 正数、负数绝对值过小 整数相加下溢出 (负数绝对值过大) 结果=0 0 0 浮点数算术运算 有溢出 整数算术运算有溢出 算术运算 无溢出 CC0 CC1 表4-4 算术运算后的CC1和CC0 - 移出位为1 非法的浮点数

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档