From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Lookout

cancel
Showing results for 
Search instead for 
Did you mean: 

datatable connection

Solved!
Go to solution

I am fairly new with LookOut so be patient.  What is the correct way to connect a datatable to a modbus?  I've come accross severals examples which showing totally opposite way to each other.  For example, one server process has a connection like this:  Datatable.member = modbus.member (such as RTU12Tbl.PMP1_Stat = RTU12.PMP1_Stat), where another shows Modbus.member = Datatable.member (RTU12.PMP1_Stat = RTU12Tbl.PMP1_Stat).  I am totally confused. 

There is another one looks very weird to me.  It has two identical Datatables.  One on server process, and the other on client process.  Should we have only one Datatable resides on server side instead of two?

Frank Nguyen
0 Kudos
Message 1 of 11
(7,941 Views)

It is using Aliases for data members. 

RTU12.PMP1_Stat could be (for example) RTU12.40001

RTU12Tabl.PMP1_Stat could be RTU12Tbl.A2

 

Help a little?

 

Mike

 

Mike Crabtree - Lead Developer
Destek of Nevada, Inc. / Digital Telemetry Systems, Inc.
(866) 964-6948 / (760) 247-9512
0 Kudos
Message 2 of 11
(7,919 Views)

May I did not explain it correctly.  When I select edit connection for a table, and select a writable member on the box (for example Pump_CMD), this is what I see AmmoniaTbl.Pump_CMD = ..\RTUs\RTU216.Pump_CMD.  However, it's another way around in some of connections.  For example if I go to RTU216 and select edit connections, I would see some thing like this RTU216.Pump_Num = ..\AmmoniaTbl\Pump_Num.

Another problem that I am encountered right now is when user clicks on a button which then will launch a popup panel, it just pops up on every client machine.  This popup panel is also a multiplex panel pooling data from two datatables.  I would like to see if there is away that will make that popup panel to show up only on the machine that the user click on.  Please help.

Frank Nguyen
0 Kudos
Message 3 of 11
(7,912 Views)

AmmoniaTbl.Pump_CMD = ..\RTUs\RTU216.Pump_CMD

Appears that the Datatable is taking the value of RTU216.  One way connection.

 

 RTU216.Pump_Num = ..\AmmoniaTbl\Pump_Num

Same as above, just the RTU216 is taking a value from the Datatable.  One way connection.

 

Popup panels.

The client panels are connected to the server pushbutton.  Change the panels to activate on client pushbutton instead.

 

Getting closer? 🙂

 

Mike

Message Edited by Mike@DTSI on 03-16-2009 03:42 PM
Mike Crabtree - Lead Developer
Destek of Nevada, Inc. / Digital Telemetry Systems, Inc.
(866) 964-6948 / (760) 247-9512
0 Kudos
Message 4 of 11
(7,906 Views)
Thanks for big help.  I am able to correct the problem with panel pop-up now.  Is there any way that we can create two way connection from table to PLC?
Frank Nguyen
0 Kudos
Message 5 of 11
(7,889 Views)
Solution
Accepted by topic author Tulong

Datatable to modbus (driver in general) i havent found a way to do that. 

 

Would be a little difficult to map the parameters.  For example, a pot object can look at a parameter and change it by using the remote/url connection.

 

FYI, making rtu1.40001=table.A1 and table.A1=rtu1.40001 wont work.  That is a cyclic reference.  Its a loop.

 

Good luck

Mike

Mike Crabtree - Lead Developer
Destek of Nevada, Inc. / Digital Telemetry Systems, Inc.
(866) 964-6948 / (760) 247-9512
Message 6 of 11
(7,882 Views)

Thank you for being very patient with me Mike.  While correcting the problem with pop-up panel, I run into this one particular situation. The datatable of a multiplex panel resides on the server process.  The panel will pop up when I click on a select button which its URL points to a button resides on the server process.  I change the select button on client process to local and that stops the panel from popping up on all client machines.  However, my panel won't multiplex anymore.  In other word, the cursor of my table will always stay at 1, and I won't be able to select the next option (let's say Filter1, Filter2, Filter3, and the panel will always stuck at Filter1).  I found a way to make it work by creating an identical datatable on the client process, but I am not sure this is the right way to do it.  Please give me your input on this.

I'd also been told that some connections in LookOut are two ways connections, meaning an object can read and write from/to PLC.  Is this a correct statement?  I read the LookOut manual for developer several times, but the information is very limited.  Is there any books that you would recommend for reading?

Frank Nguyen
0 Kudos
Message 7 of 11
(7,876 Views)

Take a look at this article. It describes both the one way connection and the two ways.

http://zone.ni.com/devzone/cda/tut/p/id/3381

When you create a pot, if you input the connection to its remote source, which is the green box, it is a two way connection.

If you edit an object's connection, say modbus.1 = xxx in yellow box, it is one way.

 

I don't completely understand your description about the multiplex panel. Could you provide a sample process to show it?

Ryan Shi
National Instruments
Message 8 of 11
(7,871 Views)

Thank you very much for the link.  That really helps me with understanding the connections.  About the multiplex panel, let me try to explain it one more time.  I have a multiplex panel that will pop up when I click a push button on client.  This panel contains all information about pumps such as amps, auto, manual, off, calibration, etc.  User will have the option to turn a pump on or off, making pump calibration, etc.  On this panel, there are two push button called New Plant and Old Plant.   When you click on New Plant, it will show the information on the new plant, and vice versa for the Old Plant button.  User will be able to go back and forth between two plant to make changes by toggling those push buttons.  All information on the panel are connected to a datatable located on the server process.  The two New Plant and Old Plant push buttons URLs are pointing to New Plant and Old Plant push buttons located on the server process as well.  The panel will pop up whenever a user click on the New Plant or Old Plant nutton on client machines.  By saying that, I mean it pops up on every single client machines and this is so annoying.  I followed your direction and changed the push button (New Plant and Old Plant) on the panel to LOCAL.  This stopped the panel from popping up every where except from the machine that the button was clicked on.  However when I clicked on Old Plant button, nothing changed.  The panel information was just stuck at New Plant screen.  I need edto find a way that when I clicked on the Old Plant button, the cursor moved to second row, but I didn't know how.  Finally what I did was to export the table that was on the server process; imported it back on the client process; and reconnected all links identical as they were on the server's table.  Now I can toggle back and forth from New Plant to Old Plant without having the panel popping up every where.  I am not sure this is the right way to do it or not.  Please let me know.  Thanks a million.

Frank Nguyen
0 Kudos
Message 9 of 11
(7,855 Views)

I guess the connection between client pushbutton and the server pushbutton was two-way, so if you run multiple identical client processes, click on one client pushbutton will reflect to all other clients pushbutton. It is expected behaviour.

I also guess that the server datatable cursor gets changed by the server pushbutton. That's why when you break the connection between client pushbutton and server pushbutton, the server datatable cursor will not change any more.

If my guess is correct, I think what you have done are correct. If you have only one datatable on server, and runs multiple clients, it's not easy to multiplex the panel and data. When you change the server datatable cursor, all clients will get the data for new site, while they may want to monitor different sites. If there is only one server and one client, it's okay.

So, what you did is to use different datatable for different client, right? Then, each client will have its own datatable cursor that doesn't interactive with each other.

 

If my understanding is not correct, upload your process to ftp://ftp.ni.com/incoming, or just post in the thread. We will get better understanding of it.

Ryan Shi
National Instruments
0 Kudos
Message 10 of 11
(7,795 Views)