开利中国特色的冷机固件

前两个月我们的工程师在现场调试CCN Gateway,冷机型号是30RB,控制系统是touch pilot,发现Web Gui里看到的机组状态是中文乱码,其它点的中文显示正确,工程师当场就凌乱了,查了开利美国版本的手册,及国内最常用的法国版本的手册,都对应不上。

工程师只能操作冷机的面板,看看什么状况,结果,居然冷机面板看到的一样是乱码。客户当场就要发飚,这根本就是汉化不完全的半成品。

联系到前两年有一款30XA的中文界面,在英文原版的界面中,机组状态有”Stopping”与”Off”,英文很好理解,“Stopping”就是正在停机中,”Off“就是停机状态。

但是中文的面板,将两者都翻译成”停止“,这样客户无法分辨机组到底停了没有,水泵能不能安全关闭。其实只要将”Stopping“翻译成”停止中“,就不会有这个混淆产生了。

今天,在一款30XA_NGA的热回收机组上,看到热回收进出水温度的英文是”Hear Reclaim Entering”, “Hear Reclaim Leaving”, 明显这里的单词”Hear”是错误的,本应为“Heat”。而且在”RECLAIM”表中的热回收进出水温度的数据一直为0,不更新。这意味着如果客户不幸高价采购了开利原装的网关,只能读到无效的热回收工作数据。

幸运的是在维持表“WCHRSTAT”中,有对应的数据点,而且数值持续更新中。我们新版的网关固件支持维持表映射(开利原装网关不支持),终于为客户解决了这个麻烦。

以我们的理解,这些问题的根源在于开利国内的开发部,在原版固件的基础上做二次开发时不严谨。而且CCN部门在面对用户时一贯强势,使得对于产品的缺陷,客户也只能逆来顺受,无法将需求传导到开发部门,从而修正缺陷。

而对我们来说,仅有最大程度满足客户需求,才有市场立足之地。因些对客户的所有问题,我们都尽力解答,甚至要为客户解释机组的运行逻辑、故障维修,半夜三更远程替客户配置网关。

CCN网关支持16DJ/16DE吸收式机组

16DJ的机型很早以前就测试过了。这次客户在现场遇到一台16DE机型,无法初始化成功。在客户协助下,进行了远程调试,并根据调试结果升级了固件。

一般这种问题的原因是我们的底层软件,为了避免对设备造成任何破坏,采用了极严格的校验,如果冷机的固件信息有一些不符,均拒绝操作,须经远程调试确认后,才能手动放行。

我司在这个领域几年以来,见识到了无数的固件版本,冷机型号相同,固件可能不同,点位也不一样,如果不深入研究内部的数据结构,照葫芦画瓢,只会把客户的设备置于风险之中。

网关模拟

我们的模拟演示网关连接6台模拟冷机,总线号为0,元素地址分别为1~6。

模拟网站的用户名为:admin,无密码。

Modbus网关的访问地址为:http://demo1.hvacrcontrol.com

BACnet网关的访问地址为:http://demo2.hvacrcontrol.com

同时根据网关上配置的Modbus TCP与BACnet IP端口,您可以用modscanVTS进行测试。

因为这两台网关是开放访问的,如果有多个用户同时操作,可能会有奇怪地结果,如果您想独立地模拟操作,请联系我们,我们会提供一个独立的入口。

新版本网关准备上市

我们上一版本的网关三年中已经在上百个项目中得到应用,虽然到目前到止,返修率为零。但是还是有一些不理想的地方。所以我们对此进行了升级,新版本的网关已生产测试就绪,整装待发,主要的更新有:

体积更小,可以更方便地安装在机组的控制箱内。
采用9V到24V交直流通用电源,可以直接引机组的控制电源,方便安装。
两路RS485(一路为CCN,另一路为Modbus或BACnet MSTP)均采用1500V隔离设计。
优化了驱动程序,程序响应更迅捷。

新版本网关图片:新版网关1新版网关2

 

 

 

33CNTRAN485官方Modbus点表的错误

在网络上到处可见从官方流出的《开利冷机Modbus点定义规范》,但是其中有一些错误给使用者造成困惑,如:官方规范中的状态定义

a是19XR/19XRV/19XL状态点(STATUS)的定义,b是所有机型的故障点(SYS_ALM或ALM)的定义,c是30HXC/30RQ/30XAXQXW机型状态点(STATUS)的定义。

读者可以访问我们的demo站点,用户名:admin,密码为空。从中可以看到我们对各个机型相关点的定义,可以看到与官方点定义的差别。

最近有客户在30HXC上应用了33CNTRAN485,就发现了状态值对不上,浪费了不少宝贵时间,希望本文对后来者有帮助。

 

冷水机组远程启停的设置

经常有客户采用干接点来远程启停冷水机组,除了需要连接设备上的启停接点外(在主控板上,如是离心机则在启动柜的管理模块上),还需要在机器侧做如下设置:

如果是30XW/30XA/30XQ机组,按启动/停止按钮,在弹出菜单上选择”遥控模式“

如果是30HXC/30RB/30RQ机组,按住启动/停止按钮不动,看数码管显示屏闪动显示,直到出现”rEn“字样(实际上是“remote”的前三字符”rem”)闪动时,松开启动/停止按钮,按确认键,进入遥控模式。

提醒注意的是,在遥控模式下,网关的写命令不能生效。

如果是19XR机组,选择“菜单”->“服务”->输入服务密码->”设备服务”->”选配”,将“远程触点选项”改为生效。然后,不管采用本地或CCN方式开机,都可以用远程触点进行启停操作。

以下图片分享某工程的19XR冷水机组,其就是采用遥控方式启停。

19XR冷水机组CCN接线。

19XR冷水机组

开利官方Modbus通讯模块

经常有客户问到,开利官方通讯模块(即33cntran485)与我们的网关模块之间的有什么功能区别,这里提供一些资料:

官网英文说明书
开利冷机Modbus点定义规范(更新)

从官网说明书可以看出,其实每个模块(即每台冷机)映射的点数可达100点,并可自由定义。通讯参数等也可自由配置。但是为了节省现场调试工作量,国内在通讯模块出厂前就已做了预配置,仅映射了常见的点。

而我们的网关,映射点数不限,现场自由配置。同时,我们新一版的固件不再映射SETPOINT表及SCHEDULE表(官方的网关可以映射,但国内在出厂时也没有做映射,因为没人用。SETPOINT表中的设定点与STATUS表中的可写点功能一样,但SETPOINT表在运行中不能写入。SCHEDULE表提供定时功能,但所有客户都表示他们上位机能更轻松灵活地处理定时。)

同时官方说明书明确指出,读写的周期是30S,对实时的应用很悲剧。以后我们会讨论一个实时的应用。

CCN网关增加模板功能

为了提高现场配置效率。网关的配置界面增加了模板功能。使用方法如下:

在Web网关设备的界面,如下图,点击“模板”
选择“模板”按钮

跳出以下对话框模板对话框

如果点击“保存”,则将当前配置做为模板文件保存到本地电脑。
如果选择模板(当前共有5种模板),然后点击“应用”,此模板将应用于此设备中。
也可以选择本地电脑中的模板文件,上传模板,则此模板将上传并应用于此设备中。

如此相同或相似的设备,就不用重复配置,可以采用模块配置后,再稍加调整。

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的高级应用,其设计用意是提高读写效率,比如把多个压缩机、水温的数据合并在一个表格中。但是其需要复杂的设备配置,默认未启用,因此这些表格的数据是无效的。