




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目目 錄錄 1 1 pullsdkpullsdk 接口概述接口概述 .1 2 2 pullsdkpullsdk 接口技術(shù)說(shuō)明接口技術(shù)說(shuō)明 .1 3 3 pullsdkpullsdk 接口安裝接口安裝 .1 4 4 pullsdkpullsdk 接口函數(shù)詳述接口函數(shù)詳述 .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
2、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 5 附錄附錄 .15 5.1 附表一:接口文件的詳細(xì)說(shuō)明.15 5.2 附表二:控制器參數(shù)的說(shuō)明.16 5.3 附表三:controldevice參數(shù)說(shuō)明.18 5.4 附表四:功能函數(shù)的表結(jié)構(gòu)說(shuō)明.18 5.5 附表五:返回值錯(cuò)誤碼說(shuō)明.20 - 1 - pullsdk 接口使用指
3、南 1 1 pullsdkpullsdk 接口概述接口概述 pullsdk 接口是一組功能函數(shù),對(duì) c3、c4 系列門(mén)禁控制器進(jìn)行數(shù)據(jù)訪問(wèn)的通訊接 口。pullsdk 使最終應(yīng)用程序開(kāi)發(fā)用戶在訪問(wèn)門(mén)禁控制器時(shí),更直觀、更方便、更簡(jiǎn)潔, 其接口完成的功能有: 讀取、設(shè)置控制器參數(shù); 讀取、設(shè)置、刪除控制器的時(shí)間段、用戶信息、假日信息等數(shù)據(jù); 搜索、修改設(shè)備信息。 2 2 pullsdkpullsdk 接口技術(shù)接口技術(shù)說(shuō)明說(shuō)明 pullsdk 接口使最終應(yīng)用程序開(kāi)發(fā)用戶看起來(lái)是一組對(duì)門(mén)禁控制器內(nèi)數(shù)據(jù) set/get 的抽象接口,在具體訪問(wèn)設(shè)備用戶數(shù)據(jù)時(shí),類(lèi)似于在使用最通用的 sql 語(yǔ)句。pull
4、sdk 接口在應(yīng)用程序開(kāi)發(fā)用戶眼中看起來(lái)更像一個(gè)數(shù)據(jù)庫(kù)服務(wù)器。 pullsdk 接口支持 tcp/ip 和 rs485 通信協(xié)議。 pullsdk 接口使用 c 語(yǔ)言開(kāi)發(fā),對(duì)數(shù)據(jù)通訊做了高度優(yōu)化,使其成為一個(gè)簡(jiǎn)潔高效 的訪問(wèn)接口。 pullsdk 接口在設(shè)計(jì)開(kāi)始參考了 sql,但更考慮到業(yè)務(wù)中最常用的模型,是精心提 煉出來(lái)的一組接口,做到了設(shè)計(jì)、實(shí)現(xiàn)、使用三方的平衡。 3 3 pullsdkpullsdk 接口安裝接口安裝 pullsdk 接口函數(shù)存在于文件 plcommpro.dll 中,該庫(kù)依賴于其他幾個(gè)文件,需要 將下列五個(gè) dll 文件一同拷貝到 windows 下的系統(tǒng)目錄(wind
5、ows xp 下為 windows/system32) - 2 - (注:每個(gè)文件功能描述見(jiàn)附表一) 。 4 4 pullsdkpullsdk 接口函數(shù)詳述接口函數(shù)詳述 4.1 connect 函數(shù) int connect(const char *parameters) 功能 連接設(shè)備,連接成功后返回連接句柄。 參數(shù)說(shuō)明 parameters: in 通過(guò) parameter 參數(shù)指定連接選項(xiàng),如下列例子: protocol=rs485,port=com2,baudrate=38400bps,deviceid=1,timeout=50000, passwd=”; “protocol=tcp,i
6、paddress=192.168.12.154,port=4370,timeout=4000,passwd=”; 需要向該函數(shù)傳遞與設(shè)備相關(guān)的連接參數(shù)方可實(shí)現(xiàn)連接功能。 protocol 是通訊使用的協(xié)議,目前有 rs485 和 tcp 兩種方式; port:設(shè)備通訊端口。例如,以 rs485 方式連接,可設(shè)置 port 為 com1;以 tcp 通訊的端 口,如果不特別強(qiáng)調(diào),port 默認(rèn)為 4370; deviceid:串口使用的設(shè)備 id 號(hào); baudrate:串口通訊使用的波特率; ipaddress:tcp/ip 通訊相關(guān)設(shè)備的 ip 地址; timeout:連接超時(shí)時(shí)間,單位為毫
7、秒。遇到網(wǎng)絡(luò)連接質(zhì)量不好時(shí),應(yīng)加大 timeout 的值。 一般的, “timeout=5000” (5 秒)可以滿足基本網(wǎng)絡(luò)使用;當(dāng)查詢數(shù)據(jù)經(jīng)常出現(xiàn)-2 錯(cuò)誤碼時(shí), 應(yīng)加大 timeout 的值,可以設(shè)置:“timeout=20000” (20 秒) 。 passwd:設(shè)置通訊的連接密碼,可以為空表示不使用密碼。 - 3 - (注:parameters 連接字符串大小寫(xiě)敏感) 返回值 與設(shè)備連接成功后返回該連接句柄,否則連接失敗返回 0。 示例 python: params = “protocol=tcp,ipaddress=192.168.12.154,port=4370,timeout=
8、4000,passwd=” mpro = windll.loadlibrary(plcommpro.dll) con_str = create_string_buffer(params) self.hcommpro = mpro.connect(con_str) c#: params = “protocol=tcp,ipaddress=192.168.12.154,port=4370,timeout=2000,passwd=” ; intptr h = connect(params); 4.2 disconnect 函數(shù) void disconnect(handle handle) 功能 斷開(kāi)
9、與設(shè)備的連接 參數(shù)說(shuō)明 handle in 由 connect()成功返回的句柄。 返回值 無(wú) 示例 python: mpro.disconnect(self.hcommpro) self.hcommpro = 0 c#: disconnect(h); - 4 - h = intptr.zero; 4.3 setdeviceparam 函數(shù) int setdeviceparam(handle handle, const char *itemvalues) 功能 設(shè)置控制器參數(shù),例如設(shè)備號(hào)、門(mén)磁類(lèi)型、鎖驅(qū)動(dòng)時(shí)間、讀卡間隔等。 參數(shù)說(shuō)明 handle in 由 connect()成功返回的句柄。
10、itemvalues in 將要設(shè)置的設(shè)備參數(shù)值,多個(gè)參數(shù)值之間可以用逗號(hào)分開(kāi),一次至多可同 時(shí)設(shè)置 20 個(gè)參數(shù)(可設(shè)置的參數(shù)值屬性請(qǐng)參見(jiàn)表二) 。 返回值 返回為 0 或者正數(shù)時(shí),表示成功;返回負(fù)數(shù)時(shí)為錯(cuò)誤,錯(cuò)誤代碼的信息請(qǐng)參見(jiàn)附 表五。 示例 python: items = (deviceid=1,door1sensortype=2,door1drivertime=6,door1intertime=3) p_items = create_string_buffer(items) ret = mpro.setdeviceparam(self.hcommpro, p_items) c#: i
11、nt ret = 0; items = (deviceid=1,door1sensortype=2,door1drivertime=6,door1intertime=3) ret = setdeviceparam(h, items); 4.4 getdeviceparam 函數(shù) - 5 - int getdeviceparam(handle handle, char *buffer, int buffersize, const char *items) 功能 讀取控制器參數(shù),例如設(shè)備號(hào)、門(mén)磁類(lèi)型、鎖驅(qū)動(dòng)時(shí)間、讀卡間隔等。 參數(shù)說(shuō)明 handlehandle in 由 connect()成功返回
12、的句柄。 bufferbuffer in 用于接收返回?cái)?shù)據(jù)的緩沖區(qū),返回的數(shù)據(jù)是文本格式的,可能是多個(gè)參數(shù) 值,各參數(shù)之間用逗號(hào)分隔。 buffersizebuffersize in用于接收返回?cái)?shù)據(jù)的緩沖區(qū)大小。 itemsitems in 將要讀取的設(shè)備參數(shù)名稱表,多個(gè)名稱之間可以用逗號(hào)分開(kāi),一次至多可 同時(shí)讀取 20 個(gè)參數(shù)(可設(shè)置的參數(shù)值屬性請(qǐng)參見(jiàn)表一) 。 返回值 返回為 0 或者正數(shù)時(shí),表示操作成功;返回負(fù)數(shù)時(shí)為失敗,錯(cuò)誤代碼的信息請(qǐng)參 見(jiàn)附表五。 示例 python: buffer = create_string_buffer(2048) items = (deviceid,doo
13、r1sensortype,door1drivertime,door1intertime) p_items = create_string_buffer(items) ret = mpro.getdeviceparam(self.hcommpro, buffer, 256, p_items) c#: int ret = 0; int buffersize = 10 * 1024 * 1024; byte buffer = new bytebuffersize; items = (deviceid,door1sensortype,door1drivertime,door1intertime); r
14、et = getdeviceparam(h, ref buffer 0, buffersize, items); - 6 - 4.5 controldevice 函數(shù) int controldevice(handle handle, long operationid, long param1, long param2, long param3, long param4, const char *options) 功能 控制控制器動(dòng)作。 參數(shù)說(shuō)明 handlehandle in 由 connect()成功返回的句柄; operationidoperationid in 操作內(nèi)容,1 表示輸出操作
15、,2 表示取消報(bào)警,3 表示重啟設(shè)備; param1param1 in 當(dāng) operationid 為輸出操作時(shí),此參數(shù)表示設(shè)備中門(mén)的 id 號(hào),詳細(xì)請(qǐng)參 見(jiàn)附表三;當(dāng) operationid 為取消報(bào)警時(shí),默認(rèn)值為 0;當(dāng) operationid 為重啟設(shè) 備時(shí),默認(rèn)值為 0; param2param2 in 當(dāng) operationid 為輸出操作時(shí),此參數(shù)表示設(shè)備輸出點(diǎn)地址,詳細(xì)請(qǐng)參見(jiàn) 附表三;當(dāng) operationid 為取消報(bào)警時(shí),默認(rèn)值為 0;當(dāng) operationid 為重啟設(shè)備 時(shí),默認(rèn)值為 0; param3param3 in當(dāng) operationid 為輸出操作時(shí),此參數(shù)表示
16、開(kāi)門(mén)時(shí)間(0 表示關(guān),255 表示 常開(kāi),取值范圍為 160(秒) ) ,默認(rèn)值為 0;當(dāng) operationid 為重啟設(shè)備時(shí),默認(rèn) 值為 0; param4param4 in 預(yù)留之用,默認(rèn)為 0; optionoption in 默認(rèn)為空,擴(kuò)展之用; 返回值 返回為 0 或者正數(shù)時(shí),表示成功;返回負(fù)數(shù)時(shí)表示失敗,錯(cuò)誤代碼的信息請(qǐng)參見(jiàn) 附表五。 - 7 - 示例 python: operation_id = 1 door_id = 1 index = 2 state = 6 ret = mpro.controldevice(self.hcommpro, operation_id, door
17、_id, index, state, 0, ) c#: int ret = 0; int operid = 1; int doorid = 0; int outputadr = 0; int doorstate = 8; ret = controldevice(h, operid, doorid, outputadr, doorstate, 0, ); 4.6 setdevicedata 函數(shù) int setdevicedata(handle handle,const char *tablename,const char *data,const char *options) 功能 設(shè)置數(shù)據(jù)到設(shè)
18、備,用于設(shè)置時(shí)間段、用戶信息、假日設(shè)置、等數(shù)據(jù),數(shù)據(jù)可以是一 條記錄,也可以是多條記錄。 參數(shù)說(shuō)明 handlehandle in 由 connect()成功返回的句柄; tablenametablename in 數(shù)據(jù)表名,目前可使用表請(qǐng)參見(jiàn)附表四 datadata in 數(shù)據(jù)記錄表示,數(shù)據(jù)是文本格式的,多條記錄之間用rn 分隔,各個(gè) “字段=值”對(duì)之間用t 分隔; optionsoptions - 8 - in 默認(rèn)為空,擴(kuò)展之用; 返回值 返回為 0 或者正數(shù)時(shí),表示操作成功;返回負(fù)數(shù)時(shí)表示失敗,錯(cuò)誤代碼的信息請(qǐng) 參見(jiàn)附表五。 示例 python: table = user# 用戶信息表
19、 data = pin=19999tcardno=13375401tpassword=1rnpin=2tcardno=14128058tpassword=1 p_table = create_string_buffer(table) str_buf = create_string_buffer(data) ret = mpro.setdevicedata(self.hcommpro, p_table, str_buf, )# 向用戶信息表上傳 str_buff 數(shù)據(jù) c#: int ret = 0; string devtablename = user; string data = pin=1
20、9999tcardno=13375401tpassword=1rnpin=2tcardno=14128058tpassword=1; string options = ; ret = setdevicedata(h, devtablename, data, options); 4.7 getdevicedata 函數(shù) int getdevicedata(handle handle, char *buffer, int buffersize, const char *tablename, const char *fieldnames,const char *filter, const char
21、*options) 功能 從設(shè)備讀取數(shù)據(jù),用于讀取刷卡記錄、時(shí)間段、用戶信息、假日設(shè)置、等數(shù)據(jù),數(shù) 據(jù)可以是一條記錄,也可以是多條記錄。 參數(shù)說(shuō)明 handlehandle in 由 connect()成功返回的句柄; bufferbuffer in 用于接收返回?cái)?shù)據(jù)的緩沖區(qū),返回的數(shù)據(jù)是文本格式的,可能是多條記錄, - 9 - 各條記錄之間用rn 分隔。 buffersizebuffersize in用于接收返回?cái)?shù)據(jù)的緩沖區(qū)大小。 tablenametablename in 數(shù)據(jù)表名,目前可用的表名參見(jiàn)附表四; fieldnamesfieldnames in 字段名列表,多個(gè)字段之間用分號(hào)分
22、開(kāi), “*”表示全部字段,此時(shí)返回?cái)?shù) 據(jù)字段的第一行是字段名 filterfilter in 讀取數(shù)據(jù)的條件,當(dāng)單獨(dú)一個(gè)“字段名 操作符 值”構(gòu)成的字符串時(shí),可 以支持多個(gè)條件,使用逗號(hào)分隔,按如下方式: =(“=”符號(hào)兩邊不可以有空格) optionsoptions in 僅用于下載門(mén)禁事件記錄,值為“newrecord”時(shí)下載新記錄,當(dāng)為空時(shí) 下載全部記錄 返回值 返回為 0 或者正數(shù)時(shí),表示操作成功,其值為記錄條數(shù);返回負(fù)數(shù)時(shí)為失敗,錯(cuò) 誤代碼的信息請(qǐng)參見(jiàn)附表五。 示例 python: table = ”user”# 從 user 表下載用戶數(shù)據(jù) fielname = *# 下載表中的所
23、用字段信息 pfilter = ”# 沒(méi)有過(guò)濾條件,全部下載 options = ” query_buf = create_string_buffer(4*1024*1024) query_table = create_string_buffer(table) query_fieldname = create_string_buffer(fieldname) query_filter = create_string_buffer(filter) query_options = create_string_buffer(options) ret = mpro.getdevicedata(self
24、.hcommpro, query_buf, 4*1024*1024, query_table, query_fieldname, query_filter, query_options) c#: int ret = 0; int buffersize = 10 * 1024 * 1024; - 10 - byte buffer = new bytebuffersize; string devtablename = user; string str = *; string devdatfilter = ; string options = ; ret = getdevicedata(h, ref
25、 buffer0, buffersize, devtablename, str, devdatfilter, options); 4.8 getdevicedatacount 函數(shù) int getdevicedatacount(void *handle, const char *tablename, const char *filter,const char *options) 功能 讀取設(shè)備中的記錄總數(shù)信息,返回指定數(shù)據(jù)的記錄條數(shù)。 參數(shù)說(shuō)明 handlehandle in 由 connect()成功返回的句柄; tablenametablename in 數(shù)據(jù)表名,目前可用的表名參見(jiàn)附表四
26、 filterfilter in 默認(rèn)為空,擴(kuò)展之用; optionsoptions in 默認(rèn)為空,擴(kuò)展之用; 返回值 返回為 0 或者正數(shù)時(shí),表示操作成功,其值為記錄條數(shù);返回負(fù)數(shù)時(shí)為失敗,錯(cuò) 誤代碼的信息請(qǐng)參見(jiàn)附表五。 示例 python: table = user filter = p_table = create_string_buffer(table) p_filter = create_string_buffer(filter) - 11 - ret = mpro.getdevicedatacount(self.hcommpro, p_table, p_filter,) c#:
27、int ret = 0; string devtablename = user; string devdatfilter = ; string options = ; ret = getdevicedatacount(h, devtablename, devdatfilter, options); 4.9 deletedevicedata 函數(shù) int deletedevicedata(handle handle, const char *tablename,const char *data,const char *options) 功能 刪除設(shè)備中的數(shù)據(jù),例如用戶信息、時(shí)間段等數(shù)據(jù)。 參數(shù)說(shuō)
28、明 handlehandle in 由 connect()成功返回的句柄; tablenametablename in 數(shù)據(jù)表名,目前可用的表名參見(jiàn)附表四。 datadata in 數(shù)據(jù)記錄表示,數(shù)據(jù)是文本格式的,可以多條記錄之間用rn 分隔,各 個(gè)“字段=值”對(duì)之間用t 分隔; optionsoptions in 默認(rèn)為空,擴(kuò)展之用; 返回值 返回為 0 或者正數(shù)時(shí),表示成功;返回負(fù)數(shù)時(shí)為失敗,錯(cuò)誤代碼的信息請(qǐng)參見(jiàn)附 表五。 示例 python: table = “user” - 12 - data = pin=2# 刪除數(shù)據(jù)的條件 p_table = create_string_buffe
29、r(table) p_data = create_string_buffer(data) ret = mpro.deletedevicedata(self.hcommpro, p_table, p_data, ) c#: int ret = 0; string devtablename = user; string data = pin=2; string options = ; ret = deletedevicedata(h, devtablename, data, options); 4.10 getrtlog 函數(shù) int getrtlog(handle handle,char *bu
30、ffer, int buffersize) 功能 實(shí)時(shí)獲取設(shè)備事件記錄。 參數(shù)說(shuō)明 handlehandle in 由 connect()成功返回的句柄。 bufferbuffer in 用于接收返回?cái)?shù)據(jù)的緩沖區(qū),返回的數(shù)據(jù)是文本格式的。 buffersizebuffersize in 用于接收返回?cái)?shù)據(jù)的緩沖區(qū)大小。 返回值 返回為 0 或者正數(shù)時(shí),為接收數(shù)據(jù)的記錄數(shù);返回負(fù)數(shù)時(shí)為失敗,錯(cuò)誤代表的信 息請(qǐng)參見(jiàn)附表五。 示例 python: rt_log = create_string_buffer(256) ret = mpro.getrtlog(self.hcommpro, rt_log,
31、256) - 13 - c#: int ret = 0; int buffersize = 256; byte buffer = new byte256; ret = getrtlog(h, ref buffer0, buffersize); 4.11 searchdevice 函數(shù) int searchdevice(char *commtype,char *address, char *buffer) 功能 搜索局域網(wǎng)內(nèi)的門(mén)禁控制器。 參數(shù)說(shuō)明 commtypecommtype in 通訊類(lèi)型為 “ethernet” ,將會(huì)搜索指定通訊類(lèi)型的設(shè)備; addressaddress in 廣播地
32、址,將會(huì)搜索指定 ip 地址范圍內(nèi)局域網(wǎng)的設(shè)備,默認(rèn)為 255.255.255.255; bufferbuffer in 用于存儲(chǔ)搜索到的設(shè)備的緩沖區(qū),用戶應(yīng)根據(jù)網(wǎng)內(nèi)設(shè)備數(shù)量來(lái)確定申請(qǐng)內(nèi) 存值。例如 50 臺(tái)設(shè)備以內(nèi)建議申請(qǐng) 32k 的內(nèi)存,100 臺(tái)設(shè)備以內(nèi)建議申請(qǐng) 64k 的內(nèi) 存大小。 返回值 返回為 0 或者正數(shù)時(shí),為搜索到的門(mén)禁控制器數(shù)量;返回負(fù)數(shù)時(shí)為失敗,錯(cuò)誤代 碼的信息請(qǐng)參見(jiàn)附表五。 示例 python: dev_buf = create_string_buffer(, 64*1024) ret=mpro.searchdevice(udp, 255.255.255.255, de
33、v_buf) c#: - 14 - int ret = 0; string udp = udp; string adr = 255.255.255.255; byte buffer = new byte64 * 1024; ret = searchdevice(udp,adr, ref buffer0); 4.12 modifyipaddress 函數(shù) int modifyipaddress(char *commtype,char *address, char *buffer) 功能 udp 廣播方式修改控制器 ip 地址。 參數(shù)說(shuō)明 commtypecommtype in 搜索設(shè)備的通訊類(lèi)型
34、為“ethernet”通訊的設(shè)備; addressaddress in 廣播地址,默認(rèn)為 255.255.255.255; bufferbuffer in 用于存儲(chǔ)目標(biāo)設(shè)備的 mac 地址和新 ip 地址; 返回值 返回為 0 或者正數(shù)時(shí),為接收數(shù)據(jù)的記錄數(shù);返回負(fù)數(shù)時(shí)為失敗,錯(cuò)誤代碼的信息 請(qǐng)參見(jiàn)附表五。 示例 python: mac = 00:17:61:01:88:27# 目標(biāo)設(shè)備的mac地址 new_ip = 192.168.12.156# 設(shè)備新的ip地址 comm_pwd = str = mac=%s,ipaddress=%s % (mac,new_ip) p_buf = crea
35、te_string_buffer(str) modify_ip = mpro.modifyipaddress(“udp”, “255.255.255.255”, p_buf) c#: int ret = 0; string udp = udp; - 15 - string address = 255.255.255.255; string buffer = mac=00:17:61:01:88:27 + , + ipaddress=192.168.12.156; ret = modifyipaddress(udp,address,buffer); 4.13 pulllasterror 函數(shù) i
36、nt pulllasterror() 功能 獲取錯(cuò)誤 id, 返回失敗時(shí)可通過(guò)個(gè)函數(shù)獲取失敗 id。 參數(shù)說(shuō)明 無(wú) 返回值 返回錯(cuò)誤 id 號(hào)。 示例 python: ret = mpro.pulllasterror() c#: int ret = 0; ret = pulllasterror(); 4.14 setdevicefiledata 函數(shù) int setdevicefiledata(void *handle, const char *filename, char *buffer,int buffersize,const char *options) 功能 將文件從 pc 傳送到設(shè)備
37、。 參數(shù)說(shuō)明 handlehandle - 16 - in 由 connect()成功返回的句柄; filenamefilename in 傳送到設(shè)備的文件名,例如 main 文件; bufferbuffer in 待傳送文件的數(shù)據(jù)緩沖區(qū); buffersizebuffersize in傳送數(shù)據(jù)的長(zhǎng)度; optionsoptions in 默認(rèn)為空,擴(kuò)展之用 返回值 返回為 0 或者正數(shù)時(shí),表示成功;返回負(fù)數(shù)時(shí)為失敗,錯(cuò)誤代碼的信息請(qǐng)參見(jiàn)附 表五。 示例 python: file_name = ”main” buff_len = len(file_main) pfile_name = crea
38、te_string_buffer(file_name) pbuffer = create_string_buffer(buff_len) ret = mpro.setdevicefiledata(self.hcommpro, pfile_name, pbuffer, buff_len, ) c#: int ret = 0; string filename = user.dat; filestream fsfile = file.openread(this.openfiledialog1.filename); string buffersize = (int)fsfile.length; byt
39、e buffer = new bytebuffersize; string options = ; ret = setdevicefiledata(h, filename, ref buffer0, buffersize, options); 4.15 getdevicefiledata 函數(shù) int getdevicefiledata(void *handle,char *buffer,int *buffersize,const char *filename,const char *options) - 17 - 功能 從設(shè)備獲取文件到 pc。 參數(shù)說(shuō)明 handlehandle in 由
40、connect()成功返回的句柄; filenamefilename in 從設(shè)備獲取的文件名,例如 main 文件; bufferbuffer in 接收數(shù)據(jù)的緩沖區(qū); buffersizebuffersize in 接收數(shù)據(jù)的長(zhǎng)度; optionsoptions in 默認(rèn)為空,擴(kuò)展之用 返回值 返回為 0 或者正數(shù)時(shí),表示成功;返回負(fù)數(shù)時(shí)為失敗,錯(cuò)誤代碼的信息請(qǐng)參見(jiàn)附 表五。 示例 python: file_name = ”main” pfile_name = create_string_buffer(file_name) pbuffer = create_string_buffer(4
41、*1024*1024) ret = mpro.getdevicefiledata(self.hcommpro, pbuffer, buff_len, pfile_name, ) c#: int ret = 0; int buffersize = 4 * 1024 * 1024; byte buffer = new bytebuffersize; string filename = user.dat; string options = ; ret = getdevicefiledata(h, ref buffer0, ref buffersize, filename, options); - 1
42、8 - 5 5 附錄附錄 5.1 附表一:接口文件的詳細(xì)說(shuō)明附表一:接口文件的詳細(xì)說(shuō)明 文件名說(shuō)明 plcommpro.dllpullsdk 函數(shù)的動(dòng)態(tài)連接庫(kù)接口 plcomms.dllpullsdk接口的依賴庫(kù) plrscomm.dllpullsdk接口的依賴庫(kù) pltcpcomm.dllpullsdk接口的依賴庫(kù) rscagent.dllpullsdk接口的依賴庫(kù) 5.2 附表二:控制器參數(shù)的說(shuō)明附表二:控制器參數(shù)的說(shuō)明 屬性名稱參數(shù)讀寫(xiě)類(lèi)型備注 門(mén)數(shù)量 lockcount只讀 讀頭數(shù)量 readercount只讀 自定義輸入數(shù)量 auxincount只讀 自定義輸出數(shù)量 auxoutco
43、unt只讀 通信密碼 compwd讀寫(xiě)默認(rèn)沒(méi)有 ip 地址 ipaddress讀寫(xiě)默認(rèn):192.168.1.201 網(wǎng)關(guān) gateipaddress讀寫(xiě)沒(méi)有設(shè)置時(shí)為 ip 地址的值 子網(wǎng)掩碼 netmask讀寫(xiě)默認(rèn) 255.255.255.0 反潛回規(guī)則 (設(shè)為反潛的門(mén) 1 和 門(mén) 2,需要有門(mén) 1 開(kāi) 門(mén)記錄才能在門(mén) 2 上 開(kāi)門(mén),反之沒(méi)有在門(mén) 2 上開(kāi)門(mén),不能在門(mén) 1 上連續(xù)開(kāi)兩次門(mén)) antipassback讀寫(xiě)單門(mén)雙向控制器 1 代表1 號(hào)門(mén)讀頭間反潛 雙門(mén)單向控制器 1 代表1,2 號(hào)門(mén)間反潛 雙門(mén)雙向控制器 1 代表1 號(hào)門(mén)讀頭間反潛 2 代表2 號(hào)門(mén)讀頭間反潛 3 代表1,2 號(hào)
44、門(mén)各自讀頭間反潛 4 代表1,2 號(hào)門(mén)間反潛 四門(mén)單向控制器 1 代表1-2 門(mén)反潛 - 19 - 2 代表3-4 門(mén)反潛 3 代表1-2 門(mén)反潛和3-4 門(mén)反 潛 4 代表1/2-3/4 門(mén)反潛 5 代表1-2/3 門(mén)反潛 6 代表1-2/3/4 門(mén)反潛 互鎖 (設(shè)為互鎖的門(mén) 1 和 門(mén) 2,門(mén) 1 在開(kāi)啟時(shí), 門(mén) 2 只能處于關(guān)閉狀 態(tài);反之門(mén) 2 被打開(kāi) 時(shí),門(mén) 1 不能被打開(kāi)) interlock讀寫(xiě)兩門(mén)控制器 1 代表1-2 兩門(mén)互鎖 四門(mén)控制器 1 代表1-2 兩門(mén)互鎖 2 代表3-4 兩門(mén)互鎖 3 代表1-2-3 三門(mén)互鎖 4 代表1-2 兩門(mén)互鎖和3-4 兩 門(mén)互鎖 5 代表1
45、-2-3-4 四門(mén)互鎖 脅迫密碼 door1forcepassword door2forcepassword door3forcepassword door4forcepassword 讀寫(xiě)最大 8 位 緊急密碼 door1supperpassword door2supperpassword door3supperpassword door4supperpassword 讀寫(xiě)最大 8 位 閉門(mén)回鎖 door1closeandlock door2closeandlock door3closeandlock door4closeandlock 讀寫(xiě)1 啟用 0 不啟用 門(mén)磁類(lèi)型 door1sens
46、ortype door2sensortype door3sensortype door4sensortype 讀寫(xiě)0 代表無(wú) 1 代表常開(kāi) 2 代表常閉 鎖驅(qū)動(dòng)時(shí)長(zhǎng) door1drivertime door2drivertime door3drivertime door4drivertime 讀寫(xiě)設(shè)置范圍(0255) 0 代表常閉 255 代表常開(kāi) 1254 代表開(kāi)門(mén)時(shí)長(zhǎng) 門(mén)磁超時(shí)報(bào)警時(shí)長(zhǎng) door1detectortime door2detectortime door3detectortime door4detectortime 讀寫(xiě)設(shè)置范圍(0255) 單位為秒(s) 開(kāi)門(mén)方式 door1
47、verifytype door2verifytype door3verifytype door4verifytype 讀寫(xiě)0 為“卡” 11 為“卡+密碼” - 20 - 多卡開(kāi)門(mén)啟用 (可使用多個(gè)人同時(shí) 驗(yàn)證通過(guò)才能開(kāi)門(mén), 在附表四 多卡開(kāi)多卡開(kāi) 門(mén)組合表門(mén)組合表中設(shè)置多 卡開(kāi)門(mén)的組號(hào),在該 組里面的人員就是多 人驗(yàn)證的人員,最多 只能設(shè)置五人同時(shí)驗(yàn) 證開(kāi)門(mén)。) door1multicardopendoor door2multicardopendoor door3multicardopendoor door4multicardopendoor 讀寫(xiě)0 不啟用 1 啟用 首卡開(kāi)門(mén)啟用 door
48、1firstcardopendoor door2firstcardopendoor door3firstcardopendoor door4firstcardopendoor 讀寫(xiě)0:不啟用 1.首卡常開(kāi) 門(mén)激活時(shí)間段(接 收有效刷卡時(shí)間段) door1validtz door2validtz door3validtz door4validtz 讀寫(xiě)默認(rèn) 0 表示鎖未激活 門(mén)常開(kāi)時(shí)間段 door1keepopentimezone door2keepopentimezone door3keepopentimezone door4keepopentimezone 讀寫(xiě)默認(rèn) 0,沒(méi)有設(shè)置 刷卡間隔
49、door1intertime door2intertime door3intertime door4intertime 讀寫(xiě)0 為無(wú)間隔 以 s(秒)為單 位 mcu 看門(mén)狗 watchdog讀寫(xiě)0 不啟用 1 啟用 四門(mén)轉(zhuǎn)兩門(mén) door4todoor2讀寫(xiě)0 不啟用 1 啟用 取消門(mén)常開(kāi)日期 door1cancelkeepopenday door2cancelkeepopenday door3cancelkeepopenday door4cancelkeepopenday 只讀取消常開(kāi)時(shí)保存的日期 sd 卡備份時(shí)間 backuptime讀寫(xiě)124,設(shè)置為整點(diǎn) 重啟設(shè)備 reboot僅寫(xiě)reb
50、oot=1 同步時(shí)間 datetime僅寫(xiě)datetime= (年-2000)*12*31 + (月-1)*31 + (日-1)* 24*60*60) + 小時(shí)* 60*60 + 分 鐘* 60 + 秒; 例如:系統(tǒng)當(dāng)前時(shí)間為 - 21 - 2010-10-26 20:54:55,那么 datetime= 347748895; 四門(mén)轉(zhuǎn)兩門(mén) door4todoor2 讀寫(xiě)0 不啟用 1 啟用 單/雙向讀頭 inbiotowway 讀寫(xiě)0 為單向 1 為雙向 5.3 附表三:附表三:controldevice 參數(shù)說(shuō)明參數(shù)說(shuō)明 operationid 說(shuō)明 param1param2param3pa
51、ram4 options 1 輸出操作門(mén)編號(hào)輸出地址開(kāi)或關(guān)動(dòng)作保留 擴(kuò)展參 數(shù)為空 2取消報(bào)警 3重啟設(shè)備 5.4 附表四:功能函數(shù)的表結(jié)構(gòu)說(shuō)明附表四:功能函數(shù)的表結(jié)構(gòu)說(shuō)明 表名稱 tablename 字段備注 卡號(hào)信息表user cardno、pin、password、group、 starttime、endtime starttime 和 endtime 格式 填寫(xiě)規(guī)范: yyyymmdd, 例如: 20100823; group 是多卡開(kāi)門(mén)人員組; pin 授權(quán)表userauthorize pin、authorizetimezoneid、author izedoorid authoriz
52、edoorid 是授權(quán)的門(mén): 1 代表 lock1; 2 代表 lock2; 3 代表 lock1 和 lock2; 4 代表 lock3; 5 代表 lock1 和 lock3; 6 代表 lock2 和 lock3; 7 代表 lock1、lock2 和 lock3; 8 代表 lock4; - 22 - 9 代表 lock1 和 lock4; 10 代表 lock2 和 lock4; 11 代表 lock1、lock2 和 lock4; 12 代表 lock3 和 lock4; 13 代表 lock1、lock3 和 lock4; 14 代表 lock2、lock3 和 lock4; 1
53、5 代表 lock1、lock2、lock3 和 lock4 假日表holiday holiday、holidaytype、loop假日類(lèi)型“holidaytype”的 值:1、2、3 loop 的值:1-按年循環(huán);2- 不按年循環(huán) 時(shí)區(qū)表timezone timezoneid、 suntime1、suntime2、suntime3 、 montime1、montime2、montime 3、 tuetime1、tuetime2、tuetime3 、 wedtime1、wedtime2、wedtime 3、 thutime1、thutime2、thutime3 、 fritime1、friti
54、me2、fritime3、 sattime1、sattime2、sattime3、 hol1time1、hol1time2、hol1tim e3、 hol2time1、hol2time2、hol2tim e3、 hol3time1、hol3time2、hol3tim e3 time 格式 (hour*100 + minute ) 16+(hour*100 + minute) 例如:設(shè)置周一時(shí)間段 1 為 8:30 12:30 ,那么 montime1=54396110; 8:30 8*100+30 33e (十六進(jìn) 制) 12:30 12*100+30 4ce (十六 進(jìn)制) 033e04ce 54396110 (十進(jìn)制) 門(mén)禁記錄表transaction cardno、pin、verified、doorid、 eventtype、inoutstate、time_seco nd 驗(yàn)證方式“verified”: 1 代表“僅指紋”驗(yàn)證; 3 代表“僅密碼”驗(yàn)證; 4 代表“僅卡”驗(yàn)證; 11 代表“卡加密碼”
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 年終總結(jié)員工代表發(fā)言稿
- 四川省達(dá)州市渠縣第二中學(xué)2024-2025學(xué)年八年級(jí)下學(xué)期第三次月考數(shù)學(xué)試卷(含答案)
- 北師大版五年級(jí)上冊(cè)數(shù)學(xué)期中檢測(cè)卷(無(wú)答案)
- 2025年湖北省黃石市中考物理模擬試卷(含答案)
- 3ds Max基礎(chǔ)建模知到智慧樹(shù)答案
- 礦業(yè)資源開(kāi)發(fā)行業(yè)發(fā)展?fàn)顩r評(píng)估報(bào)告
- 網(wǎng)絡(luò)安全行業(yè)發(fā)展現(xiàn)狀與展望
- “千回百轉(zhuǎn)游響停云”–中國(guó)傳統(tǒng)戲曲、曲藝經(jīng)典賞析(長(zhǎng)青聯(lián)盟)知到智慧樹(shù)答案
- 跨境電子商務(wù)雙語(yǔ)教程 試卷A中英文答案
- 水邊作業(yè)安全知識(shí)培訓(xùn)課件
- 房屋重建可行性研究報(bào)告
- 麻風(fēng)知識(shí)培訓(xùn)課件
- 自來(lái)水設(shè)備管理制度
- 進(jìn)銷(xiāo)存管理管理制度
- 【清遠(yuǎn)】2025年廣東清遠(yuǎn)市清城區(qū)財(cái)政局公開(kāi)招聘聘員2人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 安裝空調(diào)試題及答案
- 濱州傳媒集團(tuán)考試題庫(kù)及答案
- T/CSPCI 00001-2022汽油中苯胺類(lèi)化合物的分離和測(cè)定固相萃取/氣相色譜-質(zhì)譜法
- odm框架合同協(xié)議書(shū)
- 凍品供貨合同協(xié)議書(shū)
- 服裝代工保密協(xié)議書(shū)
評(píng)論
0/150
提交評(píng)論