<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.2 20190208//EN" "http://jats.nlm.nih.gov/publishing/1.2/JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="1.2" xml:lang="en">
    <front>
        <journal-meta>
            <journal-id journal-id-type="pmc">F1000Research</journal-id>
            <journal-title-group>
                <journal-title>F1000Research</journal-title>
            </journal-title-group>
            <issn pub-type="epub">2046-1402</issn>
            <publisher>
                <publisher-name>F1000 Research Limited</publisher-name>
                <publisher-loc>London, UK</publisher-loc>
            </publisher>
        </journal-meta>
        <article-meta>
            <article-id pub-id-type="doi">10.12688/f1000research.176034.1</article-id>
            <article-categories>
                <subj-group subj-group-type="heading">
                    <subject>Research Article</subject>
                </subj-group>
                <subj-group>
                    <subject>Articles</subject>
                </subj-group>
            </article-categories>
            <title-group>
                <article-title>Enhancing Industrial Automation in Industry 4.0: Integrating Node-RED with Real PLCs for Analog and Digital Signal Simulation. &#x202f;</article-title>
                <fn-group content-type="pub-status">
                    <fn>
                        <p>[version 1; peer review: 1 approved, 1 approved with reservations]</p>
                    </fn>
                </fn-group>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Hussein</surname>
                        <given-names>Firas Ahmed</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Data Curation</role>
                    <role content-type="http://credit.niso.org/">Investigation</role>
                    <role content-type="http://credit.niso.org/">Software</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Original Draft Preparation</role>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <contrib contrib-type="author" corresp="yes">
                    <name>
                        <surname>Tariq  Yaseen</surname>
                        <given-names>Mohammad</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Conceptualization</role>
                    <role content-type="http://credit.niso.org/">Methodology</role>
                    <role content-type="http://credit.niso.org/">Supervision</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <uri content-type="orcid">https://orcid.org/0000-0001-7173-8684</uri>
                    <xref ref-type="corresp" rid="c1">a</xref>
                    <xref ref-type="aff" rid="a1">1</xref>
                    <xref ref-type="aff" rid="a2">2</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Obaid Mustafa</surname>
                        <given-names>Mohammed</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Project Administration</role>
                    <role content-type="http://credit.niso.org/">Validation</role>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <aff id="a1">
                    <label>1</label>Department of Electrical Engineering ,College of Engineering, University of Mosul, Mosul, Nineveh Governorate, 41001, Iraq</aff>
                <aff id="a2">
                    <label>2</label>Department of Communications and Intelligent Digital Systems Engineering, University of Mosul, Mosul, Nineveh Governorate, 41001, Iraq</aff>
            </contrib-group>
            <author-notes>
                <corresp id="c1">
                    <label>a</label>
                    <email xlink:href="mailto:mtyaseen@uomosul.edu.iq">mtyaseen@uomosul.edu.iq</email>
                </corresp>
                <fn fn-type="conflict">
                    <p>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>24</day>
                <month>4</month>
                <year>2026</year>
            </pub-date>
            <pub-date pub-type="collection">
                <year>2026</year>
            </pub-date>
            <volume>15</volume>
            <elocation-id>617</elocation-id>
            <history>
                <date date-type="accepted">
                    <day>8</day>
                    <month>4</month>
                    <year>2026</year>
                </date>
            </history>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2026 Hussein FA et al.</copyright-statement>
                <copyright-year>2026</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access article distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <self-uri content-type="pdf" xlink:href="https://f1000research.com/articles/15-617/pdf"/>
            <abstract>
                <sec>
                    <title>Background</title>
                    <p>Within the framework of Industry 4.0, industrial automation plays a pivotal role in the development of smart systems. Programmable logic controllers (PLCs) are the core components of these systems, enabling precise control of various industrial processes, while recent advancements emphasize the integration of open-source platforms to enhance system monitoring, simulation, and testing capabilities.</p>
                </sec>
                <sec>
                    <title>Methods</title>
                    <p>In this study a real PLC from Allen-Bradley has been used, specifically the MicroLogix 1400, and also used Node-RED (Node-RED is an open-source, multitasking, easy-to-use graphical programming environment based on composing flows consisting of groups of specialized nodes to perform specific tasks) as a standalone simulator for analog and digital input and output signals. The presented study demonstrates how Node-RED can be used as an advanced PLC simulator to simulate analog and digital signals, either manually or automatically, enhancing the role of industrial automation in Industry 4.0.</p>
                </sec>
                <sec>
                    <title>Results</title>
                    <p>The results demonstrated that Node-RED is a practical simulator for both analog and digital signals, with stable communication and consistent response behavior. and can be used to simulate complex industrial environments, enabling comprehensive testing and continuous improvement to achieve optimal results before implementing PLC systems in real-world settings.</p>
                </sec>
                <sec>
                    <title>Conclusions</title>
                    <p>The research confirms that connecting the Node-RED tool with a real PLC is a useful, cost-effective solution and practical technique to simulate analog and digital (input/output) signals in industrial automation systems before implementing the PLC in the real world. This strategy improves cold commissioning efficiency and system reliability; these are the aims of Industry 4.0.</p>
                </sec>
            </abstract>
            <kwd-group kwd-group-type="author">
                <kwd>Node-RED Tool</kwd>
                <kwd>Real PLC</kwd>
                <kwd>Industrial Internet of Things (IIOT)</kwd>
                <kwd>Analog and Digital Signals Simulator.</kwd>
            </kwd-group>
            <funding-group>
                <funding-statement>The author(s) declared that no grants were involved in supporting this work.</funding-statement>
            </funding-group>
        </article-meta>
    </front>
    <body>
        <sec id="sec5" sec-type="intro">
            <title>Introduction</title>
            <p>The Fourth Industrial Revolution, referred to as Industry 4.0 (I4.0), aims to integrate traditional systems such as the Programmable Logic Controller (PLC), which is characterized by ease of operation, high speed, excellent reliability, noise resistance, and outstanding stability, making it highly beneficial for automation control applications
                <sup>
                    <xref ref-type="bibr" rid="ref1">1</xref>
                </sup>,
                <sup>
                    <xref ref-type="bibr" rid="ref2">2</xref>
                </sup> with modern technologies including the Industrial Internet of Things (IIoT). IIoT enables remote access to industrial physical objects anytime and anywhere with an internet connection
                <sup>
                    <xref ref-type="bibr" rid="ref3">3</xref>
                </sup>,
                <sup>
                    <xref ref-type="bibr" rid="ref4">4</xref>
                </sup> and cloud computing, which combines various disciplines such as sensing technology, data processing, and analytics to enhance efficiency and productivity
                <sup>
                    <xref ref-type="bibr" rid="ref5">5</xref>
                </sup>.
                <sup>
                    <xref ref-type="bibr" rid="ref6">6</xref>
                </sup> Node- RED, an open-source development environment created by IBM,
                <sup>
                    <xref ref-type="bibr" rid="ref7">7</xref>
                </sup> is flow-based and facilitates integration between PLCs and databases.
                <sup>
                    <xref ref-type="bibr" rid="ref2">2</xref>
                </sup> Therefore, Node-RED, based on the Node.js engine using JavaScript, is considered one of the good solutions for system integration.
                <sup>
                    <xref ref-type="bibr" rid="ref8">8</xref>
                </sup> Node-RED has recently gained significant global popularity due to its simplicity and versatility.
                <sup>
                    <xref ref-type="bibr" rid="ref7">7</xref>
                </sup> Recently, some manufacturers of programmable logic controllers (PLCs) have promoted the use of virtualized PLCs (vPLCs) hosted within edge computing platforms.
                <sup>
                    <xref ref-type="bibr" rid="ref9">9</xref>
                </sup> However, traditional PLC simulators face significant challenges in effectively supporting analog signals, limiting their ability to simulate complex work environments. In this study, we propose a model and present Node-RED flows to use it as a simulator for analog and digital signals (input/output) and integrate it with real PLCs.
                <sup>
                    <xref ref-type="bibr" rid="ref9">9</xref>
                </sup> The integration is achieved via the EtherNet/IP protocol, creating a real simulation of the PLC as if it were installed in a real environment, where it sends and receives signals to and from various sensors at the worksite. The signal values can be manually modified through a user interface in Node-RED called the Dashboard.
                <sup>
                    <xref ref-type="bibr" rid="ref7">7</xref>
                </sup> Analog input and output signals linked to the PLC can also be automatically adjusted, mimicking real signals interacting with any analog sensor on-site using custom JavaScript codes.
                <sup>
                    <xref ref-type="bibr" rid="ref8">8</xref>
                </sup> Thus, the state of the sensors is evaluated, the PLC&#x2019;s strength and stability are tested, and weaknesses in the programming software (RSLOGIX 500 in this study) are addressed to provide the necessary solutions before deploying the PLC in a real environment. The research successfully achieved its goal of integrating traditional control systems with advanced technologies of Industry 4.0. It also confirmed that IIoT offers many advantages for industry in terms of time, cost, and production efficiency. Most importantly, applying IIoT represented by the Node-RED platform in this research facilitates industrial processes.
                <sup>
                    <xref ref-type="bibr" rid="ref3">3</xref>
                </sup>
            </p>
            <p>This research aims to enhance the integration of analog and digital signals and evaluate their role in improving industrial performance within the framework of Industry 4.0. Additionally, the study seeks to understand how Node-RED can be used as a &#x201c;translation&#x201d; tool that enables legacy PLC systems to communicate over the internet with Industry 4.0 devices.</p>
            <p>The significance of this research lies in highlighting the effectiveness of Node-RED as a reliable simulator for analog and digital signals (input/output) transmitted from sensors and field devices to programmable logic controllers (PLCs). The study specifically focuses on Allen-Bradley PLCs by presenting a practical model that demonstrates how to connect and operate Node-RED with a real PLC (AB MicroLogix 1400), as shown in 
                <xref ref-type="fig" rid="f1">
