简介:
通过阅读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。
(5)lplData: IpIData准 备 一个 具 有在 ISize中指 定 的 点 数的存储区 域 。当szDevice = "D0":lSize = 1;仅仅读取D0。lSize = 16;可读取D0~D15。