Home AMX User Forum NetLinx Studio
Options

Can I hold more than one controller in a system?

Like if I want to put 3 controllers a one big controller (somthing like a "combine" but for controllers)

I have huge house and I want to create 3-4 groups of controllers and to communicate them via MVM, but every group will consist of 3 controllers.

So to make some order in my questions:

1. is there a simple way to group controllers that I can threat them as one controller with lot of ports?
2. What is the best way to communicate between controllers? to send command from TP that connect to controller A to a DVD that connected to controller B?
3. can someone write a explanation about the logic of system? its so basice that I can find it in the manuals...from what I undestand a system is a controller that run a program ( a master) .


Thanks

Ady.

Comments

  • Options
    yuriyuri Posts: 861
    hmm, i'll post a quick answer to this...

    For a big company i did a project for, we had a lot of conference rooms, all with an NI-700 and 1 controller (master) that gathers data from those rooms, as well as controls them.
    If you give your systems (controllers) a system number other than 1, and you change URL listings for your systems (controllers) you can have them communicate with each other.

    So, for example, in my DEFINE_DEVICE section on my "master" controller i have the following

    (* Ethernet devices *)
    (* The system numbers are different *)
    dvM35 = 33050:1:2
    dvM62 = 33050:1:3
    dvM63 = 33050:1:4
    dvM64 = 33050:1:5
    dvM65 = 33050:1:6
    dvM68 = 33050:1:7

    now, when i do a SEND_COMMAND dvM35, 'Power Off' from the master controller, room M35 powers off.

    On my "slave" (room M35) i have the following in DEFINE_DEVICE

    vdvMaster = 33050:1:1 (* master on system 1 *)
    vdvM35 = 33050:1:2 (* this slave on system 2 *)

    So, in the DEFINE_EVENT section of my slave code i can fetch the 'Power Off' command from the master and act accordingly to it. This way i can also send data from the slave back to the master.

    In my example, i used virtual devices, but you can also use real devices.

    For example:
    I have a controller in Room B which has system number 2
    If i add an URL listing in Room B with the IP adress of Room A, i connect Room A to Room B.
    In de DEFINE_DEVICE section of Room A, you can do this:

    dvProjectorRoomB = 5001:1:2

    and then i can do 'SEND_STRING dvProjectorRoomB, "'POWR 1',$0D"' from Room A.

    I hope i made myself a little bit clear here, i don't have much time, but i wanted to reply to this thread :) Read up on URL listing, it will make things clear i hope :)
  • Options
    adysadys Posts: 395
    Thanks for your detaild reply :)


    Where can I find more about url listing? reaching in AMX site return nothing. myabe there is nother name for it?

    in your example, do I still need to listen ONLY in the master code for all the TP buttons?
  • Options
    yuriyuri Posts: 861
    Search for "URL Listing dialog" in Netlinx Studio help

    And you don't have to catch BUTTON_EVENTs on your master, but it's possible. So it's up to you how you do it :)

    edit:
    i can clarify that ->
    On your master, you can do this:
    DEFINE_DEVICE

    dvTPRoomA = 10001:1:2
    (see the system number? That defines it as a touchpanel on system 2)

    On your slave in Room A, you do this:
    DEFINE_DEVICE
    dvTP = 10001:1:1

    Now, on your master, you can catch BUTTON_EVENTs for dvTPRoomA, and on your slave you can catch BUTTON_EVENTs for dvTP

    :)
  • Options
    adysadys Posts: 395
    thanks again Yuri :)

    I see, that is more clearer. Those things are not listed anywhere...I couldnt find a good sample that explain this.

    I read on url listing (no much info...) , from what I undestand that I need to I need to map each device to the url master?

    I am a little lost here....

    I have 2 controllers, I created 2 systems for them.
    I have 1 touchpanel device and 2 Ir devices on sysetm 1.
    I have 1 ir device on system 2.

    now I want to get TP events on both, so I declare on both systems:

    DEFINE_DEVICE

    // my touch panel device
    dvTP = 10001:1:0


    and in system 1 I declare the DVD device:
    dvDVD2800 = 5001:9:1

    and in system 2 I declaer the second DVD device
    dvDVD2800 = 5001:9:2


    now what I need to do in the URL listing is the map all the devices to the master IP?
  • Options
    yuriyuri Posts: 861
    On the URL list:

    on the master, make the URL list to connect to the two slaves. So the URL list you show in your picture is correct.
    On each slave, make an URL list to connect to the master, so only one entry is needed.

    On system numbers:
    what i forgot to mention is that you fysically have to change the system number of your frames. Keep the master number make, and make your slaves numbers 2 and 3.

    Helps?
  • Options
    GSLogicGSLogic Posts: 562
    In the URL list, you only need to connect the master to the slaves.
  • Options
    adysadys Posts: 395
    Thanks guys, you where very helpfull.

    I will test that soon, but most important I am ready to go to the design of my program( in this area I am ok :) )

    as I said its a HUGE house so I need to design my program to be very clean and modular.

    thanks to some of your tips I now understand more how to approach it, the details and the bits I will get later.

    have a greate week :)

    Ady.
  • Options
    DHawthorneDHawthorne Posts: 4,584
    One caution: don't define a circular URL connection. If master 1 has master 2 in it's URL list, don't put master 1 in master 2's URL list, or Bad Things will happen. I like to set up one master as a central one, and put the URL's for all the other masters in it. If I think I need to allow for redundancy, I'll have two "central" master that each have all the URLs for the other masters, but not for each other. They will connect to each other via hops as they connect to the others.
  • Options
    yuriyuri Posts: 861
    what are the bad things then? URL list sharing violations?
  • Options
    adysadys Posts: 395
    There somthing I don't fully undestand...

    I added my TP to both controllers, and now both controllers get it channels events.

    and its without the url listing.

    I missed the point why I need the url listing if its working without it...
  • Options
    yuriyuri Posts: 861
    the URL list is only needed if you want to send information from one master to the other using virtual devices (at least, that's what i learned)
  • Options
    adysadys Posts: 395
    I see

    so if I am going for full distribute system constructed from 10 controllers that every one of them controlled from any TP at the home, all I need is to declare the diff TP in every one of the systems and thats all.

    am I right?
  • Options
    DHawthorneDHawthorne Posts: 4,584
    yuri wrote:
    the URL list is only needed if you want to send information from one master to the other using virtual devices (at least, that's what i learned)

    It was my understanding it's needed for any kind of master-to-master communication, including using the devices on one master with code native to another. Perhaps that understanding was not correct.
    yuri wrote:
    what are the bad things then? URL list sharing violations?

    Typically, devices falling on and off line at a rapid pace, often resulting in an eventual system lockup.
  • Options
    yuriyuri Posts: 861
    DHawthorne wrote:
    It was my understanding it's needed for any kind of master-to-master communication, including using the devices on one master with code native to another. Perhaps that understanding was not correct.

    no, you are correct.
    But the question topic starter was asking how it was possible he was trapping BUTTON_EVENTs on both masters, without setting the URL list. But he just defined the TPs on both masters, hence generating double BUTTON_EVENTs :)
  • Options
    yuri wrote:
    no, you are correct.
    But the question topic starter was asking how it was possible he was trapping BUTTON_EVENTs on both masters, without setting the URL list. But he just defined the TPs on both masters, hence generating double BUTTON_EVENTs :)

    For the TP events to be seen in both masters, there must be a link between the masters somehow (usually done via a URL list entry linking one master to another) and the devices must be defined in the programs for any mater requiring events from the panel.
  • Options
    adysadys Posts: 395
    For the TP events to be seen in both masters, there must be a link between the masters somehow (usually done via a URL list entry linking one master to another) and the devices must be defined in the programs for any mater requiring events from the panel.

    I just declared the TP device in both systems and its working... no url listing

    Both controllers gets the event from the same TP, and only by declaring it as a device in each system.
  • Options
    adys wrote:
    I just declared the TP device in both systems and its working... no url listing

    Both controllers gets the event from the same TP, and only by declaring it as a device in each system.

    Yes you have to declare the device in both systems, but that in of itself will not complete all required to have a TP event be sent to multiple systems. There must be some form of connection between the two masters. It can be done in either master's URL list, or done programatically by manipulating the URL in the NetLinx program, or via routing from some other master's URL list so that the masters are indirectly linked. A TP cannot connect to two masters, only one. So the only way a TP event can show up in two systems if the masters are communicating via master-to-master.
  • Options
    adysadys Posts: 395
    Yes you have to declare the device in both systems, but that in of itself will not complete all required to have a TP event be sent to multiple systems. There must be some form of connection between the two masters. It can be done in either master's URL list, or done programatically by manipulating the URL in the NetLinx program, or via routing from some other master's URL list so that the masters are indirectly linked. A TP cannot connect to two masters, only one. So the only way a TP event can show up in two systems if the masters are communicating via master-to-master.


    yes you are right!

    I enterd the to url list dialgo and push the get url list button and probably I made that from all the tests I did before....

    I guess whats making it the the center line?
    From what I understand this undocumneted dialog, what I did is direted all the messges from system 1 to url 192.168.1.148?
  • Options
    adys wrote:
    what I did is direted all the messges from system 1 to url 192.168.1.148?

    Not all messages. Just messages from the devices that other masters are interested in.

    By defining a device that is not connected to that master (i.e. a device on a different system), it causes the masters to exchange information stating which masters want information on devices that are part of other systems. Only the messages from those devices are forwarded to other systems.
  • Options
    adysadys Posts: 395
    Not all messages. Just messages from the devices that other masters are interested in.

    By defining a device that is not connected to that master (i.e. a device on a different system), it causes the masters to exchange information stating which masters want information on devices that are part of other systems. Only the messages from those devices are forwarded to other systems.

    thanks a lot for all your answers.


    Thats even better :)

    I checked it now, only the DVD messages that I am listen to in the second controller are coming from the TP. the other screens sending messages only to the first controller.

    I was worried if 10 TP will not send too many messages in the network...this build in filter is smart.


    What is the device field in the url listing dialog for?
    By putting 0 there it mean all devices?
Sign In or Register to comment.