M2M - Slave not providing Relay Feedback consistently...
Jim Donachiue
Posts: 82
Good AM.
I have a system with an Enova DGX(Main Program - Controls everything) and NI3100(Slave Program - Does nothing).
The Enova Master is running on the Main Program.
The NI3100 is running the Slave Program which essentially does nothing (Devices are defined);
(and certainly nothing with the Relays)
Sometimes, when the NI3100 relays are turned on/off by the Main Program the feedback does not occur.
Rebooting the NI3100 corrects the no feedback issue for a little while - a few days.
Without rebooting the NI3100, I can connect to the Enova Master and control the relays with no problem - still does not produce Channel Event On/Off Feedback.
Anyone with an idea why the Feedback does not consistently work?
I have a system with an Enova DGX(Main Program - Controls everything) and NI3100(Slave Program - Does nothing).
The Enova Master is running on the Main Program.
The NI3100 is running the Slave Program which essentially does nothing (Devices are defined);
(and certainly nothing with the Relays)
Sometimes, when the NI3100 relays are turned on/off by the Main Program the feedback does not occur.
Rebooting the NI3100 corrects the no feedback issue for a little while - a few days.
Without rebooting the NI3100, I can connect to the Enova Master and control the relays with no problem - still does not produce Channel Event On/Off Feedback.
Anyone with an idea why the Feedback does not consistently work?
DEFINE_EVENT CHANNEL_EVENT[dv1Relay, RELAY_1] { ON: { LightingControl.Switches[Channel.Channel].IsOn = True; } OFF: { LightingControl.Switches[Channel.Channel].IsOn = False; } } DEFINE_EVENT BUTTON_EVENT[tpsEnvironment, btnsLightingSwitches] { PUSH: { Stack_Var Integer index; index = Button.Input.Channel - OFFSET_LIGHT_SWITCH; Handle_LightingSwitchSelection(LightingControl, index, !LightingControl.Switches[Index].IsOn); } } Define_Function Handle_LightingSwitchSelection(TLightingControl LC, Integer Index, Integer bOn) { // Fake Feedback; the Slave NI3100 is not, consistently, // providing the Channel On/Off for the relays. LC.Switches[Index].IsOn = bOn; // Fake Feedback; the Slave NI3100 is not, consistently, // providing the Channel On/Off for the relays. if ( bOn ) { TDevCommand_Execute(LC.Switches[Index]._On); }else { TDevCommand_Execute(LC.Switches[Index]._Off); } }
0
Comments
Thank you for the response.
I will give it a go.
Do you know the reason to limit code running on DGX Masters?
The firmware that the DGX units are on is an early rev of v4 master firmware (379 i recall). I'm testing 403 and am still working issue out with it.
I will remove the code from the Enova Master.
If you have the time let me know how the testing with 403 goes.
[RANT]
AMX; What the hell is the point of having an NI3100 Onboard Master controller if you can't use it!
[/RANT]
As far as I'm aware the master in the DGX has nothing to do with the switcher, you can't get any diagnostics about the unit from code, and you can't even get notified about switches made from the front panel.
If anyone has some facts to prove me wrong please post them.
Update the FW on both Masters (Device 0) to v4.1.403.
- FW v4.1.403 Devices don't like talking to FW v3.60.455 Devices and vis-versa...
Make sure to define the Relays in both programs.
TS insists that what I have done will certainly work.
Have not tried this yet as the FW has only been out since 2013-12-02,
will wait to hear if anyone else discovers issues with this release.
I am not sure if there is a separate processor for Switching...
That would be a good question to ask.