Using SIT connection manager with large simulink models is extremely slow
Hello,
I'm trying to use a large simulink model in LabVIEW but once the DLL is correctly generated and the SIT connection manager is invoked to explore the model sinks, sources and parameters, it takes hours to generate the model connections tree. Afterwards, when the connections tree is completed, it is impossible to handle it because every operation performed takes a lot of time and memory (i.e. to expand a block to see which parameters are inside).
The version of SIT I'm using is 2.0.3 with LabVIEW 7.1.
Is there anybody experienced with large simulink models and SIT?
Thanks and regards.
Ignacio Sánchez Peral
SENER Ingeniería y Sistemas S.A.
Control Systems Section
Aerospace Division
C/ Severo Ochoa, 4 (PTM).
28760 Tres Cantos (Madrid) Spain.
[email protected]
Tel + 34 91 807 74 34
Fax + 34 91 807 72 08
http://www.sener.es
The VI in the Driver VI called SIT Initialize Model.vi has an input called time step (sec) (-1: use model time step) which does what you want it to. It doesn't actually affect the time step of the solver used in the built model DLL, just the rate at which the main base rate loop actually runs in real time. In fact, base rate loop period would be a better name for this control. If you set it, you won't alter your model, but you will be able to adjust the rate of the base rate loop.
Simply create a control from this input terminal on your driver VI and fill in an appropriate period in seconds. Make sure to set this value as default in the control so that the Driver VI remembers it.
You will have to take into account that your model will still think it's running at the time step it was compiled at. So your model simulation time and the actual wall clock time won't match up.
Jarrod S.
National Instruments
Similar Messages
-
How to specify finite simulation stop time in VI generated using SIT connection manager
Hello,
I have a SIMULINK model which I want to run on a desktop ETS. I'm following this procedure:
1. Convert the SIMULINK model in a .DLL using RTW build in Matlab. The target of this build is nidll.tlc.
2. Create a host VI with required indicators and map the parameters using SIT connection manager.
3. Configure the DAQ (and then SIT connection manager generated the driver and IO files for me.)
4. Using LV project, run the driver on the desktop ETS and host VI on the host machine.
The code is working fine, without any error.
My question is this: Since in the driver VI, the simulation time is set to -1, which implies "continuous", the simulation goes on until I hit the stop button on the host VI.
I tried changing this default value to some other value. The simulation then does run for the defined amount of time but then I'm getting error 2206.
What is an appropriate way to stop the simulation on the RT target?
Thanks
Gayatri
PS: I'm using LV 8.5, LVRT 8.5, SIT 4.0, Matlab @2007a.The VI in the Driver VI called SIT Initialize Model.vi has an input called time step (sec) (-1: use model time step) which does what you want it to. It doesn't actually affect the time step of the solver used in the built model DLL, just the rate at which the main base rate loop actually runs in real time. In fact, base rate loop period would be a better name for this control. If you set it, you won't alter your model, but you will be able to adjust the rate of the base rate loop.
Simply create a control from this input terminal on your driver VI and fill in an appropriate period in seconds. Make sure to set this value as default in the control so that the Driver VI remembers it.
You will have to take into account that your model will still think it's running at the time step it was compiled at. So your model simulation time and the actual wall clock time won't match up.
Jarrod S.
National Instruments -
Mapping to Variables Using SIT Connection Manager
Hello,
I have a quick question regarding the SIT Connection manager and mappings. I was wondering if it is possible to map to variables, using the SIT Connection Manager Wizard, that I can make in the Project Window and drop into my block diagram. I have the SIT system buried under another VI and it is a hassle to keep having to connect the variables up to their values. I would like to just be able to map directly to them. If this is or is not a possibility please let me know. Thank you.
Michael B
LabVIEW 8.5
SIT 4.0
Message Edited by Michael B on 11-30-2007 12:52 PMHey Michael,
Thank you for contacting National Instruments. I am not sure if I completely understand your question. Would it be possible for you to walk me through the process you are currently going through to set up these mappings?
Also, I wanted to clarify what you meant by connecting to variables. I know you can use the manager to map to indicators and controls, but I am not sure if this is what you are trying to accomplish.
I look forward to hearing back from you.
Regards,
Kevin H
National Instruments
WSN/Wireless DAQ Product Support Engineer -
[SIT 5.0] Problem with running Simulink model dll on RT target
Hello!
This a continuation of my problem described here: http://forums.ni.com/ni/board/message?board.id=170&thread.id=431616
At the moment I am using following versions of software:
LabVIEW 8.6.1
LabVIEW Real-Time 8.6.1
NI-RIO 3.1.0
Simulation Interface Toolkit 5.0.0
Microsoft Visual C++ 6.0
MATLAB 7.4.0 (R2007a)
NI cRIO-9014
I have done everything mentioned in http://digital.natinst.com/public.nsf/$CXIV/ATTACH-AEEE-7JSQXS/$FILE/readme_sit_vxworks.txt
After that I was able to build nidll and nidll_vxworks using Matlab. Then I have configured SIT Connection manager, mapped controls and indicators, selected model dll etc. But when I have tried to deploy it on RT target I got following error message:
Initializing...
Calculating dependencies...
Checking items for conflicts. This operation could take a while...
Preparing items for download. This operation could take a while...
Deploying NI_SIT_Replay.lvlib
Deploying NI_SIT_driversupportVIs.lvlib
Deploying NI_SIT_ClientConnMngr.lvlib
Deploying NI_FileType.lvlib
Deploying NI_SIT_Data Log.lvlib
Deploying XDNodeRunTimeDep.lvlib
Deploying NI_SIT_util.lvlib
Deploying NI_SIT_SITServer.lvlib
Deploying project01_Driver.lvproj
Deploying NI-cRIO9014-00E9D6B1(successfully deployed target settings)
Deploying MD5Checksum pad.vi(8,86 K)
Deploying NI_SIT_Replay.lvlib:Read Select Data Packet FIFO.vi(24,89 K)
Deploying NI_SIT_driversupportVIs.lvlibIT Driver FP Strings.vi(2,39 K)
Deploying NI_SIT_Data Log.lvlib:Allocate Data Log State Machine Buffers.vi(10,17 K)
Deploying compatWriteText.vi(9,04 K)
Deploying NI_SIT_Replay.lvlib:Wait for Ack.vi(5,29 K)
Deploying NI_SIT_SITServer.lvlibITs Read Data Buffer.vi(20,24 K)
Deploying NI_SIT_ClientConnMngr.lvlib:Find Channel.vi(8,23 K)
Deploying NI_SIT_Data Log.lvlib:Get Current Configuration from Queue.vi(9,46 K)
Deploying NI_SIT_Data Log.lvlibend New Group Probe List.vi(5,82 K)
Deploying NI_SIT_Replay.lvlib:Write to Active FIFO.vi(8,71 K)
Deploying NI_SIT_Replay.lvlib:Create Configuration FIFO.vi(6,29 K)
Deploying NI_SIT_driversupportVIs.lvlib:sit Microsecond Timer.vi(9,62 K)
Deploying NI_SIT_Data Log.lvlib:Get All Configurations from Queue.vi(9,30 K)
Deploying NI_SIT_Data Log.lvlibwitch Active Configuration.vi(9,77 K)
Deploying NI_SIT_Data Log.lvlib:Update Current Configuration Log Filename.vi(8,85 K)
Deploying NI_SIT_SITServer.lvlibITs Send Packet.vi(26,80 K)
Deploying Invalid Config Data Reference.vi(2,86 K)
Deploying NI_SIT_driversupportVIs.lvlibIT Set Project Directory Path.vi(16,94 K)
Deploying NI_SIT_Replay.lvlib:Update TCL Position FIFO.vi(16,39 K)
Deploying XDNodeRunTimeDep.lvlib:loadlvalarms.vi(32,39 K)
Deploying NI_SIT_driversupportVIs.lvlibIT Task Loop.vi
Failed to download NI_SIT_driversupportVIs.lvlibIT Task Loop.vi
LabVIEW: Failed to load shared library SITs.*:TaskTakeOneStep:C on RT target device.
Deployment completed with errors
I was hoping that upgrading my software will fix all problems. But sadly, it didn't. Any idea? Many thanks for help!Hello,
I also had quite a lot of problems using Labview 8.6.1, RT and SIT 5.0.1. I upgraded a software using Labview 7.1 and SIT 2.0.3 beeing used for 5 years now and it was real pain.
I not using the SIT as you are (just load the model from a DLL, use a timeloop to step the model and finally close the model) but it seems that SIT 5.0.1 has a bug (confirmed recently by NI tech support) concerning inputs and outputs if you are using an array.
It seems that if you use an array for the input during the transcoding of the simulink model to the DLL an index is not well taken into account resulting in a model not beeing able to read its intputs. In my case whatever the inputs data could be the outputs were always 0.
The model has been changed to use only scalar data and everything works fine, ... well using the developpement software :
I cannot generate an RT target executable as during the deployment it fails all the time.
I saw once a message concerning SIT VIs deployment errors and it happened shortly after i upgraded my target : SIT 2.0.3 was still installed after SIT 5.0.
I spent a few years without updating Labview and i am amazed at how many problems occurs with all versions above 8.0.
Good luck, -
I have folder on my server that my ssis package needs to get into. I have an excel file that I am connecting to using Excel Connection Manager. My ssis package is unable to connect to the folder. How do I get this to work. Thank you
Hi RythmMusic,
I am not sure how the folder is protected with username and password, Are you talking about folder is at restricted access and rest it ask you to punch window credential. In that case you need to run the ssis package with account which have access to that
folder or use a proxy account to run under.
If it protected from third party software then it need to decrypted by that third party software only. SSIS won;t be able to help here.
Regards Harsh -
Labview2011 SIT Connection Manager service
Good day, I am developing an application where I have to communicate com matlab simulink. I have reviewed several bibliographies and material .... in which I refer to SIT Connection Manager service, which I find in my version of Labview (2011) and matlab2011a
thank very muchHave fun.
Alex Thomas, University of Manchester School of EEE LabVIEW Ambassador (CLAD) -
Hi all,
I have installed the Simulation Interface Toolkit and I have read the SIT manual. However, when I want to do the example which appears, there is a problem. This is, in simulink there isn`t any problem but in Labview doesn`t appear the SIT Connection Manager on the front panel menu bar, Tools»SIT Connection Manager and I don´t know why.
If someone could help me, I would be grateful.
Thank you.Do you have multiple versions of LabVIEW installed on your computer? If so, you may have installed SIT to another LabVIEW folder. Go to your LabVIEW\project folder and see if sitwiz.llb is there. If not, then SIT did not get installed to this version of LabVIEW. Check other LabVIEW folders on your hard drive and see if it got installed there instead. If so, then you can uninstall SIT, then reinstall and make sure the correct version of LabVIEW is selected when going through the installer wizard.
Good luck,
-D
Darren Nattinger, CLA
LabVIEW Artisan and Nugget Penman -
Error Using Connection Manager with InfoSwing
Hi,
Im trying to connect to an Oracle 8.0.5 DB through the
Connection Manager. I succeed in connecting with tools like SQL+
and Toad but not with my applet.
The dosbox says:
oracle.jbo.rt.cs.CSException
oracle.jbo.rt.GenericDataException: JBO-100: A generic exception
occurred during Data access
Exception: java.sql.SqlException:Refused:
at oracle.jbo.rt.cs.local.JBOSessionFactoryImpl.create<Compiled
Code>
at oracle.jbo.rt.cs.local.JBOSessionFactoryImpl.create<Compiled
Code>
at oracle.jbo.rt.cs.local.JBOSessionFactoryImpl.create<Compiled
Code>
at oracle.jbo.rt.cs.JBOSessionFactory.create<Compiled Code>
at oracle.jbo.rt.cs.JBOSessionFactory.create<Compiled Code>
at oracle.dafc.dataset.SessionInfo.connect<Compiled Code>
at oracle.dafc.dataset.SessionInfo.open<Compiled Code>
at oracle.dafc.dataset.SessionInfo.publishSession<Compiled Code>
at package4.Applet1.jbInit<Compiled Code>
at package4.Applet1.init<Compiled Code>
at sun.applet.Appletpanel.run<Compiled Code>
at java.lang.Thread.run<Compiled Code>
...and my java-source look like
theConnectString = "@(DESCRIPTION =(ADDRESS_LIST ="+
"(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.122)(PORT =
1610))"+
"(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.122)(PORT =
1521)))"+
"(CONNECT_DATA = (SID = ORCL))(SOURCE_ROUTE = YES))";
sessionInfo1.setConnection(new SessInfoDescriptor
("scott","tiger",SessionInfo.THIN,theConnectString));
Anyone a suggestion to make it work. My goal is to bypass the
applet-security.
Thanks in advance!
nullHans,
There are two issues here:
1. Connecting to the db from JDeveloper (the correct driver?)
2. Connecting to the db from an Applet
In order to narrow down the problem domain, try connecting from
the InfoBus Wizard using the correct dirver (for driver info see
posting on March 22 titled "JDeveloper can't connect to Oracle")
Hope this helps.
Regards,
Hans Duijn (guest) wrote:
: Hi,
: Im trying to connect to an Oracle 8.0.5 DB through the
: Connection Manager. I succeed in connecting with tools like
SQL+
: and Toad but not with my applet.
: The dosbox says:
: oracle.jbo.rt.cs.CSException
: oracle.jbo.rt.GenericDataException: JBO-100: A generic
exception
: occurred during Data access
: Exception: java.sql.SqlException:Refused:
: at oracle.jbo.rt.cs.local.JBOSessionFactoryImpl.create<Compiled
: Code>
: at oracle.jbo.rt.cs.local.JBOSessionFactoryImpl.create<Compiled
: Code>
: at oracle.jbo.rt.cs.local.JBOSessionFactoryImpl.create<Compiled
: Code>
: at oracle.jbo.rt.cs.JBOSessionFactory.create<Compiled Code>
: at oracle.jbo.rt.cs.JBOSessionFactory.create<Compiled Code>
: at oracle.dafc.dataset.SessionInfo.connect<Compiled Code>
: at oracle.dafc.dataset.SessionInfo.open<Compiled Code>
: at oracle.dafc.dataset.SessionInfo.publishSession<Compiled
Code>
: at package4.Applet1.jbInit<Compiled Code>
: at package4.Applet1.init<Compiled Code>
: at sun.applet.Appletpanel.run<Compiled Code>
: at java.lang.Thread.run<Compiled Code>
: ...and my java-source look like
: theConnectString = "@(DESCRIPTION =(ADDRESS_LIST ="+
: "(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.122)(PORT =
: 1610))"+
: "(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.122)(PORT =
: 1521)))"+
: "(CONNECT_DATA = (SID = ORCL))(SOURCE_ROUTE = YES))";
: sessionInfo1.setConnection(new SessInfoDescriptor
: ("scott","tiger",SessionInfo.THIN,theConnectString));
: Anyone a suggestion to make it work. My goal is to bypass the
: applet-security.
: Thanks in advance!
null -
Using a tag manager with the Elq. tracking script.
Has anyone had any luck using a tag managment tool to package the eloqua tracking scripts. We are using Google Tag Manager and not having any luck registering click-throughs on our emails.
Let me know if you're having success and what you're doing to get there. Thanks.Jim -
I've seen the scripts deployed and working properly across sites using various platforms from tag management to CMS that are truly tracking but where the tracking validator built into Eloqua doesn't validate the presences of the scripts. The best way to check it is two fold: 1. visit the pages on with an uncookied browser, submit a form, etc. to get a cookie and then surf around and check the contact record in eloqua about 20 min later. 2. look at the site map in eloqua to see if your pages are all visible.
Lauren -
Sprint Connection Manager with Palm 700p
I'm having a problem with the Sprint Connection Manager. Recently I had to replace my HD as the old one was degrading and about to fail. On the old HD I had no problem using my phone as a modem and connecting to the internet. After installing the new HD I went threw and ran all the updates for XP and have it upto SP2. I installed the latest Palm Desktop software from Palm (V4.2) and installed the latest Connection Manager from Sprint (V3.07.045). I have no problem hot syncing my Palm 700p to the desktop software. However, when I run the Sprint Connection Manager, it wont recognize that the phone is connected. The message to connect your phone remains in the window. I can go into device manager and even Query the modem with no problem. I've uninstalled the connection manager program and the palm software and then reinstalled them several times. I even installed it on another desktop computer with the same results. If I put the old drive back in place it works find and I have no problem connection to the internet. I spent over an hour on the phone with Sprint and they referred me back to Palm.
Does anyone have any idea what might be causing the problem? I've tuned off the firewall with no change.
David
Post relates to: Treo 700p (Sprint)I am experiencing the same problem, however it appears to be related to a recent download of the 700p updater rather than to changing out a hard drive. Otherwise the same--Connection Manager does not recognize that the phone is connected. Hot synch works, so it's not the USB port or the cable. I'm out of ideas (I, too, have uninstalled/reinstalled everything I can think of). Sprint is less than helpful. David, have you solved your problem and if so, how? Any ideas, anyone?
Thanks a bunch -
Photo Management with large iPhoto libraries
I have over 50,000 photos in iPhoto and this slows iPhoto to the point of hanging. I am now importing new photos into a new library but this is a nuisance when wanting to select photos from both libraries for a specific porject. I'm not keen to have to import photos from one library to another. This seems very cumbersome. I have backed up my photos onto an external hard drive with Time Machine.
What's the best and most practical way to manage a large number of photos with many themes.
I'd appreciate some suggestions. I'm quite new to iPhoto.A large SSD. Or external drive. Might help to max out RAM.
Some laptop models can take dual SSD internal
http://www.macsales.com/ssd
Might want to look up the iPhoto forum and support.
https://discussions.apple.com/community/ilife/iphoto
Move iphoto library to external drive -
http://basics4mac.com/article.php/move_iphoto_lib
You probably thought you were in MacBook Pro forum.
https://discussions.apple.com/community/notebooks/macbook_pro
http://www.apple.com/support/macbookpro/ -
Parallel Script Tasks Using Same Connection Manager are Corrupted
We're seeing a bizarre issues in our SSIS package. We are using an HTTP connection manager in multiple script tasks running in parallel and the connections seem to be getting mismatched. Here's the basic flow.
We have 6 containers that run in parallel. Each container does the exact same work (they are copy/pasted) except we change the value of a variable representing the report to generate that is scoped to each container. The container runs a query
(using a SQL connection manager defined in the package designer) and then uses a foreach container to enumerate the rows. The variables inside the foreach container are scoped to it so we don't have a scoping issue. Within the loop we write
the variable values to a log table, use a script task to generate an SSRS report and then write all the data and the report to an external system. Everything is working fine except for the generation of the report.
Within the report script block we acquire a connection to a HTTP connection manager that is defined in the package (just like the SQL connection manager). We then create a new HttpClientConnection with it and update the URL to include the necessary
parameters that SSRS needs to generate the report. We then download the results and return it back to the container. Here's the basic code we use
var httpConn = Dts.Connections["ReportServerUrl"];
var clientConn = new HttpClientConnection(httpConn.AcquireConnection(null));
var uri = new UriBuilder(clientConn.ServerURL) { Query = reportQueryInfo };
clientConn.ServerURL = uri.Uri.ToString();
clientConn.DownloadData();
The issue we are seeing is that when 2 of the scripts run at the same time the ServerURLs are getting cross wired such that we see 2 of the same report being requested rather than 1 of each type that we had requested (based upon the SSRS execution logs).
It's almost like we are getting a shared HTTP client connection. Provided the scripts don't run at the same time everything works correctly. We are confident our variables are set correctly because we are storing them both before and after in external
tables and they are always correct. The URL calculation logic is also correct because this problem only occurs when 2 requests are sent in parallel.
What am I missing here?
Michael Taylor
http://blogs.msmvps.com/p3netThank you for the feedback. Before I go to Connect I'd like to provide some more info that may provide a better idea of what the problem is.
We broke things down trying to replicate the issue and it isn't a conn mgr problem after all I believe. To clarify our package, we have 4 containers that execute the same logic (they were copy/pasted) except for the variable values that we set. The
containers are not linked together so they run in parallel. Each container executes a query using the ADO.NET conn mgr. A foreach loop captures the value for the current row and then calls SSRS using a script block, forwards the report onto an external
resource and then updates a table indicating the row has been processed. The only difference between them is the parameter we pass to the query and the value of the variables (that are scoped to the container or foreach loop).
The problem we have found is that the very first time through the foreach loop ALL containers are using the same row (from the first container's query). Second and subsequent rows are fine. We initially thought the queries were fine because of
our update at the end of the foreach loop but it is now clear that isn't the case.
We saw this problem when we moved our package to production. We went back to Dev and was able to replicate it as well. It happens every time and it is always the same row when given the same input set. We started eliminating containers
and we found it only happens when you get to 3 containers or more. 2 containers had no problems.
I'll try to replicate it on a simpler solution but any thoughts on whether there is a race condition or something in SSIS would be helpful. -
Hi I am using version 3.6.15 with Windows 7, I would like to use another download program in place of Firefox's default option, how can I disable this in Firefox
Many thanks
Bruce BaxterUse this extension to integrate an external download manager with Firefox. <br />
https://addons.mozilla.org/firefox/220/<br />
http://www.flashgot.net/whats -
Issues using HTTP Connection Manager to run SSRS reports from SSIS
In my package, I have a HTTP Connection Manager called "ReportServer". And I have two variables called "ReportURL" and "ReportFile". "ReportURL" is the URL for the report. I won't get into the details of this
URL because I don't think this is the issue. "ReportFile" is the complete path and name of the output file I want to generate from "ReportURL".
With these things in place, I have a script component that that looks like this.
Public Sub Main()
'Connect to http conn mgr
Dim httpConn As ConnectionManager = Dts.Connections("ReportServer")
Dim clientConn As HttpClientConnection = New HttpClientConnection(httpConn.AcquireConnection(Nothing))
'file name with path
Dim ReportFile As String = Dts.Variables("ReportFile").Value.ToString
'report url
Dim ReportURL As String = Dts.Variables("ReportURL").Value.ToString
clientConn.ServerURL = ReportURL
'Download PDFReport
clientConn.DownloadFile(ReportFile, True)
Dts.TaskResult = ScriptResults.Success
End Sub
I don't know too much about the inner workings of the above script. It's from a template I copied from somewhere and it's been working fine.
But, today all of a sudden, it started a mysterious behavior. Let me see if I can describe it to see if this sounds familiar to anyone.
For some reason, a run of this package failed at time T1, running with a certain value of "ReportURL" and "ReportFile". Now everytime I try to fun the package with the same "ReportURL" and "ReportFile", it fails because
it tries to write out two files with the same name, "ReportFile", one from the current one and another from the failed one at time T1. It looks like somehow, the connection is still open from the failed one in time T1 and it won't go away.... does
this sound like anything? Can you understand the problem I am describing?May it be that this post is NOT SSIS related?
Arthur My Blog -
Can I open remote connection manager with no menu bar
I am running a LabVIEW executable that does not have the standard menu bar, is there a way to programmatically open the remote connection manager. I know that I can access properties that provide this data, but if possible I wanted to make use of the code that LabView has already created
It's a VI called connection manager in \Project\remotepanel.llb.
Maybe you are looking for
-
How to recover files off unmountable seagate external drive
I have been using a Seagate Backup Plus external drive for several months on my iMac destop. The external drive runs off of USB no other power source. I unmounted it the other day to use on my mac power pc and transferred mp4 files onto drive without
-
Username and password token retrieval from SOAP web services
We are implementing one JAX-WS Web services which requires to retrieve the username and password in SOAP header elements and use those for further use/processing. When we are retrieving username/password it's coming as null. Please help ... if (Boole
-
hello i am using netbeans to create a simple login system using a servlet and a jsp. the jsp has the following code: <form action="login" method="get"> <br>UserID <input type="text" name="userID" size="20" maxlength="20"> <br>Password <input type="pa
-
one fine day yesterday, my i phone just hangup lost all contact detail. The screen only show a picture depicting cable connection to iTune. I have tried to restore iphone to factory setting but not working . May i know how to proceed to recover lost
-
Oracle forms for the web is trying to push jacob.dll, JNIssharedstub.dll, d2kwut60.dll to our client machines. Our users do not have administrative priviliges so the dll cannot be written to the file system. What is the suggested workaround? so when