Hello,
I’ve been working towards building the
TwinCAT-EPICS IOC constructed by the LIGO collaboration. We are building the system on a Window 7 x64 machine, Visual Studio 2012, EPICS base base-3.14.12.3, TwinCAT3.
Note: the docs states ‘the TwinCAT ADS Communication Library that comes with TwinCAT PLC v2.11.1551’, from my understanding there has been no changes in the TwinCAT3 ADS API, nor the TwinCAT engineering tpy XML files it generates.
Just some things I had problems with earlier and have solved. I was originally trying to build the EPICS base with the MinGW GCC, I ran into a few issues when later building the TwinCAT-EPICS IOC. The compiler was complaining about some Time related
pre-processes. I ended up using the Visual Studio toolchain, and this solved those issues.
TwinCAT-EPICS IOC build. The instructions are documented as followed.
-
Open tcIoc.sln in MSVS, then build 'debug' or 'release' version. Note:
I removed the Revision package and an SVN include.
-
Run install.ps1 to install. (installs binaries from IOC and EPICS base; Note:
ConstrolState.lib, csdinfo.exe were missing after build?)
My problem us the app is crashing…
-
I compiled the IOC with no errors in VS, although I’ve noticed in the script that two binaries were missing from my build.
ConstrolState.lib, csdinfo.exe. The install script indicates that these should have been built with the IOC. Does anyone what the roles of these are and which source builds them?
-
I ignored these binaries for now and continued with the install, I attempted to run the IOC. (maybe the problem because I ignored these binaries)
See except from console, I followed the instruction for the docs, under running the IOC.
C:\SlowControls\EPICS\Utilities\Bin>tcioc
ads-port not opened
Initialization completed in 0.000000 seconds.
epics> dbLoadDatabase("..\TCatDeviceSupport\dbd\tCat.dbd",0,0)
filename="..\dbLexRoutines.c" line number=243
No such file or directory dbRead opening file ..\TCatDeviceSupport\dbd\tCat.dbd
epics> dbLoadDatabase(".\TCatDeviceSupport\dbd\tCat.dbd",0,0)
epics> tCat_registerRecordDeviceDriver(pdbbase)
epics> callbackSetQueueSize(5000)
epics> tcSetScanRate(10,5)
Scan rate is 10 ms and epics update rate is 5x slower.
epics> tcLoadRecords("C:\SlowControls\Target\CX9020.tpy", "")
Loaded 15 records from C:\SlowControls\Target\CX9020.tpy.
Tpy parsing took 0.007000 seconds.
C:\SlowControls\EPICS\Utilities\Bin>
The application crashes after parsing the TPY file, I’m speculating it’s when in attempts to create the DBD file. I’m currently looking into how I can debug through the application with VS.
Could someone also explain a bit better what the role of TCatDeviceSupport & InfoDeviceSupport and how they a supposed to be accessed and by whom?
Thank you,
Shaun K*
Accelerator Operations
Environmental Research
Australian Nuclear Science and Technology Organisation
|
|
Important: This transmission is intended only for the use of the intended addressee. It is confidential to the intended addressee and may contain
privileged information and or copyright material. If this email is not intended for your attention, any use, printing, storage , reproduction or further disclosure of this communication (including all attachments) is strictly forbidden. If you have received
this transmission in error, please notify me by telephone or email and immediately delete all copies of this transmission as well as any attachments.