1 PullSDK接口概述    1
2 PullSDK接口技术说明    1
3 PullSDK接口安装    1
4 PullSDK接口函数详述    2
4.1  Connect    2
4.2  Disconnect    3
4.3  SetDeviceParam    4
4.4  GetDeviceParam    4
4.5  ControlDevice    5
4.6  SetDeviceData    6
4.7  GetDeviceData    7
4.8  GetDeviceDataCount    9
4.9  DeleteDeviceData    10
4.10  GetRTLog    11
4.11  SearchDevice    11
4.12  ModifyIPAddress    12
4.13  PullLastError    13
4.14  SetDeviceFileData    13
4.15  GetDeviceFileData    14
5 附录    15
5.1  附表一:接口文件的详细说明    15
5.2  附表二:控制器参数的说明    16
5.3  附表三:ControlDevice参数说明    18
5.4  附表四:功能函数的表结构说明    18
5.5  附表五:返回值错误码说明    20

PullSDK接口使用指南
1 PullSDK接口概述
PullSDK接口是一组功能函数,对C3C4系列门禁控制器进行数据访问的通讯接口。PullSDK使最终应用程序开发用户在访问门禁控制器时,更直观、更方便、更简洁,其接口完成的功能有:
读取、设置控制器参数;
读取、设置、删除控制器的时间段、用户信息、假日信息等数据;
搜索、修改设备信息。
2 PullSDK接口技术说明
PullSDK接口使最终应用程序开发用户看起来是一组对门禁控制器内数据Set/Get的抽象接口,在具体访问设备用户数据时,类似于在使用最通用的SQL语句。PullSDK接口在应用程序开发用户眼中看起来更像一个数据库服务器。
PullSDK接口支持TCP/IPRS485通信协议。
PullSDK接口使用C语言开发,对数据通讯做了高度优化,使其成为一个简洁高效的访问接口。
PullSDK接口在设计开始参考了SQL,但更考虑到业务中最常用的模型,是精心提炼出来的一组接口,做到了设计、实现、使用三方的平衡。
3 PullSDK接口安装
PullSDK接口函数存在于文件plcommpro.dll中,该库依赖于其他几个文件,需要将下列五个DLL文件一同拷贝到windows下的系统目录(windows XP下为windows/system32
(注:每个文件功能描述见附表一)。
4 PullSDK接口函数详述
4.1  Connect
[函数]
int Connect(const char *Parameters)
[功能]
连接设备,连接成功后返回连接句柄。
[参数说明]
    Parameters:
[in] 通过Parameter参数指定连接选项,如下列例子:
"protocol=RS485,port=COM2,baudrate=38400bps,deviceid=1,timeout=50000, passwd=”;
“protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=4000,passwd=”;
需要向该函数传递与设备相关的连接参数方可实现连接功能。
protocol是通讯使用的协议,目前有RS485TCP两种方式;
port:设备通讯端口。例如,以RS485方式连接,可设置portCOM1;以TCP通讯的端口,如果不特别强调,port默认为4370
deviceid:串口使用的设备ID号;
baudrate:串口通讯使用的波特率;
ipaddressTCP/IP通讯相关设备的IP地址;
timeout:连接超时时间,单位为毫秒。遇到网络连接质量不好时,应加大timeout的值。一般的,“timeout=5000”(5秒)可以满足基本网络使用;当查询数据经常出现-2错误码时,应加大timeout的值,可以设置:“timeout=20000”(20秒)。
passwd:设置通讯的连接密码,可以为空表示不使用密码。
(注:Parameters连接字符串大小写敏感)
[返回值]
与设备连接成功后返回该连接句柄,否则连接失败返回0
[示例]
    sdkPython
params = protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=4000,passwd=
selfmpro = windll.LoadLibrary("plcommpro.dll")       
con_str = create_string_buffer(params)
self.hcommpro = selfmpro.Connect(con_str)
c#
params = protocol=TCP,ipaddress=192.168.12.154,port=4370,timeout=2000,passwd= ;
IntPtr h = Connect(params);
4.2  Disconnect
[函数]
Void Disconnect(HANDLE handle)
[功能]
断开与设备的连接
[参数说明]
    handle
[in] Connect()成功返回的句柄。
[返回值]
[示例]
Python
selfmpro.Disconnect(self.hcommpro)
    self.hcommpro = 0
c#
Disconnect(h);
h = IntPtr.Zero;
4.3  SetDeviceParam
[函数]
int SetDeviceParam(HANDLE handle, const char *ItemValues)
[功能]
设置控制器参数,例如设备号、门磁类型、锁驱动时间、读卡间隔等。
[参数说明]
handle
[in] Connect()成功返回的句柄。
ItemValues
[in] 将要设置的设备参数值,多个参数值之间可以用逗号分开,一次至多可同时设置20个参数(可设置的参数值属性请参见表二)。
[返回值]
返回为0或者正数时,表示成功;返回负数时为错误,错误代码的信息请参见附表五。
[示例]
Python
items = ("DeviceID=1,Door1SensorType=2,Door1Drivertime=6,Door1Intertime=3")
p_items = create_string_buffer(items)
ret = selfmpro.SetDeviceParam(self.hcommpro, p_items)
c#
int ret = 0;
items = ("DeviceID=1,Door1SensorType=2,Door1Drivertime=6,Door1Intertime=3")
ret = SetDeviceParam(h, items);
4.4  GetDeviceParam
[函数]
int GetDeviceParam(HANDLE handle, char *Buffer, int BufferSize, const char *Items)
[功能]
读取控制器参数,例如设备号、门磁类型、锁驱动时间、读卡间隔等。
[参数说明]
handle
[in] Connect()成功返回的句柄。
Buffer
[in] 用于接收返回数据的缓冲区,返回的数据是文本格式的,可能是多个参数值,各参数之间用逗号分隔。
BufferSize
[in]    用于接收返回数据的缓冲区大小。
Items
[in] 将要读取的设备参数名称表,多个名称之间可以用逗号分开,一次至多可同时读取20个参数(可设置的参数值属性请参见表一)。
[返回值]
返回为0或者正数时,表示操作成功;返回负数时为失败,错误代码的信息请参见附表五。
[示例]
Python
buffer = create_string_buffer(2048)
items = ("DeviceID,Door1SensorType,Door1Drivertime,Door1Intertime")
p_items = create_string_buffer(items)
ret = selfmpro.GetDeviceParam(self.hcommpro, buffer, 256, p_items)
c#
int ret = 0;
int BUFFERSIZE = 10 * 1024 * 1024;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。