AMX MACROMANAGER User Manual

instruction manual
i!-MacroManager
integration!Solutions
Software Limited Agreement
LIMITED WARRANTY
LIMITED WARRANTY. AMX Corporation warrants that the SOFTWARE will perform substantially in accordance with the accompanying written materials for a period of ninety (90) days from the date of receipt. Any implied warranties on the SOFTWARE and hardware are limited to ninety (90) days and one (1) year, respectively. Some states/countries do not allow limitations on duration of an implied warranty, so the above limitation may not apply to you.
CUSTOMER REMEDIES. AMX Corporation’s entire liability and your exclusive remedy shall be, at AMX Corporation's option, either (a) return of the price paid, or (b) repair or replacement of the SOFTWARE that does not meet AMX Cor­poration's Limited Warranty and which is returned to AMX Corporation. This Limited Warranty is void if failure of the SOFTWARE or hardware has resulted from accident, abuse, or misapplication. Any replacement SOFTWARE will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer.
NO OTHER WARRANTIES. not limited to implied warranties of merchantability and fitness for a particular purpose, with regard to the SOFTWARE, the accompanying written materials, and any accompanying hardware. This limited warranty gives you specific legal rights. You may have others which vary from state/country to state/country.
NO LIABILITY FOR CONSEQUENTIAL DAMAGES whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this AMX Corporation product, even if AMX Corporation has been advised of the possibility of such damages. Because some states/countries do not allow the exclusion or limitation of liability for consequential or incidental damages, the above limitation may not apply to you.
U.S. GOVERNMENT RESTRICTED RIGHTS
The SOFTWARE and documentation are provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii) of The Rights in Technical Data and Com­puter Software clause at DFARS 252.227-7013 or subparagraphs (c)(1) and (2) of the Commercial Computer Soft­ware--Restricted Rights at 48 CFR 52.227-19, as applicable. Manufacturer is AMX Corporation, 3000 Research Drive, Richardson, TX 75082.
If you acquired this product in the United States, this Agreement is governed by the laws of the State of Texas. Should you have any questions concerning this Agreement, or if you desire to contact AMX for any reason, please
write: AMX Corporation, 3000 Research Drive, Richardson, TX 75082.
AMX Corporation disclaims all other warranties, either expressed or implied, including, but
. In no event shall AMX Corporation be liable for any damages
Table of Contents
Table of Contents
Introduction ...............................................................................................................1
Macro and Schedule Persistence...................................................................................... 1
Programming i!-MacroManager ..............................................................................3
i!-MacroEngineMod ........................................................................................................... 3
i!-MacroEditorMod ............................................................................................................. 3
i!-MacroExecuteMod ......................................................................................................... 3
i!-MacroSchedulerEngineMod ........................................................................................... 3
i!-MacroSchedulerEditorMod............................................................................................. 4
Non i!-MacroManager Modules ......................................................................................... 4
KeyboardMod........................................................................................................................... 4
i!-TimeManagerMod ................................................................................................................. 4
Programming i!-MacroEngineMod..................................................................................... 4
Commands............................................................................................................................... 4
Strings ...................................................................................................................................... 5
i!-MacroEngineMod Module Definition ..................................................................................... 5
Parameters............................................................................................................................... 5
Touch Panel Pages.................................................................................................................. 5
Programming i!-MacroEditorMod ...................................................................................... 5
Commands............................................................................................................................... 5
Parameters............................................................................................................................... 6
Touch Panel Pages................................................................................................................ 10
Programming i!-MacroExecuteMod................................................................................. 11
i!-MacroExecuteMod Module Definition ................................................................................. 11
Parameters............................................................................................................................. 11
Touch Panel Pages................................................................................................................ 12
Programming i!-MacroSchedulerEngineMod .................................................................. 13
Channels ................................................................................................................................ 13
Levels..................................................................................................................................... 13
Commands............................................................................................................................. 13
Strings .................................................................................................................................... 15
i!-MacroSchedulerEngineMod Module Definition ................................................................... 16
Parameters............................................................................................................................. 16
Touch Panel Pages................................................................................................................ 16
Programming i!-MacroSchedulerEditorMod .................................................................... 16
Levels..................................................................................................................................... 16
Commands............................................................................................................................. 17
!-MacroManager
i
Table of Contents
i!-MacroSchedulerEditorMod Module Definition..................................................................... 17
Parameters............................................................................................................................. 18
Touch Panel Pages................................................................................................................ 23
ii
i!-MacroManager

