1 Introduction
This How-to describes how FSoE communication between FSoE devices in different EtherCAT networks can be implemented. The SAFEX #1 is the only EtherCAT device below the ctrlX CORE #1 and is configured as the FSoE master.
SAFEX #2 is the only EtherCAT device below the ctrlX CORE #2 and is configured as an FSoE slave.
The mapping of the FSoE data between the CORE #1 and CORE #2 is implemented via Network Variable Lists (NVL). The configuration of the NVL is very simple and can therefore be recommended.
The How-to basically describes the configuration of the NVL in the PLC programs of the CORE #1 and CORE #2. All programs of the CORE #1 and CORE #2 as well as the programs of the SAFEX #1 and SAFEX #2 are available for download.
Configuration of the NVL in the PLC programs
1.1 Configuration PLC-program CORE #2
The SAFEX #2 is configured as FSoE-Slave. In preparation for mapping the FSoE data, a byte array is declared at the output address %QB0.
Image 1 2: SAFEX #2 is FSoE Slave
The configuration of NVL always starts on the sender side. A name (NVL_Core2toCore1) is defined there and the IP address (192.168.1.1) to which data is to be sent is also specified.
Image 1 3: CORE #2 NVL configuration as Sender
In preparation for mapping the FSoE data, a byte array is declared at the input address %IB0. That means this Input Array of CORE #2 should be send to CORE #1.
Image 1 4: FSoE SlaveInput declaration as Byte-array
Image 1 5: Define an Export file NVL_Core2toCore1.gvl
1.2 Configuration PLC-program CORE #1
The SAFEX #1 is configured as FSoE-Master. In preparation for mapping the FSoE data, a byte array is declared at the output address %QB0.
Image 1 6: SAFEX #1 is FSoE Master
Image 1 7: Choose the exported file NVL_Core2toCore1.gvl for import
Image 1 8: After import we see the imported variable FSoE_
Image 1 9: Mapping the NVL FSoE SlaveInput to FSoE MasterOutput
Image 1 10: CORE #1 NVL configuration as Sender
Image 1 11: FSoE MasterInput declaration as Byte-array
Image 1 12: Define an Export file NVL_Core1toCore2.gvl
1.3 Finish configuration PLC-program CORE #2
Image 1 13: Choose the exported file NVL_Core1toCore2.gvl for import
Image 1 14: After import we see the imported variable FSoE_MasterInput
Image 1 15: Mapping the NVL FSoE MasterInput to FSoE SlaveOutput
What the function is good for
If using the function "Safe Torque Off over safe fieldbus" coming with the "TB" hardware option, the following functions are included:
Safe Torque Off (STO)
Safe Stop 1 time monitored (SS1-t)
Safe Brake Control (SBC) (at activation of STO function)
The selection of the safety functions is taking place over one of the following safe fieldbuses
Fail Safe (FSoE) over EtherCAT SoE or EtherCAT CoE
or
PROFIsafe on PROFINET
Fig. 1: Functional overview of SS1-t and STO function
Versions used
All the functions and screen shots are based on:
ctrlX DRIVE Engineering version 01V32
Runtime / Firmware version of drive AXS-V-0604
Prerequisites
A connection to the various ctrlX DRIVE has been successfully established, the devices are correctly wired and 24 V are successfully put on. As well the engineering tool ctrlX DRIVE Engineering has been started.
1. Function
The function follows the following scheme:
SS1-t (time-prioritized, PLC/NC-controlled transition to standstill)
If the bit SS1 is activated, a time monitoring is started. Within this time the drive should be decelerated by the control system to arrive at standstill. Latest after this time the "Safe Torque Off" (STO) function and the "Safe Brake Control" (SBC) gets active.
If axis is arriving in standstill condition the drive can already be switched from AF (drive enable) to Ab (drive dis-enabled) and the "Safe Torque Off" (STO) function activated.
Safe Fieldbus interaction
One needs to select the so called "Safety Drive Profile V1"
Fig. 2: Safety Drive Profile V1
and thus would get the following interchange signals in between control and drive:
Fig. 3: Consumer / Producer connection
(control / status word)
2. Parameterization in drive
The axis must be parameterized in the following sequence:
Fig. 4: Activation of safety function
Fig. 5: Start "Initial commissioning"
Fig. 6: Assign password (in here password "Safety" is used)
Fig. 7: Assign and write axis identifier
Fig. 8: Apply axis identifier
Fig. 9: Parameterize "Safe brake control (SBC)"
If a brake is present, check the checkbox, if not uncheck it like shown in here.
Fig. 10: Parameterize "Safety bus communication"
Fig. 11: Write slave address (in here: FSoE slave address)
Fig. 12: Confirm slave address
Fig. 13: Select profile "Safety Drive Profile V1 (791/796)"
Fig. 14: Set the "Time to STO" to a proper value according to your application (with some safety margin)
Fig. 15: Create, name and save so called "SafeMotion report" (contains all information for eventual later change of devices at break down (should be put to machine documentation))
Fig. 16: For lateron change of parameterization the menus can be accessed directly
If you like to react as fast as possible on the selection of SS1/STO function w/o delay time of the safe bus communication the following parameterization may be used:
Fig. 17: I/O settings (for direct and quick reaction to SS1/STO selection)
Mind that pins XG31/3 and XG31/8 must be connected (wired)!
The E-Stop function in this case need to be activated.
Fig. 18: E-Stop function to be made active (in case of direct and quick drive reaction to SS1/STO selection)
3. Parameterization in SAFEX C.xx safety control
The parameterization is done according to the following:
Install device file in "Slave Device Editor" of ctrlX SAFETY Engineering.
Fig. 19: Install device file (1)
Fig. 20: Install device file (2)
Hint: The relevant device files can be found in the installation of ctrlX DRIVE Engineering, usually under "...\Program Files (x86)\Rexroth\ctrlX DRIVE Engineering\DeviceDataSheets", see e.g.:
Fig. 21: Usual location of DeviceDataSheets
Create a project:
- Insert ctrlX DRIVE in "terminal scheme" of SAFEX project
- Activate "Safety Drive Profile V1" and define the FSoE address and connection ID
- Insert needed Safety switches like STO and SS1 to the project according to your needs
Fig. 22
: Add ctrlX DRIVE in SAFEX project (terminal scheme)
Insert "2Byte Safety Drive Profile V1 (791 - 796)" to "functional scheme" of project and connect the corresponding STO and SS1 switch to the corresponding signals of the function block.
Download the safety project to the SAFEX control hardware after compilation and activate it after going online.
Fig. 23: Function block of "Safety Drive Profile" in "functional scheme"
4. Parameterization in control system
The parameterization is done according to the following:
Install device description with new "Safe Drive Profile V1" module in ctrlX CORE I/O Engineering.
Fig. 24: Install device description to ctrlX CORE I/O Engineering
Scan for EtherCAT devices and add to project.
Fig. 25: Scan for devices
Fig. 26: Add to project
Plug 2Byte Safe Drive Profile module to drive and 2Byte in / out module to SAFEX!
Fig. 27: Plug 2Byte Safe Drive Profile module to the drive and 2Byte in / 2Byte out module to SAFEX
Copy FSoE telegrams from FSoE master to FSoE slave and vice versa and download the project to ctrlX CORE.
Fig. 28: Copy FSoE telegrams from FSoE master to FSoE slave and vice versa
When the SS1 function is activated by the E-Stop button the drive needs to be decelerated and the drive disenabled (AF --> Ab). Therefor the SS1 bit in the FSoE telegram is checked via PLC which disenables the drive when SS1 is activated.
Fig. 29: ctrlX CORE PLC Engineering
A usual scope reading is looking like the following:
1. Activation of SS1 function --> drive will decelerate by switching from AF --> Ab.
2. SS1 is active.
3. Drive is in Ab.
4. STO is active.
Fig. 30: Scope readings with usual sequence
What the function is good for
If using the Safe Motion (SMO) M8 hardware option, the function Safe Door Lock (SDL) allows to create the necessary safe functions for one individual drive and thus one safe area.
The safe state information are used to control a safe door device with the use of the I/O mapper logic.
Fig. 1: Function block Safe Door Lock (SDL)
Mind: The drive must be equipped with Safe Motion (SMO) M8 hardware option!
Versions used
All the functions and screen shots are based on:
ctrlX DRIVE Engineering version 01V32
Runtime / Firmware version of drive AXS-V-0604
Prerequisites
A connection to the various ctrlX DRIVE has been successfully established, the devices are correctly wired and 24 V are successfully put on. As well the engineering tool ctrlX DRIVE Engineering has been started.
1. Function
The function follows the following scheme:
EMERGENCY STOP (SMES)
If the EMERGENCY STOP button is pressed, the corresponding safety function is activated immediately, which leads to a deceleration of a still moving axis. After coming to standstill and acknowledging the EMERGENCY STOP function the drive is shut off and thus torque/force free. The door is released to be opened at that time.
Note, that the “Drive Enable” signal from the control has to be removed before the time entered for the reaction time of the EMERGENCY STOP function is exceeded, thus directly after the standstill is accomplished. Otherwise an error is shown.
If the EMERGENCY STOP button is released again and the door is shut again the Reset button needs to be shortly pressed that the EMERGENCY STOP and thus the function is released again as well. Then the drive can be activated (drive enable be set) again.
Mind that after first time switching on of the devices the Reset button needs to be shortly pressed to initially make the execution of the safe function work.
Mind that the EMERGENCY STOP is always prior to all other safety functions and, if activated, superseding the in before active safety function.
Mode Select - Change to Safety Operation Mode (activating the safe operational stop (SMST2))
If the “Mode Select” is switched, the corresponding safety function at the drive is activated immediately, which leads to a deceleration of a still moving axis. After getting to standstill the drive is in operational stop with torque/force on. The door is released to be opened at that time.
If the Mode Select switch is released again and the door is shut again the Reset button needs to be shortly pressed in order that the safe function SMST2 is released again.
Enabling Control (activating safe motion with limited speed)(SMM1 or SMM2)
If the “Enabling Control” button is pressed additionally to the “Mode Select” switch, the corresponding safety function SMM1 or SMM2 at the drive is activated immediately, which allows the control to set a command with reduced speed. If the “Enabling Control” button is released again the safe operational stop (SMST2) is getting active again.
Switchover of reduced limited speed (SMM1 to SMM2)
If the “Switchover SMM1 to SMM2” switch is activated, the corresponding safety function SMM1 or SMM2 at the drive is switched over immediately, which allows the control to set a command with a corresponding reduced speed.
2. Wiring of drives
The wiring should be according to the following principles:
Fig. 2: Wiring schematics
3. Parameterization
The axis must be parameterized like the following:
Fig. 3: Settings of "Local safety zone"
The safe inputs need to be set according to the requested functionality. In here they are set to the following:
Safe input 1: EMERGENCY STOP
Safe input 2: Mode selection signal (to change to safe operation mode)
Safe input 3: Enabling control signal (Enabling pendant)
Safe input 4: Switchover from Safe operation mode SMM1 to SMM2 allowing different safe limited speeds to be selected.
Safe input 5: Acknowledgement that door is closed and locked
Fig. 4: Settings of "Signal control of inputs"
The safe outputs need to be set according to the following:
Fig. 5: Settings of "Signal control of outputs"
The I/O mappers should be set according to the following:
Fig. 6: Settings of "Network 1"
Fig. 7: Settings of "Network 2"
Fig. 8: Settings of "Network 3"
Fig. 9: Settings of "Network 4
"
Fig. 10: Settings of "Network 5"
Fig. 11: Settings of "Network 6"
Fig. 12: Settings of "Network 7"
Fig. 13: Settings of "Network 8"
The I/O settings need to be parameterized according to the following:
Fig. 14: Settings of "I/O" signals
Mind that at first switching on one might get an error at the local safe area master:
In using the normal "Reset" function of the drive (not the one for "Reset" of the safety functions) this can be quit.
Mind that you find the sample safe logic code and sample drive parameter files at the end of the blog entry!
1. General information
In the following we show to you how to control the SMO function of several ctrlX DRIVE in 3 safe areas each with a safe door via 1 ctrlX SAFETY using individual SAFETY link addresses.
Fig. 1.: Overview
Versions used
All the functions and screen shots are based on:
ctrlX SAFETY Engineering version >= 1.8.3.10207
SAFEX Runtime / Firmwareversion >= 1.0.1.53
ctrlX DRIVE Engineering version 01V32
Runtime / Firmware version of drive AXS-V-0604
Prerequisites
A connection to the ctrlX SAFETY control and ctrlX DRIVE has been successfully established, the devices are correctly wired and 24 V are successfully put on. As well the engineering tools ctrlX SAFETY and ctrlX DRIVE Engineering have been started.
2. Function of the established SAFEX logic program
The principle function of the SAFEX logic program is the following:
EMERGENCY STOP (SMES)
If at least one of the three EMERGENCY STOP buttons at ctrlX SAFETY is pressed, the corresponding safety function at all the drives is activated immediately, which leads to a deceleration of still moving axes. After coming to standstill and acknowledging the EMERGENCY STOP function the drives are shut off and thus torque/force free.
Note, that the “Drive Enable” signal from the control has to be removed before the time entered for the reaction time of the EMERGENCY STOP function is exceeded, thus directly after the standstill is accomplished. Otherwise an error is shown.
If the EMERGENCY STOP button is released again the Reset button needs to be shortly pressed twice that the EMERGENCY STOP and thus the function is released again as well. Then the drives can be activated (drive enable be set) again.
Mind that after first time switching on of the devices twice times the Reset button needs to be shortly pressed to initially make the execution of the safe PLC program work.
Mind that the EMERGENCY STOP is always prior to all other safety functions and, if activated, superseding the in before active safety function.
Mode Select - Change to Safety Operation Mode (activating the safe operational stop (SMST2))
If the “Mode Select” of one safe area at ctrlX SAFETY is switched, the corresponding safety function at the drives in this safe area is activated immediately, which leads to a deceleration of a still moving axes. After getting to standstill the drives are in operational stop with torque/force on.
The door in the safe area is released to be opened at that time. Mode select of several safe areas may be switched.
If the Mode Select switch is released again the Reset button needs to be shortly pressed once in order that the safe function SMST2 is released again.
Enabling Control (activating safe motion with limited speed)(SMM1)
If the “Enabling Control” button of a safe area is pressed additionally to the “Mode Select” switch of the corresponding safe area, the corresponding safety function SMM1 at the drives in this safe area is activated immediately, which allows the control to set a command with reduced speed. If the “Enabling Control” button is released again the safe operational stop (SMST2) is getting active once again.
Mind that this function is prohibited if several Mode Select switches of more than one safe area are switched.
ctrlX SAFETY link
The connection to the drive is accomplished via the so-called ctrlX SAFETY link connection, a ring connection from the ctrlX SAFETY control SAFEX to all ctrlX DRIVE and back.
Fig. 2.: SAFETY link schematics
Wiring of safety elements
The following wiring is used to connect the different safety elements to SAFEX-C1.x:
Fig. 3.: Wiring
3. Wiring schematics
The SAFEX control´s input devices are:
3 double channel EMERGENCY STOP buttons fed by pulsed 24V
3 double channel Mode Select switches fed by pulsed 24V
3 single channel reset button fed by non-pulsed 24V
3 Reset buttons
1 Double channel “Door closed” contact from the SIEMENS safety door (in total 1 double input)
1 Single channel “Door closed” contact from each of the 2 Pilz safety doors (in total 2 single inputs)
1 Double channel “Door locked” contact from each of the 3 safety doors (in total 3 double inputs)
All double channel buttons are fed by pulsed 24V.
The output devices are:
One OSSD fed output connected to open the 1 SIEMENS safety door device
Two OSSD fed outputs connected to close the 2 Pilz safety door devices
3 single OSSD fed outputs to indicate that safe area is in safe condition (if in SMES, SMST2 or SMM1 doesn´t matter)
Fig. 4.: Wiring schematics
4. Settings inside SAFEX control
The settings of the SAFEX control and the devices connected to the ctrlX SAFETY control should be according to the following.
Fig. 5.: Settings of SAFEX control
Mind that depending on the amount of so called FC Code commands and the logic in the functional scheme and FastChannel the "Cycle Time", set here to 4 ms, might be restricted. Then try with higher "Cycle Time" like 8, 12 or 16 ms and take that into account for the reaction time.
Fig. 6.: Check of FC Code command
Fig. 7.: Settings of “Emergency Stop 1…3” buttons connected to SAFEX control
Fig. 8.: Settings of different “ModeSelect” 1 to 3 switches connected to SAFEX control
Fig. 9.: Settings of “Enabling Control 1…3” buttons connected to SAFEX control
Fig. 10.: Settings of “Reset 1…3” buttons connected to SAFEX control
Fig. 11.: Settings of “Door Safe Area 1 closed” contacts connected to SAFEX control
Fig. 12.: Settings of “Door Safe Area 2 closed” and “Door Safe Area 3 closed” contacts connected to SAFEX control
Fig. 13.: Settings of “Door Safe Area 1 Locked” contacts connected to SAFEX control
Fig. 14.: Settings of “Door Safe Area 2 Locked” and “Door Safe Area 3 Locked” contacts connected to SAFEX control (Pilz device uses OSSD outputs by itself therefor here “Cross Circuit Check” is off)
Fig. 15.: Settings of “Open Door 1” output of SAFEX control
Fig. 16.: Settings of “Close Door 2” and “Close Door 3” outputs of SAFEX control
Fig. 17.: Settings of “Area 1 Safe Ack” to “Area 3 Safe Ack” outputs of SAFEX control
5. Safe logic inside SAFEX control
The safe logic inside the SAFEX control is created according to the following schematics.
Fig. 18.: Safe logic inside SAFEX control
Fig. 19.: Settings of Restart block
Fig. 20.: Settings of Timers 1 - 3 (in here as delay time 0,240 s is chosen, in your application this time may differ)
Fig. 21.: FastChannel Scheme inside SAFEX control
Fig. 22.: SAFETY link Master settings inside SAFEX control (Version 1.1 is needed and Cycle Time must be set to 2ms)
Fig. 23.: SAFETY link Slave settings inside SAFEX control (Mind that you need to set the Safety Address of the “SAFETYlink Slave” in accordance to the settings in the ctrlX DRIVE)
Fig. 24.: “Logic 1” blocks (these are used to easily extend or diminish the inputs at the “AND Block”s if adding or deleting “SAFETYlink Slave” elements for the different safe areas according to the needs of your machine)
6. Settings of ctrlX DRIVE
The settings inside ctrlX DRIVE are done according to the following:
Fig. 25.: Settings of ctrlX SAFETY link – Configuration
Fig. 26.: Settings of ctrlX SAFETY link – Outputs (SAFETY link address and status signals, see as well Fig. 23)
Fig. 27.: Settings of ctrlX DRIVE: I/O mapper input settings in drives of safe area 1 (in here in drives with address 1 and 11)
Fig. 28.: Settings of ctrlX DRIVE: I/O mapper input settings in drives of safe area 2 (in here in drives with address 2 and 12)
Fig. 29.: Settings of ctrlX DRIVE: I/O mapper input settings in drives of safe area 3 (in here in drives with address 3 and 13)
Introduction
The NFS (Network-File-System) share allows file sharing across networked systems, allowing centralized data storage, efficient collaboration and simple access.
This How-To covers the initial steps of mounting a Network Share using an Ubuntu Operating System and connecting it to the ctrlX CORE.
Prerequisites
ctrlX CORE (version 3.4 or higher)
Ubuntu OS or Ubuntu Virtual Machine (the used OS in the How-To is an Ubuntu 18.04 Virtual Machine)
Internet Connection on Ubuntu Machine
1) Mount Network Share on your Ubuntu Machine
Configuring an NFS share on Ubuntu is straightforward, as it primarily involves using command-line tools.
While setting up an NFS share on Windows is also possible, the process can be considerably more complex.
Just follow these steps to successfully mount your NFS Share:
Open a new Command Window
Install the NFS Server
sudo apt update
sudo apt install nfs-kernel-server -y
Create shared directory
sudo mkdir -p /mnt/nfs-share
Avoid using underlines or other special characters in your folder names as some characters are currently blocked for the ctrlX CORE
Set permissions
sudo chmod 777 /mnt/nfs-share
Configure exports file
sudo nano /etc/exports
Add this line
/mnt/nfs-share 192.168.1.0/24(rw,sync,no_subtree_check)
This command allows all devices with an IP-address of "192.168.1.x" to access the network share. If your ctrlX CORE has a different IP-address, you have to adjust the command accordingly. Also the NFS-Server should be in the same subnet "192.168.1.y" (192.168.1.100 in this case).
Press "Ctrl+O", then "Ctrl+X" to save and to return to your command window
Restart Nfs service
sudo systemctl restart nfs-kernel-server
Enable NFS to start on boot
sudo systemctl enable nfs-kernel-server
Allow NFS through firewall
sudo ufw allow from 192.168.1.0/24 to any port nfs
sudo ufw reload
Install NFS Client
sudo apt update
sudo apt install nfs-common -y
Mount NFS Share on Client
sudo mkdir -p /mnt/nfs_client
sudo mount 192.168.1.100:/mnt/nfs-share /mnt/nfs_client
Note: "192.168.1.100" is the IP-Address of the NFS-Server. If you want to use a different IP, you have to modify the provided Code accordingly.
Verify Mount:
df -h | grep nfs
You should be seeing something like this now:
Mount NFS Share: Result
You can optionally make the Mount persistent (recommended). You will not have to mount the Share every time you restart your system.
sudo nano /etc/fstab
Add this line:
192.168.1.100:/mnt/nfs-share /mnt/nfs_client nfs defaults,_netdev 0 0
Create test file (optional test)
touch /mnt/nfs_client/testfile.txt
Note: Some of the commands might be unnecessary in your case. However, executing them will not harm your progress.
2) Mount NFS Share on your ctrlX CORE
Navigate in your ctrlX CORE to Settings -> Storage
Navigation to Mount the NFS Share on the ctrlX CORE
Select "Mount network share"
Mount Network Share
Enter the Server and the Share (Port can be let empty)
If you configured the NFS Share on a Virtual Machine, it might be easier to Mount the NFS share also in the Web Interface on your Virtual Machine than doing it on your Host
Mount Network Share: Configuration
After successful Mounting, your Network shares should look like this:
Screen after successful Mounting