1. 程式人生 > >HslCommunication組件庫使用說明 (轉載)

HslCommunication組件庫使用說明 (轉載)

輸入數據 大小 註冊 ack 特殊情況 進度 休眠 個人 知識產權

一個由個人開發的組件庫,攜帶了一些眾多的功能,包含了數據網絡通信,文件上傳下載,日誌組件,PLC訪問類,還有一些其他的基礎類庫。

nuget地址:https://www.nuget.org/packages/HslCommunication/ 技術分享圖片 技術分享圖片

github地址:https://github.com/dathlin/HslCommunication 技術分享圖片 技術分享圖片 如果喜歡可以star或是fork,還可以打賞支持。

API文檔的網址:http://118.24.36.220:8080/ 如果打不開,請通過QQ群,聯系作者。

組件官網:http://www.hslcommunication.cn

創作不易,感謝打賞


技術分享圖片

本庫支持C#版本和java版本,java版本為閹割版,具體參照源代碼,或是加群了解。

NuGet地址:


https://www.nuget.org/packages/HslCommunication/

安裝本組件的NuGet指令為:

1 Install-Package HslCommunication

也可以在Nuget管理器的界面進行圖形化安裝。如果不清楚如何安裝,請參考:http://www.cnblogs.com/dathlin/p/7705014.html

技術支持QQ群:群1:592132877(滿) 群2:948305931

(組件的版本更新細節也將第一時間在群裏發布)

使用限制

關於這個說明也是很多網友關心的,在此統一聲明,該聲明適用於組件的全部功能:

個人使用

個人使用完全免費,無廣告,無註冊碼,無期限,但是使用前請盡可能的測試,如果因為使用組件發生了一些導致生命財產損失(例如和設備通訊導致意外事故),作者概不負責。

公司內部使用

公司內部使用完全免費,無廣告,無註冊碼,無期限,但是使用前請盡可能的測試,如果因為使用組件發生了一些導致生命財產損失(例如和設備通訊導致意外事故),作者概不負責。

應用到項目中,應該有個介紹界面進行聲明組件的原作者(不強制)以表示尊重知識產權。

如果有使用上的問題,作者提供一定的技術支持。

商用免費

此種模式完全免費,無廣告,無註冊碼,無期限,但是使用前請盡可能的測試,如果因為使用組件發生了一些導致生命財產損失(例如和設備通訊導致意外事故),作者概不負責。

項目中必須聲明組件的原作者信息。

如果有使用上的問題,作者提供一定的技術支持。僅限於本組件的使用問題,不包含其他的業務邏輯。

定制化開發,系統繼承開發

提供收費的技術服務,具體數額請聯系作者洽談。

除了提供一些組件相關的技術支持服務外,還提供一些編程指導,基本方案設計服務。解決項目問題,不僅僅限於組件的API調用,還有集成系統設計。

運行環境

.Net Framework

支持 .Net Framework3.5 及以上運行環境。

.Net Standard

這個版本的庫主要應用於.Net Core項目,編寫其他平臺支持的程序時用到。支持.Net Standard 2.0

移除了原先庫中所有窗體,控件代碼,所有的網絡通訊塊都是完成的功能繼承。

Demo 信息,最新的功能支持請參照DEMO界面更新,最新的更新日誌請查找API文檔信息

技術分享圖片

功能列表----(更新不及時,請參照上面的demo界面)

  • 日誌記錄功能
  • 同步網絡通訊功能
  • 文件管理引擎
  • 異步網絡通訊功能
  • 三菱PLC訪問
  • 西門子PLC訪問
  • 歐姆PLC訪問
  • 郵件功能使用
  • 數據訂閱推送
  • 流水號生成器
  • 軟件註冊碼功能
  • ModBus 服務器開發(包括tcp和rtu)
  • ModBus Tcp客戶端開發
  • Modbus RTU客戶端開發
  • 多線程任務功能
  • CRC16校驗
  • 常用控件庫

並在本界面開源部分的源代碼,尤其是通用的方法

當前最新版:技術分享圖片 最新更新日誌參照

http://118.24.36.220:8080/html/c136d3de-eab7-9b0f-4bdf-d891297c8018.htm

v5.2.1 更新日誌

  1. API文檔中西門子FW協議示例代碼修復。
  2. modbus-rtu修復讀取線圈和輸入線圈的值錯誤的bug。
  3. Demo新增字節轉換工具。

