在《S7-200可编程序控制器系统手册》(2008年8月版,订货号6ES7 298-8FA24-8FH0)的49页中有关间接寻址的示例(下载地址:http://www.ad.siemens.com.cn/download/docMessage.aspx?ID=1822&loginID=&srno=&sendtime=),觉得有三处疑问,还望高手指教!
第一、最左边的一列数据V199~V203,个人认为应该是VB199~VB203,因V199的表示本身就不符合西门子的字节.位的表示法。
第二、在第二列,第三列的“12”、“34”、“56”、“78”的数字的处理运算,不知西门子的手册的编者在这里仅仅是作为示意,还是实际的运算结果,如果是作为示意用的,还好理解,没有问题;但要是实际的运算结果,本人觉得有误,以第一段程序的寻址为例
(MOVD &VW200, AC1
MOVW *AC1, AC0
将VB200的地址(VW200的起始地址)作为指针
存入AC1中。
将AC1所指向的字(VW200)中的值送入AC0)
VB200存放的值为12(即2#1100);VB201存放的值为34(即2#100010),当将AC1所指向的字(VW200)中的值送入AC0时,此时AC0的值应为3106(即2#110000100010),因为根据西门子高位低字节的原则,VW200由VB200和VB201组成,其中VB200在高位,即占据8-15位,VB201在低字节,即占据0-7位,组合后的新值应为2#110000100010,即十进制3106,而例子中给出的是1234,转换为二进制为10011010010,显然不符合VB200和VB201组合的规律!
第三、在最右边一列的程序,有一段“MOVD &VW200, AC1”本人觉得其中的“&VW200”应该改为“&VB200”。
以上仅是本人的个人见解,本人水平有限,还请高手给予指点,谢谢!