• 快速入门
  • HTTP文档
  • .NET开发指南
  • DEMO下载
  • 调用HTTP常见问题
    Show / Hide Table of Contents
    • FBox接口调用常见问题
      • 登录接口处理
      • 如何控制设备
      • 获取设备的数据
      • 报警数据
      • 历史数据
      • Signalr推送
      • 接口返回码
      • 常见问题汇总

    SignalR事件

    盒子状态变更事件
    此事件触发条件:
    1、signalr刚连上时,此事件触发。或盒子的状态有变化后。(状态代表盒子与服务器的连接状态)

    实时数据推送事件
    此事件触发条件:
    1、收到盒子上线事件后,必须调用开点。
    2、监控点数据发生变化。或监控点状态发生变化。(状态表示盒子与PLC之间通讯的状态)

    报警触发推送
    此事件触发条件:
    1、当报警条目数据触发报警条件时,服务器推送消息。
    注意:若报警条件持续满足,只会推送第一次触发报警的消息。

    报警还原推送
    此事件触发条件:
    1、当报警条目数据还原时,服务器推送消息。

    SignalR Demo

    C# Demo

    VS版本需要15.3及以上,C# demo是.net core程序,Nuget引入的依赖包在demo中的nuget文件夹下,framework项目使用dll需要4.6及以上的版本。

    java Demo
    java demo包含Gradle与maven工程,需要java8,signalr的jar包在repos文件夹下。
    1、填写Global.java文件的参数后
    2、查看README文件
    3、编译后运行jar

    注意:
    demo均已处理好signalr重连与token过期刷新token的问题。
    如不使用demo,需要自行处理signalr断开后的重连问题。每个用户全局只需建立一次signalr实例(单例)
    需要自行处理token过期即接口返回401。根据refresh_token调重新登录接口刷新access_token后重试接口
    开点接口中Header下的X-FBox-ClientId要与连接signalr的X-FBox-ClientId一致,每次启动程序guid需要新生成

    siganlr断线后,某些盒子的数据不推送了

    signalr每次重连或盒子掉线了上线后,均需要调开点。建立signalr连接的X-FBox-ClientId与开点接口的X-FBox-ClientId要一致
    接口可能会失败或异常,保存下日志,程序需要处理开点接口异常后重试机制,直至该接口调用成功。

    siganlr推送的频率太高

    SignalR推送是变化推送,PLC数据发生变化,FBox上报服务器,可以通过给监控点设置死值区、省流量模式调节下。

    siganlr推送数据与FlexManager显示有差异

    FlexManager配置了小数位或者数值运算,推送的数据不对盒子上报的数据进行处理。如需接收推送处理的数据,可通过FlexManager的边缘计算处理

    多个FBox,怎么接收数据

    signalr实例要保持长连接,程序中是单例的。推送当前整个FlexManager账号的数据,只需要侦听实时数据推送事件并对在线的盒子调用开点接口。

    Back to top Generated by DocFX