Schneider Electric EcoStruxure Machine Expert User Guide

Add to My manuals
76 Pages

advertisement

Schneider Electric EcoStruxure Machine Expert User Guide | Manualzz

EcoStruxure Machine Expert

Modbus TCP

User Guide

EIO0000003826.02

06/2022 www.se.com

Legal Information

The Schneider Electric brand and any trademarks of Schneider Electric SE and its subsidiaries referred to in this guide are the property of Schneider Electric SE or its subsidiaries. All other brands may be trademarks of their respective owners.

This guide and its content are protected under applicable copyright laws and furnished for informational use only. No part of this guide may be reproduced or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), for any purpose, without the prior written permission of

Schneider Electric.

Schneider Electric does not grant any right or license for commercial use of the guide or its content, except for a non-exclusive and personal license to consult it on an "as is" basis. Schneider Electric products and equipment should be installed, operated, serviced, and maintained only by qualified personnel.

As standards, specifications, and designs change from time to time, information contained in this guide may be subject to change without notice.

To the extent permitted by applicable law, no responsibility or liability is assumed by

Schneider Electric and its subsidiaries for any errors or omissions in the informational content of this material or consequences arising out of or resulting from the use of the information contained herein.

As part of a group of responsible, inclusive companies, we are updating our communications that contain non-inclusive terminology. Until we complete this process, however, our content may still contain standardized industry terms that may be deemed inappropriate by our customers.

© 2022 Schneider Electric. All rights reserved.

Modbus TCP

Table of Contents

Safety Information ......................................................................................5

About the Book...........................................................................................6

Modbus TCP Overview ............................................................................. 11

Principles ........................................................................................... 11

Setup Procedure Overview .................................................................. 11

Device Network Configuration ...................................................................12

Network Planning................................................................................12

IP Address Assignment .......................................................................13

IP Address Assignment Strategy ....................................................13

IP Addressing Methods ..................................................................14

Protocol Manager Configuration .....................................................15

Network Device Declaration.................................................................16

Adapting Network Planning and Device Identification.............................18

Adapting Network Planning and Device Identification .......................18

Modbus TCP Settings....................................................................20

Network Device Configuration..............................................................21

Network Device Replacement ..............................................................23

Device Replacement with FDR.......................................................23

Cyclic Data Exchanges Configuration ...................................................24

Cyclic Data Exchanges Overview ...................................................24

Modbus TCP Cyclic Data Exchanges Configuration .........................24

Modbus TCP I/O Mapping..............................................................27

Protocol Manager Load Verification ................................................28

Programming Over Industrial Ethernet..................................................30

Programming Over Industrial Ethernet ............................................30

Device Network Commissioning ................................................................32

Commissioning...................................................................................32

Prepare the Device to Be Recognized ..................................................33

Apply the Correct Device Configuration ................................................35

Device Network Operation.........................................................................36

Managing Slave Devices Operating Modes...........................................36

Data Exchanges on Demand ...............................................................37

Custom Cyclic Data Exchanges ...........................................................38

Slave Devices Configuration on Start ...................................................38

Out of Process Data Exchanges...........................................................38

Protocol Manager Operating Modes .....................................................40

Security..............................................................................................42

Device Network Diagnostics ......................................................................43

Network Test ......................................................................................43

Diagnostics: Web Server .....................................................................44

Diagnostics: EcoStruxure Machine Expert Online Mode.........................45

Troubleshooting..................................................................................48

Maintenance ............................................................................................49

Maintenance Overview........................................................................49

Appendices

................................................................................................51

Modbus TCP IOScanner Library ................................................................52

Modbus TCP IOScanner Functions ......................................................52

EIO0000003826.02

3

Modbus TCP

IOS_CONTROLCHANNEL : Enables or Disables a

Communication Channel ...............................................................52

IOS_GETSTATE : Read the State of the Modbus TCP

IOScanner ....................................................................................53

IOS_START : Launch the Modbus TCP IOScanner...........................54

IOS_GETHEALTH : Read the Health Bit Value .................................54

IOS_STOP : Stop the Modbus TCP IOScanner ................................55

CONFIGURE_OTB : Send the Software Configuration of the

Advantys OTB...............................................................................56

Modbus TCP IOScanner Data Types ....................................................58

IosStateCodes: Modbus TCP IOScanner Status Values ...................58

CommunicationErrorCodes: Error Detected Codes ..........................58

configurationOTBErrorCodes: Error Detected Codes in the OTB

Configuration ................................................................................59

Scanner Diagnostic Library .......................................................................60

Scanner Diagnostic Functions .............................................................60

IOS_GETDIAGSTATUS : Get a Diagnostic Status ............................60

Motion Control Library...............................................................................62

Motion Control Library .........................................................................62

Generic TCP UDP Library .........................................................................63

Generic TCP UDP Library....................................................................63

Function and Function Block Representation .............................................64

Differences Between a Function and a Function Block ...........................64

How to Use a Function or a Function Block in IL Language ....................65

How to Use a Function or a Function Block in ST Language ...................67

Glossary

.....................................................................................................71

Index

...........................................................................................................75

4 EIO0000003826.02

Safety Information

Safety Information

Modbus TCP

Important Information

Read these instructions carefully, and look at the equipment to become familiar with the device before trying to install, operate, service, or maintain it. The following special messages may appear throughout this documentation or on the equipment to warn of potential hazards or to call attention to information that clarifies or simplifies a procedure.

The addition of this symbol to a “Danger” or “Warning” safety label indicates that an electrical hazard exists which will result in personal injury if the instructions are not followed.

This is the safety alert symbol. It is used to alert you to potential personal injury hazards. Obey all safety messages that follow this symbol to avoid possible injury or death.

!

DANGER

DANGER indicates a hazardous situation which, if not avoided, will result in death or serious injury.

!

WARNING

WARNING indicates a hazardous situation which, if not avoided, could result in death or serious injury.

!

CAUTION

CAUTION indicates a hazardous situation which, if not avoided, could result in minor or moderate injury.

NOTICE

NOTICE is used to address practices not related to physical injury.

Please Note

Electrical equipment should be installed, operated, serviced, and maintained only by qualified personnel. No responsibility is assumed by Schneider Electric for any consequences arising out of the use of this material.

A qualified person is one who has skills and knowledge related to the construction and operation of electrical equipment and its installation, and has received safety training to recognize and avoid the hazards involved.

EIO0000003826.02

5

6

Modbus TCP

About the Book

Document Scope

About the Book

Use this document to configure the Modbus TCP connection of the Modicon devices.

NOTE: Read and understand this document and all related documents before installing, operating, or maintaining your controller.

Validity Note

This document has been updated for the release of EcoStruxure TM Machine

Expert V2.0.3.

The characteristics that are described in the present document, as well as those described in the documents included in the Related Documents section below, can be found online. To access the information online, go to the Schneider Electric home page www.se.com/ww/en/download/ .

The characteristics that are described in the present document should be the same as those characteristics that appear online. In line with our policy of constant improvement, we may revise content over time to improve clarity and accuracy. If you see a difference between the document and online information, use the online information as your reference.

Related Documents

Title of Documentation

EcoStruxure Machine Expert Industrial Ethernet

Overview - User Guide

EcoStruxure Machine Expert EtherNet/IP - User

Guide

Modicon M241 Logic Controller - Programming

Guide

Reference Number

EIO0000003053 (ENG)

EIO0000003054 (FRE)

EIO0000003055 (GER)

EIO0000003056 (SPA)

EIO0000003057 (ITA)

EIO0000003058 (CHS)

EIO0000003816 (POR)

EIO0000003817 (TUR)

EIO0000003818 (ENG)

EIO0000003819 (FRE)

EIO0000003820 (GER)

EIO0000003821 (SPA)

EIO0000003822 (ITA)

EIO0000003823 (CHS)

EIO0000003824 (POR)

EIO0000003825 (TUR)

EIO0000003059 (ENG)

EIO0000003060 (FRE)

EIO0000003061 (GER)

EIO0000003062 (SPA)

EIO0000003063 (ITA)

EIO0000003064 (CHS)

EIO0000003826.02

About the Book

EIO0000003826.02

Title of Documentation

Modicon M251 Logic Controller - Programming

Guide

Modicon TM4 Expansion Modules -

Programming Guide

Modicon M262 Logic/Motion Controller -

Programming Guide

Modicon TM3 Bus Coupler - Programming

Guide

Modicon TM5 EtherNet/IP Fieldbus Interface -

Programming Guide

Modicon TMS Expansion Modules -

Programming Guide

EIO0000003643 (ENG)

EIO0000003644 (FRE)

EIO0000003645 (GER)

EIO0000003646 (SPA)

EIO0000003647 (ITA)

EIO0000003648 (CHS)

EIO0000003649 (POR)

EIO0000003650 (TUR)

EIO0000003707 (ENG)

EIO0000003708(FRE)

EIO0000003709 (GER)

EIO0000003710 (SPA)

EIO0000003711 (ITA)

EIO0000003712 (CHS)

EIO0000003691 (ENG)

EIO0000003692 (FRE)

EIO0000003693 (GER)

EIO0000003694 (SPA)

EIO0000003695 (ITA)

EIO0000003696 (CHS)

EIO0000003697 (POR)

EIO0000003698 (TUR)

Reference Number

EIO0000003089 (ENG)

EIO0000003090 (FRE)

EIO0000003091 (GER)

EIO0000003092 (SPA)

EIO0000003093 (ITA)

EIO0000003094 (CHS)

EIO0000003149 (ENG)

EIO0000003150 (FRE)

EIO0000003151 (GER)

EIO0000003152 (SPA)

EIO0000003153 (ITA)

EIO0000003154 (CHS)

EIO0000003651 (ENG)

EIO0000003652 (FRE)

EIO0000003653 (GER)

EIO0000003654 (SPA)

EIO0000003655 (ITA)

EIO0000003656 (CHS)

EIO0000003657 (POR)

EIO0000003658 (TUR)

Modbus TCP

7

8

Modbus TCP

About the Book

Title of Documentation

EcoStruxure Machine Expert - Programming

Guide

EcoStruxure Machine Expert - Motion Control

Library Guide

EcoStruxure Machine Expert -

TcpUdpCommunication Library Guide

Reference Number

EIO0000002854 (ENG)

EIO0000002855 (FRE)

EIO0000002856 (GER)

EIO0000002858 (SPA)

EIO0000002857 (ITA)

EIO0000002859 (CHS)

EIO0000003592 (ENG)

EIO0000003593 (FRE)

EIO0000003594 (GER)

EIO0000003595 (ITA)

EIO0000003596 (SPA)

EIO0000003597 (CHS)

EIO0000002803 (ENG)

EIO0000002804 (FRE)

EIO0000002805 (GER)

EIO0000002807 (SPA)

EIO0000002806 (ITA)

EIO0000002808 (CHS)

Product Related Information

WARNING

LOSS OF CONTROL

• The designer of any control scheme must consider the potential failure modes of control paths and, for certain critical control functions, provide a means to achieve a safe state during and after a path failure. Examples of critical control functions are emergency stop and overtravel stop, power outage and restart.

• Separate or redundant control paths must be provided for critical control functions.

• System control paths may include communication links. Consideration must be given to the implications of unanticipated transmission delays or failures of the link.

• Observe all accident prevention regulations and local safety guidelines.

1

• Each implementation of this equipment must be individually and thoroughly tested for proper operation before being placed into service.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

1 For additional information, refer to NEMA ICS 1.1 (latest edition), "Safety

Guidelines for the Application, Installation, and Maintenance of Solid State

Control" and to NEMA ICS 7.1 (latest edition), "Safety Standards for Construction and Guide for Selection, Installation and Operation of Adjustable-Speed Drive

Systems" or their equivalent governing your particular location.

EIO0000003826.02

About the Book

Modbus TCP

WARNING

UNINTENDED EQUIPMENT OPERATION

• Only use software approved by Schneider Electric for use with this equipment.

• Update your application program every time you change the physical hardware configuration.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

Terminology Derived from Standards

The technical terms, terminology, symbols and the corresponding descriptions in this manual, or that appear in or on the products themselves, are generally derived from the terms or definitions of international standards.

In the area of functional safety systems, drives and general automation, this may include, but is not limited to, terms such as safety , safety function , safe state , fault , fault reset , malfunction , failure , error , error message , dangerous , etc.

Among others, these standards include:

Standard

IEC 61131-2:2007

ISO 13849-1:2015

EN 61496-1:2013

ISO 12100:2010

