如何正确使用S7 |
您所在的位置:网站首页 › plc200怎么变址存数据 › 如何正确使用S7 |
一、导读 1.间接寻址的概念 对S7-200SMART PLC来说,寻址分为直接寻址、间接寻址和立即寻址三种。直接寻址就是直接对数据进行赋值;间接寻址主要用于需要在程序中修改地址的场合,特别是处理数据内容比较多的情况,使用间接寻址编程灵活,节省程序空间。立即寻址是指常数寻址,如读取I0.0、VW0的状态是不确定的,而读取一个常数,如10这样 的一个常量,是能直接找到它的具体值。 1)直接寻址举例: MW10 VW20 VD300 I0.0 Q0.5 VB30 … 2)间接寻址使用指针访问存储器中的数据。(指针指到哪里就是哪里的地址)指针是包含另一个存储单元地址的双字存储单元。 二、使用间接寻址 使用间接寻址的方式存取数据主要分为以下三个步骤来实现: 1.建立指针 使用间接寻址之前,应创建一个指针。指针以双字的形式存储要访问的存储器的地址,只能用V存储器、L存储器或者累加器AC作为指针。建立指针时,用双字传送指令MOV D将需要间接寻址的存储器起始地址送到指针中,如图1所示。指针的输入数应该以“&”符号开头来表明存储区的地址,注意不是其内容将移动到指令的输出操作数中。 图1:建立指针VD10就是指针(存放需要间接寻址的存储器起始地址VB100) 2.指针偏移 通过加减乘除使指针偏移,比如将VD10加上2,则此时VD100指向VB102;如图2所示。 图2:偏移(引用)指针VD10的指针+2之后则是VD12,实际指向的就是VB102 3.引用指针 操作数前加“*”号,表示指令中的操作数是一个指针。 将指针指向的地址存储的数据调取出来;通过*VD100提取数据(*是取值符),见上图,就是把VB102的值传送给VB1000 *(取值符)说明 “*+指针”使用在字节的位置,访问的是指针指向地址开始的字节变量; “*+指针”使用在字的位置,访问的是指针指向地址开始的字变量; “*+指针”使用在双字的位置,访问的是指针指向地址开始的双字变量(也含有浮点数) 三、间接寻址的应用案例 通过FORNEXT指令完成把1-100依次放入VW100-VW298之中(100个字),示例参考程序如图3所示。 四、结语 通过讲解间接寻址的步骤再结合示例的分享,相信大家已经掌握了其基本的使用。下面为大家分享关于间接寻址几点需要注意的: (1)间接寻址使用指针访问存储器中的数据。指针还可以作为参数传递至子程序。 (2)0指针是包含另一个存储单元地址的双字存储单元。只能将V区、L区或累加器寄存器(AC1、AC2、AC3)用作指针。 (3)要创建指针,必须使用“MOV_DW”指令,将间接寻址的存储单元地址(&+VBx)移至指针位置。 (4)允许间接寻址访问的存储区:l、Q、V、M、S、Al、AQ、SM、T和C(其中T、C仅限当前值)。 (5)间接寻址访问最小单位为字节,不能访问单个位或访问HC、L或累加器寄存器。 (6)指针使用必定经过建立指针、偏移指针、引用指针三步; (7)偏移指针时根据访问数据的不同,指针值偏移也有区别。 (8)引用指针时可分别访问字节、字、双字、浮点数。 来源:技成培训网,作者:眭相建,未经授权不得转载! 粉丝福利 微信扫码领西门子全系列PLC电子资料包 微信扫码,免费领 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |