找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
麻烦分析一下W#16#1002 ,这个16进制表示的字
这一句有什么意义吗?有什么作用?谢谢啊
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
1:你的L W#16#1002 之前应该还有,类似下面的语句 L P##XXX。XXX应该是临时变量里面一个类型为ANY的变量。
2:你所说的语句是对ANY参数类型进行分析的语句(建议你 打开STEP7,然后选择帮助,在帮助文件 里面搜索“POINTER”,然后 找到ANY,进行查看)。
ANY类型占10字节
比如P#DB1.Dbx0.0 Byte 10
BYTE 0 对于S7PLC 固定是16进制10
BYTE 1 对应 数据类型,2代表是BYTE。
BYTE2到3 是重复系数,相当于P#DB1.DBX0.0 BYTE 10的数字10.
BYTE 4到5 是DB号,如果 为0,则是非DB区。
BYTE 6到9 是32位指针,即相当于P#DB1.DBX0.0 BYTE 10中的指针地址 DBX0.0 即DW#16#84000000
对于你的程序 完整应该如下
如果XXXANY类型的指向P#DB1.DBX0.0 BYTE 10.那么对XXX的分析过程如下
LAR1 P##XXX
L W#16#1002
T LW[AR1,P#0.0]
L MW100//变量或者常数10
T LW[AR1,P#2.0]
L MW102//或者采用常数10,用变量程序随时可以更改DB号到10或者11等。
T LW[AR1,P#4.0]//代表DB10
L DW#16#84000000//或者00000000或者P#DBX0.0 是32位指针
T LD[AR1,P#6.0]
以上就是 对ANY的完整分析,这样 再调调用SFC20或者SFC21等带有ANYIN,IN_OUT,OUT参数类型接口时,对里面的ANY接口赋值时你就不必以P#DB1.DBX0.0 BYTE 100的形式输入了,在对XXX ANY类型进行赋值后,直接将XXX填进接口参数就行。
希望你明白了吧,。这样做的好处是,可以对ANY类型的接口参数,根据自己的需要,随时指向别的存储区域。
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城