DMS Keypads & Netlinx
Rich Abel
Posts: 104
I haven't been able to find specific information regarding how to add a PLK-DMS keypad to a Netlinx system. I have example programs that others have written that include the following elements to support the DMS:
DEFINE_DEVICE
dvDMS = 00001:1:3 // Real DMS keypad
vdvDMS = 34002:1:3 // Virtual DMS keypad
DEFINE_CONSTANT
CHAR strDMSFileName[40]
CHAR strVarTextArray[10][40]
DEFINE_START
strDMSFileName = 'DMSkeypad.kpd'
DEFINE_MODULE 'DMS-IMSMod' MASTERDMS(vdvDMS, dvDMS, strDMSFileName, strVarTextArray)
DEFINE_EVENTS
BUTTON_EVENT[vdvDMS,1] //Lighting Scene 1
{
}
etc.
Is this a fair representation of the "minimums" to utilize these keypads with Netlinx? Is there a how to? reference from AMX that I might have overlooked? It has been suggested to me that DMS keypads < version 5.00 won't work with Netlinx systems. Any truth to this?
Thanks much,
Rich Abel
DEFINE_DEVICE
dvDMS = 00001:1:3 // Real DMS keypad
vdvDMS = 34002:1:3 // Virtual DMS keypad
DEFINE_CONSTANT
CHAR strDMSFileName[40]
CHAR strVarTextArray[10][40]
DEFINE_START
strDMSFileName = 'DMSkeypad.kpd'
DEFINE_MODULE 'DMS-IMSMod' MASTERDMS(vdvDMS, dvDMS, strDMSFileName, strVarTextArray)
DEFINE_EVENTS
BUTTON_EVENT[vdvDMS,1] //Lighting Scene 1
{
}
etc.
Is this a fair representation of the "minimums" to utilize these keypads with Netlinx? Is there a how to? reference from AMX that I might have overlooked? It has been suggested to me that DMS keypads < version 5.00 won't work with Netlinx systems. Any truth to this?
Thanks much,
Rich Abel
0
Comments
Rich,
Those are the basics to define a module for a DMS keypad in Netlinx. You can then add events as needed to expand control over the DMS for your specific application.
Other points:
- DMS with firmware versions below 5.0 will still work with Netlinx but not with all functions
- DMS 5.11 and above supports the ability to program the Up and Down arrow buttons on each DMS page
- DMS 5.0 and above provide expanded support for bargraph and text mode values and I believe the ITEMP send command only works on 5.0 and above as well
- There is not an AMX program guide specifically for the DMS but check out the .txt file that is provided with the module download for more information on send commands and events for the DMS. This is basically the same information that is available in Software History for the DMS Netlinx module.
- All of your programming is done via the virtual device defined for the DMS as is true with the other Landmark devices supported in Netlinx. The only time you may wish the program an event for the real DMS device is in an ONLINE handler. Timing issues between ONLINE events for real and virtual devices for Landmark devices under Netlinx make it often beneficial to have an ONLINE handler for both devices to make sure that commands are not sent to the virtual device until both devices are ONLINE.
Hope this helps.
Reese
Reese: that is just the kind of information I was looking for. Thanks so very much for filling in the gaps for me!
Rich Abel
True.
I will add that reality is simpler than the sentence may lead one to believe. Virtual devices ONLINE events ALWAYS appear first at the very beginning of execution of the program (by device number I think; check the log!). Consequently the real devices appears necessarily later than the virtual ones, and given it is not too clear what happens to anything you would send the virtual device in the interval, it is best to wait for the real device ONLINE.
The "timing issue between ONLINE events for real and virtual devices" is just the issue of the timing of the real device combined with the start of the program where a lot of stuff occurs (all those ONLINE events for RS232, IP, whatever, and the communication attempts they trigger) and it is a typical time when events can be VERY delayed by all this activity.
Checking the virtual device ONLINE is not really necessary, as you are guaranteed to get it. You may feel more comfortable to do it anyway and that is fine, it only adds to the furious activity on start mentioned above...
Fred