GPIB Communication between multiple devices

Hello, 
I am trying to build an application in C# which will be able to send commands to more than one device on the GPIB BUS.
For example I have 3 devices connected to the computer with addresses as:"GPIB0::18::INSTR","GPIB0::19::INSTR","GPIB0::28::INSTR"
Now, I know how to communicate with a single device. 
But is there a way I can send commands to multiple devices. So far I have the following. 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Ivi.Visa.Interop;
namespace Step_Attenuator
public partial class Form1 : Form
ResourceManager rMgr = new ResourceManager();
Ivi.Visa.Interop.FormattedIO488 ioobj = new FormattedIO488();
object resources = null;
string address1 = "GPIB0::18::INSTR";
string address2 = "GPIB0::19::INSTR";
string address3 = "GPIB0::28::INSTR";
public Form1()
InitializeComponent();
private void PsaComm()
private void Form1_Load(object sender, EventArgs e)
private void button1_Click(object sender, EventArgs e)
ioobj.IO = (IMessage)rMgr.Open(address1);
ioobj.WriteString("*RST");
But now If I want to send a RST command to say device on address2, do I have to again open the session and send it?
There are going to be a lot of commands to these devices. I am sure there is a much simpler way to do it. 
Please pardon me if this seems to be a silly question. 
Thank You. 

Hi nmedelec,
I made a research about “Ivi.Visa.Interop.FormattedIO488” and it seems that it is related with Ivi.Visa.Interop which is a third party product. If you have any issue about a third party, I would recommend you go to the office site for help.
Thanks for your understanding.
Best Regards,
Edward
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click HERE to participate the survey.

