170 likes | 359 Views
Control System Studio Training - Compiling, configuring, running CSS. Kay Kasemir ORNL/SNS kasemirk@ornl.gov 2011, October 17-21 at CEA Saclay, France. Getting CSS to run from source code. Get Java, Eclipse, CSS Sources Start Eclipse “Import” sources into Workspace
E N D
Control System Studio Training-Compiling, configuring,running CSS Kay Kasemir ORNL/SNS kasemirk@ornl.gov 2011, October 17-21 at CEA Saclay, France
Getting CSS to run from source code • Get Java, Eclipse, CSS Sources • Start Eclipse • “Import” sources into Workspace • Open CSS *.product file, Launch • Maybe export *.product
Java, Eclipse • Check: Is java available? java -version Need Java 1.6, Sun/Oracle; Not GCJ, OpenJDK • Start Eclipse eclipse/eclipse “Workspace”:use CSS/Workspace in your home directory
Eclipse Workspace • Workspace:Directory with“.metadata”subdir. • Tracks currentlyopen window, … • Source code:May be in Workspace dir.or elsewhere • We use CSS/Sources in home dir.
Eclipse Workspace “Import” Sourcesinto Workspace: • File/Import…,General,Existing Projectsinto Workspace • Select source directory,import all projects found • Do not“Copy projects into Workspace” Note: Need to “Import” even if sources are already located in workspace directory
Run Product Open org.csstudio.basic.epics.product/*.product Press • Synchronize • Launch an Eclipse application
Control System Want to concentrate on CSS .. still need a control system to talk to • Use built-in simulation PVs sim://sine sim://ramp sim://noise • Use provided demo databasessoftIoc -m user=demo1 –s -d tank.db -d control.db Use your group number instead of “1”. Run ‘dbl’ to see list of records.
First Steps • Check CSS/Preferences/CSS Core/EPICS • Channel Access address list: 127.0.0.1? • CSS/Diagnostic Tools/Probe • CSS/Diagnostic Tools/EPICS PV Tree • Move Windows around • Context menu
Check Point • We can compile, launch, use CSS • Brief Look: Composition of a “Product” • Hierarchical Preferences
Brief Look: Plugins, Extension Points • org.csstudio.diag.probe • plugin.xml • Dependency on ..utility.pv • org.csstudio.utility.pv • Extension point pvfactory • org.csstudio.utility.pv.epics • Implements that ext. point for “ca” • Depends on ..libs.epics • org.csstudio.platform.libs.epics
Hierarchical Preferences • org.csstudio.platform.libs.epics preferences.ini: addr_list= • Product’s plugin_customization.ini: org.csstudio.platform.libs.epics/addr_list=127.0.01 • Command-line
Exercise: Preferences • In your home directory, create a file “my_css_settings.ini” • Add a line org.csstudio.platform.libs.epics/addr_list=127.0.01 1.2.3.4 • Use the IP address of your computer instead of 1.2.3.4 • Run CSS with option -pluginCustomization /path/to/your/my_css-settings.ini • Need to check menu Run/Run Configurations… to do this from within the IDE • When you now view the CSS/Preferences/CSS Core/EPICS settings, press “Default”, does it use the value from your settings.ini?
Exporting a Product Export Product • Root DirectoryName, e.g. “css” no path! • Destination DirectoryPath,e.g. /usr/fred/CSS/bin • Un-check “Generate metadata repository” • Finish, try the result
Exercise: Various smaller CSS Products • Find all *.product files (see docbook) • Start from IDE, or export & then start: org.csstudio.archive.engine/ArchiveEngine.product org.csstudio.archive.config.rdb/ArchiveConfigTool.product org.csstudio.alarm.beast.server/AlarmServer.product org.csstudio.alarm.beast.configtool/AlarmConfigTool.product org.csstudio.sns.jms2rdb/JMS2RDB.product The point is to be able to start these tools.They will exit with errors, for example about missing database connections.For now you should simply be able to start them.
Advanced Exercise: Update Repository • Export product, copy somewhere • This will be the “old” product. • Change something in code • Product’s into/overview.xml? • Product’s plugin_customization.ini settings • Increment version number of affected plugin, feature, product • Export new product with “Generate metadata repository” • This is now the “new” product. Locate the generated repository. • You could run the new product, but start the old Product, then use Help/.. to update from repository to the new product
Advanced Exercise: Headless Build • Read the docbook chapter • Check scripts of one or more existing headless build setups • Try to use one