Development of EPICS device support on the MELSEC iQ-R embedded Linux controller

At the RIKEN Radioactive Isotope Beam Factory (RIBF), commercial PLCs are used in various accelerator subsystems. Among them, the Yokogawa FA-M3 series with a Linux CPU module running EPICS IOC has been successfully adopted. Following this model, and in response to user requests, we implemented a similar architecture using the embedded Linux controller (RD55UP12-V) of Mitsubishi Electric’s MELSEC iQ-R series. Conventional MELSEC-based integration with EPICS has relied on asynchronous device support communicating over TCP/IP (e.g., MC protocol). These approaches often face reliability issues, such as socket disconnections and failed reconnections after network disruptions. To address these problems, we developed a native EPICS device support that runs directly on the MELSEC Linux CPU. A Python-based prototype using PyDevice was first created for rapid development and verification, incorporating a thread-safe worker architecture. Based on its success, we re-implemented the support in C++ using the asynPortDriver class of the EPICS asynDriver module. The C++ version provides improved performance, robust multithreading, and better maintainability. This paper presents the development process, differences between the Python and C++ implementations, and results from system integration within the RIBF control environment.

Publication Details

Journal
JACOW
Published
2025-12-05
DOI
https://doi.org/10.18429/jacow-icalepcs2025-tupd100
Primary Topic
Embedded Systems and FPGA Design
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Development of EPICS device support on the MELSEC iQ-R embedded Linux controller

JACOW
Embedded Systems and FPGA Design
article

Development of EPICS device support on the MELSEC iQ-R embedded Linux controller

article en

Abstract

At the RIKEN Radioactive Isotope Beam Factory (RIBF), commercial PLCs are used in various accelerator subsystems. Among them, the Yokogawa FA-M3 series with a Linux CPU module running EPICS IOC has been successfully adopted. Following this model, and in response to user requests, we implemented a similar architecture using the embedded Linux controller (RD55UP12-V) of Mitsubishi Electric’s MELSEC iQ-R series. Conventional MELSEC-based integration with EPICS has relied on asynchronous device support communicating over TCP/IP (e.g., MC protocol). These approaches often face reliability issues, such as socket disconnections and failed reconnections after network disruptions. To address these problems, we developed a native EPICS device support that runs directly on the MELSEC Linux CPU. A Python-based prototype using PyDevice was first created for rapid development and verification, incorporating a thread-safe worker architecture. Based on its success, we re-implemented the support in C++ using the asynPortDriver class of the EPICS asynDriver module. The C++ version provides improved performance, robust multithreading, and better maintainability. This paper presents the development process, differences between the Python and C++ implementations, and results from system integration within the RIBF control environment.

JACOW
Industry, innovation and infrastructure
Openalex Percentile: Top 40%
Embedded Systems and FPGA Design
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.