{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":203891962,"defaultBranch":"master","name":"HslCommunication","ownerLogin":"dathlin","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-08-23T00:07:08.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/19341536?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1660751776.1453","currentOid":""},"activityList":{"items":[{"before":"9fb4580a0498bb3bdd801952092532c3168f573e","after":"ee13125df4a2ffc3bdcc4e9b92782b27f65a0ff9","ref":"refs/heads/master","pushedAt":"2024-09-24T05:15:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v12.1.1\n1. DeviceSerialPort: 修复当设置了非PipeSerialPort串口管道的时候,调用 IsOpen( ) 结果返回不正确的bug。\n2. DeviceServer: 新增方法 ServerStart( int tcpPort, int udpPort ), 用来同时启动TCP服务和UDP服务,三菱的DEMO测试增加启动功能测试。\n3. CommunicationServer: 修复服务器的类再只启动UDP服务器的情况下,服务器侧进行关闭操作时,引发后台线程异常的bug。\n4. MqttServer: 当客户端连接上来的时候,指定了keepAlive后,客户端的ActiveTimeSpan调整为1.5倍的keepAlive值,防止其他客户端极其特殊情况下可能误判下线。\n5. DLT645: DLT645-2007的串口网口类新增跳闸方法Trip( DateTime validTime )及合闸允许方法SwitchingOn( DateTime validTime )\n6. LSCnet: 进行了优化,全部使用连续读取的功能实现,添加携带站号的接口IReadWriteDeviceStation, LSCnet实现了该接口。\n7. SecsValue: 新增加ToSourceCode( )方法,获取获取该对象的源代码表示方式,用于DEMO程序自动生成发数据的源代码。\n8. Demo: 在PLC测试界面上的管道的功能当选择了DTU管道时,设备连接上来的时候,修复ID匹配不正确的bug。\n9. Demo: PLC测试界面上的读写按钮操作,都会在下面的示例代码里面显示出实际的代码情况,一些特殊功能测试的界面全部添加点击按钮生成示例代码,包括机床,机器人界面。\n10. SecsGem: Secs的服务器测试界面和客户端测试界面,功能码列表均支持了编辑和添加删除,然后点击保存连接的时候,自动将全部的功能码列表进行了存储,方便后续测试。\n11. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址(V12版本升级说明):http://www.hsltechnology.cn/Doc/HslCommunication\n12. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v12.1.1"}},{"before":"c205c21c92fd2c1c8bfa27ce316f238701886b64","after":"9fb4580a0498bb3bdd801952092532c3168f573e","ref":"refs/heads/master","pushedAt":"2024-09-03T15:29:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v12.1.0\n1. FanucRobotServer: 修复客户端读取M,I,Q数据区的时候,服务器从内存数据区取数据时偏移量不正确的bug。\n2. SecsHsmsServer: 新增属性DeviceId,当调用方法 PublishSecsMessage 时使用该属性指定的设备ID信息来主动发送客户端。\n3. OmronFinsServer: 虚拟PLC支持了读取plc型号及plc状态的功能码,修复如果遇到不支持的功能码时候直接奔溃的bug,现在返回错误的命令。\n4. FanucSeries0i: 新增加接口读取刀组寿命ReadToolInfoByGroup,读取正在使用的刀组号ReadUseToolGroupId,以及清除刀组ClearToolGroup。\n5. HttpServer: 注册API接口时从之前的只支持GET/POST的方式,现在可以随意的支持其他的文本了,例如PUT\n6. DeviceServer: 虚拟服务器基类针对ReadFromCoreServer进行异常捕获,避免一些特殊情况下乱七八糟的数据导致虚拟服务异常奔溃。\n7. FormLogNetView: 新增属性OpenDialogDefaultPath,设置一个路径后,日志窗体点击打开文件时,将会默认打开该路径。\n8. SoftAuthorize: 授权相关类的实例化方法新增参数useHDD用来指示是否使用HDD参数信息,设置false可以避免插拔U盘导致机器码变化。\n9. Dtu: 重新设计的DTU功能,新增DTU管道,支持TCP,UDP,串口的设备直接变为DTU模式的设备,并直接支持从云上访问,原先的TCP管道删除AlienSession属性。\n10. DEMO界面的管道新增DTU管道选择,可以直接测试,TCP,串口调试界面支持直接转转远程DTU,文档地址:http://www.hsltechnology.cn/Doc/HslCommunication?chapter=HslCommChapter4-18\n11. CommunicationServer: 新增属性SessionsMax,用来设置服务器当前支持的最大会话数量,默认为uint.MaxValue\n12. Inovance: 汇川的AM系列的modbus地址,支持 MB100 地址,内部将自动转为字地址,所以必须为偶数开头。\n13. HttpServer: 新增方法UseHttps( )用来启动https,具体文档参考:http://www.hsltechnology.cn/Doc/HslCommunication?chapter=HslCommChapter6-5\n14. SiemensS7: S7虚拟服务器模拟真实PLC,读取结果数据大于226字节时返回错误码,优化SiemensS7Net的离散读取方法,现在地址传入任意个数或是任意长度,就能正确的分割读取,然后结果合并。\n15. DeviceSerialPort: 修复串口设备基类里,当管道设置了非PipeSerialPort串口管道时,调用打开方法Open()时,仍然打开原串口的bug。\n16. PipeMoxa: 新增一个基于MOXA公司开发的串口库的一个串口管道,在某些情况下比微软官方自带的串口好用,具体参考官网文档。\n17. MqttHelper: 直接捕获ParseMqttClientApplicationMessage解析的异常,防止一些乱七八糟情况下报文不对导致直接程序奔溃的bug。\n18. DEMO: 西门子的测试界面的时间,字符串等读写按钮增加光标悬停提示,提示调用的方法名称,方便大家使用。\n19. Demo: 修复创建示例代码功能中,如果碰到PipeTcpNet管道时,如果属性UseServerActivePush为true时,示例代码没有生成该文本的bug。\n20. Demo: 修复TCP、UDP调试界面下,当使用了定时发送之后,远程连接强制断开后,一直提示会话为空的bug。\n21. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址(V12版本升级说明):http://www.hsltechnology.cn/Doc/HslCommunication\n22. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v12.1.0"}},{"before":"4535606b6a8f497865f68ca1c6f03fd25ee692b6","after":"c205c21c92fd2c1c8bfa27ce316f238701886b64","ref":"refs/heads/master","pushedAt":"2024-07-10T13:32:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v12.0.3\n1. MqttServer: 修复在客户端的掉线事件里如果调用RemoveAndCloseSession移除会话导致内存堆栈溢出的bug,虽然一般都不会这么写代码。\n2. MqttSession: 属性DeveloperPermissions默认值修改为false,在服务器上会话登录后admin用户名默认设置为Ture,也可以自定义更改。\n3. NetSupport: SocketSend及SocketSendAsync方法增加对socket空的校验,防止部分plc实例化后直接调用close直接报异常的bug。\n4. HttpServer: 修改HandleRequest方法及属性HandleRequestFunc返回方法为object, 支持返回string及 byte[],可以用来传文件,此更新为兼容的。\n5. MemobusTcpNet: 安川的协议地址支持了M100,G100,I100,Q100,S100这种地址,支持超大地址,支持对位原生操作。\n6. NetworkConnectedCip: 两个连接时的会话ID属性OTConnectionId及TOConnectionId修改为公开状态。\n7. WebSocketClient: 新增属性GetCarryHostAndPort用来标记HTTP请求头GET是否协议HOST信息,默认为false,DEMO界面优化,添加了输出示例代码,修复某些特殊服务器连接失败的bugs。\n8. OperateResult: 创建失败的类型返回方法新增一个重载的字符串参数,可以额外添加信息说明,方便后续查问题。\n9. SecsHsmsServer: 新增一个PublishSecsMessage重载方法,支持指定是否要求客户端返回,修复demo上勾选要求返回失败的bug。方法SendByCommand新增带wbit是否要求返回信息的重载方法。\n10. OpenProtocolNet: 修复创建报文参数异常,修复并优化demo界面问题,改从TcpNetCommunication继承,新增OpenProtocolServer配合进行本地测试。\n11. BeckhoffAdsNet: 修复读取的字节数大于10000时返回数据长度不正常的bug,修复读取bool数组时返回数据数量不正确的bug,虚拟服务器修复位读取时的返回数据不正确的bug。\n12. PanasonicMewtocol: 松下的Mewtocol协议支持读取 D,LD寄存器的位,地址格式为 D100.0, LD100.0 , 影响范围包括网口及串口。\n13. BeckhoffAdsServer: 修复服务器端自己读写数组的某个索引的数据的时候,提示标签不存在的bug,暂不支持客户端读读写某个索引的标签数组。\n14. ModbusMappingAddress: 新增英威腾PLC的modbus地址转换实现,现在modbus可以注册这个地址转换,直接支持PLC原生地址。\n15. Demo: 数据表控件支持了曲线实现功能,kuka机器人界面增加更多的地址说明,fanuc的机床添加下载程序到本地。\n16. Demo: demo程序的PLC侧的数据表监视界面支持对值进行脚本运算,例如缩小100倍,输入 x/100.0 或是 x*0.01,也可以更加复杂三角函数运算\n17. Demo: demo程序优化,写入bool支持输入0, 1,然后demo关闭服务器自动停掉所有的定时器及线程操作,否则将会触发异常退出。\n18. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址(V12版本升级说明):http://www.hsltechnology.cn/Doc/HslCommunication\n19. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v12.0.3"}},{"before":"0a389b9051d6e9f3255e1e1b484b7c6925290d7f","after":"4535606b6a8f497865f68ca1c6f03fd25ee692b6","ref":"refs/heads/master","pushedAt":"2024-06-03T08:20:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v12.0.2\n1. OmronFinsServer: 客户端握手报文返回时的命令码修改为1,因为在某些情况下第三方客户端会连接失败.\n2. CommunicationServer: 新增管道上线事件OnClientOnline,管道下线的事件OnClientOffline\n3. PipeSerialPort: 修复串口管道当设备方一直不间断发送数据的情况下导致始终不引发超时的bug,影响范围包括所有的串口类设备。\n4. Lsis: lsis的代码优化,支持了DB100这种字节地址,支持直接读short,int多字节数据,修复地址转换异常的bug。\n5. PanasonicMewtocol: 修复日志记录的时候不按照ASCII格式记录的bug。\n6. Demo: 服务器端新增数据模拟的界面,可以使用表达式来动态执行脚本,方便生成一个特殊变化的曲线。\n7. Modbus: 修复Modbus协议在DataFormat为 BADC 及 DCBA 的情况下,写入short及ushort字节不发生转换的bug,影响范围为所有modbus。\n8. FanucSeries0i: 初步添加读取诊断信息方法ReadDiagnoss( int number, int length, int axis ),demo上可以直接测试,欢迎反馈信息。\n9. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址(V12版本升级说明):http://www.hsltechnology.cn/Doc/HslCommunication\n10. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v12.0.2"}},{"before":"5087d663610ed90bf06b73d06e7dfc5678434252","after":"0a389b9051d6e9f3255e1e1b484b7c6925290d7f","ref":"refs/heads/master","pushedAt":"2024-05-24T06:01:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v12.0.1\n1. MqttServer: 当启动文件服务器时,客户端进行文件上传,下载,删除触发的OnFileChangedEvent事件里添加一个属性:映射文件名称。\n2. PipeSslNet: 新增基于 SSL/TLS 的管道信息类 PipeSslNet, 从PipeTcpNet类继承实现,可以配合 HslCommunication 自身的虚拟服务器实现加密通信,防止抓包。\n3. CommunicationTcpServer: TCP服务器基类代码优化,添加对SSL/TLS的支持,签名修改:ThreadPoolLogin( PipeTcpNet pipe, IPEndPoint endPoint ) 这里如有使用可能不兼容升级。\n4. ModbusTcpServer: 修复当DataFormat配置DCAB时,解析客户端的报文的时候,导致地址及长度信息高地位弄反的bug。\n5. PipeSerialPort: 串口管道新增属性DtrEnable控制,表示串行通信中是否启用数据终端就绪 (Drt) 信号\n6. WebSocketHelper: websocket消息接收使用了管道的实现,删除了原先部分多余的代码,mqtt管道公开一些额外的参数信息。\n7. DeviceSerialPort: 当串口管道调用关闭方法Close的时候,修复管道被重新指定其他非串口管道时,连接不会关闭的bug。\n8. DeviceCommunication: 设备类基类重新添加Dispose接口,然后调用管道的Dispose, 方便代码升级考虑兼容性。\n9. BeckhoffAdsNet: 修复管道配置为SSL及自动获取AMS的情况下,获取ams不使用ssl的bug。\n10. DeviceTcpNet: 重新添加回方法SetPersistentConnection()并标记弃用的状态,方便部分用户升级的时候可以保持向后兼容。\n11. DLT645-2007, DLT645-1997, DLT698添加无参的构造方法,这样DEMO生成的示例代码就可以复制使用,然后优化DEMO上的界面。\n12. MelsecMcServer: 三菱的虚拟服务器针对字地址支持了bool读写操作,也就是ReadBool(\"D100.1\"),写入也是一样。\n13. HttpServer: 注册接口的时候,支持输入参数HttpListenerRequest request时,自动传入客户端的请求头,方便进行二次分析处理。\n14. Wecon: demo新增维控PLC的测试界面,如何实例化相关的对象及支持的地址列表参考demo界面上的地址示例及代码示例。\n15. KeyenceNanoServer: 针对客户端单次读写的数据长度从256,提升到1000长度,因为上位链路协议在某些型号里是1000长度的。\n16. Omron: 修复欧姆龙CV系列的情况下,针对CIO数据区执行bool写入操作异常的bug,原因来自PLC不支持bool的写入CIO功能码,使用读字修改位写字来实现。\n17. Inovance: 修复了Modbus协议地址映射后,针对写入字地址的位情况下可能引发了bug,修复汇川的AM系列读写QX,MX位不匹配的bug。\n18. PipeSerialPort: 优化串口管道的数据接收机制,当定义了报文消息的完整性校验对象后,就不再以收到空数据为终结点,如果数据不完整,就一直接收到超时为止。\n19. ModbusRtu: 修复当设备的数据分段延时返回的时候,设备数据的内容刚好符合一些错误规律的时候,会直接返回部分的报文给调用者,然后判断出 crc异常\n20. MqttClient: 修复调用ConnectServerAsync方法连接的情况下触发的OnClientConnected事件中,获取IsConnected属性还是未连接的bug。\n21. LSis: 删除原来按照XGB,XGK这种命名方式,改为了LsCnet, LSFastEnet类,具体类型的实例化,可以参考demo程序生成的代码示例。\n22. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址(V12版本升级说明):http://www.hsltechnology.cn/Doc/HslCommunication\n23. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v12.0.1"}},{"before":"93cabe9d8c6a531ac36e8ece82235092ed7d5390","after":"5087d663610ed90bf06b73d06e7dfc5678434252","ref":"refs/heads/master","pushedAt":"2024-04-29T01:52:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v12.0.0\n1. Controls: 删除controls控件,删除图标资源,FormSupport窗体移动到DEMO,FormPortraitSelect移动到hslcontrols组件,本库更加纯粹的负责通信及算法。\n2. SharpList: 更改锁的机制为lock,优化了代码注释以及部分代码逻辑,提升数组长度比较大的时候的性能,提升批量增加数据时候的性能。\n3. NetSoftUpdateServer: 用于程序升级的服务器修复当传送大文件(120M以上时)传送到一半会卡住,传送非常慢的bug。\n4. Modbus: 修复ModbusTcp协议当设备有前置干扰码但是数据长度判断不正确的bug,ModbusRtu新增站号不匹配时持续接收匹配站号的数据。\n5. SecsMessage: 修复secs消息解析的时候,屏蔽了function字段的最高位的bug,该bug会导致大于127的功能码解析异常,现在可以正确的识别。\n6. FormLogNetView: 日志显示的窗体新增带日志路径的构造函数,当指定路径后,显示页面时立即显示日志内容及统计信息。\n7. OmronFinsTcp: 增加对属性SID信息功能,每次请求的时候进行自增,然后校验PLC返回的数值信息,直到接收到一致为止。\n8. ABBWebApiClient: GetJointTarget方法新增mechunit参数,可以指定不同单元。新增GetAnIOSignal方法。\n9. CommunicationServer: 新增服务器类,可以开启TCP,UDP,SerialPort服务器,绑定事件即可接收到客户端发送的数据。\n10. FujiCommandSettingType: 修复写入数据到plc,提示写入失败但是实际成功的bug; 修复西门子PPI虚拟服务器对写入结果的报文返回不正确的bug。\n11. SecsHsms: 针对SendByCommand方法,如果通信异常,则自动连接操作,也就是所有的发送指令都会将管道标记为异常,下次发送时进行重连。\n12. DLT645Server: 修复主站读取时站号不一致时提示校验失败的bug,修复修改站号命令失败的bug,新增属性站号是否校验。\n13. HslHelper: 修复GetIpAddressFromInput方法输入ipv6地址时会导致解析失败的bug,现在同时支持输入ipv4地址,ipv6地址,域名。\n14. Modbus: 新增属性EnableWriteMaskCode,默认支持掩码功能码,如果发现设备不支持,会自动切换false,使用读字修改位写字的方式来实现写位到字寄存器。\n15. ModbusTcpServer: 新增自由控制是否支持掩码功能码; 台达,麦格米特,汇川,信捷的modbus类地址功能优化,并支持了部分字寄存器的写位操作。\n16. ByteTransform: ByteTransformBase基类删除,字节转换类优化,两个字节的整型short,ushort将根据ABCD,CDAB时使用大端,其他情况使用小端转换。\n17. AllenBradleyNet: 地址支持了x=0x52;A1 这种携带52功能码直接使用片段读写的方式,还支持了class=0x6b;0xf68f这种符号实例ID地址,服务器增加配合,修复相关bug。\n18. LogNet: 存储日志因为文件占用等问题发生异常的时候,不再记录存储失败的信息,存储多次才成功的日志加入[Retry:3]标志,相关代码精简优化。\n19. SecsValue: 新增加一个从string[]对象初始化的构造函数,直接生成一个list对象,包含多个字符串。\n20. DLT698: DLT698协议新增客户端地址CA属性,可以配置更改,代码优化,修复读取电能量数据的扩展参数属性时,缩小倍数不正确的bug。\n21. IOmronFins: FinsTcp,finsUdp,hostlink协议新增属性PlcType,可选CS/CJ 和 CV系列,在CV系列地址码略有不同,fins协议支持ReadCpuTime读取PLC时间。支持了地址 E100 当前数据区\n22. BeckhoffAdsNet: 倍福后台接收数据的地方针对设备通知消息(08功能码)的情况,进行数据屏蔽操作,demo添加ig=0xF030地址格式的示例。\n23. KeyenceMcNet: 修复基恩士MC协议在读取R100.5, MR100.5,LR100.5,CR100.5 地址格式转化真实位地址时地址有偏差的bug。\n24. WebSocketClient: 新增方法 UseSSL( string certificateFile )支持开启证书模式,可以连接 wss 的远程服务器。WebSocketServer也做了代码优化。\n25. V12: 通信类继承体系重新设计, BinaryCommunication(二进制通信)->DeviceCommunication(设备通信)->TCP,UDP,串口通信->每个设备的通信。\n26. V12: 重新设计通信的管道,CommunicationPipe(通信管道)->TCP,UDP,串口,MQTT管道,前者的二进制通信类,可以随意的设置不同的管道,具体参考手册。\n27. V12: 重新设计所有的虚拟PLC类,DeviceCommunication(设备通信)->DeviceServer(服务器)->各个PLC类,同时支持开启TCP,UDP,串口从站的功能。\n28. Demo: 串口网口的收发数据的控件,为了方便模拟设备,输入框支持分批并且延时发送,单独一行即可,数字100表示休眠的时间,可以修改其他值。\n29. Demo: 修复demo的PLC测试界面里,定时读取的时候,PLC发生掉线后不停弹窗的bug,现在代码进行了优化精简。\n30. 请注意,本次升级可能会造成不兼容的情况,具体需要看使用了哪部分的功能,如果简单的使用PLC类例如ModbusTcpNet可以兼容升级,如果使用了基类NetworkDeviceBase,需要替换为DeviceCommunication。\n31. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址(V12版本升级说明):http://www.hsltechnology.cn/Doc/HslCommunication\n32. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v12.0.0"}},{"before":"a705bd50973d206d8bde7c6e5272b5669013f492","after":"93cabe9d8c6a531ac36e8ece82235092ed7d5390","ref":"refs/heads/master","pushedAt":"2024-02-14T12:29:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v11.8.2\n1. OmronFinsNetHelper: 欧姆龙的Fins协议的从错误码获取消息文本的方法修复部分错误码获取文本不匹配的bug。\n2. MqttServer: MQTT服务器针对每个会话的客户端(针对客户端启用了RSA加密的情况)使用临时生成的AES随机密钥,防止AES密钥被伪装客户端获取。\n3. NetworkDoubleBase类的ConnectClose方法以及ConnectCloseAsync方法取消了锁操作,一般建议系统退出时再调用一次,demo上接收超时时可以立即关闭连接。\n4. NetworkBase类以及NetworkDoubleBase类所有的异步操作方法添加.ConfigureAwait( false )操作,防止在部分特殊的情况下使用异步导致死锁卡死UI\n5. MqttServer: 支持MqttSyncClient客户端获取服务器当前的所有的所有在线的会话信息,并增加发布的topic统计功能,也就是客户端可以远程查看服务器在线会话,需要开发者权限帐户。\n6. DEMO MqttServer服务器的测试界面显示的内容优化,显示了在线客户端的详细信息,显示了客户端发布的主题的基本信息。\n7. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication\n8. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v11.8.2"}},{"before":"4da950e856df9aeb847c2055400a8842b5666d29","after":"a705bd50973d206d8bde7c6e5272b5669013f492","ref":"refs/heads/master","pushedAt":"2024-01-28T15:36:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v11.8.1\n1. MelsecMcServer: 修复MC虚拟服务器当远程客户端读取D,W,R,ZR字地址数据时回复不支持的bug,影响范围包括Udp,A1E,A3C服务器。\n2. NetworkDataServerBase: 修复虚拟服务器基类启动串口接收后,触发OnDataReceived事件的报文不是接收到客户端报文的bug。\n3. NetworkDataServerBase: 修复虚拟PLC服务器基类的事件OnDataSend没有触发的bug,就是服务器回发客户端数据的事件。\n4. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication\n5. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v11.8.1"}},{"before":"e27258009fc1a931e23f5de116328a6a3e3f18fc","after":"4da950e856df9aeb847c2055400a8842b5666d29","ref":"refs/heads/master","pushedAt":"2024-01-27T07:29:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v11.8.0\n1. SiemensS7Server: 西门子PLC的虚拟服务器,当客户端连接的时候握手报文也进行输出到日志上面。\n2. OpenProtocolNet: 新增属性RevisonOnConnected,用来设置连接初始化时的MID0001的revison信息,如果小于0,初始化连接时则不使用MID0001\n3. AdsHelper: 倍福的ADS协议里的部分错误码提示的消息附带一些建议的解决方法,可以快速查找问题。\n4. SiemensS7Helper: s7协议里如果执行写入wstring类型的字符串时,当检测到字符串最大长度为0时,自动分配254长度的字符串。\n5. MC1EServer: MC协议的虚拟服务器及MC1EServer的虚拟服务器支持了S0,F0 地址,也支持远程客户端读写该地址。\n6. MqttRpc: 在Mqtt服务器注册了RPC服务器接口后,当注册的自定义的接口方法本身发生异常时,增加提供原始异常相关的本文及堆栈信息。\n7. SiemensS7Net: S7协议新增对地址 SM0.0 的支持,在200系列上测试成功。 新增 PIW0, PQW0 外设地址,在S7-300上测试成功。\n8. HslReflectionHelper: 解析HslStructAttribute特性时,类型为字符串时,修复编码为GB2312,但是编码设置异常的bug,现在自动忽略大小写。\n9. OmronFinsTcpServer: 虚拟PLC支持了CF地址及DR地址类型的读写操作。\n10. OmronCipServer: 当服务器创建了bool[]数组的标签时,修复客户端读写该标签不一致的bug。\n11. IEC104: 104规约总召唤方法的传送原因默认值改为06,新增属性Station表示单元公共地址,并在DEMO上可设置。\n12. ABBWebApiClient: abb机器人代码优化精简,部分接口自动解析更多的数据,demo测试界面显示优化,同时显示解析结果和html文本。\n13. OmronFinsUdp: 报文里的SID字段每次通信将自增1,然后校验返回报文是否一致,虚拟服务器适配客户端。\n14. OmronFinsNetHelper: Fins协议针对EndCode结束码判断增加网络异常标记位判断,直接返回读写失败及错误消息。\n15. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication\n16. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v11.8.0"}},{"before":"44d5189aeff1c0928cda8d42f98b3368b925bffd","after":"e27258009fc1a931e23f5de116328a6a3e3f18fc","ref":"refs/heads/master","pushedAt":"2023-11-11T10:04:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v11.7.0\n1. SiemensS7Net: 西门子的用于计数的消息id在重连plc的时候,自动重置为1,然后重新开始计数。\n2. DLT645: DLT645协议新增对返回的站号检查是否一致的功能,如果刚好站号倒序,则也认为一致。优化消息接收,即使报文前面跟了几个字节的无用信息。\n3. ModbusRtuOverTcp: 优化通信机制,对于单次接收的报文支持了更多的容错,如果CRC校验失败,不再关闭当前的socket连接操作。\n4. MqttServer: 当客户端订阅一个主题之后,如果这个主题属于消息驻留的主题,给当前客户端返回的消息里增加Retain=true标记,方便客户端标记。\n5. MqttServer: 注册MRPC的接口时,如果之前已经有相关的接口注册,现在改为直接覆盖,然后变量参数名自动适配 value 和 values,这两个没找到就相互替换名称。\n6. DLT645Server: 新增DLT645-2007协议虚拟仪表实现,支持一些常见的数据的简单测试,例如电压,电流,频率,时间等信息。\n7. Newtonsoft.Json, NET20项目,NET35项目,NET451项目对JSON库的引用调整SpecificVersion为 False\n8. Demo: 地址示例的表格支持右键弹出上下文菜单,点击复制地址,即可复制当前的地址信息。\n9. Demo: 数据点位表控件DataTableControl修复虚拟服务器不能刷新数据的bug,新增了双击值表格写入数据的功能。\n10. Demo: 修复DEMO服务器的部分ip地址获取网址解析不出数据的bug,所有的襄阳地址均改为襄樊,方便旧版地址显示。\n11. MqttClient: 不兼容更新,收到MQTT的事件签名OnMqttMessageReceived修改为MqttMessageReceiveDelegate( MqttClient client, MqttApplicationMessage message );支持携带Retain信息。\n12. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication\n13. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v11.7.0"}},{"before":"3284da4a2819d7b08b9e6dd320e9914ef55eeef0","after":"44d5189aeff1c0928cda8d42f98b3368b925bffd","ref":"refs/heads/master","pushedAt":"2023-10-26T07:30:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v11.6.4\n1. ByteTransformHelper: 一个转换的静态辅助方法GetSuccessResultFromOther增加异常的捕获,防止在一些极其特殊的情况下导致异常然后奔溃。\n2. IReadWriteMc: MC协议的接口新增属性TargetIOStation,用来表示目标模块IO编号,默认0x03FF, 表示管理的CPU,当访问多CPU时,需要设置本值。\n3. ABBWebApiClient: abb机器人的类新增接口GetUserValue,用来获取用户自定义的一些数据内容,返回double[],demo增加测试功能。\n4. ModbusRtu: rtu报文的解析新增加对头部干扰码的支持,就算报文前跟了一个字节的无用报文,现在也可以正确的解析,也适用于rtuovertcp.\n5. MqttServer: 文件引擎新删除整个目录的接口方法,重命名目录的接口方法,MqttSyncClient代码优化,并且添加配套的接口实现。\n6. HttpServer: 新增Action类型属性ApiCalledAction,当一个接口调用完之后触发,可以获得该接口一些调用信息,方便二次处理。\n7. BeckhoffAdsNet: 新增加ReadStruct( string address )方法及WriteStruct( string address, T value )针对struct类型的对象读写。\n8. Demo: 在所有的PLC设备的读写测试的控件里,在点击了byte类型的读取时,支持了设置长度大于1的情况下,批量读取了byte数据,显示为十进制数据。\n9. Demo: DEMO中的所有的PLC测试界面优化,在没有连接PLC的情况下,也可以切换选项卡查看地址示例。\n10. Nuget: netstandard框架的项目依赖的System.IO.Ports组件版本从7.0降级为6.0,原因是7.0在某些特殊的ARM硬件里存在问题。\n11. HslHelper: 方法CalculateBitStartIndex优化匹配代码,使用了正则表达式进行判断,提升程序速度。\n12. SerialBase: 串口基类,网口基类的一点点代码优化,针对及其特殊情况的一点异常捕获。\n13. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication\n14. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v11.6.4"}},{"before":"8a6db7d3475ea6671aa4ad0a4b3e3b54643d4592","after":"3284da4a2819d7b08b9e6dd320e9914ef55eeef0","ref":"refs/heads/master","pushedAt":"2023-09-25T12:37:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v11.6.3\n1. ModbusTcpServer: 当客户端使用了0xff的站号(10进制为255)的时候,将自动忽略对站号的校验,直接可以进行读写操作。\n2. SiemensS7Net: 新增强制位ForceBool方法,以及取消强制CancelAllForce方法,目前针对200smart测试通过,支持对I,Q的点位强制操作。\n3. OmronFinsServer: 优化返回的报文信息,方便wireshark软件抓包进行分析操作,识别到正确的Fins协议。\n4. SiemensS7Net: 西门子s7协议的报文中,消息号id修改为自增,修复了在某些特殊的200smart型号读取超时的异常。\n5. OmronCipNet, OmronConnectedCipNet: 读取字符串的方法,在解析字符串数据内容的时候,增加错误捕获,并返回数据的二进制内容。\n6. NetworkDeviceBase: 写入数据的几个类型的重载方法,也更改为虚方法,支持子类重写操作。\n7. SiemensS7Net: 新增方法 Write( string[] address, List<byte[]> data )支持同时写入多个数据块的地址数据,SiemensS7Server也支持多个数据块的写入功能。\n8. Melsec: 三菱的协议MelsecA1ENet,MelsecA1EAsciiNet, MelsecFxLinks(含串口及以太网), MelsecA3CNet(含串口及以太网), 读取bool时支持字地址的位,例如 D100.0\n9. CJT188Helper: 水表协议188修复再某些特殊的情况下解析结算累积量异常时,导致读取当前累积量也失败的bug。\n10. OmronFinsNet: 新增属性 ReceiveUntilEmpty, 默认false,设置true后可以在一些及其特殊的场景里防止数据错误的情况。\n11. LogNetManagment: 日志管理对象的一个静态方法优化,增加错误捕获,防止极小概率的意外情况。\n12. SiemensS7Plus: 新增基于s7plus协议的通信对象,使用SSL/TLS加密通信,支持读写数据,不需要开启put/get,支持遍历点位,仅支持.net framework平台,还需要依赖两个openssl的C++库。\n13. Demo: 支持将PLC数据定时读取,然后导出到单个文件。然后可以在虚拟服务器上进行加载文件,然后定时写入,可以本地模拟现场设备数据。\n14. Demo: 原始字节的批量读取功能显示效果,新增整型显示,当切换hex,ascii,整型的时候,自动更新显示数据,更加便捷。\n15. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication\n16. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v11.6.3"}},{"before":"772f15a8c498aad2996f29e3b87ad636b7cdbb47","after":"8a6db7d3475ea6671aa4ad0a4b3e3b54643d4592","ref":"refs/heads/master","pushedAt":"2023-08-13T11:17:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v11.6.2\n1. YRCHighEthernet: 新增ReadManagementTimeSpan接口,用来读取持续的时间,返回的是字符串信息。完善demo界面,提供示例代码信息。\n2. NetworkDoubleBase: 新增一个发送前的报文头设置属性 SendBeforeHex,当使用lora中转通信时,可以设置为lora站号,例如00 00 00 02\n3. ModbusUdpServer: 新增基于UDP通信的ModbusUdpServer虚拟服务器类,在demo界面上的ModbusTcpServer启动时,可选TCP还是UDP功能,方便测试。\n4. MelsecFxLinksOverTcp: 修复属性 WaittingTime 可以设置0xF 以上值的bug,实际这个值不允许设置 0x0f 以上。\n5. XinJEServer: 当服务器站号不一致的时候,并且服务器设置检查站号的情况,直接返回站号不一致的错误消息。\n6. KeyenceNanoServer: 基恩士的上位链路虚拟PLC的字符串是否反转默认设置 true, 如果需要,手动修改server.ByteTransform.IsStringReverseByteWord\n7. FanucSeries0i: 新增方法 ReadAxisNames 读取轴名称以及 ReadSpindleNames读取主轴名称。\n8. IEC104: 添加总召唤方法TotalSubscriptions,优化值解析的过程,Demo界面进行了优化,显示报文的时候,显示其对应的功能说明,api文档新增示例。\n9. AllenBradleyNet: 修复当PLC对象修改了ByteTransform.DataFormat的值后,导致读取PLC时提示会话ID不一致的bug。\n10. DEMO: 在TCP Server调试的界面上,增加保存当前界面的配置参数的功能,连带配置的报文列表也一并存储。\n11. DEMO: 修复DebugControl控件在窗体拖动时,重复触发发送数据按钮的bug,多来回拖动后将会导致程序异常卡顿。\n12. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication\n13. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v11.6.2"}},{"before":"674ac2999d303484886c9736442c11a670978d86","after":"772f15a8c498aad2996f29e3b87ad636b7cdbb47","ref":"refs/heads/master","pushedAt":"2023-07-17T16:04:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v11.6.1\n1. Demo: 保存设备的连接参数及点位数据的时候,支持了设置密码,设置密码后,加载该设备参数时,必须输入正确的密码才能打开。\n2. Demo: 串口调试界面,TCP调试界面,TCP Server调试界面大幅度的调整,优化,更好的区分收发数据,以及数据长度信息。\n3. Demo: 在demo界面的曲线控件界面,从实时曲线修改为历史曲线控件,新增设置颜色,曲线样式,显示最大值,最小值信息,自动滚动条往右。\n4. Demo: 调试的程序在连接成功,或是打开串口之后,直接在测试界面上显示当前的连接类的示例代码,初始化参数和demo界面保持一致,方便直接复制。\n5. ModbusTcpServer: modbus虚拟plc当属性UseModbusRtuOverTcp = true时,同时支持rtu over tcp报文及 ascii over tcp报文,并对 ascii 报文做了更加严格的区分,防止弄乱。\n6. ModbusRtuOverTcp: 通过调整底层基类的读取空消息的报文时,可能引发数据不完整的bug,针对部分回数据断断续续的设备,现在可以读取正确的值信息。\n7. AllenBradleyNet: 优化CIP协议的读写字符串功能,对长度判断更加的完善,当写入字符串时,可以指定额外的type值,例如地址为\"type=0xD1;AA\",影响范围:AllenBradleyMicroCip\n8. HslTimeOut: 优化超时的代码信息,单独添加超时的日志信息,如需记录,可以实例化 HslTimeOut.TimeoutLogNet 属性,并且可以获取到当前所有的超时判断次数 HslTimeOut.TimeoutDealCount\n9. SecsHsms: 优化secs的代码,增加在解析secs消息的时候,对异常错误的消息捕获并记录日志,demo界面优化显示信息,并提供代码示例。\n10. AllenBradleyNet: 写入字符串的时候,如果类型为 DA 的情况,则使用另外的写入方式,在microcip上测试成功。\n11. PanasonicHelper: 修复松下的mewtocol协议使用字的方式写入数据到Y,R,L地址时,引发0x41错误码的bug,原因来自结尾地址偏移异常。\n12. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication\n13. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v11.6.1"}},{"before":"f492efcd0b5a8bbfefdb682111fe939df9d4ae0e","after":"674ac2999d303484886c9736442c11a670978d86","ref":"refs/heads/master","pushedAt":"2023-06-26T03:04:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v11.6.0\n1. DLT645: DLT645-2007 新增对设备返回的报文进行和校验码校验的步骤,如果校验失败,返回错误信息。\n2. MelsecA1EAsciiNet: 修复在字读取长度超过64字时,或是bool读取超过256位时,读取结果不正确的bug。现在支持读取任意的长度数据。\n3. AllenBradleyServe: 修复AllenBradleyServer及OmronCipServer在配置了写入时创建新标签后,写入字符串数据仍然报错,提示标签不存在的bug。\n4. IDlt645: DLT645接口新增Password属性及OpCode,方便在通信时动态修改这两个参数,主要针对DLT645/2007的,对于 DLT645/1997 协议来说无效\n5. MelsecMcServer: 修复MC虚拟服务器在ASCII模式下,写入D之外的寄存器,但是仍然写入D寄存器的bug,影响范围包括A3CServer。\n6. Melsec: 三菱的MC协议开放属性 PlcNumner,可以自由的设置,表示PLC编号。影响范围:MelsecMcNet, MelsecMcAsciiNet, MelsecMcUdp, MelsecMcAsciiUdp\n7. OmronFinsServer: 欧姆龙的FinTcp协议的虚拟PLC支持了CF数据地址,无论是服务器上,还是通过客户端来读写CF数据都可以正确的读取。\n8. FanucSeries0i: 客户端demo修复删除程序,只能删除主目录的程序号的bug,现在可以删除任意指定路径的程序文件信息。\n9. WebsocketServer: websocket服务器运行时,当客户端使用火狐浏览器连接服务器时,修复检测websocket连接失败的bug。\n10. ToyoPuc: 修复丰田工机PLC中,当地址是 U0 及 H0 的时候,地址输入解析不正确的bug,原先的bug是忽略第一个数字。\n11. AllenBradleyServer: CIP虚拟服务器优化通信的细节,正确的设置了基于连接模式下的各种连接ID信息,当PLC使用MSG模块读写虚拟PLC时也顺利通过。\n12. Demo: HslCommunicationDemo程序几乎所有的设备测试界面的线程压力测试界面单独拎出来,显示单次通信的平均耗时。\n13. Demo: HslCommunicationDemo程序几乎所有的设备测试界面增加设备的地址示例说明,带地址示例,含义,部分PLC提供地址范围说明。\n14. Demo: HslCommunicationDemo程序几乎所有的设备测试界面增加数据点位表的功能,可以配置点位表,保存,加载,然后多个点位同时刷新。\n15. .net standard 框架的dll依赖的 System.IO.Ports 版本由 6.0.0 升级到 7.0.0。\n16. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication\n17. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v11.6.0"}},{"before":"81a85f303154b006359061f82d19048ac5addb67","after":"f492efcd0b5a8bbfefdb682111fe939df9d4ae0e","ref":"refs/heads/master","pushedAt":"2023-05-15T05:40:30.763Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v11.5.3\n1. NetworkBase: 在ReceiveByMessage方法里,新增判断消息报文剩余长度小于0时,直接返回头报文信息,防止在万一接收到错乱数据导致小于0引发bug的异常。\n2. FFTFilter: 傅立叶变化的Filter滤波方法,修复当数据有负数的时候,只能得到正数结果的bug,现在可以还原出带有负数情况的波形图。\n3. SiemensS7Server: SiemensS7Server增加在握手报文处理时,对握手报文合法性的检查操作,防止收到一些奇怪数据时导致奔溃。\n4. DLT698: 修复在UseSecurityResquest为默认True情况下,APDU指令创建不正确的bug,涵盖DLT698, DLT698TcpNet, DLT698OverTcp类。\n5. FanucSeries0i: 新增根据字符串程序名读取程序的方法接口ReadProgram( string program, string path = \" ),用来支持读取非数字名称的程序号。\n6. Toyota: 新增丰田工机的计算机链接协议实现,ToyoPuc 类,通过2PORT-EFR模块实现对PLC的读写数据操作,同时增加ToyoPucServer虚拟PLC进行测试。\n7. DLT698: 修复698的协议中的CheckResponse,当请求类型不支持时,引发空对象的异常。\n8. SerialBase: 间歇时间SleepTime允许设置0及小于0,小于0就是不进行任何休眠,三菱编程口MelsecFxSerial增加对消息完整长度的校验机制。\n9. OmronCipServer: 新增欧姆龙自身的CIP服务器,支持客户端使用OmronCipNet类和OmronConnectedCipNet进行通信,支持普通点位,数组,字符串的读写操作。\n10. CipServer: AllenBradleyServer和OmronCipServer支持所有的标签数据存储到文件和从文件加载的操作,demo里服务器的存储加载支持路径选择。\n11. MelsecA1EServer: 新增模拟PLC的实际情况,针对bool读取长度超过256返回错误码,针对字单位读取长度超过64即返回错误。\n12. MelsecA1E: MelsecA1ENet及MelsecA1EAsciiNet类修复读取bool数组时长度超过256报错的bug,MelsecA1EServer完善读取bool超过256返回错误。\n13. Mewtocol: 松下的Mewtocol的串口及网口类对象新增支持读取PLC型号的方法ReadPlcType,虚拟服务器也支持了该功能码。\n14. SerialBase, NetworkDoubleBase: 优化通信代码,针对Thread.Sleep方法也进行错误捕获,防止可能的异常。\n15. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication\n16. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v11.5.3"}},{"before":"60906acd89536f88a5a6012d8e5a65ca5b148d27","after":"81a85f303154b006359061f82d19048ac5addb67","ref":"refs/heads/master","pushedAt":"2023-04-19T06:15:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v11.5.2\n1. OmronCipNet: 修复写入单个Byte数据对象,或是奇数长度的byte[]时,plc报错31错误码的异常,现在可以正常的写入了。\n2. SiemensS7Net: 西门子批量读取地址数组的方法里,原先总长度按照200字节切割变更为按照自动获取的pdu长度进行切割。\n3. MqttClient: Mqtt客户端的连接类MqttConnectionOptions新增属性UseSSL指示是否开始SSL/TLS加密功能,验证证书时修复服务器名称输入错误导致有些服务器连接失败的bug。\n4. NetworkUdpBase: 优化UDP通信基类,增加设置获取PipeSocket方法, 支持设置多个端口,因网络读取失败时自动切换另一个端口。\n5. Modbus: ModbusRtu设备在提取接收到的报文时,校验数据长度并且如果发现长度太长,则按照标准报文长度切割,即使后面跟0xFF扰码也能正确读取\n6. Memobus, DigitronCPL, MegMeet, Delta 相关的通信类,补全缺失的 MPRC 接口注册功能。\n7. Demo: 三菱相关的PLC测试界面在连接PLC失败的时候,原先只提示连接失败,现在提示更加详细的信息。\n8. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication\n9. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v11.5.2"}},{"before":"e22af7948f3d018fd7116fa00472ff8557728d2e","after":"60906acd89536f88a5a6012d8e5a65ca5b148d27","ref":"refs/heads/master","pushedAt":"2023-04-14T03:44:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v11.5.1\n1. MelsecFxSerial: MelsecFxSerial的报文日志记录格式调整为ASCII格式,当设备的日志实例化时,就会自动当前的通信日志。\n2. IReadWriteMc,IReadWriteA3C: 新增属性EnableWriteBitToWordRegister,当开启后支持往D寄存器写入位数据,实现方式为读字,修改位,写字操作,具体风险查看该属性说明。\n3. KeyenceMcNet, KeyenceMcAsciiNet: 基恩士的MC协议的通信,修复ZR地址因为地址进制导致读取不到正确地址的bug,现在使用16进制地址表示。\n4. KeyenceMcNet, KeyenceMcAsciiNet: 地址兼容了基恩士自己的地址格式,可以直接输入 DM100, FM100, EM100, MR015, 或是直接 MR1.2 等\n5. HslHelper: 新增属性LockLimit表示竞争锁上限(默认1000),NetworkDoubleBase,NetworkUdpBase,SerialBase检测当锁竞争达LockLimit次时,直接返回失败,不在增加竞争。\n6. HslTimeOut: 检查socket超时部分的功能代码,当处于linux系统下时,在确认超时close之前,增加一个 Disconnect操作,解决特殊情况close会卡时间的bug。\n7. HslHelper: HslHelper新增属性UseAsyncLock, 标记本通信库的单个通信对象在异步通信的时候是否使用异步锁,默认True, 当使用控制台或是纯后台线程采集时,配置 False 更好。\n8. Modbus: 在写入单个的short及ushort值时,默认使用06功能码,现在支持如果在地址里使用w标记,例如 w=16;100 时,写入时报文就使用16功能码。\n9. TcpForward: 新增属性CacheSize,表示中转时候的数据缓存大小,默认是2048\n10. Net2.0, 3.5, Standard项目添加缺失的类:VigorServer, OmronHostLinkCModeServer, MelsecFxLinksServer, KeyenceDLEN1\n11. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication\n12. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v11.5.1"}},{"before":"5d7525e5ee9edc6914a182772d59ded0455703d1","after":"e22af7948f3d018fd7116fa00472ff8557728d2e","ref":"refs/heads/master","pushedAt":"2023-03-25T07:26:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"dathlin","name":"Richard.Hu","path":"/dathlin","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19341536?s=80&v=4"},"commit":{"message":"feat(release): v11.5.0\n1. DLT698: 698协议新增属性UseSecurityResquest,设置是否使用安全模式来通信,默认true,影响范围包括串口,透传,网口类,特殊的仪表需要设置 false。\n2. DLT698: 新增写入时间数据到地址地址的接口,WriteDateTime( string address, DateTime time ),新增698协议的接口 IDlt698\n3. FanucInterfaceNet: Fanuc机器人对象读取机器人数据时,FanucData解析字符串数据的编码可以手动调整指定。\n4. MelsecFxLinksHelper: 三菱的计算机链接协议里,如果传入的报文以ENQ开头的,则认为传入原始包,不进行封包处理。\n5. OmronFinsAddress: 欧姆龙的Fins协议支持CF地址,可以读取脉冲信号,地址一秒脉冲地址示例:CF1.2 新增IHostLinkCMode, IOmronFins接口。\n6. 新增三菱的编程口接口 IMelsecFxSerial,新增西门子PPI接口 ISiemensPPI,永宏编程提炼接口 IFatekProgram\n7. AllenBradleyNet: 批量读取地址数组的方法,传入长度数组参数由 int 改为 ushort 类型,所有的CIP协议实现了统一的IReadWriteCip接口。(可能不兼容)\n8. FanucSeries0i: ReadProgram方法取消再次接收0x18的命令,因为在 32i 的机子上是会触发超时接收。\n9. YamahaRCX: 雅马哈机器人新增 JogXY 接口,使用微动的方式操作六轴的动作信息,在demo界面上支持JOG的测试。\n10. AllenBradleyHelper: 修复CIP协议创建命令为0x4D写入数据报文时,数据长度过大导致溢出的bug,在解析返回结果数据时增加错误捕获操作。\n11. Modbus: 所有Modbus的客户端以及RTU主站类,接口IModbus新增使用功能码0x17的一条报文实现读写方法ReadWrite,虚拟服务器支持该功能码。\n12. SiemensS7Net: Read( string[] address, ushort[] length )方法不仅仅根据19个长度切割,还根据长度之和是否满足200字节切割。\n13. FinsTcp: Fins协议读取bool时,发现返回数据长度小于指定长度时,自动偏移地址并读取剩余数据,然后返回全部给调用者。\n14. SimpleHybirdLock: 通信的混合锁新增当前锁对象等待的计数属性:LockingTick,可以用来监视锁对象的竞争情况。\n15. Demo: TCP转TCP的支持二进制和ASCII格式的转换显示,完善MegMeet,Lsis的添加,批量读取控件增加提示功能。\n16. HslCommunication: 大部分PLC通信的消息解析代码增加合法性验证,并且增加异常捕获,防止及其特殊的情况导致系统奔溃。\n17. Demo: Demo程序大升级,测试界面支持定时读取,定时写入,写入支持动态数据变化。批量读取,报文读取,特殊功能测试优化,更加便捷。\n18. 新官网:http://www.hsltechnology.cn/,还有全新的使用文档的地址:http://www.hsltechnology.cn/Doc/HslCommunication\n19. 本软件已经申请软件著作权,软著登记号:2020SR0340826,任何盗用软件,破解软件,未经正式合同授权而商业使用均视为侵权。","shortMessageHtmlLink":"feat(release): v11.5.0"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yNFQwNToxNTo1OC4wMDAwMDBazwAAAAS-tbtU","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wMy0yNVQwNzoyNjoxMy4wMDAwMDBazwAAAAMLBQ1c"}},"title":"Activity · dathlin/HslCommunication"}