plc数据传送指令用法(PLC的传送指令最全解析)
plc数据传送指令用法(PLC的传送指令最全解析)位寻址格式为:Ax.y,使用时必须指定元件名称、字节地址和位号。(1)位寻址格式下面我们以西门子S7-200PLC介绍一下PLC的传送2.CPU存储器的寻址方式有直接寻址和间接寻址两种形式。在此仅简单介绍一下直接寻址方式。直接指出元件名称的寻址方式称作直接寻址。直接寻址又有位寻址、特殊器件寻址和字节寻址。
在上个世纪 60 年代末,诞生了一种新型的控制设备——可编程序控制器(英文名称Programmable Logic Controller 简称 PLC)。PLC 的出现,在设备控制领域掀起一场革命,世界上许多知名的公司纷纷推出 PLC 产品,如三菱、欧姆龙、西门子、施耐德等,其性能不断提高、功能也不断完善和强大、价格不断下降,应用领域不断扩大,如自动化生产线、数控机床、电梯等。现在 PLC 已与CAD/CAM、机器人技术并成为现代制造业三大支柱。
PLC具有很强的适应性,是专为工业现场应用而设计的控制器,它采用了典型的计算机结构,由硬件和软件两大系统组成。
虽然目前市场上 PLC 种类繁多,但其结构和工作原理基本相同。
PLC 硬件系统主要由 CPU、输入/输出接口电路、存储器、电源等组成 。
下面我们以西门子S7-200PLC介绍一下PLC的传送
2.CPU存储器的寻址方式有直接寻址和间接寻址两种形式。在此仅简单介绍一下直接寻址方式。
直接指出元件名称的寻址方式称作直接寻址。直接寻址又有位寻址、特殊器件寻址和字节寻址。
(1)位寻址格式
位寻址格式为:Ax.y,使用时必须指定元件名称、字节地址和位号。
进行这种位寻址的编程元件有:输入映像寄存器(I)、输出映像寄存器(Q)、位存储器(M)、特殊存储器(SM)、局部变量存储器(L)、变量存储器(V)和顺序控制继电器(S)。
(2)特殊器件的寻址格式
存储区内有些元件是具有一定功能的器件,编程时不用指出它们的字节地址,而是直接写出其编号。如定时器(T)、计数器(C)、高速计数器(HC)和累加器(AC)。
(3)字节、字、双字的寻址格式
对字节、字和双字数据,直接寻址时需指明元件名称、数据类型和存储区域内的首字节地址。
可以进行这种方式寻址的编程元件有:输入映像寄存器(I)、输出映像寄存器(Q)、位存储器(M)、特殊存储器(SM)、局部变量存储器(L)、变量存储器(V)、顺序控制继电器(S)、模拟量输入映象寄存器(AQ)和模拟量输出映象寄存器(AQ)。
了解了寄存器的寻址方式之后会方便对传送指令的理解,先大体概括一下所有的传送指令,在这里主要分为两类,一类是单一传送,另一类是块传送
1. 单一传送
(1)MOVB,字节传送指令
(2)BIR,传送字节立即读指令
(3)BIW,传送字节立即写指令
(4)MOVW,字传送指令
(5)MOVD,双字传送指令
(6)MOVR,实数传送指令
2. 块传送
(1)BMB,字节块传送指令
(2)BMW,字块传送指令
(3)BMD,双字块传送指令
单一传送指令,字节传送(MOVB)、字传送(MOVW)、双字传送(MOVD)和实数
传送指令在不改变原值的情况下将IN中的值传送到OUT。使用双字传送指令可以创建一个指针。
要注意的是输入和输出的数据类型可以不同,但数据长度必须相同。
使ENO=0的错误条件:
0006 (间接寻址)
间接寻址是指用指针来访问存储区数据,在一条指令中,如果操作码后面的操作数是以操作数所在地址的地址形式出现的,这种指令的寻址方式就叫间接寻址。
0006间接寻址错误:就是这个指令的操作数不能是指针类型。也就是说,当传输出错时,出错码为0006.
0006 (间接寻址) 整数转为字节指令的操作 整数转字节指令(ITB)将一个字的值IN转换成一个字节值,并且 存入OUT指定的变量中。只有0到255中的值被转换。所有其他 值会产生溢出并且输出不会改变。
使ENO=0的错误条件: SM1.1 (溢出)
0006 (间接寻址) 受影响的SM标志位: SM1.1 (溢出) 提示
如果想将一个整数转换成实数,先用整数转双整数指令,再用双整数转实数指令。
传送指令的有效操作数:
字节立即传送(读和写):
字节立即传送指令允许您在物理I/O和存储器之间立即传送一个字节数据。
字节立即读(BIR)
指令读物理输入(IN),并将结果存入内存地址(OUT),但过程映像寄存器并不刷新。
字节立即写指令(BIW)
从内存地址(IN)中读取数据,写入物理输出(OUT),同时刷新相应的过程映像区。
使ENO=0的错误条件
0006 (间接寻址)
不能访问扩展模块
字节立即读指令的有效操作数:
字节立即写指令的有效操作数:
块传送指令
字节、字、双字的块传送字节块传送(BMB)、字块传送(BMW)和双字块传送(BMD)指令传送指定数量的数据到一个新的存储区,数据的起始地址IN,数据长度为N个字节、字或者双字,新块的起始地址为OUT。N的范围从1到255。
使ENO=0的错误条件:
0006 (间接寻址)
0091 (操作数超出范围)
可能理解起来不是很明白,那么看下面这个例子
//将数组1(VB20到VB23)传送至数组2(VB100到VB103)
这些就是对传送指令的整理与汇总,有不足的地方欢迎评论指出,也欢迎大家点赞关注。