The purpose of Event Time is to enable the user of a Masterclock device with relays to create a schedule for the activation of those relays. That schedule is sent to the device over an Ethernet LAN, because the device is installed on that kind of network.
The devices that can host a schedule are the MCR1000 and MCR5000, which are multi-purpose generators, and the CRL1000, which is a bell ringer. These devices get accurate time via Network Time Protocol.
If the user has an MCR1000 or MCR5000 it is important that he realizes that the schedule can only be used if he has purchased the option called Basic (as in Event Time Basic, or Basic Relay Scheduler). On the other hand, the CRL1000 Bell Ringer does NOT require the purchase of an option because its entire purpose is to provide 4 relays for the user to control.
Those devices communicate over an Ethernet local area network (LAN) so the PC on which Event Time is installed needs also to be on that network.
For a base MCR1000 or MCR5000 the relay to control is a small, dry-contact single pole, double throw relay called the on-board relay.
For a CRL1000 Bell Ringer the relays are 4 solid-state devices that supply 24 VAC to whatever devices the user has wired to those outputs.
Event Time can find all Masterclock devices with relays that are on the same Ethernet LAN as the PC on which this application is running. The devices are uniquely identified by MAC address. Then it can interrogate them to see which is enabled to hold a schedule. The user then chooses one of these to send the schedule to, then sends it. The device stores the schedule in flash so its data is maintained if the device is re-booted. This application can then be exited--it need not run for the schedule to run in the device.
The schedule that this program creates is composed of layers of tables. This design was intended to give maximum configurability. All data is saved in an Access database on the PC.
The layers are these:
Sequence - A pattern of on/off states for the relay.
Event - A name to identify the beginning of a sequence.
Standard Day - A collection of Events to apply to the relay during a day.
Standard Week - The default set of Days to apply to every week of the year.
Calendar - The list of Day schedules for every day of the year.
The first layer is that of Sequence, which is a pattern of relay ON/OFF states. For instance, one can define a sequence which turns the relay on for 2 seconds, leaves it off for 4 seconds, and then repeats that cycle two more times. This defines the basic relay action.
Next one defines an Event, done by inventing a name and assigning to it any Sequence. Depending on the version of Event Time, the relays to which to apply this Event are selected, although these selections are just defaults; they can be changed when put into a Day's schedule.
Sequences and Events are contained in one table for each. The next layer consists of several Day tables, one for each 'day' the user wants to define. The reason for this is to let the user define a day that is appropriate for any day of the year. Examples are a standard Monday or Tuesday, a standard Saturday, a standard holiday. So, we have made 9 standard days available, and each can be filled with any combination of Events. This layer is where the start time of an Event is entered.
Having created the daily schedules the next layer is the Standard Week. This is the collection of Days that is the default for every week of the year.
At this point a couple of options appear: Holidays and Exceptions. One can define a special schedule for each. On every Holiday the special schedule for them will run. On the date of every Exception the Exception Day schedule runs.
The last layer is Calendar. Here a calendar view of every day of every month of the year is presented. Every month is already filled with the Standard Week, but user can change individual days to any Holiday or Exception Day that's been defined, giving complete control over the relay schedules for every day of the year.
All of the tables mentioned above can be reached via the Edit menu.
Once the user has built the schedule to his liking he need only pull down the Tools menu and choose 'Send Schedule to Device'. The pane that opens will know which device has been selected, and displays information about it. Clicking the button labeled 'Send the schedule to the device' sends the Sequences, Events, Days, Holidays, Exceptions, Calendar and general settings.
The user can save the current schedule to a new file on his PC, placing it on any drive and giving it any name he dreams up (File, Save As). This is our way of providing for backups. If the user has more MCR1000/5000s or CRL1000s he can modify the schedule to make a different one for each device, saving each in its own file. When he re-starts Event Time he chooses which of them to work with.
MCR1000 / MCR5000 Relay
The base models of the MCR1000 and MCR5000 include a single low voltage direct current relay that can be configured with an internal jumper to be either NO (normally open) or NC (normally closed).
This relay can provide three functions. These functions are mutually exclusive.
For an MCR to use a schedule from the Event Time application the MCR must have the feature "unlocked", which requires the purchase of an option, and the single-event built-in schedule must be disabled.
RELAY RATINGS:
The relay circuit in an MCR1000 / MCR5000 is designed for use with low voltage DC and is rated up to 250mA, at 24VDC.
Warning: Connecting input voltages or switching currents beyond the maximum ratings for the relay
could damage the MCR1000 / MCR5000. Such damage is not covered under the warranty.
RELAY CONFIGURATION:
The MCR1000 and MCR5000 are shipped from the factory jumpered for NO operation.
The relay will not activate (close its contacts) without a control signal from the microprocessor while in NO operation configuration.
The relay circuit may be reconfigured for NC (normally closed) operation by changing the internal jumper configuration. In NC operation, the relay will not activate (open is contacts) without a control signal from the microprocessor.
The relay terminals are first routed to a 3-pin jumper block (J14)
and then to pins 9 and 4 of the DB9 connector.
The jumper block lets one configure pins 9 and 4 for normally open or normally closed.
To change the operation of the relay, the internal jumper J14 must be accessed and set for either NO (normally open), NC (normally closed), OFF (no relay - jumper removed) modes.
Follow these step to do so:
Remove power from the MCR1000.
Remove the two Phillips head screws at the rear of the unit.
Slide the cover and base in opposite directions to open the chassis enough
to allow access to the jumper J14.
J14 is shown the accompanying picture.