Figure 1</xref>.</p>
            <fig fig-type="figure" id="f1" orientation="portrait" position="float">
                <label>
Figure 1. </label>
                <caption>
                    <title>The Architecture of the System: This figure illustrates the connections between the system components in this study, the relationship between them, and how they integrate into the simulation and control process.</title>
                </caption>
                <graphic id="gr1" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure1.gif"/>
            </fig>
            <sec id="sec6">
                <title>Related work</title>
                <p>Studies indicate that Node-RED is an effective solution for bridging traditional and modern control systems, offering a visual interface and advanced data analysis. Research shows that integrating Node-RED with PLCs helps overcome the limitations of traditional simulators, making it a preferred choice for control systems in Industry 4.0. A. Hijazi et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref2">2</xref>
                    </sup> built a complex connection between PLCs, Node-RED, and four different databases (MSSQL, MySQL, MongoDB, and Apache Cassandra). Faisal Bahri et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref3">3</xref>
                    </sup> successfully achieved remote control and monitoring of IoT-based induction motors using Node-RED, which performed as expected. Sri Sudha Vijay Keshav Kolla et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref5">5</xref>
                    </sup> created a simple framework to retrofit legacy machines using external sensors to collect data and transmit it to cloud databases for analysis and monitoring purposes. Gabriel Gaspar et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref6">6</xref>
                    </sup> focused on upgrading an old climate chamber to meet current requirements using a Node-RED-based solution. This solution entirely replaces the outdated system while providing options for low-cost hardware and software additions. Massimiliano Gaffurini et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref9">9</xref>
                    </sup> presented methodology, practical experiments, and a number of metrics to establish the communication and transfer data between PLCs and vPLCs. Daniel Ribeiro de Sousa et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref10">10</xref>
                    </sup> proposed a model and presented Node-RED flows to achieve Industry 4.0 capabilities on S7&#x2013;300 Siemens PLCs connected via a PROFIBUS network. Antonio Mor&#x00e1;n et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref11">11</xref>
                    </sup> created an educational system that allows students to access remotely using virtual machines configured with all the software needed to learn industrial automation. Mohamed Saban et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref12">12</xref>
                    </sup> introduced a dedicated smart farming system utilizing low-cost, low-power, long-range wireless sensor networks based on IoT and LoRa technologies. G. Esteves Coelho et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref13">13</xref>
                    </sup> proposed a methodology to integrate modern systems into legacy infrastructure. Likewin Thomas et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref14">14</xref>
                    </sup> designed a low-cost home automation system that supports the Internet of Things, IoT. The Node-RED platform was used, which uses nodes to represent tasks and processes. This system can operate various household appliances, including sockets, from anywhere. Wireless Sensor Network (WSN) technology records data and uploads it to a web server from each room, while these technologies communicate using the MQTT protocol. Francisco Javier Folgado et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref15">15</xref>
                    </sup> presented a reference document and detailed steps for the design and deployment of Industry 4.0 based automation and supervision systems. Erik Ku&#x010d;era et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref16">16</xref>
                    </sup> prepared educational case studies of modeling and controlling a virtual system using PLC and linking it to a cloud-based control and monitoring application, in order to achieve the goal of digitizing production processes. M. M. Ahmadpanah et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref17">17</xref>
                    </sup> Proposed solutions to address security risks in Node-RED and protect against malicious and unwanted flows and nodes. Onwuegbuzie et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref18">18</xref>
                    </sup> presented an integrated platform combining Node-RED with IoT analytics for real-time data processing and visualization, demonstrating its effectiveness in industrial IoT applications. Nugraha et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref19">19</xref>
                    </sup> used the effectiveness of integrating the temperature sensors of an IoT into the Node-RED platform to monitor transformers in the laboratory, for predictive maintenance and energy optimization. Sousa et al. in
                    <sup>
                        <xref ref-type="bibr" rid="ref20">20</xref>
                    </sup> upgraded legacy control systems to Industry 4.0 standards using Node-RED and OPC-UA as a low-cost solution.</p>
                <p>This research presents a new contribution on the role of the Node-RED tool in simulating analog and digital control signals, highlighting its significant potential that has not been exploited compared to previous studies, using it as an analog and digital I/O simulator when integrated with a Rockwell Automation PLC, specifically the Allen-Bradley MicroLogix 1400 PLC, by using the Ethernet/IP protocol.</p>
            </sec>
            <sec id="sec7">
                <title>Comparison with previous research</title>
                <p>In order to better place this study within the body of research already available, an organized comparison was made between it and the most current studies that were relevant, specifically the research by Sousa et al. on &#x201c;Upgrading Legacy Systems for Industry 4.0 with Node-RED and OPC-UA.&#x201d; The comparison is mostly about important technical factors like signal types, communication methods, how well they work in the real world, and data analysis, as shown in 
                    <xref ref-type="table" rid="T1">
Table 1</xref>.</p>
                <table-wrap id="T1" orientation="portrait" position="float">
                    <label>
Table 1. </label>
                    <caption>
                        <title>Comparison between this study and previous work: This table shows the main differences and similarities, as well as the research gaps that this study seeks to resolve.</title>
                    </caption>
                    <table content-type="article-table" frame="hsides">
                        <thead>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">Sousa et al. in
                                    <sup>
                                        <xref ref-type="bibr" rid="ref20">20</xref>
                                    </sup> (Upgrading Legacy Systems for Industry 4.0 with Node-RED and OPC-UA)</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">This Study (Enhancing Industrial Automation in Industry 4.0: Integrating Node-RED with Real PLCs for Analog and Digital Signal Simulation)</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Controller Type: Real PLC (Siemens S7&#x2013;300).</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Controller Type: Real PLC (Allen-Bradley MicroLogix 1400).</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Types of Signals Covered: Limited coverage of I/O signals (mainly digital only).</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Types of Signals Covered: Full coverage of I/O signals (AI, AO, DI, DO).</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Application Level: Educational/Training setups (FESTO FMS, Simulation).</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Application Level: Real industrial.</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">No quantitative metrics reported.</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">(Noise, Response Time, Average Response Time, Response Accuracy, and Error) are quantitative metrics reported.</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Communication Protocol: OPC-UA protocol.</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Communication Protocol: Ethernet/IP protocol.</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Integration With Node-RED Dashboard visualization only.</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Integration With Node-RED Complete dashboard + real- time control + AI&#x2013;Python scripts.</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Cost Efficiency: high (requires OPC-UA servers license in most cases + real PLC).</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Cost Efficiency: Medium (open-source tools + real PLC).</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Limited scalability.</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">The integration of Node-RED with PLC offers high scalability.</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Novel Contribution: Mainly communication-oriented contribution.</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Novel Contribution: Provide a full simulator of analog and digital I/O signals for PLC in industrial systems.</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">Target Audience: Academic and educational environments.</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Target Audience: Industry 4.0 engineers, automation researchers.</td>
                            </tr>
                        </tbody>
                    </table>
                </table-wrap>
            </sec>
        </sec>
        <sec id="sec8" sec-type="methods">
            <title>Methods</title>
            <sec id="sec9">
                <title>Simulation design</title>
                <p>The Allen-Bradley MicroLogix 1400
                    <sup>
                        <xref ref-type="bibr" rid="ref21">21</xref>
                    </sup> PLC was utilized, with specifications in 
                    <xref ref-type="table" rid="T2">