Introduction

i!-MacroManager allows users to create custom macros from any NetLinx compatible touch panel
and execute them in real time without modification to the NetLinx program. i!-MacroManager is
composed of a series of modules that allow users to create, edit, delete, execute and schedule
macros from any NetLinx compatible touch panel.
i!-MacroManager creates macros from the actions available through i!-ConnectLinx. Each macro
can contain up to 50 actions. Each action can have an associated delay, set in 1/100-second
increments, to handle time delays required between actions. The user can configure a macro
execution button to execute any macro.
i!-MacroScheduler allows users to schedule NetLinx macros directly from any NetLinx compatible
touch panel. i!-MacroScheduler provides a user interface for creating up to 240 scheduled events to
run any available macro on a repeating or non-repeating basis. i!-MacroScheduler also provides a
scheduling engine that will trigger each event at the appropriate time and reschedule repeating
events.
i!-ConnectLinx provides the mechanism to expose actions to i!-MacroManager and to manage
action execution on the NetLinx system. Once i!-MacroManager builds a macro from the actions in
the i!-ConnectLinx action list, i!-MacroManager makes a request to i!-ConnectLinx to execute
those actions. i!-ConnectLinx handles this request and presents it to the NetLinx program for
execution.
Introduction

Macro and Schedule Persistence

i!-MacroManager stores macros on the NetLinx master's file system in macro files. These files are
located in the doc:\user\macros directory. You can use i!-MacroManager to create and delete
macros.
i!-MacroManager does not store macros in memory, only on the file systems. If a macro is
scheduled via i!-MacroScheduler and then the macro is deleted, the macro will fail to run since the
macro no longer exists on the file system. Deleting macros will not delete all references to the
macro, only the macro itself.
i!-MacroScheduler stores the schedule information in a file called MMSchedule.bin located in the
doc:\user\schedule directory. All event information will be stored in this file and recalled during
power up. Any event scheduled by the user is stored and will not be lost during a power cycle.
The scheduling engine will always attempt to read the MMSchedule.bin file on start up. If you are
loading a new program containing macro scheduling into an old master that used to have macro
scheduling, you should use FTP to browse the NetLinx master's file system and delete the old
schedule file. Otherwise, the old scheduling information will be automatically loaded.
NetLinx Master firmware (build 130 or greater) supports up to 199 macros.
!-MacroManager
1
Introduction
2
i!-MacroManager

Programming i!-MacroManager

i!-MacroManager is implemented as a series of NetLinx modules to simplify adding macro
functionality to your program. To add any of the i!-MacroManager modules to your program,
simply add the module definition and all it's parameters to your code and integrate the sample touch
panel pages for that module into your touch panel design.
One simple way of doing this is to save the i!-MacroManager test file as an include file that you can
include into your main program. Then you can make any needed modifications to your include file.
To integrate the touch panel pages, copy each page and popup page from the i!-MacroManager test
touch panel file and paste it into your design. After copying the popup pages to the new file, you
will need to create the necessary popup groups and group the popup properly. As an option you can
base your design on the i!-MacroManager test touch panel file. If the channel and variable text
codes for i!-MacroManager conflict with existing channel or variable text codes, you can move
i!-MacroManager to another device using Power Assign and editing the touch panel devices in the
include file.
In order to use i!-MacroManager, you will need to program and define a series of actions through
i!-ConnectLinx. The i!-ConnectLinxEngineMod module is included with i!-MacroManager and
some simple examples appear in the i!-MacroManager test file. For complete documentation on
i!-ConnectLinx, download the i!-ConnectLinx install from the AMX web site.
Programming i!-MacroManager
Once the i!-ConnectLinx programming has been established, choose which i!-MacroManager
features you want to include in your program and add the corresponding module code and pages.
The following list describes the i!-MacroManager modules:

i!-MacroEngineMod

This is the macro engine module. This module executes macros and must always be included for
any i!-MacroManager functions. This module requires the i!-ConnectLinxEngineMod module.

i!-MacroEditorMod

