欧姆龙PLC指令集讲义

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

的位包括进位标志(CY) 向左移1 位。 循环右移指令:所有Wd 的位,包括进位标志(CY),向右移动1 位。
2.指令集
2.9.5 数(4bits)左移SLD,数(4bits)右移SRD
把S 和E 之间的数据向左移一个数字(4 位)为单位移动。“0”被放 置到最右边的数字(S 的位3 ~位0),最左位数字(E 的位15 ~位12)内容丢 失。 SRD(075) 把St 和E 之间的数据向右移动一个数字(4 位),“0”被放到最左 的数字(E 的位15 ~ 12),并且最右的数字(St 的位3 ~ 0)内容丢失。
功能代码(指令码): 功能代码是指令的代码,用2位十进制数表示。
操作数:操作数指定或提供指令执行的数据。有些指令不带操作数,有 的指令带1个操作数,有的则带2个、3个或4个操作数。
2.指令集
数据区域及其标志
一般情况下,指令的操作数就是指令的数据区域,因此,IR区域、SR区 域、HR区域、AR区域、LR区域、TC区域及DM区域中的字可以是操作数的 字,字的位可以是操作数的位,简称操作数位。但是在指定的数据区域 内,并非所有的地址都允许用于操作数。 通常用继电器区域的缩写及字、位的地址作为指令的操作数,但I/O继 电器没有缩写符。为避免与常数混淆,当用常数作为指令的操作数时, 应在常数前面加上“#”号。 有些指令执行后会影响标志位,有些指令执行后不影响标志位。 SR区域包括标志位和控制位,用来监视PLC操作,存取时钟脉冲及显示 错误信息。受指令执行影响的标志位如下表
2.指令集
2.指令集
2.11.2 比较:CMP(020)
比较两个无符号二进制值(常数和/
或指定字的内容),并输出结果到辅助区
的算术标志中。
2.指令集
当执行CMP(020)
指令,其结果反映在算术标志中。用与控制CMP(020) 指令 相同的输入条件分支来控制所希望的输出或右侧指令,如下图所示。在这种情 况下,当S1 = S2,等于标志和输出A 将变ON。 不要在CMP(020) 指令和算术标志控制指令之间编写其它指令,因为其它指令 可能会改变算术标志的状态。在这种情况下,指令B 的结果可能会改变指令 CMP(020) 的结果。
2.指令集
2.3 位(bit)控制指令
2.3.1 输出(OUT)指令和输出非(OUT NOT)指令
梯形图符号 助 记 符 OUT OUT NOT 名 称 输出 输出非 指 令 功 能 操作数区域 IR,SR,AR,HR, TC,LR,TR IR,SR,AR,HR, TC,LR
当执行条件为ON时,OUT 指令使指定位输出为ON 当执行条件为OFF时,OUT 指令使指定位输出为ON
紧急2
00002
紧急3
00003 KEEP(11)
复位
00005
HR0100
HR0100
报警
00300
2.指令集
2.4 联锁和联锁解除指令 IL 和 ILC
2.指令集
2.指令集
IL和ILC之间的程序处理表
指 令 OUT和OUT NOT SET和RESET TIM和TIMH TTIM CNT,CNTR KEEP DIFU和DIFD 其他指令
8
个数字的BCD 码转换到二进制数的例子。
2.指令集
2.12.3二进制数到BCD 码:BCD(024)
把S
中的二进制数转换成BCD 数,并把结果写进R。
BCD
码到二进制数转换的例子。
2.指令集
2.12.4 双字二进制数到双字BCD 码:BCDL(059)
把S
和S+1 中的8 个数字的十六进制(32 进制)数转换为8 个数字的BCD 码, 并把结果写到R 和R+1。
在减量时,PV
从0 减小到SV 时,完成标志变ON, PV 从SV 减小到SV-1 时,完成标志又变回OFF。
2.指令集
2.指令集
2.9 数据移位指令
2.9.1 移位寄存器指令 SFT
当移位输入的执行条件由OFF 变为ON 时, St ~ E 的所有数据左移一位(从 最右边到最左边),并且把数据输入的ON/OFF 状态放在最右边位。
SLD(074)
2.指令集
2.9.6字移位:WSFT(016)
指令以字为单位按St 到E 方向移动数据,源字S 的数据放在St中, E 中的内容将丢失。
WSFT(016)
2.指令集
2.9.7异步移位寄存器指令:ASFT(017)
2.指令集
2.指令集
2.10 数据传送指令
2.10.1 传送指令:MOV(021)
单元指令 串行通信指令 网络指令 文件存储指令 显示指令 时钟指令 调试指令 故障诊断指令 文本字符串处理指令 块指令
2.指令集
2.1 指令格式、数据区域及其标志 指令格式: 助记符(功能代码) 操作数1 操作数2 操作数3
操作数4
助记
助记符:表示指令的功能,表明执行该指令能够实现的操作。 符通常是一些简洁易记的字母或符号。
2.指令集
即使电源中断,计数器PV 仍然保持,如果希望从SV 开始 计数,而不是从保持的PV 恢复计数,增加第一次循环标 志(A20011) 作为计数器的复位输入。
2.指令集
2.8.5 可逆计数器指令 CNTR源自2.指令集在增量时,
PV 从SV 增加返回到0 时,完成标志变ON,一旦 完成标志变为ON, PV 从0 增加到1 时,完成标志又变回OFF。
在下例中当CIO
000000 为ON 时, CIO 0011 和CIO 0010 中的十六进制数转
换 成BCD 码,并存储在D00100 和D00101 中。
2.指令集
2.13 BCD码运算指令
2.13.1 不带进位的BCD 加:+B(404)
4
个数字(单字)有符号十六进制数和/ 或常数相除。
2.指令集
受指令执行影响的标志位(SR区标志位)
缩 写 ER CY GR EQ LE N OF UF
名 称 指令执行出错标志 进位标志 大于标志 等于标志 小于标志 负标志 上溢标志 下溢标志
位 25503 25504 25505 25506 25507 25402 25404 25405
2.指令集
IR,SR,AR,HR, TC,LR IR,SR,AR,HR, TC,LR
2.指令集
2.指令集
2.2.2 逻辑块与(AND LD)和逻辑块或(OR LD) 指令
对于复杂的控制系统,使用大量的编程元件,这些编程元件所在的行相并
联构成逻辑块,逻辑块之间还存在串联关系。 在这种情况下,不能简单地使用OR或者AND来处理,而需要使用AND LD和OR LD 指令才能将梯形图转化为助记符程序。其原因是OR和AND指令用于执行条件与一 位状态逻辑间接,而OR LD和AND LD指令能够逻辑地连接两个执行条件,即当前 执行条件与上一个还未使用的执行条件。
2.指令集
2.3.2 上升沿微分指令和下降沿微分指令DIFU和DIFD
2.指令集
2.指令集
2.3.3 置位和复位指令SET和RESET
2.指令集
2.3.3 置位和复位指令SET和RESET
2.指令集
2.3.4 保持指令 KEEP
2.指令集
2.指令集
应用KEEP指令的梯形图
紧急1
00001
2.指令集
2.10.9传送数字指令:MOVD(083)
传送一个或多个指定的数字。(每个数字由4
位组成)。
2.指令集
2.指令集
2.10.10 多位传送指令:XFRB(062)
传送指定数目的连续位。
2.指令集
2.指令集
2.11 数据比较指令
2.11.1 多字比较指令:MCMP (019) 16 个连续字与另外16 个连续字相比较,并使结果字中相应于两字内容不相等 的位变ON。R 的每一位包含了在16 字设置中两个字比较的结果,R 中的位n(n = 00 ~ 15)包含了字S1 + n 和S2 + n 的比较结果。
2.指令集
顺序输入指令 顺序输出指令 顺序控制指令 定时器和计数器指令 比较指令 数据传送指令 数据移位指令 递增/ 浮点数运算指令 双精度浮点数指令 表格数据处理指令 数据控制指令 基本l/O
递减指令 四则运算指令 转换指令 逻辑指令 特殊算术指令 特殊算术指令 子程序指令 中断控制指令 步指令 任务控制指令
2.指令集
2.指令集
2.12 数据转换指令 2.12.1 BCD 到二进制数:BIN(023)
BIN(023)
把S 中的BCD 码转换成二进制数,并把结果字写进R。
BCD
码到二进制数转换的例子
2.指令集
2.12.2双字BCD 码到双字二进制:BINL(058)
8
个数字的BCD 数到8 个数字的十六进制(32 位二进制)数的转换。
梯形图符号
常开触点与左侧母线相连接 的指令 常闭触点与左侧母线相连接 的指令 常开触点与其他编程元件串 连的指令
AND AND NOT
OR OR NOT

