PLK-DMS glitches
HARMAN_m_hodel
Posts: 12
Hi All,
I am working on an older system with PLK-DMS keypads. I have an NI-4000 master w/ latest duet firmware, and DMS Keypads with ver 5.0 firmware. I am using the DMS-IMSMod to interface the keypads. The keypads are wired home run to an ICSNet Hub, which is connected to the NI-4000, and each keypad has a terminator. Whenever I push a button on the keypads, I get 2 push events, but no release. I created a small test program to verifiy this action:
When I push a button, nPushCount increments, but nReleaseCount does not. Any ideas? I have also tried this with an NI-700 and a different DMS keypad, both with a terminator and without,but I got the same results.
Any help would be greatly appreciated!
I am working on an older system with PLK-DMS keypads. I have an NI-4000 master w/ latest duet firmware, and DMS Keypads with ver 5.0 firmware. I am using the DMS-IMSMod to interface the keypads. The keypads are wired home run to an ICSNet Hub, which is connected to the NI-4000, and each keypad has a terminator. Whenever I push a button on the keypads, I get 2 push events, but no release. I created a small test program to verifiy this action:
DEFINE_DEVICE dvDMS = 6003:1:0 vdvDMS = 33001:1:0 DEFINE_VARIABLE char VTEXT1[5][40] integer nPushCount=0 integer nReleaseCount=0 DEFINE_MODULE 'DMS-IMSMod' MDDMS1(vdvDMS,dvDMS,Test.kpd,VTEXT1) DEFINE_EVENT button_event[vdvDMS,200] { push: { nPushCount=nPushCount+1 send_string 0,"'button 200 pushed'" send_string 0,"'nPushCount= ',itoa(nPushCount)" } release: { nReleaseCount=nReleaseCount+1 send_string 0,"'button 200 released'" send_string 0,"'nReleaseCount= ',itoa(nReleaseCount)" } }
When I push a button, nPushCount increments, but nReleaseCount does not. Any ideas? I have also tried this with an NI-700 and a different DMS keypad, both with a terminator and without,but I got the same results.
Any help would be greatly appreciated!
0
Comments
If you are physically pushing the buttons then I?m not sure what would cause the double push and no release. Since the PLK-DMS is pre duet I would try the test on a non duet master if you have one available and see if the problem persists. Maybe others have better ideas.
As an aside:
nPushCount++
is a shortcut for:
nPushCount=nPushCount+1
And you can do:
nPushCount--
as a shortcut for:
nPushCount=nPushCount-1
Yes, I am pushing the physical button. And, my mistake, I did not test on a NI-700 (no ICS!) but on an NXC-ME, which is not duet. I have some new info though, as this diagnostic message came from the NXC-ME with only one DMS attached: Sometimes the Resending to string comes up several times before it gives up- this is when the release fails. I'm not sure what this means though.
Thanks, Marc
Does this occur when you plug the keypad sraight into the ICSNet port? I'd try that and bypass all the other stuff to isolate the problem.
I've had them assigned anywhere from 300 to 11000 before. I don't think it much matters. It's more of a convention. I could be wrong.
I'm wondering if he has a cable plugged in more than one port on the hub (loop) or something. I've seen this before on an IP network. IP packest were all being doubled and it was a nightmare.
I don't know if what's shown in the code is all that's defined but you could change the virtuals d:p:s just in case that d:p:s is already in use some where else. Also try changing the channel number, you never know, it might help.
I vaguely remember having a problem once when using a module and when I pushed any button below channel 40 I would get a double push and pushes above worked fine. Never did figure that out but I think the comm module was locked and I felt that was the only placed left that could have caused this issue. Another reason I hesitate to use locked modules.
OK, here is what I learned: I was seeing the duplicate pushes in the diagnostic window of studio. This apparently has to do with the DMS IMS module, and doesn't affect the action of the button events. Only one push is processed. (This has been mentioned in another DMS keypad thread). As far as not getting a release, here is what I suspect was happening. I had been updating a variable text address on the main page of the keypad when the button was pressed. I believe this is what was causing the latency errors described above. As I was sending the text update to the keypad, it was trying to send the release to the master. I changed the vol update to occur on the release event, with a WAIT for good measure, and so far so good. I guess I am just too used to all of the new Modero stuff that can take whatever you can throw at it.
Thanks so much to everyone who helped me with this.
Anyone recall if DUET and PLK-DMS on ICSNET are mutually exclusive?
Despite all odds, we have a number of systems that still have (many) PLK DMS keypads in use. All is fine with our unified software, until and unless we compile in something using DUET. Then the PLK DMS keypads no longer show up on the Studio Tree, nor do they ever get as far as "wire is good". Compile exactly the same set code WITHOUT the duet item, and the DMS control returns.
Sound familiar to anyone?
Massively corner-case, and with care, avoidable, but if someone has any info or a potential cure, that would be nice...
Yes - I've seen this. I have two residential jobs that still have these in (had to replace one last week - thank God for eBay). We changed the projector in the cinema and to check that the cabling was good I tried a duet module and it all failed. Took it out and replaced it with netlinx code and all was fine. Something to do with dynamic device allocation perhaps?
Simon