Home AMX User Forum NetLinx Studio

remote variable status

What would be the simplest way to monitor or grab the value of a variable from a
NetLinx master that is running a program for a different system?

I have several rooms running different programs, but on the final panel I need to show feedback on some buttons that reflects the status of variables and functions in the other rooms.

The systems are all configured and addressed/url list/communicating, etc.

I am having a brainfreeze on this for some reason.

Thanks.

Comments

  • You could create a virtual device on the master with the variables and update channels/levels as the variables change. You'd then declare the virtual device in the remote system as well.

    If you need to send text info you could use the virtual device to send command/string and pick off the data with a data event on the remote master referencing the remote device.
  • JeffJeff Posts: 374
    You could also declare the touchpanels in the other rooms in your code.

    I have about 20 masters in my building. All are in rooms with projectors. I have a master panel at my desk, on system one. The master has 20 little buttons that reflect projector status (a picture of a projector either lit or not). Each button is channel 254, but the device number for each button corresponds to the other system's system number.

    So my projector status page on my main panel has a bunch of buttons that are on devices 2-20, all on channel 254. Then, in the code for each individual room, I have this.
    define_device
    dvMasterTP   =   10001:?:1
    
    define_program
    [dvMasterTP,254]   =   nProjPower //my power flag
    

    where the ? corresponds to that system's system number. Note that it doesn't have to be the system number, I have just chosen that as an easy way to make everything understandable.

    I hope that made sense. To me, at least, its easier than dealing with a virtual device.

    J
  • Taking the easy path this time.

    Since I dont have much time to work on this to make it how I would like,
    I have decided to to take the "grapevine" approach.

    I will just program the new panel/system to watch the existing panel/system
    which is already controlling the devices that need to be monitored.

    A couple dozen feedback statements will accomplish enough at this point.

    Thanks for your input.
  • DHawthorneDHawthorne Posts: 4,584
    I know you've settled on a stopgap method for now; here's what I do so you can consider it in the future.

    In all multi-master systems, I create a virtual device for each one that is defined in all of them. So, if there are three masters, every single one is going to have all three, like so:

    vdvSystem1 = 33015: 1: 1
    vdvSystem2 = 33015: 1: 2
    vdvSystem3 = 33015: 1: 3

    Then on each of these virtuals, I can set channels and levels to track all the states I need to track. Since all are defined on each, it's then just a matter of reading those channels or levels from the virtual. Levels are especially convenient, since they can hold any integer value, and using CREATE_LEVEL in the remote system, you end up with a straight variable showing the state of the other master.
  • Simple and reliable.
    DHawthorne wrote:
    In all multi-master systems, I create a virtual device for each one that is defined in all of them. So, if there are three masters, every single one is going to have all three, like so:

    vdvSystem1 = 33015: 1: 1
    vdvSystem2 = 33015: 1: 2
    vdvSystem3 = 33015: 1: 3

    Then on each of these virtuals, I can set channels and levels to track all the states I need to track. Since all are defined on each, it's then just a matter of reading those channels or levels from the virtual. Levels are especially convenient, since they can hold any integer value, and using CREATE_LEVEL in the remote system, you end up with a straight variable showing the state of the other master.

    This is my favorite way to control and monitor multiple masters.

    Thanks for sharing, Dave.
Sign In or Register to comment.