Write data to PLC register using datasockets

hello all...
i have made some headway, i can access the PLC read data from it (1-10) and depending on the random # produced i get a message from a file and display it.
Now...i need to write back to a register in the PLC with some informatio (string and integer.)
i was advised to use datasockets, my stumbling point is i have no idea how to proceed. i read a lot of posts on this form as well as the labview form on Google.
could anyone please throw some light on this, a detailed explanation or link where i may gain some information.
thank you
cheers,
-U

How are you communicating with the PLC? I am not sure if this is a card in your computer or an external device. If it is the latter, are you using GPIB, serial, ethernet, etc.?
LabVIEW does not communicate very well to memory locations(as in custom built devices). There is no built in way to do this(although there are VIs on the web that you can use). You are usually better off writting a driver for the device in C and then calling the driver from LabVIEW. This is how NI communicates to its own hardware.
I mention this because datasocket will probably not be a good solution to your problem. It is a communication protocol developed by NI and there is no documentation on its format. Trying to hack it is not going to worth your time when you can
just use TCP instead. In simple data transfer cases between LabVIEW and high level languages, it cannot be beat, and I highly recommend it in these cases. In your case, the PLC will likely not support it.
You should look on NI's site for info on Datasocket. The KnowledgeBase, Product Manuals, and Tuturials are where I would start. Advanced Search

