『7x24小时有问必答』

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

上一篇文章我们介绍了用过程输入映像区(Process Input Image,I)和位存储区的读写函数。今天这篇文章,我们来介绍下定时器和计数器的读写函数,包括:
TMRead();
TMWrite();
CTRead();
CTWrite();
1、Snap7Client.TMRead()
Snap7Client的TMRead()方法可以从服务器(PLC)的指定位置读取n个定时器的数据并存放到缓存区,它的函数原型如下:
该方法的参数如下:
Snap7Client.TMRead()参数列表

名称

数据类型

说明

Start

整数

要读取的起始地址(从0开始)Amount

整数

要读取的定时器(Timer)的个数Buffer字符数组

存放读取到的数据的数组
Snap7Client.TMRead()本质上是对ReadArea()方法进行封装,并且将参数Area设置为S7AreaTM;将参数WordLen设置为S7WLTimer;
缓存区(Buffer)的字节数应该是读取数量Amount的2倍;
举个例子:
假设要读取T0~T4的5个定时器的数据,则可以使用下面的代码:
上图中的ushort是16位无符号整数;

2、Snap7Client.TMWrite()
Snap7Client的TMWrite()方法可以将数据写入到服务器(PLC)定时器存储区的指定位置,它的函数原型如下:
该方法的参数如下:
Snap7Client.TMWrite()参数列表

名称

数据类型

说明

Start

整数

要写入的起始地址(从0开始)Amount

整数

要写入的定时器(Timer)的个数Buffer字符数组

要写入的数据

Snap7Client.TMWrite()本质上是对WriteArea()方法进行封装,并且将参数Area设置为S7AreaTM;将参数WordLen设置为S7WLTimer;
缓存区(Buffer)的字节数应该是读取数量Amount的2倍;
举个例子:
假设要将T0的时间值设置为0x10,将T1的时间值设置为0x20,则可以使用下面的代码:
上图中的ushort是16位无符号整数;
3、Snap7Client.CTRead()
Snap7Client的CTRead()方法可以从服务器(PLC)的指定位置读取n个计数器的数据并存放到缓存区,它的函数原型如下:
该方法的参数如下:
Snap7Client.CTRead()参数列表

名称

数据类型

说明

Start

整数

要读取的起始地址(从0开始)Amount

整数

要读取的计数器器(Counter)的个数Buffer字符数组

存放读取到的数据的数组
Snap7Client.CTRead()本质上是对ReadArea()方法进行封装,并且将参数Area设置为S7AreaCT;将参数WordLen设置为S7WLCounter;
缓存区(Buffer)的字节数应该是读取数量Amount的2倍;
举个例子:
假设要读取C10~C14的5个计数器的数据,则可以使用下面的代码:
上图中的ushort是16位无符号整数;

4、Snap7Client.CTWrite()
Snap7Client的CTWrite()方法可以将数据写入到服务器(PLC)计数器存储区的指定位置,它的函数原型如下:
该方法的参数如下:
Snap7Client.CTWrite()参数列表

名称

数据类型

说明

Start

整数

要写入的起始地址(从0开始)Amount

整数

要写入的计数器(Counter)的个数Buffer字符数组

要写入的数据

Snap7Client.CTWrite()本质上是对WriteArea()方法进行封装,并且将参数Area设置为S7AreaCT;将参数WordLen设置为S7WLCounter;
缓存区(Buffer)的字节数应该是读取数量Amount的2倍;
举个例子:
假设要将C40的数值设置为0x20,将C41的数值设置为0x30,则可以使用下面的代码:
好了,关于Snap7的定时器和计数器存储区读写就先介绍到这里,后续文章会继续介绍Snap7的其它功能。
我的微信视频号以视频的方式分享一些工控小知识,欢迎点击下面的视频观看:

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

本帖子中包含更多资源

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

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

本版积分规则

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

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

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


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