请教关于西门子plc的指针问题

LD SM0.0
FIFO *LD2, LW14
ITB *LD2, LB50
ATT LW0, *LD2
在这段程序中那个*什么意思啊,能解释一下这个什么意思吗?

第1个回答  2013-01-27
地址前加“*”指内部的数据,地址前加“&”代表取内部的地址。追问

fifo 指令操作数*ld2 什么意思啊,

追答

L区是PLC的内部储存区,是局部变量区。LD20是局部变量里的地址指针储存区。在程序窗口的上布的 IN, IN_OUT, TEMP哪个窗口里的数据存储区。
FIFO 指令操作数*LD2是把LD2为指针的数按先进先出的顺序分别按字的长度写入到LW14
里。将列表数据取出到LW14。就如PID回路表一样的多数据列表。

本回答被提问者采纳
第2个回答  2013-01-28
LD SM0.0
FIFO *LD2, LW14 把LD2为指针的数按先进先出的顺序写入Lw14里
ITB *LD2, LB50 把LD2为指针的数转换为字节形式的数写入LB50里
ATT LW0, *LD2 把LW0填入以LD2为指针的表格里追问

ATT LW0, *LD2 把LW0填入以LD2为指针的表格里,att指令怎么看不大懂了,
比如这个att lw0,lw2. 这个是把lw0填入lw2的表格中,但 ld2为指针的表格这什么意思 啊,不是ld2既然是指针,怎么又成表格了?

追答

LD2为指针 LD是双字 他是首字节作为指针 第二字节是写数据的个数 第三字节开始就是数据了嘛
ATT LW0,LW2没有这样写的 这样写是错误的

追问

增加至表格表格
输入/输出 操作数 数据类型
DATA VW, IW, QW, MW, SW, SMW, LW, T, C, AIW, AC, 常数, *VD, *LD, *AC 整数
TBL VW, IW, QW, MW, SW, SMW, LW, T, C, *VD, , *LD *AC 字
这是att指令的操作数范围。 为什么att lw0 ,lw2.是错误的啊,

追答

如果你要把LW0写入LW2不是用ATT 而是用MOV, ATT是填表 要用*LD *VD *AC *LD2为指针 LD是双字 他是首字节作为指针 第二字节是写数据的个数 第三字节开始就是数据了嘛

相似回答