Overview
14
NX-Series Controllers - WebConsole & Programming Guide
Enova DGX Digital Media Switchers
NOTE:
Refer to the Products > Digital Media Switchers page at www.amx.com for details and variations available for these products.
Massio
™
ControlPads
NOTE:
Refer to the Products > ControlPads page at www.amx.com for details and variations available for these products.
About This Document
This document describes using the on-board WebConsole, as well as NetLinx send commands and terminal communications to
configure the NX controllers:
Each major section of the WebConsole is described in a separate section of this document. Refer to:
the
On-Board WebConsole User Interface
the
the
the
section on page 57, and
the
WebConsole - Switching Options
Initial Configuration and Firmware Upgrade
section on page 5 describes upgrading the firmware on NX controllers.
section on page 82 lists and defines the NetLinx send commands that are supported by the NX
controllers.
Terminal (Program Port/Telnet) Commands
section on page 104 describes the commands and options available via a
Telnet terminal session with the NX controller.
Differences in DEFINE_PROGRAM Program Execution
Due to differences in the underlying architecture of the X-Series masters, changing variables in the DEFINE_PROGRAM section of
code can negatively impact program performance. It has always been considered poor programming practice to change a variable
within the DEFINE_PROGRAM section of code. If you have legacy NetLinx code that does change a variable in this section it’s very
likely that timing differences will cause your code to run slower and appear less responsive on an NX-Series controller and can have
other adverse effects on platform reliability in the area of connectivity and data throughput.
The DEFINE_PROGRAM section of NetLinx code contains the code known as mainline. Mainline is the section of the program that is
executed on a periodic basis by the NetLinx Master Controller. Under normal operation, the DEFINE_PROGRAM section executes at
least once every half second. Various system activities can cause the DEFINE_PROGRAM section to execute more frequently than
every half second. For example, any time an external event occurs (button push, level change), the DEFINE_PROGRAM section must
re-execute to ensure that any change caused by the event processes through the DEFINE_PROGRAM section code block. This is
also the case for changes to global variables. Any variable change requires the DEFINE_PROGRAM section to re-execute to process
the new variable value through the DEFINE_PROGRAM code block.
Because high CPU usage can be detrimental to the system functionality on an NX master, AMX recommends the complete
deprecation of the DEFINE_PROGRAM section. Syntactically, it is still valid to use the DEFINE_PROGRAM section in your NetLinx
application, but it is no longer recommended. All logic that you would normally place in the DEFINE_PROGRAM section is handled
better in the DEFINE_EVENT section.
Feedback statements remain the most common usage in the DEFINE_PROGRAM section. Because of periodically executing
DEFINE_PROGRAM, you can rely on the program to update user feedback at a regular interval. However, if the DEFINE_PROGRAM
section executes too frequently with the needless iterations expending the CPU to repetitively evaluate the feedback statements.
TIMELINE_EVENTS provide a much more efficient mechanism for evaluating feedback statements. A single timeline triggering every
500ms provides the same periodic execution as the DEFINE_PROGRAM section without the unwanted recursive execution behavior.
Consider the following DEFINE_PROGRAM section containing feedback statements in PRGM EX. 1:
DEFINE_PROGRAM
[dvTP,1] = [dvDev,1]
[dvTP,2] = value1
[dvTP,3] = ![dvTP,3]
PRGM EX. 1
DEFINE_PROGRAM with feedback statements
Enova Digital Media Switchers
Name
Description
DGX8-ENC
Enova DGX 8 Enclosure
DGX16-ENC
Enova DGX 16 Enclosure
DGX32-ENC-A
Enova DGX 32 Enclosure
DGX64-ENC
Enova DGX 64 Enclosure
Massio ControlPads
Name
Description
MCP-106
6-Button Massio ControlPad
MCP-108
8-Button Massio ControlPad