Glossary
This page contains definitions of frequently used terms in CDP Studio and the CDP Framework
Definitions
Alarm | An Alarm is an event and can be triggered when different conditions occur. All alarms/events are received by the event subscriber, and can be shown in the GUI using the Event List widget. |
Application | An application contains a collection of component instances (objects) that are connected together and runs on a single computer. |
CDPNode | The CDPNode is a common base class that enables exposing application structure through StudioAPI. |
Component | A component is an object that contains control system logic. The component reads it’s inputs, executes the logic and writes to the output. A component is like a micro service or a PLC function block, and is executed at a defined frequency. |
Connector | A Connector handles the communication between 2 Components or CDP Objects. The components can be in different applications but must be in the same system. Connectors simplify sending messages to an object, and retrieval of information about an object. |
Controller | A computer that runs a control or automation system. Typical examples are an Industrial PC (IPC) with Linux or Windows, an industrial controller like the Wago PFC 200, PLCnext from Phoenix Contact or a small embedded device with Linux. |
fs - frequency | The fs / frequency is a property in all components and it specifies how many times the component will be executed (run) per second. E.g. if fs = 10, the component will be run 10 times per second. |
GUI | Graphical User Interface, shown on a display device. |
HMI | Human Machine Interface, such as screens, physical buttons, joysticks, haptic devices and/or other input/output interfaces. |
IOServer | IO Servers are special Components that are used to read and/or write data to external interfaces. Typical examples of use are the pre-made industry protocols such as OPC UA, Modbus, CANopen,MQTT, SNMP etc. The IO Server code runs in special threads so it can perform lengthy processing; This is not allowed in normal components that require the code to be non-blocking. |
Library | You develop your own components using Code Mode and the components are placed in libraries. When the library is built, the components in the library are added as resources to CDP Studio and becomes available to use in your projects. |
Message | A message is a predefined text string that can be sent to another component. Messages are very useful when you want to communicate between components that do not require regular updates. This uses far less resources than a CDP Signal. Sending a message requires that a Connector exist. |
Operator | An operator is a mathematical function and is often used in automation systems. There are several premade mathematical functions available and these range from simple 'add'-functions to Kalman filters and PID regulators. New operators may be created. An operator can be a standalone object in the application, or attached to a component input or output signal The signal value will then be altered according to the selected function before or after processing the component. The operators may be chained, and it is possible to use dynamic values like Signals or Parameters in the operators. |
Parameter | A Parameter holds a persistent data value and is used for values that are rarely changed. Parameter values are automatically saved to the configuration file and the value is remembered. I.e. The Parameter reads its value from the configuration on startup, effectively restoring the value that was last set. |
Port | A Port is a collection of properties or can be used to connect a set of values between two locations (e.g. 2 components). Ports are useful when you need to bulk connect a list of values. Using a port allows you to make a single routing in the system to connect, instead of routing every signal in the port (group) one at a time. Ports can carry bidirectional data. |
Property | A Property is a named value that can be used as an ordinary variable. It can hold data as strings or any of the standard numeric types. Properties are normally used for values you do not need to send to or receive from other components and is only available from code. The properties can be set up to send values periodically (like a signal) or on event (value change). |
Routing | The way CDP Studio connects components together, or connects GUI widgets to components, is called Routing. CDP Studio uses name-based routing uniquely defined by the syntax: <Application>.<component>.<possibly-more-objects-inbetween>.<property>. GUI is connected to a component using the widget’s cdpRouting property. See How to Propagate Data with Routings for more information about Routing. |
Signal | A signal holds a value that changes over time. A signal is a value that a component exposes, and other components or GUI can subscribe to. It is similar to a variable in PLC programming. A signal is very useful when a value requires continuous updates and it is updated every time the component is executed. |
State Machine / State Transition | All components have a built-in state machine and support state transitions. States and state transitions are added to a component using wizards. When using a state machine, only the logic defined in the current state is executed. A state transition is triggered only when the logic in that state transition (process) returns true. Running all logic in the initial state Null is the same as not using the state machine. |
Subcomponent | The components in an application may be placed in a hierarchy. Components owned by a parent component are called subcomponents. Each Subcomponent has its own independent fs - frequency. |
System | A system (project) contains one or more applications that work together to form a working control system. |
Theme (GUI) | A theme is a styling template used for graphical user interfaces. A theme sets the general look and feel for all the widgets used in a GUI. |
Widget (GUI) | A widget is an element in a graphical user interface. It allows a user to interact with an application; either by reading out or by setting values. Examples of widgets are buttons, meters, sliders, lamps etc. |
Get started with CDP Studio today
Let us help you take your great ideas and turn them into the products your customer will love.