转换BASgatewayLX的CSV格式配置文件

BASgatewayLX(以下简单LX)的从站配置采用CSV格式,有较详细的文档说明,并且有一个可下载的配置列表。 我们提供了从其CSV配置文件转换到BACRouter的从站json配置文件的迁移工具。

在我们网站上直接转换

下载转换工具解压缩后用浏览器打开index.html

几点注意事项:

虽然LX的CSV文档说明中,对象名是唯一的,但配套的Profile Checker并不检查重复,且我们在测试中发现不少的重复对象名。遇到这种情况,我们将把冲突对象置为停用。

有的CSV配置文件的字符集不是常用的UTF8,可能是ISO-8859-1。我们尽量在转换时进行探测,最后回退到ISO-8859-1

LX支持的最长对象名与描述是64个字符,采用的是ISO-8859-1编码。BACRouter也支持最长64个字符,但采用utf8编码,存在一种可能即满足LX的64个ISO-8859-1个字符,又超过BACRouter的64个utf8编码长度,虽然我们测试中没有发生这种情况。如果转换中发现对象名或描述长度超出限制,我们将进行尾部裁断,并进行提示。

BACRouter不允许输出类型的对象所映射的Modbus地址重叠,但LX似乎允许。遇到这种情况,我们将把冲突对象置为停用。

LX允许对每一个32位数据单独设置字顺序,BACRouter必须在从站参数中统一设置。如果在转换中发现字顺序定义互相矛盾,我们将采用在先的定义,并提示冲突。

BACRouter每个从站的对象实例空间只有0~999,LX似乎没有限制,如果遇到定义的实例号超出999,我们将采用自动分配实例号。

离线配置与导入/导出

从固件4.x起,BACRouter引入了离线配置功能。现在用户可以脱离设备实物进行配置,将配置结果导出为文件。在调试现场,只需导入前面导出的配置文件,再“保存并重启”即可生效。

从固件4.04起,Modbus网关的从站点表可以用CSV格式导入导出,CSV文件可以在Excel/WPS/Libreoffice中进行编辑,适合批量建立对象与Modbus地址的映射,再导入到WebUI进行精确化编辑。

在我们网站上离线配置

下载并解压到磁盘,用浏览器打开index.html文件 (因为IE/Edge浏览器不支持本地网页的Local Storage功能,所以用户文本库及常用工程单位信息在浏览器关闭后将丢失)

配置文件分为以下三种:

BACRouter 配置文件

此文件保存了BACRouter内的所有设定. 如果生成配置文件的固件版本与导入文件的固件版本一致,WebUI不应抱怨文件问题。

Modbus 主站配置文件

此文件保存了该主站范围内的配置。当导入时,基于当前映射模式的冲空检测机制将会检查此主站下每一个启用的从站。如果发现冲突,该从站将被停用。

如果该主站是RTU/ASCII类型且发现针对RS485端口的争用,此主站也将被停用。

如出现此类问题,WebUI将提示用户检查配置。

Modbus 从站配置文件

此文件保存了该从站范围内的配轩。当导入时,如基于当前映射模式的冲突检测机制发现问题,该从站将被停用。

WebUI允许将TCP从站的配置文件导入到RTU/ASCII主站下,反之亦然。但是如果从站的Modbus参数不匹配,该从站将被停用。

如出现此类问题,WebUI将提示用户检查配置。

BACRouter内置的Modbus 网关

因版本4.05于2021-06-07更新

从固件版本4.x起,BACRouter内置了Modbus网关功能。这篇文章尝试解释其底层运作机制。

Modbus 读

BACRouter周期性地读取点数据并缓存。“刷新间隔”定义读取数据的间隔。

为了提高性能,BACRouter将尽可能在一次事务读取更多数据。在Modbus标准中,最多2000个位(指线圈或离散输入)或125个寄存器(指输入或保持寄存器)可以在一次请求中读回,但是特定的Modbus从站可能不支持读取大量的数据。在BACRouter的WebUI的”从站设定“页面的Modbus参数对话框中,”批量读比特位数“与”批量读寄存器数“两个参数定义了从站的对批量读数据的支持。

BACRouter不会分段读取单点的数据,即使”批量读寄存器数“小于该点占用的寄存器数。

