<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:webfeeds="http://webfeeds.org/rss/1.0">
    <channel>
        <title><![CDATA[Automation Community]]></title>
        <description><![CDATA[Automation Community]]></description>
        <link>https://community.boschrexroth.com</link>
        <generator>Bettermode RSS Generator</generator>
        <lastBuildDate>Tue, 23 Jun 2026 12:49:04 GMT</lastBuildDate>
        <atom:link href="https://community.boschrexroth.com/rss/feed" rel="self" type="application/rss+xml"/>
        <pubDate>Tue, 23 Jun 2026 12:49:04 GMT</pubDate>
        <copyright><![CDATA[2026 Automation Community]]></copyright>
        <language><![CDATA[en-US]]></language>
        <ttl>60</ttl>
        <webfeeds:icon></webfeeds:icon>
        <webfeeds:related layout="card" target="browser"/>
        <item>
            <title><![CDATA[EFC5610 with diagnostic 9SC Surge current]]></title>
            <description><![CDATA[Hello support,

We have an application using 160Kw EFC5610 to run and control a 200KW motor.

Intermittently we are getting diagnosis 9 SC surge current.

It is possible to operate the motor up to the full ...]]></description>
            <link>https://community.boschrexroth.com/indraworks-indracontrol-for-mlc-mtx-indradrive-rr38gytr/post/efc5610-with-diagnostic-9sc-surge-current-VCwVKSlEs5vXcSf</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/indraworks-indracontrol-for-mlc-mtx-indradrive-rr38gytr/post/efc5610-with-diagnostic-9sc-surge-current-VCwVKSlEs5vXcSf</guid>
            <category><![CDATA[EFC5610]]></category>
            <category><![CDATA[Surge Current]]></category>
            <dc:creator><![CDATA[AppsRich]]></dc:creator>
            <pubDate>Mon, 22 Jun 2026 16:09:26 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hello support,</p><p>We have an application using 160Kw EFC5610 to run and control a 200KW motor.</p><p>Intermittently we are getting  diagnosis 9 SC surge current.</p><p>It is possible to operate the motor up to the full speed of 1790 rpm without error occurring. </p><p>So therefore we have discounted the suggested causes of failure for motor Short Circuit or Inverter module failure.</p><p>Parameter set attached</p><p>Any thoughts?</p><p>Thanks in advance</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[IndraDrive HCS01 – F2087 Module Group Communication Error. Non-resettable]]></title>
            <description><![CDATA[Hi everyone,

I'm dealing with a persistent F2087 – Module group communication error on a single IndraDrive unit and I'm hoping someone has seen this before.

Drive details:

 * Drive: HCS01.1E-W0018-A-03-B-ET...]]></description>
            <link>https://community.boschrexroth.com/indraworks-indracontrol-for-mlc-mtx-indradrive-rr38gytr/post/indradrive-hcs01---f2087-module-group-communication-error-non-resettable-5QnjnBFyzzNNsFt</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/indraworks-indracontrol-for-mlc-mtx-indradrive-rr38gytr/post/indradrive-hcs01---f2087-module-group-communication-error-non-resettable-5QnjnBFyzzNNsFt</guid>
            <dc:creator><![CDATA[E-Hellings]]></dc:creator>
            <pubDate>Mon, 22 Jun 2026 12:18:05 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hi everyone,</p><p>I'm dealing with a persistent <strong>F2087 – Module group communication error</strong> on a single IndraDrive unit and I'm hoping someone has seen this before.</p><p><strong>Drive details:</strong></p><ul><li><p>Drive: <code>HCS01.1E-W0018-A-03-B-ET-EC-NN-NN-NN-FW</code></p></li><li><p>Firmware: <code>FWA-INDRV*-MPB-20V32-D5-1-NNN-NN</code></p></li><li><p>Communication: EtherCAT, connected to a ctrlX CORE</p></li></ul><p>What happened:<br>The drive ran fine for a period, then the F2087 fault started appearing sporadically. Over time it became constant and non-resettable — even after restarting the EtherCAT bus, the ctrlX CORE, and the drive itself.</p><p>What we've already checked:</p><ul><li><p>EMC, grounding, and cabling have all been verified</p></li><li><p>A second identical machine (same setup, FW MPB-20V26) runs without any issues</p></li><li><p>The fault is isolated to this one drive</p></li><li><p>The drive was swapped with a replacement unit — the fault did NOT follow the drive, meaning the replacement drive runs without issues in the same position</p></li></ul><p>This points away from a pure hardware defect on the original drive and suggests something in the setup, configuration, or firmware may be the cause.</p><p>Has anyone experienced F2087 becoming non-resettable like this, and if so, what was the root cause?</p><p>Thanks in advance!</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[DATA BUFFERING BETWEEN OPC UA SERVER & OPC UA CLIENT]]></title>
            <description><![CDATA[I have installed an OPC UA Server on my ctrlX device, which is currently receiving data and transmitting it to an OPC client. My use case is that if the connection to the client is lost, the system ...]]></description>
            <link>https://community.boschrexroth.com/communication-5ojipb0n/post/data-buffering-between-opc-ua-server-opc-ua-client-nhXuKBtnwscjZV7</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/communication-5ojipb0n/post/data-buffering-between-opc-ua-server-opc-ua-client-nhXuKBtnwscjZV7</guid>
            <dc:creator><![CDATA[Azad Sandhu]]></dc:creator>
            <pubDate>Mon, 22 Jun 2026 10:51:10 GMT</pubDate>
            <content:encoded><![CDATA[<p>I have installed an OPC UA Server on my ctrlX device, which is currently receiving data and transmitting it to an OPC client. My use case is that if the connection to the client is lost, the system should buffer the data locally. Once the connection is restored, the buffered data should then be sent to the client. Is there a way to achieve this?</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Device error - Power failed]]></title>
            <description><![CDATA[Hello,

We are experiencing an intermittent fault on specific axes of the machine, the error occurs randomly. When we connected on the drive, everything seems ok.

When we try to reset the fault from the ...]]></description>
            <link>https://community.boschrexroth.com/ctrlx-motion-itqsnz6e/post/device-error---power-failed-Dcqc78y6ohBu3mE</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/ctrlx-motion-itqsnz6e/post/device-error---power-failed-Dcqc78y6ohBu3mE</guid>
            <dc:creator><![CDATA[ChristopherC]]></dc:creator>
            <pubDate>Mon, 22 Jun 2026 08:19:04 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hello,</p><p>We are experiencing an intermittent fault on specific axes of the machine, the error occurs randomly. When we connected on the drive, everything seems ok.</p><p>When we try to reset the fault from the ctrlX webserver an other error occur.</p><p>Currently we need to power off the machine to get out of this situation.</p><p>Any advice ?</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Technology app hardware compatibility]]></title>
            <description><![CDATA[Hi, I have a ctrlX drive and want to use the technology app for force control. The drive has the latest FWA-XD1-AXS-V-0612N-NN-00.fwa firmware. The drive was originally XCS2-W0023ARN-01AETT0NNNN-...]]></description>
            <link>https://community.boschrexroth.com/ctrlx-drive-5thklqt9/post/technology-app-hardware-compatibility-UYdVrtBXO50ceWM</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/ctrlx-drive-5thklqt9/post/technology-app-hardware-compatibility-UYdVrtBXO50ceWM</guid>
            <dc:creator><![CDATA[AndreasAA-16]]></dc:creator>
            <pubDate>Mon, 22 Jun 2026 07:34:31 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hi, I have a ctrlX drive and want to use the technology app for force control. The drive has the latest FWA-XD1-AXS-V-0612N-NN-00.fwa firmware. The drive was originally XCS2-W0023ARN-01AETT0NNNN-S04RSN2NNNN0NN before the firmware was updated to XCS2-W0023ARN-01AETT0NNNN-S0612N4TE0N0NN. I now get a notification that the hardware does not support the tech app. What do I need to do to make it work. See screenshot of notification below: </p><figure data-align="center" data-size="best-fit" data-id="2Yu3WCieRgl50ldyqqGEr" data-version="v2" data-type="image"><img data-id="2Yu3WCieRgl50ldyqqGEr" src="https://tribe-eu.imgix.net/2Yu3WCieRgl50ldyqqGEr?auto=compress,format"></figure>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Torque / force data scaling]]></title>
            <description><![CDATA[Hi,

I am making some torque measurments on a protoype to see if I can consider downsizing an axis. That is why I need to be sure of the values and units.

With the following settings in the drive :

The ...]]></description>
            <link>https://community.boschrexroth.com/ctrlx-drive-5thklqt9/post/torque-force-data-scaling-OMZOTMyv1EklUeD</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/ctrlx-drive-5thklqt9/post/torque-force-data-scaling-OMZOTMyv1EklUeD</guid>
            <category><![CDATA[CTRLXDRIVE]]></category>
            <category><![CDATA[MEASUREMENT]]></category>
            <category><![CDATA[TORQUE]]></category>
            <dc:creator><![CDATA[Thomas-1016]]></dc:creator>
            <pubDate>Mon, 22 Jun 2026 07:01:16 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hi,</p><p>I am making some torque measurments on a protoype to see if I can consider downsizing an axis. That is why I need to be sure of the values and units.</p><p>With the following settings in the drive :</p><figure data-align="center" data-size="best-fit" data-id="xB9ODLEmcmZsLYS01tdOY" data-version="v2" data-type="image"><img data-id="xB9ODLEmcmZsLYS01tdOY" src="https://tribe-eu.imgix.net/xB9ODLEmcmZsLYS01tdOY?auto=compress,format"></figure><p>The torque is calculated as follow :</p><p><strong>T = M / (Factor * 10^Exponent)</strong></p><p>T : actual torque in [Nm]</p><p>M : arAxisStatus_gb[1].Data.ActValues.Torque</p><ul><li><p>So if M = 3, the actual torque T in [Nm] is : 3 / (1 * 10^-2) = 300 Nm ? </p></li></ul><p></p><ul><li><p>What is the "Resolution" used for, is it the outcome of the <strong>Factor </strong>and <strong>Exponent </strong>parameters ?</p></li><li><p>With this setting the output value must be divided by the "Resolution" value ?</p></li></ul><figure data-align="center" data-size="best-fit" data-id="WeyU5sUxPFRHtVoQuFVkV" data-version="v2" data-type="image"><img data-id="WeyU5sUxPFRHtVoQuFVkV" src="https://tribe-eu.imgix.net/WeyU5sUxPFRHtVoQuFVkV?auto=compress,format"></figure><p></p><p>I checked the documentation but the description of the parameters couldn't answer these interrogations.</p><p><a class="text-interactive hover:text-interactive-hovered" rel="noopener noreferrer nofollow" href="https://docs.automation.boschrexroth.com/doc/2329752616/torque-force-data-scaling-type-0x2906-01-s-0-0086/latest/en/?inTopicJump=S-0-0086">Torque/force data scaling: Type (0x2906:01 / S-0-0086 / --) - Bosch Rexroth Product Information Portal</a></p><p></p><p>Thanks in advance for your support.</p><p>Thomas</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Timezone requires manual assignment in ctrlX 04vrs]]></title>
            <description><![CDATA[Hello,

it is observed that the Timezone could not be assigned while assigning the timer to ctrlX OS in ctrlX 04Vrs, requires manual assignment.. This was not noticed till ctrlX 03 vrs.]]></description>
            <link>https://community.boschrexroth.com/ctrlx-works-mpp856pr/post/timezone-requires-manual-assignment-in-ctrlx-04vrs-4ToUeGHHOAVwVsm</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/ctrlx-works-mpp856pr/post/timezone-requires-manual-assignment-in-ctrlx-04vrs-4ToUeGHHOAVwVsm</guid>
            <dc:creator><![CDATA[Rathinavel]]></dc:creator>
            <pubDate>Sun, 21 Jun 2026 07:29:57 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hello,</p><p>it is observed that the Timezone could not be assigned while assigning the timer to ctrlX OS in ctrlX 04Vrs, requires manual assignment.. This was not noticed till ctrlX 03 vrs.</p><figure data-type="image" data-version="v2" data-id="YikgxfFfiLQpPy4aYFuzo" data-size="best-fit" data-align="center"><img src="https://tribe-eu.imgix.net/YikgxfFfiLQpPy4aYFuzo?auto=compress,format" data-id="YikgxfFfiLQpPy4aYFuzo"></figure>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[PLC OpcUA Client failed to call method with array arguments (TypeMismatch)]]></title>
            <description><![CDATA[Hi team,

I was failed to call OpcUA method in PLC my PLC Program and get a Type Mismatch error even though I didn't get any error ID for the input/output arguments.

What I have done:

 1. Use Datalayer Web UI...]]></description>
            <link>https://community.boschrexroth.com/ctrlx-plc-ctxo5cm7/post/plc-opcua-client-failed-to-call-method-with-array-arguments-typemismatch-sQhlloVy2ElAKJW</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/ctrlx-plc-ctxo5cm7/post/plc-opcua-client-failed-to-call-method-with-array-arguments-typemismatch-sQhlloVy2ElAKJW</guid>
            <category><![CDATA[CTRLXPLC]]></category>
            <category><![CDATA[OPCUA CLIENT]]></category>
            <category><![CDATA[PLC]]></category>
            <dc:creator><![CDATA[Chih-Peng]]></dc:creator>
            <pubDate>Fri, 19 Jun 2026 09:38:55 GMT</pubDate>
            <content:encoded><![CDATA[<p>Hi team,</p><p>I was failed to call OpcUA method in PLC my PLC Program and get a Type Mismatch error even though I didn't get any error ID for the input/output arguments.</p><figure data-align="center" data-size="best-fit" data-id="IIrmVec9OGDOuEXtLYqJi" data-version="v2" data-type="image"><img data-id="IIrmVec9OGDOuEXtLYqJi" src="https://tribe-eu.imgix.net/IIrmVec9OGDOuEXtLYqJi?auto=compress,format"></figure><figure data-align="center" data-size="best-fit" data-id="EtPFc4DuK4qYwpqk4GMZj" data-version="v2" data-type="image"><img data-id="EtPFc4DuK4qYwpqk4GMZj" src="https://tribe-eu.imgix.net/EtPFc4DuK4qYwpqk4GMZj?auto=compress,format"></figure><p><strong>What I have done:</strong></p><ol><li><p>Use Datalayer Web UI to directly call method -&gt; Works</p></li><li><p>Use UA.TestClient to call method -&gt; Works</p></li><li><p>Use PLC CXA_OpcUaClient UA_MethodCall -&gt; Failed<br>From my OpcUA Server it shows method is executed. But PLC side get BadTypeMismatch error. All errorIDs_inputArgs and errorIDs_outArgs are shown as no-error.</p></li></ol><p><strong>Questions:</strong></p><ol><li><p>Does PLC OpcUA support multiple output arguement?</p></li><li><p>Could it be type mismatch and how to fix this error? <br>Here is what I type mapping I use.<br>UA_STRING -&gt; STRING<br>UA_FLOAT with array size 7 -&gt; ARRAY OF [0..6] REAL</p><p></p></li></ol><p><strong>Version Info</strong></p><p>PLC Engineering v3.6.4</p><p>PLC App v3.6.3</p><p>ctrlX OS v3.6.4</p><p>PLC Library: OpcUA Client v3.6.8</p><p><strong>Method Info</strong></p><p>datalayer address: "opcuaclient/PLCVGR/i=85/ns=1;s=LumiScanVGR/ns=1;s=GetBestResult"</p><p>0 input arguments</p><p>2 output arguments: string, float[7]</p><p><strong>Code Snippet</strong></p><pre><code>// Declaration
InputArgumentsCount:     UINT;
OutputArgumentsCount:    UINT;
inArgs_empty: ARRAY[1..MAX_ELEMENTS_ARGUMENT] OF PLCVariable;
outArgs_returnCode: ARRAY[1..MAX_ELEMENTS_ARGUMENT] OF PLCVariable; 
outArgs_getBestResult: ARRAY[1..MAX_ELEMENTS_ARGUMENT] OF PLCVariable;
outVal_returnCode: STRING := '                   ';
outVal_bestPose: ARRAY [0..6] OF REAL;
errorIDs_inputArgs:  ARRAY [1..MAX_ELEMENTS_ARGUMENT] OF ErrorCodes; 
errorIDs_outArgs: ARRAY [1..MAX_ELEMENTS_ARGUMENT] OF ErrorCodes; 

// Partial Implementation
// Calling empty method, one input, one output method has already succeed.
	InputArgumentsCount  := 0;
	OutputArgumentsCount := 2;

	fbMethodCall(
	  Execute:= TRUE,
	  ConnectionHdl:= dwConnectionHandle,
	  MethodHdl:= aMethodHdls[9],
	  Timeout:= T#30S,
	  ValidateOutputArguments:= ValidateResults.Tolerant, 
	  InputArgumentsCount:= InputArgumentsCount, 
	  OutputArgumentsCount:= OutputArgumentsCount,
	  InputArguments:=inArgs_empty ,
	  OutputArguments:= outArgs_getBestResult,
	  OutputArgumentsErrorIDs=&gt;errorIDs_outArgs ,
	  InputArgumentsErrorIDs=&gt; errorIDs_inputArgs);
	  
	IF fbMethodCall.Error THEN
	  str_ErrorCode:=GetNameOfErrorCode(dwErrorCode:= fbMethodCall.ErrorID);
	  str_AddErrorInfo := fbMethodCall.ErrorString;
	  fbMethodCall(
		  Execute:= FALSE,
		  OutputArgumentsCount:= OutputArgumentsCount,
		  InputArguments:=inArgs_empty ,
		  OutputArguments:= outArgs_getBestResult,
		  OutputArgumentsErrorIDs=&gt;errorIDs_outArgs ,
		  InputArgumentsErrorIDs=&gt; errorIDs_inputArgs);
		state:=999;
	END_IF
	IF fbMethodCall.Done = TRUE THEN
	  fbMethodCall(
		  Execute:= FALSE,
		  OutputArgumentsCount:= OutputArgumentsCount,
		  InputArguments:=inArgs_empty ,
		  OutputArguments:= outArgs_getBestResult);
	  state := 70;
	END_IF</code></pre><p></p><p><strong>Example of what method will return</strong></p><figure data-align="center" data-size="best-fit" data-id="s49A4nAcgy1ThqKSqfrA4" data-version="v2" data-type="image"><img data-id="s49A4nAcgy1ThqKSqfrA4" src="https://tribe-eu.imgix.net/s49A4nAcgy1ThqKSqfrA4?auto=compress,format"></figure><figure data-align="center" data-size="best-fit" data-id="VQZf1ZG6rxl62hpHTqnih" data-version="v2" data-type="image"><img data-id="VQZf1ZG6rxl62hpHTqnih" src="https://tribe-eu.imgix.net/VQZf1ZG6rxl62hpHTqnih?auto=compress,format"></figure><p></p><p>thanks and best regards,</p><p>Chih-Peng Chang</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[DL_ReadNodeValueType02 input format]]></title>
            <description><![CDATA[I am trying to write PLC code so I can read diagnosis/get/text/detailed. It looks like DL_ReadNodeValueType02 is the correct function block to use, however I am struggling to get the format correct ...]]></description>
            <link>https://community.boschrexroth.com/ctrlx-plc-ctxo5cm7/post/dl-readnodevaluetype02-input-format-Feez1PsPI0X8Fwy</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/ctrlx-plc-ctxo5cm7/post/dl-readnodevaluetype02-input-format-Feez1PsPI0X8Fwy</guid>
            <category><![CDATA[DATALAYER]]></category>
            <category><![CDATA[PLC]]></category>
            <dc:creator><![CDATA[Jamie-61]]></dc:creator>
            <pubDate>Thu, 18 Jun 2026 21:57:06 GMT</pubDate>
            <content:encoded><![CDATA[<p>I am trying to write PLC code so I can read diagnosis/get/text/detailed.  It looks like DL_ReadNodeValueType02 is the correct function block to use, however I am struggling to get the format correct for NodeValueIn.  It looks like for this datalayer node, we would need to provide both the detailed and main diagnostic code through NodeValueIn.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SAFEX-C and FSoE Communication with ctrlX CORE and CODESYS EtherCAT Master]]></title>
            <description><![CDATA[This article describes a validation test and example for operating a SAFEX-C.15 as an FSoE Master (FSoE MainInstance) together with the CODESYS EtherCAT Master (EtherCAT MainDevice, Softstack) on a ...]]></description>
            <link>https://community.boschrexroth.com/store-and-how-to-how-to-qmglrz33/post/safex-c-and-fsoe-communication-with-ctrlx-core-and-codesys-ethercat-master-dSLDzsVcicPJaRm</link>
            <guid isPermaLink="true">https://community.boschrexroth.com/store-and-how-to-how-to-qmglrz33/post/safex-c-and-fsoe-communication-with-ctrlx-core-and-codesys-ethercat-master-dSLDzsVcicPJaRm</guid>
            <category><![CDATA[CTRLXCORE]]></category>
            <category><![CDATA[CTRLXAUTOMATION]]></category>
            <category><![CDATA[HOWTO]]></category>
            <category><![CDATA[ETHERCAT]]></category>
            <category><![CDATA[CTRLXPLC]]></category>
            <category><![CDATA[CTRLXSAFETY]]></category>
            <category><![CDATA[CODESYS]]></category>
            <dc:creator><![CDATA[Thoomas]]></dc:creator>
            <pubDate>Thu, 18 Jun 2026 15:34:29 GMT</pubDate>
            <content:encoded><![CDATA[<p>This article describes a validation test and example for operating a SAFEX-C.15 as an FSoE Master (FSoE MainInstance) together with the CODESYS EtherCAT Master (EtherCAT MainDevice, Softstack) on a ctrlX CORE. It covers all configuration and programming steps required to establish FSoE communication between the SAFEX-C.15 and the SAFEX-M.02 safety I/O module.</p><h2 class="text-xl" data-toc-id="0dc24172-37cc-4084-87d4-0e1ea2213567" id="0dc24172-37cc-4084-87d4-0e1ea2213567">Prerequisites</h2><h3 class="text-lg" data-toc-id="7fd7f3c1-667d-418f-bbb8-2065ee7d9a5c" id="7fd7f3c1-667d-418f-bbb8-2065ee7d9a5c"><strong>Hardware and software components used</strong></h3><ul><li><p>ctrlX CORE X5 with ctrlX OS 4.6.1</p></li><li><p>ctrlX PLC Engineering 4.6.1</p></li><li><p>CODESYS EtherCAT Master package 4.8.2.0</p></li><li><p>SAFEX-C.15 with FW 1.0.1.65 FPGA 227</p></li><li><p>ctrlX SAFETY Engineering 1.8.7.10917</p></li><li><p>EC-BK-12 bus coupler with I/O modules</p></li><li><p>SAFEX-M.02 safety I/O module</p></li></ul><h3 class="text-lg" data-toc-id="94f72db1-aa2f-4ddb-bd8b-7006b07b815f" id="94f72db1-aa2f-4ddb-bd8b-7006b07b815f"><strong>Test setup (EtherCAT communication)</strong></h3><p>ctrlX CORE X5 (XF12) &gt;&gt; SAFEX-C.15 &gt;&gt; EC bus coupler with IO modules and with SAFEX-M.02 safety IO module</p><h3 class="text-lg" data-toc-id="4818db75-d4af-4811-846f-d9c2508a8ec5" id="4818db75-d4af-4811-846f-d9c2508a8ec5"><strong>Downloading and Installing the SW Components</strong></h3><p>All software components available via ctrlX OS Store or Collaboration Room.</p><p>For the "CODESYS EtherCAT Master" component, the "CODESYS EtherCAT 4.8.2.0.package" must be downloaded, installed and the "ctrlX OS License - CODESYS - EtherCAT Master (add-on)" license purchased and installed on the ctrlX CORE.</p><h2 class="text-xl" data-toc-id="c9759f0b-71bb-4f77-8607-53d38c3599b6" id="c9759f0b-71bb-4f77-8607-53d38c3599b6">Steps</h2><h3 class="text-lg" data-toc-id="fdb73e4b-a185-421d-9693-ba966cbf19f3" id="fdb73e4b-a185-421d-9693-ba966cbf19f3">Step 1: Configure the Network Interface on ctrlX CORE X5</h3><p>In the ctrlX OS WebUI, navigate to "Settings &gt; Network Interfaces" and enable and configure a suitable interface for EtherCAT communication, for example XF12.</p><p></p><figure data-align="center" data-size="best-fit" data-id="62SPr5pS7rzaHC4t7Zesq" data-version="v2" data-type="image"><img data-id="62SPr5pS7rzaHC4t7Zesq" src="https://tribe-eu.imgix.net/62SPr5pS7rzaHC4t7Zesq?auto=compress,format"><figcaption class="!text-center !mx-auto !text-content-subdued !text-xs  !px-0.5 !my-1 !max-w-prose !mt-1 !rounded-none">Network interface XF12 configuration on ctrlX CORE X5</figcaption></figure><p></p><h3 class="text-lg" data-toc-id="2dfa99ea-ad18-45a9-bea7-78f3bed23a68" id="2dfa99ea-ad18-45a9-bea7-78f3bed23a68">Step 2: Install and add CODESYS EtherCAT to the PLC Project</h3><p><em>Note</em>: A ctrlX I/O Engineering project is not required for this use case. The CODESYS EtherCAT Softstack is used instead of the ctrlX CORE's built-in EtherCAT Master.</p><p>Install the "CODESYS EtherCAT 4.8.2.0" package via "Tools &gt; Add-on installer…" in ctrlX PLC Engineering. A detailed guide is available in the ctrlX AUTOMATION Community as a How-To: <a class="text-interactive hover:text-interactive-hovered" rel="noopener noreferrer nofollow" href="https://community.boschrexroth.com/ctrlx-automation-how-tos-qmglrz33/post/codesys-fieldbus-add-on-installation-guide-for-ctrlx-automation-fHtf9YArU8wXYR8">CODESYS fieldbus add-on installation guide for ctrlX AUTOMATION</a>.</p><p><em>Note</em>: Although that guide covers EtherNet/IP, the same procedure applies analogously to EtherCAT.</p><p>Afterward, the EtherCAT Master is added to the PLC project.</p><p></p><figure data-align="center" data-size="best-fit" data-id="Y3nIcE0UFWGeWRb1YZowt" data-version="v2" data-type="image"><img data-id="Y3nIcE0UFWGeWRb1YZowt" src="https://tribe-eu.imgix.net/Y3nIcE0UFWGeWRb1YZowt?auto=compress,format"><figcaption class="!text-center !mx-auto !text-content-subdued !text-xs  !px-0.5 !my-1 !max-w-prose !mt-1 !rounded-none">CODESYS EtherCAT Master in the PLC project</figcaption></figure><p></p><h3 class="text-lg" data-toc-id="3f90753d-4c27-4e82-b167-2b7426c90fb4" id="3f90753d-4c27-4e82-b167-2b7426c90fb4">Step 3: Assign the XF12 Interface to the CODESYS EtherCAT Master</h3><p>Assign the ctrlX CORE XF12 interface to the EtherCAT Master in the "General" settings tab of the EtherCAT Master. Use "Select…" if necessary to choose the correct interface.</p><p></p><figure data-align="center" data-size="best-fit" data-id="5OeyBK60zZ8p7tALzamAZ" data-version="v2" data-type="image"><img data-id="5OeyBK60zZ8p7tALzamAZ" src="https://tribe-eu.imgix.net/5OeyBK60zZ8p7tALzamAZ?auto=compress,format"><figcaption class="!text-center !mx-auto !text-content-subdued !text-xs  !px-0.5 !my-1 !max-w-prose !mt-1 !rounded-none">XF12 interface assigned to CODESYS EtherCAT Master</figcaption></figure><p></p><h3 class="text-lg" data-toc-id="5502ffe9-6715-452b-ba43-39ad116ae605" id="5502ffe9-6715-452b-ba43-39ad116ae605">Step 4: Add EtherCAT Devices</h3><p>Add EtherCAT devices to the EtherCAT Master either manually or by using "Scan for Devices…". In this example, the SAFEX-C.15 and the EC bus coupler with I/O modules and the SAFEX-M.02 safety I/O module are added.</p><p><em>Note</em>: If required, install missing EtherCAT device descriptions beforehand under "Tools &gt; Device Repository…" (ESI files).</p><figure data-align="center" data-size="best-fit" data-id="Ydrkr6G0PX5GrfcYx1RZV" data-version="v2" data-type="image"><img data-id="Ydrkr6G0PX5GrfcYx1RZV" src="https://tribe-eu.imgix.net/Ydrkr6G0PX5GrfcYx1RZV?auto=compress,format"><figcaption class="!text-center !mx-auto !text-content-subdued !text-xs  !px-0.5 !my-1 !max-w-prose !mt-1 !rounded-none">Scan for Devices result at EtherCAT Master</figcaption></figure><p></p><h3 class="text-lg" data-toc-id="e8821b21-e5ef-4005-a35c-39af835d4795" id="e8821b21-e5ef-4005-a35c-39af835d4795">Step 5: Add FSoE Devices</h3><p>The SAFEX-M.02 safety I/O module is an FSoE SubInstance (FSoE Slave). Its FSoE object is added automatically.</p><p><em>Note</em>: The FSoE address of the I/O module must be set via the side rotary switch before installation into the I/O station. In this example, the SAFEX-M.02 module has address "1".</p><figure data-align="center" data-size="best-fit" data-id="gEbe4GRQMsqs5nyeGa5SV" data-version="v2" data-type="image"><img data-id="gEbe4GRQMsqs5nyeGa5SV" src="https://tribe-eu.imgix.net/gEbe4GRQMsqs5nyeGa5SV?auto=compress,format"><figcaption class="!text-center !mx-auto !text-content-subdued !text-xs  !px-0.5 !my-1 !max-w-prose !mt-1 !rounded-none">SAFEX-M.02 on the bus coupler with FSoE object</figcaption></figure><p></p><p>The SAFEX-M.02 has two bytes of safe data inputs and outputs.</p><figure data-align="center" data-size="best-fit" data-id="XVXqzWjLI6EuNS1a8KKzK" data-version="v2" data-type="image"><img data-id="XVXqzWjLI6EuNS1a8KKzK" src="https://tribe-eu.imgix.net/XVXqzWjLI6EuNS1a8KKzK?auto=compress,format"><figcaption class="!text-center !mx-auto !text-content-subdued !text-xs  !px-0.5 !my-1 !max-w-prose !mt-1 !rounded-none">I/O addresses of safe data for SAFEX-M.02 (FSoE SubInstance)</figcaption></figure><p></p><h3 class="text-lg" data-toc-id="73f7cc6d-70c3-4dc4-bf88-47df078755cb" id="73f7cc6d-70c3-4dc4-bf88-47df078755cb">Step 6: Add FSoE Connection on the SAFEX-C.15 (FSoE MainInstance)</h3><p>The SAFEX-C.15 safety controller is also the FSoE MainInstance (FSoE Master). An FSoE connection with "2 Bytes In/2 Bytes Out" for the SAFEX-M.02 must be added using "Plug Device…".</p><figure data-align="center" data-size="best-fit" data-id="xHL9Eq6CyX6IUxNap7myJ" data-version="v2" data-type="image"><img data-id="xHL9Eq6CyX6IUxNap7myJ" src="https://tribe-eu.imgix.net/xHL9Eq6CyX6IUxNap7myJ?auto=compress,format"><figcaption class="!text-center !mx-auto !text-content-subdued !text-xs  !px-0.5 !my-1 !max-w-prose !mt-1 !rounded-none">FSoE connection selection for SAFEX-M.02 on SAFEX-C.15</figcaption></figure><p></p><figure data-align="center" data-size="best-fit" data-id="CxzDEwv5Rpzk8bjE9vKUS" data-version="v2" data-type="image"><img data-id="CxzDEwv5Rpzk8bjE9vKUS" src="https://tribe-eu.imgix.net/CxzDEwv5Rpzk8bjE9vKUS?auto=compress,format"><figcaption class="!text-center !mx-auto !text-content-subdued !text-xs  !px-0.5 !my-1 !max-w-prose !mt-1 !rounded-none">I/O addresses of safe data from SAFEX-C.15 (FSoE MainInstance) perspective</figcaption></figure><p></p><h3 class="text-lg" data-toc-id="b7924659-5ef6-42a9-a82a-1ade1fcc7036" id="b7924659-5ef6-42a9-a82a-1ade1fcc7036">Step 7: Map FSoE Frame Data in the PLC Project</h3><p>The mapping of input and output data of the FSoE frame between the FSoE Master and Slave is performed by two assignments within the PLC project.</p><ul><li><p><code>_FSoE_MInst_SAFEX_C_Output := FSoESInst_SAFEX_M02_Input;</code> — Mapping FSoE data from SInst to MInst</p></li><li><p><code>_FSoE_SInst_SAFEX_M02_Output := FSoEMInst_SAFEX_C_Input;</code> — Mapping FSoE data from MInst to SInst</p></li></ul><p><em>Note</em>: For the ctrlX CORE's EC Master, a simplified alternative is available via the "Slave to slave" dialog tab, which does not require explicit programming.</p><p>As a practical example, a new program "prECM_Slave2Slave_Copy" was created under the "EtherCAT_Task":</p><figure data-align="center" data-size="best-fit" data-id="rAeJcjV4Hh2GtoqiBT8r3" data-version="v2" data-type="image"><img data-id="rAeJcjV4Hh2GtoqiBT8r3" src="https://tribe-eu.imgix.net/rAeJcjV4Hh2GtoqiBT8r3?auto=compress,format"><figcaption class="!text-center !mx-auto !text-content-subdued !text-xs  !px-0.5 !my-1 !max-w-prose !mt-1 !rounded-none">FSoE frame mapping in the PLC project</figcaption></figure><p>The correct hardware addresses for the respective inputs and outputs must be taken from the corresponding data areas (see screenshots above).</p><p><em>Note</em>: In total, 8 bytes of data are exchanged for 2 bytes of safe data (+ 1 byte command, 2 bytes CRC, 2 bytes connection ID, 1 byte for byte alignment).</p><h3 class="text-lg" data-toc-id="0a82c5c5-5906-48c1-a1ed-36173a0d3755" id="0a82c5c5-5906-48c1-a1ed-36173a0d3755">Step 8: Import SAFEX-M.02 into ctrlX SAFETY Engineering</h3><p>First, the SAFEX-M.02 must be added to ctrlX SAFETY Engineering via ESI import in the Slave Device Editor.</p><p></p><figure data-align="center" data-size="best-fit" data-id="tGex9fmCFrmCHbi7iGTL6" data-version="v2" data-type="image"><img data-id="tGex9fmCFrmCHbi7iGTL6" src="https://tribe-eu.imgix.net/tGex9fmCFrmCHbi7iGTL6?auto=compress,format"><figcaption class="!text-center !mx-auto !text-content-subdued !text-xs  !px-0.5 !my-1 !max-w-prose !mt-1 !rounded-none">ESI import of SAFEX-M.02 in the Slave Device Editor</figcaption></figure><p></p><h3 class="text-lg" data-toc-id="a9fc74d7-3649-4e7b-9623-407478ee3e0d" id="a9fc74d7-3649-4e7b-9623-407478ee3e0d">Step 9: Configure the FSoE Object in the Safety Project</h3><p>In ctrlX SAFETY Engineering, add the FSoE module to the project in the "Terminal Scheme", configure the correct profile, and set the correct slave address.</p><p></p><figure data-align="center" data-size="best-fit" data-id="nF29Ey4a53s7q3T71TgX9" data-version="v2" data-type="image"><img data-id="nF29Ey4a53s7q3T71TgX9" src="https://tribe-eu.imgix.net/nF29Ey4a53s7q3T71TgX9?auto=compress,format"><figcaption class="!text-center !mx-auto !text-content-subdued !text-xs  !px-0.5 !my-1 !max-w-prose !mt-1 !rounded-none">FSoE object SAFEX-M.02 configuration in Safety project</figcaption></figure><p></p><p>In the example, the hardware inputs and outputs are connected to the SAFEX-M.02 module both on the hardware and software side.</p><figure data-align="center" data-size="best-fit" data-id="VW4o8AAykixFq3se1kKnk" data-version="v2" data-type="image"><img data-id="VW4o8AAykixFq3se1kKnk" src="https://tribe-eu.imgix.net/VW4o8AAykixFq3se1kKnk?auto=compress,format"><figcaption class="!text-center !mx-auto !text-content-subdued !text-xs  !px-0.5 !my-1 !max-w-prose !mt-1 !rounded-none">Functional Scheme test example with SAFEX-M.02 in Safety project (1)</figcaption></figure><p></p><figure data-align="center" data-size="best-fit" data-id="iK69BhrJFngkStcnltX6i" data-version="v2" data-type="image"><img data-id="iK69BhrJFngkStcnltX6i" src="https://tribe-eu.imgix.net/iK69BhrJFngkStcnltX6i?auto=compress,format"><figcaption class="!text-center !mx-auto !text-content-subdued !text-xs  !px-0.5 !my-1 !max-w-prose !mt-1 !rounded-none">Functional Scheme test example with SAFEX-M.02 in Safety project (2)</figcaption></figure><p></p><h2 class="text-xl" data-toc-id="a1f97823-7347-474d-9204-dc5d71aa5d88" id="a1f97823-7347-474d-9204-dc5d71aa5d88">Conclusion</h2><p>Following these steps, the SAFEX-C.15 operates as an FSoE Master using the CODESYS EtherCAT Softstack on the ctrlX CORE X5, with FSoE communication established to the SAFEX-M.02 safety I/O module via the EC bus coupler.</p><p></p>]]></content:encoded>
        </item>
    </channel>
</rss>