OPC UA .NET Tutorial - Creating Information Model and OPC UA Server Using NET [4 of 11]

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 ต.ค. 2024

ความคิดเห็น • 76

  • @industry40tvonline
    @industry40tvonline  9 หลายเดือนก่อน

    If you enjoyed this video you will also find my free newsletter valuable. Join 2500+ subscribers to get weekly actionable tips on the architecture and development of IIoT solutions.
    → SUBSCRIBE HERE: www.industry40.tv

  • @alexcartwright8197
    @alexcartwright8197 3 ปีที่แล้ว +29

    Honestly, I have watched so many sets of tutorials/lectures etc. throughout my life. I don't think any have so significantly clarified a topic I was struggling to understand as well as you have. Fantastic content - thank you so much.

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว +1

      Thank you so much for the feedback and the kind words, Alex. It means a lot to me.

    • @alexcartwright8197
      @alexcartwright8197 3 ปีที่แล้ว

      @@industry40tvonline You are welcome. Do you have any videos explaining OPC-UA over TSN and how this is implemented? OPC-UA over TSN can act as a low latency/jitter form of field communication, right?

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว

      @@alexcartwright8197 Not yet, I have it upcoming on this series though. Thanks.

  • @MyCharliew
    @MyCharliew ปีที่แล้ว

    Best tutorial by far that I've managed to find on writing an OPC server. Congratulations and keep up the good work Kudzai

  • @MarcinOlchowka
    @MarcinOlchowka หลายเดือนก่อน

    Thank you for the great content, clearly presented topic. I have question, if I may. In first stage you are creating ModelDesigne.xml file with Information Model. Is there any tools (graphical for example) or methods/best practices allow designing of Information Model efficiently?

  • @강창우-g1t
    @강창우-g1t 3 ปีที่แล้ว +1

    Thanks for crystal clear example and source codes. I'm going over the outputs and am trying to draw a diagram complying with OPC UA standard notations. Thank you so much!

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว

      Thanks for watching and for the feedback. I'm glad you found the video useful.

    • @강창우-g1t
      @강창우-g1t 3 ปีที่แล้ว

      @@industry40tvonline Can I ask a questions? In ModelDesign.xml, you used ValueRank, Scalar, AccessLevel, etc and the file became an input of the ModelCompiler. Would you let me know where I can find any reference or manual to write the xml? I am curious about its syntax rules and pre-defined words for different node types. Thank you very much!

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว +1

      @@강창우-g1t So the syntax rules are contained in the OPC UA XML Schema Definition Files. Here are XSD files for ModelDesign and Type Definitions respectively:
      opcfoundation.org/UA/ModelDesign.xsd , opcfoundation.org/UA/schemas/1.04/Opc.Ua.Types.xsd

    • @강창우-g1t
      @강창우-g1t 3 ปีที่แล้ว

      @@industry40tvonline Many Thanks!!!!

  • @NaaneVinu
    @NaaneVinu 3 ปีที่แล้ว

    This should be the best course on OpcUA, so well explained so much detailed, the command and clarity while explaining such a complex topic is really great. Hats off.

  • @harishmehta2992
    @harishmehta2992 2 ปีที่แล้ว

    The content, presentation , everything is just outstanding!!!

  • @alim.hosseini4638
    @alim.hosseini4638 3 ปีที่แล้ว

    You never fail to surprise me with these kinds of tutorials. Keep tutoring man!

  • @gustavoadolfosanchezhurtad1412
    @gustavoadolfosanchezhurtad1412 ปีที่แล้ว

    Clear explanation, and it works, thanks!

    • @industry40tvonline
      @industry40tvonline  ปีที่แล้ว

      Thank you for the feedback, Gustavo. Glad it works!

  • @franciscojimenez4658
    @franciscojimenez4658 ปีที่แล้ว

    Awesome explained!

  • @mossreimer7498
    @mossreimer7498 2 ปีที่แล้ว

    Brilliant series. Thank you so much. You saved me.

    • @industry40tvonline
      @industry40tvonline  2 ปีที่แล้ว

      Great to hear you love the series. Thank you for the feedback.

  • @noelrodriguez7569
    @noelrodriguez7569 3 ปีที่แล้ว

    Thanks Gor sharing This With us. I cant wait for The rest Of the series.

  • @carrascogonzalo97
    @carrascogonzalo97 2 ปีที่แล้ว +1

    Hi, first of all, thank you very much for the content you post. I am having trouble finding the code needed to create Methods with Input and Output Arguments in XML.
    As you have shown in the video, the code to create methods without arguments is as follows.
    I was wondering what else is needed to add the input/output arguments to the method.
    It would be great if you could help me with this problem. Thank you very much!

  • @bestganesh
    @bestganesh 3 ปีที่แล้ว +2

    When can we expect the remaining videos of the series...
    It is necessary...
    Thanks for teaching us.. God bless you.. :)

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว +2

      Thanks for your interest, Ganesh. Next week you'll be getting part 5.

    • @NextGen786
      @NextGen786 3 ปีที่แล้ว +2

      @@industry40tvonline where is number 5

  • @mtagab007
    @mtagab007 8 หลายเดือนก่อน

    Can you provide example for data changes on the server which will be reflected on the client ?

  • @abhijitbhopale
    @abhijitbhopale 3 ปีที่แล้ว

    Eagerly waiting for the next video. Worth spending time on this series. One question, how can one build a dynamic address space? What I mean is, IN client-Server model how can a client create a new OPC UA node inside server's address space using a function call and start publishing data to it.

  • @mtagab007
    @mtagab007 8 หลายเดือนก่อน

    very helpful thank you

  • @pedrocastro2474
    @pedrocastro2474 3 ปีที่แล้ว

    Thank you very much for this great video, you explain perfectly all the proccess! One the best and most useful videos about this topic, Congratulations!

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว

      Thanks for the kind words, Pedro. I'm glad you found the video useful.

    • @pedrocastro2474
      @pedrocastro2474 3 ปีที่แล้ว

      @@industry40tvonline you deserve kind words for your effort! I'll follow the rest of this video series. Altough i am now using my own Python Server, you explain some concepts (i loved the XML modeling) that i will try to apply in some way to my py app. I will keep watching you!

  • @karstenfuttrup
    @karstenfuttrup 2 ปีที่แล้ว

    Thank you for these great videos, excellent explanation :) Could you maybe provide us with some short explanation, text or video, showing how to create a OPA-UA server only with the use of a pre-compiled NodeSet2.xml file, maybe using one of the files from OPC foundations pre-compiled models ? :)

  • @maniskul
    @maniskul 3 ปีที่แล้ว

    waiting for part 5. thanks for this great series. :)

  • @konstantinh6963
    @konstantinh6963 3 ปีที่แล้ว

    Hello,
    first of all I would like to thank you for your outstanding content. I am also currently working on the topic of OPC / UA and find your implementation in C# really cool and easy to follow.
    However, one should always keep in mind that the OPC Core components of the OPC Foundation are licensed under the GPL2 if you do not belong to the OPC Foundation. Unfortunately, this was a point for me why I was not allowed to use this great framework professionally.

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว +3

      Thanks for the feedback Konstantin, I'm glad you find the content useful. I totally agree with you, and I made sure to mention that right at the start of the video so that people are not in confusion. My interpretation of it is that, if you are not a member, you are not allowed to create a commercial product using the OPC Core components under the GPL2, but you can build solutions for your "in-house" which is good enough for a sizeable number of professionals.

  • @kleberalmeida2321
    @kleberalmeida2321 ปีที่แล้ว

    Very well done, thank you
    !

  • @ElijahPass
    @ElijahPass 8 หลายเดือนก่อน

    Is there any documentation for configuring the application in code as apposed to a config xml?

  • @changos669
    @changos669 2 ปีที่แล้ว

    This is an awesome work. Thanks for sharing this content:)

  • @dieterruh4442
    @dieterruh4442 2 ปีที่แล้ว +1

    Great tutorial. Thanks so much.
    However I 'm not able to make it running. Typed all code manually because I didn't found the sources. ModelDesign is compiled witout any error and server start but I can't see the address space, only the defined object types. How can I found the sources to compare it with my code?

    • @jsagazio
      @jsagazio 2 ปีที่แล้ว

      Do you have the ModelDesign.xml file? If yes, can you send it to me?

    • @dieterruh4442
      @dieterruh4442 2 ปีที่แล้ว

      @@jsagazio , but I don't believe that it is a problem of ModelDesign because I can see some types that I defined.
      I guess that the cause is the NodeManager.

  • @diogomatias7689
    @diogomatias7689 2 ปีที่แล้ว

    Hello,
    First of all, thank you so much for the good explanations. I've been adapting this boiler template to simulate various PLC's that work as an OPC Server.
    Although, I have came across a big problem generating the correct OPC Server Data Values on specifically ExtensionObjects. Using Ua Expert I get the Datatype set to Null.
    Do you have or can provide some XML examples on how to build an OPC Server with some ExtensionsObjects, such as, for instance a C# class object?
    Ex.:
    public class Order {
    public int Id;
    public float Thickness;
    public string Material;
    }
    Thank you so much for this video and I really hope you could help me out.

  • @infidelcze
    @infidelcze 3 ปีที่แล้ว

    Great video, very helpful. Thank you very much Kudzai! :)

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว

      Thanks for watching, infidelcze. Glad you found it helpful.

  • @marknigelvillanueva2577
    @marknigelvillanueva2577 3 ปีที่แล้ว

    Thanks for this video and your effort this has really helped me a lot. Just a question, can we do information modeling through C# code instead of XML? Thanks!

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว +1

      Hi Mark, I'm glad the video helped. Yes, you can define your information model in C# code. The NuGet Package gives you access to the OPC UA objects that you use to do that.

    • @marknigelvillanueva2577
      @marknigelvillanueva2577 3 ปีที่แล้ว

      @@industry40tvonline I see thanks, I plan to store the information model in the database and be edited thru a web App.. Do you have a guide/reference (like MSDN?) on which I can follow? The OPC reference guide seems to only provide a general description of the Base classes but there's no walkthrough on sample implementations. But anyway this has been a really big help. Thank you very much, GodBless and stay safe!
      EDIT: I see what you meant by those OPC UA objects heheh will explore it.

  • @luxurycar8904
    @luxurycar8904 ปีที่แล้ว

    I love you man.

  • @KietTran-jb5tz
    @KietTran-jb5tz 3 ปีที่แล้ว

    Firstly, thank you a lot for super great tutorial.
    If we use graphical design tools, after generate Nodeset2.xml and C# code, Can we keep following next step of your tutorial? Because I see generated files look quite different with tutorial.
    Thank you so much

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว

      Thank you for watching, and for the feedback. If, say, you use UA Modeler from Unified Automation, then the produced c# classes will be compatible with their C# SDK, but you can always migrate them to the .Net Standard SDK with a few tweaks, as everything works the same under the hood.

  • @kapilchoudhary4036
    @kapilchoudhary4036 3 ปีที่แล้ว

    Thanks for your good explanation.at 32:20 we can see the batchplant 1 but using your source code i am not able to get the batchplant nodes. can you please help me.

  • @ShoniNemavhidi
    @ShoniNemavhidi 2 ปีที่แล้ว

    Is the -d option a windows thing or do I need to install some other library for that to be available?

  • @andrekuhn1041
    @andrekuhn1041 2 ปีที่แล้ว

    Thank you for this great tutorial !!! I try to open the source code link but is not possible. Can you please update this link?

  • @andreabozzi8496
    @andreabozzi8496 2 ปีที่แล้ว

    Hello, thanks for the great video! I'm trying to understand how to make the ModelCompiler Work: after I build it and make the exe run it closes immediatly. If I go for the console command it tells me "-d2 is not an option". Am I missing something?

  • @viveksagarpandey6627
    @viveksagarpandey6627 3 ปีที่แล้ว

    Thanks for your content,
    Have you ever explored OPC publisher module of Azure IoT for telemetry? If yes, can you please share the video regarding that as well?
    Thanks a lot!!

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว +2

      Hi Vivek, thanks for watching and for the feedback. I'll certainly be publishing the video on that topic later on in this series. Thanks

  • @FelixCrazzolara
    @FelixCrazzolara 2 ปีที่แล้ว

    How much does a single user license for UaExpert cost (roughly)?

  • @adrianferalis
    @adrianferalis 8 หลายเดือนก่อน

    Getting the error [UnrecognizedCommandParsingException] Unrecognized option '-d2' (McMaster.Extensions.CommandLineUtils.CommandLineApplication) when using the command to generate the model files

  • @gordonghaney4770
    @gordonghaney4770 3 ปีที่แล้ว

    Thanks for the great material. I'm confused with trying to obtain data from an OPC UA enabled device. I can monitor the data through UaExpert (OPC UA test client) but I have no clue how I can record all of the available data and pass it through to a database. I'm assuming this tutorial is showing how to build the model that is already designed for this sensor (Aventics AF2), but I'm still not entirely confident. Can you point me in the right direction as to how I can retrieve data from an OPC UA sensor so that I may store it in a database?

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว +1

      Thanks for watching Gordon. You can read the data from the OPC UA-enabled device using a .NET OPC UA client. Or if you don't wanna do any coding, you can use a simple platform like Node-Red to read the data and store it in a database. There are a number of youtube tutorials that show you how to read data from an OPC UA device using node-red.

    • @gordonghaney4770
      @gordonghaney4770 3 ปีที่แล้ว

      @@industry40tvonline Thanks so so much, I'm just in the process of installing Node Red right now and doing a tutorial on just that!

  • @yedhukrishnap8106
    @yedhukrishnap8106 ปีที่แล้ว

    If we generate random signal in DoSimulation method , UAexpert does not seem to periodically update the values even though random numbers are generated. Is there anything which I am missing here?

  • @dmitrijpolin
    @dmitrijpolin 3 ปีที่แล้ว

    Could you please explain why you use WinForms for server implementation? Is there any advantage or just because of the GUI?

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว +2

      No, there's no advantage at all. It was just for the GUI. Thanks for the comment.

  • @dmitrijpolin
    @dmitrijpolin 3 ปีที่แล้ว

    I tried to follow the steps using your files.
    UA-ModelCompiler with your ModelDesign.xml generates files that are different from yours.
    In the generated Batch.Plant.Classes.cs file compared to yours, the regions "Method Identifiers" through out "Namespace Declarations" are missing.
    Do you have any idea what the problem could be?

    • @dmitrijpolin
      @dmitrijpolin 3 ปีที่แล้ว

      There is another file BatchPlant.Constants.cs which contains the mentioned regions. You probably used an older version of UA-ModelCompiler.

  • @3du45d
    @3du45d 2 ปีที่แล้ว

    Nice tutorial, however, from view point of OOP-design your model is not quite correct. E.g. why do you have tree silo base types one would be sufficient. They all have the same properties.

    • @industry40tvonline
      @industry40tvonline  2 ปีที่แล้ว +1

      I totally agree. For some reason, it wouldn't let me create one base type for the three silos. Try it and let me know, perhaps there is something I missed. Thank you for your feedback, Eduard.

  • @NextGen786
    @NextGen786 3 ปีที่แล้ว +1

    where is 5th part ?

    • @industry40tvonline
      @industry40tvonline  3 ปีที่แล้ว +1

      The series is still ongoing, watch out for the remaining parts. Thanks for your interest, Usman.

  • @Hugohabor7799
    @Hugohabor7799 3 ปีที่แล้ว +1

    Sorry, my PowerShell couldn't generate ModelDesign.xml, ModelDesign.csv in new
    folder " Models ".
    I also command .\Opc.Ua.ModelCompiler.exe -d2 C:\Models\ModelDesign.xml -cg C:\Models\ModelDesign.csv -o C:\Models -console -version v104
    After executing Opc.Ua.ModelCompiler.exe.