OPC Simulators

Hi all,
I'm get used to testing MatrikonOPC Simulation server, does anybody suggest some others OPC Simulators to use with MII UDS?
Best regards
Isaías Barroso
Brazil

Hi,
Check the below links
http://www.opcconnect.com/freesrv.php
http://www.iconics.com/support/free_tools.asp
-Suresh

Similar Messages

  • ABB SattLine OPC

    Hi
    I have tried to communicate with the ABB SattLine OPC server (ADS.OPC.2 in figure 1).
    I can read connect and read/write tags with the Matrikon OPC explorer,
    but have problems with labview.
    I can see and browse the server however I do receive a message which
    says "the server is connected and can be browsed but it will not be possible
    to retreive extended item information"...
    I can see the tags but when I select the proper tag Labview just shuts down (figure2)
    I have no problem can communicate with the same code with MATLAB OPC server
    with MAtrikon opc server and the Labview OPC servers (simulators) no problem
    at all, just in the case of the Sattline I have thi behavior.
    Any comment would be highly appreaciated.
    Cheers
    Zoltan

    Hi,
    I still have problem to get arround this thing....No rpogress at all.. but here it is what I did:
    1. I found the server explorer on the NI site and installed. I can read/write the data
    ABB server (ADS.OPC.2) beutifully, see ( the figure attached).
    2. In LAbview 8.0 with DSC 8.0 I tried two things:
    2.a -  the same as before. If I try to use any of the OPC examples from the opc.dll
    e.g. "Browse to OPC item.vi" I can open the browser, I can see the OPC server
    I can even see the group and the tags, but when I click on any of the tags again
    Labview crashes with the error message (see the figure). This is the same original problem...
    2.b - Now still in Labview 8.0 where I have DSC 8.0 installed I added to a new project
    New --> I/O server --> OPC --> and add the ADS.OPC.2 from the list of registered OPC servers and add
    as a linrary to the project ( this is fine so far)
    But when I right click on the newly added OPC1 and check the View I/O items I cannot see any tags.
    (when I dod the same procedure with any other OPC server, e.g. MAtrikon no problem).
    The same if I still go ahead an to add new variable I cannot see the tags from the server. Only
    the NI OPC CLient Status group appears (which does not belong the the ADS.OPC.2).
    3. Finally, I downloaded Labview 8.5. I do not have DSC 8.5 so I only tried method 2.a. That is the simplest
    example from the opc.dll crahes Labview.
    During all this time I have no problem to communicate in Labview with other simulated opc sertvers,
    and at the same time I have no problem reading/writing data to the real ADS.OPC.2 using other
    the Matrikon or the NI server Explorer...
    I am running out of ideas ...:-(((
    Thanks
    Zoltan
    http://www-staff.lboro.ac.uk/~cgzkn/ABC/errora1.jpg

  • How to read enumerated values from an OPC server via Datasocket

    Hi Labviewers,
    I am using LV8.2 and I am trying to find if it is possible to read enumerations from an OPC server via Datasocket, not just the values.
    I can successfully read a value for an OPC server via Datasocket and I get a value for example 3, is it possible to get the enumeration/string that corresponds to this value i.e. "Open".
    Many thanks in advance
    Dimitris

    Hi Sarah,
    With the input type as variant I get the following response:
    1                                     <-This is the current numeric value of the parameter
    4 Attribute(s):
       'Quality' -> 192
       'TimeHigh' -> 29861723
       'TimeLow' -> -665408304
       'Timestamp' -> 39.238E+3
    With the Input set to         Enum constant I get no values or strings coming back. With the Input set to                Ring constant I just get the numeric value   
    Dimitris   

  • Communication Problem in Mitsubushi PLC A2SH with OPC 4.5.1

    While communicating with Mitsubushi PLC A2SH thru OPC 4.5.1 , it displays time out error , the settings of the Com port of the system is Baud = 9600, Parity = odd
    Data bits = 8 Stop bits = 2, Flow Control = None . The same setting is done in the OPC & Mistubushi PLC Comm protocol. Iam using Labview DSC to communicate with PLC with OPC 4.5.1. How do i solve this Comm Problem in what steps.

    You might increase the 'Recieve timeout' from 250ms to some higher values on the object (driver) and you might increase in Options >> Serial Ports... >> Receive Gap from 20 to a bigger value like 50.
    Hope it helps.
    Roland
    PS: I've not tried it with this particular PLC, though.

  • How can i connect LabView to a PLC or Profibus without using OPC?

    I can access data from the PLC or through the Profibus using OPC. Unfortunately is this not fast enough since I need a faster sampling rate. Are there any faster ways to access the PLC data? I’m now using Siemens S7-300 and CP5613 with the driver S7-5613.

    Hi Boris.
    This tip can be very helpful to me, tanks!
    Best regards, Martin

  • Is it possible to query multiple items in a single OPC read?

    I am trying to read several data items at one time via OPC. Is this possible? If so, how? I have tried passing multiple URLs to specific items and a single URL header with multiple variable names. Both methods return an OPC error about invalid items. I am trying to do this to speed up OPC access times. Reading each item one-at-a-time is a little time consuming for our application.

    The only way to read multiple datapoints via OPC is to build an OPC item that contains multiple pieces of information. I checked this here, and I had no problem reading an array of data from an OPC Server with DataSocket.
    I read the "opc:/Matrikon.OPC.Simulation/Random.ArrayOfReal8" data item from a Matrikon OPC Simulation Server that publishes an array data item. The OPC Demo server is available for free download at http://www.matrikon.com/opc/htdocs/simx.htm. You can read this as an array of doubles in LabVIEW.
    For your application all you will need to read your data multiple items at a time is a server that can publish arrays.
    Hope this helps.

  • Dsc opc shared variables yields Server Failure

    I've been struggling with the transition from DSC 7.1 to 8+ ever since the release of version 8. I use the Allen Bradley OPC server supplied with the DSC module (Industrial Automation OPC Servers v 5.1) to communicate with a PLC 5/30 via Ethernet, or at least I did when I was using 7.1.
    Prior to today I always failed to get the shared variables that were bound to addresses in the OPC server to deploy, usually getting an error number that started with -19. However today I finally got it to deploy by keeping the I/O server and the shared variables in separate libraries within my project. Now that they deploy I find that I am unable to monitor them. I keep getting a Server Failure. I have browsed the forums here heavily, and the documentation all relates to remote OPC, which is not what I'm doing here (OPC client and server are on the same machine). I tried changing the login account for the Variable Engine service anyway, but that doesn't help, so I put it back.
    I have had some luck simply binding my front panel objects to the OPC server addresses using Datasockets, so it appears that my OPC server is working. However, Datasockets is not a viable option for me because there are times when my project needs to write to a large number of addresses in the PLC sequentially, which never works over datasockets (in my experience).
    We have continued to work in version 7.1 because of the challenges of moving to 8+, but since we can no longer purchase DSC runtime licenses for version 7.1 in order to deploy, it seems that we MUST move forward to 8+ or abandon LabVIEW altogether (which is certainly an option).
    For clarification, I am now working with version 8.2 (but I've been fighting with it since 8.0 without much success). If anybody out there can think of a critical step that I might have missed that might cause this, or if there is a known solution, I could really use (and would greatly appreciate) the help. Thanks!

    Nobody out there seems to have any answers for this, so I kept pounding on it (and pulling my hair out). In the end I finally succeeded in getting one of my old 7.1 DSC projects to run on 8.2. Here's what I did:
    1. I begin with a fresh installation of Windows. I tested it with both 2000 and XP Pro. Vista RC1 will absolutely NOT work!
    2. Install LabVIEW 8.2, DSC 8.2, and just the OPC server that I need from the IA OPC CD (in my case the Allen Bradley server)
    3. Open the IA OPC server editor, and create a new file with an object in it for my PLC (PLC 5/30, Ethernet in my case)
    4. Save, set it as the startup file
    5. Run LabVIEW, create an empty project
    6. Add an IO server
    7. Launch Multi Variable Editor, load project file created in step 6, and bind one variable to PLC address
    8. Save all. Uncheck auto deploy for the library, and deploy all.
    9. Launch variable monitor, browse to new variable, double click to monitor.
    10. This will ALWAYS fail with "server failure". Don't worry, just exit completely out of LabVIEW.
    11. Stop the Variable Engine service.
    12. Run OPC server editor again, and load up the lpd file from your old project. Modify if needed, save, and set as startup
    13. Start the Variable Engine service again.
    14. Launch LabVIEW
    15. Create a new empty project (I created mine in the same directory as my old 7.1 project resided)
    16. Add an IO server, and uncheck auto deploy for its library
    17. Save all
    18. Run Tools->DSC->Migrate->import scf
    19. Convert your old SCF file
    20. Add the new library to your project (it will be named LabVIEW)
    21. Uncheck auto deploy for the "LabVIEW" library you just added
    22. Right click on the "LabVIEW" library and do deploy all
    23. Save, and open the variable monitor
    24. Browse to a tag in the LabVIEW library, and double click
    25. This time it will actually monitor the variable, with a status of "Good"
    26. Now you can add your main front panel VI to your project, open it and run it
    27. Version 8.2 will select the proper legacy tag read/write VI's, whereas 8.0 does not. The writes however do not work. Replace them with shared variable writes. The reads work fine.
    28. The empty project that you created in step 5 is a throw away. It will never work anyway.
    29. So far the only variables that I can get to work at all are the ones that I import from an scf file, which is a pain, but if I must create all my tags in 7.1 and import them into 8.2 I will (for now). I may try exporting to Excel and copying variables that work in order to get functional new variables, since binding them in the editor does not work.
    I hope this helps anybody else out there struggling with moving to 8+ DSC. I saw a few posts with similar issues, but without ANY answers at all. It's a convoluted solution that doesn't make a lot of sense, but for me it is repeatable.

  • Problems using Modbus TCP accessed by NI OPC Server

    Hi there,
    i'm using NI OPC-Server to access a measurement module. The buildup is quite easy, my system with NI OPC, a modbus gate and there the module connected with RS485.
    There's a thermocouple to provide me some sample data.
    But there's the point. I know, my data is in the Holding Registers and I can access them, but every data type I'm trying doesn't bring my my data out, just any other (sometimes Huge with e34, sometimes very small like e-13...) sorts, i can't understand.
    The type provided by the module should be single precision.
    In Lookout the address used to be is 41000 in Labview it's just 999 and in the "target" OPC-Server I get some values at 401000 but not useful.
    I also get the same results accessing 301000 in different types.
    Read/Write or Read Only is equal.
    I've tried to tell my OPC that the values are Strings, Floats, Words, BCD and all other possible ways OPC offers me, but nothing results in a usable temperature.
    I hope I missed something and you could suggest it.
    Cateros
    Solved!
    Go to Solution.

    Thanks for your reply.
    in LabVIEW I'm using the provided Modbus Libraries. If I unbundle the Holding registers, my value appears at Holding Register [0], I'm type casting it to single and get the sample temperature. (Address 999->unbundle->typecast->value)
    In NI OPC, I'm reading ( [depends on zero based addressing]  300999/301000 equal to 400999/401000) an already typecasted Holding Register [1] compared to LabVIEW (and the value changes in the second or third digit behind the comma and they are changing at the same time). Data type in the tag is float.
     Another disturbing thing is even if I change in the options "using zero-based addressing in registers" my value does not change.
    If I'm reading two addresses close to each other (as you mentioned 401000-401001) I'm getting an unknown data type and no results. How do I read multiple addresses without such errors? And how do I specify a special register to read?
    Scaling should not be the problem, I am having three ways to get my value (FTP-Server on the gate (just a *.dat file with correct type), software the the module manufacturer (while measuring and configuring the module) and LabVIEW(as can be seen above)) .
    Sadly, I have not found any useable modbus documentation about the module (just it can use modbus, you have the registers, you could read/write and fine)
    When I'm adding a second couple to the module, in LabVIEW Values in Holding Register [2] and Holding Register [3] appear and are changing.
    Cateros

  • Lookout OPC Client – Asynchronous I/O and Update Rate serious problems (Sequence of data)

    I am using the Lookout OPCClient driver to connect to AB PLCs (EtherNet/IP protocol) and power measurement equipment (Modbus TCP protocol). The OPC server is the NI OPC Servers. The data that are read out from PLCs and PMs are energy meter readings, energy counters, power, voltage, current, frequency, power factor and el. energy quality measurements (THD). That energy meter readings are being stored in SQL database.
    I am experiencing a serious problem regarding the accuracy of the meter readings. Several times per day, randomly, meter readings are losing the time sequence. For example, sequence is: 167, after few seconds 165, 166.  In other words, present value followed by two previous old values. That generates a serious problem in our application that is expecting a naturally rising sequence of counter values.
    Analyzing further, I isolated the problem to the connection between Lookout OPCClient and OPC Server. I made a simple application in Lookout 6.7 (opcproc.lkp, attached) with OPCClient parameters: NIOPCServers, OPC2, Asynchronus I/O, Update rate: 10000, Deadband: 0.0, that is reading just one tag from NI OPC Servers demo application (simdemo.opf).
    By using OPC diagnostic tool from NI OPC Servers I record the sequence of OPC requests and responses.  I found out that OPCClient sends every 2.5 sec “IOPCAsyncIO2::Refresh2()” call that is request for refreshing of all items in one OPC group. Few milliseconds later OPC Sever responds with callback function “IOPCDataCallback:: OnDataChange()(Device Refresh)” that actually refresh the data.
    This periodic sequence is intrinsic to the OPCClient and cannot be disabled or changed (by my knowledge).  This sequence is periodically interrupted by “IOPCDataCallback:: OnDataChange()” caused by update rate parameter of OPCClient (client is subscribed to server for periodic update of changed items).
    In the case of demo application on every 4 refresh callbacks caused by refresh requests (2.5 sec) there is one update subscription callback determined by Update rate (10 sec).
    QUESTION 1:
    What is the purpose of update sequence and update rate when we have every 2.5 sec fresh values?
    PROBLEM
    The problem arises when we have a large number of items in OPC group. In that case the OPC Server starts to queue refresh requests because they cannot be fulfilled in 2.5 sec time because of large number of I/O points that must be scanned. At the same time update subscription callbacks are running at the period determined by Update rate. I observed in my production system that regular update callbacks has higher priority than refresh callbacks from the queue. That causes the loosing of timed sequence of data. After the update callback with fresh data, sometimes follow one or two refresh callbacks from queue with old (invalid) data. By adjusting Update rate parameter (1 hour, 2hours …) I can postpone the collision of data refreshes but I cannot eliminate it. Furthermore, the 2.5 sec automatic refresh are large burden for systems with many I/O points.
    QUESTION 2:
    Is there a way to disable automatic refresh request every 2.5 sec and just use update requests determined by Update rate?
    QUESTION 3:
    Is there a way (or parameter) to change the period of automatic refresh (2.5 sec)?
    This problem is discovered for Lookout 6.5, 6.6 and 6.7 so I could say it is intrinsic to OPCClient. If I use synchronous I/O requests there is not an automatic refresh, but that is not an option for large systems.
    Thanks!
    Alan Vrana
    System engineer
    SCADA Projekt d.o.o.
    Picmanova 2
    10000 ZAGREB
    CROATIA
    T +385 1 6622230
    F +385 1 6683463
    e-mail [email protected]
    Alan Vrana
    SCADA Projekt d.o.o.
    ZAGREB, Croatia
    Attachments:
    opcproc.zip ‏4 KB

    The physical connection from LV to the switch is (I believe) copper crossover to fiber converter into a switch.  Then, fiber from the switch to the end device (relay).  The relay has all of the typical modbus registries and has been verified by inducing signals in to the system and measured/polled in LabVIEW and observed Variable Monitor.  I am working with LV 8.2 and 8.5. 
    An OPC server would only add an additional translation of addressing within the configuration.  The only real draw back would be the network overhead required to do this processing and not being representative of the end design configuration.
    I will reiterated my question in another way:
    I must answer the question to management that relates to data collection, test results and analysis; how often are you polling the client in relation to the outcomes measured?  At this time I can not point at any configuration in the set up and execution that directs the data framing rate.  I only measure the traffic and work with results.  This needs to be clearly identified based on the relay modbus/tcp design capability of supporting an fixed number of client requests per second. 
    For testing purposes, I would like to be able to stress the system to failure and have prove capabilities with measured data.  The present problem is that I have no basis to establish varying polling rates that effect the measured data transmission. 
    This raises another question.  What handles the Variable Monitor data requests and how is this rate determined?
    Thanks for your interest in my efforts.
    Steve

  • DSC - OPC Connection - Can't read or write to tags

    I am working on controlling some motors over an OPC server.
    The PLC is an M258, and the OPC server is CoDeSyS OPC DA.
    When I use MatrikonExplorer, I can read the value of tags, and change their values as needed.
    Using an evaluation version of NI OPC client, I could see the tags, but their value was marked as "unknown" with bad quality. In their properties, the value of the tags is given as "BAD VARTYPE".
    I used DSC to add the codesys server to a library and imported all the relevant variables. When I try to read them in a VI, they give me error code: -1950679034, so that they have no value. And when I try to change a value, I can see that the value never changes.
    I would greatly appreciate any help you can provide.

    http://www.ni.com/white-paper/6417/en/
    Codesys isn't listed as a supported OPC Server.

  • OPC: what is the path to follow in LabVIEW 8.20?

    Hello:
    I started with OPC in Labview 6. The only two functions that I need is "read  multiple tags" and "write tag". The tags are either located on the same PC or on a different one. I use Labview as an OPC client. The number of tags that i need to acquire is in the range of 2000-5000, once per minute. In Labview 6 and 7, all experts in the discussion forum and at NI said that above 100 tags, it was impossible to use Datasocket (performance issue when too many tags) and that the preferred path had to be DSC. So I started using DSC. Now that I migrated towards LabVIEW 8.20 the people at NI say that the best option is to use.... Datasockets! The read/write tags vi having  disappeared the suggest me to make my own "read multiple tags.vi" and "write tag.vi" by encapsulating a "DS read/ write" in a for loop. As an entry to the loop, I would just wire the ref number that the connection ids that the Datasocket Open.vi supplies.
    So my first question: why is this old Datasocket mechanism again the path to follow in Labview 8.20?
    By curiosity I checked in Labview 8.20 what was embodied in the "read multiple tags.vi" that were shipped in the Labview DSC 7.1. And found that the very last layer of the Vi used... Datasocket read in a for loop.
    So my second question: why was the Datasocket mechanism so poor in Labview 6 and 7 (for more than 100 tags) and now is the preferred way to go?
    I cannot use the shared variable mechanism in my case because the entry of my application is a list of tags (2000-5000) to read and I just want an automated way to read these tags values in one take.
    As I need to install the compiled application on dozens of PC I would prefer not to be forced to buy the DSC licenses on each runtime machine hence Datasocket that does not require the DSC license might be a good choice?
    Thanks for all ideas and comments,
    Christophe

    I have an example of a DSC application in this thread. This is in DSC 7.0 format.
    http://forums.ni.com/ni/board/message?board.id=170&message.id=234478#M234478
    Here is the scf file. It might have some stuff added to it since the llb file was created.
    Attachments:
    d103210.zip ‏3 KB

  • Help Needed in establishing connection between Kepware OPC server and UDS 4

    Hi All,
    I am in the process of establishing connection between Kepware OPC server and UDS 4.0,
    Can anyone guide me through the process of configuring UDS 4.0 to establish conection with the Kepware.
    Any standard documentation on UDS 4.0 will be of great help.
    Thanks in advance,
    Shyam

    HI Rajesh,
    I am creating OPC DA instance and when i try to browse for the OPC servers available in the machine, the list is blank. i am not able to view any OPC servers.
    Actuallt the Kepware OPC server and UDS are installed in the same machine.
    Can you plz through some ligh on this
    Regards,
    SHyam

  • How can I write to an OPC Server?

    Hello!
    I was busy a few days with LabVIEW 8 to finish a special task, but now I've got problems to solve the following problem:
    I have an OPC connection between a frequency converter and LabVIEW 8. With the example vi's I get the data out of the OPC Server (revolutions per minute).
    So I can read data out of the OPC Server, but how can I write? I want to write several voltage values to the OPC Server that the frequency converter gets the required revolutions per minute.
    Have you got any ideas? Are there existing example vi's to write data to an OPC Server?
    Best regards and Thanks in advance!

    So here it is - a little bit modified, but you should get the idea out of it.
    If you have questions, I'll try to answer them .
    Thomas
    Using LV8.0
    Don't be afraid to rate a good answer...
    Attachments:
    IOControl.llb ‏168 KB

  • How can I write to a Siemens S7-300 PLC tag from OPC Server.vbai page by using a Knob object ?

    I am using NI OPC Server and I can read Siemens S7-300 PLC tags such as thermocouple values from the PLC. Additonally I can write manually a constant value to that tag by selecting it in the NI Distributed System Manager. And I can read the written value from NI Distributed System Manager or from NI OPC Server. But I can not write any value to the S7300 PLC tags such as by using a knob object at the NI Vision Builder AI Inpection (.vbai) page.
    Any help is welcomed. Thanks in advance.
    Attachments:
    manual_writing_to_plc.png ‏298 KB

    The tutorial at the following location explains how to use Vision Builder AI as a OPC server.
    https://decibel.ni.com/content/docs/DOC-18647
    http://www.ni.com/white-paper/13574/en
    To allow VBAI to connect to an OPC Server (i.e. act as an OPC client), you need to purchase and install the DSC Run-time System.
    Once installed, you can create an OPC I/O client using the Distributed System Manager, create variables bound to OPC tags, then create VBAI network variables that are bound to these variables.
    Another possible technical solution to connect to OPC Servers supporting Data Access 2.0 is to use the datasocket API in a Run LabVIEW step.
    http://forums.ni.com/t5/Machine-Vision/Read-and-Write-with-OPC-through-NI-Vision/m-p/2048278/highlig...
    Hope this helps.
    -Christophe

  • Interface of OPC to SAP R/3

    Hi ,
    We got a PLC with OPC server and it  records the production order and its torque value. We need to interface with SAP R/3 so as to send  the order and torque data from OPC server to SAP. Can you please suggest any solution for this.
    Thanks

    SAP is OPC complient, within PPPI, see this link for details:
    http://help.sap.com/saphelp_erp60_sp/helpdata/en/cd/982e3abe62ca0fe10000000a11402f/frameset.htm
    Nevertheless, you should take into consideration that the application side of the interface may prove more complex than the technical one; for example, you say that you want your OPC client to report to production orders. How would it know what is the right order to report?
    Normally such an integration includes a two way data transfer; from SAP the orders that were released, with the necessary details, and back the confirmations.

Maybe you are looking for

  • Reporting Services Point, remote SQL issue

    I'm trying to install Reporting Services Point on a remote SQL 2008 R2 SP2 server. I select the SQL server under Servers and Site System Roles and it lists the site database server name, database name (should this name be the same as the DB found in

  • Problem with transparancy and buttons

    Hello i have a strange behavior with buttons which shall be transparent. On a JInternalFrame i placed several JPanels. Each JPanel and the JInternalFrame have opaque set to false, as does the contentPanel of the JInternalFrame. On one of these JPanel

  • Can't unmount an internal disk that I installed in my tower

    Years ago, I added a supplemental internal hard drive (Maxtor) to increase my storage capacity. It continues to work fine. But... I'd like to be able to do maintenance on it (verify the directory, make any repairs, etc.), and for that, I need to be a

  • Error in StringTokenizer

    I am trying to run this code that I got from a textbook. The only thing that I changed was the name of the file that was to be read in. It was "inventory.dat" and I changed it to "clients.txt". The code compiled fine but when I went to run it I got t

  • Weblogic server failed to start errors BEA-000362 & BEA-000365

    Hi Friends, I'm trying to start weblogic server after starting admin server.I'm getting the below error after running the command: $ ./startManagedWebLogic.sh <Jul 29, 2011 10:09:54 AM IST> <Info> <Security> <BEA-090905> <Disabling CryptoJ JCE Provid