NICAN通讯库 周立功通讯库 ZLG通讯库 PPL通讯库只提供打包库源码价格不一样。 可以和周立功自带Demo看看效果这个使用更方便简单。 具体支持哪些看图ZLG的NICAN所有的都支持在工业通讯领域有几个名字总是绕不开的——NICAN、ZLG、PPL。这三个通讯库各有特色开发者们在实际项目中常常需要根据需求权衡选择。最近在调试某工业设备时恰好把这几个库都摸了个遍这里分享些实战心得。先说说ZLG通讯库。周立功家的东西确实对新手友好他们的Demo工程堪称教科书级别的保姆服务。比如初始化CAN设备只需要三行代码var zlgCan new ZCAN_InitLib(); zlgCan.Connect(CAN1, 500kbps); zlgCan.Start();这种API设计简直是把别让开发者动脑写在脸上。底层自动处理了通道映射和错误重试特别适合赶工期的项目。但要注意他们的硬件绑定策略某些高级功能需要搭配特定型号的网关才能解锁。NICAN通讯库 周立功通讯库 ZLG通讯库 PPL通讯库只提供打包库源码价格不一样。 可以和周立功自带Demo看看效果这个使用更方便简单。 具体支持哪些看图ZLG的NICAN所有的都支持NICAN则走的是另一条路线支持协议全得让人眼花缭乱。从CANopen到J1939从标准帧到FD扩展帧基本覆盖了工业场景的所有可能性。试过用他们的库搞多协议转换NicanBusConfig config; config.SetBaudrate(1Mbps) .EnableFD(true) .SetAutoRetry(3) .SetProtocolStack(Protocol::CANopen); auto bus Nican::CreateBus(PCI-8514/2, config);这种链式配置写法很对强迫症的胃口不过参数组合太多容易踩坑。记得某次设置FD帧时漏了设置数据场波特率硬是排查了两小时才发现问题。至于PPL通讯库这货走的是神秘路线。只给编译好的二进制包想看源码得加钱买授权。不过他们的异步事件机制确实香ppl PPLoader.load(can_pplx.dll) handler ppl.create_event_handler( lambda e: print(fReceived: {e.arb_id} {e.data})) device ppl.open(0, handler)这种回调机制在处理高并发数据时异常流畅实测在千帧/秒的冲击下CPU占用率还能保持个位数。不过调试起来就像在玩扫雷——没有源码的异常堆栈全是问号。最后给个实在建议如果是快速验证方案直接上ZLG的Demo工程准没错需要深度定制协议栈就选NICAN而对性能有变态要求且不差钱的主PPL的二进制库确实能打。不过千万记得在选型前仔细核对硬件兼容列表我见过最离谱的案例是某型号PCI卡在NICAN和PPL下的延时能差出20ms这坑谁踩谁知道。
NICAN通讯库 周立功通讯库 ZLG通讯库 PPL通讯库,只提供打包库,源码价格不一样
NICAN通讯库 周立功通讯库 ZLG通讯库 PPL通讯库只提供打包库源码价格不一样。 可以和周立功自带Demo看看效果这个使用更方便简单。 具体支持哪些看图ZLG的NICAN所有的都支持在工业通讯领域有几个名字总是绕不开的——NICAN、ZLG、PPL。这三个通讯库各有特色开发者们在实际项目中常常需要根据需求权衡选择。最近在调试某工业设备时恰好把这几个库都摸了个遍这里分享些实战心得。先说说ZLG通讯库。周立功家的东西确实对新手友好他们的Demo工程堪称教科书级别的保姆服务。比如初始化CAN设备只需要三行代码var zlgCan new ZCAN_InitLib(); zlgCan.Connect(CAN1, 500kbps); zlgCan.Start();这种API设计简直是把别让开发者动脑写在脸上。底层自动处理了通道映射和错误重试特别适合赶工期的项目。但要注意他们的硬件绑定策略某些高级功能需要搭配特定型号的网关才能解锁。NICAN通讯库 周立功通讯库 ZLG通讯库 PPL通讯库只提供打包库源码价格不一样。 可以和周立功自带Demo看看效果这个使用更方便简单。 具体支持哪些看图ZLG的NICAN所有的都支持NICAN则走的是另一条路线支持协议全得让人眼花缭乱。从CANopen到J1939从标准帧到FD扩展帧基本覆盖了工业场景的所有可能性。试过用他们的库搞多协议转换NicanBusConfig config; config.SetBaudrate(1Mbps) .EnableFD(true) .SetAutoRetry(3) .SetProtocolStack(Protocol::CANopen); auto bus Nican::CreateBus(PCI-8514/2, config);这种链式配置写法很对强迫症的胃口不过参数组合太多容易踩坑。记得某次设置FD帧时漏了设置数据场波特率硬是排查了两小时才发现问题。至于PPL通讯库这货走的是神秘路线。只给编译好的二进制包想看源码得加钱买授权。不过他们的异步事件机制确实香ppl PPLoader.load(can_pplx.dll) handler ppl.create_event_handler( lambda e: print(fReceived: {e.arb_id} {e.data})) device ppl.open(0, handler)这种回调机制在处理高并发数据时异常流畅实测在千帧/秒的冲击下CPU占用率还能保持个位数。不过调试起来就像在玩扫雷——没有源码的异常堆栈全是问号。最后给个实在建议如果是快速验证方案直接上ZLG的Demo工程准没错需要深度定制协议栈就选NICAN而对性能有变态要求且不差钱的主PPL的二进制库确实能打。不过千万记得在选型前仔细核对硬件兼容列表我见过最离谱的案例是某型号PCI卡在NICAN和PPL下的延时能差出20ms这坑谁踩谁知道。