LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Error 63 during host VI initialization while using SIT with Simulink

Hello Everybody,

I am trying to target a robot control system developed in simulink to PXI8096 using SIT 3.0.2. Whenever I reach a certain no. of blocks in the simulink model I start getting an Error 63 message whose exact text is given below.

" Error 63 occurred during host VI initialization: TCP Open Connection in sit Connect to Target.vi ->sit Init Model.vi->Testing63_UI.vi

Do you want to luanch the SIT Connection Manager dialog box and reconfigure the simulation? "

I would like to exlain a little more on what I mean by reaching a certain no. of blocks. I have been targeting the simulink model to PXI for last couple of weeks and it was working fine. Then our project required me to add some more funcionality to the simulink model due to which I had to add some additional blocks. When I did that I suddenly start getting the error message given above. So as soon as I delete those new blocks (which are actually very simple blocks like a constant or a gain block in simulink) the model starts working correctly on the PXI target and I start getting the error 63 message as soon as I add those additional block. (Note: by saying that the model starts working correctly on the PXI target I mean that I am creating a new model dll each time I make a change to the simulink model and it is the dll that either works or does not work)


Infact I pin pointed the stage at which I start getting the error by adding just one more block.  I am pretty sure that it does not matter as to which block I add at that stage, I have tried adding a constant block with a terminator or a unity gain block on an existing signal it gives the error in either case and am pretty sure it will give the error with any other block.

I have already searched extensively on ni.com for solutions of this problems. Most of the KB material/discussion forum material and other articles say that error 63 occurs when the server settings/permissions are incorrect or the port used by SIT is used by some other application. I have rechecked all these things. Nevertheless my model working with one block less than the not working model is a testimony of the fact that all the server settings/permissions and the port no. are fine.

Also since this problem is occuring when the simulink code had exceeded certain no. of blocks, I thought may be the time step of the model is too fast. So I reduced the time step to as slow as 1sec i.e. 1Hz and the problem still occurs and 1Hz is really super slow so I do not think that even this is a problem.


And really the simulink model that I am using right now is not that big. It has to be much bigger than what I am currently using for the full system to work. I am really frustrated with this issue and would really appreciate if somebody can give me any kind of guidance.

Vicku
0 Kudos
Message 1 of 6
(4,835 Views)
I have also replicated this same problem in a super simple simulink model which just contains a lots of constat blocks and simple sine wave generator and a filter. The total number of constant blocks in there is 148. If we delete any one of the constant blocks along with corresponding terminator block the model starts working fine on the the PXI with the 147 blocks and it gives the error 63 with 148 blocks.

I am posting here zipped folder containing a screen shot of the error message (ErrorMessage.bmp) the simulink model file (Testing63.mdl), the host vi (Testing63_UI.vi) and the dll along with the driver vi (inside the folder : Testing63_nidll_rtw).

Following are the versions of the various software components that I am using.

Target: PXI 8196 ( I apologise for using wrong number in the first line of the first post. The correct number is PXI8196 and not PXI8096)
LabVIEW 8.2.1
SIT 3.0.2
LabVIEW RT 8.2.1
MATLAB Version 7.3.0.267 (R2006b)
Simulink Version 6.5 (R2006b)
RealTime Workshop 6.5(R2006b)
Microsoft Visual Studio .NET 2003 ( I have also tried the same thing with Microsoft Visual C++ 6.0 and it does not change anything and gives the exact same problem)

I have also rechecked that the versions of all the components on the host PC and the PXI target are the same.

I would really appreciate if anybody could give me any kind of suggestion.

Vicku.
0 Kudos
Message 2 of 6
(4,836 Views)
I have been trying to pinpoint the origin of this problem. Here are some clues that I have found:

First an important point to be noted.

1. When I add those new blocks to the simulink model it is not chaning the number and type of I/O with the simulink model. It is like I am only changing the equations in the model when this problem occur.

2. So when I change the model I just rebuild the simulink model again and load it to pxi8096 with the exact same host VI and driver VIs.

3. So the only thing that really changes is the dll when I add those new blocks.

I cant say that I know all the possibilities but here are the two possiblities that I can think of:

1. The dll itself is corrupted with due to those new additional blocks.
2. There are some limits on the no. of variables or something similar that I can use with labview, SIT

Looking at the first possibllity that I mentioned:

I wanted to see if there is a problem from Simulink/Real Time Workshop aspects. We also have some targets from other companies in our lab. I tried the exact same model that is giving me problems with SIT with one of our other targets. There also the procedure is exactly the same i.e. we need to complie the model to a .dll and make a user interface and load it to the target. It works perfectly fine there. This is a testimony of the fact that alteast the problem is not in the aspects of Simulink/Real Time Workshop.

But still it is fact that the only difference between the working and not working situation with SIT is the .dll file. So lets again try to look what can be wrong. Real Time workhop builds the dll based on some files supplied along with SIT namely " nidll.tlc and nidll_vc.tmf". When I use RTW for the exact same model with the non-NI target I had to use similar files supplied with the other target and there the dll generated worked. Based on this observation I feel that the problem might be in these template and tlc files.

Again there is no way I can be 100% sure but the conclusion above is based on the observation that just by changin those template files in RTW the generated dll works with another target and it does not work with sit and pxi with the corresponding template files. I would really appreciate if I could get some cues on how to solve/get around this problem.

Vicku


Message Edited by vicku on 08-31-2007 09:51 AM

0 Kudos
Message 3 of 6
(4,728 Views)
It would also be helpful if somebody could just replicate this problem on his/her system. That would suggest that this is a repeatable issue and not a programming mistake on my part.

Thanks and Regards,
Vicku.
0 Kudos
Message 4 of 6
(4,459 Views)

Hello Vicku,

We were able to replicate the problem that you are describing with 148 blocks in the model.  We are working on this issue and will update you as soon as we have some more information.  Thank you for reporting this!  Please check back for updates.

 

Regards,

Clint M
National Instruments

0 Kudos
Message 5 of 6
(4,439 Views)

Hello again Vivek,

We have spoken directly and resolved the issue you were encountering. I wanted to take this opportunity to share the resolution with the online community.

We had downloaded your model .dll and ran your host and driver vi's on various Real-Time targets here at NI. We did not receive error 63, even though your model contained 148 blocks. Thus, we verified that model and its vi's were fine. We then tried a direct comparison between your system setup and our setup. We found that we did not have the Windows Firewall turned on when attempting to deploy your driver vi, whereas you had your Windows Firewall turned on. Upon turning off your Windows Firewall, you were able to successfully deploy your model.

We are still attempting to wrap our heads around why this was the remedy to your issue. Perhaps the firewall was limiting communication on port 6011 (the port used by the SIT Connection Manager). Thus, when you had 148 blocks in your model, it was reaching a limit. I would like to hear your thoughts on this; the more we flesh this out, the better we can support any future SIT issues. I will be creating online documentation to avoid encountering this issue in the future.

I'm glad we have found you a solution. Thank you for your patience. It was a pleasure working with you.

Cheers,

Emilie K. | Applications Engineer | National Instruments

0 Kudos
Message 6 of 6
(3,942 Views)