- 1、本文档共101页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
松下PLC编程手册之高级指令F60-F98
数据压缩移位读取 操作数 A: 可以使用 N/A: 不可使用 程序示例 概述 将存储于数据表的最高地址的非零数据移出至指定区,并将表中的数据压缩至高端地址。 F98 (CMPR) P98 (PCMPR) 10 11 ST R 20 F 98 (CMPR) DT 0 DT 5 DT 10 起始的16位数据区 S1 地址 指令 梯形图程序 布尔形式 (*1)对于FP2、FP2SH和FP10SH,此处为I0至IC。 (*2)对于FP2、FP2SH和FP10SH,此处为ID。 存储被移出的数据的16位区 S3 结束的16位数据区 S2 触发器 步数 适用机型 7 FP-C/FP2/FP2SH/ FP3 CPU Ver.3.1 or later/FP10SH 7 示例说明 若执行条件(触发器)R0为ON,则数据寄存器DT5的内容被送入数据寄存器DT10。 同时,在DT0至DT5的范围内,将所有非零的数据从DT5开始顺序存放。“0”被设置到数据表的另一区域。 ·错误标志(R9007):以下情况时为ON并保持ON - 变址数指定区超限 - D1 > D2 - D1和D2不是相同类型的存储区 ·错误标志(R9008):以下情况时瞬间为ON - 变址数指定区超限 - D1 > D2 - D1和D2不是相同类型的存储区 标志位状态 描述 在D1和D2指定的数据表中数据重新排列如下: - D2(最高地址)中的内容移出至D3指定的数据区。 - 非零数据在指定范围内的从高端地址方向顺序移动(压缩)。 指定数据范围 F98(CMPR)执行 应用示例 结合F99(CMPW)/P99(PCMPW)指令,可用于构建一个可选择性缓冲区。 (1) 执行F99(CMPW)/P99(PCMPW)指令。 当数据写入缓冲器(指定范围区)的首地址时,它们被顺序保存和累积在缓冲区中。最旧的数据将保存在缓 冲区的最末一个地址中。 可以用于从随机写入的数据中抽取有效的非零数据。 (2)执行F98(CMPR)/P98(PCMPR)指令。 当缓冲区(指定范围区)的最末地址中的数据被读取时,从最旧的地址中开始提取数据。 缓冲区中其余的数据向首地址方向移动,所以,此时最旧的数据被存放在缓冲区最旧的地址中。 F98(CMPR)执行 指定数据范围 F98(CMPR) 执行 每次执行F98(CMPR)后,数据按顺序从①到③被提取。 数据移位写入 操作数 A: 可以使用 N/A: 不可使用 程序示例 概述 将数据移入指定数据表的最小地址中,并向高地址压缩。 F99 (CMPW) F99(PCMPW) 10 11 ST R 20 F 99 (CMPW) DT 10 DT 0 DT 5 存放移进的16位常数或16位区 S 地址 指令 梯形图程序 布尔形式 (*1)对于FP2、FP2SH和FP10SH,此处为I0至IC。 (*2)对于FP2、FP2SH和FP10SH,此处为ID。 区域块的末16位区 D2 区域块的首16位区 D1 触发器 步数 适用机型 7 FP-C/FP2/FP2SH/ FP3 CPU Ver.3.1 or later/FP10SH 7 示例说明 若执行条件(触发器)R0为ON,则数据寄存器DT5的内容被送入数据寄存器DT10。 同时,在DT0至DT5的范围内,将所有非零的数据从DT5开始顺序存放。“0”被设置到数据表的另一区域。 指定数据范围 F99(CMPW)执行 说明 因为S的内容被写入DT0,所以DT0的原有内容(如“555”)被重写。 ·错误标志(R9007):以下情况时为ON并保持ON - 变址数指定区超限 - D1 > D2 - 起始区D1与结束区D2不是相同类型的存储区。 ·错误标志(R9008):以下情况时瞬间为ON - 变址数指定区超限
文档评论(0)