通常来说,我们关心的数据的Modbus地址并不连续,比如我们只关心地址为1及2000的线圈,虽然我们可以一次批量读回地址1~2000的数据,然后抛弃地址2~1999的数据,先读取地址1的数据,再发请求读取地址2000的数据的做法可能更有效率。”比特位跳过“与”寄存器跳过“参数定义了在两个我们关心的数据地址中间,有多少个无用的数据允许被抛弃。假设在上述例子中,”比特位跳过“设为1998,BACRouter将尝试一次性读回地址1~2000,抛弃中间1998个数据。倘若”比特位跳过“为1997,则BACRouter将分两次读取地址1与地址2000。因为中间跳过的1998个数据大于设定值1997。

在从站的配置页面,“编组读取”显示读操作如何编组,并可进行测试。请特别关注服务端报告的非法数据地址!

Modbus 写

BACRouter不会合并写请求。当接收到写指令时将马上发出Modbus写请求。

对于写单个数据,有两个Modbus功能号可供使用。例如,功能5为写单个线圈,功能号15为写多个线圈但写数量可以为1。有的从站只支持其中一个功能号。”写单个线圈”参数指定采用哪个功能号。

同样地,”写单个寄存器“参数指定用于写单个寄存器的功能号。假设有任一个BACnet输出对象映射到多个保持寄存器,这意味着从站支持功能号16写多个寄存器,”写单个寄存器“参数将被忽略,功能号16将被采用。

离线

如果任何读写请求失败,BACRouter将会重试,如果连续失败次数达到3次,BACRouter将认为该从站离线。在离线状态下,BACRouter将间隔”离线刷新间隔“时间重试该请求。

在离线事件中,BACnet侧的反应将在后面描述。

Modbus 串行总线

BACRouter支持在同一条RS485总线上,不同波特率、奇偶较验、RTU/ASCII模式的从站共存。在发出请求前,BACRouter将根据从站的设定切换串口的参数。

如总线上的两个从站拥有相同的从站地址但是波特率或RTU/ASCII模式不同,BACRouter可以无冲突地通信。但是如果仅依赖不同的奇偶较验来防范冲突并不可靠,因为有的从站并不检查奇偶错误。

单设备映射模式

如VBUS网络端口未使能,BACRouter将工作于单设备模式,每个Modbus从站将被映射到”应用层设定“中定义的BACnet设备的不同对象实例空间。每个从站将占据1000实例空间。

对象的实际名称为“主站名称|从站名称|对象名称”,名隔分隔符”|”可由用户选择。

依据BACnet标准的推荐做法,BACRouter将为每一个从站创建一个结构化视图对象。

本模式下当从站切换到离线状态,所有点的可靠性将被设为”COMMUNICATION_FAILURE”,当从站重新上线时,随着点数据的更新,各点的可靠性将被重新置回到”NO_FAULT_DETECTED”。

虚拟设备映射模式

当VBUS网络端口被使能,每个从站将被映射为VBUS网络上的虚拟BACnet设备。虚拟设备的MAC地址将从1开始。

在本模式下,所有从站必须有一个唯一的“设备实例号”。从站实际名称为”主站名称|从站名称”,其中”|”为可选择的名称分隔符。

在本模式下如果从站切换到离线,依据BACnet标准的推荐做法,对应的虚拟BACnet设备将停止收发包以模拟离线状态。当从站重新上线时后,当更新完所有点数据后,虚拟BACnet设备将退出离线状态。

从站状态

针对每一个从站,BACRouter在缺省BACnet设备内创建3个对象。一个名为”online”的二进制输入对象,代表从站的上线状态。一个名为”update_delay”的模拟输入对象,代表最近平均数据更新延迟(对比”update_delay”), 最后一个是名为”fail_rate”的模拟输入对象,代表相对长时间内的Modbus侧通讯失败率。

这些对象名均有“主站名称|从站名称|comm|”的前缀,其中“|”为可选择的名称分隔符。

对象实例号分配

对象的实例号单独进行定义。当对象编辑窗口提交时,如对象被启用,将分配其声明的实例号,如该实例号被占用,将自动选择一个可用的实例号。

值对象

值对象的特性与属入对象类似,除了当值对象映射到可写Modbus地址时(0X或4X),此时值对象的当前值可写,写入的值被转发到Modbus侧。

输出对象

输出对象对应的点值仍然会被定期读回,且设置成对象的Relinguish_Default属性。如果读回的值与上次写入的值不匹配,BACRouter将把该对象的可靠性置为”UNRELIABLE_OTHER”,BACRouter将尝试每隔一段时间重新写入。

因为以上的验证重写机制,BACRouter禁止2个输出对象映射的可写Modbus地址发生重叠。

