How to partial stroke a valve using limit switches

Hi there. I am trying to write a small piece of code which will allow me to perform a partial stroke on a valve from the open position. To perform this test, the valve has to be in the open position, and a partial stroke button needs to be pushed once. Once the partial limit switch indicates high, the valve should return to open. This is done by energising/de-energising a solenoid. The solenoid is energised when the valve is open.
This is the first time I have used labview and I am struggling to write any code. By using the manuals, I have managed to acquire and write signals, but I am struggling with the logic for this test. I realise this will probably be pretty simple for experience users, so any examples and or advice would be good.
Thanks.

Thanks Jeff,
I have had a look and tried to implement. It works ok for the partial closure part, but I also have a seperate switch for basic open close functionality, and the partial limit switch will also go high as it moves from close to open. How would I go about adding this switch so that my logic still works?
ie. Switch 1 = Valve open (high) Valve Closed (low). Solenoid is energised to go high, de-energised to go low.
     Switch 2 = partial closure switch. the valve must be open for this operation to be allowed. When this switch is pressed, the solenoid is de-energised until it hits the partial closure limit switch. the solenoid then re-energises and the valve returns to open position.
Attached is something an old collegue used to perform partial closures. I think he used timing here. I would like to use the partial limit switch to re-energise during my test rather than timing. Can you advise how to modify this code to do this?
Attachments:
Example FAT.zip ‏95 KB

