西门子200SMART寻址方式详解
西门子S7-200smart支持的寻址方式如下图所示。
一、符号寻址:首先要给存储器根据功能定义符号,后期需要访问该存储器时可以根据符号去找到这一地址。PLC中所有的存储区都支持这一寻址方式。
二、寻址:分为直接寻址和间接寻址。
直接寻址:可以按位,字节,字,双字去寻址。I、Q、V、M、S、SM、L区四种寻址方式都支持,除上述区域外其余区域只能按特定的方式寻址,如模拟量输入和输出存储区AI和AQ必须以16位字类型寻址,如AIW16,AQW32等;定时器T和计数器C只支持位或字寻址;高速计数器的当前值只能读不能写,是一个32位的有符号数;累加器AC0,AC1,AC2,AC3可以按字节,字,双字寻址,会自动根据所用指令调整存储区的大小。直接寻址首先要指定需要寻的是哪个区,然后指定寻址方式,再指定编号,比如I0.0,MB0,VW0,VD4。在存储数据是要注意地址不能重叠。
间接寻址:主要用在需要批量访问连续地址里面的值。能间接寻址的区域只有I、Q、V、M、S、T、C。用间接寻址存取数据时要遵循步建立指针,第二步使用指针来存取数据(间接存取)和第三步修改指针的步骤。
1、建立指针:指针为双字长,是所要访问存储单元的32位物理地址。用双字传送指令MOV_D,&VB0指的是VB0的物理地址,而不是数据本身。指针只要建立一次。
2、间接存取:使用指针可存取字节,字,双字型的数据,下面三条指令是分别以字节,字,双字间接存取数据。
3、修改指针:处理连续地址存储单元中的数据时,通过修改指针可以非常方便的存取数据。在SMART中,指针的内容不会自动改变,可用自增或自减等指令修改指针值,从而连续存取存储单元中的数据。指针中的内容为双字型数据,应使用双字指令来修改指针值。
如按字节存取数据,则指针偏移1位;如按字存取,则指针偏移2位;如按双字存取,则指针偏移4位。