EN 60204-1:2006

ISO 14119:2013

ISO 13850:2015

IEC 62061:2015

IEC 61508-1:2010

IEC 61508-2:2010

IEC 61508-3:2010

IEC 61784-3:2016

2006/42/EC

2014/30/EU

2014/35/EU

Description

Programmable controllers, part 2: Equipment requirements and tests.

Safety of machinery: Safety related parts of control systems.

General principles for design.

Safety of machinery: Electro-sensitive protective equipment.

Part 1: General requirements and tests.

Safety of machinery - General principles for design - Risk assessment and risk reduction

Safety of machinery - Electrical equipment of machines - Part 1: General requirements

Safety of machinery - Interlocking devices associated with guards -

Principles for design and selection

Safety of machinery - Emergency stop - Principles for design

Safety of machinery - Functional safety of safety-related electrical, electronic, and electronic programmable control systems

Functional safety of electrical/electronic/programmable electronic safetyrelated systems: General requirements.

Functional safety of electrical/electronic/programmable electronic safetyrelated systems: Requirements for electrical/electronic/programmable electronic safety-related systems.

Functional safety of electrical/electronic/programmable electronic safetyrelated systems: Software requirements.

Industrial communication networks - Profiles - Part 3: Functional safety fieldbuses - General rules and profile definitions.

Machinery Directive

Electromagnetic Compatibility Directive

Low Voltage Directive

EIO0000003826.02

9

Modbus TCP

About the Book

In addition, terms used in the present document may tangentially be used as they are derived from other standards such as:

Standard

IEC 60034 series

IEC 61800 series

IEC 61158 series

Description

Rotating electrical machines

Adjustable speed electrical power drive systems

Digital data communications for measurement and control – Fieldbus for use in industrial control systems

Finally, the term zone of operation may be used in conjunction with the description of specific hazards, and is defined as it is for a hazard zone or danger zone in the

Machinery Directive ( 2006/42/EC ) and ISO 12100:2010 .

NOTE: The aforementioned standards may or may not apply to the specific products cited in the present documentation. For more information concerning the individual standards applicable to the products described herein, see the characteristics tables for those product references.

10 EIO0000003826.02

Modbus TCP Overview

Modbus TCP Overview

Modbus TCP

Principles

Modbus TCP Overview

The Modbus TCP protocol uses a Client/Server architecture for data exchange.

Modbus TCP explicit (non-cyclic) data exchanges are managed by the application.

Modbus TCP implicit (cyclic) data exchanges are managed by the Modbus TCP

IOScanner. The Modbus TCP IOScanner is a service based on Ethernet that polls slave devices continuously to exchange data, status, and diagnostic information.

This process monitors inputs and controls outputs of slave devices.

Clients are devices that initiate any data exchange with other devices on the network. This applies to both I/O communications and service messaging.

Servers are devices that address any data requests generated by a Client. This applies to both I/O communications and service messaging.

The communication between the Modbus TCP IOScanner and the slave device is accomplished using Modbus TCP

channels, page 24

.

Setup Procedure Overview

Overview

This document is structured in accordance with the phases of a machine life cycle.

The chapters that follow contain information and procedures to follow to set up a use case system:

Device network configuration, page 12

Device network commissioning, page 32

Device network operating, page 36

Device network diagnostics, page 43

Device network maintenance, page 49

EIO0000003826.02

11

Modbus TCP

Device Network Configuration

Overview

Device Network Configuration

This chapter contains the information and procedures necessary to configure the device network.

The device network configuration is prepared in EcoStruxure Machine Expert.

At the end of this phase, you can perform the

device network commissioning, page 32 .

Network Planning

Purpose

A planned network helps increase the installation efficiency and decrease the installation time and costs. The preliminarily interfacing of materials (switches, cables, ports) must be designed to plan the network.

Network Design

To design and plan the Industrial Ethernet network, refer to the corresponding documentation, such as the Media Planning and Installation Manual , by ODVA.

You can download this manual from the ODVA website .

Switch Types

Depending on the specific needs of your network, use the appropriate switch type:

If you need… network diagnostics and operation information communication availability in case of a physical connection loss long range network (fiber optic) then plan to use… manageable switches redundant switches switch with duplex SC connector

Hubs can reduce the available bandwidth. This can result in lost requests and devices no longer being managed.

NOTICE

LOSS OF DATA

Do not use a hub to set up an Industrial Ethernet network.

Failure to follow these instructions can result in equipment damage.

For more information about switches, refer to the Essential Guide: Networks, connectivity and Web servers .

Cable Types

These tables present cable references that can be used in the network.

12 EIO0000003826.02

Device Network Configuration

Modbus TCP

Use shielded twisted pair CAT5e (10/100 Mbps) cables to help to prevent communication interruption.

In a typical installation, you can use these cables:

Reference

490NTW000••

490NTW000••U

TCSECE3M3M••S4

TCSECU3M3M••S4

TCSECL1M1M••S2••

TCSECL1M3M••S2••

Description

Ethernet shielded cable for DTE connections

Details

Regular cable, equipped with

RJ45 connectors at each end for DTE.

CE compliant

Regular cable, equipped with

RJ45 connectors at each end for DTE.

UL compliant

Cable for harsh environments, equipped with RJ45 connectors at each end.

CE compliant

Cable for harsh environments, equipped with RJ45 connectors at each end.

UL compliant

Cable for harsh environments.

2 M12 connectors.

CE compliant

Cable for harsh environments.

1 M12 connector

1 RJ45 connector

CE compliant

Length

2, 5, or 12 m

(6.56, 16.4 or 39.37 ft)

2, 5, or 12 m

(6.56, 16.4 or 39.37 ft)

1, 2, 3, 5, or 10 m

(3.28, 6.56, 9.84,

16.4,or 32.81 ft)

1, 2, 3, 5, or 10 m

(3.28, 6.56, 9.84,

16.4, or 32.81 ft)

1, 3, 10, 25, or 40 m

(3.28, 9.84, 32.8,

82.02, or 131.23 ft)

1, 3, 10, 25, or 40 m

(3.28, 9.84, 32.8,

82.02, or 131.23 ft)

IP Address Assignment

IP Address Assignment Strategy

Overview

This section describes the steps to follow to implement the strategy for IP address assignment of the network devices:

• Configure the Industrial Ethernet port (see EcoStruxure Machine Expert

Industrial Ethernet Overview, User Guide) of the controller:

◦ Network settings: IP address, subnet mask, and gateway address.

◦ Choose the

IP addressing method, page 14

to use.

• Configure the

protocol manager, page 15

.

EIO0000003826.02

13

Modbus TCP

Device Network Configuration

Industrial Ethernet Port Configuration

Step

1

To configure the Industrial Ethernet port (see EcoStruxure Machine Expert

Industrial Ethernet Overview, User Guide), proceed as follows:

Action

In the Devices tree , double-click the Industrial Ethernet port node. The configuration tab is displayed, for example:

4

5

2

3

6

7

Note: If you are in online mode, you see the two windows. You cannot edit them. If you are in offline mode, you see the

Configured Parameters and Ring topology options windows depending on the controller reference. You can edit them.

Select fixed IP Address .

Set the IP Address .

This IP address is used for the

network planning, page 18

.

Set the Subnet Mask .

Verify that the Gateway Address is set by default to 0.0.0.0

.

The gateway address allows a message to be routed to a device that is not on the local network.

If there is no gateway, the gateway address is 0.0.0.0

.

Select the Security Parameters check boxes:

• Web Server active : used during configuration and maintenance phases

• FTP Server active : used by

FDR service, page 23

Select the DHCP Server active check box if using a DHCP server to assign IP addresses.

For more details, see

IP Addressing Methods, page 14

.

IP Addressing Methods

Presentation

This table presents the IP addressing methods:

14 EIO0000003826.02

Device Network Configuration

Method

DHCP

BOOTP

Fixed

Modbus TCP

Description

The DHCP server uses the

DHCP device name of the device to send it its IP address:

The DHCP device name is also used by the FDR service.

The BOOTP server uses the

MAC Address of the device to send its IP address:

The IP address is fixed in the application.

Details

New devices use the DHCP addressing method by default.

By using DHCP, the FDR service is available.

To replace a device:

• Install the new device

• Define the DHCP device name in the device

• Power up the device and launch the application.

At power up, the new device is recognized and the controller loads the previously stored configuration into the new device.

To replace a device:

• Install the new device

• In EcoStruxure Machine Expert, enter the MAC address of the new device

• Build the application and load it in the controller.

• Configure the parameters in the device.

• Power up the device and launch the application.

To replace a device:

• Install the new device

• Configure in the device the network settings (IP address, subnet mask, and gateway address).

• Configure the parameters in the device directly or using EcoStruxure Machine Expert.

• Power up the device and launch the application.

Activating the DHCP Server

When using the DHCP addressing method, the DHCP server assigns IP addresses to devices upon request.

To activate the DHCP server, proceed as follows:

Step

1

2

Action

In the Devices tree , double-click the Industrial Ethernet port (see EcoStruxure Machine

Expert Industrial Ethernet Overview, User Guide) node.

Select the DHCP Server active check box.

When active, devices added to the fieldbus can be configured to be identified by DHCP device name instead of by MAC address or fixed IP address.

Protocol Manager Configuration

Overview

The controller uses a protocol manager to manage the device network:

Ethernet/IP Scanner Sercos Master Controllers/Protocol

Managers

Industrial Ethernet

Manager

M241

M251

M262

(1) On Ethernet_1 on TM262M•

Modbus TCP IO

Scanner

✓ (1)

EIO0000003826.02

15

Modbus TCP

Device Network Configuration

Protocol Manager Settings for M241/M251 Controllers

To configure the protocol manager, proceed as follows:

Step

1

2

Action

In the Devices tree , double-click Industrial_Ethernet_Manager .

NOTE: The Network Settings are automatically generated in accordance with the

Industrial Ethernet port

network settings, page 13

.

Select the Preferred protocol Modbus TCP .

Your selection becomes the device protocol set by default for each

device declaration, page 16

.

NOTE: When the Modbus TCP IOScanner is configured, the post configuration file for the Industrial Ethernet network is ignored.

Protocol Manager Settings for M262 Controllers

To see the configuration of the protocol manager, in the Devices tree , doubleclick Modbus_TCP_IO_Scanner .

NOTE: The settings are automatically generated in accordance with the

Industrial Ethernet port

network settings, page 13 .

Network Device Declaration

Overview

This section describes how to add a device on the protocol manager node.

The available Schneider Electric devices, as well as devices supplied with EDS files, are listed in the Hardware Catalog . These devices are supplied with predefined connection configurations (see EcoStruxure Machine Expert Industrial

Ethernet Overview, User Guide). For other devices not listed in the catalog, use

Generic slave device .

Automatic Settings

During each device declaration, EcoStruxure Machine Expert automatically:

• Sets the network settings (IP address, subnet mask, gateway address) in accordance with the Industrial Ethernet scanner settings.

• Sets a unique DHCP device name, normally compatible with the internal rules of the device (each DHCP device name must be unique).

• Creates predefined data exchanges for predefined devices.

NOTE: If the proposed DHCP device name is not compatible with the device, you may edit it.

Add a Device

To add a device on the protocol manager node, select the device in the Hardware

Catalog , drag it to the Devices tree , and drop it on the Industrial Ethernet port

(see EcoStruxure Machine Expert Industrial Ethernet Overview, User Guide) node.

16 EIO0000003826.02

Device Network Configuration

Modbus TCP

Once a device is added, it appears in the Network Manager or Ethernet

Services tab. Refer to

Adapting Network Planning and Device Identification, page

18

.

When you use the Drag-and-Drop method, the devices are defined with the preferred protocol, if possible.

For more information on adding a device to your project, refer to:

• Using the Drag-and-drop Method (see EcoStruxure Machine Expert,

Programming Guide)

• Using the Contextual Menu or Plus Button (see EcoStruxure Machine Expert,

Programming Guide)

Add a Device with a Protocol Other Than the Preferred Protocol

When you use the Drag-and-Drop method:

• If the device cannot be defined with the preferred protocol, the default supported protocol of the device is used instead.

• If the preferred protocol is not set, a list appears to select the protocol to use.

To add a slave device with a protocol other than the preferred protocol, refer to

Using the Contextual Menu or Plus Button (see EcoStruxure Machine Expert,

Programming Guide).

For example, when you add an OTB1EODM9LP device, it is configured with

Modbus TCP even if the preferred protocol is set to EtherNet/IP.

