价格:111起
上海地友自动化设备有限公司
联系人:方祖付
电话:18721545542
地址:上海市松江区新浜镇方家哈社区林天花苑北区80号402
西门子模块6ES7331-1KF02-0AB0参数详细西门子模块6ES7331-1KF02-0AB0参数详细西门子模块6ES7331-1KF02-0AB0参数详细
常数或常量的寻址方式,其特点是操作数值直接表示在指令中,出现在指令中的操作数称为立即数。有些指令的操作数是的,为简化起见,并不在指令中写出。
立即寻址方式可用来提供常数、设置初值等。常数值可分为字节、字、双字型等数据。CPU以二进制方式存储所有常数。在指令中可用十进制、十六进制、ASCII码或浮点数形式来表示操作数。
立即寻址示例:
SET 说明:把RLO置1
OW W#16#320 将常量W#16#320与ACCU1“或”运算
L 1352 把整数1352装入ACCU1
L‘ABCD’ 把ASCII码字符ABCD装入ACCU1
L C#100 把BCD码常数100(计数值)装入ACCU1
AW W#16#3A12 常数W316#3 A12与ACCU1的低位相“与”,运算结果在ACCU1的低字中。
存储器直接寻址包括对寄存器和存储器的直接寻址。在直接寻址的指令中,直接给出操作数的存储单元地址,包括寄存器或存储器的区域、长度和位置,根据这个地址就可以立即找到该数据。例如,用MW200位存储区中的字,地址为200;MB100表示以字节方式存取,MW100表示存取MB100、MB101组成的字,MD100表示存取MB100~ MB103组成的双字。在指令中,数据类型应与指令标识符相匹配。
直接寻址编程示例:
A IO.0 说明:对输入位10.0进行“与”逻辑操作
S L20.0 把本地数据位I20.0置“l”
= M115.4 使存储区位M115.4的内容等于RLO的内容
L IB10 把输入字节IB10的内容装入ACCU1
T DBD12 把ACCU1中的内容传送给数据双字DBD12中。
存储器间接寻址简称间接寻址。该寻址方式在指令中以存储器的形式给出操作数所在存储器单元的地址,也就是说该存储器的内容是操作数所在存储器单元的地址。该存储器一般称为地址指针,在指令中需写在方括号“[]”内。地址指针可以是字或双字。对于地址范围小于65 535(即16位二进制数所表示的大值)的存储器(如T、C、DB、FB、FC等)可以用字指针,其指针格式如图所示。对于其他存储器(如I、Q、M等)则要使用双字指针。如果要用双字指针访问字节、字或双字存储器,指针的位编号为0,只有双字MD、LD、DBD和DID能作双字地址指针,存储器间接寻址的双字指针的格式如图所示,位0~2(XXX)为被寻址位的位编号(范围0~7),位3—l8为被寻址字节的字节编号(范围0~65 535)。
图 存储器间接寻址的字指针格式
图 存储器间接寻址的双字指针格式
存储器间接寻址的单字格式的指针寻址示例:
L2 说明:将数字2#0000_0000_0000_0010装入累加器1
T MW50 将累加器l低字中的内容传给MW50作为指针值
OPN DB35 打开共享数据块DB35
L DBW[MW50] 将共享数据块DBW2的内容装入累加器1
存储器间接寻址的双字格式的指针寻址示例:
上面程序中Q[MD2]中的MD2称为地址指针,其里面的数值代表地址。
使用存储器间接寻址,该存储器的值是操作数的地址,因此改变了存储器的值就相当于改变了操作数的地址,在循环程序中经常使用存储器间接寻址。
寄存器间接寻址简称寄存器寻址。在S7中有两个地址寄存器,分别是AR1和AR2。通过地址寄存器,可以对各存储区的存储器内容实现寄存器间接寻址。地址寄存器的内容加上偏移量形成地址指针,该指针指向数值所在的存储单元。地址寄存器及偏移量写在方括号“[]”内。寄存器间接寻址的语句不改变地址寄存器中的数值。用寄存器指针访问一个字节、字或双字时,地址指针中位地址编号为0。
通过这样的方式可以有效地实现远程监控、减少电缆的数量,提高了系统的自动化水平及运行的性。本文介绍如何使用USS协议以及使用UISS协议要注意的问题。
2、使用USS协议的要求
(1)初始化USS协议将作USS通讯;
(2)USS指令影响所有的与PORT0自由口通讯相关的SM区;
(3)USS指令使用14个子程序和3个中断程序;
(4)USS指令使得用户程序对存储空间的需求多可增加3 450 B;
(5)USS指令的变量需要400 B的V存储区。该区域的起始地址由用户并保留给USS变量;