『7x24小时有问必答』

本文是Snap7软件包系列教程的第7篇,该软件包可以通过PC端编程访问PLC的数据,如果你对它还不太熟悉,请点击上方专辑(话题)查看之前的文章介绍。

上一篇文章我们介绍了用于数据块(DB)和过程输出映像区(Process Output Image,Q)的读写函数,今天这篇文章,我们来介绍下用于过程输入映像区和位存储区读写的函数,包括:
EBRead();
EBWrite();
MBRead();
MBWrite();
1、Snap7Client.EBRead()
Snap7Client的EBRead()方法可以从服务器(PLC)读取过程输入映像区(Process Input Image)的数据,函数原型如下图:
该方法的参数如下:
Snap7Client.EBRead()参数列表

名称

数据类型

说明

Start

整数

要读取的起始地址Size整数

要读取的字节数Buffer字符数组

存放读取到的数据的数组
Snap7Client.EBRead()本质上是对ReadArea()方法进行封装,并且将参数Area 设置为 S7AreaPE;将参数WordLen 设置为S7WLBytes;
比如,要读取IB0~IB9的10个字节的数据,可以使用下面的代码:
2、Snap7Client.EBWrite()
Snap7Client的EBWrite()方法可以将数据写入服务器PLC的过程输入映像区(Process Input Image),函数原型如下图:
该方法的参数如下:
Snap7Client.EBWrite()参数列表

名称

数据类型

说明

Start

整数

要写入的起始地址Size整数

要写入的字节数Buffer字符数组

存放写入数据的数组
Snap7Client.EBWrite()本质上是对WriteArea()方法进行封装,并且将参数Area 设置为 S7AreaPE;将参数WordLen 设置为S7WLBytes;
比如,要将20个字节的数据写入到IB0~IB19的地址范围,可以使用下面的代码:
3、Snap7Client.MBRead()
Snap7Client的MBRead()方法可以从服务器(PLC)读取位存储区(M)的内容,函数原型如下图:
该方法的参数如下:
Snap7Client.MBRead()参数列表

名称

数据类型

说明

Start

整数

要读取的起始地址Size整数

要读取的字节数Buffer字符数组

存放读取到的数据的数组
Snap7Client.MBRead()本质上是对ReadArea()方法进行封装,并且将参数Area 设置为 S7AreaMK;将参数WordLen 设置为S7WLBytes;

假设我们要读取MB10~MB14的5个字节的数据,可以使用下面的代码:
4、Snap7Client.MBWrite()
Snap7Client的MBWrite()方法可以将数据写入到服务器(PLC)位存储区(M)的指定地址,函数原型如下图:
该方法的参数如下:
Snap7Client.MBWrite()参数列表

名称

数据类型

说明

Start

整数

要写入的起始地址Size整数

要写入的字节数Buffer字符数组

存放写入数据的数组
Snap7Client.MBWrite()本质上是对WriteArea()方法进行封装,并且将参数Area 设置为 S7AreaMK;将参数WordLen 设置为S7WLBytes;

假设我们要将数据写入到MB5~MB9的5个字节中,可以使用下面的代码:
好了,关于Snap7Client对于过程输入映像区及位存储区的读写函数就先介绍到这里,后续文章会介绍定时器和计数器的读写。
我的微信视频号开通了,以视频的方式分享工控小知识,欢迎扫描下面的二维码查看:

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码