Add Device from Template

For devices that do not have key features but support TVDA (see EcoStruxure

Machine Expert Industrial Ethernet Overview, User Guide), it is possible to declare them using a template. This imports additional elements to facilitate program writing.

Use this method for OsiSense XGCS, XUW, and Preventa XPSMCM devices.

To add a device from a template to the protocol manager, proceed as follows:

Step

1

2

Action

In the Hardware Catalog , select the Device Template check box.

Select the device in the Hardware Catalog , drag it to the Devices tree , and drop it on the Industrial Ethernet port (see EcoStruxure Machine Expert Industrial Ethernet

Overview, User Guide).

For more information on adding a device to your project, refer to:

• Using the Drag-and-drop Method (see EcoStruxure Machine Expert,

Programming Guide)

• Using the Contextual Menu or Plus Button (see EcoStruxure Machine Expert,

Programming Guide)

Add a TCP/UDP Device

To add a TCP/UDP device on the protocol manager node, select Generic TCP/

UDP equipment in the Hardware Catalog , drag it to the Devices tree , and drop it on the Industrial Ethernet port (see EcoStruxure Machine Expert Industrial

Ethernet Overview, User Guide) node.

EIO0000003826.02

17

Modbus TCP

Device Network Configuration

Adapting Network Planning and Device Identification

Adapting Network Planning and Device Identification

Overview

When devices are added in the protocol manager, use the Network Manager or

Ethernet Services tab to edit the network planning.

Editing the Network Planning

In the Devices tree , double-click the Industrial_Ethernet_Manager node.

If you use a M262 controller, double-click the controller node in the Devices tree >

Ethernet Services .

The Network Manager or Ethernet Services tab shows the devices defined on the device network:

Column

Device Name

Device Type

IP Address

Use

Click to open the device settings

-

Modify the IP address

Comment

Name of the device.

A name is given by default. To rename your device, type a name in the Name box.

Do not use spaces within the name. Do not use an underscore (“_”) at the end of the name.

Give the device a meaningful name to facilitate the organization of your project.

Device type

An IP address is shown as invalid if it has already been assigned to another device that uses the same protocol and DHCP address assignment.

MAC Address

Device name

Enter the MAC address

Modify the DHCP device name

If the IP address is invalid, the icon is displayed.

Used to retrieve an IP address through BOOTP.

Each IP address must be unique for a particular protocol and for DHCP/BOOTP. For example, you can add the same device for both Modbus TCP and

Ethernet/IP protocols, but if you use BOOTP or DHCP to obtain an IP address for one of the protocols, you must enter that same IP address for the other protocol as a Fixed IP address.

Used as device name to retrieve an IP address through

DHCP, maximum 16 characters.

The DHCP device name must be the same as that defined in the device.

Each DHCP device name must be unique.

The default DHCP device name is normally compatible with the internal rules of the device.

For details on DHCP device name internal rules of the device, refer to the documentation of the device.

NOTE: If the proposed DHCP device name is not compatible with the device, you may edit it.

18 EIO0000003826.02

Device Network Configuration

Modbus TCP

Column

Identified by

Protocol

Subnet Mask

Gateway

Address

Identification

Mode

Operation Mode –

Use

Modify the IP addressing method:

• DHCP

• BOOTP

• Fixed

Comment

DHCP :

The DHCP device name must be the same as defined in the device.

This method is mandatory for the FDR service.

Modify the subnet mask

Modify the gateway address

BOOTP :

The MAC Address of the device must be entered.

Fixed :

The IP Address must be the same as defined in the device.

Protocol used

Click Expert Mode to hide/show the column.

Click Expert Mode

For operational details, refer to

Out of Process Data

Exchanges, page 38

.

IP Address to hide/show the column.

The modifications made in this tab are applied in the Modbus TCP settings

tab, page 20

.

IP Addressing Methods

By default, the added devices use DHCP.

This table presents the IP addressing methods:

Method

DHCP

BOOTP

Fixed

Description

The DHCP server uses the

DHCP device name of the device to send it its IP address:

The DHCP device name is also used by the FDR service.

The BOOTP server uses the

MAC Address of the device to send its IP address:

The IP address is fixed in the application.

Details

By using DHCP, the FDR service is available.

To replace a device, you have to:

• Install the new device

• Define the DHCP device name in the device

• Power up the device and launch the application.

At power-up, the new device is recognized and the controller loads the previously stored configuration into the new device.

To replace a device, you have to:

• Install the new device

• In EcoStruxure Machine Expert, enter the MAC address of the new device

• Build the application and load it in the controller.

• Configure the parameters in the device.

• Power up the device and launch the application.

To replace a device, you have to:

• Install the new device

• Configure in the device the network settings (IP address, subnet mask, and gateway address).

• Configure the parameters in the device directly or using EcoStruxure Machine Expert.

• Power up the device and launch the application.

EIO0000003826.02

19

Modbus TCP

Device Network Configuration

Reinitialize IP Address Plan

Click Regenerate IP address to reinitialize the IP address plan associated with the Industrial Ethernet port (see EcoStruxure Machine Expert Industrial Ethernet

Overview, User Guide) (for example, after a change of IP address on the Industrial

Ethernet port).

EcoStruxure Machine Expert reads the IP address configured on the Industrial

Ethernet port (see EcoStruxure Machine Expert Industrial Ethernet Overview,

User Guide) and assigns the next available IP addresses to the devices. For example, if the IP address configured on the Industrial Ethernet port (see

EcoStruxure Machine Expert Industrial Ethernet Overview, User Guide) is

192.168.0.11

, the IP addresses attributed to the devices are 192.168.0.12

,

192.168.0.13

, and so on.

Out of Process Data Exchanges

Out of process data exchanges are often data exchanges between the control network and the device network. For example, you may use a supervision software or a third-party configuration tool to communicate with a target on the device network.

For more operational details, refer to

Out of Process Data Exchanges, page 38 .

If you need an out of process data exchange, set the correct device gateway address parameter.

The gateway address parameter of the network devices must be set to the IP address of the Industrial Ethernet port (see EcoStruxure Machine Expert Industrial

Ethernet Overview, User Guide) of the controller.

A configuration tool must be able to communicate with the network devices in order to set their parameters.

If the configuration tool...

is connected on the control network is connected on the device network uses a protocol other than TCP/IP

Then...

update the network device gateway parameter, see below.

the gateway parameter is not used.

the gateway parameter is not used.

To configure the gateway parameter in the network device, refer to the documentation of the device.

NOTE: If the DHCP service is used to address the network devices, the gateway parameter is set in the controller

network tab, page 18 .

Modbus TCP Settings

Overview

Once the devices are added in the protocol manager, use its Network manager or Ethernet Services tab to edit the network planning.

Modbus TCP Settings

To configure pre-defined slave devices added on the Modbus TCP IOScanner, proceed as follows:

20 EIO0000003826.02

Device Network Configuration

Step

1

Action

In the Devices tree , double-click a Modbus TCP slave device node.

Result: The configuration window is displayed:

Modbus TCP

2

3

4

Enter a Slave IP Address value.

The Address settings values are the same as those defined in the

protocol manager, page 18

.

Enter a Health Timeout (ms) value (by default 1000).

This represents the delay (in ms) between a request of the Modbus TCP IOScanner and a response from the slave. When the health timeout expires, the associated health bit values change to 0. Health bit values can be visualized in the

IOScanner I/O Mapping tab, page 27

or through the Web server. The health timeout applies to the channels of the slave device.

For devices with advanced settings, some additional settings can be required:

• Repetition rate (ms) : Time value expressed in ms. This represents the delay between two sendings of a request. This value must be lower than the Health

Timeout (ms) .

• Unit ID : unit ID of the Modbus TCP slave device (by default 255).

Refer to the Device Type Manager User Guide.

Network Device Configuration

Overview

Once the network devices are defined on the device network, you can configure them with:

• DTM

• Specific editors

• Third-party tools

Description

DTM

Specific editors

Third-party tools

Advantages

Can manage complex configurations.

Good transparency.

Specifically designed for EcoStruxure Machine Expert.

Tools specifically designed for the device.

Devices with DTM

Some devices have a DTM. Refer to supported devices (see EcoStruxure

Machine Expert Industrial Ethernet Overview, User Guide).

The DTM allows you to modify the parameters of the device.

To configure a device with its DTM, proceed as follows:

EIO0000003826.02

21

Modbus TCP

Device Network Configuration

Step

1

2

3

4

5

Action

In the Devices tree , double-click the device.

Click Start offline .

Select the Configuration tab.

Click OK .

Result: The content of the tab is updated by the DTM.

Modify the device configuration.

For more information, refer to Device Type Manager User Guide.

NOTE: The use of a DTM may require a particular routing and IP forwarding

(see EcoStruxure Machine Expert, Device Type Manager (DTM), User Guide) configuration on the controller.

Devices with Plugins

Depending on the plugin, the User Parameters may not be available. In that case, it is up to the plugin to manage the configuration of the device.

Example: Advantys OTB1EODM9LP

The Advantys OTB1EODM9LP is supported in EcoStruxure Machine Expert by a library. One function block is a configuration function block that allows you to send the configuration to the device. For more details, refer to the Distributed Modbus

TCP Logic Controller M251 System User Guide.

To configure an OTB1EODM9LP, proceed as follows:

Step

1

2

3

4

5

6

Action

In the Devices tree , double-click the OTB1EODM9LP node.

Configure the I/Os of the Advantys OTB device in the OTB I/O Configuration tab.

Add and configure any TM2 expansion modules attached to the OTB.

Stop the communication using the IOS_STOP function.

Call a CONFIGURE_OTB function block to update the Advantys OTB configuration with the data created on the previous steps.

Restart the communication using the IOS_START function.

NOTE: The expert functions of the Advantys OTB such as counters, fast counters, and pulse generators, cannot be directly used in the Industrial

Ethernet scanner.

Specific Editors

The specific editors allow you to configure the TM2 and TM3 expansion modules on a TM3 Ethernet bus coupler. The configuration applies to the modules automatically after download.

Third-party Tools

Some devices are configured outside of EcoStruxure Machine Expert (specific software, keypad, Web server, and so on).

For more details, refer to the documentation of the device.

22 EIO0000003826.02

Device Network Configuration

Master IP Address Parameter

Modbus TCP

Some devices have a Master IP address parameter so that only one, declared

Master, controller has access to the device.

If the device...

is configured to use the protocol manager is not configured to use the protocol manager

Then...

configure the Master IP address parameter inside the device, see below.

use 0.0.0.0

for the Master IP address parameter in the device.

The Master IP address parameter of the device has to be set to the IP address of the controller supporting the protocol manager.

To configure this parameter in the device, refer to the documentation of the device.

Network Device Replacement

Overview

The device replacement strategy can be managed with:

• FDR service

• User Parameters

Device Replacement with FDR

FDR Overview

Some devices support the Fast Device Replacement (FDR) service.

The FDR service stores network and operating parameters of devices on the network. If a device is replaced, the service automatically configures the replacement device with parameters identical to those of the removed device.

In order to configure this service in the device, refer to the documentation of the device.

The FDR server relies on the following advanced services embedded in the controller (depending on the reference):

• DHCP server for device address assignment

• FTP server for device parameter files. This optional service is used only by devices that contain parameters.

• TFTP server for device parameter files. This optional service is used only by devices that contain parameters.

The DHCP server allows the configuration of the new device with the same addressing parameters.

Devices that contain parameters use the FTP or TFTP server to save their parameter files.

The replacing device requests the FTP or TFTP server to restore the parameter files.

EIO0000003826.02

23

Modbus TCP

Cyclic Data Exchanges Configuration

Device Network Configuration

Cyclic Data Exchanges Overview

Overview

The protocol manager supports cyclic data exchanges between the controller and the slave devices.

The cyclic data exchange requests are supported by a channel for Modbus TCP.

Predefined devices have predefined data exchanges, for which the cyclic data exchanges are automatically defined. To configure the Generic devices, you must add the channel in Modbus TCP Channel Configuration .

If necessary, you can configure these data exchanges using the dedicated DTM or the appropriate third-party tool. For details, refer to the documentation of the device.

You can add and configure new requests for these devices and generic slave devices.

For all data exchanges, you can map variables to be used by the program.

Modbus TCP Cyclic Data Exchanges Configuration

Overview

To configure the Modbus TCP cyclic data exchanges, you have to:

• Configure for each Modbus TCP slave devices the data exchanges request

(on channels) and the I/O Mapping.