Table 2</xref>. The PLC was Ethernet-connected to PC1 (Workstation 1) using RSLinx Classic Gateway (Revision 2.52.00.17 (CPR9)). For PLC programming using Ladder Logic, Workstation 1 included RSLogix 500 (version 9.00.00 (CPR9)) which consists of ladders, rungs, bit, timer/counter, input/output, and other instructions for analog and digital input and output signals. PC2 (Workstation 2) used Node-RED (v4.0.8) to simulate and monitor signals. Node-RED used pccc in/out (Programmable Controller Communication Commands) nodes to connect with the PLC via Python code with other nodes to simulate analog and digital signals. Additionally, the Node-RED Dashboard offered a simple graphical interface for real-time monitoring and management. Further details about the experimental setup are illustrated by the block diagram shown in 
                    <xref ref-type="fig" rid="f2">
Figure 2</xref>, the flowchart represented in 
                    <xref ref-type="fig" rid="f3">
Figure 3</xref>, and other attached images included in 
                    <xref ref-type="fig" rid="f4">
Figure 4</xref>.</p>
                <table-wrap id="T2" orientation="portrait" position="float">
                    <label>
Table 2. </label>
                    <caption>
                        <title>Specifications of allen-bradley microLogix 1400 PLC: This table shows the manufacturing specification for the PLC unit that was used in the simulation experiments for this study.</title>
                    </caption>
                    <table content-type="article-table" frame="hsides">
                        <thead>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">Model</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Power supply</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Input</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Output</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">1766-L32BXB</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">24&#x00a0;V&#x00a0;DC</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">12 Fast 24&#x00a0;V&#x00a0;DC, 8 Normal 24&#x00a0;V&#x00a0;DC</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">6 Relay, 3 Fast DC, 3 Normal DC</td>
                            </tr>
                        </tbody>
                    </table>
                </table-wrap>
                <fig fig-type="figure" id="f2" orientation="portrait" position="float">
                    <label>
Figure 2. </label>
                    <caption>
                        <title>The Block Diagram of the System: This figure illustrates the components of the system, beginning with the AC power source that supplies the DC power supply.</title>
                        <p>This DC power supply, in turn, provides 24&#x00a0;V&#x00a0;DC power to both the Ethernet switch and the PLC. Additionally, the figure depicts the network connection between these components via an Internet Protocol (IP) address.</p>
                    </caption>
                    <graphic id="gr2" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure2.gif"/>
                </fig>
                <fig fig-type="figure" id="f3" orientation="portrait" position="float">
                    <label>
Figure 3. </label>
                    <caption>
                        <title>Flowchart of the System: This figure illustrates the steps involved in establishing a connection between a real PLC (Allen-Bradley MicroLogix 1400) and PC1 (Rockwell Automation software).</title>
                        <p>Additionally, it details the establishment of another connection between the programmed PLC and PC2 (Node-RED) to simulate both analog and digital signals, allowing the results to be viewed on the Node-RED dashboard.</p>
                    </caption>
                    <graphic id="gr3" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure3.gif"/>
                </fig>
                <fig fig-type="figure" id="f4" orientation="portrait" position="float">
                    <label>
Figure 4. </label>
                    <caption>
                        <title>Experimental Setup of Node-RED with MicroLogix 1400 PLC: This figure shows the real system components in the on state, noting the connections between them and the information transmitted and received among them.</title>
                    </caption>
                    <graphic id="gr4" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure4.gif"/>
                </fig>
            </sec>
        </sec>
        <sec id="sec10" sec-type="results">
            <title>Results</title>
            <p>

                <list list-type="alpha-upper">
                    <list-item>
                        <label>A.</label>
                        <p>
In this research, promising and practical results were achieved when using a real PLC (AB MicroLogix 1400). The simulation was conducted by the Node-RED platform for the four fundamental PLC signal types as follows:</p>
                    </list-item>
                </list>

                <list list-type="order">
                    <list-item>
                        <label>1.</label>
                        <p>Analog Input Signal Simulation (AI Simulation):</p>
                        <p>In this simulation experiment, a numeric node in the Node-RED flow&#x2014;which is controlled by the Node-RED dashboard&#x2014;was used as an analog input sensor to manually set the values. Furthermore, the simulation experiment can function automatically, either randomly or following an increasing-decreasing pattern, by using an inject node in the Node-RED flow. These nodes send an analog input signal between (0&#x2013;100%). This signal was then converted using a function node in the same Node-RED flow to a DC signal between (4&#x2013;20) mA DC, which is the standard range compatible with the analog input channel for the PLC. This signal was then transmitted to the real PLC (AB MicroLogix 1400) at the internal analog input channel, such as N7:0, via the (pccc out) node in the same flow. The first flow in the 
                            <xref ref-type="fig" rid="f5">
Figure 5</xref> illustrates the manual simulation method, and 
                            <xref ref-type="fig" rid="f6">
Figure 6</xref> shows the Node-RED dashboard for the four PLC signal types.</p>
                    </list-item>
                    <list-item>
                        <label>2.</label>
                        <p>Analog Output Signal Simulation (AO Simulation):</p>
                        <p>In this simulation experiment, an analog output signal was transmitted from the internal analog output channel of the real PLC (AB MicroLogix 1400), such as N7:1&#x2014;which is controlled by the ladder logic diagram (RSLogix 500)&#x2014;via the (pccc in) node in the Node-RED flow. This signal, ranging from (4&#x2013;20) mA DC, was converted using a function node in the same Node-RED flow into a percentage value between (0&#x2013;100%). This analog value was then sent to the gauge node in the same flow to display the value visually for real-time monitoring of the signal status via the Node-RED Dashboard. As shown in the second flow in the 
                            <xref ref-type="fig" rid="f5">
Figure 5</xref>, and 
                            <xref ref-type="fig" rid="f6">
Figure 6</xref> which shows the Node-RED dashboard for the four PLC signal types.</p>
                    </list-item>
                    <list-item>
                        <label>3.</label>
                        <p>Digital Input Signal Simulation (DI Simulation):</p>
                        <p>In this simulation experiment, the switch node in the Node-Red flow&#x2014;which is controlled by the Node-RED dashboard&#x2014;was used to send a digital signal to the real PLC (AB MicroLogix 1400). This digital signal must be either 0 (off/false&#x00a0;=&#x00a0;open) or 1 (on/true&#x00a0;=&#x00a0;close) and was sent to the (AB MicroLogix 1400) PLC at the internal digital input channel, such as B3:0/0, via the (pccc out) node in the Node-Red flow. The state of the switch node can be changed manually via the Node-Red dashboard to simulate a real digital input sensor. As shown in the third flow in the 
                            <xref ref-type="fig" rid="f5">
Figure 5</xref>, and 
                            <xref ref-type="fig" rid="f6">
Figure 6</xref> which shows the Node-RED dashboard for the four PLC signal types.</p>
                    </list-item>
                    <list-item>
                        <label>4.</label>
                        <p>Digital Output Signal Simulation (DO Simulation):</p>
                        <p>In this simulation experiment, a digital signal was received from the internal digital output channel of the real PLC (AB MicroLogix 1400), such as B3:0/3&#x2014;which is controlled by the ladder logic diagram (RSLogix 500)&#x2014;via the (pccc in) node in the Node-Red flow. This signal must be either 0 (off/false&#x00a0;=&#x00a0;open) or 1 (on/true&#x00a0;=&#x00a0;close). This digital value was then mapped to an LED node in the same flow to display the output signal status visually (either illuminated or off
) via the Node-RED Dashboard. As shown in the fourth flow in the 
                            <xref ref-type="fig" rid="f5">
Figure 5</xref>, and 
                            <xref ref-type="fig" rid="f6">
Figure 6</xref> which shows the Node-RED dashboard for the four PLC signal types.</p>
                    </list-item>
                </list>

                <list list-type="alpha-upper">
                    <list-item>
                        <label>B.</label>
                        <p>The real PLC (AB MicroLogix 1400) was integrated with Industry 4.0 technologies, achieving advanced analysis and enhanced efficiency by merging industrial systems with Industrial Internet of Things (IIoT) technologies represented by the Node-RED environment.</p>
                    </list-item>
                    <list-item>
                        <label>C.</label>
                        <p>
                            <xref ref-type="table" rid="T3">
Table 3</xref> shows the experimental results (actual PLC reading) that simulate standard values for the analog input signal compared with theoretical values.</p>
                    </list-item>
                    <list-item>
                        <label>D.</label>
                        <p>
                            <xref ref-type="table" rid="T4">
Table 4</xref> shows the response time was calculated based on simulation experiments.</p>
                    </list-item>
                    <list-item>
                        <label>E.</label>
                        <p>
                            <xref ref-type="table" rid="T5">
Table 5</xref> shows the response accuracy was calculated based on simulation experiments.</p>
                    </list-item>
                </list>
</p>
            <fig fig-type="figure" id="f5" orientation="portrait" position="float">
                <label>
