您现在所在的是:

PLC论坛

回帖:3个,阅读:801 [上一页] [1] [下一页]
* 帖子主题:

检查判断buffer类型

1099
zdh1911
文章数:56
年度积分:50
历史总积分:1099
注册时间:2007/12/28
发站内信
发表于:2008/12/26 9:08:00
#0楼
L     P##IN_Buffer                // Load buffer pointer
     LAR1                                  // Load ind.register AR1
     L     W [AR1,P#0.0]               // Get source DB address
     T     #TMP_Buffer
     L     W#16#10                     // Point to byte 2
     +AR1  
     L     B [AR1,P#0.0]               // Get buffer memory area type
     L     B#16#85                     // Load DI type code
     >I                                     // IF memory area type is L [local data]
     JC    END                           // THEN jump to exit
     TAK                                     // Load memory area type
     L     B#16#84                     // Load DB type code
     <I                                       // IF memory area type is I or Q or M
     JC    END                             // THEN jump to exit
     T     B [AR1,P#0.0]                 // Force buffer memory area type=DB
     OPN   DB [#TMP_Buffer]            // Open  buffer memory area
     L     D [AR1,P#0.0]                 // Get    buffer memory area address
     T     #TMP_Buffer_Address         // Update buffer memory area address


我想问一下程序中的 L     W [AR1,P#0.0]  和  L     B [AR1,P#0.0] 中的W B有什么不一样  还有就是 L     B#16#84  为什么对应DB TYPE 而  L     B#16#85 对应DI type
1099
zdh1911
文章数:56
年度积分:50
历史总积分:1099
注册时间:2007/12/28
发站内信
发表于:2008/12/26 9:13:00
#1楼
还有就是L     P##IN_Buffer                其中的##表示什么意思  程序中IN_Buffer  为指针类型#IN_Buffer  是不是取出IN_Buffer  的内容
38159
cvlsam 版主
文章数:12495
年度积分:770
历史总积分:38159
注册时间:2001/12/22
发站内信
2018论坛贡献奖
2017论坛贡献奖
2016论坛贡献奖
2015论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011论坛贡献奖
2011国庆活动
2010论坛杰出贡献奖
发表于:2008/12/26 9:36:00
#2楼
W-------WORD         B--------Byte  这就是W与B的区别~~
B#16#84与85对应何值并无讨论为什么的必要,因为西门子就这样规定的。

P#代表指针,而#IN_buffer代表符号变量,两者连起来就成了P##……了。

程序中#IN_Buffer是一个临时的符号变量,这段程序应该是作为FB或者FC来运作的,因此在符号名IN_Buffer前会有用到#,并非#就代表指针,西门子中:指针会被明确的使用P#来定义。

以上
1099
zdh1911
文章数:56
年度积分:50
历史总积分:1099
注册时间:2007/12/28
发站内信
发表于:2008/12/26 10:10:00
#3楼
谢谢楼主了 我在资料上看到了B#16#84与85 代表的含义了  B W代表为宽 就是字节和字的宽度 至于那个指针我在好好消化一下撒!

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

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

46.8003