• Configure the I/O scanner for Modbus TCP slave devices.

Modbus TCP Channel

A Modbus channel carries a Modbus request between the master and a slave.

For a generic slave device, you can use multiple channels. To send several different requests to a device, create several channels.

Configure the Modbus TCP Slave Device Channels

Step

1

2

To configure the data exchanges (on channels) of a Modbus TCP slave device, proceed as follows:

Action

In the Devices tree , double-click a Modbus TCP slave device.

Result : Its configuration window is displayed.

Click the Modbus TCP Channel Configuration tab:

24

3 To remove a non-predefined channel, select it and click Delete .

EIO0000003826.02

Device Network Configuration

Step

4

5

Modbus TCP

Action

To change the parameters of a channel, select the channel and click Edit .

NOTE: For the devices that provide predefined channels, only the Repetition Rate value can be modified.

To add a channel, click Add Channel . This dialog box is displayed:

6

7

In the Channel area, you can define:

• Name : optional string for naming the channel.

• Unit-ID [1..255] : unit ID (1) of the Modbus TCP slave device (by default 255).

• Repetition Rate : polling interval of the Modbus request (by default 20 ms).

• Comment : optional field to describe the channel.

• Function Code : type of Modbus request:

◦ Read/Write Multiple Registers (Function code 23) (by default).

◦ Read Holding Registers (Function code 03) .

◦ Write Multiple Registers (Function code 16) .

In the READ register area, you can define:

• Offset : starting register number to read from 0 to 65535.

• Length : number of the registers to be read (depending on the function code).

• Error Handling : define the fallback value in the case of a communication interruption:

◦ Keep Last Value (by default) holds the last valid value.

◦ SetToZero resets the values to 0.

In the WRITE register area, you can define:

• Offset : starting register number to write from 0 to 65535.

• Length : number of the registers to be written (depending on the function code).

Click OK to validate the configuration of the channel.

Result:

Generic_Modbus_TCP_Slave

Modbus TCP Slave Configuration

Modbus TCP Channel Configuration

Channel ID

…..

0

Name UnitID

Channel 0 255

Repetition Rate Read Offset

20 16#0000

Status

Length

1

Information

Error Handling Write Offset

Keep last value 16#0000

Length

1

Comment

8 Repeat steps 5 to 7 to create other channels that define the Modbus communication with the device. For each Modbus request, you must create a channel.

(1) Unit identifier is used with Modbus TCP devices which are composed of several Modbus devices, for example, on Modbus TCP to

Modbus RTU gateways. In such case, the unit identifier allows reaching the slave address of the device behind the gateway. By default,

Modbus/TCP-capable devices ignore the unit identifier parameter.

EIO0000003826.02

25

Modbus TCP

Device Network Configuration

Read/Write Register Length

The read/write register length depends on the Modbus function code.

This table contains, for 1 channel, the maximum length of the read/write registers:

Modbus function code

Read/write multiple registers (function code 23)

Read registers (function code 03)

Write registers (function code 16)

Maximum length

Read register Write register

125

125

-

121

-

123

NOTE: Due to these limitations and the maximum input/output words of the scanner (2048), verify the

scanner resources overload, page 28 .

26 EIO0000003826.02

Device Network Configuration

Modbus TCP I/O Mapping

Prerequisites

A Modbus TCP channel must exist.

Modbus TCP

Configure the Modbus TCP IOScanner

Step

1

2

To configure a Modbus TCP IOScanner, proceed as follows:

Action

In the Devices tree , double-click the protocol manager.

Result : The configuration window is displayed.

Select the IOScanner I/O Mapping tab:

Variable

Diagnostic

Mapping Channel Address Type Default Value Unit Description

Global Status %IW2 UINT Valid values ar...

Healthbits

Healthbits0

Healthbits1

Healthbits2

Healthbits3

%IW3

%IW4

%IW5

%IW6

WORD

WORD

WORD

WORD

Enabled channels

Channels0

Channels1

Channels2

Channels3

%IW7

%IW8

%IW9

%IW10

WORD

WORD

WORD

WORD

3

4

Reset Mapping Always update variables Enabled 1 (use bus cycle task if not used in any task)

= Create new variable = Map to existing variable

Bus Cycle Options

Bus Cycle task

Use parent bus cycle setting

NOTE: For more information on Health Bit, refer to

IOS_GETHEALTH function, page 54 .

NOTE: For more information on Enable Channels, refer to

IOS_CONTROLCHANNEL function, page 52 .

Select the Bus cycle task in the list:

• Use parent bus cycle setting (by default),

• MAST

NOTE: The Bus cycle task parameter inside the I/O mapping editor of the device that contains the Modbus TCP

IOScanner defines the task responsible for the refresh of the I/O images (%QW, %IW). These I/O images correspond to the Modbus request sent to the Modbus slaves and the health bits.

Double-click in a cell of the Variable column to open a text field.

Enter the name of a variable or click the browse button [...] and chose a variable with the Input Assistant .

EIO0000003826.02

27

Modbus TCP

Device Network Configuration

Configure a Modbus TCP Slave Device I/O Mapping

Step

1

2

To configure a Modbus TCP slave device I/O Mapping, proceed as follows:

Action

In the Devices tree , double-click a Modbus TCP slave device.

Result : Its configuration window is displayed.

Select the ModbusTCPSlave I/O Mapping tab.

Mapping Channel Address Type Variable

Inputs

Channel 0 %IW11 WORD

Outputs

Channel 0

Bit 0

Bit 1

Bit 2

Bit 3

Bit 4

Bit 5

Bit 6

Bit 7

Bit 8

Bit 9

Bit 10

Bit 11

Bit 12

Bit 13

Bit 14

Bit 15

%QW2

%QX4.0

%QX4.1

WORD

BOOL

BOOL

%QX4.2

%QX4.3

%QX4.4

%QX4.5

%QX4.6

%QX4.7

%QX5.0

%QX5.1

%QX5.2

%QX5.3

BOOL

BOOL

BOOL

BOOL

BOOL

BOOL

BOOL

BOOL

BOOL

BOOL

BOOL

%QX5.4

%QX5.5

BOOL

%QX5.6

BOOL

%QX5.7

BOOL

Default Value Unit Description

Input Channels

Output Channels

Reset Mapping Always update variables Enabled 1 (use bus cycle task if not used in any task)

= Create new variable = Map to existing variable

Bus Cycle Options

Bus Cycle task Use parent bus cycle setting

3

4

Select the Bus cycle task in the list:

• Use parent bus cycle setting (by default),

• MAST

NOTE: The Bus cycle task parameter inside the I/O mapping editor of the device that contains the Modbus TCP

IOScanner defines the task responsible for the refresh of the I/O images (%QW, %IW). These I/O images correspond to the Modbus request sent to the Modbus slaves and the health bits.

Double-click in a cell of the Variable column to open a text field.

Enter the name of a variable or click the browse button [...] and chose a variable with the Input Assistant .

Protocol Manager Load Verification

Purpose

If the load on the protocol manager exceeds 100%, cyclic data exchanges might not be processed at the configured rate.

28 EIO0000003826.02

Device Network Configuration

Modbus TCP

The Ethernet Resources tab allows you to estimate the load on the protocol manager.

Verify this load before operating the machine.

To manage the load, you can manipulate one or more of the following load factors:

• Number of slaves

• With Modbus TCP:

◦ Number of channels (on the Modbus TCP IOScanner)

◦ The repetition rate of the channels

Load Estimation

This equation allows estimation of the load on the protocol manager of the

TM241CE••• and TM251MES• if it manages exclusively Modbus TCP IOScanner devices:

EIO0000003826.02

This equation allows estimation of the load on the protocol manager of the

TM262L01MESE8T, TM262L10MESE8T, TM262M05MESS8T and

TM262M15MESS8T if it manages EtherNet/IP or Modbus TCP IOScanner device:

This equation allows estimation of the load on the protocol manager of the

TM262L20MESE8T, TM262M25MESS8T and TM262M35MESS8T if it manages

EtherNet/IP or Modbus TCP IOScanner device:

NbTcpChannels NbEIPChannels

å

TCPch=1

15/RepetitiveRate(TCPch) +

if RPI(EIPch) < 3 then load = 50, else load = 31.25

å

EIPch=1 load

/RPI (EIPch)

NOTE: If you use Sercos communication, the resources are not calculated.

This load estimate does not take into account increases in load resulting from

out of process data exchanges, page 38

such as:

• DTM, Web server, and Modbus TCP requests.

• fieldbus communications (DTM, Web server communications when the

PC is on the fieldbus)

• TCP UDP communications generated by the TcpUdpCommunications library.

In EcoStruxure Machine Expert, an automatic load calculation is available:

Step

1

2

3

Action

In the Devices tree , double-click the protocol manager node.

If you use a M262 controller, select Ethernet Services > Ethernet Resources .

Click Calculate .

29

Modbus TCP

This picture presents the Ethernet Resources tab:

Device Network Configuration

Programming Over Industrial Ethernet

Programming Over Industrial Ethernet

Overview

When the protocol manager is added, the Modbus TCP IOScanner library is automatically instantiated.

In addition, most Industrial Ethernet slave devices have a dedicated library containing function and function blocks.

Use these elements to facilitate the program writing.

EcoStruxure Machine Expert contains TVDA templates that can be used.

Manage the Operating Modes of the Devices

The Modbus TCP IOScanner library contains these functions:

• CONFIGURE_OTB : Send the software configuration of the Advantys OTB

• IOS_CONTROLCHANNEL : Enables or disables a communication channel

• IOS_GETSTATE : Read the state of the Modbus TCP IOScanner

• IOS_START : Launch the Modbus TCP IOScanner

• IOS_GETHEALTH : Read the health bit value

• IOS_STOP : Stop the Modbus TCP IOScanner

For more details, refer to

Modbus TCP IOScanner Library, page 52 .

For operational details, refer to

Mastering slave devices operating modes, page

36

and

Impact of the controller States on the Industrial Ethernet, page 40 .

Send Commands and Read Status from Devices

Cyclic data exchanges are used with generic devices that require deterministic data exchanges. Cyclic data exchanges are managed by the protocol manager.

30 EIO0000003826.02

Device Network Configuration

Modbus TCP

In addition, you can send explicit messages.

For Modbus TCP devices, you can use READ_VAR and WRITE_VAR.

For operational details, refer to

Slave devices configuration on start, page 38

and

Data exchanges on demand, page 37

.

Use TVDA Templates

Most Industrial Ethernet slave devices are parts of TVDA.

EcoStruxure Machine Expert proposes to

add a device from a template, page 17 .

By this, the device is added with several already parametrized blocks and/or function blocks.

EIO0000003826.02

31

Modbus TCP

Device Network Commissioning

Overview

Device Network Commissioning

This chapter describes how to perform the commissioning of your Industrial

Ethernet network.

This phase follows the

device network configuration, page 12

.

At the end of this phase, the

application can be started, page 36

.

Commissioning

Overview

During the commissioning, you have to:

• Perform the machine (controller and slave devices) first power-up.

• Perform network tests.

• Download the configuration to the network devices.

• Adjust controller and network devices configuration (online or directly on the devices).

• Complete the FDR on each available device.

• Back up your application.

First Machine Power-up

To realize the first power-up, proceed as follow:

Step

1

2

3

4

Action

Transfer the application to the controller.

Refer to Downloading an Application (see EcoStruxure Machine Expert, Programming

Guide).

Prepare each device to be recognized on the device network by referring to the

network planning, page 18 : BOOTP, DHCP, fixed IP, network name.

For details, refer to

Prepare the Device to Be Recognized, page 33

.

Perform a machine power cycle. This may be necessary for some devices to acquire the correct network settings.

Perform

network tests, page 43

.

Download the Configuration to the Network Devices

Refer to

Apply the Correct Device Configuration, page 35 .

Adjust Controller and Devices Application

Once the first machine power-up performed and the configuration downloaded to the devices, you can adjust the system with:

32 EIO0000003826.02

Device Network Commissioning

Modbus TCP

• Embedded DTMs online modification, such as:

◦ parameters adjustment,

◦ autotuning for performances and energy efficiency,

◦ oscilloscope for fine dynamic tuning

◦ …

• For devices not having DTM, manual adjustment directly done on the devices. Refer to the documentation of the device.

Complete the FDR Service

Once the system is configured, you have to complete the FDR service. This step consists in saving the device configuration in the controller FTP server.

Depending on the device, several tools can be used:

• EcoStruxure Machine Expert,

• Third-party tools (for example: SoMove),

• Device Web server,

• Directly on the device (with embedded HMI),

• …

For more details, refer to the documentation of the device.

Back Up Application

Once the machine commissioning is completed, and before operation phase, upload and save project for further use.

Depending of the controller, several methods are available:

• EcoStruxure Machine Expert: Perform a backup of the application program to the hard disk of the PC.

• Controller Web server

• Controller clone function (with SD card).

• …

For more details, refer to the documentation of the device.

Prepare the Device to Be Recognized

Overview

The aim of this step is to configure the IP address assignment method of the

device to be in accordance with that configured for the network planning , page 18 .

This can be done during:

• the

commissioning phase, page 32 .

• a

device replacement, page 49

.

Depending on the device, different tools can be used:

• Machine Assistant (see Modicon M262 Logic/Motion Controller, Programming

Guide)

• Screwdriver: for devices with rotary switch, dip switch, …(example: OTB)

• Keypad (example: ATV)

EIO0000003826.02

33

Modbus TCP

Device Network Commissioning

• PC, for devices that have to be configured with:

◦ EcoStruxure Machine Expert

◦ Third-party software

◦ Its Web server (example: OsiSense XGCS)

Depending on the IP address assignment, different actions can be done:

• DHCP: configure the DHCP device name in the device.

• BOOTP: refer to

Device Configured in BOOTP, page 34

.

• Fixed IP: configure the IP address in the device.

If using EtherNet/IP, and using Electronic Keying, verify whether it is correctly configured.

Main Device Configuration Method

Tool

None

Screwdriver

IP address assignment method

DHCP

DHCP

Description

The device is pre-configured in DHCP with the correct DHCP device name.

Use a screwdriver on the device (rotary switch, dip switch, …) to configure the DHCP device name.

Example: Advantys OTB.

BOOTP Use a screwdriver on the device (rotary switch, dip switch, …) in BOOTP.

Example: XPSMCM.

Use a screwdriver on the device (rotary switch, dip switch, …) to configure the IP address.

Fixed IP

DHCP Keypad

PC, tablet, …

PC

BOOTP

Fixed IP

DHCP

BOOTP

Fixed IP

DHCP

BOOTP

Fixed IP

Use the keypad of the device to configure DHCP device name.

Example: ATV32.

Use the keypad of the device to configure the device in BOOTP.

Use the keypad of the device to configure IP address.

Use PC or tablet to connect to the Device Web server and configure the network settings.

Choose a connection method:

• Connect the PC to an Ethernet port of the device.

The current IP address of the device must be known.

• Connect a WIFER TCSEGWB13FA0 to an Ethernet port of the device.

Connect the PC to the WIFER.

Use EcoStruxure Machine Expert (via DTM) to configure the network settings.

Connect the PC to a dedicated communication port of the device.

Example: Modbus serial line port of ATV32.

For details, refer to Using DTMs to Configure Devices on Modbus Serial Line (see EcoStruxure

Machine Expert, Device Type Manager (DTM), User Guide).

DHCP

BOOTP

Fixed IP

Use third-party software to configure the network settings.

Choose a connection method:

• Connect the PC to an Ethernet port of the device.

The current IP address of the device must be known.

• Connect the PC to a dedicated communication port of the device.

You may have to perform a device power cycle for parameter modifications to take effect.

Device Configured in BOOTP

If the device IP address assignment is BOOTP, you must use EcoStruxure

Machine Expert:

34 EIO0000003826.02

Device Network Commissioning

Modbus TCP

Set the MAC address of the new device , page 18

,

• Load the new application in the controller.

Apply the Correct Device Configuration

Overview

Once the device is recognized on the device network, you may have to configure it.

This can be done during:

• the

commissioning phase, page 32 .

• a

device replacement, page 49

.

Description

It may be necessary to perform different actions, depending on the device, to apply the correct device configuration. In addition, a power cycle of the device may also be required before any configuration information is taken into account by the device.

Action

No manual modification

Description

The device is provided pre-configured.

Everything is automated.

For Advantys OTB, the configuration download can be performed by program only. For more details, refer to

Services Configuration on Start, page 38 .

SD card, USB memory key, keypad… Often, the media used to store the configuration is already prepared for operation.

However, inserting the media into the new device may require some manual actions.

Multiloader Use the multiloader tool to load a previously saved configuration file in the device.

FDR (through keypad menus) In some cases, you must explicitly ask the device to get its configuration from the FDR server, and then switch the FDR service back to IDLE.

For more details, refer to the documentation of the device.

For FDR details, refer to

Device Replacement with FDR, page 23 .

FDR (through Web serverr) Use an external tool such as a PC, smart phone, tablet, etc. that supports the use of a web browser to affect the device replacement.

In some cases, you must explicitly ask the device to get its configuration from the FDR server, then switch the FDR service back to IDLE.

Use an external tool such as a PC, smart phone, tablet, etc. that supports the use of a web browser to affect the configuration.

Device Web server (parameter by parameter)

EcoStruxure Machine Expert Use EcoStruxure Machine Expert to download the configuration to the device.

For devices that support DTM, refer to Using DTMs to Configure Devices on Modbus TCP or

EtherNet/IP (see EcoStruxure Machine Expert, Device Type Manager (DTM), User Guide).

Third-party software Use a third-party software.

You may have to perform a device power cycle for parameter modifications to take effect.

For more information concerning the device configuration, refer to the documentation of the device.

EIO0000003826.02

35

Modbus TCP

Device Network Operation

Overview

Device Network Operation

This chapter describes the functionalities, data exchange process, and security for operating modes.

Managing Slave Devices Operating Modes

Overview

The operating modes of slave devices are managed by the protocol manager with the following scanners and their dedicated libraries:

• Modbus TCP IOScanner:

Modbus TCP IOScanner library, page 52

These libraries contain function blocks that allow you to:

• Control the Modbus TCP IOScanner,

• Manage cyclic data exchanges (implicit messages),

• Manage the status variables,

• Send non-cyclic data exchange requests (explicit messages).

Other libraries can be used depending on the devices.

Status Variables of the Modbus TCP IOScanner

There are two status variable types:

• Health bits : variables to indicate the communication state of the channels.

There is one health bit per channel.

• Global scanner status : variable to indicate the Modbus TCP IOScanner state.

This table presents the health bit values:

Health bit value

0

1

Communication state of the channel

Health timeout expired without receiving a reply.

No errors detected. Request and reply are received.

I/O Image Variables

The scanners collect and write data from/to the devices. These variables constitutes the I/O image.

Variables Addresses

Each variable gets its own address:

36 EIO0000003826.02

Device Network Operation

Variable Type

I/O image variables %IW for inputs

%QW for outputs

Health bit %IW

Global scanner status %IW

Modbus TCP

Amount

A table of words is created per channel/ connection.

Four consecutive words for Modbus TCP

One word for Modbus TCP

Function Blocks to Control the Modbus TCP IOScanner

Modbus TCP IOScanner library contains function blocks used by the application to communicate with the controller and the Modbus TCP slave devices:

• CONFIGURE_OTB : Send the software configuration of the Advantys OTB

• IOS_CONTROLCHANNEL : Enables or disables a communication channel

• IOS_GETSTATE : Read the state of the Modbus TCP IOScanner

• IOS_START : Launch the Modbus TCP IOScanner

• IOS_GETHEALTH : Read the health bit value

• IOS_STOP : Stop the Modbus TCP IOScanner

For more details, refer to

Modbus TCP IOScanner, page 52

.

Function Blocks to Control ATV and Lexium Devices

Use the PLC Open and other function blocks dedicated to drives to control ATV and Lexium devices. These function blocks can be accessed in the GMC

Independent PLCopen MC library, GMC Independent Altivar library, and GMC

Independent Lexium library. For more information, refer to the Motion Control

Library Guide.

Bus Cycle Task

The protocol manager and the slave devices exchange data at each cycle of an application task.

The Bus Cycle Task parameter allows you to select the application task that manages the scanner:

• Use parent bus cycle setting : associate the scanner with the application task that manages the controller.

• MAST : associate the scanner with the MAST task.

• Another existing task: you can select an existing task and associate it to the scanner.

For more information about the application tasks, refer to the EcoStruxure

Machine Expert Programming Guide (see EcoStruxure Machine Expert,

Programming Guide).

Data Exchanges on Demand

Description

The Cyclic (implicit) data exchanges are managed by the chosen Industrial

Ethernet scanner.

To perform data exchanges on demand, you must use explicit messages.

EIO0000003826.02

37

Modbus TCP

Device Network Operation

Explicit messages are initiated by the application with function blocks:

• For Modbus TCP devices, you can use READ_VAR and WRITE_VAR function blocks.

• For TCP/UDP devices, you can use

function blocks, page 63

.

Custom Cyclic Data Exchanges

Description

When predefined devices are added in the project, cyclic data exchanges are created automatically.

Furthermore, you can create additional

cyclic data exchanges on each slave device, page 24 .

Slave Devices Configuration on Start

Description

To simplify device maintenance, you can send configuration data to slave devices.

In addition, configuration of Advantys OTB devices can be sent on demand by the application using the

CONFIGURE_OTB function block, page 56

.

Out of Process Data Exchanges

Overview

Out of process data exchanges are often data exchanges between control network and device network. For example, you may use a supervision software or a third-party configuration tool to communicate with a target on the device network.

The Industrial Ethernet network permits out of process data exchanges.

To enable out of process data exchanges:

• Configure the

gateway address in the devices, page 20

.

• Ensure that the IP forwarding service (see Modicon M262 Logic/Motion

Controller, Programming Guide) is enabled.

• Check the PC routing (see below).

NOTE: Out of process data exchanges originating from any of the following sources may impact the performance of the controller:

• DTM, Web server, and Modbus TCP requests.

• Network communications (DTM, Web server communications when the

PC is on the network).

• TCP UDP communications generated by the TcpUdpCommunications library.

When connecting a DTM to a device using the network, the DTM communicates in parallel with the running application. The overall performance of the system is impacted and may overload the network, and therefore have consequences for the coherency of data across devices under control.

38 EIO0000003826.02

Device Network Operation

Modbus TCP

WARNING

UNINTENDED EQUIPMENT OPERATION

Do not connect DTMs that communicate across the device network on a running application if the DTM causes deleterious effect on performance.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

PC Routing

The PC supporting the supervision software or configuration tool must be configured to communicate with the slave devices. The PC must be in the same subnet as one of the Ethernet ports of the controller.

If the slave device is configured...

Then...

As a predefined slave through FDT/DTM No specific PC parameterization is needed.

NOTE: The PC configuration is not altered.

Using another tool If the PC is not in the same subnet as the slave devices, you must update the routing table of the PC (see below).

To update the routing table of the PC, stop every connection from the PC to the controller and/or other devices. Then, in a Windows command prompt, execute the command: route ADD destination MASK subnet_mask gateway

Where:

Parameter destination subnet_mask gateway

Value

IP address of the Industrial Ethernet network

Subnet mask of the Industrial Ethernet network

IP address of the controller port connected to the control network

For example, for a TM251MESE, if:

• IP address of the PC: 192.168.0.2

• Subnet mask of the PC: 255.255.0.0

• IP address of the Industrial Ethernet network: 10.10.0.0

• Subnet mask of the Industrial Ethernet network: 255.255.252.0

• IP address of the control network port “Ethernet_1”: 192.168.0.5

• Subnet mask of the control network port “Ethernet_1”: 255.255.0.0

The corresponding command would be: route ADD 10.10.0.0

MASK 255.255.252.0 192.168.0.5

To verify the parameters, execute the command: route PRINT

To remove the route from the PC, execute the command: route DELETE destination

Where destination is the IP address of the Industrial Ethernet network entered previously.

EIO0000003826.02

39

Modbus TCP

Protocol Manager Operating Modes

Device Network Operation

Protocol Manager States

To manage the operating modes of the devices, protocol manager is composed by

Modbus TCP IOScanner.

The protocol manager state defines the behavior of the different devices in the device network. For each state, monitoring information (health bit, communication states, and so on) is specific.

The scanners states depend on the controller state:

Controller state

EMPTY

CONFIGURED

STOPPED

HALT

RUNNING

RUNNING with breakpoint

Modbus TCP IOScanner state

IDLE

STOPPED

STOPPED

STOPPED

OPERATIONAL

OPERATIONAL with a specific behavior

Controller EMPTY State

TCP/IP connections are closed.

Device states are managed according to their individual mode of operation.