浮点数的NaN

NaN是IEEE-754标准规定的特殊值,其意思为非有效数,BACRouter不接受NaN(正负无穷大仍然被视为有效值).

当一个Modbus点被定义为单精度浮点或双精度浮点,且BACRouter读到NaN值时,该点对应对象的可靠性将被设为”UNRELIABLE_OTHER”。

BACRouter Changelog

Old Firmware

4.17 2022.01.10 Download

More informative log

ReadPropertyMultiple: potential buffer overflow when generating large reply apdu.

Race condition when device instance is modified by BACnet service.

When processing write-bdt bvll request, if BDT is not changed, configuration saving will not be fired to save flash’s life.

Race condition when network number of VBUS is changed by initialize-routing-table request while processing confirmed request for virtual device.

MS/TP bug introduced by 4.10 may cause incorrect timing when receiving bad frame head.

4.16 2021.12.13 Download

BBMD: BDT push misses myself.

Modbus: WebUI bug on Master copy.

4.15 2021.9.15 Download

Modbus: more convenient Master/Slave copy.

Modbus: supports batching modify slave’s Modbus parameter.

Modbus: MultiState objects could be mapped from bit range in a register.

4.14 2021.8.25 Download

There is a bug on rescue upgrade that old configuration is not deleted which may prevent WebUI from loading.  If old version WebUI could not be loaded because of invalid configuration, please rescue upgrade to this version twice, first time it will upgrade firmware, the second time it will delete old configuration.

A bug on Modbus virtual device mode is fixed which cause malfunction when virtual devices are more than 5.

A WebUI bug when Modbus slave number overflowing limitation is fixed.

The limiations of Modbus master and slave are changed from 100 to 128.

A WebUI bug when disabling “Packet capture mapping” is fixed.

More name delimiter characters are added. Internal object names are modified to avoid collision with new name delimiter characters.

4.13 2021.8.5  Download

Modbus slave settings add “Batch Address” functionality.

Move MS/TP “Extended frame” option to extended configure mode.

4.12 2021.7.23  Download

A long time bug from 3.x on ms/tp may cause ms/tp port stop working.

4.11 2021.7.16

There is a bug in 4.10 introduced by MS/TP timing revision,  which is caused by higher compiling optimization.

4.10 2021.7.13

BACnet protocol revision is changed to 16

Polarity in binary value object is proprietary property.

MS/TP timing revision for padding byte.

Modbus master: Batch Point, Batch Instance, Batch Import

Modbus slave: Import Point

Modbus master/slave: UI for copy and  move up/down.

4.09  2021.7.02  Download

Compatible to new hardware revision.

BTL compatibility: max_info_frames/max_master are writable from BACnet side.

4.08  2021.6.22

BTL 10.2.3.6 requires routers sending who-is-router-to-network to looking downstream router before reject messages.

Bugs which will be triggered when VBUS is enabled have been fixed.

4.07  2021.6.13

