A general buffer block for Labview?

Has anybody made a function which stores acquired values and returns the contents when needed. In other words I need a buffer which is as simple and fast as possible and does not waste resources.
Of course, I can make a VI which has an uninitialized shift register and call it in the loop but it is not efficient enough in some demanding situations. And also, this kind of buffer will slow down the execution of the loop because the buffer increases all the time. (Clearing the buffer is possible by writing the contents to the file but it is a little bit complicated)
In many of my applications where the acquired data is needed to be plotted I have used waveform chart which has a history for the data. I have noticed th
at history feature can be effectively used as an buffer, it does not slow the execution like shift registers and you don't need to build any buffers by yourself.
In some cases I don't need to display the data but I just want to buffer it, therefore it could be very useful to have a general buffer block in the Labview which does not have any kind of appearance in the front panel, just a node in the block diagram.(of course one way is to use the history of the waveform chart and hide the chart)
I have been programming with LV over two years daily but making of efficient buffers has always been a question to me. I have noticed that other colleagues have same kind of problems.
Maybe this kind of buffer block could be made by c-language code and called it by the LV, but calling functions from dlls take also some time overhead which can be too much.

Hi Wirer,
see attached file.
Mike
Wirer wrote:
> Has anybody made a function which stores acquired values and returns
> the contents when needed. In other words I need a buffer which is as
> simple and fast as possible and does not waste resources.
>
> Of course, I can make a VI which has an uninitialized shift register
> and call it in the loop but it is not efficient enough in some
> demanding situations. And also, this kind of buffer will slow down the
> execution of the loop because the buffer increases all the time.
> (Clearing the buffer is possible by writing the contents to the file
> but it is a little bit complicated)
>
> In many of my applications where the acquired data is needed to be
> plotted I have used waveform chart which has a history for
the data. I
> have noticed that history feature can be effectively used as an
> buffer, it does not slow the execution like shift registers and you
> don't need to build any buffers by yourself.
>
> In some cases I don't need to display the data but I just want to
> buffer it, therefore it could be very useful to have a general buffer
> block in the Labview which does not have any kind of appearance in the
> front panel, just a node in the block diagram.(of course one way is to
> use the history of the waveform chart and hide the chart)
>
> I have been programming with LV over two years daily but making of
> efficient buffers has always been a question to me. I have noticed
> that other colleagues have same kind of problems.
>
> Maybe this kind of buffer block could be made by c-language code and
> called it by the LV, but calling functions from dlls take also some
> time overhead which can be too much.
Attachments:
FIFO_WO_LocalVar2_6i.vi ‏48 KB

