Jump to content

Eugen Graf

Members
  • Posts

    432
  • Joined

  • Last visited

Posts posted by Eugen Graf

  1. A new version of my Pub/Sub is available. Now you can connect one Dispatcher to an other and select/subscribe availabe topics of them. Furthermore is the TCP/IP transfer protocol some better, syncbytes and checksum are implemented now. And if a client is disconnected, but forgotten to unsubscribe, it will be removed automatically from the topic table.

    Eugen

  2. QUOTE(jccorreu @ Sep 21 2007, 03:22 AM)

    So on that note... I too am currently in that boat of either using the GOOP1 or the OpenGoop, as I am sure are many others out there... (and I do see lots of advantages in using OOP on the project I am currently working and future projects)

    I've begun playing with them and am admittedly having a diffiicult time getting anything useable to work. ANd I've not had much success in finding explanations or documentation on their use and implementation. The begining of this thread looks like a really good start to what could help alot of people make the transition. Could we please continue along our originators course? And for those of you who are in the know, where are some good resourses that currently exist?

    james

    Sorry James, I will first continue this or a new topic related to GOOP- if my boss pay an update to 8.5

    And I really understand you and me :rolleyes: , who have "no money" and have to use unchildable classes :headbang:

    Eugen

  3. I use reading VISA to CR LF, then Spreadsheed string to array(with a comma as delimiter) to get an array of strings. After checking of the cheksum you can interpret your array elements to Lat. Lon and so on. I think it's very easy.

    Can you post any code here, I want to look on?

    Eugen

  4. QUOTE(crelf @ Sep 13 2007, 09:33 PM)

    post-949-1170073389.gif

    Oh - you're serious. If you really expect good support, then you should also expect to pay for it. That said, you'll get a lot of good support from us here at LAVA on pretty much any of the toolkits (this thread is an example). I just had a look at the Endevo website (I suggest you do the same) and found the community edition limitations:

    I wasn't able to find anything about "industrial" use.

    Thank you, crelf.

    If I say good supported, I don't think on help from manufacturer (developer), I think much more on product bebugging and featuring and documentation. LAVA's support (help in developing) is great, so I don't need any else. :thumbup:

    Surely, I will try out Endevo's tool.

    What is GOOP 3 ?

    Eugen

  5. QUOTE(crelf @ Sep 13 2007, 08:41 PM)

    Hello crelf,

    I think Endevos Tools are licensed and if I want to use them in my industial projects, I have to pay some money for it.

    I think on an update from LV 8.0 to 8.5, but here I have to pay too.

    What is free, good and good supported? Some ideas?

    Eugen

  6. QUOTE(crelf @ Sep 13 2007, 05:02 PM)

    I'm in a bit of a rush, so I can only answer a little:

    The data in the enum is part of the datatype of the enum itself - this means that enums with different text in them are seen as different datatypes in LabVIEW, so your class is more defined. So, if you have two different classes, when you wire the refnum from one classes "create" into another classes "write" the wire will break. If you had a string, then it wouldn't.

    No - that just changes the definition of one class. You need a separate datalog/enum for each class.

    PS: welcome to OOP! When used appropriately, it's freakin' awesome!

    Thank you for your reply, crelf. I did understand why GOOP uses enum instead of a string reference.

    My next big question is:

    how can I inherit a new class, e.g. class "truck" from my class "auto"?

    Eugen

  7. Hello,

    I want to begin with GOOP. So I found an entry in Tools->LabVIEW GOOP Wizard.. (I use LV 8.0.1)

    post-7689-1189691412.png?width=400

    Klicked it on and to create my first class. Saved it under "Auto" into project directory. An LLB was created. Ok.

    post-7689-1189691717.png?width=400

    After generating the next step, where I can Edit the calss reference.

    post-7689-1189691825.png?width=400

    So I should give the class name and put the enum into the reference.

    post-7689-1189691929.png?width=400

    And here the first question !!! Why it is a ENUM and not a string? Can I add more than one classes (using Add Item in Enum Properties) ? Why is it an enum?

    In the next step I can edit the member data of the class. So I leaved only one string control inside the cluster and named it "Color".

    post-7689-1189692152.png?width=400

    After finishing the wizard I got following

    post-7689-1189692209.png?width=400

    I created a MainVI, where I want to use my class Auto and saved it in my project directory. Then I want to create an object. But I can't dropthe Auto Create.vi from wizard into my MainVI. So I opened Auto create VI and dropped the Icon into MainVI. It's OK, but can be better (that is no critic to wizard, but can be added into the wish list).

    Auto Create is not executable, because I should init my member data with initials. Ok, I opened the VI and initialized my Color String whith "white".

    post-7689-1189692632.png?width=400

    Now, I want to get the actualy color of my Auto. So I created a public method GetColor.

    post-7689-1189692921.png?width=400

    Opened this VI and edited them. And edited the connector pane of them. I set the Color String to an output.

    post-7689-1189693101.png?width=400

    So I can get the color of my object "Auto". Cool!!!

    post-7689-1189693170.png?width=400

    It works. If I run my Main.vi I see that my Auto is "white".

    Now I want to recolor my Auto in red. So I created a new public method "SetColor".

    post-7689-1189693341.png?width=400

    But forgotten to set the method type to "modify". After the method was created I want to delete them, BUT I SEE, THAT I CAN'T.

    So my second question is: where I can delete methods in wizzard? That is my next wish, or can I do it anywhere?

    So I opened the Auto.LLB and deleted the method SetColor in WinExplorer.

    After them I created a new method SetColor with the right Method Type.

    post-7689-1189693731.png?width=400

    Modified the SetColorVI and the connector pane of them. Color is an input.

    post-7689-1189693904.png?width=400

    My mainVI shows as following now

    post-7689-1189693969.png?width=400

    Is all right? Am I on the right way?

    Eugen

  8. QUOTE(orko @ Sep 6 2007, 06:17 PM)

    Okay, here's one way you may be able to get the answers you're looking for:

    0) Take care of that bug in the "Message" event case :-)

    1) Right click on the Queue RefNum input terminal inside the bottom while loop right before the Dequeue Element and put a probe there.

    2) Run the VI and watch the probe. Notice how each time you click on Connect/Disconnect, there is another "read" that goes into the queue (effectively adding 5 seconds in this case before the next read is queued)

    3) Click the Connect/Disconnect button a few times, then click on Stop. Notice where the "exit" is in the queue stack? I assume that it needs to be in the front of any other queue elements.

    4) Right click the Enqueue Element in the Connect/Disconnect :oops: Stop event case in the top loop and replace it with a "Enqueue element at opposite end.vi" in the queue operations pallete. This one puts the element at the front of the queue, and I use it for stop or error conditions that I need handled right away (on the very next iteration of the queued state machine).

    To handle the reads stacking up the way they are with each Connect/Disconnect button press, you can do several things. One suggestion is to preview the queue elements (with "Preview Queue Element.vi") and if there is already a "read" in there not adding another.

    You can also create a subVI that previews the next queue element and if it is NOT a Stop or a read, then it queues up the next read. I think this may be a little more elegant solution.

    Hope this helps out.

    Thank you for.

    After some consideration I think I found a solution. What are you thinking about?

    EDIT: Not realy complete solution, but I think a right approach.

    Eugen

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.