The Modbus TCP IOScanner is not created (IDLE state).

Therefore, health bits and I/O images are not available.

Controller CONFIGURED State

TCP/IP connections are closed.

Controller enters in CONFIGURED state after:

• an application load.

• a reset (cold/warm) command sent by EcoStruxure Machine Expert.

The Modbus TCP IOScanner is in STOPPED state, all channels with the Modbus

TCP slave devices are closed in half-sided mode.

Controller STOPPED State

The Modbus TCP IOScanner is in STOPPED state. All channels with the Modbus

TCP slave devices are closed in half-sided mode.

Slave devices are managed according to their individual mode of operation.

This table presents the EcoStruxure Machine Expert variables for Modbus TCP

IOScanner:

40 EIO0000003826.02

Device Network Operation

Variable Value

Health bit value 0

Input image 0 or the last read value

Output image 0 or the last written value

Modbus TCP

Comments

-

Input values depend on the Error Handling parameter.

Input values are those when the controller entered in the

STOPPED state and therefore may not reflect the actual state of the input thereafter.

Output values depend on the Behavior for outputs in Stop parameter.

Output values may not reflect the actual state of the output thereafter.

WARNING

OUTPUT VALUES IN MEMORY MAY BE DIFFERENT THAN THEIR

PHYSICAL STATE

Do not rely on the memory values for the state of the physical outputs when the controller is not in the RUNNING state.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

Controller HALT State

For Modbus TCP IOScanner, same behavior as the controller STOPPED state.

WARNING

OUTPUT VALUES IN MEMORY MAY BE DIFFERENT THAN THEIR

PHYSICAL STATE

Do not rely on the memory values for the state of the physical outputs when the controller is not in the RUNNING state.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

Controller RUNNING State

TCP/IP connections are open.

Slave devices are managed by the controller.

This table presents the EcoStruxure Machine Expert variables:

Variable

Health bit value

Input image

Output image

Value

0...1

Comments

0: No reply from the device before the timeout expired.

1: Requests are sent and replied before the timeout expires.

Last read value Values are refreshed synchronously with the task which drives the scanners. Refer to

Status Variables of the Modbus

TCP IOScanner, page 36 .

Last written value

Values are managed by the application.

EIO0000003826.02

41

Modbus TCP

Controller RUNNING with Breakpoint State

Device Network Operation

TCP/IP connections are open.

Slave devices are managed by the controller.

WARNING

OUTPUT VALUES IN MEMORY MAY BE DIFFERENT THAN THEIR

PHYSICAL STATE

Do not rely on the memory values for the state of the physical outputs when the controller is not in the RUNNING state.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

Security

Overview

The Master IP address feature can increase the system security level for device replacement.

Master IP Address Description

Some devices have a Master IP address parameter so that only one, declared

Master, controller has access to the devices.

For more details, refer to

Master IP Address Parameter, page 23 .

42 EIO0000003826.02

Device Network Diagnostics

Device Network Diagnostics

Overview

This chapter contains troubleshooting information.

Modbus TCP

Network Test

Purpose

Before operating the protocol manager, test the network.

Verify the following:

• The address configuration of each device conforms to the network planning.

• Each device is correctly wired.

Some standard testing methods are presented below.

Status LED

Depending on your devices, verify that the status LEDs display a correct wiring.

Verification Using a PC

With a PC, verify that each network device is connected and addressed:

Step

1

2

3

Action

Connect the PC in the Industrial Ethernet network.

Access the command prompt.

Use a ping xxx.xxx.xxx.xxx

command to reach each network device, where.

xxx.xxx.xxx.

xxx is the IP address of the device to test.

NOTE: The command ping -h displays the help for the ping command.

Verification Using a Web Server

With the controller Web server, verify that the controller can communicate with each network device:

Step

1

2

3

Action

Access the controller Web server.

Open the Ethernet Diagnostic page.

Use the Remote ping

service, page 44

on each device.

EIO0000003826.02

43

Modbus TCP

Diagnostics: Web Server

Overview

Device Network Diagnostics

The Web server of the controller has a diagnostic tab.

In this tab, you can access to Industrial Ethernet diagnostic pages:

• Ethernet

diagnostic page, page 44

• Modbus TCP

diagnostic page, page 45

Ethernet Page

Click Ethernet to display Ethernet information of the controller and to allow you to test communication with a specific IP address:

44

This table presents the ping test result on the Ethernet page:

Icon Meaning

The communication test is successful.

The controller is unable to communicate with the defined IP address.

EIO0000003826.02

Device Network Diagnostics

Modbus TCP Status Page

Modbus TCP

Click Scanner Status to display the Modbus TCP IOScanner status (IDLE,

STOPPED, OPERATIONAL) and the health bit of up to 64 Modbus TCP slave devices:

0…63 corresponds to the channel ID.

This table presents the status of each channel presented on the Scanner Status page:

Icon Health bit value

1

Meaning

Request and reply are ongoing on time.

Scanner status

OPERATIONAL

0 An error is detected, the communications are closed.

OPERATIONAL

0

This ID does not correspond to a configured channel.

OPERATIONAL

The communications are closed.

STOPPED

NOTE: Click any icon to open the device Web server (if existing). To access this Web server, the computer must be able to communicate with the device.

For more information, refer to

PC routing, page 39

.

If the Modbus TCP IOScanner status is IDLE, no icon is displayed; No scanned device reported is displayed.

Diagnostics: EcoStruxure Machine Expert Online Mode

Overview

In online mode, you can monitor the protocol manager in EcoStruxure Machine

Expert using the following methods:

• Icons in the Devices tree

• Status tab of the protocol manager and the devices

EIO0000003826.02

45

Modbus TCP

Device Network Diagnostics

• IOScanner I/O Mapping tab of the protocol manager for Modbus TCP

IOScanner

• I/O mapping tab of the devices

• The protocol manager resources tab

Devices Tree

The communication status of the protocol manager and the devices is presented with icons in the Devices Tree :

Icon Meaning

The communication with the device is normal.

NOTE: The protocol manager is always presented with this icon.

The controller is unable to communicate with the device.

NOTE: When the protocol manager is STOPPED, all devices show this icon.

Protocol Manager I/O Mapping

The IOScanner I/O Mapping tab of the protocol manager allows you to monitor the Modbus TCP IOScanner status and the health bit of the Modbus TCP slave devices:

46

Column

Variable

Use

Diagnostic

Assign a name to the global scanner status variable.

Healthbits Assign a name to each health bit.

For example, name a health bit with the associated device name.

Comment

-

Health bits are grouped in 4 subfolders of 16 bits.

EIO0000003826.02

Device Network Diagnostics

Column

Address

Current value

Modbus TCP

Use

Retrieve the address of each variable.

Monitor the Modbus TCP devices

Comment

Addresses may be modified when the configuration is changed.

For boolean values (health bit):

• TRUE = 1

• FALSE = 0

Slave Device Mapping

Industrial Ethernet devices have an I/O Mapping tab containing their I/Os.

NOTE: Generic TCP/UDP does not have an I/O mapping tab;

This figure presents an example of an I/O Mapping tab for an Advantys OTB slave device:

EIO0000003826.02

Column

Variable

Channel

Address

Type

Inputs

Outputs

Use

Assign a name to each input of the device.

Assign a name to each output of the device.

Comment

Each bit can also be mapped.

Retrieve the address of each variable.

Symbolic name of the input or output channel of the device.

Addresses may be modified when the configuration is changed.

Data type of the input or output channel.

47

Modbus TCP

Troubleshooting

Device Network Diagnostics

Main Issues

Symptom

Industrial Ethernet manager or

Modbus TCP IOScanner is presented with a red triangle in the Devices tree .

A device is presented with a red triangle in the Devices tree .

Possible cause

The configuration is not compliant with the controller version.

The controller is unable to communicate with the device.

A device/channel is temporarily presented in red.

The wiring is unstable.

Configuration requires adjustment.

Some states of the device are not presented in the application.

Some states of the device are not presented in the application.

Resolution

• Build > Clean all

• Build > Rebuild all

• Ensure that the controller has the latest firmware version.

• Verify device wiring and powering.

• Verify device IP address (by using the Remote ping service on the IP address of the device. Refer to

Ethernet Page, page 44

).

• Verify whether the device supports the read/write request.

• Verify whether the accessed registers are relevant for this device.

• Verify whether the accessed registers are not write-protected.

• Verify that the FDR (Fast Device Replacement) service is properly configured inside the device.

• Verify that the Master IP address parameter is properly configured inside the device.

Verify the wiring.

• Increase the health timeout value.

• Increase the repetition rate value.

Verify the Scanner Resources

tab, page 28 .

The load is too important for the protocol manager.

For Modbus TCP slave device:

The repetition rate is too slow

(the value is too high).

The bus cycle task is not fast enough.

Decrease the repetition rate value for the channels associated to this device.

• Associate the scanner to a different task (Modbus TCP

IOScanner).

• Decrease the cycle value of the associated task.

48 EIO0000003826.02

Maintenance

Maintenance

Modbus TCP

Maintenance Overview

Main Steps

In case of device replacement, the main steps are:

• Power off the machine or the part of the machine affected

• Unmount the device

• Mount the new device

• Power on the new device

Prepare the device to be recognized by the system, page 33

Apply the correct device configuration, page 35

• Acknowledge the device replacement (depends on your application)

EIO0000003826.02

49

Modbus TCP

Appendices

What’s in This Part

Modbus TCP IOScanner Library ......................................................................52

Scanner Diagnostic Library .............................................................................60

Motion Control Library ....................................................................................62

Generic TCP UDP Library ...............................................................................63

Function and Function Block Representation ...................................................64

EIO0000003826.02

51

Modbus TCP

Modbus TCP IOScanner Library

Modbus TCP IOScanner Library

What’s in This Chapter

Modbus TCP IOScanner Functions.................................................................52

Modbus TCP IOScanner Data Types ..............................................................58

Overview

This chapter describes the ModbusTCPIOScanner library.

Modbus TCP IOScanner Functions

Overview

This section describes the functions included in the ModbusTCPIOScanner library.

IOS_CONTROLCHANNEL : Enables or Disables a Communication

Channel

Function Description

This function allows you to enable or disable a communication channel.

A channel managed by this function is reinitialized to its default value after a reset

(cold/warm).

After a stop or after a start, the channel remains disabled if it was disabled before.

On the contrary, after a reset, the channel is enabled even if it was disabled before.

NOTE: When connected to a TM3BCEIP bus coupler, even if the connection can be stopped, the system will try to reconfigure the connection. To stop a communication, you need to disable the associated remote adapter:

<DeviceName>.DisableRemoteAdapter (TRUE);

WARNING

UNINTENDED EQUIPMENT OPERATION

Ensure that the Modbus TCP communication channels of the TM3BCEIP bus coupler are set to the same state, either enabled or disabled.

Failure to follow these instructions can result in death, serious injury, or equipment damage.

Graphical Representation channel UINT enable BOOL

IOS_CONTROLCHANNEL

INT IOS_CONTROLCHANNEL

52 EIO0000003826.02

Modbus TCP IOScanner Library

Modbus TCP

IL and ST Representation

To see the general representation in IL or ST language, refer to

Function and

Function Block Representation, page 64

I/O Variable Description

This table describes the input variables:

Input

ChannelID

Type

UINT

Enable BOOL

Comment

The channel number (visible in the first column of the configuration page).

Enables or disables command.

This table describes the output variable:

Output

IOS_

CONTROLCHANNEL

Type

INT

Comment

Returns 0 on success, a negative value on error.

Example

This is an example of a call of this function:

// Disable Modbus TCP channel 3

IOS_CONTROLCHANNEL (3, FALSE);

IOS_GETSTATE : Read the State of the Modbus TCP IOScanner

Function Description

This function returns the value corresponding to the state of the Modbus TCP

IOScanner.

Graphical Representation

IL and ST Representation

To see the general representation in IL or ST language, refer to

Function and

Function Block Representation, page 64

I/O Variable Description

This table describes the output variable:

Output

IOS_GETSTATE

Type

IosStateCodes (UINT)

Comment

Return values:

IosStateCodes, page 58 .

EIO0000003826.02

53

Modbus TCP

Example

Modbus TCP IOScanner Library

This is an example of a call of this function: mystate := IOS_GETSTATE() ;

IOS_START : Launch the Modbus TCP IOScanner

Function Description

This function starts the Modbus TCP IOScanner.

It allows runtime control of the Modbus TCP IOScanner execution. By default, the

