OpenXDA installation

Yea device id. If the device is named results the folder should be named results.

Hi Mark,

Were you able to make it work with the test cases? I’m having some trouble with that, although the installation went fine (apparently).

Hello JuanPablo, I could’t test with my own COMTRADE files. It isn’t working with the TestData either.
There are some errors in the COMTRADE files of the TestData.

I have the same problems as jasive. I could´t test the XDATestData files. I would appreciate some help.

Thank you.

The test data set works fine in my testing. That being said, I was able to reproduce Jorge’s issues when I modified openXDA to use es-CO culture settings. I don’t know exactly which culture settings your systems are using or what kind of issues each of you are having, but if you all have encountered the same errors as Jorge, then the culture settings in your system are most likely the cause.

Since we exclusively use en-US culture settings in our offices and on our test systems, our code is not always universally applicable. The way we’ve solved this problem with other applications in the past was to force the application to use en-US culture settings regardless of the culture settings in the system. The problem with openXDA is that it has the configuration file setting defined, but the code to change the culture settings of the application was never invoked.

I checked in a fix for the culture issue yesterday. That means there is a nightly build version you can use which should resolve Jorge’s errors. Here are the links to the latest nightly build version. You can use the same test data set with the nightly build version.

http://www.gridprotectionalliance.org/NightlyBuilds/openXDA/Beta/openXDA.Binaries.zip
http://www.gridprotectionalliance.org/NightlyBuilds/openXDA/Beta/openXDA.Installs.zip

Thanks,
Stephen

Thank you Stephen, it seems that TestData files are working fine now. However the console print the following exception message:
Failed to start web UI due to exception. Unable to load the file or assembly ‘System.Web.Http.Cors, Version=5.2.4.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ not one of its dependencies. The system can not find the specified file.

Thank you so much Stephen.

Jorge,

It looks like some recent changes to the web UI code are requiring a new dll file that did not get packaged into the installer. However, it did end up in the deployed binaries so you can find that file in the openXDA.Binaries.zip file. It exists in the openXDA folder, and it is called System.Web.Http.Cors.dll. If you copy that file into the C:\Program Files\openXDA directory, the errors should go away.

Thanks,
Stephen

I’ve tried that but the console keeps printing the same error. Is there something more that I can do about it?

Thanks,
Jorge

Maybe try restarting the service? You can do so using the Services manager. The service is called openXDA.

Also, it just occurred to me that when you download a dll from the internet, the Windows operating system may have blocked the file to prevent applications from loading the code. If so, you will need to unblock the dll before openXDA will be allowed to load it into the app domain. Here is how you can unblock the dll.

  1. Move the file to your Desktop or My Documents folder
  2. Right-click the file and then select Properties.
  3. Click the button or checkbox labeled “Unblock”, then click the “OK” button.
  4. Move the file back to the Program Files folder.

Thanks,
Stephen

Thank you Stephen, it runned without errors. The results should be in C:\Program Files\openXDA\Results right?

The situation is a little bit more complicated these days. The Results folder should be empty. All results are written to the database, and these results can be viewed either by querying the database directly or by using the visualizations provided by the PQ Dashboard or the dD Tools suite. With the errors now gone, you should be able to open your web browser and navigate to http://localhost:8989/ to start poking around in dD Tools and see what you can find.

Hi Stephen,

Thank you very much for your help. I followed your instructions and yet, I still got an error message (roughly translated):
“A connection cannot be established since the destination PC specifically denied such connection” and then an IP address.

I tried to fix this going to the Server-Properties-Permissions and granting the “Connect SQL” and “Connect Any Database” permissions to the XDAService login.

I wanted to know if what I did may cause more damage than helping out with the problem. Also, I’d like to know if there’s a way to re-run the test files. I checked the debug folder and found this in the SkippedFiles file:

2018-02-28 19:19:09,319 [398] DEBUG openXDA.ExtensibleDisturbanceAnalysisEngine - Skipped file "C:\Program Files\openXDA\Watch\FL1\fl1.pqd" because it has already been processed.
openXDA.ExtensibleDisturbanceAnalysisEngine+FileSkippedException: Skipped file "C:\Program Files\openXDA\Watch\FL1\fl1.pqd" because it has already been processed

Once again, thank you very much for all your help.

Juan.

Update:

I tried uninstalling and reinstalling the whole thing. Now I got a new error, different than the last one. Apparently, is related to openHistorian. This is the log in the Debug folder:

