通过Anybus CompactCom 40内置网页查看ADI数据一直卡在Loading状态

22 11月 2024

本文分析了通过Anybus CompactCom 40内置网页查看ADI数据一直卡在Loading状态的一种可能的原因

适用产品

Anybus CompactCom 40 with webserver function

问题

  • 访问Anybus CompactCom 40内置网页,上载ADI信息时一直卡在Loading状态,示例ADI如下
    • const AD_AdiEntryType APPL_asAdiEntryList[] =

      {

      { 0x1, "ABP_UINT16_WRITE", ABP_UINT16, 250, APPL_WRITE_MAP_READ_ACCESS_DESC, { { appl_aiUint16, &appl_sUint16Prop } } },

      { 0x2, "ABP_UINT16_READ", ABP_UINT16, 250, APPL_READ_MAP_WRITE_ACCESS_DESC, { { appl_aiUint16, &appl_sUint16Prop } } },

      { 0x3, "TEST", ABP_UINT8, 1, APPL_NOT_MAP_WRITE_ACCESS_DESC, { { &appl_test, &appl_sUint16Prop } } },

      };
  •  

 

回答

  • 可能的原因是因为单个ADI的字节数过大,造成模块与驱动程序之间消息的长度超过了驱动程序支持的最大字节数。
  • 调整\abcc_adapt\abcc_drv_cfg.h文件中的ABCC_CFG_MAX_MSG_SIZE的值,网页功能恢复正常
  • 驱动程序日志如下,可见读取网页加载ADI数据值时的消息长度较大
  • 网页加载恢复正常