Modbus TCP IOScanner starts automatically when the application starts.

This function call waits for the Modbus TCP IOScanner to be physically started, so it can last up to 5 ms.

Starting a Modbus TCP IOScanner already started has no effect.

Graphical Representation

IL and ST Representation

To see the general representation in IL or ST language, refer to

Function and

Function Block Representation, page 64

.

I/O Variable Description

This table describes the output variable:

Output

IOS_START

Type

UDINT

Comment

• 0 = successful start

• Other value = start unsuccessful

Example

This is an example of a call of this function: rc := IOS_START() ;

IF rc <> 0 THEN... (* situation to be processed at application level *)

IOS_GETHEALTH : Read the Health Bit Value

Function Description

This function returns the health bit value of a specific channel.

54 EIO0000003826.02

Modbus TCP IOScanner Library

Graphical Representation

Modbus TCP

IL and ST Representation

To see the general representation in IL or ST language, refer to

Function and

Function Block Representation, page 64

.

I/O Variable Description

This table describes the input variable:

Input channelID

Type

UINT

Comment

Channel ID (refer to Modbus TCP

channels, page 24 ) of the channel to

monitor.

This table describes the output variable:

Output

IOS_GETHEALTH

Type

UINT

Comment

• 0: Channel I/O values are not updated

• 1: Channel I/O values are updated

Example

This is an example of a call of this function: chID:=1 ; channelHealth := IOS_GETHEALTH(chID)(* Get the health value (1=OK, 0=Not

OK) of the channel number chID. The channel ID is displayed in the configuration editor of the device *)

IOS_STOP : Stop the Modbus TCP IOScanner

Function Description

This function stops the Modbus TCP IOScanner.

It allows runtime control of the Modbus TCP IOScanner execution. By default, the

Modbus TCP IOScanner stops when the controller is STOPPED .

The Modbus TCP IOScanner has to be stopped, from the first cycle, until all network devices are operational.

This function call may take as long as 5 ms as it waits for the Modbus TCP

IOScanner to physically stop.

Stopping an already stopped Modbus TCP IOScanner has no effect.

EIO0000003826.02

55

Modbus TCP

Graphical Representation

Modbus TCP IOScanner Library

IL and ST Representation

To see the general representation in IL or ST language, refer to

Function and

Function Block Representation, page 64

.

I/O Variable Description

This table describes the output variable:

Output

IOS_STOP

Type

UDINT

Comment

• 0 = successful stop

• Other value = stop unsuccessful

Example

This is an example of a call of this function: rc := IOS_STOP() ;

IF rc <> 0 THEN (* Abnormal situation to be processed at application level *)

CONFIGURE_OTB : Send the Software Configuration of the

Advantys OTB

Function Block Description

This function block sends the EcoStruxure Machine Expert configuration data of an Advantys OTB to the physical device through Modbus TCP.

It allows the update of the configuration parameters of an I/O island without thirdparty software.

The Modbus TCP IOScanner must be stopped before calling this function.

The execution of this function block is asynchronous. In order to check the configuration completion, the Done , Busy , and Error output flags must be tested at each application cycle.

Graphical Representation

56 EIO0000003826.02

Modbus TCP IOScanner Library

Modbus TCP

IL and ST Representation

To see the general representation in IL or ST language, refer to

Function and

Function Block Representation, page 64

.

I/O Variable Description

This table describes the input variables:

Input

Execute

Type

BOOL sAddr STRING

Comment

Activation entry. Start the configuration on rising edge.

OTB IP address. The format of the string must be 3

{xx.xx.xx.xx}

This table describes the output variables:

Output

Done

Busy

Error

Type

BOOL

BOOL

BOOL

Comment

Set to TRUE when the configuration completion succeeded.

Set to TRUE when the configuration is in progress.

Set to TRUE when the configuration ended with an error detected.

Return values: configurationOTBErrorCodes ConfError

configurationOTBErrorCodes, page 59

CommError

CommunicationErrorCodes, page 58

Return values: CommunicationErrorCodes

Example

EIO0000003826.02

This is an example of a call of this function:

VAR

(*Function Block to configure OTB , need to stop the IOscanner before the execution of the FB*) configure_OTB1: CONFIGURE_OTB;