v5.2.0 更新日誌

  1. 項目新增api文檔,提供離線版和在線版,文檔提供了一些示例代碼。
  2. modbus-rtu新增批量的數組讀取方法。
  3. modbus-rtu公開ByteTransform屬性,方便的進行數據轉換。
  4. SoftMail刪除發送失敗10次不能繼續發送的機制。
  5. modbus server新增站號屬性,站號不對的話,不響應rtu反饋。
  6. modbus server修復讀取65524和65535地址提示越界的bug。
  7. Demo項目提供了tcp/ip的調試工具。

v5.1.3 更新日誌

  1. Modbus服務器新增數據大小端配置。
  2. Modbus服務器支持數據存儲本地及從本地加載。
  3. 修復modbus服務器邊界讀寫bug。
  4. ByteTransformBase的double轉換bug修復。
  5. 修復ReverseWordTransform批量字節轉換時隱藏的一些bug。
  6. SoftBasic移除2個數據轉換的方法。
  7. 修復modbus寫入單個寄存器的高地位倒置的bug。
  8. 修復串口通信過程中字節接收不完整的異常。包含modbus服務器和modbus-rtu。
  9. 添加了.net 4.5項目,並且其他項目源代碼引用該項目。添加了單元測試,逐步新增測試方法。

v5.1.2 更新日誌

  1. IByteTransform接口新增bool[]數組轉換的2個方法。

  2. Modbus Server類新增離散輸入數據池和輸入寄存器數據池,可以在服務器端讀寫,在客戶端讀。

  3. Modbus Tcp及Modbus Rtu及java的modbus tcp支持富地址表示,比如"s=2;100"為站號2的地址100信息。

  4. Modbus Server修復一個偶爾出現多次異常下線的BUG。

  5. 其他註釋修正。

v5.1.1 更新日誌

  1. 修復西門子fetch/write協議對db塊,定時器,計數器讀寫的BUG。
  2. 埃夫特機器人修復tostring()的方法。
  3. modbus客戶端新增兩個屬性,指示是否字節顛倒和字符串顛倒,根據不同的服務器配置。
  4. IReadWriteNet接口補充幾個數組讀取的方法。
  5. 新增一個全新的連接池功能類,詳細 https://www.cnblogs.com/dathlin/p/9191211.html
  6. 其他的小bug修復,細節優化。

v5.1.0 更新日誌

  1. Modbus服務器支持串口發送數據時也會觸發消息接收。
  2. IReadWriteNet接口新增Read(string address,ushort length)方法。
  3. 提煉統一的設備基類,支持Read方法及其擴展的子方法。
  4. 修復埃夫特機器人的讀取BUG。
  5. 三菱PLC支持讀取定時器,計數器的值,地址格式為"T100","C100"。
  6. 新增快速離散的傅立葉頻譜變換算法,並在Demo中測試三種周期信號。

v5.0.10 更新日誌

  1. Modbus Tcp及Rtu支持手動更改站號。也就是支持動態站號調整。
  2. 修復上個版本遺留的Modbus在地址偏移情況下會多減1的BUG。

v 5.0.9 更新日誌

  1. 優化ComplexNet客戶端的代碼。
  2. 更新埃夫特機器人的讀取機制到最新版。
  3. Modbus Rtu及串口基類支持接收超時時間設置,不會一直卡死。
  4. Modbus Tcp及Rtu都支持帶功能碼輸入,比如讀取100地址,等同於03X100。(註意:該多功能地址僅僅適用於Read及相關的方法)

v5.0.8 更新日誌

  1. 新增一個埃夫特機器人的數據訪問類。
  2. 雙模式客戶端的長連接支持延遲連接操作,通過一個新方法完成。

v5.0.7 更新日誌

1. Modbus服務器提供在線客戶端數量屬性。
2. 所有服務器基類添加端口緩存。
3. 雙模式客戶端完善連接失敗,請求超時的消息提示。
4. 修復雙模式客戶端某些特殊情況下的頭子節NULL異常。
5. 修復三菱交互類的ASCII協議下的寫入數據異常。

v5.0.6 更新日誌

1. 提煉數據轉換基類,優化代碼,修復WordReverse類對字符串的BUG,相當於修復modbus和omron讀寫字符串的異常。
2. 新增一個全新的功能類,數據的推送類,輕量級的高效的訂閱發布數據信息。具體參照Demo。

v5.0.5 更新日誌

