一个由个人开发的组件库,携带了一些众多的功能,包含了数据网络通信,文件上传下载,日志组件,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界面)

并在本界面开源部分的源代码,尤其是通用的方法

当前最新版:  最新更新日志参照

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组件库使用说明 (转载)的更多相关文章

  1. HslCommunication组件库使用说明

    一个由个人开发的组件库,携带了一些众多的功能,包含了数据网络通信,文件上传下载,日志组件,PLC访问类,还有一些其他的基础类库. nuget地址:https://www.nuget.org/packa ...

  2. [转载]前端——实用UI组件库

    https://www.cnblogs.com/xuepei/p/7920888.html Angular UI 组件 ngx-bootstrap 是一套Bootstrap 组件 官网:https:/ ...

  3. HslControls组件库 工业控件库 曲线控件 时间控件 管道控件 温度计控件 阀门控件 传送带控件 进度条控件 电池控件 数码管控件等等

    本篇博客主要对 HslControls 组件做一个大概的总览介绍,更详细的内容可以参照页面里的子链接,还有github上的源代码,然后进行相关的学习,和使用. Prepare 先从nuget下载到组件 ...

  4. 免费开源的 .NET 分布式组件库 Exceptionless Foundatio

    前言 在互联网时代,分布式应用.系统变得越来越多,我们在使用 .Net 技术构建分布式系统的时候,需要使用到一些组件或者是助手库来帮助我们提高生产力以及应用程序解耦,但是纵观.Net圈,能够符合要求的 ...

  5. UML组件图(转载)

    概述: 组件图是不同的性质和行为.组件图用于模拟物理方面的系统. 现在的问题是什么,这些物理方面?物理方面的元素,如可执行文件,库,文件,证件等它位于在一个节点. 因此,组件图用于可视化的组织和系统组 ...

  6. 【转】如约而至:微信自用的移动端IM网络层跨平台组件库Mars已正式开源

    网上看到关于微信官方的跨平台跨业务的终端基础组件Mars的介绍文章,转载这这里.源代码: https://github.com/Tencent/mars作者:男人链接:https://zhuanlan ...

  7. js组件化(转载)

    今天想着开始封装自己的UI库和组件库,从网上看到一篇很好的关于js组件化的文章,现在分享一下. 转载地址:https://blog.csdn.net/Prince_fmx/article/detail ...

  8. 小程序-文章:微信小程序常见的UI框架/组件库总结

    ylbtech-小程序-文章:微信小程序常见的UI框架/组件库总结 1.返回顶部 1. 想要开发出一套高质量的小程序,运用框架,组件库是省时省力省心必不可少一部分,随着小程序日渐火爆,各种不同类型的小 ...

  9. vue 常用ui组件库

    vux github ui demo:https://github.com/airyland/vux Mint UI 项目主页:http://mint-ui.github.io/#!/zh-cn de ...

随机推荐

  1. struts1与struts2的区别。

    1) 两个框架都是MVC的WEB框架, 2) struts1是老牌框架,应用很广泛,有很好的群众基础,使用它开发风险很小,成本低,Struts2核心设计思想主要源自Webwork,实现更优雅,更容易扩 ...

  2. python中pyperclip库的功能

    python3中pyperclip库的功能 作用就是复制.粘贴 例子 import pyperclip pyperclip.copy('Hello world!') pyperclip.paste() ...

  3. Python运行时的常见错误

    1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加冒号(:)(导致 “SyntaxError :invalid syntax”) 2)使用 ...

  4. c语言操作文件函数大全

    fopen(打开文件)相关函数 open,fclose表头文件 #include<stdio.h>定义函数 FILE * fopen(const char * path,const cha ...

  5. 关于Struts2中 Action 配置method的解读

    为Action配置method属性: 将Action类中的每一个处理方法都定义成一个逻辑Action方法. <!DOCTYPE struts PUBLIC "-//Apache Sof ...

  6. [Codeforces178F2]Representative Sampling

    Problem 给定n个字符串Si,任意选出k个字符串Ai,使得其中任意两个字符串lcp之和最大. Solution 建一棵trie树,枚举每一个节点对答案的贡献,树形dp,时间复杂度像是O(N^3) ...

  7. 一、linux概述

    1. 学习Linux之前先了解Unix Unix是一个强大的多用户.多任务操作系统.于1969年在AT&T的贝尔实验室开发.UNIX的商标权由国际开放标准组织(The Open Group) ...

  8. Python-接口自动化(六)

    接口基础知识(六) (七)接口 1.接口:外部系统与本系统之间以及系统内部的各个子系统间,以约定标准提供的服务,包括对外提供的接口/对外提供的接口. 不同的请求协议:http  webservice  ...

  9. Saiku去掉License验证信息以及数据备份(二十一)

    Saiku去掉License验证信息 终于还是走到了这一步,老早就在说要去掉这个License验证了,一直没做因为忙着别的.但是因为这个License还和可定义的用户数相关,限制了我们的使用,所以这里 ...

  10. linux TOP参数

    TOP参数 top - 01:06:48 up  1:22,  1 user,  load average: 0.06, 0.60, 0.48Tasks:  29 total,   1 running ...