New version 0.7.2

Today I released version 0.7.2. The most important new features are the possibility to create data models at runtime by means of the server API, and to create data models at runtime by parsing a configuration file. The file format is very simple to avoid much overhead due to the file parser. As a consequence it is not any longer required to recompile and update the application program when changing the data model structure or adding some model elements. Integrated in this release is also a tool to create server configuration files by SCL files. The other major change is the integration of a more flexible mechanism for client authentication and access control. This version also includes new examples for the new features since version 0.7 (including file read and directory services).

32 thoughts on “New version 0.7.2

    1. Michael Zillgith Post author

      There are examples included in the current version. A client example can be found in examples/client_example_files. A server side example can be found in examples/server_example3. You add files or directories to the vmd-filestore directory. Those files can be accessed by the file services.

  1. viking

    Hi sir, I compile server example 2 in vs2010 and run the example, I use iedscout connect with it, when i use the polling function of iedscout to view the MMXU1 data , iedscout shows “data is wrong type (expected a2, found 3) for : ied1Inverter/MMXU1$DC”

  2. zhangxiao

    Hi Sir: In example “server_exmple_config_file.c” and the model.cfg have the short addresses example,but the
    model.cfg`s model.icd I can not find?Miss this file?And the source dirctory have the “sampled_values”,this is sv source?or will be integrated next version?

    1. Michael Zillgith Post author

      Hi, the source of model.cfg is the file simpleIO_direct_control_goose.scd in the example folder. At the moment only integer values are allowed for the sAddr attribute.

    1. denproger

      Replace the following code lines

      36 uint32_t unixTime = ClientReport_getTimestamp(report) / 1000;
      38 char timeBuf[30];
      40 ctime_r(&unixTime, timeBuf);
      42 printf(" Client contains timestamp (%u): %s\n", unixTime, timeBuf);

      by these code lines:

      36 uint32_t unixTime = ClientReport_getTimestamp(report) / 1000;
      38 time_t tm = unixTime;
      40 printf(" Client contains timestamp (%u): %s\n", unixTime, ctime(&tm));

      It is right for Linux (tested with Ubuntu 12.04) and Windiws (tested with Windows 7 in vs2012).

  3. JLE

    I just found this library, got the examples working in vs2010. Then I tried to build the shared library, but the resulting dll seems to be missing entry points, so the functions can’t be called from another project… (I built it from inside visual studio).

  4. zhangxiao

    in version 0.7.4:ReportControlBlock_create is not export exactly? In server_examle_dnyamic.c can not compile. Goose function can not compile,IedServer_enableGoosePublishing function not defined.I had copy wincap to correct directory .

  5. zhangxiao

    Thanks for your help.I find another question:I debug project the server_example_config_file,var anIn1_mag_f have type = FLOAT32,get from IedModel_getModelNodeByObjectReference function ,but the anIn2_mag have the type = CONSTRUCTED get from IedModel_getModelNodeByShortAddress function,why? anIn1_mag_f and anIn2_mag I think is a same model ,is`t it?

  6. zhangxiao

    I get this error answer ,anIn2_mag have the sAddr ,it`s child have the FLOUAT32 attribute.Thanks for you all.

  7. zhangxiao

    Input the simpleIO_direct_control_goose.icd to RedWind IED Modeler ,you can not add the AnIn2`s child mag have the sAddr.sAddr is only Data attribute option ,it is right?

    1. Michael Zillgith Post author

      Hi, concerning server side buffered reports are handled in exactly the same way as the unbuffered reports – so there are no special examples required (just change the buffered attribute of the report in the ICD file to “true”). Concerning client side handling there is also not a big difference. If you enable the report the client should receive all buffered reports. To use the synchronization mechanisms you have to write to the proper fields of the report control block. I hope I can add a detailed tutorial/example in the near future.

    1. Michael Zillgith Post author

      I will include an example for handling arrays of data objects in the next release (0.7.5).

      It is a bit complicated with the current API since there is no single MMS variable representation of a data object (DO). DOs are separated into different MMS variables according the functional constraints of the DO elements.

  8. zx9506

    Something is wrong ,e.g use cmake (ver output to codeblocks project ,codeblocks makes the dynamic library ,the winsocket can not linked ,the example also can not be maked,but the static library can make,GOTO condition can not jumped some variable initialization.Use vs10,can makes all function but goose.WinGW can make all function but windows dynamic library. Cross platform is hard works .Three IDEs works different way.

    1. Michael Zillgith Post author

      Sorry I do test cmake only for linux and visual studio (currently 2013). It would be really a lot of work to always test everything with all possible combinations of toolchains and IDEs and build tools. E.g. I was not yet successful at all to use cmake with mingw or nmake. But I would be very open for any hints to improve this by users of these tools.
      Currently I am testing the following environments/build systems before making a release:
      * linux make
      * linux cmake
      * cmake + Visual Studio (currently release 2013)
      * mingw make on windows

    1. Michael Zillgith Post author

      Thank you for the hint! I will fix it in next release (0.7.7)

  9. zhangxiao

    I do some work use your libray,works wall.But model use the IEDModel maked input to config or static model ,your library can not work.So I do model handle ,the library works OK.

    1. Michael Zillgith Post author

      Hi, if you found a bug please send a bug report and some useful information on how to reproduce the problem (code snippets, ICD file …) to Thanks.

Comments are closed.