(*init value different than 16#00000000 , IO_start_done=0 when we have a successful start*)

IO_start_done: UDINT := 1000;

(*init value different than 16#FFFFFFFF , IO_start_done=16#FFFFFFFF when we have a successful stop*)

IO_stop_done: UDINT := 1000;

(*Configure_OTB_done= true when we configure with success the OTB, then we can start the IO scanner*)

Configure_OTB_done: BOOL; myBusy: BOOL; myError: BOOL; myConfError: configurationOTBErrorCodes; myCommError: UINT; myExecute: BOOL;

END_VAR

57

Modbus TCP

Modbus TCP IOScanner Library

(* First, stop the IOScanner, before configuring OTB *)

IF NOT myExecute THEN

IO_stop_done:=IOS_STOP();

END_IF

(* Send the configuration data to OTB, at IP address 95.15.3.1, when myExecute is TRUE *) configure_OTB1(

Execute:= myExecute, sAddr:='3{95.15.3.1}' ,

Done=> Configure_OTB_done,

Busy=> myBusy,

Error=&gt; myError,

ConfError=&gt; myConfError,

CommError=&gt; myCommError);

(* After OTB is successfully configured, start the IOScanner *)

IF Configure_OTB_done THEN

IO_start_done:=IOS_START();

END_IF

Modbus TCP IOScanner Data Types

Overview

This section describes the data types of the ModbusTCPIOScanner library.

IosStateCodes: Modbus TCP IOScanner Status Values

Enumeration Type Description

The IosStateCodes enumeration data type contains these values:

Enumerator

IosErr

IosIdle

IosOperationnal

IosStopped

2

3

Value

0

1

Comment

Modbus TCP IOScanner is in an error state.

Modbus TCP IOScanner is in IDLE state. The configuration is empty or not compliant.

Modbus TCP IOScanner is in OPERATIONAL state.

Modbus TCP IOScanner is in STOPPED state.

CommunicationErrorCodes: Error Detected Codes

Enumeration Type Description

The CommunicationErrorCodes enumeration data type contains these values:

58 EIO0000003826.02

Modbus TCP IOScanner Library

Enumerator

CommunicationOK

TimedOut

Canceled

BadAddress

BadRemoteAddr

BadMgtTable

BadParameters

ProblemSendingRq

RecvBufferTooSmall

SendBufferTooSmall

SystemResourceMissing

BadTransactionNb

BadLength

ProtocolSpecificError

Refused

Value hex 00 hex 01 hex 02 hex 03 hex 04 hex 05 hex 06 hex 07 hex 09 hex 0A hex 0B hex 0C hex 0E hex FE hex FF

Modbus TCP

Comment

Exchange is correct.

Exchange stopped because of timeout.

Exchange stopped on user request.

Address format is incorrect.

Remote address is incorrect.

Management table format is incorrect.

Specific parameters are incorrect.

Error detected on sending request to destination.

Size of reception buffer is too small.

Size of transmission buffer is too small.

System resource is missing.

Transaction number is incorrect.

Length is incorrect.

The detected operation error contains protocolspecific code.

Transaction is refused.

configurationOTBErrorCodes: Error Detected Codes in the OTB

Configuration

Enumeration Type Description

The configurationOTBErrorCodes enumeration data type contains these values:

Enumerator

ConfigurationOK

IPAddrErr

ChannelNbErr

ChannelInitValueErr

CommunicationErr

IosStateErr

Value hex 00 hex 01 hex 02 hex 03 hex 04 hex 05

Comment

OTB configuration is done successful.

sAddr input parameter is incorrect.

There is no OTB channel initialization value for this IP address.

Cannot get the OTB channel initialization value.

OTB configuration stopped because of an error detected.

The Modbus TCP IOScanner is running. The

Modbus TCP IOScanner must be stopped before executing the CONFIGURE_OTB function block.

EIO0000003826.02

59

Modbus TCP

Scanner Diagnostic Library

Scanner Diagnostic Library

What’s in This Chapter

Scanner Diagnostic Functions ........................................................................60

Overview

This chapter describes the Scanner Diagnostic library.

Scanner Diagnostic Functions

Overview

This section describes the functions included in the Scanner Diagnostic library.

IOS_GETDIAGSTATUS : Get a Diagnostic Status

Function Block Description

This function allows you to get the diagnostic status of IOS Scanner.

Graphical Representation channelID UINT

IOS_GETDIAGSTATUS

UDINT IOS_GETDIAGSTATUS

IL and ST Representation

To see the general representation in IL or ST language, refer to

Function and

Function Block Representation, page 64

I/O Variable Description

This table describes the input variable:

Input channelID

Type

UINT

Comment

The channelID can be seen in the configuration screens from the Scanner Manager .

This table describes the output variable:

Output Type

IOS_GETDIAGSTATUS UDINT

Comment

Returns 0 if no protocol error (cannot reach device or success).

Other: Modbus exception code (see table below).

60 EIO0000003826.02

Scanner Diagnostic Library

Modbus TCP

Exception Code

01 (0x01)

02 (0x02)

03 (0x03)

04 (0x04)

05 (0x05)

06 (0x06)

07 (0x07)

08 (0x08)

10 (0x0A)

11 (0x0B)

This table describes the Modbus exception codes:

Name

Illegal function

Illegal data address

Illegal data value

Client device failure

Acknowledge

Client device busy

Negative acknowledgment

Memory parity error

Description

The function code received in the request is not an authorized action for the client.

The client may be in a state which is incompatible with the request.

The data address received by the device is not an authorized address for the device.

The value in the request data field is not an authorized value for the client.

The client cannot perform a requested action because of an unrecoverable error.

The client accepts the request but needs a long time to process it.

The client is busy processing another command. The server must send the request once the client is available.

The client cannot perform the programming request sent by the server.

The client detects a parity error in the memory when attempting to read extended memory.

Gateway path unavailable

Gateway target device failed to respond

The gateway is overloaded or not correctly configured.

The client is not present on the network.

EIO0000003826.02

61

Modbus TCP

Motion Control Library

Motion Control Library

What’s in This Chapter

Motion Control Library ...................................................................................62

Motion Control Library

Overview

This document describes function blocks that are used to control ATV32, ATV320,

ATV340 drives, ATV6••, ATV71, ATV9••, LXM32M, ILA, ILE and ILS drives in fieldbus under the EcoStruxure Machine Expert software environment.

For more details, refer to Motion Control Library Guide.

62 EIO0000003826.02

Generic TCP UDP Library

Generic TCP UDP Library

Modbus TCP

What’s in This Chapter

Generic TCP UDP Library ..............................................................................63

Generic TCP UDP Library

Overview

The TcpUdpCommunication library provides implementing TCP and UDP using

IPv4.

The library provides the core functionality for implementing socket-based network communication protocols using TCP (client and server) or UDP (including broadcast and multicast if supported by the platform). Only IPv4-based communication is supported.

The application protocol used by the remote side (which can be hardware such as barcode scanners, vision cameras, industrial robots, or computer systems running software like database servers) has to be implemented using this library. While this requires extensive knowledge of socket-based communication and the protocol used, the TcpUdpCommunication library allows you to concentrate on the application layers.

For more details, refer to TcpUdpCommunication Library Guide (see EcoStruxure

Machine Expert, TcpUdpCommunication, Library Guide).

EIO0000003826.02

63

Modbus TCP

Function and Function Block Representation

Function and Function Block Representation

What’s in This Chapter

Differences Between a Function and a Function Block .....................................64

How to Use a Function or a Function Block in IL Language ...............................65

How to Use a Function or a Function Block in ST Language .............................67

Overview

Each function can be represented in the following languages:

• IL: Instruction List

• ST: Structured Text

• LD: Ladder Diagram

• FBD: Function Block Diagram

• CFC: Continuous Function Chart

This chapter provides functions and function blocks representation examples and explains how to use them for IL and ST languages.

Differences Between a Function and a Function Block

Function

A function:

• is a POU (Program Organization Unit) that returns one immediate result.

• is directly called with its name (not through an instance).

• has no persistent state from one call to the other.

• can be used as an operand in other expressions.

Examples: boolean operators ( AND ), calculations, conversion ( BYTE_TO_INT )

Function Block

A function block:

• is a POU (Program Organization Unit) that returns one or more outputs.

• needs to be called by an instance (function block copy with dedicated name and variables).

• each instance has a persistent state (outputs and internal variables) from one call to the other from a function block or a program.

Examples: timers, counters

64 EIO0000003826.02

Function and Function Block Representation

In the example, Timer_ON is an instance of the function block TON :

Modbus TCP

How to Use a Function or a Function Block in IL Language

General Information

This part explains how to implement a function and a function block in IL language.

Functions IsFirstMastCycle and SetRTCDrift and Function Block TON are used as examples to show implementations.

Using a Function in IL Language

2

3

4

Step

1

5

6

This procedure describes how to insert a function in IL language:

Action

Open or create a new POU in Instruction List language.

NOTE: The procedure to create a POU is not detailed here. For more information, refer to Adding and Calling POUs (see

EcoStruxure Machine Expert, Programming Guide).

Create the variables that the function requires.

If the function has 1 or more inputs, start loading the first input using LD instruction.

Insert a new line below and:

• type the name of the function in the operator column (left field), or

• use the Input Assistant to select the function (select Insert Box in the context menu).

If the function has more than 1 input and when Input Assistant is used, the necessary number of lines is automatically created with ???

in the fields on the right. Replace the ???

with the appropriate value or variable that corresponds to the order of inputs.

Insert a new line to store the result of the function into the appropriate variable: type ST instruction in the operator column (left field) and the variable name in the field on the right.

To illustrate the procedure, consider the Functions IsFirstMastCycle (without input parameter) and SetRTCDrift (with input parameters) graphically presented below:

EIO0000003826.02

65

Modbus TCP

Function without input parameter:

IsFirstMastCycle

Graphical Representation with input parameters:

SetRTCDrift

Function and Function Block Representation

Function

IL example of a function without input parameter:

IsFirstMastCycle

In IL language, the function name is used directly in the operator column:

Representation in POU IL Editor

IL example of a function with input parameters:

SetRTCDrift

Using a Function Block in IL Language

This procedure describes how to insert a function block in IL language:

Step

1

2

Action

Open or create a new POU in Instruction List language.

NOTE: The procedure to create a POU is not detailed here. For more information, refer to Adding and Calling POUs (see

EcoStruxure Machine Expert, Programming Guide).

Create the variables that the function block requires, including the instance name.

66 EIO0000003826.02

Function and Function Block Representation

Modbus TCP

4

5

Step

3

Action

Function Blocks are called using a CAL instruction:

• Use the Input Assistant to select the FB (right-click and select Insert Box in the context menu).

• Automatically, the CAL instruction and the necessary I/O are created.

Each parameter (I/O) is an instruction:

• Values to inputs are set by " := ".

• Values to outputs are set by " => ".

In the CAL right-side field, replace ???

with the instance name.

Replace other ???

with an appropriate variable or immediate value.

Function

Block

TON

Graphical Representation

To illustrate the procedure, consider this example with the TON Function Block graphically presented below:

In IL language, the function block name is used directly in the operator column:

Function

Block

TON

Representation in POU IL Editor

How to Use a Function or a Function Block in ST

Language

General Information

This part explains how to implement a Function and a Function Block in ST language.

Function SetRTCDrift and Function Block TON are used as examples to show implementations.

EIO0000003826.02

67

Modbus TCP

Using a Function in ST Language

2

3

Step

1

Function and Function Block Representation

This procedure describes how to insert a function in ST language:

Action

Open or create a new POU in Structured Text language.

NOTE: The procedure to create a POU is not detailed here. For more information, refer to Adding and Calling POUs

(see EcoStruxure Machine Expert, Programming Guide).

Create the variables that the function requires.

Use the general syntax in the POU ST Editor for the ST language of a function. The general syntax is:

FunctionResult:= FunctionName(VarInput1, VarInput2,.. VarInputx);

Function

SetRTCDrift

To illustrate the procedure, consider the function SetRTCDrift graphically presented below:

Graphical Representation

Function

SetRTCDrift

The ST language of this function is the following:

Representation in POU ST Editor

PROGRAM MyProgram_ST

VAR myDrift: SINT(-29..29) := 5; myDay: DAY_OF_WEEK := SUNDAY; myHour: HOUR := 12; myMinute: MINUTE; myRTCAdjust: RTCDRIFT_ERROR;

END_VAR myRTCAdjust:= SetRTCDrift(myDrift, myDay, myHour, myMinute);

Using a Function Block in ST Language

Step

1

2

3

This procedure describes how to insert a function block in ST language:

Action

Open or create a new POU in Structured Text language.

NOTE: The procedure to create a POU is not detailed here. For more information, refer to Adding and Calling POUs (see

EcoStruxure Machine Expert, Programming Guide).

Create the input and output variables and the instance required for the function block:

• Input variables are the input parameters required by the function block

• Output variables receive the value returned by the function block

Use the general syntax in the POU ST Editor for the ST language of a Function Block. The general syntax is:

FunctionBlock_InstanceName(Input1:=VarInput1, Input2:=VarInput2,... Ouput1=>VarOutput1,

Ouput2=>VarOutput2,...);

To illustrate the procedure, consider this example with the TON function block graphically presented below:

68 EIO0000003826.02

Function and Function Block Representation

Graphical Representation Function Block

TON

Function Block

TON

This table shows examples of a function block call in ST language:

Representation in POU ST Editor

Modbus TCP

EIO0000003826.02

69

Glossary

EIO0000003826.02

Modbus TCP

A

ATV:

The model prefix for Altivar drives (for example, ATV312 refers to the Altivar 312 variable speed drive).

B

byte:

A type that is encoded in an 8-bit format, ranging from 00 hex to FF hex.

C

CFC:

( continuous function chart ) A graphical programming language (an extension of the IEC 61131-3 standard) based on the function block diagram language that works like a flowchart. However, no networks are used and free positioning of graphic elements is possible, which allows feedback loops. For each block, the inputs are on the left and the outputs on the right. You can link the block outputs to the inputs of other blocks to create complex expressions.

CIP:

( common industrial protocol ) When a CIP is implemented in a network application layer, it can communicate seamlessly with other CIP-based networks without regard to the protocol. For example, the implementation of CIP in the application layer of an Ethernet TCP/IP network creates an EtherNet/IP environment.

Similarly, CIP in the application layer of a CAN network creates a DeviceNet environment. In that case, devices on the EtherNet/IP network can communicate with devices on the DeviceNet network through CIP bridges or routers.

D

device network:

A network that contains devices connected to a specific communication port of a logic controller. This controller is seen as a master from the devices point of view.

DHCP:

( dynamic host configuration protocol ) An advanced extension of BOOTP. DHCP is more advanced, but both DHCP and BOOTP are common. (DHCP can handle

BOOTP client requests.)

DTM:

( device type manager ) Classified into 2 categories:

• Device DTMs connect to the field device configuration components.

• CommDTMs connect to the software communication components.

The DTM provides a unified structure for accessing device parameters and configuring, operating, and diagnosing the devices. DTMs can range from a simple graphical user interface for setting device parameters to a highly sophisticated application capable of performing complex real-time calculations for diagnosis and maintenance purposes.

E

EDS:

( electronic data sheet ) A file for fieldbus device description that contains, for example, the properties of a device such as parameters and settings.

71

Modbus TCP

72

F

FB:

( function block ) A convenient programming mechanism that consolidates a group of programming instructions to perform a specific and normalized action, such as speed control, interval control, or counting. A function block may comprise configuration data, a set of internal or external operating parameters and usually

1 or more data inputs and outputs.

FDR:

( fast device replacement ) A service supported by the device, that facilitate the replacement of an inoperable equipment.

function block diagram:

One of the 5 languages for logic or control supported by the standard IEC 61131-

3 for control systems. Function block diagram is a graphically oriented programming language. It works with a list of networks where each network contains a graphical structure of boxes and connection lines representing either a logical or arithmetic expression, the call of a function block, a jump, or a return instruction.

H

health bit:

Variable that indicates the communication state of the channels.

health timeout:

Represents the maximal time (in ms) between a request of the Modbus IO scanner and a response of the slave.

I

IL:

( instruction list ) A program written in the language that is composed of a series of text-based instructions executed sequentially by the controller. Each instruction includes a line number, an instruction code, and an operand (refer to IEC 61131-

3).

INT:

( integer ) A whole number encoded in 16 bits.

%IW:

According to the IEC standard, %IW represents an input word register (for example, a language object of type analog IN).

L

LD:

( ladder diagram ) A graphical representation of the instructions of a controller program with symbols for contacts, coils, and blocks in a series of rungs executed sequentially by a controller (refer to IEC 61131-3).

M

MAC address:

( media access control address ) A unique 48-bit number associated with a specific piece of hardware. The MAC address is programmed into each network card or device when it is manufactured.

EIO0000003826.02

EIO0000003826.02

Modbus TCP

O

ODVA:

( open DeviceNet vendors association ) The family of network technologies that are built on CIP (EtherNet/IP, DeviceNet, and CompoNet).

P

post configuration:

( post configuration ) An option that allows to modify some parameters of the application without changing the application. Post configuration parameters are defined in a file that is stored in the controller. They are overloading the configuration parameters of the application.

POU:

( program organization unit ) A variable declaration in source code and a corresponding instruction set. POUs facilitate the modular re-use of software programs, functions, and function blocks. Once declared, POUs are available to one another.

Q

%QW:

According to the IEC standard, %QW represents an output word register (for example, a language object of type analog OUT).

R

repetition rate:

Polling interval of the Modbus request that is sent.

RJ45:

A standard type of 8-pin connector for network cables defined for Ethernet.

S

ST:

( structured text ) A language that includes complex statements and nested instructions (such as iteration loops, conditional executions, or functions). ST is compliant with IEC 61131-3.

U

UL:

( underwriters laboratories ) A US organization for product testing and safety certification.

V

variable:

A memory unit that is addressed and modified by a program.

73

Index

A

Advantys OTB

CONFIGURE_OTB ............................................56

B

bus cycle task

Modbus TCP IOScanner.....................................37

Modbus TCP

IOS_GETDIAGSTATUS.........................................60

get a diagnostic status........................................60

IOS_GETHEALTH.................................................54

getting the health bit value of a channel ...............54

IOS_GETSTATE ...................................................53

getting the state of the Modbus TCP IOScanner ...53

IOS_START..........................................................54

launching the Modbus TCP IOScanner ................54

IOS_STOP ...........................................................55

stopping the Modbus TCP IOScanner..................55

IosStateCodes

Data Types ........................................................58

IP addressing methods ..........................................14

C

CommunicationErrorCodes

Data Types ........................................................58

configuration of Advantys OTB

CONFIGURE_OTB ............................................56

configuration tool...................................................38

configurationOTBErrorCodes

Data Types ........................................................59

CONFIGURE_OTB ...............................................56

sending configuration of the Advantys OTB..........56

M

M251 Web server

protocol manager ...............................................44

Modbus TCP IOScanner

CONFIGURE_OTB ............................................56

IOS_GETHEALTH .............................................54

IOS_GETSTATE ................................................53

IOS_START ......................................................54

IOS_STOP ........................................................55

monitoring through EcoStruxure Machine Expert

protocol manager ...............................................45

D

data exchanges, out of process ..............................38

Data Types

CommunicationErrorCodes.................................58

configurationOTBErrorCodes..............................59

IosStateCodes ...................................................58

DHCP server ........................................................15

O

operating modes

protocol manager ...............................................40

out of process data exchanges ...............................38

E

enables or disables a communication channel

IOS_CONTROLCHANNEL .................................52

P

protocol manager

M251 Web server...............................................44

monitoring through EcoStruxure Machine

Expert .............................................................45

operating modes ................................................40

states................................................................40

troubleshooting ..................................................48

F

FDR service..........................................................14

functions differences between a function and a function

block ...............................................................64

how to use a function or a function block in IL

language .........................................................65

how to use a function or a function block in ST

language .........................................................67

S

states

protocol manager ...............................................40

G

get a diagnostic status

IOS_GETDIAGSTATUS .....................................60

T

troubleshooting

protocol manager ...............................................48

H

health bit

IOS_GETHEALTH .............................................54

I

IOS_CONTROLCHANNEL ....................................52

enables or disables a communication channel......52

EIO0000003826.02

75

Schneider Electric

35 rue Joseph Monier

92500 Rueil Malmaison

France

+ 33 (0) 1 41 29 70 00 www.se.com

As standards, specifications, and design change from time to time, please ask for confirmation of the information given in this publication.

© 2022 Schneider Electric . All rights reserved.

EIO0000003826.02

advertisement

Related manuals

advertisement

Table of contents