R30iB Plus Profinet I-Device, IO-Controller, and Safety (CP1604) Configuration With Firmware 2.7
R30iB Plus Profinet I-Device, IO-Controller, and Safety (CP1604) Configuration With Firmware 2.7
0 Modified: 02/15/2018
Software Version: V910P/05 and up PROFINET Variant: SIEMENS
H/W Version: R30iB Plus PROFINET H/W: CP1604 FW 2.7.2.0
The following step-by-step instructions describe how to configure F-Device, I-Device, and IO-Controller function
for the CP1604. In addition to the I/O controller configuration, the I-Device function must also have the I/O device
configuration. Figure 1.1 below lists the SIEMENS Configuration tools required on the PC. The two most important
software pieces are SIMATIC STEP 7 Professional V14.0 SP1 Upd4 or up and SIMATIC STEP 7 Safety V14.0 SP1
Upd4 or up. The other software items are loaded by default with TIA Portal software. Note that STEP 7 V14 is also
called TIA Portal.
2. CP1604 Requirements
(Total bytes of input data of IOC and IOD) + (Total bytes of output data of IOC and IOD) + [8 x (The number of the
submodules of IOC and IOD) < 800 bytes]
Please order Motherboard C (with high speed communication CPU) if I/O size is more than 2048/2048.
Note: J709 PROFINET I/O G2 can’t coexist with options J930 PROFINET I/O or R834 Dual Chan. Profinet (Molex
Variant).
The current firmware (FW) can be verified using system variable $PNG2_DIAG.$FW_VERSION
If your firmware is not correct, update your firmware to 2.7.2.0. Firmware comes with the media and option J744
(free) needs to be ordered. Contact FANUC CRC at www.fanucamerica.com or 1-888-FANUC-US to get the
appropriate CP1604 FW. All variants of firmware exist on the media (in the J744 folder). Pick pn2720.fwl which is
FW 2.7.2.0. Follow the instructions below to install the firmware.
2.1. Once you have the firmware, please copy it to USB aka UD1:, and plug it into the robot front panel
USB port.
2.2. Go to CTRL start by pressing and holding PREV and NEXT key while cycling power.
2.3. Select Controlled start (#3) and press ENTER, which performs a CTRL start.
2.4. Press MENU 00PROFINET Setup, that displays the screen as shown in Figure 1.2.
2.5. Cursor down to item #4 and change the path if it is not right. In this case, ud1:\pn2720.fwl.
2.6. Cursor up to item #4 (Download Firmware), and press ENTER.
2.7. It displays, This operation may take 7 minutes. Choose F4 [YES] if you are ready.
2.8. It displays, Please wait… (7 minutes) and alarm PRIO-633 PNIO: Updating Firmware is posted. Please
wait until another alarm PRIO-634 PNIO: FW Updated is posted and the TP prompt says, Firmware
download successful.
2.9. Perform a complete power cycle on the board. A robot power cycle performs a power cycle on the
CP1604 board too. If there is an external 24V power supply, disconnect the power supply before
cycling power on the robot. Reconnect the power supply after it is back online. Note that Robot is still
at CTRL start. So press FNCT+ COLD to get to COLD start.
2.10. Alternatively, the TIA portal can be used to update the firmware. Please see step 6.7.
Configure the Robot as IO-Device (CP1604) and F-Device. Please note that the specific project names shown
in the Figures below may be inconsistent. Refer to the associated sample project for this document
(cp1604_s7-1500_v910_safe_IODC_fw2.7.2.zap14).
3.3. Fill in the project name and path, then click Create as shown in Figure 3.2. A new project will be
created successfully.
3.4. If there are no devices (which is the case for a fresh project), click “Configure a device” as shown in
Figure 3.3.
3.6. Click on PC Systems and navigate to PC Station (Figure 3.5), and click ADD.
3.7. “Project View” opens as shown below. Navigate to the CP1604 module on the “Catalog” tree in the
right pane. Make sure you select the correct CP1604 version (V2.7).
3.8. Drag and drop the 6GK1 160-4AA01 module to PC Station on left pane (Figure 3.7).
3.9. Right click on the device (CP 1604) as shown in Figure 3.8 or the name on the left tree as shown in
Figure 3.9, and select properties.
3.10. Navigate to the General tab Operating Mode, and check I/O Device and Use manually assigned
submodules as shown in Figure 3.10.
3.11. Navigate to I-Device Configuration, add safety and I/O modules. In this case, 8 Bytes safety, 64 Bytes
IN and 64 Bytes OUT as shown in Figure 3.14.
3.12. Click on “Add New” under Transfer Area (Figure 3.11), and type “Safety I/O” or whatever you want to
call the Safety module as shown in Figure 3.12. Under Type, select the F-PS for “Safety I/O.” By default,
1 Byte appears under the Length column. Now, modify it as appropriate, 8 bytes in this case. Manually
configure Submodule ID to 0x1001-0x1008 for 1-8 Bytes respectively as shown in Figure 3.12. Note that
it adds Input and Ouput modules automatically. Now, you can click on Safety I/O in left sub-menu and
see Safety configuration as shown in Figure 3.13. It allows you to enable PROFIenergy if you intend to
use it, but it is not used in this example.
3.13. Click on “Add New” under Transfer Area, and type “Input” or whatever you want to call the Input
module as shown in Figure 3.14. Under Type, select the CD for “I/O Module.” By default, 1 Byte appears
under Length column..
Note the arrow in Figure 3.14, from left to right () indicates that it is the input module. Also address
starting with ‘I’ is another indication. If you click on the arrow, it can be of three types.
Type Description
CD I/O Module
TM Transfer Module
F-PS Safety I/O Module
Click on Input under I-device communication, and change the Input length to 64 if not change in step 3.13 as
shown in Figure 3.15. ‘I’ indicates the input type as discussed earlier.
3.14. Similarly, add the output module as shown in Figure 3.14 i.e. 64 bytes output. ‘Q’ indicates the output
type as discussed in Table 3.1.
3.15. Set the Ethernet information as shown in Figure 3.16. Go to PROFINET Interface Ethernet addresses.
Under the IP Protocol section, set up the IP address and subnet mask as appropriate. Under the
PROFINET section, uncheck the PROFINET device name is set directly at device and Generate PROFINET
device name automatically, then configure PROFINET device name i.e. cp1604.
3.16. Set the catalog information as shown in Figure 3.17. Check Enable customization in the Customization
section. Now the other items become editable. Fill in all information as listed in Table 3.3.
Note: The bitmap file as specified under catalog information must be in the same directory as the GSDML file is
located when it was imported into the TIA Portal.
3.18. Press OK, and compile the project as shown in Figure 3.18. If everything is good, then it will compile
successfully as shown in Figure 3.19.
In this step we will configure the Robot as IO-Controller (CP1604). For the example, we are assigning a Siemens
I/O Module (ET200eco PN 8DI) to the Robot (CP1604 as IO-Controller). It is possible to assign other types of
distributed PROFINET I/O to the Robot (CP1604). Make sure Hardware Catalog versions always match Firmware
versions of the devices you use, otherwise errors may occur. This section assumes PROFINET devices are already
assigned an IP Address and PROFINET device name.
4.1. While in Network View, find the desired I/O periphery in the Hardware Catalog and drag It onto the
Network View field (Figure 4.1).
4.2. Click on the “Not assigned” link of the I/O Module and assign it to the CP1604 that was configured in
the previous section. This defines the CP1604 as the IO-Controller for the new I/O Module (Figures 4.2
and 4.3).
4.4. Assign the IP address of the module, and Manually enter the module’s PROFINET device name (Figure
4.5). This must match the actual device setting.
4.5. Recompile the project as shown in (Figure 4.6). You should end up with one warning as shown in (Figure
4.7).
PROFINET I-Device requires that for a CP to act as an I-Device, its final configuration must first be exported as a
GSDML file and then later imported in whichever project will utilize the CP as an I-Device.
5.1. The Export button is activated upon successful compilation. Press Export in Operating Mode of the
CP1604 (Figure 5.).
5.2. Locate the folder where the Bit Map file is located and save the newly created GSDML file. Note that
file name is created based on GSDML specification. It is advised not to change the file name except the
product name of your choice explained in step 3.16.
Note that Robot controller is at COLD start. Download the hardware configuration to CP1604. Right click on
CP1604 and select Download to Device then Hardware Configuration as shown in Figure 6.1.
6.1. The screen shown below will be displayed (Figure 6.2). Press Start search and it will find all accessible
devices in the network. Select the CP1604 card in the list, and press Load.
6.2. At this point, if you do not see any red warnings in Figure 6.3, then you are good to proceed. Press
Load. Otherwise, fix any issues, and return to this screen.
6.3. It may take few minutes until this window (Figure 6.4) goes away.
Note: I renamed this project to cp1604_safe_fw2.7 because it has to exist with an IOD project which has the same
name. Please do not confused with project file name.
6.4. If the load fails, it is likely it didn’t allow changing the name and IP. It happens when the device is in a bad
state. In this case, CP1604 needs to be factory reset. Right click on the device, and select Online &
Diagnostics as shown in Figure 6.5.
6.5. Now select Modules and go to the Operating Mode tab. First, select Stop Module, and then it can be
reset to the factory by selecting Reset to Factory Settings option as shown below in Figure 6.6.
6.6. Please restart the load process as step 6.1-6.3.
6.7. Please note the green option in Figure 6.6 called Firmware update. CP1604 firmware can be updated
using this feature as mentioned in step 2.10 as other alternative.
6.8. Note that the IP address and Profinet names can also be assigned to CP1604 (using Online &
Diagnostics) if you chose not to do so in step 3.15.
6.9. Finally, the load completes. Refer to the Info window as shown in Figure 6.7 as an example. If there
are any issues, you can find them displayed here.
6.10. You can verify successful configuration of CP1604 as I/O Controller by going online with the CP1604
and making sure all configured devices have the green checkmark (Figure 6.8).
6.11. Go to COLD start by pressing FCTN + COLD. Navigate to MENU SETUP PROFINET General.
Now change Start mode to RUN if not already. You can see the Device and Vendor ID populated as
they were filled during device configuration in step 3.16. At this point, CP1604 is ready to talk to the
I/O controller.
6.12. You can navigate through each PROFINET I/O Module connected to the CP1604 I/O-Controller and
verify status. Navigate to MENU STATUS [TYPE] PROFINET [Other] Module. From here
(Figure 6.10) we can see the Device Interface Address matches what was defined in the Hardware
Configuration (Figure 6.11). Pressing detail shows more specific information about the I/O Module
(Figure 6.12). Pressing prev or next cycles through the available modules.
6.13. You can navigate through each module configured from this process. Click on F3 [other] and select I-
Device as shown in Figure 6.1.
6.14. Now press ENTER when cursor is on <Detail> at 2 Transfer areas as shown in
Figure 6.8.
6.15. Now you can see all modules 1-8 populated (Figure 6.9). Comments for each modules can be added in
below screen.
6.16. Press F2 [detail] to see Module 1 as shown in Figure 6.10. Similarily, press next to see F4[next]
module and so on as shown in Figure 6.11 through Figure 6..
In this step, we will use our existing project to configure a S7-1500F PLC as a top level IO-Controller and F-Host.
We will import the GSDML file (previously created and exported in step 5) as an I-Device and F-Device to the
PLC. Note that it is possible to perform these steps in a different project from the one in which the GSDML was
configured.
7.1. Drag and drop the appropriate I/O controller from the H/W catalog (Figure 7.1). In this example, it is
SIEMENS CPU S7-1500F and model is 6ES7 516-3FN01-0AB0 with FW 2.0. You can find this detail from
the SIEMENS PLC manual.
7.2. At this step, CP1604 has to be added but the new GSDML file is not installed yet. So let’s install a new
GSDML file that was created in Section - 5. Go to Options, then select Manage general station
description files (GSD) as shown Figure 7.2.
7.3. Select the appropriate file that says, Not yet installed, and press Install (Figure 7.3).
7.4. It takes few seconds to install and update the H/W catalog. Newly added CP1604 appears under: Other
filed devices PROFINEY I/O PLCs and CPs FANUC Robot Controller R30iB_Plus_Safe.
Note that Red items shown here are configured in step 3.16 i.e. Vendor name Product family
Product name. Drag and drop R30iB_Plus_Safe (Figure 7.4).
7.5. Assign the interface. Assuming the Ethernet cable is connected to Port 1 of PLC. See Figure 7.5 and
Figure 7.6.
7.6. Now, right click on the PLC and go to properties as shown in Figure . Set High limit for F-destination
addresses to 300 as robot default address is 200 (Figure ).
7.7. Fill the correct IP and PROFINET information as shown in Figure . It includes the IP address, Subnet
mask and profinet name. These are important pieces of information.
7.8. Now, set up passwords for various access levels to avoid warnings since this project contains a safety
program. Let’s set up a display password under PLC_1 Right Click Properties General
Display Password as shown in Figure .
7.9. Let’s set up a password for access level under PLC_1 Right Click Properties General
Protection and Security Access Level Full access incl. fail-safe (no protection) Password
as shown in Figure .
7.10. Finally, set up a password for a safety program under Safety Administration Access Protection
Setup as shown in Figure .
7.11. Similarly, make sure the IP protocol and PROFINET information is correct for CP1604 as it was
configured at step 3.15. If not, please correct it (Figure ).
7.12. It’s time to fill in CRC which is generated by robot when DCS apply is done. Now go to MENU 0
6TYPE DCS. Press F2, [APPLY] if any changes are pending. Please refer to the Dual Check Safety
Operator’s manual if you do not know the apply process. Now go to PROFINET Safety page and look for
item #4, F_Address and F_iPar_CRC Calculation which are the F_Dest_Add and CRC to be filled in the
project. These are 200 and C181B3 respectively in this example. Please note that CRC may be empty or
wrong, if any changes are pending. Please click on Safety I/O under the Network View tab on right pane.
Fill in F_Dest_Add to 200 (Robot has F_Dest_Add 200 by default), and next fill C181B3 as noted earlier
from robot in F_iPar_CRC box as shown in Figure .
7.13. Save and compile the project as shown in Figure and Figure .
7.14. If there are no errors, create the reintegration logic. Open up PLC_1 Program Blocks
Main_Safety_RTG1[FB1] program, and change Language to LAD.
7.15. Now, drag Normally Open Contact to the ladder on network below. Click on “??.?” and look for
F00000_cp1604 in the drop down as shown in Figure .
7.17. Now, drag the Assignment operator to the network and select F00000_cp1604.ACK_REI this time
using procedure shown in Figure - Figure . Acknowledge for reintegration is ready in Figure . Compile
again as shown in Figure .
7.18. The safety program is ready to be downloaded. Please download the program to the safety PLC.
7.19. Press the search button that shows all accessible devices. In this example, there is only one that is PLC.
Select the device, and press Load.
7.20. At this stage, it prompts you to check if everything is good to load to the device. Under password
section, you need to enter the password which you created in step 7.9. There is a protection warning
which is OK for now. Press Load again.
7.21. The load results screen appears once the project is downloaded successfully. Now start all modules by
pressing the Finish button (Figure ).
7.22. If everything goes well, the screen shown below shows all checks passed and loading completed
without errors/warnings (Figure ).
7.23. You can check that all devices got the correct IP addresses and names are being shown in online
diagnostics as configured earlier (Figure ).
7.24. Go ONLINE and all devices can be seen checked green under network view. It shows all devices are
talking successfully as shown in Figure .
7.25. At this point, all LEDs on PLC and CP1604 are green. Now let’s verify on the robot if safety I/O
exchange started. Go to MENU SYSTEM 0 6 TYPE Status PROFINET
F3[other]Safety. If everything is OK, Safety I/F Status shows RUNNING and Frame count
continues incrementing as shown in Figure .
8.1. Make sure to use a fixed IP V4 address on the ONE and SAME subnet / as all the PROFINET equipment
you are working with / for the Ethernet adapter of your PC.
8.2. Use TIA V14 SP1 UPD4, or above as noted earlier in the guide.
8.3. It is always advised to have a clear and fixed list of PROFINET names and IP’s for all your equipment on
the network before starting engineering work. PROFINET names are required for communication,
otherwise bus fault will occur.
8.4. Please make sure you have complete H/W and F/W information of the equipment you are trying to
use. Even the slightest variance can cause the devices not to communicate. Make sure you have
EXACT hardware references, and the EXACT versions of FW installed on all the different modules, out
of the HW catalogue.