When using the STR-350/351 as an I/O module in Menta (Options > Device Specification > IO Expansion and Wall Module Table) some programming consideration must be made to keep the occupancy and setpoint in sync between the stat and the program. Both STRIN and STROUT Menta simple blocks should be used for the most robust synchronization.
- STR-350/351 as an I/O Module
The STR-350 takes roughly 30 seconds to recover from a power failure. The Xenta is much faster than that resulting in reading an invalid setpoint from the STR-350 on a power cycle. By storing the last known setpoint in a DELR block with the "backup" option set, the setpoint will be restored (provided the power has not been off longer than 3 days, in which case it would default back to the initial value of the backed up value).
Click the pictures of the Menta macro below to download the source file.
To control occupancy from the programmable controller time schedule, the occupancy must be sent to the STR-350. In order to allow for local override commands from the stat, the occupancy must be read in from the STR-350. By allowing the programmable controller to control both the schedule and the override, the stat stays in synch with the program.
The setpoint requires a little bit of extra programming to account for a power failure. The stat will report invalid setpoints for the first 30 seconds, which will cause it to come back in an undesired state. By letting the programmable hold onto the last known setpoint, and write it back to the stat on power up, there is no change in the setpoint after a power loss. Looping the setpoint in/out from the stat keeps everything in synch with the program, including stat adjustments.
Note: This code protects against unwanted behavior following a power failure. A download the Xenta base unit will not trigger the Reset block protection and will cause the stat to go outside the bounds of, and then be limited by, either the high or low setpoint limit. Precaution should be taken following a download to manually reset the setpoint to the desired value. Additional logic for controlling the setpoint remotely could be incorporated into this code.
If these macros are going to be used with a STR-350/351 set in degrees Celsius; make sure to change all initial values within the setpoint range. If the initial values are outside of the setpoint range, then the setpoint will always default back to the last known value.