TcOpen

  • Articles
  • API reference
Show / Hide Table of Contents
  • Introduction
  • Conventions
    • General
    • Components
  • TcOpen Framework
    • TcoCore
      • Introduction
      • TcoContext
      • TcoObject
      • TcoTask
      • TcoState
      • TcoSequencer
      • TcoComponent
      • TcoMessenger
      • TcoLogger
      • TcoDialogs
    • TcoData
      • Introduction
    • TcoInspectors
      • Introduction
    • Howto(s)
      • How to get started using TcOpen libraries
      • How to write a sequence
      • How to include TcOpen in a project
  • TcOpen Inxton
    • Colors Material Design WPF
    • Inxton Conventions
    • Inxton.Vortex.Framework.Blazor
      • Introduction and installing
      • RenderableContentControl
      • Layouts
      • Custom libraries
      • Security

TcOpen Framework

TcOpen framework provides blocks for building industrial applications and creating reusable software components for various devices like Pistons, Drives, Robots, Vision systems, etc.

Part of the framework is a series of classes/blocks for crafting applications using techniques known from software engineering. TcOpen is created in the OOP paradigm and takes full advantage of object-oriented design allowed by CoDeSys/TwinCAT 3 implementation of IEC-61131-3.

The ultimate goal of this initiative is to provide automation engineers with well-designed, testable, scalable, and reusable blocks to facilitate the development, commissioning, and maintainability of the industrial application software.

TcOpen application dissection

The following diagram shows schematics of a simple TcOpen application. The station contains a manipulator with a single drive for a horizontal axis movement, a pneumatic piston for vertical axis movement, and a pneumatic gripper.

TcOpenApplicationOverview.png

The blocks of an TcOpen application require to be nested into a root block called Context that derives from TcoContext or implements ITcoContext interface. In our case, it is AppContext block.

The next level is Station001 that derives from TcoObject (about TcoObject later). It suffices to say the TcoObject is the base block of each other block in the TcOpen framework.

The components (drive, pistons) are encapsulated into a single structure, Station001_Components (HorizontalDrive, VerticalPiston, Gripper) and it that also derives from TcoObject.

Besides components, the station contains two Sequences, Station001_GroundMode that brings the manipulator to the ground state (home positioning), and Station001_AutomatMode that performs the manipulator's activities in automatic mode.

The components (Drive, Piston) have a set of tasks (MoveHome, MoveAbsolute, etc.). All tasks are or derive from TcoTask within which the actions are running. The TcoTask work with two methods in tandem: Invoke fires the execution (in our case, this occurs in the sequences) and Execute with an implementation in the components block, that run the required action.

TcoCore library

TcoCore library contains basic classes for building TcOpen applications (components, tasks management, coordination primitives). The default namespace for this library is TcoCore. All types in this library have Tco prefix for classes and ITco and for interfaces.

  • TcoContext
  • TcoObject
  • TcoTask
  • TcoComponent
  • TcoState
  • TcoSequencer
  • TcoMessenger
  • TcoLogger
  • TcoDialogs
  • Improve this Doc
In This Article
Back to top

Generated by DocFX | Delivered by TcOpenGroup contributors