Force in labview the variables of a PLC

Hi,
I want to make a simulation in labview. I have a PLC connected to labview through OPC. I have a lamp and a switch in the front panel in labview and I want to click the switch to force the input in the PLC and the PLC, due to the program that it have inside, will activate the output that will turn on the lamp, in Labview again. This first simulation is very simple but then I want to make a more complex simulation. I have the simulation on the computer but the PLC as a hardware. I know that I can force the variable with the Step 7 MicroWin but I would like to know if I can force the variables in the PLC through Labview.
Thanks,
Maiki

I think you ve to use the Shared variables to send the PLV variables to LV, using the Shared Variable Engine & I/O Server communication meant for OPC in LV.
Do you have the LV DSC module?
- Partha
LabVIEW - Wires that catch bugs!

Similar Messages

  • How to force to clear the variables??

    Hi all,
        i am working a program that need to use a variable in standard report. Who can tell me how to clear the variables in this standard report??

    Hi Steven.
    I Understand you need to have access key to change in standard program.
    once you get then you can easily use via clear statement.
    please reward if help!
    Amit.

  • Can LabVIEW global variables be shared between UUT sequence steps in the parallel sequence model?

    Sorry for this simple question,  I'm having a hard time finding this answer.
    If I launch a sequence to run on two UUTs in the parallel sequence module,   can I get both UUTs to run LabVIEW vis that use global variables such that :
    1) UUT 0  executes 20 LabVIEW Vi  steps asynchronously,  5 of which access data from LabVIEW global variables A, B, C (Strings)
    2) UUT 0 executes the same 20 LabVIEW based steps asynchronously  5 of which access data from then same LabVIEW global variables A, B, C (Strings)
    I am a little worried that using file globals may have some delays or more of a race condition than using native LabVIEW global variables like in a single labview application perform.  
    QUESTION 2:  Are file globals actually written to the hard drive and shared between parallel sequences through file transfer?  OR  are they in memory?
    Brad Whaley
    LabVIEW Certified Engineer

    Hi bdwhaley,
    Are your parallel sequences only reading from the global variable? Or are they writing to the variable as well? If it is just reading, then you should be okay. File globals are read from memory. Every time they are read, a copy of the data is made in memory.
    Humphrey H.
    Applications Engineer
    National Instruments

  • I am a newbie to labview but have delt with plc's for the last 10 years. I would like to send and recieve certain integer, floating poin

    t, or binary files through the plc or micrologix communication port. This would allow me to build a front panel and change certain states of bits or retrieve data from certain files to display on the front panel. Please steer me in the right direction...I am a newbie to labview but have delt with plc's for the last 10 years. I would like to send and recieve certain integer, floating point, or binary files through the plc or micrologix communication port. This would allow me to build a front panel and change certain states of bits or retrieve data from certain files to display on the front panel. Please steer me in the right dir
    ection...

    t, or binary files through the plc or micrologix communication port. This would allow me to build a front panel and change certain states of bits or retrieve data from certain files to display on the front panel. Please steer me in the right direction...Another option is to talk to the PLC using Modbus. Several versions of Modbus drivers are available online--or I could send you the ones I use.
    The big thing to look at is exactly what you want to do in the end. If you are going to be able to use all the features of the DSC, by all means go for it. It will save you a lot of time.
    If however, all you want is a remote front panel for the PLC, the DSC might be overkill. Only you can say.
    Look at your entire application and where you can see your work going in the reasonable future.
    Mike...
    Certified Professional Instructor
    Certified LabVIEW Architect
    LabVIEW Champion
    "... after all, He's not a tame lion..."
    Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps

  • How do you synchroniz​e accesses to a LabVIEW Shared Variable?

    I would like to create an ad-hoc weather station program (I'll explain more in a bit).  I am using LabVIEW 8.0 Full Edition, and I would like to share data over a network between stations with the LabVIEW Shared Variable.  Here's what I want to be able to do:
    A node would start up, and begin publishing data to a network via a shared variable.
    The shared variable is an array of clusters
    The cluster information would hold things like:
    Station Name
    Station Location
    Weather information cluster (temperature, rainfall, windspeed, wind direction, etc...)
    Timestamp of last update
    When a new node would like to enter, it would bind to the shared variable, grow the array, and add its information.
    If a node's Station Name and Station Location is already in the shared variable, it would merely update the information in the cluster.
    Viewing nodes could pop in, bind to the shared variable, and read/display the information at any time. 
    I am trying to enumerate problems with this before implementing, and I have run into a stinker of a problem that I am not sure how to solve.  How do I synchronize accesses to the LabVIEW Shared Variable?  If I read the variable, modify it, and write it back, I will undoubtedly run into a race condition where 2 nodes attempt to update its data and I will lose the data written by the first node - Node A reads, Node A modifies, Node B reads, Node A writes, Node B Modifies, Node B Writes, and thus the modifications made by Node A are lost.  In my specific application losing some data isn't critical, but if not remedied this type of problem could cause massive amounts of data to be lost when there are numerous nodes, and that is definitely not acceptable. 
    Does anyone have any recommendations on how to synchronize the read-modify-write operations on the data in the Shared Variable?
    -Danny

    Wendy,
    I am afraid Semaphores are not network-shared objects (to my knowledge), they are system-level objects that use operating-system synchronization mechanisms.  If I were synchronizing on a single machine, a semaphore might be a valid mechanism; as an aside, most user-mode semaphores are designed to synchronize within a single process - to synchronize between processes you need to store the semaphore in the Kernel, and to synchronize over a network you would need a network node to handle serialization of requests.  My Shared Variable is published over a network, and to my knowledge there are no network-published synchronization mechanisms available - mostly because there is no way to currently perform an atomic test-and-set on the Shared Variable (am I correct?) and there isn't a mechanism for blocking access to a Shared Variable from another network device/machine (or is there?).  I've been looking for some way to implement an atomic test-and-set but I am running into a wall; I know that if I select the "single writer" attribute of the Shared Variable I can get LabVIEW to force a single writer allowing me to have an atomic "set", but I need more than that.
    If only there was a network-shared Semaphore or some way to block other network accesses to the Shared Variable I would be in business - something like what I want doesn't exist, does it?
    Thanks!
    -Danny
    Message Edited by texasdiaz on 02-23-2006 02:52 AM

  • Can a shared variable be forced like an IO variable?

    Forcing an IO variable is supported.  However, what if I want to force the value of a shared variable?

    You cannot just force the value of the shared variable if it's being constantly updated from somewhere else. What you can do is to create an application that updates the shared variable with a value constantly. That way, you can get close to the behavior of forcing the value on the variable. Doesn't help answer the question, but could be used as a way around it.
    Adnan Zafar
    Certified LabVIEW Architect
    Coleman Technologies

  • Any idea what this errorr means? the data type of the reference does not match the data type of the variable

    I am using Veristand 2014, Scan Engine and EtherCat Custom Device.  I have not had this error before, but I was trying to deploy my System Definition File (run) to the Target (cRio 9024 with 6 modules) and it failed. It wouldn't even try to communicate with the target. I get the 'connection refused' error.  
    I created a new Veristand project
    I added the Scan Engine and EtherCat custom device.
    I changed the IP address and auto-detected my modules
    i noticed tat Veristand didn't find one of my modules that was there earlier. (this week)
     So, i went to NiMax to make sure software was installed and even reinstalled Scan Engine and Veristand just to make sure.
    Now, it finds the module, but when i go to deploy it getsto the last step of deploying the code to the target, and then it fails.
    Any thoughts?
    Start Date: 4/10/2015 11:48 AM
    • Loading System Definition file: C:\Users\Public\Documents\National Instruments\NI VeriStand 2014\Projects\testChassis\testChassis.nivssdf
    • Initializing TCP subsystem...
    • Starting TCP Loops...
    • Connection established with target Controller.
    • Preparing to synchronize with targets...
    • Querying the active System Definition file from the targets...
    • Stopping TCP loops.
    Waiting for TCP loops to shut down...
    • TCP loops shut down successfully.
    • Unloading System Definition file...
    • Connection with target Controller has been lost.
    • Start Date: 4/10/2015 11:48 AM
    • Loading System Definition file: C:\Users\Public\Documents\National Instruments\NI VeriStand 2014\Projects\testChassis\testChassis.nivssdf
    • Preparing to deploy the System Definition to the targets...
    • Compiling the System Definition file...
    • Initializing TCP subsystem...
    • Starting TCP Loops...
    • Connection established with target Controller.
    • Sending reset command to all targets...
    • Preparing to deploy files to the targets...
    • Starting download for target Controller...
    • Opening FTP session to IP 10.12.0.48...
    • Processing Action on Deploy VIs...
    • Setting target scan rate to 10000 (uSec)... Done.
    • Gathering target dependency files...
    • Downloading testChassis.nivssdf [92 kB] (file 1 of 4)
    • Downloading testChassis_Controller.nivsdat [204 kB] (file 2 of 4)
    • Downloading CalibrationData.nivscal [0 kB] (file 3 of 4)
    • Downloading testChassis_Controller.nivsparam [0 kB] (file 4 of 4)
    • Closing FTP session...
    • Files successfully deployed to the targets.
    • Starting deployment group 1...
    The VeriStand Gateway encountered an error while deploying the System Definition file.
    Details:
    Error -66212 occurred at Project Window.lvlibroject Window.vi >> Project Window.lvlib:Command Loop.vi >> NI_VS Workspace ExecutionAPI.lvlib:NI VeriStand - Connect to System.vi
    Possible reason(s):
    LabVIEW: The data type of the reference does not match the data type of the variable.
    =========================
    NI VeriStand: NI VeriStand Engine.lvlib:VeriStand Engine Wrapper (RT).vi >> NI VeriStand Engine.lvlib:VeriStand Engine.vi >> NI VeriStand Engine.lvlib:VeriStand Engine State Machine.vi >> NI VeriStand Engine.lvlib:Initialize Inline Custom Devices.vi >> Custom Devices Storage.lvlib:Initialize Device (HW Interface).vi
    • Sending reset command to all targets...
    • Stopping TCP loops.
    Waiting for TCP loops to shut down...
    • TCP loops shut down successfully.
    • Unloading System Definition file...
    • Connection with target Controller has been lost.

    Can you deploy if you only have the two 9401 modules in the chassis (no other modules) and in the sysdef?  I meant to ask if you could attach your system definition file to the forum post so we can see it as well (sorry for the confusion).  
    Are you using any of the specialty configurations for the 9401 modules? (ex: counter, PWM, quadrature, etc)
    You will probably want to post this on the support page for the Scan Engine/EtherCAT Custom Device: https://decibel.ni.com/content/thread/8671  
    Custom devices aren't officially supported by NI, so technical questions and issues are handled on the above page.
    Kevin W.
    Applications Engineer
    National Instruments

  • How can I use an Access front end and Access button to control a LabView Shared variable boolean?

    My company has invested a lot of money on the office network to write many many access databases and front ends. I'm looking for a way to tie a button on an access front end to toggle a LabView boolean shared variable to notify me when they changed something on their side of the network. I'm not seeing anything that helps on a web or forum search. They don't like the idea of a separate labview control that they have to push a button on to let me know.
    Thanks
    Solved!
    Go to Solution.

    Hi Patrick,
    While this is not the intended purpose of Network-Published Shared Variables, you might be able to accomplish this by writing separate accessor VIs for reading from and writing to the variable, making sure to wire the inputs and outputs. Then, you could build a DLL, making sure that you include the accessor VIs as Exported VIs and include the DLL Library in the Always Included section of the DLL Build Specifications. During this process, you will define the function prototype, which will provide the function call, required parameters, and return values. Once the DLL is created, you can then call it and its functions from another programming language (C, C++, C#, VB, etc.). This may or may not work, but it is the only way that I can think of at this point. I have included some references that may help you in this process.
    Building a Shared Library in LabVIEW (White Paper)
    Calling LabVIEW VIs from Other Programming Languages (White Paper)
    Calling LabVIEW DLL From C# (Forum with Examples)
    I hope this helps.
    Regards,
    Mike Watts
    Product Marketing - Modular Instruments

  • Possibly dumb new user question: What does it take to get variables to show up in the variables reporting tab?

    I've been a LabVIEW user (2011) for about 1.5 years now and just got ahold of TestStand 2014 to try out as a structure for our future test needs.
    I've been using it on and off for about 3 days and there's something that's been driving me nuts.  When I run a sequence and the report comes up at the end, there's three tabs on it:  Report, Steps, and Variables.  Report and Steps are exactly what I expect to see.   However, the Variables tab is always blank.  Nothing I have found via my technique of checking everything in the menus that looks vaguely related and right-clicking things on many objects and checking those menus for other vaguely related things as well.
    I tried searching for references to it, and everything I get relates to the "Main" variables tab that you see when editing the sequence, not the one that comes up on the report.  
    See the arrow in the picture below:
    I suspect there's something incredibly obvious that I am missing but it's driving me nuts here...
    Solved!
    Go to Solution.

    You won't see that populated when an execution is complete. The variables are worthless at that point.
    If you want to see that tab populated pause the execution in the middle.  Or set a breakpoint.  Then you can look at the variables at run time.
    Regards,
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • How to build labview global variable into dll?And how to use it in vc++ program?

    Hi!
       I want to build labview application into dll and use vc++ to call it.The labview program is a little complex,for it has many interface to vc++ and has while loop in it.When I use vc++ to call it,I must use vc++ to do other things.That is to say,vc++ creates a new thread to provide for the labview dll to run.the vc main thread goes on to other things.But the vc++ main thread must communicate with the labview dll by setting its inputs' parameters and get the results of running labview dll.Can you advise me how to realize it?
       I think global variable of labview could be useful when realizing the communication betweeb vc thread and labview dll.So I want to ask whether the labview global variable could also be built into dll and use it.Could you please tell me how to realize my idea?
       Thank you!

    [email protected] wrote:
    Hi!
    I want to build labview application into dll and use vc++ to call
    it.The labview program is a little complex,for it has many interface to
    vc++ and has while loop in it.When I use vc++ to call it,I must use
    vc++ to do other things.That is to say,vc++ creates a new thread to
    provide for the labview dll to run.the vc main thread goes on to other
    things.But the vc++ main thread must communicate with the labview dll
    by setting its inputs' parameters and get the results of running
    labview dll.Can you advise me how to realize it?
       I
    think global variable of labview could be useful when realizing the
    communication betweeb vc thread and labview dll.So I want to ask
    whether the labview global variable could also be built into dll and
    use it.Could you please tell me how to realize my idea?
       Thank you!
    You
    can't access LabVIEW globals directly from a caller to the LabVIEW DLL.
    However there is no problem in providing specific accessor VI functions
    to that global and export them as additional functions from the DLL.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • I/O direction of LabView shared variable?

    Can I programmatically change the I/O direction of a LabView shared variable?  I'm using LV 2010 and I'm trying to change the I/O direction of a NI 9403 module programmatically.  Is this possible? 

    Hi JAF,
    I'm assuming your intended purpose is to input and output data through the same DIO line.  
    In that case, I would recommend using a case structure. You would need to create a case for input data and another case for the output.
    Below is a link describing the characteristics of a case structure.
    http://zone.ni.com/reference/en-XX/help/371361G-01/glang/case_structure/
    I hope this helps. BTW, are you using a cRIO? I'm just curious.
    Regards,
    Josh L.
    Applications Engineer
    National Instruments

  • How to unify or merge the variables from several TestStand platforms to one TestStand platform?

    Hi,
       We work with TestStand 3.5 and LabVIEW 8.0 versions.
       We work in a parallel mode with several developers and each from developers:
         1. Wrote his sequences at his TestStand station
         2. Defined his local variables/sequence File Global variables/station Global Variables at his TestStand
    I need to create the one file sequence at dedicated for it TestStand platform (target station) that will include all of sequences from these developers.
    So, the questions are:
    How i do that? What the existing tools/methods/solutions?
    How i can distribute all the variables that relate to different sequences and from different TestStand platforms?
    In other words, how i collect all related collections of variables(whatever?) from every developer of my team and unify/merge/distribute all of that
    to dedicated TestStand station that will include of all developed sequences without forgetting/losing something???
    I attached the visual presentation of my question (unify.JPG), please see the schema.
    If you have the question regards something, please let me know.
    Message Edited by Yuri_IL on 06-11-2006 10:01 AM
    Thank you & Best Regards
    *I use LabVIEW 8.X & TestStand 3.5/4.0.1 versions only
    Attachments:
    unify.JPG ‏26 KB

     Perhaps, i did not expressed well my question...
    1. I do need that top level sequence / sequence file needs to know or even care what variables are used by other sequence / sequence files
    2. I know how to deploy SINGLE TestStand sequence file/project to a target station.
    3. I want to know how to deploy MULTIPLE TestStand sequences from MULTIPLE TestStand stations and unify it to the SINGLE set of these multiple sequences that i deployed at my target station...
    For example:
     TestStand station #1 with sequence: init_of_xxx.seq
     TestStand station #2 with sequence: init_of_yyy.seq
     TestStand station #3 with sequence: init_of_zzz.seq
    After deploying at my target: TestStand station #4 i want to get a WORKING set of sequences:
                      init_of_xxx.seq
                      init_of_yyy.seq
                      init_of_zzz.seq
    The problem is that i know how to deploy every sequence sepately, but do not know how to deploy together
    Message Edited by Yuri_IL on 06-12-2006 02:56 AM
    Thank you & Best Regards
    *I use LabVIEW 8.X & TestStand 3.5/4.0.1 versions only

  • How to initialize the variables in the subvi when the main vi running?

    Hi, friends!
    Now I am working on a project with labview. I make a main vi  including many subvis.
    When the main vi running, I want to reinnitialize the variables in the subvi to zero.
    I know that I can realize that  using the local variable when I enter the subvi,
    but I want to keep the the values when I left the subvi and saw them when I
    click in this subvi again. So, I do not reinitialize the subvi when it runs. But, I
    don not know how to reinitialize the indicators in the subvi when I run the main
    VI in the first instance. I try to use the global variables, but it seems do not work
    well. Would you like to give me some advice? Thanks a lot!

    Hi dec,
          If I understand your question, try using the "First Call?" node in your Sub-VI - to initialize values the first time the VI executes every time the top-level VI is Run.
    If this doesn't work for you, just post again!
    Cheers.
    "Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)

  • I need in Formula Node to assign to the variable value 4000000000!!! What kind of variable it should be???

    i've just tryed to write unsigned in32, but it does not understand 'unsogned'... But i need variable to be unsigned, because the max value = 4000000000... So, how can i solve this probleme???

    Hi,
    I don't see exactly what you're trying to do here.
    Where do you want to assign the variable 4000000000 to? If you want it as an
    input, just use a dbl, with only zeros behind the coma.
    Note that an integer is a number without any decimals. An integer in LabVIEW
    is this, but with an extra limitation that it can only be 32 bits... So a
    dbl can be an integer.
    If the input dbl is not an integer, use round, round to -inf or round to
    +inf to make it one. This can also be done if the output needs to be an
    integer.Inside the formula node floor(x), int(x), intrz(x) or ceil(x) can be
    used to make integers.
    I hope this is what you mean... I can't see any problems doing this.
    Regards,
    Wiebe.
    "DrON" wrote in message
    news:506500000008000000E
    [email protected]..
    > I need in Formula Node to assign to the variable value 4000000000!!!
    > What kind of variable it should be???
    >
    > i've just tryed to write unsigned in32, but it does not understand
    > 'unsogned'... But i need variable to be unsigned, because the max
    > value = 4000000000... So, how can i solve this probleme???

  • Error -90032 occurred at Error in function centref at line 5 column 8: The indexes are out of bounds for the variable you specified

    Sir, 
    i am running a matlab code in mathscript of labview but getting an error
    Error -90032 occurred at Error in function centref at line 5 column 8:  The indexes are out of bounds for the variable you specified
    this code running successfully in matlab 
    please help me in this regard
    a .vi format file is attached named as mfcc_new.vi
    Attachments:
    mfcc2.vi ‏35 KB
    mfcc_new.vi ‏111 KB

    May I see you have 6 inputs to your Mathscript Node. When you test it in Matlab I suposse that you're using some values for this inputs and everything work as expected. Then, run it in Labview using highlight execution, retaining wire values and using single stepping. Check the values which are being inserted to your Mathscript Node and ensure that they are correct. You're having an "indexes out of bounds" mistake, so it probably means that there is something  wrong with the inputs according to your expectations. You can also put the MathScript alone in another VI and insert the inputs you're expecting manually and check in the same way.
    Good luck!

Maybe you are looking for

  • 2 Devices 1 iCloud Account Question

    I have 2 devices connected to the same iCloud account, however on one Device "Notes" is turned off,and the other it is turned on. The 2 devices have notes on them and they are different notes,my question is what will happen when if I turn on notes on

  • How to check paragraph in Reader document using API?

    Hi, When I extract the content of the PDF (Reader) document through .Net code, I could see only carriage return character ('\r') when it's a new line. But with '\r' character, I can not say whether it's normal new line or it's a paragraph. Please let

  • Shared Hard disk is not appearing on networked computer

    I recently set up a network with my new iMac and my older iMac (both on 10.5.3). Everything was working perfectly until a couple of days ago I noticed that the primary computer's hard disk is no longer showing up when I connect the second iMac. Howev

  • VL    363 Delivery quantity is greater than target quantity 22.800 FT

    If I am using BDC to create outbound delivery then i am getting below error: VL    363 Delivery quantity is greater than target quantity 22.800 FT But if I am using BAPI to create outbound delivery, then i am not getting any message and delivery is b

  • WM : Manual Transfer Order

    Hi Gurus, Can any one explain me the process of generating Transfer Requirement when goods receipt is done using MB31 transaction and mvoement type 101 with reference to order? When we create Transfer Order for that Transfer Requirement, system picks