Showing results 1 to 4 of 4

Thread: Zenon Object data exchange

  1. #1

    Default Zenon Object data exchange

    Hi,

    In zenon project I have  data type (bunch of structures and data types), what contains information about production object. In library for add-in, I have object with same named structure of clases and properties as in zenon project.

    When I run wizard, every time that object initialize again and I read data from zenon project by variable.GetValue(). It's a little tedious and time expensive if u have to read or write big set of data.

    Is there are a way, to make some kind of container, where you will be able to write state of client object (snapshot) and dynamically read state of that object for dedicated client?
    Object exist if that client still connected and while disconnect it will garbage collected

    Container is for dedicated client. If client have access for few projects, than that main container must have sub containers for each available project with project objects inside.
    If some kind of that is possible it will help with data exchanging between zenon and add-in logic. 
    Add-ins will operate on that project objects, and zenon will dynamically read and write to that object.

  2. #2
    Join Date
    28.02.2013
    Posts
    226

    Default Re: Zenon Object data exchange

    Hi Oleksandr,

    Wizards are ment to run once. So conserving data to the next run is not possible the way you are describing.

    One approach would be to create a Service AddIn that does the data management (you named it container), monitors zenon variable changes i.e. by an online container and bulk change event etc. and provides those data objects to your "wizard routines" which run inside the same Service Addin.
    I you want to keep the "wizard routines" in the context of Wizard AddIns you will also need to implement a communication channel between your Service AddIn and your Wizard AddIn.

    Regards,
    Felix

    Quote Originally Posted by Oleksandr View Post
    Hi,

    In zenon project I have  data type (bunch of structures and data types), what contains information about production object. In library for add-in, I have object with same named structure of clases and properties as in zenon project.

    When I run wizard, every time that object initialize again and I read data from zenon project by variable.GetValue(). It's a little tedious and time expensive if u have to read or write big set of data.

    Is there are a way, to make some kind of container, where you will be able to write state of client object (snapshot) and dynamically read state of that object for dedicated client?
    Object exist if that client still connected and while disconnect it will garbage collected

    Container is for dedicated client. If client have access for few projects, than that main container must have sub containers for each available project with project objects inside.
    If some kind of that is possible it will help with data exchanging between zenon and add-in logic. 
    Add-ins will operate on that project objects, and zenon will dynamically read and write to that object.


  3. #3

    Default Re: Zenon Object data exchange

    Quote Originally Posted by felixst View Post
    Hi Oleksandr,

    Wizards are ment to run once. So conserving data to the next run is not possible the way you are describing.

    One approach would be to create a Service AddIn that does the data management (you named it container), monitors zenon variable changes i.e. by an online container and bulk change event etc. and provides those data objects to your "wizard routines" which run inside the same Service Addin.
    I you want to keep the "wizard routines" in the context of Wizard AddIns you will also need to implement a communication channel between your Service AddIn and your Wizard AddIn.

    Regards,
    Felix
    Hi, thx a lot for your response. Just to verify my clear understanding:
    1) snapshot of zenon project structure (object) is possible by online container and bulk event
    2) wizards may run inside service. They will run if event appears, and service will monitorize that events. In that case only one service with wizards inside will attached to zenon project. Is there a simple example of that structure in git-hub?
    3) How to build that communication channel between service and wizard if you don't choose way above in p. 2?




  4. #4
    Join Date
    28.02.2013
    Posts
    226

    Default Re: Zenon Object data exchange

    Hi Oleksandr,

    1) the Online Container itself is used for monitoring variables and variable changes. However, an AddIn (Service or Wizard can access the full zenon API and therefore also has access on the zenon objects/properties that are available in the API: which one you can find in our documentation: https://onlinehelp.copadata.com/Content.html?lang=en&product=addin&version=1000#

    2) Wizards do not run inside a service. But you can take the application logic (code) from a wizard and include it into a service with very little efforts (i.e. renaming of methods etc.)

    3) There a various ways for inter process communication. Please reach out for .NET documentation of this topics.

    Maybe it is a good starting point to do an online training on the AddIn Framework: https://www.copadata.com/en/trainingportal/book-your-zenon-training/tr-on-add-in-723/

    Regards,
    Felix

    Quote Originally Posted by Oleksandr View Post

    Hi, thx a lot for your response. Just to verify my clear understanding:
    1) snapshot of zenon project structure (object) is possible by online container and bulk event
    2) wizards may run inside service. They will run if event appears, and service will monitorize that events. In that case only one service with wizards inside will attached to zenon project. Is there a simple example of that structure in git-hub?
    3) How to build that communication channel between service and wizard if you don't choose way above in p. 2?





Similar Threads

  1. Unable to replicate WPF data exchange example
    By ivavid in forum Engineering Studio & Service Engine (former zenon Editor & Runtime)
    Replies: 2
    Last Post: 21st June 2022, 16:22
  2. Exchange driver 3s_ARTI with 3s_V3?
    By milosh in forum Add-In Framework
    Replies: 1
    Last Post: 5th January 2021, 13:49
  3. object oriented programming abb Zenon
    By JohnBar in forum Engineering Studio & Service Engine (former zenon Editor & Runtime)
    Replies: 6
    Last Post: 10th April 2019, 09:27
  4. Fanuc Robot data exchange protocol
    By baruzlor in forum Engineering Studio & Service Engine (former zenon Editor & Runtime)
    Replies: 1
    Last Post: 12th February 2013, 12:42
  5. Replies: 0
    Last Post: 4th March 2009, 09:50

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •