Welcome, Guest
Username: Password: Remember me

TOPIC: WbEnvironment information

Re:WbEnvironment information 12 years 7 months ago #2664

  • Snarf77
  • Snarf77's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 847
  • Thank you received: 2
  • Karma: 5
OK,

I did'nt open the class editor to build....

... But I just can't. The class editor open and there is nothing ?!? I guess there is a link problem somewhere (I check the path of the WbEnvironment which is correct but could there be another place for a bad link ??).

I guess it's only a link because if I do \"File -> Open -> Dbs file\" and browse to the classvolume.dbs it opens correctly.

What can I check before to hang up ?

Snarf


EDIT:
Following your post I modified the WbEnvironment to use a DetachedClassVolumeConfig but If I'm not wrong I was using a ClassVolumeLoad not a ClassVolumeConfig is that correct ?
In case a ClassVolumeLoad is used, there is no \"ClassEditor\" open pop up window.

Am i mixing everything ?

Post edited by: Snarf77, at: 2011/09/06 16:33
The administrator has disabled public write access.

Re:WbEnvironment information 12 years 7 months ago #2665

  • claes
  • claes's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 3175
  • Thank you received: 500
  • Karma: 133
Under the WbEnvironment there should be a DetachedClassVolumeLoad but I think a ClassVolumeLoad will work as well so I didn't mention that.

It is in the project that owns the classvolume you shoud change the ClassVolumeConfig to a DetachedClassVolumeConfig and it is also in this project you should enter the class editor and build the volume.

/Claes
The administrator has disabled public write access.

Re:WbEnvironment information 12 years 7 months ago #2666

  • Snarf77
  • Snarf77's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 847
  • Thank you received: 2
  • Karma: 5
OK Claes,

The rebuild from classvolume owner seems to be the root cause.

I can now build correctly my rootvolume and distribution has succeeded.

My last remaining problem is that in the plc program I used my classvolume agggregate Fonction wich is based on subwindow (each of them containgin the classvolume sub componenent Fo fonction).

When in dynamic on the runtime, I can browse the database and open the plc but I can't edit the sub window to trace my plc. I got the following:
Unable to start trace for this object

Do I need to export something else related to my class volume on the target for this sub window to be accessible ?? I check that the classvolume.dbs is correcly exported to the runtime but that is all I think about for now.


Many many thanks for your continuous support

Snarf
The administrator has disabled public write access.

Re:WbEnvironment information 12 years 7 months ago #2669

  • claes
  • claes's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 3175
  • Thank you received: 500
  • Karma: 133
It is the .flw files that contatins the plc trace information for a plc window. For a function object it is created on $pwrp_load on the ower project with the name pwr_'fo-class-name'.flw. Distributed this file to $pwrp_load on the process or operator station.

/Claes
The administrator has disabled public write access.

Re:WbEnvironment information 12 years 6 months ago #2753

  • Snarf77
  • Snarf77's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 847
  • Thank you received: 2
  • Karma: 5
Hi Claes,

I had to perform some modification on my classvolume and I still have some questions concerning the update mechanism.

Indeed in the project that own the classvolume, I opened the classvolume and computed some plc modification then saved and built the classvolume.
I use a fake project locally on the this development station to test if the modification are correct or not. In this project, when I open it, I got the \"Update classes needed' warning and everything's fine except that when trying the \"open plc\" on this object I always see the old one (but real one is executed). As it is inside the same project I don't think I have to copy any .flw ?? how can I refresh that ? (for the moment I have to delete the object and recreate it but on my final project I can't do that because of too numerous instances...)

Then I had to transfer my classvolume on another development station which owns my real project and uses a WbEnvironment object pointing to /usr/local/pwrp/lib.
To do so, I copied:

- classvolume.dbs
from
/usr/local/pwrp/classvolumeownerproject/bld/common/load
to
/usr/local/pwrp/lib (directory of my WbEnvironment)
&
/usr/local/pwrp/finalproject/bld/common/load
& also to:
/usr/local/pwrp/finalproject/src/db/plcrootvolume.db/
(Are all of them required or only one and which one ??)

- pwr_classvolumeclasses.h
from /usr/local/pwrp/classvolumeownerproject/bld/common/inc/
to /usr/local/pwrp/finalproject/bld/common/inc/

- I also copied the associated .flw and Ge object.

When I open my finalproject and the plc root volume, I didn't get any update classes warning which I found not normal and I can't compiled anymore if I tried. Did I forget something to update ??

thank you in advance

Snarf
The administrator has disabled public write access.

Re:WbEnvironment information 12 years 6 months ago #2755

  • claes
  • claes's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 3175
  • Thank you received: 500
  • Karma: 133
HI Snarf,

You should not copy classvolume.dbs to /usr/local/pwrp/finalproject/src/db/plcrootvolume.db.
This version of the dbs-file defines the current structure of the objects in the database and if you loose it you can no longer interpret the content of the object correctly. So right now the content of the objects doesn't match class definition in the classvolume, and you can't update them because the current definition is lost. I hope you have a backup of the old cassvolume.dbs, otherwise you're in trouble.

So now you have to find the old version of the classvolume.dbs (maby you can find it no some runtime machine) and copy it to /usr/local/pwrp/finalproject/src/db/plcrootvolume.db/. When you start the configurator you will get the message that new classes are available and when you activate Update Classes the content of the object wil be converted to tne new definition and classvolume.dbs will be exchanged to the new version.

The first problem I guess is that you at some time have entered the function object in the root voumes and saved, thus creating a specific .flw file for this window which will be read before the generic one created from the class editor. To fix this you can remove all .flw files on $pwrp_load that contains an object identity in the name (pwr_xxx_xxx_xxx_xxx_xxxxxxxx.flw) and create new ones with the 'create flow/all' command in the configurator.

/Claes
The administrator has disabled public write access.
Time to create page: 8.233 seconds