Move the jumper J14 to the desired operational mode as shown below.
NO - Normally Open (default) |
NC - Normally Closed |
Close the cover and re-insert the Phillips head screws.
Make connections to the relay terminals using either the custom cable with DB9 connector,
or the optional DB9 breakout adapter.

Please refer to the specifications section for the maximum relay ratings.
Warning : Connecting input voltages or switching currents beyond the maximum ratings for the relay
could damage the MCR1000. Such damage is not covered under the warranty.
CRL1000 Relays
The CRL1000 Bell Ringer has 4 solid-state relays under the control of the schedule
that a user builds via the Event Time application.
No option need be purchased to get full schedule abilities.
The power supply is built in: 24 VAC, 16 amps maximum, circuit breaker protected.
Each of the 4 relay circuits has its own output terminal block.
Each relay switches 24 VAC, maximum of 4 amps.
This means that each output can drive up to 20 standard bells (.2 amp each).
Relays are normally open, and there is nothing inside the unit to configure.
Each output is protected by its own circuit breaker.
There is a red LED on the front panel to show when a relay is energized.
The front panel has a push button to test all relays.
An input terminal block on the back panel provides for the connection of a switch
of the user's choosing to turn on all relays. This switch is not provided with the unit.
This application does NOT check the times that are filled in for the start of an Event to see if they make sense with others. It does not look for Events overlapping in time or for those with identical start times. Once an event begins in the MCR it will be processed to its end unless it is ended via the button for that purpose on the 'General Settings' pane. No other Event will begin during an on-going Event because no other will be examined.
This application assumes the user is familiar with the device that holds the relays. For an MCR (a Masterclock generator) it assumes knowledge of the function of the on-board relay and the current state of its configuration.
An MCR's on-board relay usually indicates loss of lock to an external source of time sync; it is energized when time sync is lost. However, when a schedule is in effect (ON instead of OFF) the relay loses that function and will respond only to the scheduled events that have been sent to it from this application.
In either case, the nature of the output of the MCR's on-board relay depends on a jumper on the MCR circuit board. If that jumper connects the 2 pins toward the center of the board then the switched output from pins 4 and 9 of the DB9 connector is 'normally closed'. 'Normally open' is gotten by putting the jumper across the 2 pins closest to the edge of the board.
This is of most importance for an MCR's on-board relay: The events that this application creates energize the relay. They assume the relay begins in an un-energized state. At no time does this application know the actual state of the relay nor does it know the placement of the jumper. In addition, this application has 2 testing buttons to energize/de-energize the relay for the purposes of testing and for getting the relay in whatever state is desired. If those buttons are misused then the relay will not be ready for a scheduled event. To leave the relay ready, always hit the "Relay OFF" button after testing the relay. The "Relay ON" button will energize the relay, but if the schedule is OFF and the MCR is locked to an external source of time sync then the relay will immediately turn off. This is good; the relay is in the right state should the schedule be turned on but it can be confusing if one does not know what's going on.
If the schedule is turned ON and that setting is sent to the MCR and the "Relay OFF" button is hit after testing the relay then the relay will always be in the right condition for scheduled events.
There are a few tasks to get this application to run:
1) Install .NET Frameworks.
2) Install support for Visual C++ (the language this application is written in).
This application will run on Windows XP and Windows 2000
but in both cases the base operating system is not enough.
They require these installed:
Microsoft .NET Framework 1.1
Microsoft .NET Framework 2.0
Those frameworks must not only be installed, they must be working. .NET installations often go bad, perhaps due to registry errors. They may have to be removed and re-installed to get this application to run. Bad or missing frameworks will NOT be revealed by an error message, the application simply will not run; its main window will never appear.
With those in place one must acquire the file vcredist_x86.exe and double-click on it to install support for Visual C++.
Windows 2000 needs all of the above plus MDAC version 2.6 (or above), which stands for Microsoft Data Access Components. MDAC provides access to the data in MCR.mdb from Event Time.exe.
Finally, after all that pertains to the PC is installed, run the installer for Event Time.
MCR Event Time Basic has been run on these operating systems:
Windows 2000
Windows XP
Windows Vista, both 32 and 64 bit
Windows 7 Release Candidate
Due to the database structure of the application, additional operating system components are required and may need to be added. Use the Add/Remove Programs feature of the Control Panel to determine if the following required components are installed.
Windows 2000:
Microsoft .NET Framework 1.1
Microsoft .NET Frameworks 2.0
Microsoft Visual C++ 2005 Redistributable Package (x86)
MDAC version 2.6 (or later), Microsoft Data Access Components.
Windows XP:
Microsoft .NET Framework 1.1
Microsoft .NET Frameworks 2.0
Microsoft Visual C++ 2005 Redistributable Package (x86)
Windows Vista - 32 and 64 bit:
Microsoft Visual C++ 2005 Redistributable Package (x86)
Windows 7 Release Candidate:
Microsoft Visual C++ 2005 Redistributable Package (x86)
Please search the Microsoft website or use the MS update feature of the OS to locate and install the required components if necessary.
This application was compiled using Microsoft Visual Studio 2005. It was written in the Visual C++ language. Specifically it's a Windows Forms application, which is a sub-type that offers easy ways to present and edit data in tables. Those tables are in a Microsoft Access database, the structure of which was actually created in Access. Should you be tempted to open and edit the database in Access be aware that Access will not do the 'coherency' checks done by Event Time such as getting inter-dependent fields to agree with each other.
The Microsoft Visual C++ 2005 Redistributable Package (x86) (vcredist_x86.exe) installs runtime components of Visual C++ Libraries required to run applications developed with Visual C++ on a computer that does not have Visual C++ 2005 installed.
32-bit Operating System:
Vcredist_x86.exe may be downloaded directly from the following link at
Microsoft Download Center
64-bit Operating System:
The vcredist_x86.exe program must be version 6.0.3790.0,
which can be downloaded from
here.
Note: if the required files are installed but the application will still not launch then it may be necessary to remove and re-install the .NET Framework components. Occasionally, errors in the Windows registry related to the .NET Frameworks components can cause this as well as other applications requiring these components to malfunction.
This application uses the UDP protocol on port 6164 and may trigger a response from the PC's firewall or the firewall/security settings of the network routers/switches. If there's difficulty communicating with the device, configure the PC firewall and network routers/switches to allow UDP packets bidirectionally on port 6164.
Communication via UDP is generally slower than TCP/IP, and is less reliable. UDP messages are more likely not to arrive at their destination on busy networks. This application requests confirmation from the Masterclock device for each transmission, and if any transmission fails then that message is put into the 'Communication Status' field of the 'General Settings' window. This feature is provided to help compensate for the nature of UDP messaging. If there are frequent transmission failures then increase the 'Acknowledgement Time-Out' period.
If this program does not start these are the probable causes:
1) Missing or misplaced files.
Ensure that the application's files are located in the correct directory.
All of the files that comprise this application must reside in the folder
C:\Program Files\Masterclock\Event Time
(Note: previous versions were in C:\Program Files\Masterclock\MCR Event Time Basic)
2) Missing operating system features.
This application requires the following system files or updates be installed:
3) Missing language support.
The language support installer named vcredist_x86.exe must be run on the PC.
(Note many applications install this automatically.
It will be listed in the 'Add or Remove Programs' control panel in Windows 2000 or XP,
or in the 'Programs and Features' control panel in Windows Vista or 7.)
The following sections lead the user through putting together a schedule for the first time. Following them in order results in a schedule with all options being installed in the device.
STARTING EVENT TIMEWhen the application starts the user is prompted to choose the database to use. The reason for this is that any number of schedules can be saved, each in its own database, but only one can be edited at a time. Thus, the need to choose.
Why save several schedules? To have a different one for each device, or to have different schedules for just one device.
The default location for these is a folder called Schedules which is a folder inside that in which sits the application's executable, but the user can store schedules anywhere. There are only a couple of things to be aware of. First, there's a hidden file called MCR.mdb installed next to the executable that should be left alone. It's the template for all schedules. Also, there's a database named MCR_Common.mdb in the Common Data folder that must remain in place and that should not be opened by the user. It holds information about the devices that the user sends schedules to, and it's opened automatically so don't worry about it.
Before describing the windows that the user sees, in which he enters or edits data, here is a review of how to do so.
This navigation bar is on most forms in this application:
The arrows on the left move the focus from one row to another. To the right of that is the number of the row with the current focus, then the total count of rows in the form. Clicking the yellow "+" plus sign icon adds a new row to a table. Hitting the red "X" icon deletes a row. The blue floppy disk icon is to save changes (additions, deletions, edits).
If the user does not remember to save then he will be prompted to do so when he closes the form. Many tables have limits to the number of rows allowed. When the maximum is reached the "+ " icon disappears and the user is notified. If one row is then deleted the "+" will reappear because the table will be under the limit.
When editing some fields an error message is displayed if the entry is invalid. For instance, this happens when trying to enter a number above 59 for minutes or seconds.
IMPORTANT: A Sequence used by an Event, or an Event used in a Day's schedule cannot be deleted. In this instance, the red "X" icon will disappear when the focus is on the row for that item.
After choosing a schedule the main window opens. In that window opens a child window named 'Devices On Network'. Its purpose is to find, on an Ethernet LAN, all the Masterclock devices that could host a schedule and ask them if they are actually enabled to do so. The top holds a few controls and messages for the user, and the bottom holds a table to list the devices. The first time one sees this, right after installation, the table should be blank.
Click the button labeled 'Discover Devices' and a command will be broadcast directing all Masterclock devices to announce their presence. The application will filter out all those that have no relays in them and present to the user all that remain. At this point the 'Schedule Status' and 'Password Status' fields will all show 'Unknown'. The user should fill in the password for the device (or devices) that the schedule will be sent to. Note it is whited out; it does not appear as one types. To protect security it will not display unless the user double-clicks it. Click the button labeled 'Interrogate' and each device listed will be asked for the status of its schedule and whether or not the password that the user entered is good.
Now it's time to choose the device to work with. This application needs to know which device to communicate with, will send its schedule to only one device at a time, and tailors many windows to the type of device, so the choice must be made. This is done by double-clicking on the left-most column of the row of the device to use (called the 'row header'). Once again the device will be contacted, this time directly, and the results will be displayed in the 'Status' and 'Selected Device' fields, where 'Found' will be displayed, and the MAC Address of the device.
Note in the above that the discovery was done by sending a broadcast. In some environments this is not allowed for security reasons, so the option is provided of filling in the data needed for the application to communicate. The MAC Address, IP Address and Network Mask and Passsword must be filled in, then the row-header is double-clicked, so only that device is asked for its status. No broadcast is sent if the user does not click on 'Discover Devices'.
If a device cannot be contacted then the Status field will show 'Not Found' and the 'Selected Device' field will be blank. Unfortunately, this failure could be due to several things:
The firewall could be blocking any transmission from this application, or it could be blocking all UDP transmissions, which is what Masterclock devices use.
The Ethernet adapter could be a little slow.
The network could be down, or part of it could be down, or the PC could be on a different subnet from the device to reach.
The device could be off, or it could be set so that its IP address is not on the same network as the PC.
The device's password may not match the password of this application. A device will not respond to data sent or requested unless the password for it accompanies the data or request.
Being in possession of Event Time means the user was supplied with the WinDiscovery application, also from Masterclock (free). WinDiscovery finds all Masterclock devices on a network. If a device can be seen by WinDiscovery then that eliminates all causes of failure except for password mismatch (likely) and a slow Ethernet adapter (unlikely). Passwords can be tested via WinDiscovery by changing a setting in the device and then saving the change. Success or failure will be announced.
Telnet could be used to test the password but to do that one needs to know the device's IP address and the Telnet user name.
The creation of a schedule begins by pulling down the Edit menu and choosing Sequences. Every other table in the database references a Sequence in some way, so this is where to start. In fact, if only one Sequence is defined the user is prevented from deleting it, because without a Sequence there can be no Event, so no Day schedule.
A form appears that looks like a spreadsheet. This form is displaying, and offering for edit, the data in the Sequences table. The columns are titled Sequence Name, Repetitions, Duration, Interval and Referenced. These define the relay coil activation (ON/OFF) states.
'Duration' is the period for which the relay is ON.
Interval is that for which it is off.
'Repetitions' is the number of times those actions repeat.
A Sequence can be defined to be simple, for example: Turn on the relay for 1 second.
Or a Sequence can be defined to be complex, for example:
Turn on the relay for 6 seconds, then off for 14 seconds, and repeat this 100 times.
The resolution of the ON or OFF intervals is one second. The "ON" state actually refers to actuating (energizing) the relay, while the "OFF" refers to the relay being in a non-actuated (non-energized) state.
The best way to start is to click on an empty field under the Sequence Name column and enter a name that's descriptive of the Sequence. The application will fill in default values for Repetitions, Duration and Interval. They will cause the relay to be activated 1 time for 1 second. Since this is not repeated (Repetitions is 1) Interval is 0. Change those values to whatever is desired as long as they make sense together. For instance, if Repetitions are set to 5 then Interval must be set to something other than 0 because the relay is being told to activate repeatedly, so there must be some time Interval between activations.
Repetitions, Duration and Interval are all expressed in seconds. They can handle huge numbers; the purpose being to allow an all-day Duration of 86,400 seconds, or a 1 second Duration repeated every other second of the day.
The right-hand column is title Referenced, and it is not to fill in or edit. When a Sequence is created that field will be blank, but when the form is re-opened it will be either 'Yes' or 'No'. What's going on here is that when the form opens the application looks through the Events table to see which Sequence names are used there. 'Yes' means that a Sequence is referenced from the Events table. This is important information, because if one changes the name of that Sequence then the application will have to change its name in the Events table. It's also useful for deleting unused Sequences: one can safely delete any Sequence with 'No' in its Referenced column.
Only 16 Sequences can be defined, and every one must have a unique name, and that name must contain at least one character or number. If tries to blank out a Sequence Name then a little window appears saying that some valid entry is needed. Some little window like that appears whenever the edit is unacceptable in any form in this application.
To get rid of a Sequence =click on the row tab at the left and hit the Delete key or the red X on the 'Navigation Bar' at the top of the form.
That bar is common to most forms in this application. Via the + icon a new row can be added and with the floppy icon edits are saved. In fact edits MUST be saved, or they will not be recorded. Upon closing the form there will be a prompt to save if any edit has not been saved. The bar also states the number of records in the table, which one the focus is currently on, and provides arrows to move from one to the next.
When the table holds the maximum number of records allowed, the + icon will disappear and the user will be notified that the limit has been hit. If a record is then deleted the + will reappear because the table will be under the limit.
By creating at least one Sequence, above, the user made ready to create an Event. Pull down Edit, choose Events, see a form with the columns Event Name, Sequence Name and Referenced, and checkboxes for relays may appear depending on which version of Event Time is in use.
If you chose a base MCR1000 or MCR5000 in the 'Devices on Network' pane then you chose a device with only one relay in it--the on-board relay. No checkbox will appear for it; it is assumed the user wants it to activate for any event. If a CRL1000 Bell Ringer was chosen then 4 checkboxes appear, as 4 relays are in the device.
(In the future there will be modules available for the MCR1000/5000 that will carry up to 16 relays. For one of those devices up to 17 checkboxes will show: one for the on-board relay and one for each of the possible 16 relays.)
Checkmarking the relays here sets up the template that is copied to a Day schedule when the user adds an Event. After adding the event to the Day, the user can change the selected relays to fit the individual Day. Thus, checkmarking the relays in the Events window is just a quick way to fill them in.
As with Sequences click on an empty Event Name and enter a descriptive moniker. Then click on the arrow in Sequence Name column and see a little list open with the names of all the Sequences previously defined. Choose from any of them, and the work is done. As with Sequences, unique Event Names are required, and the Referenced field here does the same kind of job it did in Sequences: when the form opens it looks through the tables in which an Event Name could appear and puts a 'Yes' in Referenced for a name that's found. As before, that means if the name changes here then the application will change it everywhere else.
Time for a little detour.
Before we go on to use the defined Events we check the time format the schedule is in
because the user will soon need to fill in the time for an Event.
From the Tools menu choose 'General Settings'.
This pane has overall info about the schedule and the selected device.
This is where one chooses 12-hour (AM, PM) time or 24-hour. Both are Local times.
The format must be chosen here, before we go on, because the next form
will examine the times that are entered to make sure they suit the format,
and it won't allow, for instance, 13 if the format is 12-hour.
The format chosen should match that of the display of the device that this schedule will be sent to. When this is done the start times (in the Day tables) will agree with the display on the device. This will prevent the confusion of, for instance, an Event scheduled to start at 13:00:00 while the clock displays 01:00:00.
One can come to this pane later and change the format if need be. The application will caution that it must modify the data (for instance, turning 1 PM into 13 or vice versa) and if the user proceeds then the application will go through all times in all tables and convert them.
While the 'General Settings' window is open let's go over the other things on it.
The MAC Address, IP Address and Name of the current device are shown at the top, to assure the user of what device is in use. This is the device the user selected in the first window shown after choosing a schedule. Its status on the network and ability to host a schedule is also listed, then the name of the schedule that the user opened is next, and the directory that file is stored in.
Click the button labeled 'Get the Device Settings'. This will interrogate the device about whether or not the whole schedule is on or off and whether or not a schedule is stored in it.
Below that are the controls to turn on or off the entire schedule and change the time format. Note the user has to hit the 'Send these general settings to the device' button to get them to the device. The user is informed of the success or failure of this via a message in the 'Communication Status' field. Below that field is a control to set how long this application will await a reply. If transmissions fail then increasing this period may get them to succeed.
The buttons 'Relay ON', 'Relay OFF', and 'End the Current Event' are meant for testing and emergency control of the device. If enabled, they are in direct control of the relay. They will act immediately, whether or not a schedule has been completed, whether or not it has been sent to the device, and whether or not the schedule is ON. Their purpose is to give a physical confirmation that the relay works, to put the relay in the right state for the next Event to occur, and to assure the user that this application is in contact with the MCR.
If the device is an MCR a user near it should hear the relay click if it changes state. The relays in the CRL1000 Bell Ringer are solid-state, so they cannot give an aural clue, but the front panel of the Bell Ringer has an LED indicator for each relay, so it should light up after 'Relay ON' is hit and go out after 'Relay OFF'.
The 'End the current event' button will stop an on-going Sequence. This is useful for stopping relay action when a long Sequence in effect, like one that turns the relay on for one second every minute for an hour, or to turn off the relay in an emergency.
The 'Statistics' section lists the row counts of the tables in the schedule.
With Events in place and the time format set, a Standard Day can be filled out. In the Edit menu note the entry named Day Template. It serves to create a standard set of Events to copy to any of the Standard Days. Fill in the events common to all days and then copy them to each day via the buttons specific to each. This is a great time saver to make several days that are similar.
There are 9 of them:
Weekday 1, 2, 3, 4 and 5, Weekend 1 and 2, Holidays and Exceptions.
Only one needs to be filled out. The user can apply that one to every day of the year. The purpose of having more is to provide for choices when the user fills out the Standard Week.
From the Edit menu one chooses any of the days. They occupy their own section in the middle. Each has a Navigation Bar that works as in the previous forms. To add an Event pull down the arrow in the Event Name column and choose any. Clicking anywhere else fills in the Sequence Name for that Event and adds a default Hour, Minute and Second. Those can be set to any values that agree with the format. They state the time the Event begins: it's the time of the beginning of the first repetition of the sequence assigned to the event. How long will the Event last? That depends on the profile of the Sequence.
If the device has more than an on-board relay then a checkbox will appear for each relay. Checkmarking a relay means that it will perform the Event on that line.
Note that, with the checkbox on the left, an entry can be disabled instead of deleted. This is handy if the user is uncertain of what the day's schedule should be.
The Holiday Schedule will run when a holiday occurs, as listed on the Calendar. The Exception Schedule is similar. These days are not to be put into the Standard Week, but into the Calendar. Farther down in the Edit menu notice the lines 'Holidays' and 'Exceptions'. Those are tables in which the user states the date for a Holiday or Exception. The meaning of Holidays is obvious. Exceptions were provided for to allow for an unusual schedule on a day that is not literally a holiday.
In Holidays the user can designate a day on which the Holiday Schedule is to run. That day can be absolute (the 4th of July) or relative (the last Thursday in November). Note the Order column. With it the user can do a custom sort: put on each line the position in which the the Holiday should appear, then click on the column heading ('Order') to get the sorting to occur. Clicking again causes the reverse sort order.
The Holidays table is limited to 16 entries.
Exceptions are similar to Holidays; days on which a special schedule is to run. In this case it's Exception Schedule. Note dates here are only absolute, not relative. Exceptions exist in addition to Holidays to give the user a special day that is not identified with an official holiday. The user can fill in this table directly or open the Calendar and click on a day, upon which he will be prompted to name the Exception. That name, and the date clicked on, will automatically be filled in to this table. Every Exception must have a unique name, so one cannot assign a name to more than one day.
The Exceptions table is limited to 16 entries.
Pull down Edit and choose Standard Week. This week will be applied to every week of the year. Simply click on the arrows in the columns to choose the day schedule to put into effect for each day of the week. A day can be used more than once. In fact, it can be used for every day of the week.
The Calendar mimics a calendar, with one tab for each month. To see it, select the Calendar option from the Edit menu. Note the Standard Week entries are displayed across the top, and the days in the Standard Week have already been applied to every day of the year. If no Holiday or Exception Day is assigned to a date then the Standard Day listed for that day of the week is in effect. The Holidays defined will appear by their name, if active. If a Holiday is not seen where expected, then do Edit, Holidays and make sure its Active box is checkmarked.
Click on a day to assign an Exception Day to it. This can be done to a maximum of 16 days. The name and date are written to the Exceptions table. Do Edit, Exceptions to see them. Similarly, an Exception can be deleted by clicking on it. Deleting an Exception from the Calendar will also delete it from Exceptions; there is no Active/Inactive choice as there is for Holidays.
Note: This application provides the Holidays that are official in the United States, but they are not active by default. The application is bounded by a single calendar year - the current year. There is a provision for handling February 29th if the current year is a leap year.
The calendar adjusts its display to the year that it gets from the system clock. So, to see what will run next year just set the PC's clock to any date in the coming year. This way, one can edit and save a schedule file to later send to the device.
The foregoing has created a schedule. The only task left is to send it to the device. The schedule MUST be sent to the device so the microprocessor on it can control the relays according to the schedule.
Pull down the Tools menu and choose 'Send Schedule to Device'. The status of the selected device will be displayed, to reassure the user. Hit the 'Send the entire schedule to the device' button and the progress of the transmission appears at the bottom of the pane.
The device will report back to the application as it receives each table of data. If any is not received the user is told that some failure has occurred. If all data is received then success is reported.
Should the user want to be sure that all schedule data has been removed from a device, he can pull down the Tool menu and choose 'Clear Schedule in Device'. Again the selected device is described to make sure that it's the one the user intends. The button 'Initialize the device schedule' wipes out all schedule data.
Nothing in this form need be filled in by the user. Its entries are created automatically when the schedule is sent to a device. Its primary purpose is to record which schedule was sent to which device--important information when several schedules are in use. Also recorded is the time the schedule was sent. The user can enter passwords here, so that they need not be entered into the 'Devices On Network' form. This means the user can clean up the listing in 'Devices On Network' by deleting lines from it and yet the passwords will not be deleted because they are stored here instead of there.
The password field acts the same here as in 'Devices On Network'; it's whited out as the user types it in. To see the password one double-clicks it.
The user can manually enter MAC Address, as well as password, so he need not send to a device first to create a line here for a device.
Up to 16 Sequences can be defined, and up to 128 Events. Each day can have up to 128 of those Events. Every Sequence and every Event must have a unique name, but the same Event can appear several times in a Day. There is no limit to how often a day can be used in a year.
A year is from January 1 to December 31 of the current year. There is provision for February 29 if the current year is a leap year. The Calendar is limited to the current year and is bounded by the dates January 1 and December 31. When this application starts it looks at the PC's system clock to see what year it is, so setting the system date to some other year causes the Calendar to display that year (but this must be done before the application starts). Thus one can look ahead to next year to see what the Calendar will look like.
Copyright 2008, Masterclock, Inc.