Similar Messages

  • Sync send folders and templates between multiples devices

    hello there,
    I have to send many emails and use a lot of templates as I am a sole trader and I contact ppl to find work. I need a solution to keep sent folders of emails, all contacts and also template folders on multiple devices in sync. I am using 2 pc's and one Ipad currently.
    I would further like to sync with a macbook I am going to but soon. Unforutnately I dont know of any email client able to do that yet.
    Is Thunderbird able to do that? Or is a feature like that currently in developement? I might have to try outlook for this. But honestly I dont like Microsoft. I would much prefer to use Thunderbird. I would even be willing to pay money for this feature. I am so desperate for an email programm to be able to synchronize a complete account with all templates I made etc on multiple devices.
    I would greatly appreciate if you could take out the time to help me

    This is an email protocol thing and not an email client thing.
    IMAP syncs different folders across multiple devices. POP only connects to the Inbox of the email server.

  • Communication between multiple JVMs

    We have a Java toolkit that is shipped as a JAR file. The toolkit is ported from a C++ DLL running on Windows. Therefore, in both instances (Java and C++), we can't control who loads us or when.
    I need to communicate between different JVMs running on the same machine. The communication is very simple: "Is this user logged on in your JVM?" I send a string to the other JVM and I get back a boolean. I don't need to worry about crossing machine boundaries. Also, I'm not expecting to have a huge number of JVMs running. Maybe 3 or 4 could be likely. However, the solution does need to scale in case there are more than that. I'm not setting a limit on the number of JVMs either.
    The C++ code handled this situation very easily and elegantly. It created a named system semaphore (mutex) whenever a user logged on. The name of the mutex was the username. So, if there were multiple instances of the DLL running in separate processes (EXEs), we could easily tell if this user was logged on in another instance. We'd try to create the system semaphore - it would fail saying the name already exists. Therefore, we'd know the user was already logged on. The named system semaphore provided the means for a machine-global list - which is exactly what we wanted. It also had this extra benefit: if the process terminates normally or abnormally, the system semaphore is removed from memory. This means: the application is terminated, the user is no longer logged on, and we can relog this user on.
    Therefore, I have 2 requirements:
    1) A machine-global list where we can place a string. Keep in mind, it doesn't absolutely have to be a machine-global list. A suitable means to talk to other JVMs is acceptable too.
    2) If the process exits normally or abnormally, the string(s) get removed (for this JVM) from the list. Abnormal termination is the more important one to focus on because lots of people of varying skill levels use our toolkit. Abnormal terminations can be common.
    The first thought is to store these in a file. That solves #1, but not #2. I've seen the JIPC package. However, I'm not too crazy about requiring 3rd party developers to start up another program (JIPC) before they start up their application. As I said, we're just a toolkit so we can't control when or who loads us. It's not totally out of the question, but I'd prefer something else.
    I have a fairly involved solution that involves sockets. The first JVM creates a ServerSocket on a specific port and becomes the server. Subsequent JVMs also try to create the ServerSocket on the same port. They get a BindException because the ServerSocket already exists, so they know they're clients. Then, they create a client socket and talk to the server that way. This gets a little hairy when the server goes away. The clients will scramble to become the server and then all the other clients need to reconnect to the new server.
    This proposed solution sounds like it will address both requirements. However, I'm looking for something simpler. I'm asking this forum for help in case there's an easier way to do this. I don't have the breadth of experience with Java yet to know if there's a simpler way to fix this. If I have to go with the socket solution, I will. I just didn't want to overlook something simple that is already built into Java.
    Thanks for any tips or suggestions

    Thanks for the response.
    FileLock. We still have to target JDK 1.3 so we can't use FileLocks (at this point)
    JNI: That's an interesting idea. I suspect many people are using our software on Windows. Therefore, we could probably fix it in Windows the same as in the C++ code. If they're not on Windows, we could use the Sockets approach.
    I also had another idea: how about hashing the username string into some integer (or long) value. Then use the hashed value to lock some other resource: like the port number passed to ServerSocket. I know ServerSocket only accepts 0 - 0xFFFF so this obviously won't work. But is there some other system-wide thing we could lock given an integral value?

  • Communication between multiple processes

    Hi there!
    I have once again a problem concerning paralel processing in ABAP.
    The problem is that:
    I want to write a programm which invokes a process that can recursive invoke another process and so on.
    Let me try to picture it out:
    -> means invokes
    Main Program -> Thread1
    Thread 1 -> Thread 2
    Thread 2 -> Thread 3
    Thread 2 -> Thread 4
    Thread 4 -> Thread 5
    Thread 5 -> Thread 6
    As you can see I have several Threads invoking another Thread. The structure of Threads invoking each other will be dynamic. Now I face the following problem:
    I want just a few threads to run at the same time (let's say for now 3) and there are dependencies between the Invoker and the invoked Thread (e.g. Thread 3 needs some information from Thread 2).
    How can I let my Main Program know that all the data is ready? Does the WAIT UNTIL statement also applies for these nested threads?
    How does Thread 5 e.g. know that there are already too much processes running and he has to wait?
    Is there a possibility how I can queue these processes?
    sth like:
    Thread 1 - Thread 2 - Thread 3 - Thread 4 - Thread 5 - Thread 6
    If prerequisites for Thread 3 are not fullfilled it would look like:
    Thread 1 - Thread 2 - Thread 4 - Thread 5 - Thread 6
    and so on...
    The problem is the communication over the bounds of Threads. This dynamic structure is neccessary due to the large data amount that I have to handle. Due to restrictions I can only use a function group and a report. No database tables or stuff like that is allowed.
    I hope I was able to point out my problem. If it was to unclear please let me know it, then I will try to specify it more.
    Thank you in advance for your help.
    Best Regards,
    Sebastian

    @ Sandeep:  Thanks for your answer I am going to have a look at that
    @ Thomas: These nested Calls would be useful because of the amount of data that has to be processed. Think about a Tree with over 200.000 entries. For each entry there is the requirement for Check if corresponding dataset is right, if necessary Adapt data and Update on the database.
    The approach with the nested threads would check a single node, looks whether there are child nodes and if so starts a thread for processing the child nodes. These would check each child node and if neccessary starts another thread and so on. Child nodes can only be changed if parent change was successful so I have the dependency right here.
    Yesterday I had another idea that should work:
    My Main Programm first checks the root node and then the direct childs of the root node (1st hierarchy level). Then invokes a thread for each child node which has again child nodes and for which changes applied (2nd hierarchy level. Each thread 'returns' a list of nodes for which once again the main program should invoke another thread and so on. (This would build up a queue for processing within the Main Program)
    It is a similar approach to the think with nested threads but the control structure is more clear and there is no nesting of threads neccessary.
    Thanks and Best Regards,
    Sebastian

  • Communication Between Multiple Executables

    I'm building a system that needs to communicate with several different external executables (all were programmed in LabVIEW) at approximately the same time.  I say several because this number is not known until runtime, and I say approximately the same time because all of the executables will be communicating asynchronously.  Essentially I need to receive commands from each executable, put them in a queue of some sort, run a test with my system in the order the commands were received, and then send a result back to each executable.
    Because the number of external executables is not known until runtime, I was thinking about using a network published variable that would be an array of clusters.  I could then tell each executable which array element it should use to communicate with and then when data needs to be sent back and forth I could update or read from this array element in each executable as necessary.  In my VI, I would simply build a watcher that would constantly watch the array to see if new data came in, put this data in a queue, and then process it as necessary.  The communication back to the executables would be handled in the same way (perhaps with a second network published variable only to be used for results).
    The problem with this approach is that I would need to lock the network published variable (a functional global would really help here) while I'm writing to it from each of the executables so I could be sure that I wouldn't miss data.  The number of commands won't be high, but there is a chance that 2 commands could arrive at the same time.  I've played around with this in the Shared Variable Properties dialog ("Single Writer" and "Use Buffering"), but can't seem to get it right.
    I know that I could open a TCP communication port for each executable and then use that port to communicate directly between my program and the executable, but I was wondering if anyone had any other suggestions.  If you've got a suggestion, I'd love to hear about it.  Thanks.

    You can use a network queue. The attached code works very well for us. It is a modified version from some code I got from LAVA several years back. Just unzip this file into your user.lib directly. The queues work like normal queues except they work over TCP. This means your messages will be added to the receiving queue in the order they were sent. Simply dequeue the commands and execute them.
    Mark Yedinak
    "Does anyone know where the love of God goes when the waves turn the minutes to hours?"
    Wreck of the Edmund Fitzgerald - Gordon Lightfoot
    Attachments:
    Network Queue Class.zip ‏361 KB

  • Communication between connected devices

    Can anyone confirm that two connected devices (e.g., a laptop and a desktop) can exchange files through the Verizon 4G LTE Router?  Or are they limited to individually connecting to the internet as with jetpacks?

    There should be no reason why two LAN connected computers could not share files between each other on the 4G LTE router.  If you experience any problems it is because the sharing of the two devices is not setup correctly.  A side note, local file sharing does not count against your VZW data plan.  Only traffic that goes across VZW's network is metered and held against you. 
    You can share files between two local devices on a Jetpack without any extra configuration.  Its the sharing between a local and remote device that does not work out of the box.  Even then you can work around the limitations with a proper VPN environment.
    Let us know if you recieve a specific error message when you try to share along with the OS of each computer.  I'm sure we can walk you through the process.

  • HT5262 Is it possible to configure a device to automatically back up to a computer, but still have Contacts sync between multiple devices via iCloud?

    I'd like my iPhone to automatically backup whenever I plug it into my computer to recharge, but still utilize iCloud for syncing contacts between devices.
    It looks like this can be done manually, but setting backup to iCloud, disabling backup of things I don't want (eg Camera Roll because it's too big), and then selecting a manual backup in iTunes when I plug it in.
    The problem with that is I'm afraid I'll forget to manually back it up. I'd feel much more comfortable knowing my iPhone is backed up everytime I plug it in. But, now that I have a new iPad, I'd like it to be able to get the latest version of my contacts.
    Any suggestions?

    not all to each, just duplicating our current system. Each user has a few hundred mb of files (on average) and there is a common drive with a few hundred gb.
    Right now the assumption by Microsoft is that each user will individually install the local Onedrive app and sync their C: drive documents folder to their Onedrive. In our case we have the documents stored centrally and the onedrive app will not sync a network
    folder. I am looking for some method of making it happen.

  • Communication between multiple remote flash instances

    I am relatively new to Flash development, but need to create a simple application that will essentially function as a remote slideshow broadcast service. One presenter will see the show (full screen) and will be able to proceed to the next slide, all other attendees will only see the show (no control) and will see the next slide when the presenter proceeds. I have a Flash Media Interactive Server which can be utilized. I understand that no one will be able to walk me through actual the development process, but was wondering whether someone could tell me what the best approach would be and where I could find tutorials to get started.
    Thanks a lot! Any help is greatly appreciated.

    UPDATE: I am particularly confused about what kind of communication method to use. I heard about Socket, SharedObjects, HTTPService, RTMP, RTMFP, etc. could someone advise which would be the best for this situation. I only need to send a very small bit of data.
    Thanks.

  • Communication between multiple VPN Sites

    Hello,
    i used 3 CEs and 2 PEs, build a hub and spoke MPLS VPN topology as follow, two the overlapped addresses 100.100.100.100 reside separately in VPN1 of R1 and VPN2 of R2. But traffic initiated by 100.100.100.100 from VPN1 toward VPN3 was always redirected through R5 to VPN2. Is there any solution of this issue?
    thanks!

    Hi
    You can not have overlapping addresses in a scenario like this, where You are leaking between vpn:s.
    When traffic is arrived towards 100.100.100.100 on r4 et0/0 there are no way for r4 to know wich of the 2 (r1 or r2) that the traffic is intended to go.
    /Mikael

  • Communication between multiple page flow portlets

    Hi, I am working on weblogic portal 8.1.
    I've been struggling to communicate between different page flow portlets,
    I have a login page flow portlet and i need to submit login details to indeex page after login action is done.
    I am able to do this by using PageUrl class and RequestDispatcher's forward method using definition label of the index page flow portlet.
    but it is not happening again when i logged out.
    If anybody have worked on it, please let me know the soltution.
    Thanks,
    Vidya sagar

    Not sure whether you tried this option(I tried it works for me).
    configuration has to be done is portlet-2:
    =========================
    Create an custom event namely(messageCustomEvent) and also add an action for it for invoking a portlet method getMessage in Portlet-2.
    //Place this method in Portlet-2
    public void getMessage(ActionRequest request, ActionResponse response,
    Event event) {
    CustomEvent customEvent = (CustomEvent) event;
    String message = (String) customEvent.getPayload();
    response.setRenderParameter("message0", message);
    configuration has to be done is portlet-1:
    =========================
    when click on Login in portlet1, in the pageflow code you fire an custom event as shown below
    PortletBackingContext context =
    PortletBackingContext.getPortletBackingContext(getRequest());
    context.fireCustomEvent("messageCustomEvent", form.getMessage());
    return new Forward("success");
    Thanks & Regards,
    Murali.
    ============

  • SA520W - how to enable communication between LAN Devices?

    We install our new SA520W Security Appliance. Wireless is setup and Internet works fine.
    But we want to PING another computer inside the LAN it does not response. We can not see other computers, printers or devices even they are in the same network, same IP range by wire or wireless. Is there something we need to enable in Utilities?
    We have shared folders and printers on the network, so we had to come back to our old router. Please help.
    Thanks,
    AJ

    By default the SA520w isolates wifi clients from each other.  The setting you are looking for is AP isolation under APN settings. this needs to be switched off
    For more details see page 108 in the manual
    hope this helps
    Julian

  • Sync Mail between multiple devices

    Can anyone help? I own a MacBook Pro, an iMac, an iPhone, and iPad. I have managed to sync mail between the iPhone and the iPad using Microsoft exchange, so that if I delete an e-mail on the phone or the iPad then it is deleted on the other.
    However I can't sync the two computers in the same way, can anyone help and tell me how to sync Mail across all 4 units?
    (I used Exchange because the e-mail account is a Hotmail account and I was told, that's the only way I can do it).
    Regards and thanks in advance.
    Colin

    Microsoft publish the settings needed for Hotmail Imap, they work, use them.
    They are:
    For incoming connections:
    Server address: "imap-mail.outlook.com"
    Server port: "993"
    Encryption type: "SSL"
    For outgoing connections:
    Server address: "smtp-mail.outlook.com"
    Server port: "587"
    Encryption type: "TLS" ("SSL" can be used if TLS is not an option)

  • Syncing Mail Between Multiple Devices?

    Hey guys,
    So I'm trying to get back into the groove of things with my new Mac, however I'm experiecing one annoying problem.
    I've set up MacMail to my email accounts, but when I read and/or delete them on my computer, it doesn't regiester anywhere else.
    So if I look at my phone, all the messages I had deleted earlier still remain. Same if I log onto the website which hosts the email (Gmail/Outlook).
    Is there a preference option I'm overlooking, or some way I can set it up so that actions on one device will carry over to the others?
    Thanks.

    From http://windows.microsoft.com/en-AU/windows/outlook/send-receive-from-app
    Have you tried setting the account up as an Exchange account?
    otherwise.....manual setup would be
    Apps that support IMAP and SMTP
    If your email app doesn’t support Exchange ActiveSync, it might use IMAP. Unlike POP, which only syncs your inbox, IMAP syncs all your email folders.
    Use the following settings in your email app.
    Incoming (IMAP) Server
    Server address: imap-mail.outlook.com
    Port: 993
    Encrypted Connection: SSL
    Outgoing (SMTP) Server
    Server address: smtp-mail.outlook.com
    Port: 25 (or 587 if 25 is blocked)
    Authentication: Yes
    Encrypted Connection: TLS
    User name: Your email address
    Password: Your password
    Outgoing mail server (SMTP): smtp-mail.com:"email address"
    won't work as shown above

  • Communicating Between Multiple LabVIEW Executables on different computer using Shared Variables

    hi,
    I need to develop some executables which will be launched on different computer of a LAN. Some DATA are common. I need to share the data using shared variables.
    I usually used LabVIEW so I 'm familiar with shared variables but in this case, the RT target is a part of my
    project.
    I do I need to procceed in my case?
    thanks

    Ok but it's not my configuration and I haven't found my answer in the tutorial.
    You speak of a case where there is a computer and a RT target under the same LabView project. As I said earlier, I often use labview RT and shared variable between computer and RT target. But I assume here it's different.
    My question is : how do you acces to the SVE from 3 computers (without any RT target)? 
    1. If I create 3 labview projects using the same Shared Variable, do I need to use the same .lvlib on each project?
    2. Is it possible? 
    3. How can I configure where the SVE should be? When I use a RT target, It only depends where I put my Lvlib. But here there is 3 projects. 
    James
    Attachments:
    Sans titre.JPG ‏9 KB

  • Communication between multiple vrf context on fwsm

    i have 2 vrf context on fwsm of 6509 switch. i want to reach from vrf context1 inside to vrf context inside. how can i do it?
    vrf_context1_inside----6509_fwsm----vrf_context2_inside
    vrf_context1_inside must reach to vrf_context2_inside

    Thanks for the response.
    FileLock. We still have to target JDK 1.3 so we can't use FileLocks (at this point)
    JNI: That's an interesting idea. I suspect many people are using our software on Windows. Therefore, we could probably fix it in Windows the same as in the C++ code. If they're not on Windows, we could use the Sockets approach.
    I also had another idea: how about hashing the username string into some integer (or long) value. Then use the hashed value to lock some other resource: like the port number passed to ServerSocket. I know ServerSocket only accepts 0 - 0xFFFF so this obviously won't work. But is there some other system-wide thing we could lock given an integral value?

Maybe you are looking for

  • RAW to Jpeg - file too small

    Hello, I have a 10.2 megapixel camera and I'm importing 16MB RAW/NEF files into Lightroom 3. But when I export them as Jpegs (Quality: 100, AdobeRGB1998, NO "limit file size," NO "resize to fit," Resolution: 300) the files shrink to 5MB AT BEST. That

  • How we can handle signed packed datatype  in ODI

    Hi I am generating target file from oracle as source. but i need to pack some numeric field into signed packed format. there are two type of numeric values 1)1234 2)1234.23 i am getting successfully packed value in case of 1234. In case of packing 12

  • Ethernet Controller & Safely Remove Hardware With Windows 7 On X200

    Hi, I'm having a weird issue with Windows 7 on my X200. For some reason, my ethernet controller is being displayed in my system tray under "Safely Remove Hardware". Is anyone else having this problem? If you are not having this problem, would you min

  • ThinkVantage System Update -- An error occurred while gathering user information

    I receive this message after selecting "Get New Updates" in Version 3.14.0031 of this software.  I am running Windows XP SP3 on an X200 Thinkpad.  I have tried removing and reinstalling the program without success.

  • Web page composer new element at top

    Hey, Is it possible to add a new element at the top of the page instead of under the elements that are already there. Standaard it ads the elements at the bottom but I would like them to be at the top. Thanks