与非 或 或非
常闭触点与其他编程元件串 连的指令
常开触点与其他编程元件并 连的指令 常闭触点与其他编程元件并 连的指令
IR,SR,AR,HR, TC,LR
2.指令集
2.9.2 可逆移位寄存器指令 SFTR
产生一个可向右也可向左移动数据的移位寄存器。
2.指令集
2.9.3 算术左移指令 ASL,算术右移指令 ASR Wd 的内容左移一位。Wd 的内容向右移1 位。
2.指令集
2.9.4 循环左移指令 ROL, 循环右移指令 ROR
循环左移指令:所有Wd
传送数据的一个字到指定字中。在下面例子中,当CIO
000000为ON时,CIO
0100 的内容被拷贝到D00100中。
2.指令集
2.10.2 取反传送指令:MVN(022)
MVN(022)
指令对S 中的位进行取反,并把结果传送到D 中。S 中的内容保持
不变。
2.指令集
2.10.3块设置:BSET(071)
把同一个字拷贝到一个连续字的范围中。
2.指令集
2.10.4块传送:XFER(070)
传送指定数目的连续字。XFER(070)
指令把从S 开始的N 个字(S ~ S + (N– 1)) 拷贝给从D 开始的N个字(D ~ D + (N–1))。
2.指令集
2.10.5 数据交换:XCHG(073)
处 理 指定位变为OFF 位状态保持 复位 PV保持 PC保持 位状态保持 不执行 不执行
2.指令集
2.5 跳转和跳转终了指令 JMP和JME
2.指令集
2.6结束指令 END
2.7 空操作指令 NOP
此指令无任何功能。(NOP(000) 不做任何操作)
2.指令集
2.8 定时器和计数器指令
2.8.1 定时器指令 TIM , 以0.1s为单位
2.指令集
2.11.3 双字比较指令:CMPL(060)
比较两个双字无符号二进制值(常数和/
或指定字的内容),并输出结果到辅
助区的算术标志中。
2.11.4
块比较指令:BCMP (068) 比较源数据和16 个范围(由16 个下限和16 个上限定义),当源数据在范围 内时,结果字中的相应位变ON。
2.指令集
2.指令集
2.8.2 高速定时器指令 TIMH
计量单位为0.01s,使用方法和TIM指令相同。 如果扫描周期大于10ms,必须使用TC000-TC015 编号才能保持计时准 确。
2.指令集
2.8.3 累加定时器指令 TTIM
2.指令集
2.8.4 计数器指令 CNT
复位输入有优先权,如果复位输入 和计数输入同时ON,计数器会复 位。(PV会复位到SV,完成标志 也会变OFF)。
在下面例子中,当CIO
000000 置ON 时,D00100 和D00110 将作为4 个BCD 数字相加,并且结果送到D00120。
2.2
2.2.1
梯形图指令
LD、LD NOT、AND、AND NOT、OR、OR NOT 指令 助 记 符 LD LD NOT 名 称 装载 装载非 指 令 功 能 操作数区域 IR,SR,AR,HR, TC,LR,TR IR,SR,AR,HR, TC,LR IR,SR,AR,HR, TC,LR
交换两个指定字的内容。
2.指令集
2.10.6单字节数据分配指令:DIST(080)
把源字传送到由基地址加偏移量计算得出的目标字中。
2.指令集
2.10.7数据调用指令:COLL(081)
把源字(由基址加偏移量计算得出)传送到目标字中。
2.指令集
2.10.8位传送指令:MOVB(082)
传送指定位。
相关文档
最新文档