This is the macro editor module. This module creates, edits and deletes macros. This module must
be used to create macros but is not required to run the macros. Since this module creates macros,
you will likely include this module in your program. This module requires the
i!- ConnectLinxEngineMod, i!-MacroEngineMod and KeyboardMod modules.

i!-MacroExecuteMod

This is the macro execute module. This module allows the user to dynamically assign a macro to a
touch panel button and run the macro when the button is pressed. This is the most common method
of macro execution; therefore you will likely include this module in your program. This module
requires the i!-MacroEngineMod module.
!-MacroManager

i!-MacroSchedulerEngineMod

This is the macro scheduler engine module. This module allows the scheduling and scheduled
execution of macros. This module is only needed if you want to support the scheduling of macros.
This module requires the i!-MacroEngineMod module.
3
Programming i!-MacroManager

i!-MacroSchedulerEditorMod

This is the macro scheduler editor module. This module allows the user to create scheduled macros
from a touch panel. This module is only needed if you want to support the scheduling of macros
from a touch panel. If you want to support scheduled macros but the schedule is fixed or very
simple, you can configure the i!-MacroSchedulerEngineMod via SEND_COMMANDs and you do
not need to include this module. This module requires the
i!-MacroEngineMod, i!-MacroSchedulerEngineMod and KeyboardMod modules.

Non i!-MacroManager Modules

KeyboardMod

This is the keyboard module. This module is required by any module requiring
on-screen text entry of data. Both i!-MacroEditorMod and i!-MacroSchedulerEditorMod require
this module.

i!-TimeManagerMod

This is the i!-TimeManager module. This module manages the systems clock by synchronizing
with Internet timeservers. This module also provides sunrise and sunset information. If you are
including the i!-MacroSchedulerEngineMod module, you will want to include this module.
Without this module, i!-MacroScheduler cannot run schedules based on sunrise/sunset. Complete
documentation for i!-TimeManager can be downloaded from the AMX website.

Programming i!-MacroEngineMod

i!-MacroEngineMod appears on the NetLinx bus as a NetLinx device. This device has 1 port with
channels, levels, commands and strings like most other devices.

Commands

i!-MacroEngineMod supports the following out-bound commands (master to device).
i!-MacroEngineMod - Commands
Command Description
'RUN-[MacroFile/MacroName]'
'KILL-[MacroFile/MacroName]'
'NOTIFY-[ON/OFF]'
'DEBUGON'
'DEBUGOF'
'VERSION'
Run a macro file.
Stop running a macro file if it is currently running.
Turn macro execution notification on or off. Default is off.
Turn on debug.
Turn off debug. (Default)
Send version information to master debug port (master messaging)
4
i!-MacroManager
Programming i!-MacroManager

Strings

i!-MacroEngineMod supports the following in-bound strings (device to master).
i!-MacroEngineMod - Strings
Command Description
'LOAD-[Slot],[MacroName]'
'KILL-[Slot],[MacroName]'
'STEP-[Slot],[Step#],[StepName]'
'UNLOAD-[Slot],[MacroName]'
Notification that macro MacroName was started in engine slot Slot (1-10).
Notification that macro MacroName was kill with a KILL command.
Notification that step Step# named StepName was executed in engine slot Slot (1-10).
Notification that macro MacroName was unload from engine slot Slot (1-10). Occurs when the macro is finished executing.

i!-MacroEngineMod Module Definition

DEFINE_MODULE 'i!-MacroEngineMod' mdlMMEng(vdvMacroEngine,vdvConnectLinx)
Where mdlMMEng is a unique module name.

Parameters

vdvMacroEngine
A virtual device for communicating to the macro engine.
vdvConnectLinx
An array of virtual devices for communicating to i!-ConnectLinx.

Touch Panel Pages

i!-MacroEngineMod does not require any touch panel pages.

Programming i!-MacroEditorMod

i!-MacroEditorMod appears on the NetLinx bus as a NetLinx device. This device has 1 port with
channels, levels, commands and strings like most other devices.

Commands

i!-MacroEditorMod supports the following out-bound commands (master to device).
i!-MacroEditorMod - Commands
Command Description
'DEBUGON'
'DEBUGOF'
'VERSION'
Turn on debug.
Turn off debug. (Default)
Send version information to master debug port (master messaging)
!-MacroManager
5
Loading...
+ 21 hidden pages