Comments (10)
Could be an issue with the dependencies. I would suggest referencing the GSF assemblies (e.g., GSF.Core.dll and GSF.TimeSeries.dll) that were installed with the openHistorian in your adapter project and rebuilding - this way you are using the same assemblies as the openHistorian that will be using your adapter.
from openhistorian.
Richie,
Yes, I was doing the way you suggested. I used the assemblies in the openHistorian V2.2.2.0 to build my adapter and tried to run this adapter on openHistorian V2.2.0.
Ferriad
from openhistorian.
Perhaps the function is throwing an exception? Have you checked the ErrorLog.txt? Have you tried (1) putting code in a try / catch, or (2) attaching to process with a debug build with a break point in the initialize function? Can I see a copy of your Initialize
function?
from openhistorian.
Actually, I haven't written a try/catch clause. The thing I wrote is a process percentage log in the Initialize() function. I debugged the code in Project Alpha, all the break points were hit, it ran well, and it reached 100% success. However, in openHistorian, even the 10% success was not even reached. Here is the code:
public override void Initialize()
{
base.Initialize();
OnStatusMessage("Initialized Event Trigger Completed");
}
from openhistorian.
That's a big initialize function. One quick thing jumps out, what is the m_eventRecordFilePath
set to?
Note that by default the openHistorian gets installed with the NT SERVICE\openHistorian
local user account and this account has almost zero rights to the system - actually the only rights it has at all are those granted by the installer, e.g., read/write access to the installation folder.
If your folder path is anywhere else on the system, the NT SERVICE\openHistorian
user will not have needed rights. To give the user rights to another folder you will need to right click on the folder and go to security to edit rights available to the user...
Thanks,
Ritchie
from openhistorian.
Ritchie,
The m_eventRecordFilePath is set to the {$installation folder}/event_log.txt. One thing to mention is- we use the same log method in our other adapters, however, they can write log successfully.
from openhistorian.
The best suggestion I have is to compile the adapter in debug mode, copy the DLL and the associated PDB file into the openHistorian installation folder. Then while running Visual Studio as administrator, attach to the openHistorian process, i.e., from VS menu select "Debug > Attach to Process" and find openHistorian.exe. Once attached put a break point in the Initialize
function and step through code to see what the issue might be.
from openhistorian.
Ritchie,
the issue has been resolved. I tested the adapter code and there was indeed a bug in the Initialize
. When I fixed the bug, and the code was running well on the openHistorian V2.2.2.0 Debug mode. Then, I moved it to the openHistorian V2.2.2.0 installation folder and tried again. This time, the console suggested that 'the adapter .dll was used by another program'. Here is the error image:
Then, I tried to remove the action adapter on openHistorian Manager, restart the openHistorain service, reaname the adapter .dll file, and add the action adapter back to the openHistorian Manager, the issue was revolved.
Not sure if it was related to the naming of the adapters because I updated that .dll file for serveral times and did not change its name.
Thanks for the reply! You are awesome.
Ferriad
from openhistorian.
Great! Glad this is working.
from openhistorian.
from openhistorian.
Related Issues (20)
- API to query measurement details HOT 1
- Data missing on export data from openhistorian webmanager HOT 4
- ATMEGA2560 Modbus openHistorian display to Grafana HOT 8
- Full Documentation for OpenHistorian HOT 3
- Is there any mechanism to store Historian Data directly into any RDBMS like Oracle/SQL Server instead of Files HOT 3
- Update openHistorian Grafana Instance HOT 1
- Multiple indexes
- Service unexpected stop HOT 23
- Grafana and OH User Synchronization requires log-on HOT 2
- Trend/Export Measurements Timestamps HOT 1
- Adding New Device (hardware PMU) HOT 10
- Fix build tools to update version in SDK project files
- Reinstall under different service credentials does not overwrite HTTP reservations HOT 2
- How to disable openHistorian debug host automated start HOT 4
- lossless data compression HOT 4
- How to get openPDC data in openHistorian. HOT 2
- Error in Github Desktop when pulling Source/Libraries/PythonAPIModule' HOT 1
- How to connect openHistorian with other datasources
- Compression algorithm about the OpenHistoian HOT 2
- COMTRADE Export with fields that contain commas
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openhistorian.