程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

西门子1200/1500PLC使用PEEK和POKE指令实现数据块间接寻址

balukai 2025-03-26 09:49:19 文章精选 6 ℃

对于非优化的块数据并且没有建立ARRAY数组的情况下,我们可以使用PEEK指令或者POKE指令实现对数据块的间接寻址,PEEK指令实现对数据区的读取,POKE指令实现对数据区的写入。

一:PEEK和POKE指令说明

1.1:PEEK和POKE指令有三种可以返回的数据格式,分别是BYTE、WORD、DWORD。我们实际使用是PEEK返回BYTE数据,PEEK_WORD返回WORD数据,PEEK_DWORD返回DWORD数据。POKE指令和PEEK指令同样存在这三种形式。

1.2:由于PEEK和POKE指令只能在SCL语言中使用,所以我们需要建立一个编程语言选用SCL语言的FB功能块或者FC功能。另外如果需要在梯形图程序块中直接采用SCL语言也是可以的,我们可以在LAD程序段中单击鼠标右键弹出菜单选择插入SCL程序段即可。



1.3:指令参数说明


二:指令的实际使用

下面我们将具体说一下该指令的使用,具体实例为:有一个全局数据块里面存储了许多DINT的数据,我们需要建立一个功能块来实现给出全局数据块和索引(就是第几个数据、从零开始)来检索出该数据。

2.1:建立一个非优化的全局数据块,内部建立16个DINT类型的数据。


2.2:建立一个FB程序块,采用SCL编程语言,接口变量定义和内部程序段如下



2.3:在其他程序段内调用该FB程序块,实现上述功能


最近发表
标签列表