UI bug introduced in 4.05 may prevent user to access WebUI in certain situation. (Please note that http://IP/app/upgrade is a rescue entry to upgrade firmware)

Some minor UI bugfixs.

4.05  2021.6.7

Modbus object name remove top level “modbus_master”.

Object name delimiter “|” become configurable.

Value object is allowed to overlap with output object.

Some UI bugfixs.

4.04  2021.6.1

Lots of update on Modbus Gateway module: Multistate object, Value object, Binary text, Read group, Batch conversion, Import/Export CSV object definition.

Convert BASgatewayLX CSV Configuration To BACRouter JSON

4.03  2021.4.23

Modbus Gateway

Offline Configuration

3.23  2021.3.19

Bugfix for BACnet mapping module for capture control feature. The bug may cause daemon restart if capture is restarted from BACnet side.

Bugfix for max_apdu_length_accepted for outgoing request on ms/tp if extended frame feature not enabled.

More infos including “total/free memory”/”Booting time” are added into “System Settings” page on WebUI.

3.21  2021.2.22

Bugfixs for mstp slave proxy: daemon segfault&restart when binding removing. Incorrect hop count when send I-Am reply on other ports.

Reply APDU and network reject messages should respect busy status of destination net too.

3.20  2021.1.26

Limitation of creating network port is removed, only total network port rule applies now. It’s more easy for user to adjust and switch configuration of port.

If root password has not been set yet, the button to set root password on “System Settings” page will has red color to remind user.

3.19  2021.1.20

 Soc bug that prevent MS/TP from startup will occasionally be triggered on 3.18

3.18  2021.1.18

MS/TP add “Extended frame” option.

Reject-Message-To-Network should be unicasted to compliant to BTL.

TTL of registered foreign device should plus 30 seconds to compliant to BTL.

Confirmed service sent to broadcast address should be dropped on application layer to compliant to BTL

BBMD should drop unicasted forwarded npdu from local subnet with same udp port.

Bug on multiple BBMD detection when checking existence of entry in BDT with different udp port is fixed.

3.17  2021.1.13

WebUI adds network settings page, which will show routing table.

A bug on slave proxy is fixed: when there is a unicasted who-is send to slave device, the device instance range carried by the service should be respected, same as broadcasted one.

3.15  2020.10.26

MS/TP duplicate detection algorithm which is learned from duplicating of JCI FEC2611 and IOM3731 is added.

3.14  2020.10.23

MS/TP duplicated MAC detection is implemented. Duplicated MAC will be shown by Red color in “Recently active other devices”. Because of complexity of behavior on duplicating situation, the detection is inaccurate and for reference only.

A potential bug introduced from 3.0 in the low level MS/TP state machine is fixed.

3.13  2020.10.5

Based testing and clients’ feedback, many(maybe most) devices does not obey the MS/TP receive frame finite state machine described in BACnet standard when they encounter error.  Our proprietary “Timeout Interrupt” feature will cause trouble or degrade performance in this situation.  So “Timeout Interrupt” feature is removed.

More statistics is added to MS/TP runtime information page.

WebUI bug on BIP’s Foreign Device Mode introduced from 3.08 is fixed.

3.11  2020.7.14

Fix mstp calculation bug on time used for invalid packet.

Fix bug on mstp slave proxy introduced by 3.08

Some minor WebUI improvements.

3.10  2020.7.1

The config file format is changed much between 2.x and 3.x,  so from 3.00 to 3.09, when upgrade firmware, the upgrading script will install new config file.  This version add a “Keep config” option when upgrade firmware. If config file have something wrong, the WebUI will popup a warning when it is opened.

3.09  2020.6.30

Fixs bug introduced in 3.08 when fetch mstp runtime info.

Some minor WebUi improvements.

3.08  2020.6.28

Bugfix: 1 hop broadcast distribution is optional for BBMD, From version 3.00, BACRouter force other BBMDs to use 1 hop distribution if cross-network broadcast support is enabled. It’s incorrect behavior and fixed in this version.

BDT editing UI is improved. When submitting, BDT entries will be checked to detect possible misconfigure. The checking is also taken when receiving Write_BDT BVLL message.

If multiple BBMD support is not enabled, when receiving forwarded npdu from BBMD not present in local BDT, the npdu will be dropped and logged. It will help distinguishing configure problem of BBMD on most situation. “Report multiple BBMD” function in last verion is covered by this function, so it’s removed.

The filename of downloaded config is set as IP_Version.json, for example: 192.168.100.1_3.08.json

Config uploaded from file will be edited in WebUI before saving to eliminate any potential incompatibility.

3.06  2020.5.22

Ethernet is disabled by default. If BIP and Ethernet are enabled at the same time, a warning of possible circular route will be promoted.

The default capture size increases to 4M.

3.05  2020.5.15

Capture control function is mapped to BACnet.  Each datalink port has its “Capture buf_size” and “Capture command” Multi_State_Value. “Capture buf_size” could be set between “64K” to “16M”. “Capture command” could be set between “Stop&Clean”, “Start”, “Stop”.

3.04  2020.4.28

Password for root could be modified from WebUI now.

3.03  2020.4.23

BACRouter verifies other router’s live by query its routing table with Initialize-Routing-Table message. But addendum 135-2012AL removed the enforced supporting of Initialize-Routing-Table from router. So in this version BACRouter also monitors Reject-Message-To-Network message that could only be sent by router.

BIP BVLL header of forwarded npdu is 6 bytes larger than other npdu, so there was potential bug on packet length verification that is fixed on this release.

3.02  2020.3.26

Minor bugfixs for UI

3.01  2020.3.17

“Download config” and “Upload config” are added to “System setting”

3.00  2020.3.10

Add Packet capture feature:

Supported on all ports(Ethernet, BIP, MSTP).

Because Wireshark could not decode MSTP extended frames, MSTP extended frames are converted to traditional data frames. Fortunately, Wireshark doesn’t complain about overflowed data length.

MSTP packet could be downloaded as “Interval format”. it could be used to show exact idle time before packet by selecting “Seconds Since Previous Captured Pakcet” as “Time Display Format” in Wireshark. It is very helpful to analyze timing and performance problem.

Continuous download is supported. Automatic traffic logging is possible with the API.

MSTP auto addressing feature is removed.  Because the same time online for all devices could not be guaranteed, there is no perfect auto addressing solution. To help determine max_master and unused MAC on bus, “Sniffer mode” may be enabled, then “Current max master” could be obtained from run time info. Unused MAC also could be chosen referred to “Recently active devices”.

MSTP support real time analysis for max master and show it on run time info, if the value is not matched to the setting, “unmatched” is showed after it.

MSTP support sniffer mode. it could analyze and record data without interfering the bus.

The WebUI of MSTP port add options for basic mode and extend mode.

The timeout settings for MSTP are changed from Integer to Float.

MSTP port’s slave proxy is only support broadcasted Who-Is in previous version. Now it support unicast too.

MSTP port’s slave proxy send unicasted I-AM instead of broadcasted one in previous version.

There is a bug in previous version that Who-Is packet readed by MSTP slave proxy module bypass source address routing verify. it’s fixed this time.

BBMD module add option to log error when multiple BBMDs are found in local lan.

Modify feature introduced by version 2.17. “Accept unmatched destination IP” option is provided, if it is selected, only warning message will be logged, else error message will be be logged and the packet will be dropped.

Many WebUI improvements.

2.18  2019.4.16

Improved IP&Ethernet processing performance.

Process 0 in unconfirmed COV notification service is reserved for unsubscribed notificationCOV. Not longer reports error when can not find matched process for 0.

2.17  2019.4.2

In previous version, when BACRouter receive Original-broadcast BVLL from unicast address or Original-unicast BVLL from broadcast address, it would print error message then drop it.  A customer reported that Johnson Controls’ CCT sends Original-broadcast BVLL to unicast address, so now we only print warning message.

2.16  2019.2.25

From version 2.0.8,  only proprietary network layer messages would be relayed. Now all unknown network layer messages will be relayed.

2.15  2017.10.19

Redirect URL from “/” to “/?” to support Edge web browser (avoid keep asking authorization)

MSTP: Fix bug in standard state machine which would cause passing token to self when duplicated token is found.

MSTP: With standard state machine device in sole master mode would send max_info_frames * Npoll frames after polling one master. A more reasonable behavior is implemented that device send max_info_frames * Npoll frames after finish polling all masters.

2.14  2017.10.13

Fixed bug introduced from 2.0, it should not wait reply when it send expecting reply request to mac address 255 on MSTP.

2.13  2017.9.19

Potential bug (barely) may be triggered if MSTP auto mac and baudrate forcing are enabled together.

2.12  2017.7.10

Optimizing route entry protection: Deletion from route hop will bypass protection.

Support devices utilizing 6.5.3 methods 1 and 4 for establishing the address of a BACnet router for a particular DNET.

2.11  2017.6.16

This update help building up routing table quickly in large BACnet inter-network.

When BACRouter startups, it broadcasts out Who_Is_Router_To_Network without network number specified to learn routing info from other routers.

When Who_Is_Router_To_Network/Router_Busy_To_Network/Router_Available_To_Network without network number specified is received, BACRouter reports network number up to 1120 instead of 112 in previous version.

2.10  2017.6.13

Bugfix: ReadRange on property_list should not return object_identifier; object_name; object_type.

Delay 1 second for sending Network_Number_Is when router startup, because if router is a BIP foreign device, the foreign device registering have not completed yet.

2.09  2017.6.10

Protect route entry 60 seconds from last activity. Avoid broadcast storm in circular routing path.

2.08  2017.6.7

Bugfix: Vendor proprietary network message should be correctly relayed.

When relay Reject-Message-To-Network with reason 4(Too long), use unicast address instead of broadcast address.

Relax daemon’s max_apdu_retries to 10, in accord with WebUI.

2.07  2017.6.5

Compliant to BACnet Router and BBMD device profile.

Try to purge invalid route entry if no reply is received for Who_Is_Router_To_Network or Initializing_Routing_Table. This feature helps to rescue from mess network configuration.

Avoid sending too many I_Am_Router_To_Network with circular routing path.

Reduce memory consumption in complicated inter-network.

2.06  2017.6.1

Avoid BBMD broadcast storm. If Forwarded-NPDU is received from broadcast address, do not re-broadcast it.

When relay Reject-Message-To-Network with reason 1/2/4, use broadcast address.

Discard Reject-Message-To-Network with incorrect route info.

Check source net of incoming NPDU.(Trickily handle Initializing-Routing-Table)

2.05  2017.5.23

Bug: global broadcasted initializing-routing-table should be executed.

Bug: WebUI BIP mode select should not be applied without submiting.

Limit number of route entry in runtime info page to avoid request failure in very large internetwork.

2.04  2017.5.11

Fix WebUI Bug for verifying BDT.

Save configuration and restart when receive reinitialize-device service request.

2.03  2017.5.7

BIP BBMD NAT mode support udp port modifying.

BIP BBMD NAT mode do not listen to local net broadcast address and not send broadcast to local net.

BIP foreign device mode do not listen to local net broadcast address.

2.02  2017.5.5

Regards device sent Who-Is-Router-To-Network has no route to that network.(Delete that route entry from route table)

When Initializing-Routing-Table request modify network number of route port, I-Am-Route-To-Network is sent to report new network number.

Fix bug introduced by ver2.0 for saving new BDT modified by BVLL Write-Broadcast-Distribution-Table message.

2.01  2017.5.3

Add upgrade entry “http://ip/app/upgrade for rescue.

More intuitive log.

Improve network reject behavior.

Fix overflow bug when send I-Am-Router-To-Network(if network numbers reported > 738).

Sending I-Am-Router-To-Network at dynamic time interval.

2.0  2017.4.19

Option to enable Device object inside router.

Allow setting modification from BACnet side.

Support What_is_Network_Number and Network_Number_Is message

Option to support MSTP max_info_frames by occupy time.

Introduce MSTP new concept of auto/forced baudrate.

Guarantee of MSTP message delay(10 seconds).

WebUI is more intelligent.

1.22  2016.10.26  Download

Increase max route table entry from 1024 to 65534(unlimited).

1.21  2016.10.18

Slave Proxy: Increase ReadProperty(Multiple) sending rate if remote device is fast device.

BVLL response NAK for BBMD-related BVLL request but BBMD is not enabled. (Addendum 135-2012ax-5)

BVLL response NAK Upon receipt of a Distribute-Broadcast-To-Network message from a un-registered foreign device. (Addendum 135-2010ad-10)

1.20  2016.10.8

BIP provide option to accept buggy broadcast to 255.255.255.255

Reduce minimum value of register interval for BIP Foreign Device Mode from 30 seconds to 15 seconds.

1.19  2016.9.23

Change webui reboot to restart, if IP/Netmask/Gateway/DHCP is not changed, fastly restart self

MSTP add fast device timeout interrupt feature

MSTP fast device minimums timeout is set to 0ms (actually 1.5bits plus 50us after turnaround)

MSTP fast device minimums token pass timeout is limit to 20ms

MSTP runtime info shows devices is active in past 10 seconds

1.18  2016.9.13

BIP BBMD support NAT, add two config parameter: “Accept BDT push from other” and “Accept foreign device register”.

Show Ethernet MAC address on “Setting” page.

1.17  2016.9.8

Requested by some OEM customer, now login authorization domain could be customized when place order.

1.16  2016.9.7

Bugfix: slave proxy should not response to who-is from port that device is not proxied on.

Bugfix: write to remote BBMD BDT fail

Lots UI improving.

1.15  2016.9.1

New slave proxy feature.

MSTP add no_turn_around frame count and padding frame count diagnosis information.

Some UI improved.

Fix decode bug when no turnaround frame following a padding frame.

1.14  2016.8.24

It’s a big release, many new features and bugfix:

MSTP add setting for Treply_timeout and Tusage_timeout.

MSTP add fast device feature, allow user define some nodes as fast device, apply as short as 1 milliseconds to Treply_timeout and Tusage_timeout

MSTP add more diagnosis information as: mac conflict frame count, send conflict count, token lost count, pass token fail count, reply timeout count, frame error count, token duplicate count.

MSTP enhance compatible to some devices no respecting 40bits turnaround requirement.

MSTP fix bug decode extended frame.

MSTP fix bug calculate test response header crc on specified situation.

1.13  2016.8.16

Low level api change, not affected.

1.12  2016.8.12

Add serial no.

1.11  2016.8.10

Firmware filename has version and crc.

Show version on left tree menu.

Auto refresh page after reboot or firmware upgrade .

Other UI bugfixs.

开利中国特色的冷机固件

前两个月我们的工程师在现场调试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进行测试。

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