cancel
Showing results for 
Search instead for 
Did you mean: 

API Programming issue PS11.1

Experimenter
Experimenter

Hallo everybody,

 

i encountered a problem with PS11.1 since we migrated from PS10.1

 

Prerequisites:

 

- A new API-Command is created with the Tecnomatix.NET - SDK

- The *.dll is copied to "DotNetCommands"-folder

- The *.dll is registered by using the "Register Command"-utility

- PS is running and the command is on the tool bar

 

The problem is:

 

With V10.1 it has been possible to change the some code of the *.dll, recompile it and copy it to the "DotNetCommands"-folder on the fly (which means, while PS was still running)

 

-> This was ok for programming.

 

But starting with V11.1 the *.dll gets locked as soon as it gets loaded and thus it can't be overridden on the fly.

 

-> For programming this means: compile sourcecode -> start PS -> test/debug command -> On error close PS -> change sourcecode -> go to "compile sourcecode"

What results in a huge time delay, because you have always to wait for PS to start and probably load a study if needed.

 

Is this behavior intended?

Or does somebody know a workaround for this problem?

 

Thanks for reading this wall of text and in advance for your help.

 

Best wishes

Matthias

 

 

 

 

9 REPLIES

Re: API Programming issue PS11.1

Legend
Legend

Hi Matthias,

 

I have the same issue.

I don´t know the behaviour in PS 10.1. I started programming only with 11.1 and higher.

 

 

Actually I have no idea how to solve this issue.

I have many small dummy cells to shorten the PS loading time.

 

But I confirm is really time consuming and annoying.

 

Gilles Valey, do you have an idea???

Re: API Programming issue PS11.1

Siemens Phenom Siemens Phenom
Siemens Phenom

It is possible to run Process Simulate from Visual Studio where you have loaded your .Net project in Debug mode.

 

Microsoft Visual Studio (Administrator)_2015-01-16_10-11-45.jpg

Then you can use "Edit and Continue" Visual Studio feature.

 

As far as I remember, it requires using a 32 bit version of Process Simulate so that "Edit and Continue" properly works.

Re: API Programming issue PS11.1

Experimenter
Experimenter

I did a little investigation on a clean System with just PS11.1 and Visual Studio on it.

The result for this machine was:

 

The problem starts to occure after installing the latest published hotfix (#113).

With this hotfix some changes to the API were made (according to the master hotfix list) including changes to Tecnomatix.Engineering.

 

In my opinion something was changed for how to load assemblies.

So the sourcecode has to be check by the Siemens/Tecnomatix guys.

 

@GillesVelay:

1. Thanks for your proposal, but this isn't really handy, because it still takes a lot of time and although it doesn't solve the problem of loading a study (if needed)

2. Is it possible to deinstall a specific Hotfix?

3. How to continue with this problem? Any suggestions?

 

@Patrick: you could probably try installing all hotfixes except #113 and test if you are getting the same results as I did

 

 

 

 

Re: API Programming issue PS11.1

Legend
Legend

Hi have actually PS 11.1 TR3 and PS 12.0 in use, so HF #113 is not available for this versions.

With this HF some changes in .NET API were implemented. (Path Editor functionality).

 

For me it is also very important to find a way to solve this problem.

 

I had an idea, but I´m not that professional programmer to implement this.

The idea:

Create one master dll that calls all other dll dynamically.

In this case the master dll is locked but all other dlls you can change.

 

Maybe you can implement something like this.

Re: API Programming issue PS11.1

Siemens Phenom Siemens Phenom
Siemens Phenom

I do not understand why "edit and continue" feature is not a solution for you. We use it a lot here.

You can modify your code live and continue debugging, the debugger will automatically use the updated code. You do not need explicit recompilation or to relaunch Process Simulate.

Re: API Programming issue PS11.1

Experimenter
Experimenter

It is not a propriate solution, because we do not use x86 (32bit) clients. And for x64-Clients this "Edit and Continue" functionality does not work.

How do you create and debug x64 sourcecode? Take the x86 code and just change the assemblies?

 

@Patrick: 

This could be a solution, but i think this will make the application instable.

 

Re: API Programming issue PS11.1

Siemens Phenom Siemens Phenom
Siemens Phenom

With Platform set to "Any CPU", your dll compiled against Tecnomatix 32bits will work as is on Tecnomatix 64bits.

All developers in Tecnomatix do use a Tecnomatix 32bits version.

Re: API Programming issue PS11.1

Legend
Legend

Ok with 32bit it works.

But in my case I use PS also productive for OLP and simulation and not only for programming.

 

With 32bit simulation and OLP is not as perfomant as the 64bit version.

So I need to install a 32bit version only for programming.

Re: API Programming issue PS11.1

Experimenter
Experimenter

Is there any chance that the changes made will be reverted?

 

But beside that, thank you very much for your help