




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、可编程序控制器注注 意意 事事 项项 综上所述综上所述,使用sdec指令要注意: 结果通道不能超过其所在区域,例如,在控制字c=#0113时,若结果通道数据为hr19就会出错。因为第一个结果要存放在hrl9的高8位,显然第二个译码结果无处存放。 一次最多只能对4个数字进行译码。若c设置错误,程序将无法执行。例如,c设置为#0042,即对5个数字进行译码,这显然是错误的。 可编程序控制器8.3.6 8.3.6 asciiascii码转换指令码转换指令(asc/asc)(asc/asc) 图是执行图是执行ascasc指令的几种情况。图指令的几种情况。图 (a)(a)中中c c#0011#0011,
2、表示,表示从源通道从源通道s s的数字位的数字位1 1开始转换,转换开始转换,转换2 2位,转换结果从结果通位,转换结果从结果通道道r r的低的低8 8位开始存放,不校验。位开始存放,不校验。 源通道源通道s s的数字位的数字位1 1是是bcdbcd数数3 3,转换成,转换成asciiascii码是码是3333,数字,数字位位2 2是是bcdbcd数数1 1,转换成,转换成asciiascii码是码是3131。由于。由于c c指定不校验,所以指定不校验,所以bit07bit07和和bitl5bitl5都写都写0 0。 图图 (b)(b)中中c c#1010#1010,示意从源通道,示意从源通道
3、s s的数字位的数字位0 0开始转换,开始转换,转换转换2 2位,转换结果从结果通道位,转换结果从结果通道r r的低的低8 8位开始存放,偶校验。位开始存放,偶校验。 源通道源通道s s的数字位的数字位0 0和和1 1是是bcdbcd数数3 3和和1 1,转换成,转换成asciiascii码是码是3333和和3131,由于,由于c c指定为偶校验,在指定为偶校验,在r r的低的低8 8位中,位中,asciiascii码里码里1 1的个的个数已是偶数,所以数已是偶数,所以bit07bit07写写0 0;在;在r r的高的高8 8位中,位中,asciiascii码里码里1 1的个的个数不是偶数,所
4、以数不是偶数,所以bitl5bitl5写写1 1。 图图 (c)(c)中中c c#2010#2010,指定为奇校验,在,指定为奇校验,在r r的低的低8 8位中,位中,asciiascii码里码里1 1的个数不是奇数,所以的个数不是奇数,所以bit07bit07写写1 1;在;在r r的高的高8 8位中,位中,asciiascii码里码里1 1的个数已是奇数,所以的个数已是奇数,所以bitl5bitl5写写0 0。 可编程序控制器执行ascii指令的几种情况可编程序控制器本节小结本节小结 使用编码指令使用编码指令dmpxdmpx时要注意:时要注意:s+3s+3不能超过其所在区域。例如,在控制字
5、不能超过其所在区域。例如,在控制字c=#0023c=#0023时,时,若源首通道设为若源首通道设为hr18hr18就会出错。因为要对就会出错。因为要对3 3个通道进行编个通道进行编码,而码,而hrhr区只有区只有hrl8hrl8和和hrl9hrl9这这2 2个通道可以供编码了。个通道可以供编码了。 要牢记控制字的内容及意义,并注意控制字的内容不能要牢记控制字的内容及意义,并注意控制字的内容不能写错。由于一个结果通道只能存放写错。由于一个结果通道只能存放4 4个转换结果,所以一个转换结果,所以一次只能对次只能对4 4个源通道进行编码。若个源通道进行编码。若c c设置错误,程序将无设置错误,程序将
6、无法执行。例如,若法执行。例如,若c c设为设为#0042#0042,即对,即对5 5个源通道进行编码,个源通道进行编码,而而5 5个编码结果,一个结果通道是无法存放的。个编码结果,一个结果通道是无法存放的。end任务八 数据运算控制 可编程序控制器8 84 4 数据运算指令数据运算指令任务八 数据运算控制 end8.4.18.4.1十进制运算指令十进制运算指令8.4.2 8.4.2 二进制运算指令二进制运算指令8.4.3 8.4.3 逻辑运算指令逻辑运算指令可编程序控制器8.4.18.4.1十进制运算指令十进制运算指令 任务八 数据运算控制 end 下表是十进制运算指令的格式、梯形图符号、操
7、作数下表是十进制运算指令的格式、梯形图符号、操作数的含义及范围、指令的功能及执行指令对标志位的影响。的含义及范围、指令的功能及执行指令对标志位的影响。可编程序控制器任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器1.1.十进制加法运算指令十进制加法运算指令(add/(add/addadd、addladdladd
8、l)addl) 图是使用图是使用addadd和和addladdl指令的例子,图指令的例子,图 (c)(c)是执行双字加是执行双字加运算的操作过程。为了保证运算的正确,每次运算前都先用运算的操作过程。为了保证运算的正确,每次运算前都先用clcclc指令将进位位清零。指令将进位位清零。 图中,当图中,当0000000000为为onon时执行时执行clcclc指令清进位位,执行指令清进位位,执行addadd指令,将指令,将hr00(#1234)hr00(#1234)与与#8341#8341及及cycy相加,结果存放在相加,结果存放在dm0000dm0000中;当中;当0000100001为为onon
9、时,执行时,执行clcclc指令清进位位,指令清进位位, 执行执行addladdl指令,将双字指令,将双字hr02(#9876)hr01(#5432)hr02(#9876)hr01(#5432)与与lr02(#1234)lr01(#5678)lr02(#1234)lr01(#5678)及及cycy相加,结果存放在相加,结果存放在dm0002dm0002和和dm0001dm0001中。中。任务八 数据运算控制 end可编程序控制器使用使用bcdbcd加法指令的例子加法指令的例子任务八 数据运算控制 end可编程序控制器 图是使用图是使用addadd指令修改指令修改timtim设定值的例子。设定值
10、的例子。任务八 数据运算控制 end可编程序控制器2.2.十进制减法运算指令十进制减法运算指令(sub/(sub/sub)sub) 图是使用减法运算指令图是使用减法运算指令subsub指令的例子。被减数在指令的例子。被减数在hr00hr00中,减数在中,减数在dm0000dm0000中,结果存入中,结果存入hr01hr01中,进位位状态存入中,进位位状态存入hr02hr02中。中。 两次减法运算的操作过程如下:两次减法运算的操作过程如下: hr00 dm0000 cy hr01 cyhr00 dm0000 cy hr01 cy 第一次相减:第一次相减:1000 1000 2000 2000 0
11、 010001000十十(100002000)9000 (100002000)9000 hr01 cy hr01 cy hr01 cy hr01 cy 第二次相减:第二次相减:00000000900090000 0 0000 0000十十(10000(100009000)9000)10011001 任务八 数据运算控制 end可编程序控制器使用sub指令的例子任务八 数据运算控制 end可编程序控制器3.3.十进制递增十进制递增(inc/(inc/inc)inc)、递减指令、递减指令(dec (dec dec)dec)及乘及乘(mul/(mul/mul)mul)、除法、除法(div(divdi
12、v)div)运算指令运算指令 由于两个最大的单字由于两个最大的单字bcdbcd数相乘,即数相乘,即999999999999=999800019999=99980001,运算结果不,运算结果不发生进位,同样两个最大的双字发生进位,同样两个最大的双字bcdbcd数相乘结果也不发生进位。所以乘、数相乘结果也不发生进位。所以乘、除运算都不涉及进位位除运算都不涉及进位位cycy。任务八 数据运算控制 end可编程序控制器8.4.2 8.4.2 二进制运算指令二进制运算指令 cpm1acpm1a系列系列plcplc的二进制数据运算指令都是单字运算指令。表是的二进制数据运算指令都是单字运算指令。表是二进制运
13、算指令的格式、梯形图符号、操作数的含义及范围、指令功二进制运算指令的格式、梯形图符号、操作数的含义及范围、指令功能及执行指令对标志位的影响。能及执行指令对标志位的影响。任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器 图中是使用二进制运算指令完成图中是使用二进制运算指令完成(250(2508 81000)/501000)/50运算的例子。运算的例子。任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器8.4.3 8.4.3 逻辑运算指令逻辑运算指令 表是逻辑运算指令的格式、梯形图符号、操作数的含义及范表是逻辑运算指令的格式、梯形图符号、操作数的含义及范围、指令功能及执行指令对标志位的影响。围、指令功能及执行指令对标志位的影响。任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器任务八 数据运算控制 end可编程序控制器 图是使用逻辑指令的例子。图是使用逻辑指令的例子。任务八 数据运算控制 end可编程序控制器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年河南省安全员《B证》考试题库
- 2025湖南省建筑安全员C证考试题库
- 上海房产抵押合同范本
- 人工放电缆合同范例
- 区域分红入股合同范本
- 公司社保和合同范本
- 2025上海市建筑安全员B证考试题库附答案
- 农村卖地合同范本
- 化肥代生产合同范例
- 低价整屋改造合同范本
- 1到六年级古诗全部打印
- PMC部绩效考核表
- 新闻学概论(复习重点内容)
- 功率测量模块的软件设计方案与实现
- 中考英语高频单词专项训练题配套答案
- 火龙罐疗法经典课件
- 应用写作(第六版) 课件 第1-4章 应用写作概述-行政事务应用文
- 核岛通风系统介绍
- 破伤风的预防及救治措施课件
- 我见证改革开放三十年课件
- xxxx智能化工程施工进度计划表
评论
0/150
提交评论