RayCONTROL
RayCONTROL 30 is the control unit for the FCC Planterm temperature control system.
RayCONTROL 30 supports up to 30 individual zones.
Communication
RayNET is an interface module that provides a standard Modbus/RTU interface over RS485 for RayCONTROL 30. The default connection parameters are:
Modbus address: 1
RS-485 parameters:
| Baud rate | 9600 |
| Data bits | 8 |
| Stop bit | 1 |
| Parity | none |
| Flow control | none |
Refer to the RayNET and RayCONTROL 30 technical documentation for installation, wiring and power supply requirements.
HSYCO connects to the Modbus bus through any standard Modbus/TCP gateway.
HSYCO Configuration
Add a RAYCONTROL I/O Server in the I/O Servers section of the Settings and set its parameters:
Communication
- Comm ID: the id of the serial port, when HSYCO is wired directly to the RS-485 bus and acts as Modbus RTU master.
- IP Address and IP Port: the address of the Modbus/TCP gateway, when the RayCONTROL 30 is reached through a gateway. Leave the port blank to use the default port 502.
Set either the Comm ID or the IP address. When both are set, the Comm ID takes precedence.
High Availability
- Shutdown when inactive: defaults to true.
Options
| ID | Default | Values | Description |
|---|---|---|---|
| gui | true | true | enable support for the UISET actions and the USER commands |
| false | disable UI support | ||
| startupevents | false | true | generate IO events also during the driver’s start-up phase |
| false | start generating events only after HSYCO is aligned with the current status of the system | ||
| pollinterval | 30 | 1 ... 45 | the data acquisition interval, in seconds |
| address | 1 | 1 ... 247 | the Modbus address of the RayCONTROL device |
| readinterval | 25 | 0 ... 1000 | minimum interval between consecutive Modbus commands, in milliseconds |
| systems | 1 | 1 ... 2 | set to 1 if using only system 1; set to 2 is system 2 is used |
| zones | 15 | 1 ... 30 | set to the highest zone number used. Zones 1 to 15 belong to system 1 and zones 16 to 30 to system 2, so the systems option must be set to 2 to control zones above 15 |
| sensivity | 5 | >0 | measured temperatures’ changes are reported only if the difference from last reading is equal or greater than the sensivity option, in 10th of Celsius degrees |
| language | en, fr, it | the language used for text messages. When not set, the global Language setting of HSYCO is used (English if that is not defined either) |
Datapoints
| ID | Value | R/W | Description |
|---|---|---|---|
| connection | online | R | connection established |
| offline | R | HSYCO can't connect to the panel | |
| s<n>.status | off | R | system <n> is off |
| W | turn off system <n> | ||
| on | R | system <n> is on | |
| W | turn on system <n> | ||
| maint | R | system <n> is in maintenance mode | |
| s<n>.mode | winter | R | system <n> is in winter mode |
| W | set system <n> to winter mode | ||
| summer | R | system <n> is in summer mode | |
| W | set system <n> to summer mode | ||
| towinter | R | system <n> is in summer mode, transitioning to winter mode | |
| tosummer | R | system <n> is in winter mode, transitioning to summer mode | |
| s<n>.setpoint.winter.max | 160 .. 300 | R | system <n> current maximum winter temperature set-point |
| W | set system <n> maximum winter temperature set-point | ||
| s<n>.setpoint.winter.min | 150 .. 290 | R | system <n> current minimum winter temperature set-point |
| W | set system <n> minimum winter temperature set-point | ||
| s<n>.setpoint.summer.max | 160 .. 300 | R | system <n> current maximum summer temperature set-point |
| W | set system <n> maximum summer temperature set-point | ||
| s<n>.setpoint.summer.min | 150 .. 290 | R | system <n> current minimum summer temperature set-point |
| W | set system <n> minimum summer temperature set-point | ||
| s<n>.temp.out | -400 ... +800 | R | outdoor temperature, in 10th of Celsius degrees (e.g. 210 corresponds to 21.0 °C) |
| s<n>.temp.inlet | -400 ... +800 | R | inlet temperature, in 10th of Celsius degrees (e.g. 210 corresponds to 21.0 °C) |
| z<n>.mode | off | R | zone <n> is off |
| W | turn off zone <n> | ||
| maint | R | zone <n> is in maintenance mode | |
| eco | R | zone <n> is in energy saving mode | |
| W | set zone <n> to energy saving mode | ||
| pgm | R | zone <n> is in program mode | |
| W | set zone <n> to program mode | ||
| man | R | zone <n> is in manual mode | |
| W | set zone <n> to manual mode | ||
| on | W | set zone <n> to the mode set before last off (ECO, PGM or MAN). If HSYCO starts with the zone already off, the on command sets the mode to ECO | |
| z<n>.lock | 0 | R | zone <n> is not locked |
| W | unlock zone <n> | ||
| 1 | R | zone <n> is locked | |
| W | lock zone <n> | ||
| z<n>.temp | -400 ... 800 | R | measured temperature, in 10th of Celsius degrees (e.g. 210 corresponds to 21.0 °C) |
| z<n>.humidity | 0 ... 100 | R | measured relative humidity, from 0 to 100 |
| z<n>.setpoint.temp | 150 ... 300 | R | zone <n> set-point temperature, in 10th of Celsius degrees (e.g. 210 corresponds to 21.0 °C) |
| W | zone <n> set-point temperature, in 10th of Celsius degrees (e.g. 210 corresponds to 21.0 °C) | ||
| up | W | increase zone temperature set-point by 0.5 °C | |
| down | W | decrease zone temperature set-point by 0.5 °C | |
| alarm.<c> | 0 | R | alarm code C (1-72) inactive |
| 1 | R | alarm code C (1-72) active | |
| alarm | 0 | R | no active alarms |
| 1 | R | the system is reporting at least one active alarm |
A zone set-point write is applied only if the new value falls within the minimum and maximum set-points currently configured on the zone's system for the active season, that is s<n>.setpoint.winter.min .. s<n>.setpoint.winter.max in winter mode and s<n>.setpoint.summer.min .. s<n>.setpoint.summer.max in summer mode. Out of range values, and set-point writes for zones 16 to 30 when the systems option is set to 1, are silently ignored.
On the write commands that switch a two-state value, "0" and "off" are equivalent, and so are "1" and "on": s<n>.status accepts 0/off and 1/on as well as off/on, and z<n>.lock accepts off/on as well as 0/1.
User Interface
UISET Actions
The textual values below are localized: they are set in the language selected with the language option, English by default. The table shows the English strings; in Italian and French the equivalent words are used (e.g. INVERNO / HIVER instead of WINTER, MANUT. / MAINT instead of MAINT, BLOCCATA / FERMÉ instead of LOCKED).
| ID | Attribute | Set to |
|---|---|---|
| s<n>.status | value | system <n> (1 or 2) status |
| ON: system is on | ||
| OFF: system is off | ||
| MAINT: maintenance mode | ||
| s<n>.mode | value | system <n> (1 or 2) mode: |
| SUMMER: summer mode (cooling) | ||
| WINTER: winter mode (heating) | ||
| SUMMER*: summer, transitioning to winter mode | ||
| WINTER*: winter, transitioning to summer mode | ||
| s<n>.temp.out | value | the outdoor measured temperature for system <n> (1 or 2), in Celsius degrees with one decimal digit, followed by ' °C' |
| s<n>.temp.inlet | value | the inlet measured temperature for system <n> (1 or 2), in Celsius degrees with one decimal digit, followed by ' °C' |
| s<n>.setpoint.winter.max | value | system <n> maximum winter set-point, in Celsius degrees with one decimal digit, followed by ' °C' |
| s<n>.setpoint.winter.min | value | system <n> minimum winter set-point, in Celsius degrees with one decimal digit, followed by ' °C' |
| s<n>.setpoint.summer.max | value | system <n> maximum summer set-point, in Celsius degrees with one decimal digit, followed by ' °C' |
| s<n>.setpoint.summer.min | value | system <n> minimum summer set-point, in Celsius degrees with one decimal digit, followed by ' °C' |
| z<n>.mode | value | zone <n> operating mode: |
| OFF: zone is off | ||
| ECO: energy saving mode | ||
| PGM: program mode; the zone follows a set-point during a defined time period | ||
| MAN: manual mode; constantly follows the temperature set-point | ||
| MAINT: zone in maintenance mode | ||
| z<n>.lock | value | zone lock mode: |
| LOCKED: zone is locked | ||
| '': zone is not locked | ||
| z<n>.temp | value | the current temperature in Celsius degrees with one decimal digit, followed by ' °C' |
| z<n>.humidity | value | the current relative humidity, from 0 to 100, followed by ' %' |
| z<n>.setpoint.temp | value | the zone temperature set-point in Celsius degrees with one decimal digit, followed by ' °C' |
| alarm.<n> | value | text line <n> (1-30) of the alarms register, with start/end date and time and error code: |
| "CODE NN: YYYY-MM-DD HH:MM:SS - YYYY-MM-DD HH:MM:SS" | ||
| alarm.label | value | alarm flag. This object is normally invisible, and made visible when the rayCONTROL reports at least one active alarm |
USER Commands
| Name | Param | Action |
|---|---|---|
| z<n> | mode | cycle through the different operation modes (off, eco, pgm, man) |
| z<n> | mode.off | set zone <n> off |
| z<n> | mode.eco | set zone <n> to ECO (energy saving) mode |
| z<n> | mode.pgm | set zone <n> to PGM (program) mode |
| z<n> | mode.man | set zone <n> to MAN (manual) mode |
| z<n> | mode.on | set zone <n> to the mode set before last off (ECO, PGM or MAN). If HSYCO starts with the zone already off, the on command sets the mode to ECO |
| z<n> | temp.up | increase zone temperature set-point by 0.5 °C. "temp.+" is accepted as a synonym |
| z<n> | temp.down | decrease zone temperature set-point by 0.5 °C. "temp.-" is accepted as a synonym |
| s<n> | power | system <n> (1 or 2) power on/off button |
| s<n> | mode | system <n> (1 or 2) season button, for winter/summer mode selection |
Release Notes
4.2.0
- a Modbus/TCP gateway is now reached by setting its IP address and port directly on the I/O Server. A MODBUSTCP I/O Server can no longer be selected as the Comm ID, which is now only used when HSYCO is wired to the RS-485 bus: existing I/O Servers configured that way have to be reconfigured with the gateway's address and port
- fixed the decoding of negative temperatures, that were reported as large positive values
3.3.0
- new data points:
s<n>.setpoint.winter.maxs<n>.setpoint.winter.mins<n>.setpoint.summer.maxs<n>.setpoint.summer.min z<n>.lock - new readinterval option (defaults to 25 msec.)
- improved communication errors handling
3.0.0
- full integration in HSYCO 3.0.0
RayCONTROL is a registered trademark of Permasteelisa Impianti srl, FCC Planterm Division.