Summary of Contents for AMX RMS 3.0 - PROGRAMMER GUIDE
Page 1
N e t L i n x P r o g r a m m e r ’ s G u i d e Resource Management Suite 3.0 S of t w a r e...
Page 2
(1) year. • AMX Lighting products are guaranteed to switch on and off any load that is properly connected to our light- ing products, as long as the AMX Lighting products are under warranty. AMX Corporation does guarantee control of dimmable loads that are properly connected to our lighting products. The dimming performance or quality cannot be guaranteed due to the random combinations of dimmers, lamps and ballasts or transformers.
Page 3
AMX's entire liability and your exclusive remedy shall be repair or replacement of the AMX Software that does not meet AMX's Limited Warranty and which is returned to AMX. This Limited Warranty is void if failure of the AMX Software has resulted from accident, abuse, or misapplication. Any replacement AMX Software will be warranted for the remainder of the original warranty period or thirty (30) days, whichever is longer.
Overview Overview The Resource Management Suite products are PC server applications designed to manage rooms and equipment. The RMS server also monitors equipment in the rooms and sends notifications for room problems and help requests. The RMS server allows for the logging of room and device use, errors that occur, and offline events.
System Requirements System Requirements The RMS SDK is a set of NetLinx and TPDesign files that are included in your control system programs. To utilize this SDK, you will need the following applications installed: NetLinx Studio 2.5 (or later) TPDesign 4 v2.6 (or later) for G4 panels TPDesign 3 v3.16 (or later) for G3 panels RMS NetLinx Programmer’s Guide...
Page 12
System Requirements RMS NetLinx Programmer’s Guide...
By default, NetLinx and the RMS server will communicate using TCP/IP port 3839. Port 3839 is registered to AMX Resource Management Suite with IANA (http://www.iana.org/assignments/port-numbers). This can be changed to suit your particular facility but it must be changed in both the RMS server software RMS NetLinx Programmer’s Guide...
Page 14
Concepts and each NetLinx system. In the RMS server, this is accomplished through the Configuration Wizard. In NetLinx, this is accomplished through the 'SERVER-' command in NetLinx programming. If using the ServerInfo.txt file, append a ":" and the port number to the server IP address or host name.
Concepts Device Monitoring Framework RMS provides device monitoring through a user extensible framework. This framework allows you to customize what devices are monitored, the conditions that indicate a problem or fault, and what type of problem or fault this condition represents.
Concepts Device Values Each monitored device has a set of values used in its description. These values are supplied when the device is registered and consist of the following: Device Values Device Number This is the device number of the device, as defined in the NetLinx program.
Concepts Parameter Values Each parameter has a set of values used to determine what conditions indicate a problem and what type of problem this condition represents. These values are supplied when the parameter is registered and consist of the following: Parameter Values Name This is the name of parameter.
Page 18
Concepts Parameter Values Status Type The status represents the type of problem a faulted condition represents. Status Types include "Help Request", "Maintenance Request", "Room Communication Error", "Control System Error", "Network Error", "Security", and "Equipment Usage." For example, when "Lamp Hours" changes from an un-faulted (not greater than 1000) to a faulted (greater than 1000), this change represents a "Maintenance Request"...
"Network Error", "Security", and "Equipment Usage." While there are no firm rules for what these status types mean and how they are used, AMX provides the following description of each status type and recommends that your usage is consistent with these descriptions.
Concepts Notification Process As NetLinx sends parameter updates to the RMS server, the RMS server checks to see if the parameter's threshold value has been reached. This comparison is made by checking the previous value of the parameter against the threshold and by checking the new version of the parameter against the threshold using the threshold comparison operator.
Page 21
Concepts change results in an Alert message being logged using the RMS logging settings. Also, a message is sent to all users registers for a notification matching the parameters group, room and status type. If the Lamp Hours changes from 1001 to 999, the RMS server triggers an Advise message.
Upgrading from MeetingManager 1.0 Upgrading from MeetingManager 1.0 Basic Changes If you are currently running MeetingManager 1.0 NetLinx code, you should plan to migrate to the new RMS 2.0 SDK. The RMS 2.0 SDK offers a more flexible and complete API and improved reporting capabilities for the RMS Server administrator.
Upgrading from MeetingManager 1.0 files from the RMS 2.0 SDK directory to your project directory in order to compile. In addition, all "MM…" API functions and constants should be changed to use the "RMS…" function or constant, which is as simple as changing "MM" to "RMS".
Upgrading from MeetingManager 1.0 If you did not use the worksheet, your code probably calls MMChangeParam() to notify MeetingManager of the Lamp Hours change. You will want to change your code from: MMChangeParam (dvProj,MM_PARAM_SET,Value) RMSSetLampHours(dvProj,Value) Communication Timeout In MeetingManager 1.0, communication timeout for a source other than a Projector or a VCR was handled by creating a named device and a parameter for that device called "Device Communicating".
Upgrading from MeetingManager 1.0 30 seconds, or any value you set using RMSSetCommunicationTimeout (). If a string is not received within the timeout period, a loss of device communication is reported to the RMS server. If you are using RMS CodeCrafter output that imported the custom "Device communicating"...
Upgrading from MeetingManager 1.0 RMSSrcUsageMod will extract the text after "Select " and register the remaining text as a custom source, Reel to Reel in this case. RMSSrcUsageMod will then monitor the channel specified in the ADD ACTION command, channel 1 in this case, and when the channel turns on, RMSSrcUsageMod will start a timer and time the usage of Reel to Reel.
Page 28
Upgrading from MeetingManager 1.0 When using RMSSrcUsageMod in Multisource mode, RMSSrcUsageMod does not assume sources are mutually exclusive, the OFF states are used to stop source usage timing and system off is ignored. Selecting a source now requires this code: Select VCR: ON[vdvCLActions,1011], OFF[vdvCLActions,1014] Select DVD:...
Upgrading from MeetingManager 1.0 Time Synchronization In MeetingManager 1.0, time synchronization for the master was accomplished by using i!-TimeManager. Starting with RMS 2.0, time synchronization is built into the RMS Suite. Each NetLinx system's time is automatically updated based on the RMS server's time while accounting for the time zone and Daylight Saving settings of the server and each room.
RMS CodeCrafter. To bring your worksheet into CodeCrafter for editing: 1. Dowload RMS CodeCrafter from AMX.com if you do not already have the application (the application is included in the RMS 3.0 SDK installation for your convenience).
RMS CodeCrafter. Using RMS CodeCrafter To use RMSCodeCrafter, create a new RMSCodeCrafter project by opening the program from the AMX Resource Management Suite > RMSCodeCrafter Program Folder. For details on operating the program, see the RMSCodeCrafter help file.
Page 32
Getting Started Projector (RMSProjectorMod): Device Online/Offline, Power, Lamp Hours, Communication Status for Serial devices, Control Failure (Optional), IP Address of Socket-based devices. Transport (RMSTransportMod): Device Online/Offline, Power, Run Time, Communication Status for Serial devices, Control Failure (Optional), IP Address of Socket-based devices. Slide Projector (RMSSldProjMod): Device Online/Offline, Power, Lamp Hours The following diagram is a visual description of the architecture of the...
Next, you will need to notify RMS when device power is turned on and off. If you are using an AMX Comm module to communicate to your device, the RMS support modules will automatically communicate with the Comm module to determine power status.
Page 34
Value is the lamp hour's value. For transport devices, you will need to notify RMS when the transport state changes. If you are using an AMX Comm module to communicate to your device, the RMSTransportMod will communicate with the Comm module to determine transport state automatically.
Getting Started Service Mode RMS supports a service mode where no errors will be reported. Service mode is designed to allow a technician to work on a room without causing error reports. For instance, if a projector needs to be replaced or serviced, RMS would report Device Not Communicating when the technician disconnected the power cable or communication cable.
Page 36
Getting Started To clear out all monitored devices and parameters, delete the room and then add the room back. Deleting a room from RMS deletes all associated monitored devices and parameters from the RMS server. Optionally, you can delete a device or a parameter from the RMS console provided the device is not the "System"...
Custom Device Monitoring Programming Custom Device Monitoring Programming The RMS SDK is made up of a series of modules and include files. The following diagram is a visual description of the architecture of the RMSMain.axi and the RMS support modules: FIG.
Custom Device Monitoring Programming RMSCommon.axi RMSCommon.axi is an included file designed to help perform many device monitoring tasks. This file provides device-monitoring constants, functions that generate device monitoring SEND_COMMANDs to RMS, as well as providing a "callback" function for important device monitoring RMS events. In order to use this include file, your program will need to define the RMS device and a couple of functions.
Custom Device Monitoring Programming RMSDevMonSetParamCallback() The function is called when the RMS administrator chooses "Reset" for a parameter that can be reset on the RMS console. You can determine which parameter was reset by checking the value of dvDPS and cName. All parameters values are sent as a string so you will need to convert it appropriately.
Page 40
Example: //This registers the dvRelay device under the name “Rack Power” //- called in the online event for dvRelay RMSRegisterDevice(dvRELAY,'Rack Power','AMX','NI-3000 Relay') //This sets the parameters for the registered device - called in //the online event for dvRelay RMSRegisterDeviceIndexParam(dvRELAY,'Rack Power',...
Page 41
Custom Device Monitoring Programming SWITCH (CHANNEL.CHANNEL) CASE 1: RMSSetRackPowerRackPower(1) break // Channel Off OFF: SWITCH (CHANNEL.CHANNEL) CASE 1: RMSSetRackPowerRackPower(0) break RMS NetLinx Programmer’s Guide...
Custom Device Monitoring Programming RMS Device Monitoring Support Modules Next, you will want to consider adding RMS device monitoring support modules for monitoring basic devices. Adding these support modules will handle most of the monitoring requirements for these devices. RMS offers the following support modules: RMSBasicDeviceMod This module monitors basic devices.
Custom Device Monitoring Programming RMSProjectorMod This module monitors projectors. For each projector, this module will register and monitor online/offline status, communication status, control failure, power, and lamp hours. Communication status is registered only if the device is a two- way device. This includes serial devices and IP sockets. Control failure is registered only if enabled via a SEND_COMMAND, and is based on the ability to control power.
Custom Device Monitoring Programming RMSTransportMod This module monitors transport devices. For each transport device, this module will register and monitor online/offline status, communication status, power, and run time. Communication status is registered only if the device is a two-way device. This includes serial devices and IP sockets. Control failure is register only if enabled via a SEND_COMMAND, and is based on the ability to control power.
Custom Device Monitoring Programming RMSSldProjMod This module monitors slide projectors. For each projector, this module will register and monitor online/offline status, power, and lamp hours. Lamp hours are determined by counting the time that the device's power is On. The following diagram is a visual description of the architecture of the RMSSldProjMod module: FIG.
DEFINE_MODULE 'COMM_XXXXX' COMM(dvVCR, vdvVCR) If you are not using an AMX module for communicating with a device, you will need to add programming to notify the module of changes in the device state. For the Basic Device and Projector module, you will need to notify the module when the power is turned On or Off.
Page 47
Custom Device Monitoring Programming Notify Modules Turn Power On: RMSSetDevicePower(dvProj,TRUE) SEND_STRING vdvVPROJ,'POWER=1' PULSE[vdvVPROJ,27] ON[vdvVPROJ,255] Turn Power Off: RMSSetDevicePower(dvProj,FALSE) SEND_STRING vdvVPROJ,'POWER=0' PULSE[vdvVPROJ,28] OFF[vdvVPROJ,255] Set Lamp Hours RMSSetLampHours(dvProj,Value) SEND_STRING vdvVProj,'LAMPTIME=Value' Set Transport State (1=Play, RMSSetTransportState(dvVCR,State) 2=Stop, etc…): SEND_STRING vdvVCR, 'TRANSPORT=State' PULSE[vdvVCR,State+240] Where State is: Play Stop Pause...
SEND_STRING for notifying the module of transport state. You may notice that for transport state, you can pulse a channel between 241-248 to set the transport state. Since AMX SYSTEM_CALLs use those channels to store transport state, no additional programming is needed to send transport state to the module when using a SYSTEM_CALL.
Custom Device Monitoring Programming The RMSSetDeviceInfo () is defined in the RMSCommon.axi include file. Monitoring Source Usage RMS can monitor source usage by using the RMSSrcUsageMod module. RMSSrcUsageMod will track the amount of time, in minutes, a given source is selected and logs this information to RMS when a new source is selected.
Page 50
Custom Device Monitoring Programming be registered as a custom source. For instance, a custom action called "Select Slide To Video" will register a source called "Slide To Video." DEFINE_EVENT BUTTON_EVENT[vdvCLActions,1]// Custom Source PUSH: // Switch the projector and switcher to select the Source ON[vdvCLActions, 1] DATA_EVENT[vdvCLActions] ONLINE:...
Custom Device Monitoring Programming FIG. 7 Architecture of The RMSSrcUsageMod Module Monitoring Many NetLinx-connected Devices RMSNLDeviceMod This module monitors one or more NetLinx-connected devices. For each device, the module will register and monitor the online/offline status. This module provides a very simple way to monitor NetLinx-connected devices. However, it does not allow the naming of these devices.
Page 52
Custom Device Monitoring Programming DEFINE_MODULE 'RMSNLDeviceMod' mdlNLD(dvMonitoredDevices, vdvRMSEngine) The following diagram is a visual description of the architecture of the RMSNLDeviceMod module: FIG. 8 Architecture of The RMSNLDeviceMod Module RMS NetLinx Programmer’s Guide...
Custom Device Monitoring Programming Monitoring A Single NetLinx-connected Device The RMSCommon.axi include file provides two functions that help to monitor the Online/Offline status of a NetLinx connected device. You can use these functions to monitor a device like a touch panel or bus box. These two functions are: RMSNetLinxDeviceOnline(dvDPS, cName) RMSNetLinxDeviceOffline(dvDPS)
Custom Device Monitoring Programming Registering Devices The RMSCommon.axi include file provides some simple functions for registering devices. The functions can be used in the RMSDevMonRegisterCallback() function, called when RMS engine module connects to the RMS server. These functions generate SEND_COMMANDs, which you can generate manually.
Page 55
Custom Device Monitoring Programming The combination of Number and String parameters types and enumeration lists provide four unique kinds of parameters to the NetLinx program. These are: Registering Parameters Number Parameter Number parameters are parameters of type number with no enumeration list.
Page 56
Custom Device Monitoring Programming The include file provides four functions for registering these parameters. They are: RMSRegisterDeviceNumberParam(dvDPS, cName, slThreshold, nThresholdCompare, nThresholdStatus, bCanReset, slResetValue, nInitialOp, slInitial, slMin, slMax) RMSRegisterDeviceIndexParam(dvDPS, cName, nThreshold, nThresholdCompare, nThresholdStatus, bCanReset, nResetValue, nInitialOp, nInitial, cEnumList) RMSRegisterDeviceStringParam(dvDPS, cName, cThreshold, nThresholdCompare, nThresholdStatus, bCanReset,...
Page 57
Custom Device Monitoring Programming RMSRegisterDeviceEnumParam(dvDPS, cName, cThreshold, nThresholdCompare, nThresholdStatus, bCanReset, cResetValue, nInitialOp, cInitial, cEnumList) Optionally, you can register a parameter with a Unit field. The Units field will be displayed next to the parameter value and threshold. You might want to use a Unit field to add a "V"...
Page 58
Custom Device Monitoring Programming RMSRegisterDeviceStringParamWithUnits(dvDPS, cName, cUnits, cThreshold, nThresholdCompare, nThresholdStatus, bCanReset, cResetValue, nInitialOp, cInitial) This function will need to be called in two places. Call RMSRegisterDevicexxxParam () in the RMSDevMonRegisterCallback() function to make sure it is registered when the RMS engine module connects to the RMS server.
Page 59
Custom Device Monitoring Programming RMS_STAT_NOT_ASSIGNED (1), RMS_STAT_HELP_REQUEST (2), RMS_STAT_ROOM_COMM_ERR (3), RMS_STAT_CONTROLSYSTEM_ERR (4), RMS_STAT_MAINTENANCE (5), RMS_STAT_EQUIPMENT_USAGE (6), RMS_STAT_NETWORK_ERR (7), RMS_STAT_SECURITY_ERR (8). One of these values classifies a fault with this parameter as a Help Request, Room Communication Error, Control System Error, Maintenance, Equipment usage, Network Error, or Security issue.
Custom Device Monitoring Programming enumeration list. For Number parameters, slMin and slMax define the range the value is expected to have. For Index and Enum, cEnumList contains the allowed values of the parameter. Setting Parameter Values You can set a parameter value any time after the RMS engine module has connected to the RMS server.
Page 61
Custom Device Monitoring Programming element in cEnum, supplied during registration, is index 0, the second element is index 1, etc... Most commonly, you will use the RMS_PARAM_SET (0) operation. However, there may be instances where you want to simply allow the database to keep track of the value and notify it of changes only.
NetLinx Modules NetLinx Modules Non-RMS Modules KeyboardMod This is the keyboard module. This module is required by any module requiring on-screen text entry of data. RMSUIMod and RMSHelpUIMod require this module. For more information, see KeyboardMod (Readme).txt in the RMS SDK directory.
NetLinx Modules Commands RMSEngineMod listens for the following commands from the vdvRMSEngine device. Commands and Descriptions Set the address of the RMS server. A port 'SERVER-[IP/Hostname]' can be specified by adding a colon (:) and a port number to the end of the IP address or host name.
Page 65
NetLinx Modules Commands and Descriptions (Cont.) Status can be any of the following: • NONE or 1 - Not assigned • HELP or 2 - Help Request • ROOM or 3 - Room Communication Error • CONT or 4 - Control System Error •...
Page 66
NetLinx Modules Commands and Descriptions (Cont.) Add a String parameter. See above for 'ADD SPARAM-[DPS],[Name], description of all arguments. Units is a text [Units],[Threshold],[Status] string of the units to append to the ,[Reset],[Initial Value]' parameter value when displayed. Add an Index parameter. See above for 'ADD IPARAM-[DPS],[Name], description of all arguments.
Page 67
NetLinx Modules Commands and Descriptions (Cont.) Turn on debug. (including messages 'DEBUG-CONNECT' related to connection to RMS server) Turn on general debug. (no connection 'DEBUG-ON’ messages) Turn off debug. (Default) 'DEBUG-OFF’ Send version information to master debug 'VERSION’ port (master messaging) Turn on service mode.
NetLinx Modules Strings RMSEngineMod listens for the following string from the vdvRMSEngine device. Strings and Descriptions Set the system power state. [PowerState] should be 0 'POWER=[Power State]' for off and 1 for on. Example: 'POWER=1' RMSEngineMod sends the following strings to the vdvRMSEngine device. Strings and Descriptions Signifies that the RMS Engine module has 'REGISTER'...
Page 69
NetLinx Modules Strings and Descriptions (Cont.) The appointment list summary for Date. Total Appt "'APPT LIST-[Date], provides the total number of appointments for Date. [Total Appt], Binary Appt list is a character array with 48 entries, 1 '[Binary Appt List]" for each ½...
NetLinx Modules Channels 9 - Toggle System Power State 27 - Set system power to ON 28 - Set system power to OFF 100 - Run Preset for Current Appointment 250 - RMS Server Online 251 - Dynamic Images Enabled Levels 1 - Current Appointment Index 2 - Minutes Remaining In Appointment...
NetLinx Modules RMSUIMod Module Commands Module Definition Touch Panel Pages Commands RMSUIMod listens for the following commands from the vdvRMSEngine device. Commands and Descriptions Set Date format European format: Day/Month/Year 'DFORMAT-DAY/ MONTH' Set Date format US format: Month/Day/Year 'DFORMAT-MONTH/ DAY' Set Time format to 12 hour format: [01-12]:[00-59] 'TFORMAT-12 HOUR' [AM,PM]...
NetLinx Modules Module Definition DEFINE_MODULE 'RMSUIMod' mdlRMSUI(dvRMSEngine, vdvKB, dvKB, dvTp, dvTPWelcome) vdvRMSEngine: A virtual device for communicating to RMSEngineMod RMSEngineMod module vdvKB: The virtual device of the KeyboardMod module for editing text. dvKB: An array of touch panel base devices implementing RMSUIMod. dvTP: An array of main touch panel devices implementing RMSUIMod.
NetLinx Modules RMSUIMod requires the following touch panel pages for dvTPWelcome: mtgmWelcomePage RMSUIMod requires the following touch panel pop-up pages for dvTp: Touch Panel Pop-up Pages Popup Page Popup Group mtgmAppointmentDetails mtgmViewSchedule mtgmViewSchedule1 mtgmViewSchedule mtgmViewSchedule3 The RMS Welcome Screen (320x240).tpd file implements the welcome functionality in multiple pages without popups.
NetLinx Modules Module Definition DEFINE_MODULE ' RMSWelcomeOnlyUIMod' mdlRMSUI(vdvRMSEngine, dvTPWelcome) vdvRMSEngine A virtual device for communicating to RMSEngineMod module. dvTPWelcome: An array of welcome touch panel devices implementing RMSUIMod. If any of these panels are G3 panels, make sure the first panel in this array is a G3 panel.
NetLinx Modules RMSHelpUIMod Module Commands Module Definition Touch Panel Pages Commands RMSHelpUIMod listens for the following commands from the vdvRMSEngine device. Commands and Descriptions Set Date format European format: Day/Month/Year 'DFORMAT-DAY/ MONTH' Set Date format US format: Month/Day/Year 'DFORMAT-MONTH/ DAY' Set Time format to 12 hour format: [01-12]:[00-59] 'TFORMAT-12 HOUR' [AM,PM]...
NetLinx Modules All channel and variable text numbers are defined inside the module. If you need to change them, edit the module and re-compile the module and your program. Touch Panel Pages RMSHelpUIMod requires the following touch panel pages for dvTP: mtgmMain KBKeyboard RMSHelpUIMod requires the following touch panel pop-up pages for dvTp:...
NetLinx Modules RMSNLDeviceMod Module Commands Module Definition Commands RMSNLDeviceMod listens for the following commands from the vdvRMSEngine device. Commands and Descriptions Send version information to master debug port (master 'VERSION’ messaging) Module Definition DEFINE_MODULE 'RMSNLDeviceMod' mdlNLD(dvMonitoredDevices, vdvRMSEngine) Where mdlNLD is a unique module name. dvMonitoredDevices An array of NetLinx-connected devices to monitor.
NetLinx Modules RMSProjectorMod Module Commands Strings Channels Module Definition Commands RMSProjectorMod listens for the following commands from the vdvRMSEngine device. Commands and Descriptions Set device information for device monitoring. 'DEV INFO- DPS must be in string form (ex: '5001:1:0'). [DPS],[Name],[Man],[Model]' Set device name for device monitoring.
NetLinx Modules Strings RMSProjectorMod listens for the following strings from the vdvProjModule device. Strings and Descriptions Set the system power state. [PowerState] 'POWER=[Power State]' should be 0 for off and 1 for on. Example: 'POWER=1' Set the projector lamp hours. 'LAMPTIME=[Value]' Example: 'LAMPTIME=200' Set the model number.
NetLinx Modules Module Definition DEFINE_MODULE 'RMSProjectorMod' mdlProj1(vdvProjModule, dvProj, vdvRMSEngine) Where mdlProj1is a unique module name. vdvProjModule A virtual device for communicating to RMSProjectorMod. This can be the same virtual device used to communicate with an InConcert module or a physical projector. If controlling the projector or display using an IR device, pass the physical device to this parameter.
NetLinx Modules RMSTransportMod Module Commands Strings Channels Module Definition Commands RMSTransportMod listens for the following commands from the vdvRMSEngine device. Commands and Descriptions Set device information for device monitoring. 'DEV INFO- DPS must be in string form (ex: '5001:1:0'). [DPS],[Name],[Man], [Model]' Set device name for device monitoring.
NetLinx Modules Strings RMSTransportMod listens for the following strings from the vdvVCRModule device. Strings and Descriptions Set the system power state. [PowerState] 'POWER=[Power State]' should be 0 for off and 1 for on. Example: 'POWER=1' Set the system power state. Transport 'TRANSPORT=[Transport State]' State can be 2 for Stop or any other value for a non-stopped condition.
NetLinx Modules Channels The module watches for these channels on the vdvVCRModule device. 9 - Toggle System Power State 27 - Set system power to ON 28 - Set system power to OFF 254 - Power failure. 255 - Power Status. The module watches for these channels on the dvVCR device.
NetLinx Modules Touch Panel Pages This module requires no pages. RMSBasicDeviceMod Module Commands Strings Channels Module Definition Commands RMSBasicDeviceMod listens for the following commands from the vdvRMSEngine device. Commands and Descriptions Set device information for device monitoring. DPS must be 'DEV INFO- in string form (ex: '5001:1:0').
NetLinx Modules Strings RMSBasicDeviceMod listens for the following strings from the vdvModule device. Strings and Descriptions Set the system power state. [PowerState] 'POWER=[Power State]' should be 0 for off and 1 for on. Example: 'POWER=1' Set the model number. 'MODEL=[Model]' Set the manufacturer name.
NetLinx Modules Module Definition DEFINE_MODULE 'RMSBasicdeviceMod' mdBasicDev1(vdvModule, dvDevice, vdvRMSEngine) Where mdlBasicDev1is a unique module name. vdvModule A virtual device for communicating to RMSBasicDeviceMod. This can be the same virtual device used to communicate with an InConcert module or a physical device. If controlling the device using an IR device, pass the physical device to this parameter.
NetLinx Modules Channels The module watches for these channels on the dvSldProj device. 5 - Slide Projector Power State Module Definition DEFINE_MODULE 'RMSSldProjMod' mdlSldProj1(dvSldProj, vdvRMSEngine) Where mdlSldProj1is a unique module name. dvSldProj A physical device to which the slide projector is connected. vdvRMSEngine A virtual device for communicating to RMSEngineMod module.
NetLinx Modules RMSSrcUsageMod Module Commands Channels Module Definition Commands RMSSrcUsageMod listens for the following commands from the vdvRMSEngine device. Commands and Descriptions Set the multi-source tracking state. State can be ON 'MULTISOURCE-[State]' or OFF. The default is OFF. Send version information to master debug port 'VERSION’...
NetLinx Modules 1023 - Aux Video Select 1024 - Slide Select 1025 - Digital Media Player Select 1041 - Music Select 1042 - CD Select 1043 - Cassette Select 1044 - DAT Select 1045 - Mini Disc Select 1046 - Aux Audio Select 1047 - Digital Audio Player Select RMSSrcUsageMod will also listen for i!-ConnectLinx registration of custom actions and attempt to determine if they represent source selects.
i!-ConnectLinx i!-ConnectLinx i!-ConnectLinx™ is a framework that allows you to expose NetLinx™ actions that can be utilized by other user interfaces or processes outside the NetLinx Control System. For instance, i!-ConnectLinx can be programmed to expose source select functions and i!-ConnectLinx compatible technologies, such as RMS, can use this information to allow the source selects to be executed as a scheduled event.
i!-ConnectLinx Using i!-ConnectLinx Little work is required to add i!-ConnectLinx to your existing NetLinx code. i!-ConnectLinx is implemented as a NetLinx module. Adding the module definition and all its parameters to your code is all that is required. In order to use i!-ConnectLinx, you need to program and define a series of actions in the NetLinx Control System.
Page 93
i!-ConnectLinx PULSE{VCR,2] When the i!-ConnectLinx engine gets a request to play the VCR, i!-ConnectLinx will "push" the button of the virtual device just like a user pushes a button on a touch panel. There is now only one thing left to do: Tell the user which actions are which.
1 may be different. i!-ConnectLinx supports standard actions. Standard actions are actions defined by AMX and supported natively by i!-ConnectLinx. When adding actions to i!-ConnectLinx, it is best to use the standard action if it is available. That way, the action can be executed regardless of which system the i!-ConnectLinx compatible technology was programmed to control.
Page 95
i!-ConnectLinx ONLINE: (* Setup actions *) (* VCR Play *) SEND_COMMAND vdvCLActions,"'ADD STD-1131'" (* VCR Stop *) SEND_COMMAND vdvCLActions,"'ADD STD-1132'" Additionally, change the two s to trigger for channels 1131 and BUTTON_EVENT 1132 instead of 1 and 2. There are other syntax’s of the add standard action command that allow you add multiple actions at a time.
i!-ConnectLinx Generator page. On this page, you can enter the i!-ConnectLinx device, the Touch Panel device and the Touch Panel buttons for each standard action. The code generator will create an Include (AXI) file that contains the necessary code to register and respond to the selected actions. Optionally, the code generator can include the DEFINE_MODULE statement for i!-ConnectLinx.
i!-ConnectLinx be retrieved by using s and s in your program and LEVEL_EVENT DATA_EVENT must be saved. Then, when an action request is triggered via a BUTTON_EVENT, you can retrieve these argument values and use them (as appropriate) for the action to be executed.
i!-ConnectLinx names and URL’s of each of these files and rename it to i!-ConnectLinx. Now anyone can retrieve an action list for the company’s system by pointing to the company’s main web address and selecting a room file from the list. If desired, the action list index file can be viewed in an HTML browser by using an eXtensible Style Language file.
i!-ConnectLinx ™ 1. Open this file in NetLinx Studio 2. Alter the text to support the language you choose. 3. Compile and download this file to a NetLinx Master. The i!-ConnectLinxStdText.xml is written out to the doc:\user\connectlinx directory. Once this file has been created once, it can be FTP’d to the NetLinx Master and placed in the doc:\user\connectlinx directory.
i!-ConnectLinx Commands i!-ConnectLinx supports the following out-bound commands (Master to device). The commands are sent in the standard Send_Command format: SEND_COMMAND dvMP, "'SET ROOM NAME-Tesla'" SEND_COMMAND dvMP, "'ADD MACRO-vcr'" i!-ConnectLinx Commands Sets the room name, room location, and room 'SET ROOM INFO-[Room Name], owner to be displayed in the action list file.
Page 101
i!-ConnectLinx i!-ConnectLinx Commands (Cont.) Adds a level argument to Action. The Arg Name 'ADD LARG-[Action],[Arg (Argument Name) is required. The Min and Max Name],[Min],[Max],[Step], define the limits for this argument in the range – [Default]' 32767 to 32767. The Step defines the minimum step between increments/decrements.
i!-ConnectLinx Strings i!-ConnectLinx supports the following in-bound string (device to Master). i!-ConnectLinx Strings String Description "'ARG[Argument ID]-[Argument String]'" Argument String for string and enum arguments for an action executed soon. 'PARENT-[Name],[Child Count],[Parent]' Describes a parent node. Returned by GET NODE command. Describes a child of a node.
i!-ConnectLinx Module The i!-ConnectLinxEngineMod Module definition code is displayed below. DEFINE_MODULE 'i!-ConnectLinxEngineMod' mdlCL(vdvCLActions) Where is a unique module name. mdlCL i!-ConnectLinxEngineMod Module Parameter A virtual device number for programming NetLinx actions. vdvCLActions RMS NetLinx Programmer’s Guide...
Page 104
It’s Your World - Take Control™ 3000 Research Drive, Richardson, TX 75082 USA • 800.222.0193 • 469.624.8000 • 469-624-7153 fax • 800.932.6993 technical support • www.amx.com...
Need help?
Do you have a question about the RMS 3.0 - PROGRAMMER GUIDE and is the answer not in the manual?
Questions and answers