1.SFC20前面的数据传递起什么作用呢?加入我定义 #CommuDB_Num为100;
2.SFC20中源数据为#SenderBuffer,它是32个BYTE的ARRAY, 目标数据位#TargetData,它的类型为10个BYTE的ANY数据;它们长度不一致,可以传递??
3.注意#TargetData是临时变量,它获得#SenderBuffer送来的数据后怎么和具体的实际地址联系对应?(程序里#TargetData就这一处)
问题补充:
1.阿鸣回答的不对,#TargetData就此一处,说白了这段程序我想问的是#SenderBuffer的数据传递给了#TargetData,#TargetData又怎么传递给实际的变量地址呢?????
程序里其他的地方再无和#TargetData相关联的地方
图片说明:
最佳答案
首先需明白ANY结构,它有十个字节组成,具体看手册。
(byte0 固定为10h for S7;byte 1为数据类型;byte2及byte 3
此数据类型数量;byte4及byte5表示如果存储区为DB块则
表示块号,其它类型为0;byte6表示存储区类别(I,Q,DB,M,DI,P,L,V)
byte7,8,9表示地址,地址以格式Byte.Bit存储,此处字节寻址存储在
字节7的位0 - 2,节字8的位0 - 7,节字9的位3 - 7。位地址存储在字
节9的位0 - 2。
#TargetData临时变量从LB26开始
程序解读:
L 16#10
T LB 26 //#TargetData起始地址即byte0 为10h
L B#16#2
T LB27 // 数据类型为BYTE型
L 32
T LW28 //32个byte
L #COMMDB_NUM
T LW30 //即DB号,DB100
L P#DBX0.0
T LW32 //即复制的目标数据区为DB100.DBX0.0开始,32个字节
故长度是一致。
提问者对于答案的评价:
回答的太对了,太精彩了,虽然你的级别是新生,可是您的水平与态度是超过超级顾问的,希望专家们回答问题有针对性的回答,阿鸣是论坛里的2号人物,回答的简直是驴头不对马嘴,可能太忙了吧
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc243947.html