1. Modbus相關的代碼優化。
2. 新增Modbus-Rtu客戶端模式,配合服務器的串口支持,已經可以實現電腦本機的通訊測試了。

v5.0.4 更新日誌

1. Modbus-tcp服務器同時支持RTU數據交互。
2. 異形客戶端新增在線監測,自動剔除訪問異常設備。
3. modbus-tcp支持讀取輸入點
4. 所有客戶端設備的連接超時判斷增加休眠,降低CPU負載。
5. 西門子批量讀取上限為19個數組。
6. 其他小幅度的代碼優化。

v5.0.3 更新日誌

1. 修復Modbus-Tcp服務器的空異常。
2. 修復西門子類寫入float,double,long數據異常。
3. 修復modbus-tcp客戶端讀寫字符串顛倒異常。
4. 修復三菱多讀取數據字節的問題。
5. 雙模式客戶端新增異形客戶端模式,變成了三模式客戶端。
6. 提供異形modbus服務器和客戶端Demo方便測試。

v5.0.2 更新日誌

  • 1. ComplexNet服務器代碼精簡優化,移除客戶端的在線信息維護代碼。
  • 2. 西門子訪問類第一次握手信號18字節改為0x02。
  • 3. 更新JSON組件到11.0.2版本。
  • 4. 日誌存儲類優化,支持過濾存儲特殊關鍵字的日誌。
  • 5. Demo項目新增控件介紹信息。

v5.0.1 更新日誌

  • OperateResult靜態方法擴充。
  • 文件引擎提升緩存空間到100K,加速文件傳輸。
  • 三菱添加讀取單個bool數據。
  • Modbus-tcp客戶端支持配置起始地址不是0的服務器。
  • 其他代碼優化。

v5.0.0 更新日誌

  • 網絡核心層重新開發,完全的基於異步IO實現。
  • 所有雙模式客戶端類進行代碼重構,接口統一。
  • 完善並擴充OperateResult對象的類型支持。
  • 提煉一些基礎的更加通用的接口方法,在SoftBasic裏面。
  • 支持歐姆龍PLC的數據交互。
  • 支持三菱的1E幀數據格式。
  • 不兼容升級,謹慎操作。

v4.3.5 更新日誌

  • 修復Modbus-tcp服務器接收異常的BUG。
  • 修復SoftBasic.ByteTo[U]ShortArray兩個方法異常。

v4.3.4 更新日誌

  • Json組件更新至11.0.1版本。
  • 緊急修復日誌類的BeforeSaveToFile事件在特殊情況的觸發BUG。

v4.3.3 更新日誌

  • 曲線控件增加一個新的屬性,圖標標題。
  • Modbus tcp服務器端的讀寫BUG修復。
  • 西門子訪問類重新支持200smart。

v4.3.2 更新日誌

  • 曲線控件最新時間顯示BUG修復。
  • Modbus tcp錯誤碼BUG修復。
  • 三菱訪問類完善long類型讀寫。
  • 西門子訪問類支持1500系列,支持讀取訂貨號。

v4.3.1 更新日誌

  • 優化modbus tcp客戶端的訪問類,支持服務器返回錯誤信息
  • 優化曲線控件,支持橫軸文本顯示,支持輔助線標記,詳細見對應博客

v4.3.0 更新日誌

  • 信號燈控件顯示優化
  • Modbus Tcp服務端類修復內存暴漲問題
  • winfrom客戶端提供一個曲線控件,方便顯示實時數據,多曲線數據

v4.2.4 更新日誌

  • 雙模式的網絡基類中新增一個讀取超時的時間設置,如果為負數,那麽就不驗證返回。

v4.2.3 更新日誌

  • 修復modbus tcp客戶端讀取某些特殊設備會讀取不到數據的BUG。

v4.2.2 更新日誌

  • 修復modbus tcp客戶端讀取 float, int, long,的BUG。

v4.2.1 更新日誌

  • 餅圖控件新增一個是否顯示占比很小的信息文本。
  • 新增一個旋轉開關控件。
  • 新增一個信號燈控件。

v4.2.0 更新日誌

  • 新增一個儀表盤控件。

v4.1.9 更新日誌

  • 餅圖顯示優化,新增是否顯示百分比的選擇。

v4.1.8 更新日誌

  • 新增一個餅圖控件。

v4.1.7 更新日誌

  • 進度條控件新增一個新的屬性對象,是否使用動畫。

v4.1.6 更新日誌

  • OperateResult成功時,消息為成功。
  • 數據庫輔助類API添加,方便的讀取聚合函數
  • 日誌類分析工具界面,顯示文本微調。