Similar Messages

  • How to write data to text file using external tables

    can anybody tell how to write data to text file using external tables concept?

    Hi,
    Using external table u can load the data in your local table in database,
    then using your local db table and UTL_FILE pacakge u can wrrite data to text file
    external table
    ~~~~~~~~~~~
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7002.htm#i2153251
    UTL_FILE
    ~~~~~~~~~
    http://download-east.oracle.com/docs/cd/B19306_01/appdev.102/b14258/u_file.htm#sthref14093
    Message was edited by:
    Nicloei W
    Message was edited by:
    Nicloei W

  • How to Write data in Excel File using java

    Hi
    can anybody help me to write data in excel file
    using java code
    Thankx In Advance

    How much are you willing to pay for that?
    If you want it for free, http://jexcelapi.sourceforge.net/

  • How to write a numeric value to a plc register using a radio button

    I'm want display a HOA (HAND/OFF/AUTO) on my screen. Lookout is connected to a Allen Bradley PLC. I am trying to write to a "N" register. I want to write a zero to open all (eg) N7:10 bits, writing a one (1) will close a contact N7:10/0 and writing a two (2) will close N7:10/1 etc. How do I do it? Can I use a radio button and if so, how?

    ICI,
    Just wanted to let you know that you have posted your question in the
    MATRIXx part of the forum.  There is a specific board for
    Lookout.  If you repost your message there you will be more likely
    to get a good answer.
    Carl L
    National Instruments

  • How to write data in the Infocube using BI IP input ready functionality

    Hi All,
    Please help me in the following scenario...
    Input given to me is-- ZCUBSDID cube with associated role ZSP_BW_SAI_BUDGETS-DID_ALL.
    Query is ZR_V7_CO_PA_CH_PB_DID_BUDGET_2 based on agregation level ZALBSDID (& ZALBVDID) in infoarea ZDACOPA.
    I have to write data in the cube by using Input-Ready functionality of BI IP. Can you please provide me step by step procedure for writing the data in the cube as i am very new in IP side.
    Also if any further input required just let me know.
    My Analysis-> I checked that cube is in Planning mode and in Query Designer>Property Pane-->Planning Pane, Query is in Change mode and also associated Keyfigures are in Input-Ready enabled.
    Also i am able to access query in Analyzer.
    This is very critical for me and need to provide solution asap. Please update asap. It really be great help.
    Thanks & Regards
    Rupali Singh

    Hi,
      To enter data in to planning cube through manual planning, you can do the following,
    1. In a query that is used for manual planning, a cell is only input ready if each characteristic value of all the characteristics included in the aggregation level is unique. None of the aggregated values on the aggregation level are therefore input ready: Totals, subtotals and inner hierarchy nodes are not input ready.
    2. To be able to change values for calculated key figures (like Average Price as a quotient of Amount and Quantity), these must be based on input-ready formulas, and at least one operand must be input ready. More information: Defining Inverse Formulas (Designtime) and Inverse Formulas (Runtime).
    3. In order to change aggregated values (with respect to the aggregation level), these values must be disaggregated on all the data records that contribute to the aggregated value of the cell. More information: Disaggregation (Top-Down-Distribution).
    4. If a query used for manual planning includes a navigation attribute that is restricted using a fixed or dynamic filter or a restricted key figure, the system treats the navigation attribute as a normal characteristic. The rule under point 1 applies here. The system only reacts as though the navigation attribute were not part of the query if the navigation attribute is not restricted.
    5. In a query defined on a MultiProvider or a complex aggregation level that you want to use manual planning for, a cell is not input ready if the InfoProvider that is defined by this cell is:
                                a.      Not a real-time InfoCube
                                b.      A real-time InfoCube that has been switched to load mode
    6. If an input-ready query is executed in change mode, but the requested data is locked by another user, the query starts in display mode.
    For more details, you can refer to the following link,
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/43/0c033316cd2bc4e10000000a114cbd/frameset.htm
    Hope this helps you to solve your issue.
    Regards,
    Balajee

  • How to write data to existing file using spool command?

    Hi,
    I am calling a stored procedure from a shell script. This stored procedure is having a CLOB object as an OUT parameter. How to write the data in CLOB object a existing file which is there in my client system. Below is the shell and sql scripts.
    Shell script
    ( echo "hello" ) > /root/file.txt
    sqlplus -s $user/$pass@$tns @/root/proc.sql /root/file.txt << EOF
    EOFSQL script
    set pages 0
    set trimspool off
    set serveroutput off
    set feedback off
    set term off
    set echo off
    variable out CLOB
    define file='&1'
    begin
    pack.proc(:out);
    end;
    spool &file
    select :out from dual;
    spool offThis code writes contents of the OUT variable to file.txt, but my existing data ('hello') is lost. Please help me.
    I figured the it...Use append in the spool command... :)
    Edited by: Balaji on Jul 19, 2012 8:55 PM

    >
    Hi Balaji
    I figured the it...Use append in the spool command... :Please mark the thread as answered as per the FAQ.
    Paul...

  • Write data to PLC

    i would like some help in writing characters/integers to a PLC. Allen Bradley SLC-500.

    Take a look at the documents below:
    Notes on Allen Bradley PLC Addressing
    Allen-Bradley PLC Addressing
    Allen Bradley SLC500 PLCs in Lookout
    Where can I Find Drivers for Communicating to PLCs, RTUs, and Other Industrial Hardware?
    The Lookout AB_SLC500 driver object does not actually support ethernet communication.
    The protocols supported by this object driver are listed in the help of the object and ethernet is not one of the available options. Since the AB_SLC500 object uses the same configuration window as the AB_PL5 object, it is possible to select Ethernet for the Interface field and PLC500 for the PLC model, yet this is not a supported combination. However, there have been developer's exchange posts from costumers who have successfully establish communication through ethernet to the SLC500 series PLC using the AB_SLC500, but this is not supported by National Instruments and is something to try at your own risk.
    Zvezdana S.
    National Instruments

  • Trying to write data to a text file using java.io.File

    I am trying to create a text file and write data to it by using java.io.File and . I am using JDeveloper 10.1.3.2.0. When I try run the program I get a java.lang.NullPointerException error. Here is the snippet of code that I believe is calling the class that's causing the problem:
    String fpath = "/test.html";
    FileOutputStream out = new FileOutputStream(fpath);
    PrintStream pout = new PrintStream(out);
    Do I need to add additional locations for source files or am I doing something wrong? Any suggestions would be appreciated.
    Thank you.

    Hi dhartle,
    May be that can help:
    * Class assuming handling logs and connections to the Oracle database
    * @author Fabre tristan
    * @version 1.0 03/12/07
    public class Log {
        private String fileName;
         * Constructor for the log
        public Log(String name) {
            fileName = name;
         * Write a new line into a log from the line passed as parameter and the system date
         * @param   line    The line to write into the log
        public void lineWriter(String line) {
            try {
                FileWriter f = new FileWriter(fileName, true);
                BufferedWriter bf = new BufferedWriter(f);
                Calendar c = Calendar.getInstance();
                Date now = c.getTime();
                String dateLog =
                    DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM,
                                                   Locale.FRANCE).format(now);
                bf.write("[" + dateLog + "] :" + line);
                bf.newLine();
                bf.close();
            } catch (IOException e) {
                System.out.println(e.getMessage());
         * Write a new line into a log from the line passed as parameter,
         * an header and the system date
         * @param   header  The header to write into the log
         * @param   info    The line to write into the log
        public void lineWriter(String header, String info) {
            lineWriter(header + " > " + info);
         * Write a new long number as line into a log from the line 
         * passed as parameter, an header and the system date
         * @param   header  The header to write into the log
         * @param   info    The line to write into the log
        public void lineWriter(String header, Long info) {
            lineWriter(header + " > " + info);
         * Enable to create folders needed to correspond with the path proposed
         * @param   location    The path into which writing the log
         * @param   name        The name for the new log
         * @return  Log         Return a new log corresponding to the proposed location
        public static Log myLogCreation(String location, String name) {
            boolean exists = (new File(location)).exists();
            if (!exists) {
                (new File(location)).mkdirs();
            Log myLog = new Log(location + name);
            return myLog;
         * Enable to create the connection to the DB
         * @return  Connection  Return a new connection to the Oracle database
        public static Connection oracleConnectionCreation() throws Exception {
            // Register the Oracle JDBC driver
            DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
            //connecting to the DB
            Connection conn =
                DriverManager.getConnection("jdbc:oracle:thin:@myComputerIP:1521:myDB","user", "password");
            return conn;
         * This main is used for testing purposes
        public static void main(String[] args) {
            Log myLog =
                Log.myLogCreation("c:/Migration Logs/", "Test_LinksToMethod.log");
            String directory = "E:\\Blob\\Enalapril_LC-MS%MS_MS%MS_Solid Phase Extraction_Plasma_Enalaprilat_ERROR_BLOB_test";
            myLog.lineWriter(directory);
            System.out.println(directory);
    [pre]
    This class contained some other functions i've deleted, but i think it still works.
    That enables to create a log (.txt file) that you can fill line by line.
    Each line start by the current system date. This class was used in swing application, but could work in a web app.
    Regards,
    Tif                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Write data to excel template

    Dear all,
    I would like to write data to excel template using POI. What can I do? Please help me. Thank a lot!
    Regards,
    kzyo

    Today's mantra is: "google is our friend"
    Repeat that to yourself several times as you exhale slowly. Through mediation, a solution to your problem will come to you.

  • How to write data in differt line in .txt file

    Hi all,
    I am tring to write data on one file using utl_file,
    the first cursor loop write data on first line of the file using
    utl_file.put_line(..........................);
    end the second cusor loop write the data on secion line of the same file using
    utl_file.put_line(..........................);
    file format we are given as .txt;
    problem we are facing is when we open the file in notepad all the data is showing in one line...
    same file if we open another tools like edit plus, word pad etc it showing the write formate( line by line)
    Can any one help on this we need to set any setups in note pad????????????/

    As others have said it sounds like an operating system difference.
    If your Oracle is installed on a unix based server then the file will be written using Unix style newlines which are just Line Feed characters.
    In Windows environments a newline is considered to be made of the Carriage Return/Line Feed character pair, not just the Line Feed.
    Some applications such as MS Word or Wordpad can read Unix style linefeeds and interpret them as you expect as a Newline. However Notepad doesn't.
    When you transfer the file from Unix to Windows, usually this is done using an FTP based mechanism. If you transfer the files using FTP Binary mode, then every byte of the file is transferred as it is on Unix, and the file will essentially be a unix file on a windows system. If, however, you transfer the files (from Unix to Windows) using FTP ASCII mode, then whenever FTP encounters a LineFeed character it will convert it to a Carriage Return/LineFeed pair of characters, so that the file will appear correctly in Notepad. Likewise if you transfer files from Windows to Unix in ASCII mode, then Carriage Return/LineFeed pairs of characters are converted to just a LineFeed character so that the file becomes Unix compatible. Note, you shouldn't transfer binary files in ASCII mode as it can corrupt them, it's only intented for text based files.

  • I'm a newer in using Datasocket,now I want to send data from DAQ(6052E) to another computer B,

    I have two types data,so Datasocket write string
    vector.vi and Datasocket write double vector.vi are used in my application,but in computer B my programm always reports "Not permitted to creat new item (0*80004005) ",Datasocket read double
    vector can recieve data properly. What should I
    do?

    Most probably the permission settings are not correct. Launch "DataSocket Server Manager" on the server side and add computer B IP address under "DefaultReaders" and under "DefaultWriter".
    I usually like to have "everyone" as reader and write to solve such problems if security is not a big concern. That way i don't have to change the setting everytime new machine wants to read/write.
    hope this helps
    A Rafiq
    National Instruments
    http://www.ni.com/ask

  • Using auto-indexing tunnels to write data files?

    Hi,
    I am using ni-motion controller to control a servo motor and collect position and torque data. I want to write the collected data to TDMS files.
    Recently I learned about the producer/consumer design pattern and I figured that would be a good approach to ensure that writing the files didn't slow down my data collection timed loop.
    However, I also figured out that my program seems to run well if I wire the data I collect to auto-indexing tunnels. Then I use a structure that only executes after all the data collection is done to write the arrays I built to TDMS files.
    Is there any reason that the latter method would be advised against? Can the auto idexing tunnels slow down my loop enough for it cause concern? I am only collecting about 5000 data points for each channel.
    Cheers,
    Kenny
    Solved!
    Go to Solution.

    Well, autoindexing tunnels don't write data files, they just accumulate data until the loop completes. If this is a FOR loop with a known number of iterations, the size of the output data can be allocated in one swoop, which is very efficient. If you are autoindexing on a WHILE loop, the final array size is not known, so LabVIEW needs to make a guess and and requires occasional new memory allocations whenever the last guess is exceeded. This is inefficient.
    One problem with these approaches is if the program or computer crashes. In this case the data in the shift register is lost forever, while if you would stream it to disk, you would have most of the data acquired so far.
    If you use a proper producer/consumer architecture, you should be able to asynchronously write the data and it will not slow down your acquisition. No need ot wait for the competion of data gathering.
    LabVIEW Champion . Do more with less code and in less time .

  • I want to publish my data using datasocket connection on the net and I want to use Front panel binding. Can I?

    I want to publish my data on the net.
    I want to use front panel binding and I do not want
    to write the code. Can I do that. What should I modify
    in my datasocket server manager. The other question is, When I open my VI, I want to open automatically my DataSocket Server. My english is bad. When I open the LabView I also want to open my DataSocket server. How can I do this?

    To use datasockets to publish data to be accessed via the web, see the following document.
    http://digital.ni.com/public.nsf/websearch/F58A6C2DAAADECB68625672400636145?OpenDocument
    This document explains how you can create an interactive Web page with which users can view data from a remote acquisition application without the common problems of a client-server application. You use the Measurement Studio DataSocket control and Microsoft Visual Basic to create a software component that you can insert in a Web page. You then use that Web page to read, write, or share data with other applications across the Internet.
    If you want to publish data but do not want to write any code, you should consider the web publishing tool available in Labview 6.1. This tool allows
    you to create a webpage to be published from the the LabVIEW webserver on your machine. See the following link for more information on ways to easily publish to the web from LabVIEW.
    http://zone.ni.com/devzone/conceptd.nsf/webmain/E4E311FA046EE24586256B1F0074F39D?opendocument
    As for starting the datasocket server when you run your VI, you can use the 'System Exec' VI to run the application. The exe to start the server is located in the following directory:
    C:\Program Files\National Instruments\DataSocket\cwdss.exe
    I hope this is helpful.

  • Hi am trying to save Data into a write to measurement file vi using a NI PXI 1042Q with a real time mode but it is not working but when i run it with uploading it into the PXI it save in to the file

    Hi am trying to save Data into a write to measurement file vi using a NI PXI 1042Q and DAQ NI PXI-6229 with a real time mode but it is not working but when i run it without uploading it into the PXI it save in to the file please find attached my vi
    Attachments:
    PWMs.vi ‏130 KB

     other problem is that the channel DAQmx only works at real time mode not on stand alone vi using Labview 8.2 and Real time 8.2

  • How to write a procedure to load the data into a table using xml file as input to the procedure?

    Hi,
    Iam new to the xml,
    can u please anyone help me how to write procedure to load the data into a table using xml as input parameter to a procedure and xml file is as shown below which is input to me.
    <?xml version="1.0"?>
    <DiseaseCodes>
    <Entity><dcode>0</dcode><ddesc>(I87)Other disorders of veins - postphlebitic syndrome</ddesc><claimid>34543></claimid><reauthflag>0</reauthflag></Entity>
    <Entity><dcode>0</dcode><ddesc>(J04)Acute laryngitis and tracheitis</ddesc><claimid>34543></claimid><reauthflag>0</reauthflag></Entity>
    <Entity><dcode>0</dcode><ddesc>(J17*)Pneumonia in other diseases - whooping cough</ddesc><claimid>34543></claimid><reauthflag>0</reauthflag></Entity>
    </DiseaseCodes>.
    Regards,
    vikram.

    here is the your XML parse in 11g :
    select *
      from xmltable('//Entity' passing xmltype
    '<?xml version="1.0"?>
    <DiseaseCodes>
    <Entity><dcode>0</dcode><ddesc>(I87)Other disorders of veins - postphlebitic syndrome</ddesc><claimid>34543></claimid><reauthflag>0</reauthflag></Entity>
    <Entity><dcode>0</dcode><ddesc>(J04)Acute laryngitis and tracheitis</ddesc><claimid>34543></claimid><reauthflag>0</reauthflag></Entity>
    <Entity><dcode>0</dcode><ddesc>(J17*)Pneumonia in other diseases - whooping cough</ddesc><claimid>34543></claimid><reauthflag>0</reauthflag></Entity>
    </DiseaseCodes>
    ') columns
      "dcode" varchar2(4000) path '/Entity/dcode',
      "ddesc" varchar2(4000) path '/Entity/ddesc',
      "reauthflag" varchar2(4000) path '/Entity/reauthflag'
    dcode                                                                            ddesc                                                                            reauthflag
    0                                                                                (I87)Other disorders of veins - postphlebitic syndrome                           0
    0                                                                                (J04)Acute laryngitis and tracheitis                                             0
    0                                                                                (J17*)Pneumonia in other diseases - whooping cough                               0
    SQL>
    Using this parser you can create procedure as
    SQL> create or replace procedure myXMLParse(x clob) as
      2  begin
      3    insert into MyXmlTable
      4      select *
      5        from xmltable('//Entity' passing xmltype(x) columns "dcode"
      6                      varchar2(4000) path '/Entity/dcode',
      7                      "ddesc" varchar2(4000) path '/Entity/ddesc',
      8                      "reauthflag" varchar2(4000) path '/Entity/reauthflag');
      9    commit;
    10  end;
    11 
    12  /
    Procedure created
    SQL>
    SQL>
    SQL> exec myXMLParse('<?xml version="1.0"?><DiseaseCodes><Entity><dcode>0</dcode><ddesc>(I87)Other disorders of veins - postphlebitic syndrome</ddesc><claimid>34543></claimid><reauthflag>0</reauthflag></Entity><Entity><dcode>0</dcode><ddesc>(J04)Acute laryngitis and tracheitis</ddesc><claimid>34543></claimid><reauthflag>0</reauthflag></Entity><Entity><dcode>0</dcode><ddesc>(J17*)Pneumonia in other diseases - whooping cough</ddesc><claimid>34543></claimid><reauthflag>0</reauthflag></Entity></DiseaseCodes>');
    PL/SQL procedure successfully completed
    SQL> select * from MYXMLTABLE;
    dcode                                                                            ddesc                                                                            reauthflag
    0                                                                                (I87)Other disorders of veins - postphlebitic syndrome                           0
    0                                                                                (J04)Acute laryngitis and tracheitis                                             0
    0                                                                                (J17*)Pneumonia in other diseases - whooping cough                               0
    SQL>
    SQL>
    Ramin Hashimzade

Maybe you are looking for