LabVIEW Implementa​tion of VXI-11 Discovery Protocol

Has anyone implemented the VXI-11 discovery protocol using LabVIEW? I know I can use MAX to detect LXI instruments, but I like my code to be able to perform inventory functions independent of MAX. Is there a way to call the discovery routine within MAX from LabVIEW?
Chris
Practical Physics, LLC
www.practicalphysicsllc.com
National Instruments Alliance Partner
Certified LabVIEW Developer

Hello Chris,
If the device is not registered in MAX, then it will not show up using this method. However, if you know the IP address of the instrument, then you can add it manually. There is no way to have MAX scan for instruments programmatically. Here is a tutorial on LXI.
Thank you,
Ryan
National Instruments
Applications Engineer

Similar Messages

  • Does LabVIEW support the SNMP (Simple Network Management Protocol)?

    I looked at LabVIEW 2014 online help for some info on SNMP.
    A problem was posted in 1996 and updated in 2008.
    Does LabVIEW Support the SNMP (Simple Network Management Protocol)?
    http://digital.ni.com/public.nsf/allkb/4CD3625A939A77DE852564050047D3BD
    This was addressed to LabVIEW version 4.
    What version are we up to now?
    Version 14?
    One solution offered was to get the SNMP VI from Viodia.
    Why should I have to spend another $1,000 for a VI from Viodia after spending $5,000 for LabVIEW Professional?
    Come on National Instruments, offer up SNMP to go with your professional package.
    There seems to be a lot of chatter about SNMP on the forums.
    I’m sure a lot of customers would be happy to have an official LabVIEW VI for SNMP.

    I find it unreasonable to expect that LabVIEW supports out of the box every network protocol that has ever been invented under the sun. You may find SNMP to be the most important protocol on the world but for most programmers it is a niche protocol that they may have heard of but never will happen to come across in their applications. It's in fact pretty low level for a very specific purpose of managing network connected resources.
    On the other hand it is not rocket science either so can be implemented by someone with enough determination on top of the native network interface functions in LabVIEW. Is it a lot of work? Yes, you bet! Is it worth 1000 bucks! If you really need it and your own work hours cost anything more than a few cents per hour, most probably too! If you can live with an implementation that is supporting many but not all features of SNMP, the link on LAVAG is a very good and nice one.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • Java API that implements the SSH, SFTP and Telnet protocols

    Hi,
    I'm looking for a Java API that implements the SSH, SFTP and Telnet protocols. Does anyone have a suggestion?
    Any Suggestions are really appreciated ?
    Thanks,
    Avin

    I believe SSH and telnet are used for interactive command line sessions, don't know how you want to use them in a program.

  • RD (Rogue Detector) or RLDP (Rogue Location Discovery Protocol)

    Hi all,
    Cisco documentaion states that there are two ways for detecting Rogues.
    Rogue Detector Access Point
    You can make an AP operate as a rogue detector, which allows it to be placed on a trunk port so that it can hear all wired-side connected VLANs. It proceeds to find the client on the wired subnet on all the VLANs. The rogue detector AP listens for Address Resolution Protocol (ARP) packets in order to determine the Layer 2 addresses of identified rogue clients or rogue APs sent by the controller. If a Layer 2 address that matches is found, the controller generates an alarm that identifies the rogue AP or client as a threat. This alarm indicates that the rogue was seen on the wired network.
    Rogue Location Discovery Protocol (RLDP)
    RLDP is an active approach, which is used when rogue AP has no authentication (Open Authentication) configured. This mode, which is disabled by default, instructs an active AP to move to the rogue channel and connect to the rogue as a client. During this time, the active AP sends deauthentication messages to all connected clients and then shuts down the radio interface. Then, it will associate to the rogue AP as a client.
    The AP then tries to obtain an IP address from the rogue AP and forwards a User Datagram Protocol (UDP) packet (port 6352) that contains the local AP and rogue connection information to the controller through the rogue AP. If the controller receives this packet, the alarm is set to notify the network administrator that a rogue AP was discovered on the wired network with the RLDP feature.
    So how do you turn on the latter (RLDP)?
    Many thx indeed
    Ken
    The following modes of operations exist:
    http://www.cisco.com/en/US/products/hw/wireless/ps430/products_qanda_item09186a00806a4da3.shtml
    Q. What are the different modes in which a lightweight access point (LAP) can operate?
    A. An LAP can operate in any of these modes:
    •Local mode—This is the default mode of operation. When an LAP is placed into local mode, the AP will transmit on the normally assigned channel. However, the AP also monitors all other channels in the band over a period of 180 seconds to scan each of the other channels for 60ms during the non-transmit time. During this time, the AP performs noise floor measurements, measures interference, and scans for IDS events.
    •REAP mode—Remote Edge Access Point (REAP) mode enables an LAP to reside across a WAN link and still be able to communicate with the WLC and provide the functionality of a regular LAP. REAP mode is supported only on the 1030 LAPs.
    •H-REAP Mode— H-REAP is a wireless solution for branch office and remote office deployments. H-REAP enables customers to configure and control access points (APs) in a branch or remote office from the corporate office through a WAN link without the need to deploy a controller in each office. H-REAPs can switch client data traffic locally and perform client authentication locally when the connection to the controller is lost. When connected to the controller, H-REAPs can also tunnel traffic back to the controller.
    •Monitor mode—Monitor mode is a feature designed to allow specified LWAPP-enabled APs to exclude themselves from handling data traffic between clients and the infrastructure. They instead act as dedicated sensors for location based services (LBS), rogue access point detection, and intrusion detection (IDS). When APs are in Monitor mode they cannot serve clients and continuously cycle through all configured channels listening to each channel for approximately 60 ms.
    Note: From the controller release 5.0, LWAPPs can also be configured in Location Optimized Monitor Mode (LOMM), which optimizes the monitoring and location calculation of RFID tags. For more information on this mode, refer to Cisco Unified Wireless Network Software Release 5.0.
    Note: With controller release 5.2, the Location Optimized Monitor Mode (LOMM) section has been renamed Tracking Optimization, and the LOMM Enabled drop-down box has been renamed Enable Tracking Optimization.
    Note: For more information on how to configure Tracking Optimization, read the Optimizing RFID Tracking on Access Points section.
    •Rogue detector mode—LAPs that operate in Rogue Detector mode monitor the rogue APs. They do not transmit or contain rogue APs. The idea is that the rogue detector should be able to see all the VLANs in the network since rogue APs can be connected to any of the VLANs in the network (thus we connect it to a trunk port). The switch sends all the rogue AP/Client MAC address lists to the Rogue Detector (RD). The RD then forwards those up to the WLC in order to compare with the MACs of clients that the WLC APs have heard over the air. If MACs match, then the WLC knows the rogue AP to which those clients are connected is on the wired network.
    •Sniffer mode—An LWAPP that operates in Sniffer mode functions as a sniffer and captures and forwards all the packets on a particular channel to a remote machine that runs Airopeek. These packets contain information on timestamp, signal strength, packet size and so on. The Sniffer feature can be enabled only if you run Airopeek, which is a third-party network analyzer software that supports decoding of data packets.
    •Bridge Mode— Bridge mode is used when the access points are setup in a mesh environment and used to bridge between each other.

    Found this in another post here on the forum :
    There are 3 ways to detect rogue Aps:
    1. Ap in monitor mode (sits and scans all channels. Can detect rogue Aps under 30 seconds
    2. RLDP (done passively from normal Aps. Can take up to 15 minutes to detect rogue AP)
    3. Rogue Detector (looks for broadcast packets from wireless clients on wired network)
    For case number 2, a normal AP would be one in local or h-reap connected mode that normally have clients attached, but that are going off channel occasionally to scan for rogues / noise.  The process of trying to validate that there is a network attached rogue (RDLP enabled) could likely be service interrupting depending on your AP layout.
    -John

  • Modbus protocol implementa​tion

    Hello colleagues,
    I need to use a PC with a LabVIEW application to serve as modbus master to talk to a single modbus slave that concentrates data from another modbus, where it is the master talking to around 30 instruments (slaves). I have no experience with implementing modbus protocol, and have downloaded the NI Modbus Toolkit. Does someone have experience with using this toolkit - there is no help/manual, and I'd appreciate an example diagram(s) showing me the typical implementation of the protocol (initiating modbus session, sending commands, reading data, ...).
    Thanks in advance,

    See this thread for the protocol manual.
    http://forums.ni.com/ni/board/message?board.id=170&message.id=197677&query.id=96682#M197677
    Attached is a serial query.
    Attachments:
    my modbus serial query.llb ‏518 KB

  • Circular Buffer implementa​tion for LabVIEW 8.5

    Greetings,
    Several weeks ago I downloaded the implementation of a circular buffer for LabVIEW 8.5 from ni.com. The current webpage is:
    http://zone.ni.com/devzone/cda/epd/p/id/5883
    Unfortunately, this webpage has been updated since then and the available files for download (swcircularbuffer1.0.19.zip) are for LabVIEW 8.6.
    So my question is: where can I find the implementation of a circular buffer for LabVIEW 8.5 ?
    Thank you very much!
    telmo
    Solved!
    Go to Solution.

    Thanks Smercurio,  I needed this too. 
    After looking at the code and seeing a note on the download page concerning a possibly more efficient method I'm wondering whether anyone has tried it yet.  I'm thinking that using the in-place structure to simply overwrite a pre-defined memory space would indeed be a better implementation of a circular buffer than the somewhat kludgy bounds checking and data wrapping that the NI code provides.  I plan to work on it myself of course but my boss gave me one of those "it would be great if we could have it tomorrow" talks that I'm sure most LV coders know only too well.  [While the C++ guys get two weeks to write Hello Wurld. ]
    Anyway, the app is quite simple:   Run my USB-6251 card with a single channel as fast as possible (1.25MS/s) collecting to the circular buffer.  When a trigger is pressed, store the buffer so I get a file with a few mSec of pre-trigger data.  
    I haven't yet tried the NI code so it may be sufficient for my needs but if anyone is working with the in-place structure and has ideas, code or suggestions I'd love to hear them.
    Using LabVIEW: 7.1.1, 8.5.1 & 2013

  • Camera link protocol implementa​tion on FPGA

    Hi,
    I want to configure the Basler camera parameters like exposure time, frame rate, Gain value etc. through 7966R FlexRIO & 1483 Camlink adapter module. But on FPGA there is no option to configure these parameters through .icd file or MAX. So I have to implement the Camera Link protocol in FPGA to configure these parameters of camera.
    I found that camera link has 4 controls lines (CC1 to CC4) but I am not able to find how these lines works to control the parameters of camera. If anyone knows how these control lines work then please tell me or share any document to describe their operation. Or any other information through which I can implement the algorithm on FPGA to control the parameters of camera.
    Any help will be appreciate
    Regards

    I ran into multiple issues with the Serial Server running through the 1483/7966.  I was never able to reliably get the serial server to operate through the MAX NI Vision CLSerNat function.  It seems the 1483 is just not well supported in Max in any way.  This prevents the use of Pylon as your serial command/status tool.  Those work great with other frame grabbers like the 1433, but the 1483 leaves you having to implement the entire capability yourself.
    So, I wound up having to write my own serial driver for the BBPI protocol and message processors for the various standard message types the Basler ACE cameras respond to.
    Though I can't provide code, if you need to write your own protocol stack and have questions on the Basler interface, I'm worked through many of the issues.
    One issue you may encounter is with the serial server itself.  It operates in byte mode.  I was never able to understand the reasons, but between a VI running on a host PC interacting through the stock serial server running on an FPGA (7966) through a RT target (PXI-1082) byte mode inserted very large inter-character delays.  Often so large as to cause the Basler camera to claim a timeout and terminate the command.  I had to modify the serial server to operate in a one-shot FIFO mode for transmit data as follows:
    In the FPGA serial_interface.vi (For non byte-mode)
    Increase the FIFO to 64 bytes to accomodate the largest Basler message
    Add a "Transmit now" control to trigger a full FIFO output
    Add a "Transmit length" control to control the number of bytes transmitted
    In the upper level serial_server.vi
    Modify the transmit loops to better detect bytes to transmit from the Ethernet interface and to direct the transmit data to the new WriteBytes vi
    In the FPGA_UART.llb library
    Add an FPGA_UART_WriteBytes.vi to handle the non byte-mode modification and to 'chunk' up transmit data into 64 byte (max) pieces.  In the BBPI and Basler protocols, this has not been seen since all the messages are small.
    With these modifications, I could then write a state machine to handle the basler BBPI protocol.  States I chose for this were:
    Idle
    When a command is queued, it is fed to the serial server in its entirety.  The serial interface sends it to the camera as a complete message with no inter-character gaps)
    Wait for ACK
    Every command must have an ACK/NACK
    Go back to idle if sending a write or command message
    Wait for BFS (Only if sending a read request)
    Wait for FTF
    Wait for the data lengthbyte
    Wait for BFE (Goes back to idle once all bytes received)
    It's up to you if you want to handle the checksum capability of the BBPI protocol.  It's surprisingly tricky.  I hsould have saved myself the headache and just worked entirely in non-checksumming mode.
    Once I got that all working, I could then write message handlers for each of the basic Basler message types:
    Enum
    String
    Bitfield
    Scalar
    etc..
    followed by specific message handlers for each of the messages I wanted to deal with.  My usual technique is to perform a mass serial configuration as soon as I fire up the FPGA.  I haven't tried to use the trigger port signals (CC1 etc) but those can all be configured and controlled through the serial port once you get a message passing capability in place.

  • I2c labview Implementation

    Dear All,
    I am developing one application which communicates with a µC (texas Instruments M430F160) usign I2C.
    The communication must run using a serial port (RS 232)--> This is a requirements.
    I cannot use any additional hardware. Loking in internet I have found several solution with FPGA and so on but anything that has been implemented directly in Labview.
    Is there anybody that has found a solution for that?
    Thanks in advance for your support.
    Regards
    Andrea

    Hi All,
    after collecting your questions, I discussed with other colleagues and I gor additional mode info about the system and requirements.
    The complete system has 2 µC's: one is the Master and the second one the Slave.
    The communication between the µC's is done using I2C.
    In  normal operation, there is a software (loaded in an external EEPROM) that is taking care all: communication, setting, interrupts and so on.
    When we are in debugging mode, we need the PC that is sending command using the RS232 to the Master.
    Actually to perform that, we use TeraTerm with terminal VT100 and the code is wrote with Notepad.
    In attachment, we have an example of code and one picture of the communication system between PC and Master µC.
    Now, our target is to replace this terminal with a GUI developed in Labview.
    Before the start the complete application, I wanted to creat some small VI's to checl the communication using the serial protocol.
    In any cases, yesterday I did some additional tests (using a logic analyzer) and I have figure out that what I was sending to the Master with Labview is not the same when I used TeraTerm. 
    In particular the termination characters were different.
    For example, I sent 2 commands:
    WI F3
    RI 01
    These commands perform a reading of 1 byte in register at Fe address.
    In attachment you could find the datalog using Labview and TeraTerm.
    I think that something is missing in my VI's that consider the termination and (second problem) at the moment I do not habe any solutions to read the back from µC without using READ VI.
    I have to say sorry again from my previous posts and no so precise info. Hopefully some of you have some ideas.
    Thanks in advance.
    BR
    Andrea
    Attachments:
    System.png ‏90 KB
    Code Example.txt ‏2 KB
    Labview_vs_TeraTerm.xlsx ‏13 KB

  • LabVIEW does not have "VXI Send Message.vi" file.

    I'm trying to use Tektronix CDS 73A-453 module for sending data through a MIL-STD 1553b bus to a remote terminal in a VXI system. While using the driver provided for 73A-453 by the manufacturer to send data through a bus controller to a remote terminal, LabVIEW 6.1 SE says that there are four file missing, namely, "VXI Send Message.vi" , "VXI Receive Message.vi" , "Open VXI instrument.vi" and "Close VXI instrument.vi". Where to find these files. Please mail me these files if you have it. My e-mail ID is [email protected] . Thank a lot. Bye

    This question has been answered here:
    VXItools
    Use NI products on Linux? Come join the NI Linux Users Community

  • LabVIEW toolkit for digital still camera - PTP protocol based

    Dear List,
    Just to let you know that a LabVIeW toolkit for PTP
    (picture transfer protocol)camera is available. PTP is
    the new standard for still imaging devices such as
    still camera and scanner, it does not require camera
    vendor extra special drivers (unlike Twain)and it's OS
    independant, thus being supported widely in modern
    high resolution digital still cameras. Interested
    people can check out this link:
    http://www.hytekautomation.com/Products/PTPCam.html
    Irene
    =====
    Irene He
    [email protected]
    www.hytekautomation.com
    www.geocities.com/irene_he

    Hello rbergs, 
    I apologize for just now responding to your post below but I would like to redirect you to a different resource that will be able to provide the necessary support for using the LabVIEW Interface for Arduino toolkit. Currently, this toolkit is only supported by posts on ni.com/arduino forum. If you have any additional questions regarding the LabVIEW environment specifically, please feel free to post any additional questions in this discussion forum. 
    Wes W
    Application Engineering
    National Instruments
    www.ni.com/support

  • LVOOP class Singleton implementa​tion

    Hello all,
    I am trying to implement a 'Singleton' class because I want multiple threads to be able to access the class data.  
    I do have a scalablity concern regarding the class data.  Currently,
    the class data control (cluster) has four array elements.  I plan to
    use one  private (write) method .vi for each data element since I don't
    want to have to update all four arrays.  If I want to added other
    controls (numeric, boolean, array, etc.) to the class data control, I
    will have to create additional write methods and (at least) modify the
    read method.
    Is there an easier way to scale this data?
    I'm using LabVIEW 8.20.
    Regards,
    Mark
    "There is a God shaped vacuum in the heart of every man which cannot be filled by any created thing, but only by God, the Creator, made known through Jesus." - Blaise Pascal

    One new feature of LV8.5 was the ability to automatically create accessors for private class data, saving you time for a normally tedious task.
    And if you implement a Singleton pattern along the lines of the Discussion Forum post I mentioned, adding data accessors is no more difficult for the by reference case than it is for the by value case.
    Are all the arrays in your cluster the same type? If so, you could make your data a little more dynamic to facilitate on flexible accessor VI instead of one for each array. For instance, instead of a cluster of four arrays, you could have one 2D array, where each row represents one of the arrays. Then your accessor takes in the array index to get, and retrieves that row from the 2D array.
    The downside there is that all of the rows have to be the same length, so the shorter arrays will get padded. To get around that, you could have an extra array in your private data that denotes length, with one element for each row. Then you take a subset of the array when passing it out. Or you could have a 1D array of clusters that contain one array in them. Then the arrays in the clusters don't have to be the same length as each other. This is a common way to handle this situation in LabVIEW in general.
    Jarrod S.
    National Instruments

  • Is there a function in labVIEW (implemented in Imaq for example) to add a row or more rows to an image ??

    Hi,
    I would like to know if this is possible. I know it's possible to replce a row with another using IMAQ, but I don't want to replace a row in an image but to ADD a row to an image. Is this possible??
    Thanks in advance
    Lennaert

    By using a combination of the IMAQ Vision VI's and LabVIEW's array functions, you can insert a row into an image.
    In the IMAQ Vision palette, there are two functions that convert images to and from arrays: IMAQ ImageToArray and IMAQ ArrayToImage. With the ImageToArray function, you can turn your image into a 2D array of pixel intensities. Once you have this array, you can use the Insert Into Array function in the array palette to add your row. (Note: This row would be an array of intensity values) Then you can convert your new 2D array back into an image using the ArrayToImage VI.
    Hope this information helps!

  • How to implement 3 way handshake in TCP protocol

    I am a newbie to socket programming. Can any one suggest me how to implement 3 way handshake?

    Java comes with java.net including Socket and ServerSocket. On the Java level you use this higher-level API (or even URLConnection or HttpURLConnection) and do not have to worry about the TCP handshake. You have no access to that low level either.

  • Labview-Ac​tion doesnt activate window when called in teststand

    Hello,
    I have two small test-Vis.
    What they do is:
    First VI:
    a.) Starting notepad.exe
    b.) get refnum of the notepad-window
    c.) Make it topmost with the lvutil.llb
    d.) Write a text in it with "keybd_event"
    Second VI:
    The Same like in 1.) but without starting notepad (the program is already open.
    When i run this two VIs in labview one after another it works without problems.
    When i run them as Actions in "NI Teststand" then it only works if i run both in "one run".
    But if i cklick first the first vi and "run selected step" and then the second vi with "run selected step" then the second VI only brings the notepad-window to foreground but doesnt activate it. And without activation the text is not written in the notepad-window.
    Is there any trick i can do to always activate the window?
    Im uing Windows2000 /LV 7.1.1 / Teststand 3.1
    Thx for any help.

    This thread continuous here
    Ingo Schumacher
    Systems Engineer Sound&VibrationNational Instruments Germany

  • 2d implementa​tion of median filter for images

    I want to use the LabVIEW 1d median filter function for 2d array (image) application.  Vision does not have this function (or I cannot find it [using Vision 8.5]).  I am assuming I can apply the 1d median filter across the rows, then transpose the array, and apply again to the rows (really the columns but now rows because of transposition).   Just like for using the 1d FFT for 2d FFT.  Is this strategy correct?
    Thanks,
    Don
    Solved!
    Go to Solution.

    Excellent find.  Further information on this fx:
    "You can use this VI to apply a median filter by
    selecting the correct order, (f^2-1)/2, where f is the size of
    the convolution matrix." (A median (center-pixel) operation is advantageous because it standardizes the
    gray-level values without significantly modifying the form of the objects or the
    overall brightness in the image.).
    So one only needs to specify the convolution kernel dimension, and can use the above equation to calculate order.  It was hard for me to believe that Vision did not have this function.  I now see that I should have searched the NI Vision for LabVIEW Help.  This is something I almost always do in addition to searching for the actual functions from the block diagram.  Had I done this, I would have found it.
    Thanks again for looking.
    Sincerely,
    Don

Maybe you are looking for