Q: How can I program rotating messages?

There are several ways to implement rotating messages.  
 
Here are examples using Event-Triggered Macros and Scheduler Setpoint Macros.  You can create macros that contain commands to play messages and to set an event-triggered macro or a scheduler setpoint macro to select the next message to play.
 
Each time a macro below is called, it speaks a message, then rewrites the event-triggered macro to execute the next macro in the sequence next time.  The last macro in the sequence sets the first one.  By default, any messages played from the macro are played to the port that the event-triggered macro is associated with.  To change that, add message routing control characters to your message (see page 6-4).
 
Here's a few macro definitions to use with an event-triggered macro.  These can be used anywhere you can execute from an ETM like the Dropout Macro, the Initial ID Macro, the End-of-Activity Macro (see pages A-36 and A-37):
; start the rotation at the beginning
; also add this to your powerup macro (see page 5-28)
MPW 26 <ETM #> 1111  ;sets message #1 for the first time.

;Message ID #1... 1111
MPW 20 1111 MPW 15 9960 <rest of the message> *
MPW 29 1111 MPW 26 <ETM #> 1112 *  ;sets message #2 for next time.

;Message ID #2... 1112
MPW 20 1112 MPW 15 9960 <rest of the message> *
MPW 29 1112 MPW 26 <ETM #> 1113 *  ;sets message #3 for next time.

;Message ID #3... 1113
MPW 20 1113 MPW 15 9960 <rest of the message> *
MPW 29 1113 MPW 26 <ETM #> 1111 *  ;sets message #1 for next time.
Here's the same sequence for use with a Scheduler Setpoint that runs at 30 minutes after the hour.  This example uses setpoint 10, but you can use any setpoint:
; start the rotation at the beginning
; also add this to your powerup macro (see page 5-28)
MPW 28 10 1111 99 99 99 30 *  ;sets message #1 for the first time.

;Message ID #1... 1111
MPW 20 1111 MPW 15 9960 <rest of the message> *
MPW 29 1111 MPW 28 10 1112 99 99 99 30 *  ;sets message #2 for next time.

;Message ID #2... 1112
MPW 20 1112 MPW 15 9960 <rest of the message> *
MPW 29 1112 MPW 28 10 1113 99 99 99 30 *  ;sets message #3 for next time.

;Message ID #3... 1113
MPW 20 1113 MPW 15 9960 <rest of the message> *
MPW 29 1113 MPW 28 10 1111 99 99 99 30 *  ;sets message #1 for next time.

To play rotating messages from setpoints for only part of a day, there's another example showing how to add that feature..

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer