An HMI driver that lists only N, B and S files cannot reach the controller's RTC function file, so RTC:0.hour and RTC:0.min never appear as selectable tags. Copy each clock field the screen shows into a reserved integer word with a plain move rung, point the panel tags at those words, and check the copy online across a minute boundary. Two rungs and two words publish the clock to any panel the existing driver already reaches.
An HMI driver that offers only N, B and S files cannot reach the controller's real-time clock, so RTC:0.hour and RTC:0.min never show up as selectable tags. That is a capability of the driver, not a setting you have overlooked, and no address spelling changes it. The practical fix costs two rungs and two integer words: copy each clock field the screen shows into a reserved word in a file the driver already reads, then point the panel tags at those words. This page answers the capability question, explains why the SLC 500 status-file clock addresses do not carry over to a MicroLogix, and shows how to prove the copy online across a minute boundary.
Why the RTC fields are missing from the tag list
A controller can hold a calendar and still be unreadable from the panel. The two halves are separate capabilities: the controller stores the clock, and the driver decides which files the panel can poll. On a MicroLogix the clock lives in the RTC function file. An RTC file is a structured type, addressed by element and field, so RTC:0.min is element 0, field min, and RTC:0.hour is element 0, field hour. The MicroLogix 1400 reference manual covers that family's function files, RTC included.
The driver's address list is shorter than the controller's memory map. A driver built around the ordinary files offers N integer, B binary and S status, and the panel polls only what that list contains. When the RTC fields are absent from the list, the clock is simply not addressable from that panel, and the fix is to publish the values into a file the list does contain. If you are still choosing hardware, run this check first; checking exact legacy PLC driver support before choosing an HMI is the buy-time version of it.
Why S:40 to S:45 does not transfer between families
On an SLC 500 the calendar lives in the status file as six plain words: S:40 year, S:41 month, S:42 day, S:43 hour, S:44 minute, S:45 second. The SLC 500 instruction set reference documents that block, and a driver that reads the status file can poll all six words directly, no copy rungs needed.
The MicroLogix family moved the clock into the RTC function file. The status words at those same numbers hold other status data on a MicroLogix, so a MicroLogix project that uses S:40 through S:45 reads other status data, the wrong source for a clock. The numbers belong to their controller family, and the family's reference manual names the clock's home.
Decision: poll S:40 to S:45 directly on an SLC 500. On a MicroLogix, copy the RTC fields.
What you need
- The driver's address list from the panel project, showing the file types it can read for your controller selection.
- The controller reference for your model, for the exact RTC field spellings; the MicroLogix 1400 reference manual covers that family.
- Two spare words in an integer file the driver already reads. The example below reserves N7:0 and N7:1.
- Online access to the controller, so you can watch values while the clock runs.
Steps to publish the clock into integer words
- Confirm the gap. Open the driver's tag or address selection and look for the RTC function file among the offered file types. If only N, B, S and the like are listed, the clock is unreachable directly and the copy below is the way through. If your build does list the RTC file, select its fields as tags and stop here.
- Reserve the words. Pick one word per displayed field in a file the driver reads: N7:0 for hour, N7:1 for minute in this example. Write the mapping into the rung comments so a later edit cannot quietly retarget a tag.
- Add the copy rungs. Two unconditional MOV rungs, adjacent to each other: RTC:0.hour into N7:0, then RTC:0.min into N7:1. Unconditional, so both run every scan. Adjacent, so the pair publishes within one scan.
- Point the panel at the words. Create two numeric tags reading N7:0 and N7:1, unsigned integer, and set the direction to read-only where the software asks. A tag that writes N7:0 changes only the copy; the next scan overwrites it, and the clock never sees the value.
- Format the on-screen object. Hour, colon, two-digit minute: hour 9 with minute 5 reads 09:05, leading zero included. Show a digital clock on an HMI panel from PLC RTC values covers the on-screen formats.
- Commission as usual. Download the logic change and go online through your site's normal process, then run the checks in the next section.
Keep the path one-directional. If one panel also has to set the controller's clock, that is a write-side job with its own setup, covered in one HMI reads the PLC clock and one writes it: two setups.
Example: a shift board that reads 14:07
Scenario: a MicroLogix 1400 drives a shop-floor shift board, the panel's driver lists N, B and S files and no RTC fields, and the board shows the current time beside the shift schedule. The wall clock reads 14:07 when you commission.
Values and copies: RTC:0.hour holds 14, because the hour field runs 0 to 23, and RTC:0.min holds 7, because the minute field runs 0 to 59. The two MOV rungs put 14 into N7:0 and 7 into N7:1. The panel tags read those words, and the object renders hour, colon, two-digit minute, so the board shows 14:07.
Boundary check arithmetic: watch the words online for 65 seconds. A minute boundary falls every 60 seconds, so any 65-second window contains one by arithmetic. At the boundary, N7:1 steps from 7 to 8, and the board goes from 14:07 to 14:08.
Rollover arithmetic: at 15:00:00 the hour field steps from 14 to 15 while the minute field steps from 59 to 0. Both copies sit on adjacent rungs, so both words land in the same scan, and the board goes straight from 14:59 to 15:00. The only transition that can split the pair is that hourly rollover, once per hour; adjacency closes it.
How to check the copy works
- The words move. Wait across one minute boundary; 65 seconds of watching spans one, because a minute is 60 seconds. N7:1 steps once, and N7:0 matches the wall clock's hour.
- The screen follows. The board's value equals the online value of the same word. A board value that stays frozen while the word steps points at a wrong tag address or a tag left out of the panel's polled set; the triage in HMI numeric display shows nothing: check the tag address first starts with that same address check.
- The rungs execute. If the clock steps and the words stand still, look at the copy logic first: a condition in front of a MOV that never goes true leaves the words at their last value, and a mistyped field name stops the logic at verification.
If words and screen agree with each other but disagree with the wall clock, the controller's clock is wrong. Set the controller's clock first; the copy rungs publish whatever the clock holds, error included.
Recommendation
Recommendation: when the driver's address list shows no RTC fields, reserve two words in a file it does read, N7:0 for hour and N7:1 for minute as in the example, copy the fields with two adjacent unconditional MOV rungs, point read-only panel tags at the words, and prove the copy online across one minute boundary. Poll S:40 to S:45 directly only on an SLC 500, where the calendar lives in the status file; on a MicroLogix the same numbers are ordinary status data, and the copy rungs are the way through.
Questions
Which other clock fields can I copy the same way?
Second, month, day and year sit in the same RTC file as element fields, so each takes one reserved integer word and one move rung. The calendar ranges are second 0 to 59, month 1 to 12 and day 1 to 31. Copy only what the screen shows: a field nobody displays needs no word and no rung. Verify each added field across its own smallest step, a second field across one second, a day field at midnight.
Can the panel set the controller's clock through the N7 words?
No. The move rung makes N7:0 a copy that follows the clock every scan, so a value written into N7:0 from the panel is overwritten on the next scan and never reaches the clock. Changing the controller's time is a write to the clock itself, done in the controller program, and some sites give that write job to a single panel. Keep the panel tags read-only so a screen object cannot overwrite the published copy.
How wide is the window where hour and minute disagree?
Only at the top of the hour. A minute change from 21 to 22 reads the same in either copy order, because the hour does not move. At 06:59 to 07:00 both fields step at once, so copies made in different scans could pair the new 07 with the old 59. Adjacent rungs update both words in the same scan, and that is the whole fix.
Does the copied time stay right through a power cut?
The display follows the controller, so it reads right whenever the controller's clock is right. Whether the clock itself holds time through a power cut depends on the controller model and its clock backup, which the controller reference covers. The copy rungs change none of that: they publish whatever the clock holds, including a wrong time if the clock was never set.
Planning information, not legal or engineering advice. Rules differ by place: check codes and permits with your local authority and your licensed trades.