




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,2.指令集,顺序输入指令 顺序输出指令 顺序控制指令 定时器和计数器指令 比较指令 数据传送指令 数据移位指令 递增/ 递减指令 四则运算指令 转换指令 逻辑指令 特殊算术指令 特殊算术指令 子程序指令 中断控制指令 步指令 任务控制指令,浮点数运算指令 双精度浮点数指令 表格数据处理指令 数据控制指令 基本l/O 单元指令 串行通信指令 网络指令 文件存储指令 显示指令 时钟指令 调试指令 故障诊断指令 文本字符串处理指令 块指令,2,2.指令集,2.1 指令格式、数据区域及其标志 指令格式: 助记符(功能代码) 操作数1 操作数2 操作数3 操作数4 助记符:表示指令的功能,表明执行该
2、指令能够实现的操作。 助记符通常是一些简洁易记的字母或符号。 功能代码(指令码): 功能代码是指令的代码,用2位十进制数表示。 操作数:操作数指定或提供指令执行的数据。有些指令不带操作数,有的指令带1个操作数,有的则带2个、3个或4个操作数。,3,2.指令集,数据区域及其标志 一般情况下,指令的操作数就是指令的数据区域,因此,IR区域、SR区域、HR区域、AR区域、LR区域、TC区域及DM区域中的字可以是操作数的字,字的位可以是操作数的位,简称操作数位。但是在指定的数据区域内,并非所有的地址都允许用于操作数。 通常用继电器区域的缩写及字、位的地址作为指令的操作数,但I/O继电器没有缩写符。为避
3、免与常数混淆,当用常数作为指令的操作数时,应在常数前面加上“#”号。 有些指令执行后会影响标志位,有些指令执行后不影响标志位。 SR区域包括标志位和控制位,用来监视PLC操作,存取时钟脉冲及显示错误信息。受指令执行影响的标志位如下表,4,2.指令集,受指令执行影响的标志位(SR区标志位),5,2.指令集,2.2 梯形图指令 2.2.1 LD、LD NOT、AND、AND NOT、OR、OR NOT 指令,6,2.指令集,7,2.指令集,2.2.2 逻辑块与(AND LD)和逻辑块或(OR LD) 指令 对于复杂的控制系统,使用大量的编程元件,这些编程元件所在的行相并联构成逻辑块,逻辑块之间还存
4、在串联关系。 在这种情况下,不能简单地使用OR或者AND来处理,而需要使用AND LD和OR LD指令才能将梯形图转化为助记符程序。其原因是OR和AND指令用于执行条件与一位状态逻辑间接,而OR LD和AND LD指令能够逻辑地连接两个执行条件,即当前执行条件与上一个还未使用的执行条件。,8,2.指令集,2.3 位(bit)控制指令 2.3.1 输出(OUT)指令和输出非(OUT NOT)指令,9,2.指令集,2.3.2 上升沿微分指令和下降沿微分指令DIFU和DIFD,10,2.指令集,11,2.指令集,2.3.3 置位和复位指令SET和RESET,12,2.指令集,2.3.3 置位和复位指
5、令SET和RESET,13,2.指令集,2.3.4 保持指令 KEEP,14,2.指令集,15,2.指令集,应用KEEP指令的梯形图,16,2.指令集,2.4 联锁和联锁解除指令 IL 和 ILC,17,2.指令集,18,2.指令集,IL和ILC之间的程序处理表,19,2.指令集,2.5 跳转和跳转终了指令 JMP和JME,20,2.指令集,2.6结束指令 END,2.7 空操作指令 NOP 此指令无任何功能。(NOP(000) 不做任何操作),21,2.指令集,2.8 定时器和计数器指令 2.8.1 定时器指令 TIM , 以0.1s为单位,22,2.指令集,23,2.指令集,2.8.2 高
6、速定时器指令 TIMH,计量单位为0.01s,使用方法和TIM指令相同。 如果扫描周期大于10ms,必须使用TC000-TC015 编号才能保持计时准确。,24,2.指令集,2.8.3 累加定时器指令 TTIM,25,2.指令集,2.8.4 计数器指令 CNT,复位输入有优先权,如果复位输入和计数输入同时ON,计数器会复位。(PV会复位到SV,完成标志也会变OFF)。,26,2.指令集,即使电源中断,计数器PV 仍然保持,如果希望从SV 开始计数,而不是从保持的PV 恢复计数,增加第一次循环标志(A20011) 作为计数器的复位输入。,27,2.指令集,2.8.5 可逆计数器指令 CNTR,2
7、8,2.指令集,在增量时, PV 从SV 增加返回到0 时,完成标志变ON,一旦完成标志变为ON, PV 从0 增加到1 时,完成标志又变回OFF。,在减量时,PV 从0 减小到SV 时,完成标志变ON, PV 从SV 减小到SV-1 时,完成标志又变回OFF。,29,2.指令集,30,2.指令集,2.9 数据移位指令 2.9.1 移位寄存器指令 SFT 当移位输入的执行条件由OFF 变为ON 时, St E 的所有数据左移一位(从最右边到最左边),并且把数据输入的ON/OFF 状态放在最右边位。,31,2.指令集,2.9.2 可逆移位寄存器指令 SFTR 产生一个可向右也可向左移动数据的移位
8、寄存器。,32,2.指令集,2.9.3 算术左移指令 ASL,算术右移指令 ASR Wd 的内容左移一位。Wd 的内容向右移1 位。,33,2.指令集,2.9.4 循环左移指令 ROL, 循环右移指令 ROR 循环左移指令:所有Wd 的位包括进位标志(CY) 向左移1 位。 循环右移指令:所有Wd 的位,包括进位标志(CY),向右移动1 位。,34,2.指令集,2.9.5 数(4bits)左移SLD,数(4bits)右移SRD SLD(074) 把S 和E 之间的数据向左移一个数字(4 位)为单位移动。“0”被放置到最右边的数字(S 的位3 位0),最左位数字(E 的位15 位12)内容丢失。
9、 SRD(075) 把St 和E 之间的数据向右移动一个数字(4 位),“0”被放到最左的数字(E 的位15 12),并且最右的数字(St 的位3 0)内容丢失。,35,2.指令集,2.9.6字移位:WSFT(016) WSFT(016) 指令以字为单位按St 到E 方向移动数据,源字S 的数据放在St中, E 中的内容将丢失。,36,2.指令集,2.9.7异步移位寄存器指令:ASFT(017),37,2.指令集,38,2.指令集,2.10 数据传送指令 2.10.1 传送指令:MOV(021) 传送数据的一个字到指定字中。在下面例子中,当CIO 000000为ON时,CIO 0100 的内容
10、被拷贝到D00100中。,39,2.指令集,2.10.2 取反传送指令:MVN(022) MVN(022) 指令对S 中的位进行取反,并把结果传送到D 中。S 中的内容保持不变。,40,2.指令集,2.10.3块设置:BSET(071) 把同一个字拷贝到一个连续字的范围中。,41,2.指令集,2.10.4块传送:XFER(070) 传送指定数目的连续字。XFER(070) 指令把从S 开始的N 个字(S S (N1) 拷贝给从D 开始的N个字(D D (N1)。,42,2.指令集,2.10.5 数据交换:XCHG(073) 交换两个指定字的内容。,43,2.指令集,2.10.6单字节数据分配指
11、令:DIST(080) 把源字传送到由基地址加偏移量计算得出的目标字中。,44,2.指令集,2.10.7数据调用指令:COLL(081) 把源字(由基址加偏移量计算得出)传送到目标字中。,45,2.指令集,2.10.8位传送指令:MOVB(082) 传送指定位。,46,2.指令集,2.10.9传送数字指令:MOVD(083) 传送一个或多个指定的数字。(每个数字由4 位组成)。,47,2.指令集,48,2.指令集,2.10.10 多位传送指令:XFRB(062) 传送指定数目的连续位。,49,2.指令集,50,2.指令集,2.11 数据比较指令 2.11.1 多字比较指令:MCMP (019)
12、 16 个连续字与另外16 个连续字相比较,并使结果字中相应于两字内容不相等 的位变ON。R 的每一位包含了在16 字设置中两个字比较的结果,R 中的位n(n 00 15)包含了字S1 n 和S2 n 的比较结果。,51,2.指令集,52,2.指令集,2.11.2 比较:CMP(020) 比较两个无符号二进制值(常数和/ 或指定字的内容),并输出结果到辅助区 的算术标志中。,53,2.指令集,当执行CMP(020) 指令,其结果反映在算术标志中。用与控制CMP(020) 指令 相同的输入条件分支来控制所希望的输出或右侧指令,如下图所示。在这种情 况下,当S1 S2,等于标志和输出A 将变ON。
13、 不要在CMP(020) 指令和算术标志控制指令之间编写其它指令,因为其它指令 可能会改变算术标志的状态。在这种情况下,指令B 的结果可能会改变指令 CMP(020) 的结果。,54,2.指令集,2.11.3 双字比较指令:CMPL(060) 比较两个双字无符号二进制值(常数和/ 或指定字的内容),并输出结果到辅 助区的算术标志中。,2.11.4 块比较指令:BCMP (068) 比较源数据和16 个范围(由16 个下限和16 个上限定义),当源数据在范围 内时,结果字中的相应位变ON。,55,2.指令集,56,2.指令集,2.12 数据转换指令 2.12.1 BCD 到二进制数:BIN(02
14、3) BIN(023) 把S 中的BCD 码转换成二进制数,并把结果字写进R。 BCD 码到二进制数转换的例子,57,2.指令集,2.12.2双字BCD 码到双字二进制:BINL(058) 8 个数字的BCD 数到8 个数字的十六进制(32 位二进制)数的转换。 8 个数字的BCD 码转换到二进制数的例子。,58,2.指令集,2.12.3二进制数到BCD 码:BCD(024) 把S 中的二进制数转换成BCD 数,并把结果写进R。 BCD 码到二进制数转换的例子。,59,2.指令集,2.12.4 双字二进制数到双字BCD 码:BCDL(059) 把S 和S+1 中的8 个数字的十六进制(32 进
15、制)数转换为8 个数字的BCD 码,并把结果写到R 和R+1。 在下例中当CIO 000000 为ON 时, CIO 0011 和CIO 0010 中的十六进制数转换 成BCD 码,并存储在D00100 和D00101 中。,60,2.指令集,2.13 BCD码运算指令 2.13.1 不带进位的BCD 加:+B(404) 4 个数字(单字)有符号十六进制数和/ 或常数相除。 在下面例子中,当CIO 000000 置ON 时,D00100 和D00110 将作为4 个BCD 数字相加,并且结果送到D00120。,61,2.指令集,2.13.2不带进位的双字BCD 加:+BL(405) 8 个数字
16、(单字) BCD 数据和/ 或常数相加。,2.13.3带进位的BCD 加:+BC(406) 4 个数字(单字) BCD 码数据和/ 或常数及进位标志相加。,62,2.指令集,2.13.4带进位的双字BCD 加:+BCL(407) 8 个数字(双字) BCD 数据和/ 或常数及进位标志(CY) 相加。,2.13.5 不带进位的BCD 减:-B(414) 4 位(单字) BCD 和/ 或常数相减。,63,2.指令集,2.13.6不带进位的双字BCD 减:-BL(415) 8 位(双字) BCD 数和/ 或常数相减。,2.13.7 带进位的BCD 减:-BC(416) 4 位(单字) BCD 数与/
17、 或常数及进位标志(CY) 相减。,64,2.指令集,2.13.8 带进位的双字BCD 减:-BCL(417) 8 个数字(双字) BCD 数据和/ 或常数及进位标志(CY) 相减。,2.13.9 BCD 乘法:*B(424) 4 个数字(单字) BCD 数据和/ 或常数相乘。把Md 和Mr 中的BCD 内容相乘,并把结果输出给R。,65,2.指令集,2.13.11 BCD 除:/B(434) 4 个数字(单字) BCD 码和/ 或常数相除。将Dd 的BCD 内容除以Dr 的内容,并输出商到R,余数到R+1。,2.13.10 双字BCD 乘:*BL(425) 8 个数字(双字) BCD 数据和
18、/ 或常数相乘。 把Md 和Md+1 与Mr 和Mr+1 中的BCD 数相乘, 并把结果送给R,R+1,R+2 和R+3。,66,2.指令集,2.13.12 双字BCD 除:/BL(435) 8 个数字(双字) BCD 码和/ 或常数相除。把Dd 和Dd+1 中的BCD 码除以Dr 和Dr+1 中的数,并把商输出给R和R+1,余数输出给R+2 和R+3。,67,2.指令集,2.14 二进制运算指令 2.14.1 不带进位的有符号二进制加:+(400) 4 个数字(单字)十六进制数据和/ 或常数相加。,2.14.2 不带进位的有符号双字二进制加:+L(401) 8 个数字(双字)十六进制数据和/
19、 或常数相加。把Au 和Au+1,Ad 和Ad+1 中的二进制值相加,并且把结果送给R。,68,2.指令集,2.14.3 带进位的有符号二进制加:+C(402) 4 个数字(单字)十六进制数据和/ 或常数相加。把Au, Ad 和CY 中的二进制数相加,并且把结果送给R。,2.14.4 带进位的有符号双字二进制加:+CL(403) 把Au 和Au+1, Ad 和Ad +1 及CY 中的二进制数相加,并且把结果送给R。,69,2.指令集,2.14.5 不带进位的有符号二进制减:-(410) 4 个数字(单字)十六进制数据和/ 或常数相减。从Mi 中减去Su 中的二进制数,并且把结果送给R。结果为负
20、时,将2的补码送给R。,2.14.6 不带进位的有符号双字二进制减:-L(411) 8 个数字(双字)十六进制数据和/ 或常数相减,把Mi和Mi+1中减去Su和Su+1中的二进制数并且把结果送给R,R+1。当结果为负数时,结果作为2 的补码送给R 和R+1。,70,2.指令集,2.14.7 带进位的有符号二进制减:-C(412) 4 个数字(单字)十六进制数据和/ 或常数及进位标志(CY) 相减。从Mi 中减去Su 中的二进制数和CY,并且把结果送给R。结果为负时,将2 的补码送给R。,2.14.8 带进位的有符号双字二进制减:-CL(413) 8 个数字(双字)十六进制数据和/ 或常数相减及
21、进位标志(CY)。把Mi 和Mi+1 中减去Su 和Su+1 中的二进制数及CY,并且把结果送给R, R+1。当结果为负数时,结果作为2 的补码送给R 和R+1。,71,2.指令集,2.14.9 有符号二进制乘:*(420) 4 位有符号十六进制数和/ 或常数的乘法。把Md 和Mr 中有符号二进制数相乘,并把结果输出给R,R+1。,2.14.10 有符号双字二进制乘:*L(421) 8 个数字有符号十六进制数和/ 或常数的相乘。把Md 和Md+1 与Mr 和Mr+1 中的符号二进制数相乘,并把结果输出到R,R+1,R+2 和R+3。,72,2.指令集,2.14.11无符号二进制乘:*U(422
22、) 4 个数字无符号十六进制数和/ 或常数的相乘。把Md 和Mr 中的二进制数相乘并把结果输出到R,R+1。,2.14.12 无符号双字二进制乘:*UL(423) 把8 个数字无符号十六进制数和/ 或常数相乘。把Md 和Md+1 与Mr 和Mr+1 种的无符号二进制数相乘并把结果送给R,R+1,R+2 和R+3。,73,2.指令集,2.14.13有符号二进制除:/(430) 4 个数字(单字)有符号十六进制数和/ 或常数相除。把Dd 中的有符号二进制数(16 位)除以Dr 中的数,并把结果输出到R,R+1。商放在R 中,余数放在R+1 中。,2.14.14有符号双字二进制除:/L(431) 8
23、 个数字(双字)有符号十六进制数和/ 或常数相除。把Dd 和Dd+1 中的有符号二进制数除以Dr 和Dr+1 中的数,并把结果输出到R,R+1, R+2 和R+3,商输出给R 和R+1,余数输出给R+2 和R+3。,74,2.指令集,2.14.15 无符号二进制除:/U(432) 4 个数字(单字)无符号十六进制数和/ 或常数相除。把Dd中无符号二进制数除以Dr 中的数,并把商送到R, 余数送到R+1。,2.14.16 无符号双字二进制除:/UL(433) 8 个数字(双字)无符号十六进制和/ 或常数相除。把Dd 和Dd+1 中的无符号二进制数除以Dr 和Dr+1 中的数,并把商送到R,R+1
24、, 余数送到R+2 和R+3。,75,2.指令集,2.15 逻辑指令 2.15.1 求反指令 COM (29) 把Wd 中所有置ON 的位置为OFF,所有置OFF 的位置为ON。 在下例中,当CIO 000000 为ON,则D00100 的每个位的状态将取反。,76,2.指令集,2.15.2逻辑与:ANDW(034) 将一个字的数据和/ 或常数相应位进行逻辑与。,2.15.3逻辑或:ORW(035) 将一个字的数据和/ 或常数的相应位进行逻辑或。,77,2.指令集,2.15.4异或指令:XORW(036) 将一个字的数据和/ 或常数相应位进行逻辑异或。当I1和I2的相应位的内容不同时,1将输出
25、到R的相应位,当相同时,0将输出到R 中的相应位。(作为比较器用),2.15.5 异或非指令:XNRW(037) 将一个字的数据和/ 或常数的相应位进行逻辑异或非。当I1和I2的相应位的内容不同时,0将输出到R的相应位,当它们同时,1将输出到R 的相应位。,78,2.指令集,2.16 子程序指令 2.16.1子程序调用:SBS(091) 调用指定编号的子程序并执行该程序。,2.16.2 子程序入口:SBN(092) 用指定子程序编号来指示子程序的开始。与RET(093) 一起使用,定义一个子程序的范围。,2.16.3 子程序返回:RET(093) 表示一个子程序的结束。与SBN(092) 一起使用定义一个子程序区,79,2.指令集,80,2.指令集,2.16.4 子程序可被嵌套到16 层。嵌套是在一个子程序内有另一个子程序被调用,如下图所示,子程序被嵌套到2 层。,81,2.指令集,2.16.5 宏指令:MCRO(099) 调用指定子程序号的子程序,并用S S+3 中的输入参数和D D+3 中的输 出参数执行程序。 宏指令允许单个子程序来取代数个子程序,这数个子程序需具有相同的结构,但操作数不同.当指令执行条件为ON时,该指令将S S+3 的内容复制到A600 A603 (宏区输入),并执行指定子程序。当子程序执行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冰糖葫芦课件
- 2025届辽宁省阜新市阜蒙县育才高级中学物理高二下期末经典模拟试题含解析
- 冬季流行性疾病防治
- 冬奥知识图文课件
- 客房清洁说课课件
- 二零二五年度办公楼绿色环保装修工程合同
- 二零二五年保密技术研发与应用合同
- 2025版运动场馆彩绘墙体素材采购合同
- 二零二五版场项目投标失利后风险管控优化合同
- 2025版FIDIC标准电力设施土建施工合同
- 《硝苯地平类药物》课件
- 破碎安全培训
- 《C语言入门基础》课件
- 2025年国家人民卫生出版社有限公司招聘笔试参考题库含答案解析
- 《销售技能提升培训》课件
- 护士职业素养培训课件
- 小升初英语阅读理解专项训练100题含答案5篇
- 护理不良事件报告制度、激励机制及上报流程
- 北师大版4四年级下册数学期末复习试卷(5套)
- T-CEEMA 0203-2024 风力发电机组状态检修导则
- 《设备基础知识培训》课件
评论
0/150
提交评论