Similar Messages

  • How to actuate 20 solenoid valves using labview

    I want to perform an action of detaching materials from a fixture by actuating 20 pneumatic pistons controlled by 20 solenoid valves.
    If the valve is actuated the piston moves and stays in the location for 1 sec and then return back. Each of these cylinders should be able to be controlled separately.
    Kindly provide me with the necessary equipments i should buy.
    How can i control 20 solenoids using a DAQ card.  is it possible? 
    Also i need to accept around 20 Digital Signals too.
    Could you specify any card that will meet the spec.?
    Thank you in advance.
    Regards
    grugh
    Regards
    Grugh Mike
    Success is Everything !!

    With the equipment that you have, a good choice would be Opto-22 series for the G4 series of the Opto-22. Select the screw terminal base and an ODC module appropriate to your power/voltage requirements. this will use the TTL digital output to control a power solid state relay. If you look to the other signal conditioning products from NI, they will allow you to do the same thing as well.
    Stu McFarlane
    Viewpoint Systems, Inc.

  • How to set a digital output using a switch on the operator interface?

    Hi, is it possible to set a digital output using a switch on the operator interface?
    Thanks,
    Mike

    Unfortunately, no.  It is on our hit list...
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • How to program limit switches as on/off switches using LabView

    I am attempting to write a program in LabView (using an NI USB-6008 controller) which will turn a pump on or off based on the water level in a container.  I am using a floatation device along with limit switches (something like an electronic version of a toilet float switch) which I would like to use to signal the pump to turn on or off.  When the bottom limit switch is triggered, I want the pump to turn on and remain on until the top limit switch is triggered.  When the top switch is triggered, I want the pump to turn off until the bottom switch is triggered.  I can't just use a case structure because the pump would only stay on when the switch was actually being depressed.  After searching around, I've seen some indication that you could potentially use a toggle command, a trigger command, or an event structure to do this, but I'm not sure which (if any) would actually work best or the particulars about how to configure those commands to do what I want.  I am still learning LabView, so simplicity in answering would be appreciated.  Thank you.

    Use a state machine architecture.
    Read both digital lines for the "limit" switches. Depending on the reading, switch on or off the pump (in case a limit was triggered), otherwise, keep the status of the pump.
    As water level shouldnt rise/sink very fast (i hope), a polling time of about 200-500ms sounds reasonable.
    Norbert
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • How do i activate a 3 way valve using lab-view ????

    I am trying to automate a miniature punch press by connecting it to a computer having labview. this is done thro a 3 way valve which is in turn connected to an air compressor.
    I would like to know how i wud be able to control the valve using lab view ?

    Your question reads like;
    "I would like to know how I can drive a car using my hands?"
    Please provide the details on the value (inputs/outputs) and the type of hardware you are using to act on the valve.
    Trying to help!
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • How to find center using software limit switches

    Hi,
    I'm using 3 stepper motors w/ incremental encoders (by Agilent technologies), NI 7344 board and NI MID-7604 power controller.
    I don't have hardware limit switches and I don't have a need for them. I found the software limit switch option under MAX and tried configuring them. I've been testing with LabView's One Axis Find Reference with Status Monitor.vi and I'm having problems.
    Under max my motors are configured as closed loop/absolute position/2000 steps per cycle. I set my software limits to 2000 forward and -2000 reverse. In the vi i'm specified Find Center under search type and the motor just seems to keep turning in clockwise direction and then abruptly stops with a modal error: -70166 saying that the axis tripped on the following error.
    I would greatly appreciate detailed information on what I may be wrongly configuring in MAX and how to do it properly. Thanks in advance.
    -Roman

    Hello Jochen,
    I have a correct setting for my encoder counts and my steps per revolution. I have manually checked the rotation and the encoder outputs 1600. That is the number I have set.
    I'm using the load software limits vi and I'm not having any luck with this. I'm including my vi for your review. Your help is greatly appreciated.
    Roman
    Attachments:
    One-Axis Find Reference with Status Monitor.vi ‏120 KB

  • How do I stop Mavericks from using the Internet, I have a DATA PLAN LIMIT!

    Since installing Mavericks on our 2 iMacs our DATA PLAN is overused. Over 1.5 to 2.5 GB PER DAY! This is unacceptable!
    How do I stop Mavericks from using the Internet, I have a DATA PLAN LIMIT!
    HELP!

    Have you seen this thread…
    https://discussions.apple.com/message/23826437#23826437
    The short story is that the new 'certifcate checking' system could be downloading large amounts of data, you can turn it of as follows…
    clockworkapps wrote:
    Turning off CRL & OCSP checking in the Certificates Preferences in Keychain Access solved the problem.
    You can do as others have done, install Little Snitch & use the Network Monitor to view what is happening, that thread has some good advice. http://www.obdev.at/products/littlesnitch/index.html
    @Topher, Activity Monitor is a bit pants for tracking processes that respawn or just go away (I assume its because it's an on-demand job, have you got a nice article on 'mach services', Linc confused me !? ).
    ocspd seems to do that in my limited testing,
    Little Snitch is the easiest way to monitor & you can get away with the free demo for long enough to test if funds are tight.

  • How to include limit switches into my control loop and how to access them through Labview

    I'm developing a six degrees of freedom machine with servo motors,UMI flex6 and Labview-5.1.I was unable to access the limitswithes.So I would like to know the connections diagram,UMIflex6 board settings and the Vi's to be included in the program.please help me out in solving this problem.

    Hi Kolakanuru,
    Thanks for using our discussion forums. How you connect your limit switches depends on what type of motion board you are using. For example, if you look at the connection diagram for a PCI-7344, you can see that Forward Limit switches connect to pins 39, 45, 51, and 57. These will then pin out directly to the UMI. For the connection diagram for your particular motion control board, you can go to www.ni.com/manuals and pull up the necessary information. In regards to reading this in LabVIEW, the first thing you will want to check out is Measurement and Automation Explorer. In the interactive windows for your board, you can check the limit switch status there- Press your limit switch on and off and make sure that it changes the LED in MAX. Once that i
    s all set, then you can go into LabVIEW and use the "Read Limit Status" VI which you can find in Functions>>All Functions>>NI Measurements>>Motion>>FlexMotion>>Motion I/O palette. Good luck with your application.
    Regards
    Dan
    National Instruments

  • How to count number of vehicles using image processing tools in LabVIEW

    anyone can give me idea that how to do counting of vehicles using image processing tools

    Hello,
    if camera is stationary, first take an image of the background. Then subtract each acquired image from the reference image. Limit the region of interest - build a mask of the area, where you want to detect vehicles. Use only the pixels that are under the mask for further processing. You probably would need to do some morphological operations (for example dilate) to make the detection more noise-free...
    Maybe you could get more reference images (different time of day) and compare the average intensities of the acquired and the reference image to select the best image for subtraction.
    You could then probably just count the numer of objects to get the number of vehicles.
    You can perhaps also use optical flow to track the vehicles, but you would need to compute some features for example strong corners for each vehicle (check good features to track, http://docs.opencv.org/modules/imgproc/doc/feature_detection.html). Or you can use the new mean-shift tracking library (Labview 2013).
    Hope this helps a bit.
    Best regards,
    K
    https://decibel.ni.com/content/blogs/kl3m3n
    "Kudos: Users may give one another Kudos on the forums for posts that they found particularly helpful or insightful."

  • Create Delveries(Partial) for one order using BAPI_OUTB_DELIVERY_CREATE_SLS

    Hi All,
    In ECC Transaction VL10A, for example for one order having 5 QTY, user can process 2 QTY and create delivery, remaining
    with 3 QTY another delivery is possible.
    Same way i am trying to create deliverys using BAPI_OUTB_DELIVERY_CREATE_SLS.
    For Processing delivery ( giving Partial QTY ) i am using another application and that is working. But when i am trying to create
    delivery for same order (which is Parial delivered), it is not allowing to create delivery. giving error.
    No Instance of object type Outbound delivery has been created external reference.
    No Schedule lines due for delivery upto the selected date.
    Is there any other BAPI is there for like this scenario or how can i process this using this BAPI??
    Please give me any help?
    This is code i am using to process BAPI...
    if sy-subrc is INITIAL.
        LOOP AT IT_VBAP INTO WA_VBAP.
          WA_TAB-REF_DOC    = WA_VBAP-VBELN.
          WA_TAB-REF_ITEM   = WA_VBAP-POSNR.
          WA_TAB-DLV_QTY    = WA_VBAP-KWMENG.
          WA_TAB-SALES_UNIT = WA_VBAP-VRKME.
          append WA_TAB to DEL_TAB.
        ENDLOOP.
      ENDIF.
    * Calling BAPI_OUTB_DELIVERY_CREATE_SLS
      CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS'
        EXPORTING
          SHIP_POINT        = lv_ship_point
          DUE_DATE          = lv_ledat
        IMPORTING
          DELIVERY          = del
        TABLES
          SALES_ORDER_ITEMS = del_tab
          RETURN            = bapi_return.
    Thanks,
    Venkat.

    Hi Venkat,
    If you check the Function Module Documentation, there is a note which mentions:
    Order (SALES_ORDER_ITEMS-REF_DOC)
    Unless specified otherwise, the entire order is delivered. This means that it is not necessary to list all the order items. It is sufficient to specify the order number.
    Please try this.
    Regards,
    Pranav.

  • What should i use LIMIT or ROWNUM

    Hi all ,
    In my PL/sql code i am using BULK COLLECT INTO clause.
    In my code i can use any of ROWNUM or LIMIT to limit the fetch , which one i should use to increase the performance.
    Thanks in advance

    This happens before sorting occursIt depends on how you use ROWNUM.
    SQL> select ename from emp;
    ENAME
    SMITH
    ALLEN
    WARD
    JONES
    MARTIN
    BLAKE
    CLARK
    SCOTT
    KING
    TURNER
    ADAMS
    JAMES
    FORD
    MILLER
    14 rows selected.
    SQL> select ename from emp where rownum <= 3 order by ename;
    ENAME
    ALLEN
    SMITH
    WARD
    SQL> select ename from (select ename from emp order by ename) where rownum <= 3;
    ENAME
    ADAMS
    ALLEN
    BLAKEBoth methods would stop cursor fetching after the limit reach - ROWNUM in SQL engine and LIMIT - in PL/SQL.
    In reality you can use LIMIT with FETCH clause only, so the question is how
    you are going to fetch into collection - at one iteration or not:
    SQL> /* One iteration */
    SQL>  declare
      2    cursor x is select ename from emp order by ename;
      3    type y is table of x%rowtype index by pls_integer;
      4    yy y;
      5   begin
      6    open x;
      7    fetch x bulk collect into yy limit 5;
      8    for i in 1..yy.count loop
      9     dbms_output.put_line(yy(i).ename);
    10    end loop;
    11    close x;
    12   end;
    13  /
    ADAMS
    ALLEN
    BLAKE
    CLARK
    FORD
    PL/SQL procedure successfully completed.
    SQL> /* Many iterations - ROWNUM doesn't make sense */
    SQL>  declare
      2    cursor x is select ename from emp order by ename;
      3    type y is table of x%rowtype index by pls_integer;
      4    yy y;
      5   begin
      6    open x;
      7    loop
      8    fetch x bulk collect into yy limit 5;
      9    for i in 1..yy.count loop
    10     dbms_output.put_line(yy(i).ename);
    11    end loop;
    12     exit when x%notfound;
    13    end loop;
    14    close x;
    15   end;
    16  /
    ADAMS
    ALLEN
    BLAKE
    CLARK
    FORD
    JAMES
    JONES
    KING
    MARTIN
    MILLER
    SCOTT
    SMITH
    TURNER
    WARD
    PL/SQL procedure successfully completed.
    SQL> /* ROWNUM with SELECT BULK COLLECT INTO */
    SQL>  declare
      2    type y is table of emp.ename%type index by pls_integer;
      3    yy y;
      4   begin
      5    select ename bulk collect into yy
      6    from (select ename from emp order by ename) where rownum <= 5;
      7    for i in 1..yy.count loop
      8     dbms_output.put_line(yy(i));
      9    end loop;
    10   end;
    11  /
    ADAMS
    ALLEN
    BLAKE
    CLARK
    FORD
    PL/SQL procedure successfully completed.Rgds.

  • How to arrive at Flex warning memory limit

    Hi - Is there any logic to arrive at the warning memory limit? since the memory limit essentially depends on OS, browser, no of browser windows open etc, I want to understand how to arrive at the warning memory limit. We want to display friendly message to the user when the memory exceeds certain threshold (after which response will be sluggish). So we want to know how to arrive at that threshold limit. We are planning to use System.totalMemory to find out the total memory used currently.

    Hi PeterIong,
    Welcome to the community! Since you're new please be sure that you have checked out our Discussion guidelines.
    You could try performing a reset to defaults with the apps.
    Menu > Settings > Apps > Press 3 little squares on top right > select reset app preferences
    I hope it helps.
     - Official Sony Xperia Support Staff
    If you're new to our forums make sure that you have read our Discussion guidelines.
    If you want to get in touch with the local support team for your country please visit our contact page.

  • Hi, how do i share big files using the creative cloud , it says download the crative cloud connection, but then sends me nowhere that says that

    hi, how do i share big files using the creative cloud , it says download the crative cloud connection, but then sends me nowhere that says that

    Hi Jonty, check the file size limit:  Creative Cloud Desktop application FAQ
    You can also check the details around sharing and collaborating files: Sync and share files and folders with collaborators | Adobe Creative Cloud tutorials
    Atul_Saini

  • Switching pneumatic solenoid valves using USB 6008

    Hi, 
    I am a student working on a project in which I need to built a program to control/switch  pneumatic solenoid valves to oporate on a pneumatic cylinder using the USB 6008 I am very new to LabView and DAQ.
    The solenoid has two ports, one for extending the stroke arm of the pneumatic cylinder and the other for collapsing the stroke arm.as the solenoids works off of a 12V supply I have bulilt a darlington pair as a firing circuit for it.
    I have had built different programs but I'm only able to  send a signal to extend the stroke arm  and then manually switch the wiring to collaps the stroke arm. So I have problem building a program that sends a signal to my circuit in such a way that ports of the solenoids go ON and OFF after a certain time.
    I really appreciate your help
    Elmira
    Elmira

    Dear Lynn,
    Thanks for the replay.
    I'm gonna try to best describe my system this time;
    I'm trying to creat pitch motion  using a pneumatic system including an air compressor, a solenoid valve and a cylinder.
    The compressor is made by PowerFist and is capable of storing 5 gallons of air under a rated pressure of 125psi and can deliver 2.5cfm (cubic foot per meter) at 90 psi. The compressed air is sent directly to the solenoid valve. It operates using an electrical motor operating from a standard 110V power outlet.The cylinder has a stoke length of 19.7” and a bore size of 1.6” capable of operating under 130psi.
    The solenoid valve used is  5-way 3-position. This means that there are five different ways the air flows inside the solenoid and the solenoid can set in three positions depending on the movement of the mechanical core inside. When air is transferred into the valve the mechanical core moves directing the air to the appropriate ports of the solenoid. The two outputs of the solenoid are sent directly to the pneumatic cylinder where extension and collapsing movements can be performed. the solenoid works off of a 12V supply so I'm using darlington pair transistor as the firing circuit .
    Please see the attach for the pneumatic diagram.
    Thank you
    Elmira
    Attachments:
    pneumatic diagram.jpg ‏33 KB

  • How to activate a valve with a switch ?

    I am going to work on the automation of a miniature punch press using compressed air and also a pneumatic valve, I was wondering how I would be able to activate this mechanism with a switch?
    Also, what would be the best method to activate this set up ?

    Can you provide more information about the valve itself?  For example, is it expecting an analog signal or a digital signal?  If this is an analog setup, the valve would probably expect a DC value that represents a certain pressure.  You would need a variable voltage source (a DAQ card for example) to provide the appropriate signal to the valve.  A switch would most likely not be necessary.  If the valve is expecting a digital signal, then you will need a DC power supply set to the digital high voltage (5V for example) and then use the switch to regulate the state of signal.
    Brian R.
    District Sales Manager
    Washington DC
    National Instruments

Maybe you are looking for

  • How to have real time data in a lookup or how to update a lookup once it has been created?

    Hi, I have created a lookup from an existing table and am using it to match incoming data. I would like to refresh the lookup once  a day. Is this possible. If yes how do I go about it? Regards Prabha

  • VerifyError on OC4J (9.0.2.1.0)

    We've been getting a smattering of these errors lately, and once they happen, we have to bounce our OC4J process. Sometimes they can return in 5 minutes, sometimes not till the next day. I just found out that the support staff applied a patch shortly

  • EEM Applet Problem With: event syslog pattern ".*" priority 2

    I went to create a EEM applet that would be invoked whenever any syslog message of priority 0-2 was invoked. I figured  the following event statement would work        event syslog pattern ".*" priority 2 I never really used the priority optional arg

  • FUNCTION MODULE RSDRC_INFOPROV_READ, HOW TO USE IT

    HI ALL,            i have to use this function module RSDRC_INFOPROV_READ to access data from a remote cube, can anybody tell me how to use this function module properly. i am using a remote cube ARC_DP  which is developed by our BIW guys, i am passi

  • Iphoto and external drives

    what is the best way to split my iphoto library and save some of it to an external harddrive?  Will Iphoto LIbary Manager handle that for me, meaning allowing me to offload some of my photos from the iPhoto library to the external drive and then brin