欧姆龙PLC数据运算.ppt

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

注 意 事 项 综上所述,使用SDEC指令要注意: ①结果通道不能超过其所在区域,例如,在控制字C=#0113时,若结果通道数据为HR19就会出错。因为第一个结果要存放在HRl9的高8位,显然第二个译码结果无处存放。 ②一次最多只能对4个数字进行译码。若C设置错误,程序将无法执行。例如,C设置为#0042,即对5个数字进行译码,这显然是错误的。 8.3.6 ASCII码转换指令(ASC/@ASC) 图是执行ASC指令的几种情况。图 (a)中C=#0011,表示从源通道S的数字位1开始转换,转换2位,转换结果从结果通道R的低8位开始存放,不校验。 源通道S的数字位1是BCD数3,转换成ASCII码是33,数字位2是BCD数1,转换成ASCII码是31。由于C指定不校验,所以bit07和bitl5都写0。 图 (b)中C=#1010,示意从源通道S的数字位0开始转换,转换2位,转换结果从结果通道R的低8位开始存放,偶校验。 源通道S的数字位0和1是BCD数3和1,转换成ASCII码是33和31,由于C指定为偶校验,在R的低8位中,ASCII码里1的个数已是偶数,所以bit07写0;在R的高8位中,ASCII码里1的个数不是偶数,所以bitl5写1。 图 (c)中C=#2010,指定为奇校验,在R的低8位中,ASCII码里1的个数不是奇数,所以bit07’写1;在R的高8位中,ASCII码里1的个数已是奇数,所以bitl5写0。 本节小结 使用编码指令DMPX时要注意: ①S+3不能超过其所在区域。例如,在控制字C=#0023时,若源首通道设为HR18就会出错。因为要对3个通道进行编码,而HR区只有HRl8和HRl9这2个通道可以供编码了。 ②要牢记控制字的内容及意义,并注意控制字的内容不能写错。由于一个结果通道只能存放4个转换结果,所以一次只能对4个源通道进行编码。若C设置错误,程序将无法执行。例如,若C设为#0042,即对5个源通道进行编码,而5个编码结果,一个结果通道是无法存放的。 8.4 数据运算指令 8.4.1十进制运算指令 1.十进制加法运算指令(ADD/@ADD、ADDL@ADDL) 图是使用ADD和ADDL指令的例子,图 (c)是执行双字加运算的操作过程。为了保证运算的正确,每次运算前都先用CLC指令将进位位清零。 图中,当00000为ON时执行@CLC指令清进位位,执行@ADD指令,将HR00(#1234)与#8341及CY相加,结果存放在DM0000中;当00001为ON时,执行@CLC指令清进位位, 执行@ADDL指令,将双字HR02(#9876)HR01(#5432)与LR02(#1234)LR01(#5678)及CY相加,结果存放在DM0002和DM0001中。 使用BCD加法指令的例子 图是使用ADD指令修改TIM设定值的例子。 2.十进制减法运算指令(SUB/@SUB) 图是使用减法运算指令SUB指令的例子。被减数在HR00中,减数在DM0000中,结果存入HR01中,进位位状态存入HR02中。 两次减法运算的操作过程如下: HR00 DM0000 CY HR01 CY 第一次相减:1000 —2000 — 0—1000十(100002000)9000 HR01 CY HR01 CY 第二次相减:0000—9000—0— 0000十(10000—9000)=1001 3.十进制递增(INC/@INC)、递减指令(DEC @ DEC)及乘(MUL/@MUL)、除法(DIV@DIV)运算指令 由于两个最大的单字BCD数相乘,即9999×9999运算结果不发生进位,同样两个最大的双字BCD数相乘结果也不发生进位。所以乘、除运算都不涉及进位位CY。 8.4.2 二进制运算指令 CPM1A系列PLC的二进制数据运算指令都是单字运算指令。表是二进制运算指令的格式、梯形图符号、操作数的含义及范围、指令功能及执行指令对标志位的影响。 图中是使用二进制运算指令完成(250×8—1000)/50运算的例子。 8.4.3 逻辑运算指令 表是逻辑运算指令的格式、梯形图符号、操作数的含义及范围、指令功能及

文档评论(0)

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

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

1亿VIP精品文档

相关文档