您现在所在的是:

西门子SIEMENS

回帖:2个,阅读:1041 [上一页] [1] [下一页]
988
mufan007
文章数:7
年度积分:50
历史总积分:988
注册时间:2007/11/6
发站内信
发表于:2011/9/20 13:35:07
#0楼
LAR1  P##ANY_1                    //Address helpvariable

     L     W#16#1002                   //Typ = Byte ;02 is means Byte
     T     LW [AR1,P#0.0]              //为什么是1002 而不直接2哪? 根据ANY指针格式,第一个字的低位表示数据类型,高位表示该类型的保留字同意为10H   此处为2个字节

     L     2                           //length Data   重复因子 重复因数表明通过参数类型ANY传递的数据类型的大小
     T     LW [AR1,P#2.0]

     L     #Stat_DB                    //No DBs
     T     LW [AR1,P#4.0]

     L     DBW   10                    //Address SEND
     SLW   3                           //为什么左移3位 因为当变为指针寻址时 指针寄存器的存储位意义改变 后三位变为位
     L     P#DBX 0.0                   //DBX Vorbelegen      OD                                //此处为什么做个或运算
     T     LD [AR1,P#6.0]              //指定存储区域   表示由dbx10.0开始存储



该程序 为ANY数据类型定义,不明白红色标记部分  忘大侠指导,因收集的ANY 资料太少,现在正处于迷茫期  
哪位大侠给点 ANY的 资料 chuxianfa@163.com     不胜感激


1121
划痕
文章数:65
年度积分:50
历史总积分:1121
注册时间:2009/6/5
发站内信
发表于:2011/9/20 14:52:37
#1楼
ANY
ANY指针是32位指针,0~2位表示位地址,3~18位表示存放数据的地址;
请参考西门子官方网站下载中心
785
天涯醉春风
文章数:15
年度积分:50
历史总积分:785
注册时间:2011/10/17
发站内信
发表于:2011/12/21 5:01:04
#2楼
楼上的解释有问题:
1. ANY是一种用于装载和传输‘任意’类型数据用的数据类型,其大小(字节数)未知;
2. ANY数据类型要通过ANY类型指针进行寻址;
3. ANY型指针由10个字节组成(即上图),其中,
a) 字节0为西门子S7标识符16#10
b) 字节1是具体所装载和传输的数据类型;
c) 字节2,3为传送的字节数;
d) 字节4,5为数据块号;
e) 字节6,7,8,9为寻址双字指针;
楼主的程序有问题吧,L DBW 10 //Address SEND
SLW 3  这两段完全没有意义
L P#DBX 0.0
T LD [AR1,P#6.0] //将P#DBX0.0指针值传递给LD [AR1,P#6.0]
要不就是楼主程序不完整。
以上是我的看法,有错之处请各位大侠指导~

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003