Figure 5. </label>
                <caption>
                    <title>Node-RED Flows for a Real PLC (AB MicroLogix 1400): This figure shows the generated Node-RED flows, where the first flow represents a simulation of the analog input signal, the second flow represents a simulation of the analog output signal, the third flow represents a simulation of the digital input signal, and the fourth flow represents a simulation of the digital output signal.</title>
                </caption>
                <graphic id="gr5" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure5.gif"/>
            </fig>
            <fig fig-type="figure" id="f6" orientation="portrait" position="float">
                <label>
Figure 6. </label>
                <caption>
                    <title>Node-RED Dashboard for a Real PLC (AB MicroLogix 1400): This figure shows the Node-RED dashboard.</title>
                    <p>The first flow simulates the analog input signal to the PLC. It is important to note that the input signal is manually sent to the AB MicroLogix 1400 at 75% of the 0&#x2013;100% range, which corresponds to 16&#x00a0;mA&#x00a0;DC within the 4&#x2013;20&#x00a0;mA&#x00a0;DC range. The second flow simulates the analog output signal, which sets the PLC analog output signal to 50% of the 0&#x2013;100% range. The third flow simulates the digital input signal; in this flow, the switch is in the ON (true) state. The fourth flow simulates the digital output signal from the PLC, where the LED is illuminated because the PLC&#x2019;s digital output signal is true.</p>
                </caption>
                <graphic id="gr6" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure6.gif"/>
            </fig>
            <table-wrap id="T3" orientation="portrait" position="float">
                <label>
