其他相關文章
又過了兩個月,漸漸的對這個攝像頭的功能更加熟悉了,而實際上,我要做的功能也越來越複雜,從一開始的讀碼,到後來的通過讀二維碼控制設備,再到未讀到二維碼控制設備等,下面就對具體的細項做一個總結。了解完這些就能對ID5000這個設備,乃至很多海康的設備都能做一個二次開發。
用戶手冊
在IDMVS里其實是有包含這個解讀手冊的
開啟檔案位置
根據這個路勁去找到這個產品說明書
是下面這兩個V1.5.0的這兩個CHM格式的文件,在Windows下打不開的,一定要重命名成不包含中文的名字才能打開
這裡面有個這一個設備流程,可以使用代碼控制
按照這個流程來不會錯
在這個示例程序,主動輪詢獲取數據中也是嚴格遵守這個範式的
貼心的海康還給了不同版本的代碼給我們做參考,甚至可以直接在原程序上面做調整
路勁還是上面的沒有變化
給了這麼一些程序,我主要改動了第一個,其他的就讀者自行去研究吧。
示例;
C#的框架主題是一個Winform的程序,可以對設備進行控制,模式觸發,參數設置等等,在下面是數據的顯示
我是自己打印了一個紙條,且二維碼設置的是dataMatrix,打開程序進行一個掃描。
打開之後掃描
這樣一個程序就集檢查,設置,使用于一體了。
自主開發
確實海康給的東西足夠強大,也功能齊全,但是並不能符合我們日常開發的需求,就比方我需要在NoRead的時候給一個信號輸出,但是只要不是掃到二維碼,任何圖片都是NoRead,這種情況下就需要我們對程序做一些改變。
而主要用到的是這一個MV_CODEREADER_SetEnumValue_NET方法去改變
這個方法的作用就是去自動更改一些屬性的值,
具體使用方法為,在IDMVS中查看屬性樹
在這個IO控制中
LineSelector為它的節點名稱,下面的Line3為節點值(我是這麼理解的)
MV_CODEREADER_SetEnumValue_NET(String strKey,Uint32 nValue)
LineSelector填前面,我要選擇管腳3輸出就填它的Value值3
就如這樣
設置觸發模式為9的週期性模式
設置輸出管腳為3號
設置延時觸發為0
設置觸發時長為5000000微秒(海康的攝像頭都是以微秒的單位)
這樣,在讀到NoRead的是後我就把這一項打開,就能在未讀到二維碼時輸出信號告知工作人員
或者在讀到錯誤信息時,能夠在數據庫中查詢並且標記。
總的來說,大體上是在原程序的基礎上加以更改然後在細微處調整