CCN/Modbus网关常见问题解答

问题:

  1. 表格的“刷新间隔”点什么含义?
  2. 表格的“数据年龄”点什么含义?
  3. 什么是布尔型?
  4. 字符串点是怎么定义的?
  5. 为什么我在”XXX”上看到的数据与实际数据全部都对不上?
  6. 有些点的数值为什么离谱得超出常识?
  7. 为什么切换到”CCN”模式后,设备会自行启动?
  8. “CCN可写“点的写入为什么不生效?
  9. 为什么有的点在好几个表格中都重复出现?
  10. 这些”DCT_DEF”表格的数据为什么都是无效的?

回答:

  1. 表格的“刷新间隔”点什么含义?
    一个设备中有多个表格,但其中的一些表格的数据,我们并不需要,为减小网络负荷,可以将其“刷新间隔”设为0,关闭刷新。有的表格的数据实时性要求比较高,可以将其“刷新间隔”设为比较小的数值,例如2(2秒钟)。“刷新间隔”可以在配置时设定,也可以将其映射到Modbus保持寄存器中,在运行中运态修改。
  2. 表格的“数据年龄”点什么含义?
    表格的数据在刷新成功后,被赋予值为0的“数据年龄”,以后每过1秒钟,“数据年龄”加1,直至65535,如果数据再次刷新成功,”数据年龄“又被置0。因为数据刷新的通讯有可能失败,一些对数据实时性有要求的应用,不仅仅可以设置较小的“刷新间隔”,还可以利用此值对数据的有效性进行判断。
  3. 什么是布尔型?
    布尔型点的数据仅有2种状态,0代表假,非0代表真。真假的具体定义,可以参见单位一栏,如“Disable Enable”,即表明假代表Disable,真代表Enable。布尔型同样是映射到保持寄存器。
  4. 字符串点是怎么定义的?
    字符串点的映射分两种,一种是直接映射,比如8个字节长度的字符串,映射为4个寄存器,依次为第1寄位器高字节,第1寄存器低字节,第2寄存器高字节……第4寄存器低字节。
    另一种是状态值映射,可以预先定义最多20个字符串,将从设备中读取的字符串与预定义的字符串进行比较,如果符合,就将状态值设为预定义字符串的序号。字符串的比较忽略大小写,并忽略串头与串尾的空格。
    在状态值定义界面中,设定了一些常用的预定义类型,如点击“离心机Mode”,就自动填写了“reset“,”off“,”local“,”ccn“,四个预定义字符串。假设从设备读取到的字符串是” Local”,即匹配到”local”,则状态值寄存器的值即设为2(”local”的序号为2,从0开始编号)。
    每个预定义字符串的有效长度是16字节。假设所有预定义字符串均无法匹配,则状态值寄存器的值将为20。
  5. 为什么我在”XXX”上看到的数据与实际数据全部都对不上?
    请检查下是否所有数据的地址均错位1个寄存器。如是,请将报表输出的寄存器地址全部加1。了解更多
  6. 有些点的数值为什么离谱得超出常识或一直是零?
    因为这些点是可选配的传感器,虽然在设备固件上有留出空间,但实际硬件上并不存在,例如有的机组仅有A1压缩机,但A2等压缩机的数据点仍然保留。
  7. 为什么切换到”CCN”模式后,设备会自行启动?
    在设备被切换到其它模式后,“CCN”模式下接收到的命令被屏蔽,但一旦转为“CCN”模式,即刻生效。因此安全的作法是监测控制模式,一旦转到“CCN”,即发出启停命令。设备至少都有数分钟的延时,足够操作。同样道理,在模式切换后,温度、负荷率设点定同样会发生变化。
  8. “CCN可写“点的写入为什么不生效?
    可能有以下几点原因: 1. 不在CCN模式,命令不被接受,或被接受但被屏蔽未能生效。
    2. 通讯失败。网关成功接收Modbus指令,不等于设备接收到CCN接令,CCN通讯有可能失败。所以请读取寄存器值,确认命令生效,否则需重试。
    3. 延时效应,比如写1到CHIL_S_S点,再读取此点的值,确认已为1。但设备未启动。请耐心,设备有延时保护及启动流程。
    4. 该点不可写?,某些点虽然标明CCN可写,但是需高优先级操作(如“维修级”),我们的网关为避免破坏设备,仅使用”控制级”,具体请查看设备手册。
  9. 为什么有的点在好几个表格中都重复出现?
    对,它们是重复的,代表同一数据。但在映射时,请使用尽量少的表格,这样可以减小刷新负荷。
  10. 这些”DCT_DEF”表格的数据为什么都是无效的?
    这个是CCN的高级应用,其设计用意是提高读写效率,比如把多个压缩机、水温的数据合并在一个表格中。但是其需要复杂的设备配置,默认未启用,因此这些表格的数据是无效的。