Hi Markus,
ADLightField/lightFieldApp/src/Makefile contains this line:
USR_CXXFLAGS += /EHa /clr /D_AFXDLL /AI.. /D_WIN32_WINNT=0x601
Does your Makefile have that? The /clr flag may be what you are missing.
If you still have problems please send the complete output of the compiler command that generates the error.
Mark
________________________________
From: Markus Huber <markus.huber11 at gmx.de>
Sent: Tuesday, January 5, 2021 5:48 AM
To: Mark Rivers
Cc: tech-talk at aps.anl.gov
Subject: Re: EPICS for Building a SCADA System for Energy Grids; Interface to NI VeriStand
Hi Mark,
Thank you very much for the hints.
I am currently trying to write my own driver based on asynPortDriver C++
base class, like you did in LightField.cpp.
To do so, i created a new IOC which basically is a copy of the
testAsynPortDriver example (but called it VeristandToEpics). This IOC
runs as expected.
My idea is to adapt the testAsynPortDriver.h and .cpp (in my case they
are named VeristandToEpics.h and .cpp) step by step to fit my needs.
So far i have added the following to my driver VeristandToEpics.cpp:
"using namespace System;" (VeristandToEpics.cpp(36)) and
"#using <NationalInstruments.Common.dll> // VeristandToEpics.cpp(46)
#using <NationalInstruments.VeriStand.ClientAPI.dll>
#using <NationalInstruments.VeriStand.DataTypes.dll>
#using <NationalInstruments.VeriStand.dll>
#using <NationalInstruments.VeriStand.RealTimeSequenceDefinitionApi.dll>
#using
<NationalInstruments.VeriStand.RealTimeSequenceDefinitionApiUtilities.dll>
#using <NationalInstruments.VeriStand.RealTimeSequenceUtilities.dll>
#using <NationalInstruments.VeriStand.SystemDefinitionAPI.dll>
#using <NationalInstruments.VeriStand.SystemStorageUI.dll>
#using <NationalInstruments.VeriStand.WorkspaceMacro.dll>"
I have added these dll files to the src directory that also contains
VeristandToEpics.cpp.
When i now run "make" in <top> of my IOC i get the following error:
"C:\Users\Mark\EPICS\VeristandToEpics\VeristandToEpicsApp\src\VeristandToEpics.cpp(36):
error C2871: 'System': a namespace with this name does not exist
C:\Users\Mark\EPICS\VeristandToEpics\VeristandToEpicsApp\src\VeristandToEpics.cpp(46):
fatal error C1190: System::Object not found, missing /clr option or
missing import of standard assemblies?
make[3]: ***
[C:/Installationen/EPICS/base-7.0.4.1/base-R7.0.4.1/configure/RULES_BUILD:249:
VeristandToEpics.obj] Error 2
make[3]: Leaving directory
'C:/Users/Mark/EPICS/VeristandToEpics/VeristandToEpicsApp/src/O.windows-x64'
make[2]: ***
[C:/Installationen/EPICS/base-7.0.4.1/base-R7.0.4.1/configure/RULES_ARCHS:58:
install.windows-x64] Error 2
make[2]: Leaving directory
'C:/Users/Mark/EPICS/VeristandToEpics/VeristandToEpicsApp/src'
make[1]: ***
[C:/Installationen/EPICS/base-7.0.4.1/base-R7.0.4.1/configure/RULES_DIRS:85:
src.install] Error 2
make[1]: Leaving directory
'C:/Users/Mark/EPICS/VeristandToEpics/VeristandToEpicsApp'
make: ***
[C:/Installationen/EPICS/base-7.0.4.1/base-R7.0.4.1/configure/RULES_DIRS:85:
VeristandToEpicsApp.install] Error 2"
I use the "x64 Native Tools Command Prompt for VS 2019" for building and
playing around with EPICS. This has worked so far for all my tests and
builds.
Do you have an Idea what i am doing wrong? Do I need to edit the
Makefile or change compiler settings? Do i need to add more DLLs to my
src directory?
Thank you very much and kind regards
Markus
At the moment i am facing the following error: When i make my IOC
Am 23.12.2020 um 18:27 schrieb Mark Rivers:
> Hi Markus,
>
> I am not familiar with VeriStand, though from a quick look at their Web site I see it is a test framework that can use a variety of interfaces, including .NET Common Language Runtime (CLR).
>
> I have written one EPICS driver that uses the .NET CLR, namely the ADLightField driver in areaDetector:
>
> https://github.com/areaDetector/ADLightField
> https://areadetector.github.io/master/ADLightField/ADLightField.html
>
> It is based on the asynPortDriver C++ base class from the EPICS asyn module.
>
> I don't think that StreamDevice can be used as the interface between VeriStand and the SCADA because it is intended for string message interfaces, while I think you need a programmatic interface, e.g. C++.
>
> Mark
>
>
> -----Original Message-----
> From: Tech-talk <tech-talk-bounces at aps.anl.gov> On Behalf Of Markus Huber via Tech-talk
> Sent: Wednesday, December 23, 2020 10:28 AM
> To: EPICS tech-talk <tech-talk at aps.anl.gov>
> Subject: EPICS for Building a SCADA System for Energy Grids; Interface to NI VeriStand
>
> Dear EPICS Community,
>
> I am quite new to EPICS and have some general questions.
>
> I am looking for an open-source framework that enables me to develop a SCADA system for an experimental sector-coupled microgrid at a research lab our univerity.
> After watching some videos and presentations about EPICS and its support modules, i think EPICS might be the right tool for that. Now i wonder if you think so, too.
>
> In the beginning our system consists of three main parts:
>
> 1. A VeriStand application that bundles all signals from/to the field controllers.
> 2. A software interface that enables communication between VeriStand (in
> particular: VeriStand's .NET API) and our intended SCADA system.
> 3. Our SCADA system, which should provide an HMI, historian database, alarm handling, and so on.
>
> Later, it should be possible to connect other devices to the SCADA system without the detour via the VeriStand application (1. and 2.).
> In the beginning, all three components will run on the same host machine.
>
> Do you think EPICS is suitable to develop such a SCADA system (3.)?
> * If yes, can you recommend any support modules to implement an interface between (2.) and (3.)? Do you think Asyn and StreamDevice are suitable, or is there a simpler way?
> * If no, can you recommend any other, well-documented, modern, and open-source frameworks to develop a SCADA system?
>
> Thank you in advance and kind regards
> Markus Huber
> MSc Student (Computer Science) at TU Munich
>
- References:
- Re: EPICS for Building a SCADA System for Energy Grids; Interface to NI VeriStand Markus Huber via Tech-talk
- Navigate by Date:
- Prev:
Re: EPICS for Building a SCADA System for Energy Grids; Interface to NI VeriStand Markus Huber via Tech-talk
- Next:
RE: RETIGA? Pearson, Matthew R. via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
<2021>
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: EPICS for Building a SCADA System for Energy Grids; Interface to NI VeriStand Markus Huber via Tech-talk
- Next:
CS-Studio Alarm History configuration Vishnu Patel via Tech-talk
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
<2021>
2022
2023
2024
|