三菱Q系列PLC批量读取软元件

简介:

通过阅读MX Component文档,了解相关函数及注意事项,开发环境是Windows,开发软件VC 6++,需要安装MX Component。

1.代码展示

	CString szReadDevice = _T("M7600");  //软元件         
	long lSize = 1;                      //点数
	long lpBuffer[16] = {0};             //存储
	m_ActQJ71E71Tcp.ReadDeviceBlock(szReadDevice, lSize, lpBuffer); //批量读取软元件函数


2.函数介绍

ReadDeviceBlock(批量读取软元件)

(1) 适用的 ACT 控制

函数用于除 ActSupport 和 ActMLSupport 控制以有 ACT 控制。

(2) 功能

批量读数据。

(3) 格式

Visual C++ R 6.0、Visual C++R.NET(MFC):lRet = object.ReadDeviceBlock(szDevice、lSize、*lplData)

Long lRet 返回值 输出
String szDevice lSize 输入
long lSize 读取点数 输入
long lplData 读取软元件值 输出

(4) 说明

(a) 以设置于 szDevice中的件起始批量读取 ISize值。
(b) 取的值存储在 IpIData 。
(c) 为 IpIData预留多于 ISize的储存区。

(5) 软元件指定方法

(例) 从 M0 开始,以 16 点为单位的基础上读取 3点(3 个字)的数据。

两个较高的字节 两个较低的字节
*1 M0 到 M15 *2
*1 M16 到 M31 *2
*1 M32 到 M47 *2

(例) 从 D 0 读取 3 个点

两个较高的字节 两个较低的字节
*1 D0
*1 D1
*1 D2

*1: 没有使用。(存储 0。)
*2: 按软元件号顺序存储较低的位

(6) 返回值

正常终止 返回 0。

正常终止:返回0的值。

3.代码详解

(1)CActQJ71E71TCP   m_ActQJ71E71Tcp;需要安装相应的MX Component,然后像添加控件一样,添加进去,简单的来说,就是添加支持PLC通信的库。

(2)ReadDeviceBlock是长整型函数。ReadDeviceBlock2是短整型/整型函数,可读取2个字节的数值。功能类似。

(3)szDevice:当指定 ReadDeviceBlock为位软元件时,指定软元件编号为 16 的数。例如M7600,7600是16的倍数。否则出错。

(4)lSize:根据软元件类型不同,参照函数介绍中软元件指定方法。

   当szDevie = "M7600";lSize = 1;可读取M7600~7615。

   当szDevice = "D0":lSize = 1;仅仅读取D0。lSize = 16;可读取D0~D15。

(5)lplData: IpIData准 一个 有在 ISize中指 数的存储区


你可能感兴趣的:(PLC)