v4.1.5 更新日誌

  • 修復流水號生成器無法生成不帶日期格式的流水號BUG。

v4.1.4 更新日誌

  • modbus tcp提供讀取short數組的和ushort數組方法

v4.1.3 更新日誌

  • 進度條控件修復初始顏色為空的BUG。
  • 進度條控件文本鋸齒修復。
  • 按鈕控件無法使用灰色按鈕精靈破解。

v4.1.2 更新日誌

  • 完善Modbus tcp服務器端的數據訂閱功能。
  • 進度條控件支持水平方向和垂直方向兩個模式。

v4.1.1 更新日誌

  • 完善日誌記錄,提供關鍵字記錄操作。
  • 三菱,西門子,modbus tcp客戶端提供自定義數據讀寫。
  • modbus tcp服務端提供數據池功能,並支持數據訂閱操作。
  • 提供一個縱向的進度控件。

v4.1.0 更新日誌

  • 修復西門子讀取的地址偏大會出現異常的BUG。
  • 完善統一了所有三菱,西門子,modbus客戶端類的讀寫方法,已經更新到博客。

v4.0.3 更新日誌

  • 三菱,西門子,Modbus tcp客戶端內核優化重構。
  • 三菱,西門子,Modbus tcp客戶端提供統一的報文測試方法,該方法也是通信核心,所有API都是基於此擴展起來的。
  • 三菱,西門子,Modbus tcp客戶端提供了一些便捷的讀寫API,詳細參見對應博客。
  • 三菱的地址區分十進制和十六進制。
  • 優化三菱的位讀寫操作。

v4.0.2 更新日誌

  • 修復Modbus tcp批量寫入寄存器時,數據解析異常的BUG。
  • 三菱訪問器新增長連接模式。
  • 三菱訪問器支持單個M寫入,在數組中指定一個就行。
  • 三菱訪問器提供了float[]數組寫入的API。
  • 三菱訪問器支持F報警器,B鏈接繼電器,S步進繼電器,V邊沿繼電器,R文件寄存器讀寫,不過還需要大面積測試。
  • 三菱訪問器的讀寫地址支持字符串形式傳入。
  • 其他的細節優化。
  • 感謝 hwdq0012 網友的測試和建議。
  • 感謝 吃飽睡好 好朋友的測試

v4.0.1 更新日誌

兼容更新:

  • 更新了三菱的讀取接口,提供了一個額外的字符串表示的方式,OperateResult<byte[]> read = melsecNet.ReadFromPLC("M100", 5);
  • 更新了西門子的數據訪問類和modbus tcp類提供雙模式運行,按照之前版本的寫法是默認模式,每次請求重新創建網絡連接,新增模式二,在代碼裏先進行連接服務器方法,自動切換到模式二,每次請求都共用一個網絡連接,內部已經同步處理,加速數據訪問,如果訪問失敗,自動在下次請求是重新連接,如果調用關閉連接服務器,自動切換到模式一。

v4.0.0 更新日誌

  與3.X版本不兼容,謹慎升級。如果要升級,OperateResultBytes改成OperateResult<byte[]>,OperateResultString改成OperateResult<string>,主要涉及的代碼包含PLC的數據訪問和同步數據通信

  • 刪除了2個類,OperateResultBytes和OperateResultString類,提供了更加強大方便的泛型繼承類,多達10個泛型參數。地址見http://www.cnblogs.com/dathlin/p/7865682.html
  • 將部分類從HslCommunication命名空間下移動到HslCommunication.Core下面
  • 提供了一個通用的ModBus TCP的客戶端類,方便和服務器交互。
  • 完善了HslCommunication.BasicFramework.SoftBaisc下面的輔助用的靜態方法,提供了一些方便的數據轉化,在上面進行公開。

v3.17.16 更新日誌

  • 西門子訪問類,提供一個批量bool數據寫入,但該寫入存在安全隱患,具體見博客

v3.17.15 更新日誌

  • 完善CRC16校驗碼功能,完善數據庫輔助類方法

v3.17.14 更新日誌

  •  緊急修復了西門子批量訪問時出現的BUG。

v3.17.13 更新日誌

  •  提供一個ModBus的服務端引擎

v3.17.12 更新日誌

    •  重新設計西門子的數據讀取機制,提供一個更改類型的方法。

HslCommunication組件庫使用說明 (轉載)