Similar Messages

  • Decimate and interpolate blocks for labview dsp module

    Somebody have developped decimate and interpolate blocks for labview DSP ( sppedy and DSK6713)? could send me for a teaching laboratory ?

    Hi aif,
    The following link is excellent for using LabVIEW DSP with the NI- SPEEDY or the TI's supported DSP's
    http://cnx.org/content/search?target=&words=labview+dsp&allterms=weakAND&search%3Amethod=Go
    You can choose the lab that is the closest to your application.
    I hope that helped.
    Cheers,
    KostasB
    Applications Engineer
    National Instruments UK

  • Circular Buffer implementa​tion for LabVIEW 8.5

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

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

  • Can LabView 2013 be used to develop blocks for Lego LabView Education EV3?

    I would like to interface some custom sensors to the Lego EV3 brick. Can LabView 2013 be used to build Blocks for Lego LabView EV3 software?

    Please note Mac OSX users using LabView 2013 Student Edition -- you CAN use the new EV3 modules but you must install f1 patch first. 
    I installed NI LabVIEW 2013 LEGO MINDSTORMS NXT Module f1 Patch.
    Then 
    NI LabVIEW 2013 Module for LEGO MINDSTORMS f2 Patch
    Now I can program for LEGO EV3, download to EV3 and it works all from the LV 2013 Student Edition (UK).
    Dr. Michael Vallance
    Future University, Japan.
    Homepage http://www.mvallance.net
    International Virtual Environments Research Group (iVERG) http://www.iverg.com

  • Aeroflex 2975 driver for LabVIEW 8.0

    Is there a way to convert the Aeroflex IFR 2975 driver for LabVIEW CVI for use in LabVIEW 8.0?  OR, is there a driver already developed for this? 

    Frank,
     I am using the LV 7.1.1 version of this CVI driver in an application I wrote. We should be able to recompile this for 8.0. Basically as I explained with no handshaking the instrument falls out of sync with the controlling computer. Basically the only GPIB command that is supported in that driver is *IDN?. So what I have done is after other  calls I use this command and compare the return string to see if it is what I expected. If not I use a popup telling the operator that a GPIB error occurred and to reboot the IFR to clear the bus. I also have instructed the operator to run NI Spy in the background...this seems to cut down the occurance of these errors. Another way to clear the bus that is faster and usually works is to stop the application, and read the bus using MAX until you see a timeout when there is no more data available( usually twice). Then rerun the application. Depending on the application this might be a work around though not an elegant one.
     Since the driver was converted from a CVI driver it uses the call library function node. This does not allow us to control the timing between the Write functions and Read functions. If you are doing something that is relatively simple you could use the TCL command set and VISA to write a driver. Just put a wait function between the Write and Read function and experiment with the timing until it looks like it won't fail. I've considered doing this myself but have been hoping that they will actually make the instrument 488.2 compliant. I am assuming that the actual error is that the data buffer is being read by the controller before the instrument is finished writing to it. The other scenario is that the data buffer might not actually be getting flushed every time it is read. I'm hoping my first assumption is correct or they have even more problems with the instrument.
     In January of '05' they actually enabled the following commands *SRE xx, *SRE? and *STB?. I recently wrote a simple vi to see what happens to the Status Byte after using IDN? command and reading the data buffer. The MAV bit begins logic low, then goes hi when the data is available. After reading the data (i.e. "IFR Systems, 2975.....) I again query the Status Byte. The MAV bit is still in a logic hi state. I sent screenshots of the front panel and block diagram as well as the .spy files to them. All was heavily notated and they said they were going to look at it. If anyone is interested in this I can post this code as well.
    Using LabVIEW 2010SP1 and TestStand 4.5

  • Reg: vacancy for LabVIEW developer in Bangalore, Chennai and Delhi with (1-6) years experience

    Recruitment Process for LABVIEW: Tele Interview in case of outstation candidates. Bangalore candidates will have to first come for a Written Test (Technical + Analytical), 1-2 rounds of direct technical interview.
    Degree/Branches:  B.E / B.Tech in Electronics / EEE / E&C / E& Instrumentation .
    ROLES AND RESPONSIBILTIES OF ASSOCIATE ENGINEER-SEG:
    Development
    1. Responsible for developing software for the project/module allotted to you with smooth coordination and smooth handing over of the work executed by one to another member in case of change of projects.
    2. Expected to work on multiple projects, project dead line, adhere to coding guidelines and update your progress on the project on a weekly basis to your immediate supervisor.
    3. Developing the software strictly as per the requirement specification, design and Bug free.
    4. Responsible for building a trouble-free system to the satisfaction of the customer.
    Installation
    1. Responsible for installation of hardware and software at customer site for coordinating with the vendor and Manager – Sourcing to see that works done by the vendor is as per requirement specification
    Customer Support
    1. Responsible for providing support to the customer on the system supplied by the Captronic Systems in the past as well as present.
    2. Attends to the support case within 48hrs(local) / 96hrs(outstation ) / 96hrs(out of warranty) of reporting and collecting the Support Closure Report from the customer and submit it to the SBU-HEAD
    3. Informs Support executive with Support Status, Action Taken and Support Closed On
    Training
    1. Responsible for providing training to customer on the systems supplied by Captronic Systems.
    2. Responsible for in-house training to newly recruited engineers.
    Testing
    1. Responsible for testing code developed by you, by another developer and testing entire system at the customer site.  
    2. Responsible for testing hardware supplied by Captronic System and log the test report on the hardware test register.
    Sales Support
    1. Expected to travel with sales team to provide support to sales-team in proposal making at short notice and perform flawless pre-sales system and requirement study.
    General
    1. Expected to take part in technical sessions and keep yourself abreast with the recent product released and technical advancement made
    2. Expected to become domain expert is at least one field and to constantly improve coding style and knowledge.
    Quality
    Responsible for implementing the project methodology and quality policy of the company for all activities under your purview
     Interested candidates may forward your resumes witheir current CTC and notice period to [email protected] . Salary is never the Constraint.

    SANDU SUNITHA
    D/o.S. Venkateshwarlu,
    H.No:11/57, Kothapeta,
    Maruthi Nagar,Dhone,
    Kurnool (Dt.),
    Andhra Pradesh.
    E-Mail:[email protected]
    Mobile : 91-9963586292/08884822259
    Date: 09/ 05/ 2013
    Respected Sir/Madam,
    I have done my masters in  Control Systems Engineering in Electrical
    branch from Malla Reddy College of  Engineering. I am a well organized
    person, with good knowledge about the subject, able to do
    multitasking, able to work within a team and have excellent
    communication skills. As a good Engineer and excellent team player I
    can handle the responsibilities and challenges of the post of an good
    engineer to its fullest.
    I have worked for 6 Months as Project Trainee in CSR INDIA PVT LTD. My
    responsibilities in that institute include Testing, Reporting and
    Debugging, Updating the bugs as a trainee fresher. I was a part of the
    team that designed MERCURY TESTING TOOL, world's Best Automation tool
    today. I tested the model and executed the changes.And i had worked as
    Project Engineer in FUSION ELECTRONICS on Wonder ware SCADA. Presently
    working as Project Scientist in NAL (National Aerospace Laborateries)
    under Research and Development of IVHM(INTEGRATED VEHICLE HEALTH
    MANAGEMENT) Project on MATLAB/SIMULINK ,Labview ,Wireless Sensor
    Networks,WatchDog and Testing.
    Here is the list of the documents enclosed with this cover letter.
     1. Resume
    I hope that you find these of worth. I assure you that if selected; I
    will not let you down and would prove to be an asset for your reputed
    industry.
    Sincerely yours,
    SANDU SUNITHA
    Attachments:
    SANDU_SUNITHA(29_Apr_2013).doc ‏176 KB

  • Integral blocks from labview 7.1 where is in labview 2010

    Hi I must integrate sampled signal. In labview 7.1 is good checked blocks for it. But where is equivalent in labview 2010?? I cant find it.
    Solved!
    Go to Solution.
    Attachments:
    calkowanie.png ‏2 KB

    http://zone.ni.com/reference/en-XX/help/371361G-01/gmath/integral_xt/
    Did you try the search capability for the functions palette?
    Attachments:
    functions search.png ‏17 KB

  • Set order block for new business partner

    Hi experts,
    I have the requirement to set the order block for a business partner (based on some attributes) at the moment when it will be created or changed.
    I tried to use the BAdI BUPA_GENERAL_UPDATE where I am using the FM CRM_BUPA_FRG0050_READ/ CRM_BUPA_FRG0050_GET_DETAIL to retrieve the already existing status data and the FM CRM_BUPA_FRG0050_CREATE/ CRM_BUPA_FRG0050_CHANGE to add or change this data.
    In the SAPGUI at least the update scenario (CRM_BUPA_FRG0050_CHANGE) is working.
    In the WebUI application none of the both is working: In the create scenario the application is even dumping (SAPSQL_ARRAY_INSERT_DUPREC) but this dump happens in an other implementation of this BAdI!
    In the BP update scenario nothing happens though the UI will be refreshed by some coding like
    lr_bol_core = cl_crm_bol_core=>get_instance( ).
    lr_bol_core->modify( ).
    Is there something wrong or missing or is there a better BAdI to achieve this requirement?
    Thanks for any help!
    Regards,
    Wolfhard
    PS: I found another post which covers exactly my requirements but unfortunately without a solution...
    [Re: Update of BP General Data during creation of BP]

    Hi Bruce,
    I propose to select the right value programmatically and then hide the original combo box (use the FromPane / ToPane properties - better don't disable it or make it invisble) and display a disabled EditText item which displays the pricelist which should be applied to new customers when the Form is switched to - or launched in "Add" mode.
    When the form is switched to other modes than "Add" reactivate the original ComboBox...
    HTH,
    Frank

  • Standard report to view materials blocked for MRP

    Hello,
    Is there a standard report by which it is possible to get a list of materials that are blocked for MRP? I.e. MM02 -> tab: MRP1 -> General Data -> Field: Plant-sp.matl status, Value: '03' - 'Blocked for MRP'? Help is appreciated.
    Regards,

    I think there is no report. Best way is to use table MARC. from SE16 or via a query.

  • Downpayment - invoice blocked for FI

    Hello SD experts,
    I have a problem in downpayment process when the amount of customer's advance payment is bigger than amount on final invoice. For example: customer paid 25.000 in advance, I posted downpayment and then final invoice is issued only for 23.000. So, we can say we should return to customer 2.000.
    Here is how we enter documents in SAP:
    1. Sales order for downpayment request is created (with billing plan). We put one item (for example service) with price 25.000.
    2. Downpayment request (invoice) is created.
    3. We post downpayment to FI (25.000).
    4. We create final invoice
    On final invoice additional item is automatically added by SAP. Additional item is downpayment settlement. By default both items get same price (value), that is 25.000.
    As I said, I want to charge customer only 23.000. So, I change the amount for first item from 25.000 to 23.000. As soon as I do this and save the document, it becomes blocked and accounting document is not created.
    It can't be released to FI because I get notice about difference between values of two items on invoice.
    My question is: Do we have the process correctly set up ? Are we entering documents in the right way ?
    Another thing – if I look at the printout, I think is ok. I have a line that says that amount to be paid is -2.000 (cusotmer paid more).
    In other cases, if received advance is same or smaller then the final amount, there aren't any problems with blocked invoices.
    Thank you for help,
    RJ

    HI CB,
    While posting a invoice by MIRO, if you come across the following message as block for payment than it is because of Three way matching. You can see three way matching status in purchase order status tab in transaction code ME23N and in purchase order history in item detail.
    Generally invoice is blocked for payment because of two issues:-
    u2022 Price difference: - Price in invoice is higher than purchase order (above tolerance limit).
    u2022 Quantity difference: - Quantity in MIRO is higher than MIGO (or good receipt).
    Once invoice is blocked for payment you need to release it for payment via transaction code MRBR. For next time while posting an invoice through MIRO you should post invoice within tolerance limit.
    You can display and change tolerance limit for invoice verification in customizing with help of transaction code OMR6.
    Regards,
    Anand

  • Autoscaling Application block for Azure worker role console app not working. Get error as The HTTP request was forbidden with client authentication

    I have written a console application to test the WASABi(AutoScaling Application Block) for my worker role running in azure. The worker role processes the messages in the queue and I want to scale-up based on the queue length. I have configured and set the
    constraints and reactive rules properly. I get the following error when I run this application.
    [BEGIN DATA]{}
        DateTime=2013-12-11T21:30:02.5731267Z
    Autoscaling General Verbose: 1002 : Rule match.
    [BEGIN DATA]{"EvaluationId":"4f9f7cb0-fc0d-4276-826f-b6a5f3ea6801","MatchingRules":[{"RuleName":"default","RuleDescription":"The default constraint rule","Targets":["AutoscalingWebRole","AutoscalingWorkerRole"]},{"RuleName":"ScaleUpOnHighWebRole","RuleDescription":"Scale
    up the web role","Targets":[]},{"RuleName":"ScaleDownOnLowWebRole","RuleDescription":"Scale down the web role","Targets":[]},{"RuleName":"ScaleUpOnHighWorkerRole","RuleDescription":"Scale
    up the worker role","Targets":[]},{"RuleName":"ScaleDownOnLowWorkerRole","RuleDescription":"Scale down the worker role","Targets":[]},{"RuleName":"ScaleUpOnQueueMessages","RuleDescription":"Scale
    up the web role","Targets":[]},{"RuleName":"ScaleDownOnQueueMessages","RuleDescription":"Scale down the web role","Targets":[]}]}
        DateTime=2013-12-11T21:31:03.7516260Z
    Autoscaling General Warning: 1004 : Undefined target.
    [BEGIN DATA]{"EvaluationId":"4f9f7cb0-fc0d-4276-826f-b6a5f3ea6801","TargetName":"AutoscalingWebRole"}
        DateTime=2013-12-11T21:31:03.7516260Z
    Autoscaling Updates Verbose: 3001 : The current deployment configuration for a hosted service is about to be checked to determine if a change is required (for role scaling or changes to settings).
    [BEGIN DATA]{"EvaluationId":"4f9f7cb0-fc0d-4276-826f-b6a5f3ea6801","HostedServiceDetails":{"Subscription":"psicloud","HostedService":"rmsazure","DeploymentSlot":"Staging"},"ScaleRequests":{"AutoscalingWorkerRole":{"Min":1,"Max":2,"AbsoluteDelta":0,"RelativeDelta":0,"MatchingRules":"default"}},"SettingChangeRequests":{}}
        DateTime=2013-12-11T21:31:03.7516260Z
    Autoscaling Updates Error: 3010 : Microsoft.Practices.EnterpriseLibrary.WindowsAzure.Autoscaling.ServiceManagement.ServiceManagementClientException: The service configuration could not be retrieved from Windows Azure for hosted service with DNS prefix 'rmsazure'
    in subscription id 'af1e96ad-43aa-4d05-b3f1-0c9d752e6cbb' and deployment slot 'Staging'. ---> System.ServiceModel.Security.MessageSecurityException: The HTTP request was forbidden with client authentication scheme 'Anonymous'. ---> System.Net.WebException:
    The remote server returned an error: (403) Forbidden.
       at System.Net.HttpWebRequest.GetResponse()
       at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
       --- End of inner exception stack trace ---
    Server stack trace: 
       at System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest request, HttpWebResponse response, WebException responseException, HttpChannelFactory`1 factory)
       at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 factory, WebException responseException, ChannelBinding channelBinding)
       at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
       at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
       at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
       at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
       at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
    If anyone know why I am getting this anonymous access violation error. My webrole is secured site but worker role not.
    I appreciate any help.
    Thanks,
    ravi
      

    Hello,
    >>: The service configuration could not be retrieved from Windows Azure for hosted service with DNS prefix 'rmsazure' in subscription id **************
    Base on error message, I guess your azure service didn't get your certificate and other instances didn't have certificate to auto scale. Please check your upload the certificate on your portal management. Also, you could refer to same thread via link(
    http://stackoverflow.com/questions/12843401/azure-autoscaling-block-cannot-find-certificate ).
    Hope it helps.
    Any question or result, please let me know.
    Thanks
    Regards,
    Will 
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Account  1501650100   INDD  is blocked for posting

    Hi Experts
    we are parking the asset document through ZMIR7 , at the time of parking the following error message displaying .
    Account 1501650100  INDD is blocked for posting
    The following are the details .
    At the time of PO Creating  foreign currency 45.66, GRN 47.65, at the time of parking  49.00 , and one more impartant thing is
      1501650100 GL Account blocked and instead of this we created   1501651000. In FS00 we blocked the GL Account   1501650100 . again it is picking the same instead of this  1501651000 GLaccount
    Edited by: vijayfoxconn on Nov 14, 2011 9:51 AM

    Hi Ashish
    IN OBYC
    For KDM (Materials management exch.rate diffs) We assign the following 
    Valuation Modifier  General Modifier  Valuation Class                  Debit                         Credit
    1002                        ERN                              -                         5503660100               5503660100
    (5503660100 : Financial Expense-Exchange Loss-realize, Instead of this we have created newly 5503661000 Financial Expense-Exchange Loss-realize).
    the above 2 GL Accounts with out tick mark ( Post automatically only )

  • Sap fixed deposits - Blocked for posting

    Hi,
    Please suggest me how to resolve this
    When  i run T Code TMFM. It shows the following error. The error is Blocked for Posting under Posting Status
    with regards
    raju

    Hello Raju,
    Please check flow type whether its ticked for posting or not?
    Also, Please   check Specify Update Types for Cash Management  whether check box for cash management is ticked or not?
    Path: IN TRM- Transaction Manager- General Settings- Link to Cash Management -check Specify Update Types for Cash Management.
    Hope this will be helpful
    Regards,
    Jain

  • ActiveX wrapper for Labview

    Hello!
    My name is Daniel. I'm from Argentina and I work in Tracnova S.A.
    Tracnova is the Distributors of NI in Argentina.
    I am having an issue with ActiveX development for wrapper an dll driver.
    I have to read strain gage aquisition data from an USB device of MANTRACOURT (http://www.mantracourt.co.uk/products/wireless-telemetry).
    The manufacturer provide an dll driver. It's shipped with example for VB6 that I have been testing and it works fine.
    BUT I HAVE TO USE IT IN LABVIEW.
    My first problem is that I have to provide an CALLBACK function pointer as parameter to "INITIALISE" function of the dll. Here is an excerpt from the
    example that is shipped (Excerpt from a form module):
    Private Sub Form_Load()
        'we will only handle base station addresses of 1
        iBaseAddress = 1
        Caption = Caption & " [DLL v" & VERSION & "]"
        CLOSEPORT
        'set the callback so we can receive data provider packets
        Init AddressOf CallBack  ''''''----------------->>>>>>>>>>>>>>>> CALLBACK function pointer as parameter to "INITIALISE" (It defined as Init)
        'Open USB interface
        ok = OPENUSB
        If ok <> 0 Then
            ShowMessage "Cannot open USB interface!" & vbNewLine
        End If
    End Sub
    "CallBack" function is contained within .bas. Because You can only retrieve the address to a function or sub (public or private) contained within a
    Standard VB Module.  There's no way around this.
    Here is an excerpt from the example that is shipped (excerpt from a Standard Module):
    Sub CallBack(ByRef StringPtr As Long, Length As Long)
        Dim PBMsg As String, rc As Long, pEnd As Long
        Dim p(128) As Byte
        Dim cH As Byte
        Dim tID As Long
        Dim C As Integer
        On Error Resume Next
        CopyMemory p(0), ByVal StringPtr, Length
        PBMsg = Left$(StrConv(p(), vbUnicode), Length)
        'strip off the base station wrapper
        PBMsg = Mid$(PBMsg, 4, Len(PBMsg) - 5)
        If PBMsg <> "" Then
            Debug.Print CVStr2HEX(PBMsg)
            Select Case Asc(Mid$(PBMsg, 1, 1)) And &H1F
            Case PT_DATA_PROVIDER
                'pass data to the main form if we are not closing
                If Not Closing Then MainFrm.ShowMessage "DATA_PROVIDER Data Tag=" & Replace$(CVStr2HEX(Mid$(PBMsg, 2, 2)), " ", "") & " Data=" & Decode
    (Mid$(PBMsg, 5, Len(PBMsg) - 6)) & vbNewLine
            End Select
        End If
    End Sub
    Then, when an data packet arrived, the driver call to "CallBack" function instead, so I can process it and do what I need.
    But I can't pass pointer to function IN LABVIEW WITH "LOAD LIBRARY FUNCTION". So I did an ActiveX in VB6 for wrapping the dll of the driver. I attached the
    files tha I did. The ActiveX sends an event to labVIEW everytime that a data packet arrived. I trigger an event inside the CallBack function that it's
    not working, but if outside (look inside Iniciar() function where I wrote "This is the first event", the event trigger works.)
    Why is not THE CALLBACK FUNCTION TRIGGERING THE EVENT INSIDE THE LABVIEW??
    I also tried to make a Win32 DLL with C + + using PostLVUserEvent, but neither worked for me. I can send the code in C + + if you want to review.
    Thank you for your consideration. I look forward to hearing from you.
    Best Regards
    Daniel Lopez
    Design Engineer
    TRACNOVA SA
    www.tracnova.com
    Attachments:
    ActiveXPropia.zip ‏459 KB

    Thanks a lot nyc for your kind reply.
    Yes, you are right. They have COM driver, but the event does not fire in labview. Also, this driver does not implement a COM circular buffer which means that if you delay reading and processing the data, these are lost because they are rewritten. I have been asking for support to MANTRACOURT, but after several attempts, they told me they do not provide support for labview only for VB, VBA excel, and some other more, not even C + +     
    National I miss to much. Nice technical support !
    Please help, I need to fix this issue
    Thanks a lot!
    Daniel

  • Invoice Blocked for Payment in MIRO tcode

    Dear All,
    After posting the invoice in MIRO, i am getting the message as Invoice posted, Blocked for payment. Where we need to do the settings for this ? In this case again i need to release this doc in MRBR, if i don't want this means, what i need to change ?
    regds,
    CB

    HI CB,
    While posting a invoice by MIRO, if you come across the following message as block for payment than it is because of Three way matching. You can see three way matching status in purchase order status tab in transaction code ME23N and in purchase order history in item detail.
    Generally invoice is blocked for payment because of two issues:-
    u2022 Price difference: - Price in invoice is higher than purchase order (above tolerance limit).
    u2022 Quantity difference: - Quantity in MIRO is higher than MIGO (or good receipt).
    Once invoice is blocked for payment you need to release it for payment via transaction code MRBR. For next time while posting an invoice through MIRO you should post invoice within tolerance limit.
    You can display and change tolerance limit for invoice verification in customizing with help of transaction code OMR6.
    Regards,
    Anand

Maybe you are looking for

  • I have two Apple ID.  How do I combine them?

    I have two Apple ID.  How do I combine them?  I beleive that I have songs that I have gotten under each.  I want to combine them into one.

  • App that works "damaged or incomplete"

    I have an application (it's a little domain specific, but for those that wish to know it is called "Olex2"). I download the DMG with the application .app package on it. I can actually run the application from the DMG successfully, but the second I in

  • PO related query

    Hi, We are using the function module BAPI_PO_CREATE for creating PO's,after creating PO it is sent to the vendor through mail or fax and the status is green. Our requirement is that the PO created should not be sent immediately to the vendor, the sta

  • How to put dynamic search help in web dynpro ABAP.

    Hi, I have a table element with two columns in my web dynpro ABAP.Both the columns are F4 helps. Based on the value of the first column,the F4 help of second column must change dynamically.Kindly tell me how to do this. Thanks & Regards, Raji.

  • Ship-to-party to corresponding sold-to-party

    hi all, i need to know how to find out the ship-to-party for the corresponding sold-to-party, what is table used to determine this relation . thanks, ravi.s