2018-03-01 09:36:26,506 [43] ERROR openXDA.ExtensibleDisturbanceAnalysisEngine - An error occurred while executing data operation of type 'FaultData.DataOperations.DataQualityOperation' on data from meter 'FORTTEST': The given key was not present in the dictionary.
System.Exception: An error occurred while executing data operation of type 'FaultData.DataOperations.DataQualityOperation' on data from meter 'FORTTEST': The given key was not present in the dictionary. ---> System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.ThrowHelper.ThrowKeyNotFoundException()
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at GSF.Snap.Services.Net.SnapStreamingClient.GetDatabase[TKey,TValue](String databaseName, EncodingDefinition encodingMethod)
   at openHistorian.XDALink.Historian..ctor(String server, String database)
   at FaultData.DataResources.TrendingDataSummaryResource.Initialize(MeterDataSet meterDataSet)
   at FaultData.DataResources.DataResourceBase`1.Initialize(IDataSet dataSet)
   at FaultData.DataSets.MeterDataSet.GetResource[T](Func`1 resourceFactory)
   at FaultData.DataOperations.DataQualityOperation.ProcessDataQualityRangeLimits(MeterDataSet meterDataSet)
   at FaultData.DataOperations.DataQualityOperation.Execute(MeterDataSet meterDataSet)
   at FaultData.DataOperations.DataOperationBase`1.Execute(IDataSet dataSet)
   at openXDA.ExtensibleDisturbanceAnalysisEngine.ProcessMeterDataSet(MeterDataSet meterDataSet)
   --- End of inner exception stack trace ---

I’d really appreciate some help on this matter.

Thanks,
Juan

Juan,

Your latest error is in regards to the instance name of the openHistorian archive. There is a setting in openXDA called Historian.InstanceName which defaults to XDA. However, if you run through the openHistorian install using all the defaults, then the archive you would have created is instead called PPA. Most likely, in order to resolve your problem, you would need to change the setting in openXDA to write to the PPA archive or you would need to set up a second archive in openHistorian with an instance name of XDA.

Thanks,
Stephen

Hi Stephen,

Thank you for your response. I understand the problem now. On the other hand, I don’t know how to change the setting in openXDA or set up the second archive in openHistorian. Can you help me with that?

Juan.

To change the Historian.InstanceName setting in openXDA.

  1. In a web browser on the system with openXDA installed, visit http://localhost:8989/ to access dD Tools.
  2. Click the link to navigate to dD Config.
  3. In the navigation bar at the top of the page, go to Settings > XDA Settings.
  4. In the search bar at the top of the page, enter Historian.InstanceName.
  5. In the table below the search bar, click the pencil icon to edit the setting record.
  6. Change the Value field from XDA to PPA.

To add another historian to openHistorian:

  1. On the system with openHistorian installed, run the openHistorian Manager desktop application.
  2. Use the menu to navigate to Outputs > Historian Instances.
  3. Click the Add New button to the far right of the page, above the data grid.
  4. In the Acronym field, enter XDA.
  5. In the Type Name field, enter openHistorian.Adapters.LocalOutputAdapter.
  6. In the Assembly Name field, enter openHistorian.Adapters.dll.
  7. In the Connection String field, enter ArchiveDirectories=XDAArchive; InstanceName=XDA; WorkingDirectory=XDAArchive; DataChannel={port=38502}.
  8. Click the Enabled checkbox to enable the instance.
  9. Click the Save button to the far right of the page, above the data grid.
  10. Make sure you select the XDA instance from the data grid, then click the Initialize button toward the left side of the page, above the data grid.
  11. When prompted to confirm if you want to initialize XDA, select Yes.

Note that the XDA instance will have to be placed on a different port from the default, so you will have to follow the instructions above to modify openXDA settings and change the Historian.Server setting to use port 38502 instead of port 38402.

Thanks,
Stephen

Hi Stephen.

I´m testing the software with my own COMTRADE files but it doesn´t show any results because it says that there is no event found. I would appreciate you help.

Thank you.

Jorge

Hi Jorge,

Off the top of my head, here are a few reasons why openXDA is unable to recognize any events in your COMTRADE file:

  • The data spans less than one cycle (~16.7ms@60Hz or 20ms@50Hz).
  • The sampling rate of the data is less than 4 samples per cycle (240Hz@60Hz or 200Hz@50Hz).
  • The channel mappings are not properly configured.

Thanks,
Stephen

Hi Stephen,

The test data is finally working. However, I can’t access dD Tools through localhost:8989, it is requesting some credentials. I’ve tried with different usernames and passwords relative to my PC and the server database but none of them worked. Is there anything I could be missing?

Thank you for your help.

Juan.