发布于 2012-06-24 23:33:56
4楼
大概计算机都差不多:
1、VB0,本身是变量的一个符号,但它关联着两个东西:一是变量的地址,另一个是这个地址里存的值。
当你直接用VB0时,实际上是操作VB0中存的值,而地址(VB0)采用直接给出的方式,写在了指令中,程序运行时不再变化。
2、在S7200,表示一个变量的地址(比如VB0)是一个32位的数, 可以直接把这个数当作一个值来操作,比如movd &vb0,VD84,就是把这个VB0的地址存进VD84中,仅此而异,延伸的意义你自已去想象。
3、对VD84里面值的操作,比如加减,仅仅是一个数值操作。至于目的和意义,编程者明白,PLC并不清楚,不能指望PLC明白在做地址的增减。
4、把VD84当作指针,是体现在*VD84这个寻址方法上,意思为要操作的对象(值)是存放在以VD84中的值为地址的那个单元中,VD84中是否存在有效的地址(代表变量地址的一个数),由编程者保证,要指向合法的地址址范围,不能指向天宫X号,那样的话就出错了。