暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

间接寻址PEEK/POKE指令的应用

大贺工作室 2021-09-11
4058

1.PEEK指令

该指令可以用来读取输入I、输出Q、存储器M或数据块DB,支持位、字节、字、双字操作,该指令将获取的数据值以返回值的方式赋值给对应的变量。

Peek_bool读位变量格式:

#PEEK-BOOL:=PEEK_BOOL(area:=#area,     寻址区域,byte类型

                      dbNumber:=#dbn,//数据块号,非数据块寻址时为0Dint类型

                      byteOffset:=#byteoff,// 被读取变量的字节地址,Dint类型

                      bitOffset:=#bitoff); 被读取变量对应的位地址,Sint类型

Peek(_BYTE)读字节变量格式:

#PEEK-BYTE:=PEEK( area:=#area,     寻址区域,byte类型

                    dbNumber:=#dbn,//数据块号,非数据块寻址时为0Dint类型

                    byteOffset:=#byteoff);// 被读取变量的字节地址,Dint类型

                   

PEEK_WORD读字变量格式:

#PEEK-WORD:=PEEK( area:=#area,     寻址区域,byte类型

                    dbNumber:=#dbn,//数据块号,非数据块寻址时为0Dint类型

                    byteOffset:=#byteoff);// 被读取变量地址,Dint类型

 

PEEK_DWORD读字变量格式:

#PEEK-DWORD:=PEEK( area:=#area,     寻址区域,byte类型

                    dbNumber:=#dbn,//数据块号,非数据块寻址时为0Dint类型

                    byteOffset:=#byteoff);// 被读取变量字节地址,Dint类型

参数area根据数据区域不同有以下四种:

B#16#81     读输入区变量I

B#16#82     读输出区变量Q

B#16#83     读存储器变量M

B#16#84     读数据块变量DB

示例1M区寻址

“Tag_15”:=PEEK_BOOL(area:=B#16#83,dbNumber:=0,byteOffset:=0,bitOffset:=1;

M0.1的状态值读取到Tag_15(M0.7)

MB10值读取到MB1


 

以下是分别读取M0.1MB10MW20MD30值到数据块“读取1”、“读取2“读取3“读取4”中。


 

2.POKE写指令










MB100开始的10个字节数据写入MB200开始的十个字节


MB100开始的10个字节数据写入MB200开始的十个字节


文章转载自大贺工作室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论