Release 0.7.7 with support for C# and Mac OS X

Release 0.7.7 contains a lot of small improvements and bug fixes (please have a look at the changelog for more details). Some improvements worth mentioning are the socket and ethernet layer implementations for Mac OS X (thanks to Michael Clausen / HES-SO Valais) and the C# client API that will be an inherent part of future releases of the library. Please be aware that the current implementation of the C# API should be considered as a preview version with some functions of the library still missing. The C# wrapper library and examples are working on current versions of the .NET framework as well as with Mono 3.x on Linux and Mac OS X.

7 thoughts on “Release 0.7.7 with support for C# and Mac OS X

  1. Lucie

    Hello !

    I’m working with the library which provide a great interface for IEC61850 device. I worked with a Beagle Bone and the demo you provide.
    I experience some problems when trying to control object. I wanted to try the select before operate mode, however I couldn’t make any example work.
    Most of the time, I can’t select the object, the function ControlObjectClient_select returns false.
    I have added an object “XCBR” with a sbo-with-normal-security control model. in this case, the select succeed but I can’t operate just after, I have an error that the object is not selected. Do I have to wait until it’s selected or something like that ?

    Thank you in advance for your answer !

    1. Michael Zillgith Post author

      There are a lot of parameters related to control. Concerning SBO there are two parameters that can cause problems:
      sboTimeout – is the time the control is selected if no operate is issued
      sboClass – is either operate-once or operate-many. If operate-many is configured then a second select will fail because the control is already selected. You have to explicitly release the control by sending a “cancel” command before a second select can be issued.
      If this does not help you can also send me a code example.

      1. Lucie

        It helps a lot ! Thank you very much ! The problem was in my SCL file, I didn’t describe all the attributes for a SBO control. I still have a problem with the select with enhanced security.
        I select the object and operate just after. The selection is OK but not the operate.

        Thank you a lot for you help !

  2. Sergio

    Hi, I am trying implement IED browsing on c#, and I can’t understand how to get field names in case of MmsValue.GetType() == MmsType.MMS_STRUCTURE, the GetElement(i) returns the MmsValue and it has only value, but not name of field

    1. Michael Zillgith Post author

      Hi, the MmsValue doesn’t contain the field names. For model browsing you have to use the methods of IedConnection like in ModelBrowsing.cs. You can dig deeper into the data model by extending the example using the GetDataDirectory or GetDataDirectoryFC methods:

      List<string> dataObjects = 
          con.GetLogicalNodeDirectory(logicalNodeReference, ACSIClass.ACSI_CLASS_DATA_OBJECT);
      foreach (string dataObject in dataObjects) {
          Console.WriteLine("    DO: " + dataObject);
          List<string> dataDirectory = con.GetDataDirectory(logicalNodeReference + "." + dataObject);
          foreach (string dataDirectoryElement in dataDirectory) {
              Console.WriteLine ("      DA/SDO: " + dataDirectoryElement);

Comments are closed.