ELT ICS Function Control Framework
7.1.4
Introduction
Scope
Acronyms
Main Components
Git Repositories
Top Directory Structure (ifw-fcf)
Device Manager (fcfDevmgr)
Directory Structure
Device Simulators (devsim)
Graphical Interfaces (gui)
Directory Structure
PLC Libraries (controllers)
Directory Structure
Device Manager (fcfDevmgr)
Supported Devices
Shutters
Lamps
Motors
IODev
Sensors
Derotators
ADCs
Piezos
Actuator
SmarAct
MultiAxis
PSU8600
Device Manager State Machine
Command Line Arguments
Environment Variables
Configuration
CII Configuration Service (config-ng)
Device Manager Configuration
Device Base Configuration
Shutter Specific Configuration
Lamp Specific Configuration
IODev Specific Configuration
Psu8600 Specific Configuration
Motor Specific Configuration
Motor Initialisation
Named Positions
Motor Control
Unit Handling
Derotator Specific Configuration
Derotator Control
Operation modes
ADC Specific Configuration
ADC Control
Operation modes
MAxis Specific Configuration
MAxis Control
MAtrk Specific Configuration
MAtrk Control
Piezo Specific Configuration
Actuator Specific Configuration
Database Attributes
Server configuration
Server Status
Common Device Keys
Shutter
Lamp
IODev
Psu8600
Motor
Derotator
ADC
Piezo
Actuator
Command Interface
Error Handling
Serialization
Setup Command
Setup Interface Definition
DevStatus Command
Ignore Command
Simulate Command
DevNames Command
DevsInfo Command
DevConfig
Device Specific Commands
Open
Close
SwitchOn
SwitchOff
MoveAbs
MoveByName
StartTrack
StopTrack
TrackOffset
FITS Header Information
Common Keywords
Lamp Specific Keywords
Actuator Specific Keywords
Shutter Specific Keywords
Piezo Specific Keywords
Motor Specific Keywords
Derotator Specific Keywords
ADC Specific Keywords
IODev Specific Keywords
Troubleshooting
Logging
Loggers
Log File
Logging Viewer
OPC-UA Client
PLC Libraries
Common Attributes and Functionality
Library content
Input parameters
EtherCAT Operational State and FB Input variable i_nCouplerState
Interface with Device Manager
Operational Logs at PLC Level
PLC simulators
C++ Modules
Tracking
State Machine of Tracking Devices
Automatic TwinCAT Project Creation
Lamp Library (lamp.library)
State Machine
Input parameters
Signal Mapping
GUI Template
Lamp specific RPC Methods
Lamp Simulator
Simulator Mapping
Simulator RPC Methods
Shutter Library (shutter.library)
State Machine
Input parameters of FB_SHUTTER
Input parameters of FB_SHUTTER_PTP
Signal Mapping
GUI Template
Shutter specific RPC Methods
Shutter Simulators
Simulator Mapping
Simulator RPC Methods
Time Library (timer.library)
Input parameters
Signal Mapping using EL6688 terminal
Signal Mapping using NTP
TRS Diagnostic Data
GUI Template
Time specific RPC Methods
Motor Library (motor.library)
State Machine
Usage of NOVRAM
Input parameters
Signal Mapping
GUI Templates
Important Notes for motor INIT configuration:
Motor specific RPC Methods
Motor Simulator
Simulator Mapping
Simulator RPC Methods
User Defined Methods
Module ASTRO (FB_ASTRO)
Input parameters:
Output parameters:
Signal Mapping
Methods
GUI Template
Utils Library (utils.library)
CCS Simulator (ccssim.library)
Input parameters
Signal Mapping
GUI Template
CCS_SIM specific RPC Methods
CCS Library (ccslib.library)
Drot Controller (motor.library)
Input parameters
Signal Mapping
GUI Templates
Derotator specific RPC Methods
Derotator Simulator
User Defined Methods
ADC Controller (motor.library)
Input parameters
Signal Mapping
GUI Templates
ADC specific RPC Methods
ADC Simulator
User Defined Methods
I/O Device Library (ioDev.library)
State Machine of Sensor
Input parameters
User Customisation
Example 1: I/O Device with User Defined Scaling
Example 2: Sensor Device without User Defined Scaling
Signal Mapping
GUI Template
IODev specific RPC Methods
Signal Simulators
Simulator Mapping
Communication Libraries (rsComm*.library)
rsCommCommon.library
rsCommSerial.library
Signal Mapping
GUI Templates
Example code
rsCommTcp.library
Signal Mapping
GUI Templates
Example code
rsCommTcpRt.library
Adapter Configuration
GUI Templates
Example code
Piezo Library (piezo.library)
State Machine
Input parameters
Signal Mapping
GUI Template
Piezo specific RPC Methods
Piezo Simulator
Piezo Simulator RPC Methods
Simulator Mapping
Sample Code
Actuator Library (actuator.library)
State Machine
Input parameters
Signal Mapping
GUI Template
Actuator specific RPC Methods
Actuator Simulator
Simulator Mapping
Simulator RPC Methods
SmarAct Library (smarAct.library)
MCS2 Main Controller
MCS2 Control Interface
Example of M_ConfigureUser() method
Signal Mapping
GUI Template
Cryo Library (cryo.library)
CCC Library (ccc.library)
State Machine
Input Parameters
Signal Mapping
GUI Template
Creating PLC Applications with MakeTcProject Utility
Configuration File MakeTcProject.cfg
Utility Specifics
Summary of Main Steps
Building PLC Application
Testing PLC Application on Windows PC
Customizing PLC Application to match Instrument Project
PLC Application deployment to PLC
Client Application
List of Commands
Examples
Initialising the server
Moving the server to Operational state
Closing a Shutter Device
Moving a motor in absolute units
FCF Shell (CLI)
Command Line Parameters
Shell History
Shell Completion
Supported Shell Commands
using devnames command
using devstatus command
using devstatus_regex command
using switch_off command
using move command
using move_by_posangle command
using setup command
using DAQ commands
FCF Python Client Library
Error Handling
Classes
DevmgrCommand
Public Methods for building Setup Payload
Methods for Command Interface
Examples
Retrieving the Status
Executing a single
Setup
Using a custom buffer object
Using a custom buffer object with JSON files
JSON Schema
JSON file examples
Lamp Example:
Motor Example:
Drot Example:
MAxis Example:
Iodev Example:
FCF Schema
Device Simulator
Device Simulator - Command Line Options
Device Simulator - Base Application
Generation of the SCXML State Machine Model
Generation of the OPC UA Namespace Profile
Example
Device Simulators for Standard Devices
Actuator Device Simulator
ADC Device Simulator
DROT Device Simulator
I/O Device Simulator
Lamp Device Simulator
Motor Device Simulator
Piezo Device Simulator
Shutter Device Simulator
Developing a Device Simulator
Generate the Code of the Device Simulator
Adapt the Generated Code of the Device Simulator
Using “uabrowse”, “uacall”, “uaread” and “uawrite” to Interact with Device Simulator
Engineering Interfaces
Device Manager GUI (fcfGui)
Stylesheets
Dock Widgets
Device Widgets
Device Layout Organization
Selection Check-box
Device Name
Simulation Flag
Error Flag
Local Flag
Device States
Setup Button
Activity Feedback
Motor Widget
Drot Widget
Adc Widget
Motor Engineering GUI (fcfMotGui)
Initialisation Markers
Exporting Plotting Data
Lamp Engineering GUI
SmarAct Engineering GUI
Connection to the Server
Using a local configuration file
Programming Guide
Device Manager Extensions
Device Classes
Methods
Device Config
LCS Interface
FITS Header
Template
Top Directory Structure
Component Directory Structure
Custom Device
Custom Simulation
Extending JSON schema
Getting Started
Log-in
IFW Software
Database Server
INS Configuration
Device Manager Logs
Initialising the server
Using the
Device Manager
GUI (fcfGui)
Starting the GUI
Using the Python
Device Manager
GUI (fcfGui)
Starting the GUI
Using the
Motor Engineering
GUI (fcfMotGui)
Starting the GUI
Controlling Custom Device
Forcing a Syntax Error
Working with a PLC
Requirements
Stopping the Software
Stopping the GUI
Stopping the Software
ELT ICS Function Control Framework
Index
Index
D
|
F
D
devmgr
F
fcf
,
[1]
,
[2]
,
[3]
,
[4]
fcfDevmgr