Trinamic TMCL IOC for exposing Trinamics motor controllers to EPICS CA
- Trinamic TMCL IOC is a Python package designed for controlling stepper motors connected to a Trinamic board using the TMCL language (all boards supported by PyTrinamic should now work, has been tested on the TMCM 6110 and the TMCM 6214). Since it is implementing the TMCL protocol, it should be easy to adapt to other Trinamic motor controller boards. This package assumes the motor controller is connected over a machine network via a network-to-serial converter, but the underlying PyTrinamic package allows for other connections too. This allows the control of attached motors via the EPICS Channel-Access virtual communications bus. If EPICS is not desired, plain Pythonic control via motion_control should also be possible. An example for this will be provided in the example.ipynb Jupyter notebook. This package leverages Caproto for EPICS IOCs and a modified PyTrinamic library for the motor board control, and interfaces between the two via an internal set of dataclasses. ConfigurationTrinamic TMCL IOC is a Python package designed for controlling stepper motors connected to a Trinamic board using the TMCL language (all boards supported by PyTrinamic should now work, has been tested on the TMCM 6110 and the TMCM 6214). Since it is implementing the TMCL protocol, it should be easy to adapt to other Trinamic motor controller boards. This package assumes the motor controller is connected over a machine network via a network-to-serial converter, but the underlying PyTrinamic package allows for other connections too. This allows the control of attached motors via the EPICS Channel-Access virtual communications bus. If EPICS is not desired, plain Pythonic control via motion_control should also be possible. An example for this will be provided in the example.ipynb Jupyter notebook. This package leverages Caproto for EPICS IOCs and a modified PyTrinamic library for the motor board control, and interfaces between the two via an internal set of dataclasses. Configuration for the motors and boards are loaded from YAML files (see tests/testdata/example_config.yaml). The modifications to PyTrinamic involved extending their library with a socket interface. This was a minor modification that should eventually find its way into the official package (a pull request has been submitted).…
Autor*innen: | Brian Richard PauwORCiD |
---|---|
Koautor*innen: | Anja HörmannORCiD |
Dokumenttyp: | Forschungsdatensatz |
Veröffentlichungsform: | Graue Literatur |
Sprache: | Englisch |
Jahr der Erstveröffentlichung: | 2024 |
Organisationseinheit der BAM: | 6 Materialchemie |
6 Materialchemie / 6.5 Synthese und Streuverfahren nanostrukturierter Materialien | |
Herausgeber (Institution): | Bundesanstalt für Materialforschung und -prüfung (BAM) |
Verlag: | Zenodo |
Verlagsort: | Geneva |
DDC-Klassifikation: | Naturwissenschaften und Mathematik / Chemie / Analytische Chemie |
Technik, Medizin, angewandte Wissenschaften / Ingenieurwissenschaften / Ingenieurwissenschaften und zugeordnete Tätigkeiten | |
Freie Schlagwörter: | Channel access; EPICS; Instrument control; Instrumentation; Laboratory automation; Motor controller |
Themenfelder/Aktivitätsfelder der BAM: | Chemie und Prozesstechnik |
Chemie und Prozesstechnik / Chemische Charakterisierung und Spurenanalytik | |
Material | |
Material / Nano | |
Art der Ressource: | Software |
Ort der Datenerhebung: | Berlin, Germany |
DOI: | 10.5281/zenodo.10792593 |
Beschreibung der Datei(en) : | Complete software package for exposing Trinamics motor controllers to the EPICS industrial control system's Channel Access (CA) ethernet-based communications bus. |
Verfügbarkeit des Dokuments: | Datei für die Öffentlichkeit verfügbar ("Open Access") |
Lizenz (Deutsch): | Creative Commons - CC BY - Namensnennung 4.0 International |
Datum der Freischaltung: | 14.03.2024 |
Referierte Publikation: | Nein |
Schriftenreihen ohne Nummerierung: | Forschungsdatensätze der BAM |