Table 3. </label>
                <caption>
                    <title>Comparation between actual values and theoretical values for the analog input signal simulation.</title>
                    <p>From this table, the average deviation between theoretical and actual values approximately (&#x00b1;0.2) mA DC due to the noise issues.</p>
                </caption>
                <table content-type="article-table" frame="hsides">
                    <thead>
                        <tr>
                            <th align="left" colspan="1" rowspan="1" valign="top">Experiment No.</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">Standard values of AI signal (%)</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">Theoretical values (mA&#x00a0;DC)</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">PLC reading values (mA&#x00a0;DC)</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">0</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">4</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">4.1</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">2</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">25</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">8</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">7.6</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">3</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">50</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">12</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">11.8</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">4</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">75</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">16</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">16.3</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">5</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">100</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">20</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">20</td>
                        </tr>
                    </tbody>
                </table>
            </table-wrap>
            <table-wrap id="T4" orientation="portrait" position="float">
                <label>
Table 4. </label>
                <caption>
                    <title>The response time and average response time for the four fundamental plc signal types that were simulated.</title>
                    <p>The processing type affects the average response time; digital signals transmit more quickly than analog signals, which need more processing and conversion to/from (4&#x2013;20) mA DC signals.</p>
                </caption>
                <table content-type="article-table" frame="hsides">
                    <thead>
                        <tr>
                            <th align="left" colspan="1" rowspan="1" valign="top">Experiment No.</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">Signal type</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">Response time (msec)</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">Average response time (msec)</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">1</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">Analog input</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">80</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">
                                <styled-content style="#008000" style-type="color">75&#x2013;85</styled-content>
</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">2</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">Analog output</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">90</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">
                                <styled-content style="#008000" style-type="color">85&#x2013;95</styled-content>
</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">3</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">Digital input</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">45</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">
                                <styled-content style="#008000" style-type="color">40&#x2013;50</styled-content>
</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="top">4</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">Digital output</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">35</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">
                                <styled-content style="#008000" style-type="color">30&#x2013;40</styled-content>
</td>
                        </tr>
                    </tbody>
                </table>
            </table-wrap>
            <table-wrap id="T5" orientation="portrait" position="float">
                <label>
Table 5. </label>
                <caption>
                    <title>The Response accuracy for the four fundamental plc signal types that were simulated.</title>
                    <p>The response accuracy results indicate that the DI and DO signals exhibit the highest accuracy due to their binary characteristics, while the accuracy of the AI and AO signals is marginally reduced due to signal conversion processes and a (4&#x2013;20) mA DC fluctuation; however, all results remain within the optimal parameters for industrial applications.</p>
                </caption>
                <table content-type="article-table" frame="hsides">
                    <thead>
                        <tr>
                            <th align="left" colspan="1" rowspan="1" valign="top">Experiment No.</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">Signal type</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">Response accuracy (%)</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">Error (%)</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td align="center" colspan="1" rowspan="1" valign="top">1</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">Analog input</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">
                                <styled-content style="#000080" style-type="color">98.5</styled-content>
</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">
                                <styled-content style="#000080" style-type="color">1.5</styled-content>
</td>
                        </tr>
                        <tr>
                            <td align="center" colspan="1" rowspan="1" valign="top">2</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">Analog output</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">
                                <styled-content style="#000080" style-type="color">98.2</styled-content>
</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">
                                <styled-content style="#000080" style-type="color">1.8</styled-content>
</td>
                        </tr>
                        <tr>
                            <td align="center" colspan="1" rowspan="1" valign="top">3</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">Digital input</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">
                                <styled-content style="#000080" style-type="color">99.8</styled-content>
</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">
                                <styled-content style="#000080" style-type="color">0.2</styled-content>
</td>
                        </tr>
                        <tr>
                            <td align="center" colspan="1" rowspan="1" valign="top">4</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">Digital output</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">
                                <styled-content style="#000080" style-type="color">99.6</styled-content>
</td>
                            <td align="left" colspan="1" rowspan="1" valign="top">
                                <styled-content style="#000080" style-type="color">0.4</styled-content>
</td>
                        </tr>
                    </tbody>
                </table>
            </table-wrap>
        </sec>
        <sec id="sec11">
            <title>Case studies</title>
            <sec id="sec12">
                <title>Case study 1: AI signal manual simulation method</title>
                <p>In the case of a water tank, when the values of the water level need to be simulated manually, the Node-RED environment can be used as a standalone simulator. A flow can be constructed to generate a signal representing the water level in the tank, which serves as an analog input signal for a real PLC. This capability is achieved using the numeric node and function node in the Node-RED tool. The numeric node&#x2014;which is controlled by the Node-RED dashboard&#x2014;sends an analog input value between (0&#x2013;100%). This value was then converted using a function node in the same Node-RED flow to (4&#x2013;20) mA DC, which is the standard range compatible with the analog input channel for the PLC. Finally, this value was transmitted to the real PLC (AB MicroLogix 1400) at the internal analog input channel, such as N7:0, via the (pccc out) node in the same flow. The results can be visualized on the Node-RED dashboard. 
                    <xref ref-type="fig" rid="f7">
Figures 7</xref>, 
                    <xref ref-type="fig" rid="f8">8</xref>, and 
                    <xref ref-type="fig" rid="f9">9</xref> illustrate the Node-RED dashboard, Node-RED flow, and ladder logic program, respectively, for the empty tank case. For the full tank case, 
                    <xref ref-type="fig" rid="f10">
Figure 10</xref> for the Node-RED dashboard, 
                    <xref ref-type="fig" rid="f11">
Figure 11</xref> for the Node-RED flow, and 
                    <xref ref-type="fig" rid="f12">
Figure 12</xref> for the ladder logic program. Finally, 
                    <xref ref-type="fig" rid="f13">
Figure 13</xref> shows a flowchart for the water level case, and 
                    <xref ref-type="fig" rid="f14">
Figure 14</xref> illustrates the relationship between the measured current signal (mA&#x00a0;DC) and the percentage of water in the tank.</p>
                <fig fig-type="figure" id="f7" orientation="portrait" position="float">
                    <label>
Figure 7. </label>
                    <caption>
                        <title>Node-RED Dashboard for an Empty Tank Case: In this figure, a 4&#x00a0;mA&#x00a0;DC signal was sent from the Node-RED dashboard as a simulator, which represents 0%, to the PLC, meaning the tank is empty.</title>
                    </caption>
                    <graphic id="gr7" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure7.gif"/>
                </fig>
                <fig fig-type="figure" id="f8" orientation="portrait" position="float">
                    <label>
Figure 8. </label>
                    <caption>
                        <title>Node-RED Flow for an Empty Tank Case: In this figure, a numeric node was used to manually send a numerical value between 0% and 100% to the real PLC (AB MicroLogix 1400).</title>
                        <p>A function node was then used, and JavaScript code was written to convert the numeric value from 0% to 100% to 4 to 20&#x00a0;mA&#x00a0;DC. The signal, since the tank is empty, is 0%, which corresponds to 4&#x00a0;mA&#x00a0;DC and was sent to the PLC via the PCCC OUT node. The signal sent to the PLC can be viewed via the Debug node in the Node-RED sidebar, and the signal sent to the PLC can be viewed via the Level node in the Node-RED dashboard.</p>
                    </caption>
                    <graphic id="gr8" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure8.gif"/>
                </fig>
                <fig fig-type="figure" id="f9" orientation="portrait" position="float">
                    <label>
Figure 9. </label>
                    <caption>
                        <title>Ladder Logic Program for an Empty Tank Case: This figure represents the RSLogix 500 software interface, which is used to program the Allen Bradley MicroLogix 1400 PLC.</title>
                        <p>Note that the signal received from the Node-RED simulator is 4&#x00a0;mA&#x00a0;DC, and it has been converted by the SCP function to 0%, indicating that the tank is completely empty of water.</p>
                    </caption>
                    <graphic id="gr9" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure9.gif"/>
                </fig>
                <fig fig-type="figure" id="f10" orientation="portrait" position="float">
                    <label>
Figure 10. </label>
                    <caption>
                        <title>Node-RED Dashboard for a Full Tank Case: In this figure, a 20&#x00a0;mA&#x00a0;DC signal was sent from the Node-RED dashboard as a simulator, which represents 100%, to the PLC, meaning the tank is full.</title>
                    </caption>
                    <graphic id="gr10" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure10.gif"/>
                </fig>
                <fig fig-type="figure" id="f11" orientation="portrait" position="float">
                    <label>
Figure 11. </label>
                    <caption>
                        <title>Node-RED Flow for a Full Tank Case: In this figure, a numeric node was used to manually send a numerical value between 0% and 100% to the real PLC (AB MicroLogix 1400).</title>
                        <p>A function node was then used, and JavaScript code was written to convert the numeric value from 0% to 100% to 4 to 20&#x00a0;mA&#x00a0;DC. The signal, since the tank is full of water, is 100%, which corresponds to 20&#x00a0;mA&#x00a0;DC and was sent to the PLC via the PCCC OUT node. The signal sent to the PLC can be viewed via the Debug node in the Node-RED sidebar, and the signal sent to the PLC can also be viewed via the Level node in the Node-RED dashboard.</p>
                    </caption>
                    <graphic id="gr11" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure11.gif"/>
                </fig>
                <fig fig-type="figure" id="f12" orientation="portrait" position="float">
                    <label>
Figure 12. </label>
                    <caption>
                        <title>Ladder Logic Program for a Full Tank Case: This figure represents the RSLogix 500 software interface, which is used to program the Allen Bradley MicroLogix 1400 PLC.</title>
                        <p>Note that the signal received from the Node-RED simulator is 20&#x00a0;mA&#x00a0;DC, and it has been converted by the SCP function to 100%, indicating that the tank is completely full of water.</p>
                    </caption>
                    <graphic id="gr12" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure12.gif"/>
                </fig>
                <fig fig-type="figure" id="f13" orientation="portrait" position="float">
                    <label>
Figure 13. </label>
                    <caption>
                        <title>Flowchart for Water Level Case: This figure shows in detail the steps involved in manually simulating an analog input signal, which represents the water level in the tank.</title>
                    </caption>
                    <graphic id="gr13" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure13.gif"/>
                </fig>
                <fig fig-type="figure" id="f14" orientation="portrait" position="float">
                    <label>
Figure 14. </label>
                    <caption>
                        <title>Relationship between the Measured Current Signal (mA&#x00a0;DC) and the Water Level Percentage (%) in the tank: It is noted in this figure that the relationship between the signal sent from the Node-RED simulator, whose value ranges from 4 to 20&#x00a0;mA&#x00a0;DC, is linear with the water level in the tank, whose value ranges from 0% to 100%.</title>
                    </caption>
                    <graphic id="gr14" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure14.gif"/>
                </fig>
            </sec>
            <sec id="sec13">
                <title>Case study 2: AI signal automatic simulation method</title>
                <p>It is also possible to input values that simulate the water level in the tank automatically, either randomly or in an increasing-decreasing pattern, to simulate the real changes in the water level inside the tank. This capability is achieved using the inject node and function node&#x2014;which is controlled by the Node-RED dashboard&#x2014;in the Node-RED tool, according to the flow illustrated in 
                    <xref ref-type="fig" rid="f15">
Figure 15</xref> and the JavaScript script shown in 
                    <xref ref-type="fig" rid="f16">
Figure 16</xref>. Through this mechanism, values are generated to simulate the water level in the tank, starting from 0%, gradually increasing to 100%, and then decreasing back from 100% to 0% automatically.</p>
                <fig fig-type="figure" id="f15" orientation="portrait" position="float">
                    <label>
Figure 15. </label>
                    <caption>
                        <title>The Flow of Automatic Water Level Simulation: In this figure, an inject node was used to automatically send a numerical value between 0% and 100% to the real PLC (AB MicroLogix 1400).</title>
                        <p>A function node was then used, and JavaScript code was written to simulate the water level in the tank, starting from 0%, gradually increasing to 100%, and then decreasing back from 100% to 0% automatically, and another function node was then used, and JavaScript code was written to convert the numeric value from 0% to 100% to 4 to 20&#x00a0;mA&#x00a0;DC. The signal was sent to the PLC via the PCCC OUT node. The signal sent to the PLC can be viewed via the Debug node in the Node-RED sidebar, and the signal sent to the PLC can also be viewed via the Level node in the Node-RED dashboard.</p>
                    </caption>
                    <graphic id="gr15" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure15.gif"/>
                </fig>
                <fig fig-type="figure" id="f16" orientation="portrait" position="float">
                    <label>
Figure 16. </label>
                    <caption>
                        <title>JavaScript Code for Automatic Water Level Simulation: This JavaScript code generates values to simulate the water level in the tank, starting at 0%, gradually increasing to 100%, and then decreasing again from 100% to 0% automatically.</title>
                    </caption>
                    <graphic id="gr16" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure16.gif"/>
                </fig>
                <p>In the same flow, there is another function node, which contains a JavaScript script illustrated in 
                    <xref ref-type="fig" rid="f17">
Figure 17</xref>, which converts the values from percentage (0&#x2013;100%) to current signal (4&#x2013;20&#x00a0;mA&#x00a0;DC) and then sends this current signal value to the real PLC (AB MicroLogix 1400) at the internal analog input channel, such as N7:0, via the (pccc out) node in the same flow to simulate the analog input signal produced by a real water level sensor. This allows the system to process the data as if it were coming from an actual sensor, as shown in 
                    <xref ref-type="fig" rid="f18">
Figure 18</xref>.</p>
                <fig fig-type="figure" id="f17" orientation="portrait" position="float">
                    <label>
Figure 17. </label>
                    <caption>
                        <title>JavaScript Code for Converting Level from % to mA DC: This JavaScript code converts values from percentage (0&#x2013;100%) to a current signal (4&#x2013;20&#x00a0;mA&#x00a0;DC) and then sends this current signal to the PLC to simulate an analog input signal as if it were sent from a real water level sensor.</title>
                    </caption>
                    <graphic id="gr17" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure17.gif"/>
                </fig>
                <fig fig-type="figure" id="f18" orientation="portrait" position="float">
                    <label>
Figure 18. </label>
                    <caption>
                        <title>Simulated Current Signal (mA&#x00a0;DC) with an Automatic Increasing-Decreasing Pattern: In this chart, the value of the analog input signal can be seen rising from 4&#x00a0;mA&#x00a0;DC, meaning the tank is completely empty, to 20&#x00a0;mA&#x00a0;DC, meaning the tank is completely filled with water, over time and automatically, repeating the process more than once.</title>
                    </caption>
                    <graphic id="gr18" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure18.gif"/>
                </fig>
            </sec>
            <sec id="sec14">
                <title>Case study 3: DO signal manual simulation method</title>
                <p>In the case of the LED test simulation, a digital signal was received from the internal digital output channel of the real PLC (AB MicroLogix 1400), such as B3:0/3&#x2014;which is controlled by the ladder logic diagram (RSLogix 500)&#x2014;via the (pccc in) node in the Node-Red flow. This signal must be either 0 (false/off
) or 1 (true/on). This signal was then mapped to the LED node in the Node-RED dashboard, which visually displays the status of the output signal (either on or off
). 
                    <xref ref-type="fig" rid="f19">
Figures 19 and 20</xref> illustrate the Node-RED flow and the Node-RED dashboard, respectively, for the LED 0 (false/off
) test case. For the LED 1 (true/on) test case, 
                    <xref ref-type="fig" rid="f21">
Figure 21</xref> for the Node-RED flow and 
                    <xref ref-type="fig" rid="f22">
Figure 22</xref> for the Node-RED dashboard. Finally, 
                    <xref ref-type="fig" rid="f23">
Figure 23</xref> shows the flowchart of the LED test case, and 
                    <xref ref-type="fig" rid="f24">
Figure 24</xref> illustrates the ladder logic program for the LED test case.</p>
                <fig fig-type="figure" id="f19" orientation="portrait" position="float">
                    <label>
Figure 19. </label>
                    <caption>
                        <title>Node-RED Flow for 0 (False/Off
) LED Test Case: In this figure, a digital output signal is sent from the PLC and received by Node-RED via the PCCC In node, with a value of 0, false/off state (the LED is off
). The LED node on the Node-RED dashboard allows you to view the status of the received signal.</title>
                    </caption>
                    <graphic id="gr19" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure19.gif"/>
                </fig>
                <fig fig-type="figure" id="f20" orientation="portrait" position="float">
                    <label>
Figure 20. </label>
                    <caption>
                        <title>Node-RED Dashboard for 0 (False/Off
) LED Test Case: In this figure, the LED displayed on the Node-RED dashboard is red, which indicates that the LED is off.</title>
                    </caption>
                    <graphic id="gr20" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure20.gif"/>
                </fig>
                <fig fig-type="figure" id="f21" orientation="portrait" position="float">
                    <label>
Figure 21. </label>
                    <caption>
                        <title>Node-RED Flow for 1 (True/On) LED Test Case: In this figure, a digital output signal is sent from the PLC and received by Node-RED via the PCCC In node, with a value of 1, true/on state (the LED is on).</title>
                        <p>The LED node on the Node-RED dashboard allows you to view the status of the received signal.</p>
                    </caption>
                    <graphic id="gr21" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure21.gif"/>
                </fig>
                <fig fig-type="figure" id="f22" orientation="portrait" position="float">
                    <label>
Figure 22. </label>
                    <caption>
                        <title>Node-RED Dashboard for 1 (True/On) LED Test Case: In this figure, the LED displayed on the Node-RED dashboard is green, which indicates that the LED is on.</title>
                    </caption>
                    <graphic id="gr22" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure22.gif"/>
                </fig>
                <fig fig-type="figure" id="f23" orientation="portrait" position="float">
                    <label>
Figure 23. </label>
                    <caption>
                        <title>Flowchart for LED Test Case: This figure shows in detail the steps involved in manually simulating a digital output signal, which represents the LED test case.</title>
                    </caption>
                    <graphic id="gr23" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure23.gif"/>
                </fig>
                <fig fig-type="figure" id="f24" orientation="portrait" position="float">
                    <label>
Figure 24. </label>
                    <caption>
                        <title>Ladder Logic Program for LED Test Case: This figure represents the RSLogix 500 software interface, which is used to program the Allen Bradley MicroLogix 1400 PLC.</title>
                        <p>Note that the (DOS) digital output signal is sent from the (HMI) human-machine interface to Node-RED with a value of 1 (active), true/on state (the LED is on).</p>
                    </caption>
                    <graphic id="gr24" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/194062/cbe10e16-f5bd-4b68-b56f-0db5dda67c5e_figure24.gif"/>
                </fig>
            </sec>
        </sec>
        <sec id="sec15" sec-type="conclusion">
            <title>Conclusion</title>
            <p>The practical results obtained from simulation experiments, when using a real PLC controller such as the (Allen-Bradley MicroLogix 1400) and connecting it to the Node-RED environment, show that Node-RED offers simulation of analog and digital signals (input/output) either manually or automatically, providing greater flexibility compared to using the traditional PLC simulator (or emulator) alone. Furthermore, you can completely use the Node-RED platform instead of RSLogix Emulate 500, which is the emulator software for Allen-Bradley RSLogix 500, to program controllers and create the basic setup for any automation project. Users can rely entirely on the Node-RED platform. The Node-RED Dashboard simplifies remote monitoring, which facilitates remote automation and decision-making. And in the simulation process, the dashboard successfully sent and received signals to and from the actual PLC (Allen-Bradley MicroLogix 1400) and obtained the required feedback. This is a very important topic, as it allows for testing the automated control system and project controller, identifying strengths and weaknesses, and finding possible solutions before deploying the system in the real world.</p>
        </sec>
        <sec id="sec16" sec-type="discussion">
            <title>Discussion</title>
            <p>Node-RED enhances the efficiency and power of industrial systems based on PLCs by providing an accurate emulator for analog and digital signals (input/output) and integrating data with modern technologies in Industry 4.0. The work on configuring and developing the required flows for Node-RED to suit experiment needs was a major challenge, with significant concern about making the Node-RED software easy to use, connect, maintain, and update.</p>
            <p>Finally, the models are practically tested and successfully send and receive signals to and from the real PLC (Allen-Bradley MicroLogix 1400) via the Node-RED Dashboard and receive the necessary feedback.</p>
            <p>It is recommended to adopt this technology widely in industrial automation to improve performance and flexibility and achieve better results, with a focus on developing programming skills to ensure successful implementation.</p>
            <sec id="sec17">
                <title>Ethical considerations</title>
                <p>This research did not involve human participants, animals, or any sensitive data. Therefore, ethical approval was not required.</p>
            </sec>
        </sec>
    </body>
    <back>
        <sec id="sec20" sec-type="data-availability">
            <title>Data availability</title>
            <p>All data generated and analyzed during this study are openly and publicly available in accordance with F1000Research&#x2019;s Open Data policy.</p>
            <sec id="sec21">
                <title>Reporting guidelines</title>
                <p>This study does not involve clinical trials, animal experiments, observational studies, or qualitative research. Therefore, none of the CONSORT, ARRIVE, STROBE, COREQ, or SRQR reporting guidelines apply to this work.</p>
            </sec>
        </sec>
        <sec id="sec22" sec-type="data-availability">
            <title>Data availability statement</title>
            <sec id="sec23">
                <title>Underlying data</title>
                <p>Zenodo: 
FMM-NodeRED/Integrating-Node-RED-with-Real-PLCs-for-Analog-and-Digital-Signal-Simulation (v1.1.0).</p>
                <p>

                    <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.5281/zenodo.18229384">https://doi.org/10.5281/zenodo.18229384</ext-link>
                </p>
                <p>This project contains the following underlying data:
                    <list list-type="bullet">
                        <list-item>
                            <label>&#x2022;</label>
                            <p>FMM-NodeRED/Integrating-Node-RED-with-Real-PLCs-for-Analog-and-Digital-Signal-Simulation.-v1.1.0.zip</p>
                        </list-item>
                    </list>
                </p>
                <p>(Contains the Node-RED flows files used in the simulation experiments).
                    <sup>
                        <xref ref-type="bibr" rid="ref22">22</xref>
                    </sup>
                </p>
                <p>Data are available under the terms of the MIT License.</p>
            </sec>
        </sec>
        <ack>
            <title>Acknowledgements</title>
            <p>The authors would like to thank the Department of Electrical Engineering, College of Engineering, University of Mosul, for providing the facilities required to carry out this study.</p>
        </ack>
        <ref-list>
            <title>References</title>
            <ref id="ref1">
                <label>1</label>
                <mixed-citation publication-type="book">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Gnana</surname>
                            <given-names>GS</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Karthikeyan</surname>
                            <given-names>A</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Karthikeyan</surname>
                            <given-names>K</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <source>

                        <italic toggle="yes">Critical review Of SCADA And PLC in smart buildings and energy sector.</italic>
</source>
                    <publisher-name>Elsevier Ltd.</publisher-name>;<year>Dec. 01, 2024</year>.
                    <pub-id pub-id-type="doi">10.1016/j.egyr.2024.07.041</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref2">
                <label>2</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Hijazi</surname>
                            <given-names>A</given-names>
                        </name>

                        <name name-style="western">
                            <surname>And&#x00f3;</surname>
                            <given-names>M</given-names>
                        </name>

                        <name name-style="western">
                            <surname>P&#x00f6;d&#x00f6;r</surname>
                            <given-names>Z</given-names>
                        </name>
</person-group>:
                    <article-title>Data losses and synchronization according to delay in PLC-based industrial automation systems.</article-title>
                    <source>

                        <italic toggle="yes">Heliyon.</italic>
</source>
                    <year>Sep. 2024</year>;<volume>10</volume>(<issue>18</issue>):<fpage>e37560</fpage>.
                    <pub-id pub-id-type="pmid">39309862</pub-id>
                    <pub-id pub-id-type="doi">10.1016/j.heliyon.2024.e37560</pub-id>
                    <pub-id pub-id-type="pmcid">PMC11415645</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref3">
                <label>3</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Bahri</surname>
                            <given-names>F</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Ali</surname>
                            <given-names>T</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Hendra</surname>
                            <given-names>A</given-names>
                        </name>
</person-group>:
                    <article-title>Internet of Things (IoT) implementation through Node-RED to control and monitoring induction motors.</article-title>
                </mixed-citation>
            </ref>
            <ref id="ref4">
                <label>4</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Martins</surname>
                            <given-names>T</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Oliveira</surname>
                            <given-names>SVG</given-names>
                        </name>
</person-group>:
                    <article-title>Enhanced Modbus/TCP Security Protocol: Authentication and Authorization Functions Supported.</article-title>
                    <source>

                        <italic toggle="yes">Sensors.</italic>
</source>
                    <year>2022</year>;<volume>22</volume>(<issue>20</issue>).
                    <pub-id pub-id-type="pmid">36298371</pub-id>
                    <pub-id pub-id-type="doi">10.3390/s22208024</pub-id>
                    <pub-id pub-id-type="pmcid">PMC9607043</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref5">
                <label>5</label>
                <mixed-citation publication-type="book">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Keshav Kolla</surname>
                            <given-names>SSV</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Louren&#x00e7;o</surname>
                            <given-names>DM</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Kumar</surname>
                            <given-names>AA</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Plapper</surname>
                            <given-names>P</given-names>
                        </name>
</person-group>:
                    <chapter-title>Retrofitting of legacy machines in the context of Industrial Internet of Things (IIoT).</chapter-title>
                    <source>

                        <italic toggle="yes">Procedia Computer Science.</italic>
</source>
                    <publisher-name>Elsevier B.V</publisher-name>;<year>2022</year>;<volume>200</volume>: pp.<fpage>62</fpage>&#x2013;<lpage>70</lpage>.
                    <pub-id pub-id-type="doi">10.1016/j.procs.2022.01.205</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref6">
                <label>6</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Gaspar</surname>
                            <given-names>G</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Dudak</surname>
                            <given-names>J</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Sladek</surname>
                            <given-names>I</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Utilization of Open-Source in Upgrading Technological Devices for Industry 4.0 readiness.</article-title>
                </mixed-citation>
            </ref>
            <ref id="ref7">
                <label>7</label>
                <mixed-citation publication-type="book">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Mozaryn</surname>
                            <given-names>J</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Bogusz</surname>
                            <given-names>K</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Juszczynski</surname>
                            <given-names>S</given-names>
                        </name>
</person-group>:
                    <chapter-title>Development of PLC Based Fault Isolation and Remote IIoT Monitoring of Three Tank System.</chapter-title>
                    <source>

                        <italic toggle="yes">IFAC-PapersOnLine.</italic>
</source>
                    <publisher-name>Elsevier B.V</publisher-name>;<year>2022</year>;<volume>55</volume>: pp.<fpage>175</fpage>&#x2013;<lpage>180</lpage>.
                    <pub-id pub-id-type="doi">10.1016/j.ifacol.2022.07.125</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref8">
                <label>8</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Bellini</surname>
                            <given-names>P</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Cenni</surname>
                            <given-names>D</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Mitolo</surname>
                            <given-names>N</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>High level control of chemical plant by industry 4.0 solutions.</article-title>
                    <source>

                        <italic toggle="yes">J Ind Inf Integr.</italic>
</source>
                    <year>Mar. 2022</year>;<volume>26</volume>:<fpage>100276</fpage>.
                    <pub-id pub-id-type="doi">10.1016/j.jii.2021.100276</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref9">
                <label>9</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Gaffurini</surname>
                            <given-names>M</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Bellagente</surname>
                            <given-names>P</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Depari</surname>
                            <given-names>A</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Virtual PLC in Industrial Edge Platform: Performance Evaluation of Supervision and Control Communication.</article-title>
                    <source>

                        <italic toggle="yes">IEEE Trans Instrum Meas.</italic>
</source>
                    <year>2024</year>;<volume>73</volume>:<fpage>1</fpage>&#x2013;<lpage>10</lpage>.
                    <pub-id pub-id-type="doi">10.1109/TIM.2024.3370746</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref10">
                <label>10</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Ribeiro De Sousa</surname>
                            <given-names>D</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Mendes Caldana</surname>
                            <given-names>V</given-names>
                        </name>
</person-group>:
                    <article-title>Node-RED for PLC Automation.</article-title>
                    <ext-link ext-link-type="uri" xlink:href="https://www.researchgate.net/publication/377439128">Reference Source</ext-link>
                </mixed-citation>
            </ref>
            <ref id="ref11">
                <label>11</label>
                <mixed-citation publication-type="book">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>MorAn</surname>
                            <given-names>A</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Alonso</surname>
                            <given-names>S</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Prada</surname>
                            <given-names>MA</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <chapter-title>Remote training platform for industrial control automation.</chapter-title>
                    <source>

                        <italic toggle="yes">IFAC-PapersOnLine.</italic>
</source>
                    <publisher-name>Elsevier B.V</publisher-name>;<year>Sep. 2024</year>;<volume>58</volume>: pp.<fpage>164</fpage>&#x2013;<lpage>169</lpage>.
                    <pub-id pub-id-type="doi">10.1016/j.ifacol.2024.10.289</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref12">
                <label>12</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Saban</surname>
                            <given-names>M</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Bekkour</surname>
                            <given-names>M</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Amdaouch</surname>
                            <given-names>I</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>A Smart Agricultural System Based on PLC and a Cloud Computing Web Application Using LoRa and LoRaWan.</article-title>
                    <source>

                        <italic toggle="yes">Sensors.</italic>
</source>
                    <year>Mar. 2023</year>;<volume>23</volume>(<issue>5</issue>).
                    <pub-id pub-id-type="pmid">36904927</pub-id>
                    <pub-id pub-id-type="doi">10.3390/s23052725</pub-id>
                    <pub-id pub-id-type="pmcid">PMC10007121</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref13">
                <label>13</label>
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Esteves Coelho</surname>
                            <given-names>G</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Ribeiro</surname>
                            <given-names>A</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Dos Reis</surname>
                            <given-names>J</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>INDUSTRY 4.0 LEGACY SYSTEMS INTEGRATION CASE STUDY.</article-title>
                </mixed-citation>
            </ref>
            <ref id="ref14">
                <label>14</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Thomas</surname>
                            <given-names>L</given-names>
                        </name>

                        <collab>M. K. MV, S. D. SL, and P. BS</collab>
</person-group>:
                    <article-title>Towards Comprehensive Home Automation: Leveraging the IoT, Node-RED, and Wireless Sensor Networks for Enhanced Control and Connectivity &#x2020;.</article-title>
                    <source>

                        <italic toggle="yes">Eng Proc.</italic>
</source>
                    <year>2023</year>;<volume>59</volume>(<issue>1</issue>).
                    <pub-id pub-id-type="doi">10.3390/engproc2023059173</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref15">
                <label>15</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Folgado</surname>
                            <given-names>FJ</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Calder&#x00f3;n</surname>
                            <given-names>D</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Gonz&#x00e1;lez</surname>
                            <given-names>I</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Review of Industry 4.0 from the Perspective of Automation and Supervision Systems: Definitions, Architectures and Recent Trends.</article-title>
                    <source>

                        <italic toggle="yes">Multidisciplinary Digital Publishing Institute (MDPI).</italic>
</source>
                    <year>Feb. 01, 2024</year>;<volume>13</volume>.
                    <pub-id pub-id-type="doi">10.3390/electronics13040782</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref16">
                <label>16</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Be&#x0148;o</surname>
                            <given-names>L</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Ku&#x010d;era</surname>
                            <given-names>E</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Draho&#x0161;</surname>
                            <given-names>P</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Transforming industrial automation: voice recognition control via containerized PLC device.</article-title>
                    <source>

                        <italic toggle="yes">Sci Rep.</italic>
</source>
                    <year>Dec. 2024</year>;<volume>14</volume>(<issue>1</issue>):<fpage>29387</fpage>.
                    <pub-id pub-id-type="pmid">39592689</pub-id>
                    <pub-id pub-id-type="doi">10.1038/s41598-024-81172-w</pub-id>
                    <pub-id pub-id-type="pmcid">PMC11599279</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref17">
                <label>17</label>
                <mixed-citation publication-type="book">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Ahmadpanah</surname>
                            <given-names>MM</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Balliu</surname>
                            <given-names>M</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Hedin</surname>
                            <given-names>D</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <chapter-title>Securing Node-RED Applications.</chapter-title>
                    <source>

                        <italic toggle="yes">Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics).</italic>
</source>
                    <publisher-name>Springer Science and Business Media Deutschland GmbH</publisher-name>;<year>2021</year>; vol.<volume>13066 LNCS</volume>:<fpage>1</fpage>&#x2013;<lpage>21</lpage>.
                    <pub-id pub-id-type="doi">10.1007/978-3-030-91631-2_1</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref18">
                <label>18</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Onwuegbuzie</surname>
                            <given-names>IU</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Kayode</surname>
                            <given-names>AK</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Uzougbo</surname>
                            <given-names>OI</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Node-RED and IoT Analytics: A Real-Time Data Processing and Visualization Platform.</article-title>
                    <source>

                        <italic toggle="yes">(TSJPAS) A Subsidiary of Tech-Sphere Multidisciplinary International Journal (TSMIJ).</italic>
</source>
                    <year>2024</year>;<volume>1</volume>:<fpage>3672</fpage>&#x2013;<lpage>4648</lpage>.
                    <pub-id pub-id-type="doi">10.5281/zenodo.13856860</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref19">
                <label>19</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Nugraha</surname>
                            <given-names>H</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Hermawan</surname>
                            <given-names>AD</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Mulya</surname>
                            <given-names>MAJ</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Temperature Sensor Integration into the Node-RED Platform for Transformer Monitoring.</article-title>
                    <source>

                        <italic toggle="yes">Journal of Physics: Conference Series.</italic>
</source>
                    <year>2023</year>. Institute of Physics.
                    <pub-id pub-id-type="doi">10.1088/1742-6596/2673/1/012037</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref20">
                <label>20</label>
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Sousa</surname>
                            <given-names>DR</given-names>
                            <prefix>de</prefix>
                        </name>

                        <name name-style="western">
                            <surname>Godoy</surname>
                            <given-names>EP</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Caldana</surname>
                            <given-names>VM</given-names>
                        </name>
</person-group>:
                    <article-title>Upgrading Legacy Systems for Industry 4.0 with Node-RED and OPC-UA.</article-title>
                    <source>

                        <italic toggle="yes">IEOM Society International.</italic>
</source>
                    <year>Aug. 2024</year>.
                    <pub-id pub-id-type="doi">10.46254/sa05.20240068</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref21">
                <label>21</label>
                <mixed-citation publication-type="other">
                    <collab>R. Automation</collab>:
                    <article-title>1766-RM001J-EN-P MicroLogix 1400 Programmable Controllers Reference Manual.</article-title>
                </mixed-citation>
            </ref>
            <ref id="ref22">
                <label>22</label>
                <mixed-citation publication-type="other">
                    <collab>FMM-NodeRED</collab>:
                    <article-title>FMM-NodeRED/Integrating-Node-RED-with-Real-PLCs-for-Analog-and-Digital-Signal-Simulation.: Node-RED flows for Analog and Digital Signal Simulation (v1.1.0).</article-title>
                    <source>

                        <italic toggle="yes">Zenodo.</italic>
</source>
                    <year>2026</year>.
                    <pub-id pub-id-type="doi">10.5281/zenodo.18229384</pub-id>
                </mixed-citation>
            </ref>
        </ref-list>
    </back>
    <sub-article article-type="reviewer-report" id="report479933">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.194062.r479933</article-id>
            <title-group>
                <article-title>Reviewer response for version 1</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>Ilten</surname>
                        <given-names>Erdem</given-names>
                    </name>
                    <xref ref-type="aff" rid="r479933a1">1</xref>
                    <role>Referee</role>
                </contrib>
                <aff id="r479933a1">
                    <label>1</label>Balikesir University, Bal&#x0131;kesir, Turkey</aff>
            </contrib-group>
            <author-notes>
                <fn fn-type="conflict">
                    <p>
                        <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>14</day>
                <month>5</month>
                <year>2026</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2026 Ilten E</copyright-statement>
                <copyright-year>2026</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access peer review report distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <related-article ext-link-type="doi" id="relatedArticleReport479933" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.176034.1"/>
            <custom-meta-group>
                <custom-meta>
                    <meta-name>recommendation</meta-name>
                    <meta-value>approve-with-reservations</meta-value>
                </custom-meta>
            </custom-meta-group>
        </front-stub>
        <body>
            <p>This research paper examines the integration of the Node-RED open-source platform with a real Programmable Logic Controller (PLC) within the framework of Industry 4.0, and its role in analog/digital signal simulation. It demonstrates, with scientific data, that Node-RED can be used as a low-cost, scalable, and reliable test/simulation tool in industrial automation systems.</p>
            <p> </p>
            <p> Please revise the article according to the suggestions below:</p>
            <p> </p>
            <p> 1- Node-RED and PLC integration is a topic that has been studied before in the literature. Although the article states that it makes a difference by adding "analog signal simulation," the theoretical contribution of this to the academic literature needs to be framed more clearly and strongly.</p>
            <p> 2- Although the article discusses the advantages of using Node-RED, it does not offer a technical comparison with other simulation and visualization tools on the market (e.g., Factory IO, Ignition SCADA, or PLC manufacturers' own simulator software). Quantitative data should be used to support the question of in which situations Node-RED is superior or inferior to these tools.</p>
            <p> 3- Experiments were conducted using a single PLC (MicroLogix 1400) and a limited number of I/O signals. Analyze the impact of Node-RED on CPU/RAM usage and processing speed in a complex industrial plant scenario where hundreds or thousands of variables (tags) are simulated simultaneously.</p>
            <p> 4- Please mention future work in the Conclusion section.</p>
            <p>Is the work clearly and accurately presented and does it cite the current literature?</p>
            <p>Partly</p>
            <p>If applicable, is the statistical analysis and its interpretation appropriate?</p>
            <p>I cannot comment. A qualified statistician is required.</p>
            <p>Are all the source data underlying the results available to ensure full reproducibility?</p>
            <p>Partly</p>
            <p>Is the study design appropriate and is the work technically sound?</p>
            <p>Partly</p>
            <p>Are the conclusions drawn adequately supported by the results?</p>
            <p>Yes</p>
            <p>Are sufficient details of methods and analysis provided to allow replication by others?</p>
            <p>Yes</p>
            <p>Reviewer Expertise:</p>
            <p>PLC, automation, embedded systems, electrical machines</p>
            <p>I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard, however I have significant reservations, as outlined above.</p>
        </body>
    </sub-article>
    <sub-article article-type="reviewer-report" id="report479928">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.194062.r479928</article-id>
            <title-group>
                <article-title>Reviewer response for version 1</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>Gaeid</surname>
                        <given-names>Khalaf S</given-names>
                    </name>
                    <xref ref-type="aff" rid="r479928a1">1</xref>
                    <role>Referee</role>
                    <uri content-type="orcid">https://orcid.org/0000-0002-8943-3034</uri>
                </contrib>
                <aff id="r479928a1">
                    <label>1</label>Tikrit University, Tikrit, Saladin Governorate, Iraq</aff>
            </contrib-group>
            <author-notes>
                <fn fn-type="conflict">
                    <p>
                        <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>13</day>
                <month>5</month>
                <year>2026</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2026 Gaeid KS</copyright-statement>
                <copyright-year>2026</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access peer review report distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <related-article ext-link-type="doi" id="relatedArticleReport479928" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.176034.1"/>
            <custom-meta-group>
                <custom-meta>
                    <meta-name>recommendation</meta-name>
                    <meta-value>approve</meta-value>
                </custom-meta>
            </custom-meta-group>
        </front-stub>
        <body>
            <p>
                <list list-type="order">
                    <list-item>
                        <p>The abstract clearly presents the motivation and practical relevance of integrating Node-RED with Allen-Bradley PLC systems within the context of Industry 4.0. However, the novelty of the proposed approach compared with existing PLC simulation methods should be emphasized more clearly.</p>
                    </list-item>
                    <list-item>
                        <p>The methodology section would benefit from additional technical details regarding the communication protocol used between the MicroLogix 1400 and Node-RED, such as Ethernet/IP, Modbus, or OPC-UA.</p>
                    </list-item>
                    <list-item>
                        <p>The results section is generally clear, but quantitative performance indicators (e.g., communication latency, response time, accuracy, or reliability percentage) would strengthen the scientific contribution and validation of the proposed system.</p>
                    </list-item>
                    <list-item>
                        <p>The conclusion appropriately highlights the cost-effectiveness and practical value of the system; however, mentioning potential industrial applications or scalability for larger automation systems would improve the impact of the study.</p>
                    </list-item>
                    <list-item>
                        <p>The abstract language is understandable, but some grammatical refinements are recommended, particularly in the Results section where the sentence structure can be improved for better readability and academic style.</p>
                    </list-item>
                    <list-item>
                        <p>It would be beneficial to clarify whether the proposed simulator supports real-time operation and fault-testing scenarios, which are important aspects in Industry 4.0 and cold commissioning environments.</p>
                    </list-item>
                </list> </p>
            <p> </p>
            <p> </p>
            <p> </p>
            <p> </p>
            <p> </p>
            <p>Is the work clearly and accurately presented and does it cite the current literature?</p>
            <p>Yes</p>
            <p>If applicable, is the statistical analysis and its interpretation appropriate?</p>
            <p>Yes</p>
            <p>Are all the source data underlying the results available to ensure full reproducibility?</p>
            <p>Yes</p>
            <p>Is the study design appropriate and is the work technically sound?</p>
            <p>Yes</p>
            <p>Are the conclusions drawn adequately supported by the results?</p>
            <p>Yes</p>
            <p>Are sufficient details of methods and analysis provided to allow replication by others?</p>
            <p>Yes</p>
            <p>Reviewer Expertise:</p>
            <p>control system, AI-based control, Machine drives, Fault tolerant control</p>
            <p>I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard.</p>
        </body>
    </sub-article>
</article>
