C#二次開發金橙子MarkEzd.dll激光打標機

最近公司這邊需要生產一批設備,殼體需要根據每個設備的唯一標識號+相關信息,動態生成二維碼並利用激光打標機進行打印。他們給的控制軟件呢,雖然功能比較強大,但是對於我們動態生成二維碼信息的場景操作起來就比較操蛋了,需要人工修改二維碼字符串信息,即便再工人非常謹慎的操作下,也很容易出錯。後來我們通過程序自動控制二維碼內容的生產,然後再進行打標,這樣以來不但節約人工成本加快生產速度,也能防止人工操作出現的二維碼內容錯誤的現象。

說起來比較坑,之前買的激光打標機說板子不支持二次開發,需要加5000塊錢換成支持二次開發的板子纔行。

不知道是不是他們家的產品只支持在Windows XP系統運行,所以我們在設計程序的時候要選擇.NET Framework 4.0及其以下版本,因爲XP是不支持.NET Framework 4.0以上版本。

接下來我們就按照廠家給的MarkEzd.dll說明文檔開始實現。

MarkEzd.dll是非託管dll,所以我們在導入dll 的時候使用DllImport方式導入dll

剩下的就按照廠家給的文檔開始實現吧,下面我說幾個開發中遇到的幾個問題以及處理方法:

(1)試圖加載格式不正確的程序

處理方式:

目標平臺改成X86即可。

(2)調用dll時候返回MarkEzd.dll定義的通用錯誤碼

處理方式:

我這邊是將自己寫的程序直接放在他們原來程序的根目錄下,問題就全部解決了。

(3)無法找到加密狗!軟件將工作在演示模式

處理方式:

說實話這個是最讓人心煩的操作,這樣就預示着我們本地無法調試,只能將程序打包放在打標機的電腦上才能測試。

(4).ezd格式文件

由於激光打標機只支持加載.ezd格式文件,所以我們的程序需要依賴於他們的軟件,通過他們的軟件創建一個我們需要用到的模板,然後再修改模板內容進行我們的打印操作。

開發過程中有遇到問題的同學可以與私信我一起交流!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章