Waveform Chart NOT allowed inside array of clusters; Dynamic plot stacking?

The NI Developer Zone has a VI that does something I want - dynamically
stack plots in a useful way. Unfortunately, I would like those plots
to actually be Waveform Charts and NOT Waveform Graphs (as the
documentation specifies but LIES!)
A little further experimentation shows you that it is seemingly not
possible to make an array of clusters that contain Waveform Charts!
Alternatively, are there any other ways to smartly show many signals at
once? I have found multiplots to be frustrating as it is difficult to
assign the number of plots once you start the VI (hence the existence
of Dynamic Stack Plots).
DynamicStackPlots here:

If you have LabVIEW 8.0, have a look at the new "Mixed Signal Graph"
(see e.g.: http://zone.ni.com/devzone/conceptd.nsf/webmain/C6B79FA61959D9D68625706E006F7462 )
LabVIEW Champion . Do more with less code and in less time .

Similar Messages

  • Programmatically create array from common cluster items inside array of clusters

    I have seen many questions and responses on dealing with arrays of clusters, but none that discuss quite what I am looking for. I am trying to programmatically create an array from common cluster items inside array of clusters. I have a working solution but looking for a cleaner approach.  I have an array of clusters representing channels of data.  Each cluster contains a mixture of control data types, i.e.. names, types, range, values, units, etc. The entire cluster is a typedef made up of other typedefs such as the type, range and units and native controls like numeric and boolean. One array is a “block” or module. One cluster is a channel of data. I wrote a small vi to extract all the data with the same units and “pipe” them into another array so that I can process all the data from all the channels of the same units together.  It consists of a loop to iterate through the array, in which there is an unbundle by name and a case structure with a case for each unit.  Within a specific case, there is a build array for that unit and all the other non-relevant shift registers pass through.  As you can see from the attached snapshots, the effort to add an additional unit grows as each non-relevant case must be wired through.  It is important to note that there is no default case.  My question:  Is there a cleaner, more efficient and elegant way to do this?
    Thanks in advance!
    Go to Solution.
    NI_Chan units to array_1.png ‏35 KB
    NI_Chan units to array_2.png ‏50 KB

    nathand wrote:
    Your comments made me curious, so I put together a quick test. Maybe there's an error in the code (below as a snippet, and attached as a VI) or maybe it's been fixed in LabVIEW 2013, but I'm consistently getting faster times from the IPE (2-3 ms versus 5-6ms for unbundle/index). See if you get the same results. For fun I flipped the order of the test and got the same results (this is why the snippet and the VI execute the tests in opposite order).
    This seems like a poster child for using the IPES!  We can look at the index array + replace subset and recognize that it is in place, but the compiler is not so clever (yet!).  The bundle/unbundle is a well-known "magic pattern" so it should be roughly equivalent to the IPES, with a tiny penalty due to overhead.
    Replace only the array operation with an IPES and leave the bundle/unbundle alone and I wager the times will be roughly the same as using the nested IPES.  Maybe even a slight lean toward the magic pattern now if I recall correctly.
    If you instantly recognize all combinations which the compiler will optimize and not optimize, or you want to exhaustively benchmark all of your code then pick and choose between the two to avoid the slight overhead.  Otherwise I think the IPES looks better, at best works MUCH better, and at worst works ever-so-slightly worse.  And as a not-so-gentle reminder to all:  if you really care about performance at this level of detail: TURN OFF DEBUGGING!

  • NiUSRP Configure Signal.vi not allowed inside loops?

    It seems that niUSRP Configure Signal.vi is not allowed in loops. After stopping the VI I get this message:
    niUSRP Configure Signal.vi<ERR>This attribute cannot be modified while the driver is in the Running state.
    Is there a way to change the carrier frequency while the driver is running? Using the niUSRP Property Node.vi to set a new frequency within a loop is also not working. My goal is to create frequency hopping with the USRP.
    Go to Solution.
    Simple Transmitter_inside loop.vi ‏20 KB
    Simple Transmitter_outside loop.vi ‏19 KB

    Hi YYY,
    Thanks for including your VI in the post.  I was able to download it and replicate what you are seeing.  There are a few things that need to be changed in order to get this working.
    First, you do not need to have the niUSRP Configure Signal.vi function inside of your while loop.  You can put this outside the loop and use a property node to change the frequency with a property node.  You have the property node in your code already, you just need to change it to write instead of read.  There is an example that will do exactly this if you just want to use that instead of modifying your code too.  It is called niUSRP EX Tx Continuous Async Reconfig on the Fly.vi.
    Next, the reason that you are not able to go at the 1MS/s IQ rate with the code you have is because you are trying to read and write the frequency during every loop iteration.  Due to the time to query the hardware, set the frequency, and read the frequency back, the max IQ rate I was able to get was around 500kS/s.  This is due to a combination of hardware and driver limitations.  Even with the example listed above that uses the property node instead of the configuration function, if I put in an indicator to look at the carrier frequency I cannot use a faster IQ rate.
    Try changing to the property node and removing this indicator, you should have a lot more success.  Let me know if that doesn't work for you or if you have any other questions, I'd be happy to help.
    Sarah Y
    SDR Product Manager
    National Instruments | Ettus Research

  • Subqueries not allowed inside Cursors?

    I get the following error when attempting to use a subquery nested within a Cursor.
    ORA-03001: unimplemented feature ORA-01733: virtual column not allowed here
    Here's an example of my query:
    select test1, cursor(select test2
    from table2
    where test2 in(select test3 from table3))
    as subtests
    from table1
    Is this just not possible?

    This works for me in 8.1.5 or 8.1.6:
    select deptno, cursor( select dname
    from dept
    where dname in (
    select dname from dept)) as foo
    from dept

  • How do you create an array of clusters dynamically

    I have created a cluster of 3 elements (string, I32, I32) dynamically then I want to create a 1D array of clusters dynamcally as well, but I am having trouble creating the array of clusters .  If anybody has any suggestions please help.  I will really appreciate it, Thank You

    You are not building your array correctly.  What you are doing is taking a single element array of data you just read and replacing it with an empty data set.
    Look at the following ways of doing this.  The one in the middle is only available in later versions of LV, but is supposed to handle memory more effeciently.  But, both the top and middle basically do the same; I preallocate memory for the rows and columns, then replaces the element of the array with the current row and columns data.  The output of the loop with have a 2-D array of all the data.
    The bottom example does create an empty array before the loop runs and uses the indexing feature of the for loop to build the array for you.  All gve you the same result as far as data in your array is concerned.
    Message Edited by Matthew Kelton on 10-05-2007 02:56 PM
    Cluster Array.png ‏13 KB

  • Charts not displayed correctly in OBIEE clustered environment

    Our environment setup is as follows:-
    1) Two OBI BI servers clustered
    2) Two weblogic servers hosting the presentation services in a cluster
    3) Two apache servers loadbalanced and redirecting requests to these weblogic cluster.
    The OBIEE reports run fine in a standalone instance however in a cluster a few charts go missing on the dashboards.
    Can someone please help.

    I had  a similar issue and you might find the info  below useful for your charts problem . It has to do with the way jQuery mobile loads pages into the DOM. You have to add attributes to the links in order to force the page to be reloaded from the sever instead being fetched using Ajax, or using the existing copy already in the DOM. 
    Try Changing the list template to “button control group”. It contains the rel=”external” attribute which should hopefully force the page to reload.
    If you don’t want to change the template then you need to add data-rel=”external”  or data-ajax="false" to the link to force the page to be reloaded.
    For more details on the attributes to force a page reload see  JQuery Mobile pagecontainer widget. The Ajax page navigation section contains more details.
    also see  ajaxEnabled configurable option            

  • Fpga wavefrom chart not working

    Compact rio using fpga. 9014/9114
    In a fpga interface project if I create array and then connect it directly to a waveform chart it says the array needs to be of a fixed size.
    However I have tested using a constant arrary of fixed size, initialise arrary to fixed size...etc but it always comes up with this error when trying to run the VI,
    I have autopreallocate arrays and strings as indicated in the help file but still it comes up with the error.
    Labview 11, sp1 (completely up to date)
    I am running as "execute on development computer"
    The arrary is of type fixed point 27bit integer(output from fft)
    Go to Solution.

    First of all, in your code you are using a Waveform Graph, not a Waveform Chart as what you wrote in your posts before!
    Then DBL is currently a not supported datatype at the LV FPGA platform. There is also a strange issue with Graphs and Charts regarding their type propagation to the FXP datatype.
    So the issue I found is that if you place a Waveform Graph or Chart from the palette, it's DBL. If you then connect a FXP Array you get the error you see since the Graph or Chart does not propagate to the FXP datatype. If you change the datatype of the Array to e.g. I32, the Graphs or Charts datatype changes to I32. If you change the I32 back to FXP then, everything works as it should.
    This means for you, first create an I32 Array and connecti it to the Graph or Chart to get rid of the Fixed Size error. Then change the Array to FXP.
    I need to do some more investigation regarding this issue and will post back.

  • Waveform chart update problem

    I have a problem with the waveform chart not updating the data incoming to it.
    How can i refresh it so it updates it every time it enters the loop?
    The data ingoing to the array and out of the array is checked to be correct and valid.
    Why doesnt it refresh it?
    Yours truly,
    Tomi Nurminen

    problem solved.
    Im a retard

  • The type initializer for 'System.Data.SqlClient.SqlConnection' threw an exception. InnerException: Requested registry access is not allowed.

    I have read some of the other posts for people that got this error, but none seem to apply to me.
    My program has been working for weeks.  I made some minor changes, and started getting the error (full details below).
    I did a TFS "undo pending changes" and still getting the same error, even after logging off.  The one odd thing is that I did change my Windows password this week. The connection string is using a SQL user id and password that has no issues.
    I'm an Admin own my own box (running WIn XP SP3).  I even tried "Run as Admin" on Visual Studio.
    I'm doing a Debug-Start, running a Console-Test-Program that calls a WCF service, which on local machine is hosted by "ASP.NET Development Server".
    We have two other developers, one has the same problem, one does not.  In theory, we have all done "get latest" and are running the same code.
    The SQL Connection is related to a trace database; we are using this library http://ukadcdiagnostics.codeplex.com which has worked fine for months.
    When I do "Start Run" in Visual Studio, I get this error:
    {"The type initializer for 'System.Data.SqlClient.SqlConnection' threw an exception. "}
    with InnerException: {"The type initializer for 'System.Data.SqlClient.SqlConnectionFactory' threw an exception."}
    and it has InnerException: {"Requested registry access is not allowed. "}
    Outmost StackTrace:
       at System.Data.SqlClient.SqlConnection..ctor()
       at System.Data.SqlClient.SqlConnection..ctor(String connectionString)
       at FRB.Diagnostics.Listeners.SqlDataAccessCommand..ctor(String connectionString, String commandText, CommandType commandType)
       at FRB.Diagnostics.Listeners.SqlDataAccessAdapter.CreateCommand()
       at FRB.Diagnostics.Listeners.SqlTraceListener.TraceEventCore(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String message)
       at FRB.Diagnostics.Listeners.CustomTraceListener.FilterTraceEventCore(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String message)
       at FRB.Diagnostics.Listeners.CustomTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String format, Object[] args)
       at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String format, Object[] args)
       at System.Diagnostics.TraceSource.TraceInformation(String message)
       at FRB.EC.AdminService.AdminService.TestHelloWorldWithTrace(String name)
       at SyncInvokeTestHelloWorldWithTrace(Object , Object[] , Object[] )
       at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
       at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
    Second Inner StackTrace:
       at System.Data.SqlClient.SqlConnection..cctor()
    Third Inner StackTrace:
          at System.Data.SqlClient.SqlConnectionFactory..cctor()
    When I do "Run as Admin", I get this error:
    {"Could not load file or assembly 'FRB.EFDataAccess, Version=, Culture=neutral, PublicKeyToken=null' or one of its dependencies. Access is denied. "}
    Server stack trace:
       at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
       at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
       at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at FRB.EC.AdminService.ConsoleTester.svcRef.IAdminService.GetDispositionStatusTypeList()
       at FRB.EC.AdminService.ConsoleTester.svcRef.AdminServiceClient.GetDispositionStatusTypeList() in C:\SourceEagleConnect\EagleConnect\Dev\WCFServices\FRB.EC.AdminService.ConsoleTester\Service References\svcRef\Reference.cs:line 2459
       at FRB.EC.AdminService.ConsoleTester.ConsoleProgram.GetDispositionStatusTypeList() in C:\SourceEagleConnect\EagleConnect\Dev\WCFServices\FRB.EC.AdminService.ConsoleTester\ConsoleProgram.cs:line 565
       at FRB.EC.AdminService.ConsoleTester.ConsoleProgram.ExecuteNewRelease103QueryMethods() in C:\SourceEagleConnect\EagleConnect\Dev\WCFServices\FRB.EC.AdminService.ConsoleTester\ConsoleProgram.cs:line 189
       at FRB.EC.AdminService.ConsoleTester.ConsoleProgram.Main(String[] args) in C:\SourceEagleConnect\EagleConnect\Dev\WCFServices\FRB.EC.AdminService.ConsoleTester\ConsoleProgram.cs:line 76
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
    I am also posting the web.config/app.config, but I would rather not focus on that since there were absolutely no changes to it between the time it was working and the time it began failing. 
    Client app.config
    <?xml version="1.0" encoding="utf-8" ?>
            <behavior name="ServiceBehavior">
              <serviceMetadata httpGetEnabled="true"/>
              <serviceDebug includeExceptionDetailInFaults="false"/>
              <serviceAuthorization impersonateCallerForAllOperations="true"/>
            <behavior name="FRB.AllowImpersonate">
                <windows allowedImpersonationLevel="Impersonation"/>
            <binding name="WSHttpBinding_IAdminService" closeTimeout="00:01:00"
              openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
              bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard"
              maxBufferPoolSize="524288" maxReceivedMessageSize="5565536"
              messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true"
              <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
                maxBytesPerRead="4096" maxNameTableCharCount="16384" />
              <reliableSession ordered="true" inactivityTimeout="00:10:00"
                enabled="false" />
              <security mode="Message">
                <transport clientCredentialType="Windows" proxyCredentialType="None"
                  realm="" />
                <message clientCredentialType="Windows" negotiateServiceCredential="true"
                  algorithmSuite="Default" />
                  <endpoint address="http://localhost:3588/AdminService.svc" binding="wsHttpBinding"
                        bindingConfiguration="WSHttpBinding_IAdminService" contract="svcRef.IAdminService"
                              <dns value="localhost" />
    web.config of WCF service:
      <?xml version="1.0"?>
        <section name="FRB.Diagnostics" type="FRB.Diagnostics.Configuration.UkadcDiagnosticsSection, FRB.Diagnostics"/>
           <!-- whatever goes here -->
        <!-- connection string section -->
        <add name="log" connectionString="Data Source=myserver;Initial Catalog=ECWCFLOG_SharedDev;User ID=myuser;Password=mypass;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>
        <add name="DBConn" connectionString="Data Source=myserver;Initial Catalog=ECData_SharedDev;User ID=myuser;Password=mypass;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/>
        <add name="EagleConnectEntities" connectionString="metadata=res://*/EagleConnect.csdl|res://*/EagleConnect.ssdl|res://*/EagleConnect.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=myserver;Initial
    Catalog=ECData_SharedDev;User ID=myuser;Password=mypass;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient"/>
        <!-- FRB.Diagnostics logging section -->
                <sqlTraceListener name="sqlTraceListenerSettings"
                            commandText="INSERT INTO LogStore VALUES(@Source, @ActivityId, @ProcessId, @ThreadId, @EventType, @Message, @Timestamp)"
                        <parameter name="@Source" propertyToken="{Source}"/>
                        <parameter name="@ActivityId" propertyToken="{ActivityId}"/>
                        <parameter name="@ProcessId" propertyToken="{ProcessId}"/>
                        <parameter name="@ThreadId" propertyToken="{ThreadId}"/>
                        <parameter name="@EventType" propertyToken="{EventType}" callToString="true"/>
                        <parameter name="@Message" propertyToken="{Message}"/>
                        <parameter name="@Timestamp" propertyToken="{DateTime}"/>
              <!-- <parameter name="@UserId" propertyToken="{WindowsIdentity}"/> -->
                <smtpTraceListener name="smtpTraceListenerSettings"
                             from="[email protected]"
                             to="[email protected]"
                             subject="AdminService Logging Event: {EventType}, {MachineName}"
        <!-- System.Diagnostics logging section -->
                <source name="FRB.EC.AdminService" switchValue="All">
                        <add name="ods"/>
                        <add name="smtp"/>
                        <add name="sql"/>
                <source name="System.ServiceModel" switchValue="Off" propagateActivity="true">
                        <add name="ignored" type="System.Diagnostics.ConsoleTraceListener"/>
                <!-- OutputDebugStringTraceListener -->
                <add name="ods"
               type="FRB.Diagnostics.Listeners.OutputDebugStringTraceListener, FRB.Diagnostics"
               initializeData="{ActivityId}|{EventType}: {Message} - {DateTime}, Process={ProcessId}, Thread={ThreadId}"/>
                <!-- SqlTraceListener -->
                <add name="sql"
               type="FRB.Diagnostics.Listeners.SqlTraceListener, FRB.Diagnostics"
                <!-- SmtpTraceListener -->
                <add name="smtp"
               type="FRB.Diagnostics.Listeners.SmtpTraceListener, FRB.Diagnostics"
                       <filter type="System.Diagnostics.EventTypeFilter"
            <trace autoflush="true"/>
        <compilation debug="true" targetFramework="4.0">
            <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"/>
                <service name="FRB.EC.AdminService.AdminService"
                    <!-- Service Endpoints -->
                    <endpoint address="" binding="wsHttpBinding"
                  Upon deployment, the following identity element should be removed or replaced to reflect the
                  identity under which the deployed service runs. 
                  If removed, WCF will infer an appropriate identity automatically.
                            <dns value="localhost"/>
                    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
                    <binding name="wsHttpEndpointBinding"
                        <readerQuotas maxDepth="2147483647"
                            <message clientCredentialType="Windows"/>
                    <behavior name="FRB.EC.AdminService.AdminServiceBehavior">
                        <!-- To avoid disclosing metadata information, set the value below to false and
                   remove the metadata endpoint above before deployment -->
                        <serviceMetadata httpGetEnabled="true"/>
                        <!-- To receive exception details in faults for debugging purposes, set the value below to true. 
                   Set to false before deployment to avoid disclosing exception information -->
                        <serviceDebug includeExceptionDetailInFaults="true"/>
                        <!--<serviceAuthorization principalPermissionMode="UseAspNetRoles"
                        <serviceAuthorization principalPermissionMode="UseWindowsGroups"
                    <behavior name="FRB.EC.AdminService.IAdminServiceTransportBehavior">
                        <!-- To avoid disclosing metadata information, set the value below to false and
                   remove the metadata endpoint above before deployment -->
                        <serviceMetadata httpGetEnabled="true"/>
                        <!-- To receive exception details in faults for debugging purposes, set the value below to true. 
                   Set to false before deployment to avoid disclosing exception information -->
                        <serviceDebug includeExceptionDetailInFaults="false"/>
                                <authentication certificateValidationMode="PeerTrust"/>
                                <!--<authentication certificateValidationMode="Custom" customCertificateValidatorType="DataFactionServices.FRBX509CertificateValidator"/>-->
                            <serviceCertificate findValue="WCfServer"
                                    storeName="My" x509FindType="FindBySubjectName"/>
            <serviceHostingEnvironment multipleSiteBindingsEnabled="true"/>
            <modules runAllManagedModulesForAllRequests="true"/>
    Thanks for any help.

    I think I found it... this is sure a strange error for what is really happening.
    Apparently it had happened to me before, and fortuantely, I actually added the following comment:
                // Above is related to the WCFLOG SQL Diagnostics Trace 
                // If you get error here an inner exception "requested registry access is not allowed"
                // inside exception "type initializer for System.Data.SqlClient.SqlConnection"
                // then make sure you have impersonation enabled in your client.
                // See AdminConsole web.config or FRB.EC.AdminService.ConsoleTester.app.config for examples
    Now I think I will do a try catch and spit out the same text.
    Still testing to assure that this really was the issue.
            <behavior name="FRB.AllowImpersonate ">
                <windows allowedImpersonationLevel="Impersonation"/>
    The line below in BOLD below is what somehow seemed to disappear from my app.config - probably due to a TFS human error - still checking that also:
                  <endpoint address="http://localhost:4998/AdminService.svc"
                              <dns value="localhost" />
    Here's how I "idiot-proofed" this error for now, to give an error that actually at least points to a solution:
            public SqlDataAccessCommand(string connectionString, string commandText, CommandType commandType)
                    _connection = new SqlConnection(connectionString);
                    // Above is related to the WCFLOG SQL Diagnostics Trace  
                    // If you get error here an inner exception "requested registry access is not allowed"
                    // inside exception "type initializer for System.Data.SqlClient.SqlConnection"
                    // then make sure you have impersonation enabled in your client.
                    // See AdminConsole web.config or FRB.EC.AdminService.ConsoleTester.app.config for examples
                catch (Exception ex)
                    if (ex.ToString().Contains("The type initializer for"))
                    throw new System.ApplicationException(@"
                    Your client app <endpoint> must be cofigured have a
                  'behaviorConfiguration' attribute like this:
                   that points back to a behavior that has this syntax:         
              <behavior name='FRB.AllowImpersonate'>
                     <windows allowedImpersonationLevel='Impersonation'/>
              ", ex);
                        throw ex;
                _command = _connection.CreateCommand();
                _command.CommandText = commandText;
                _command.CommandType = commandType;
                // TODO _command.CommandTimeout = ;

  • Problem with Waveform Chart updating

    I have written a LabVIEW project for 8510.
    I have a problem with the waveform chart not updating the data incoming to it.
    that is, Y axis does not update according to 8510 display format.
    May you help me?
    Network_Analyzer_8510C_nazanin_5.lvproj ‏6 KB

    Do you want to change the label???
    1. Just right clicl your graph
    2. in the properties window go to 'Scales' tab
    3. select the Axis, and change the name.
    Is this the solution regarding your issue....
    do you want to change the domain from Time or Frequency...??
    I am not allergic to Kudos, in fact I love Kudos.
     Make your LabVIEW experience more CONVENIENT.
    Solution.vi ‏265 KB

  • Programmatically Extend a Waveform Chart

    Could anyone kindly tell me what property node I can use to programmatically extend a Waveform Chart on my Front Panel. 
    For instance, if a Boolen button is in the True Case, the Waveform will be short, but when in the False Case, the Waveform will be automatically elongated/extended beyond the initial length.
    Attached is the screenshot of what are trying to describe.
    Thanks in advance.
    Go to Solution.
    Waveform.PNG ‏11 KB

    RavensFan, thanks for your response.  It actually worked for me.    Although, you answered my question already, but just allow me to ask one more thing under this thread.  If I want a flat line known as a "baseline" a numerically controlled/adjusted value to appear on the same Waveform Chart that my incoming signal(s) is/are plotting, how do I imposed or put that "baseline" on the same waveform chart?  The "baseline" is only acting the purpose for comparison or threshold?
    I would appreciate if you could just help with suggestion.

  • Allow boolean arrays as input for "Array Min & Max"

    The Array Max & Min function is quite versatile, but for some reason it does not accept boolean arrays. This restriction make no sense at all. Since we can easily sort boolean arrays, this function should work too! It would come in handy for example if looking for the position of a single TRUE in a 2D array (search only works for 1D arrays!). Array min & max would simply return the index pair of the first TRUE found. As a workaround, we currently need to insert a "boolean to 0,1" to get the same effect. This seems unecessary.

    > I have to disagree with the need to do this LabVIEW prides itself of function polymorphism, but there are these nagging little holes that give you a broken wire for no obvious reason at all. Sure there are workarounds, but the beginner programmer might construct a horrible Rube Goldberg style workaround, full of duct tape and bailing wire. We can sort boolean arrays so there is a clear order between TRUE and FALSE ---> there is a MAX and a MIN and the function should return it. Note that Array Min&Max even works for string arrays, where it outputs the lexically sorted first and last array element. (Hey, I did not know that, could be useful sometimes!). Not allowing boolean array inputs is an unnatural exception and should be fixed.  A similar case is described in this suggestion (which did not get much attention either)

  • R1: tcAPIException: Duplicate schedule item for a task that does not allow multiples.

    I'm struggling with the following task:
    I have to assure an account exists for a given resource. I do provision it with the .tcUserOperationsIntf.provisionObject().
    I've created a createUser task to create the account.
    The task code checks if there is already matching account.
    If no account exists, is is created in the disabled state, and the object state of OIM account is set to 'Disabled' by means of task return code mapping.
    If it exists, it is 'linked' to OIM account.
    The problem is if the existing account is enabled, I have to change the OIM account state to 'Enabled' either.
    To implement this (thanks, Kevin Pinski https://forums.oracle.com/thread/2564011 )) I've created an additional task 'Switch Enable' which is triggered by a special task return code. This task always succeeds, and its only side effect is switching the object status to 'Enabled'.
    By I've getting the 'Duplicate schedule item for a task that does not allow multiples' exception constantly:
    This is the stack trace:
    Thor.API.Exceptions.tcAPIException: Duplicate schedule item for a task that does not allow multiples.\
      at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.provisionObject(tcUserOperationsBean.java:2925)\
      at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.provisionObject(tcUserOperationsBean.java:2666)\
      at Thor.API.Operations.tcUserOperationsIntfEJB.provisionObjectx(Unknown Source)\
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\
      at java.lang.reflect.Method.invoke(Method.java:601)\
      at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)\
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)\
      at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)\
      at Thor.API.Operations.tcUserOperationsIntfDelegate.provisionObject(Unknown Source)\
      ... skipped
    What did I wrong?

    Hi Vladimir,
    Please select 'Allow Multiple Instance' checkbox for the process task.

  • Saving array data from a waveform chart

    I am using a CRIO 9004 and a 9237 bridge module to measure some strains from strain gauges. I've got one timed loop that reads the DMA FIFO and puts the arrays of values (16 data points, 4 per channel) into a queue. In the consumer timed  loop a For loop scales the binary data, auto indexes it into arrays, then the arrays are merged into a 2D array for the four channels  displayed on a waveform chart . Everytime the consumer loop runs it indexes 4 data points (per channel) yet the waveform chart plots them in a consecutive manner and doesn't overwrite the previous four. If I convert the arrays to waveform arrays I don't see anything on the waveform chart.
    If I pass the 2D array of data to a array indicator inside or outside the consumer loop I get only 16 data points. I want to save the information that appears on the waveform chart  after the consumer loop but because I'm not using waveform data type I can't use the write waveforms to file vi. The waveform chart history buffer has been set to 195360.
    Idealy we will run the four channels for 120 seconds charting the data and saving the data. The minimum data rate is 1613kS/s (403 per channel) The data can be saved after the loops have finished gathering and processing or while they are running. I noticed when I tried to write to TDMS it slowed the consumer down. Same thing if I use a shift register with the volume of data.
    I suspect I'm not sending data to the chart in the correct manner ( usualy takes two attempts to "clear chart" using shortcut menu).  I'm not too familiar with timed loops /producer consumer loops  and just tried to put something together based on examples.
    I've attached my host vi and front panel screenshot.

    Hope they appear attached this time.
    Basic DMA (Host).vi ‏444 KB
    screenshot2.jpg ‏113 KB

  • Control mouseover image does not display when contained in an array of clusters.

    I have been using system booleans (with some customization) for the ability to impement mouseover animations.  For example (default system booleans):
    The mouseover feedback works well with my UI, and for the most part everything is going great.
    However, the mouseover image does not load if the the boolean is contained within an array of clusters (a single cluster with the boolean inside or an array of booleans works as expected):
    The mouseover animation does work for a single array element in the above case (the one which was most recently clicked), but this behavior isn't desirable and it seems buggy if I were to leave this on my UI as it is.
    So I guess I'm just wondering if anybody has encountered this or has any suggested workarounds?  The few that I've thought of so far (maintain a separate array for any set of system boolean controls, check coordinates myself on mouse move event and try to update the proper element in the array, avoid using mouseover animations entirely for this set of controls) aren't all that desirable.  Even though this issue could be considered cosmetic, the UI is very important to me as this code is something shipped to customers.
    This is LV 2011 by the way, so if by some chance the behavior in 2012 is correct please let me know (this alone might be reason enough to convert the project up).  If there is a CAR ID for this behavior and an NI employee wishes to share it I would also appreciate that.
    Best Regards,  
    John Passiak
    Go to Solution.

    Hey Jason,
    A reproducing VI would be any VI that contains an array of clusters with a system control boolean inside.  Here's an example:
    Single Boolean, Single Cluster, and Array of Booleans all show the proper mouseover image.
    Array of Clusters always shows the mouseover effect on the last element which was clicked, but does not show the mouseover effect on other array elements (actually, it seems to be inconsistent--every now and then it does show the mouseover effect on other array elements but it is not at all reliable).
    Best Regards,
    John Passiak
    MouseoverTester.vi ‏9 KB

Maybe you are looking for