t308-14 mms communication - revc

Download T308-14 MMS Communication - RevC

If you can't read please download the document

Upload: sina20795

Post on 16-Apr-2017

225 views

Category:

Documents


7 download

TRANSCRIPT

  • System 800xA Training

    Chapter 14 1

    Chapter 14 MMS Communication

    TABLE OF CONTENTS Chapter 14 MMS Communication .......................................................................................................................................... 1

    14.1 General Information ................................................................................................................................................... 2 14.1.1 Objectives............................................................................................................................................................ 2 14.1.2 Legend................................................................................................................................................................. 2 14.1.3 Reference Documentation .................................................................................................................................... 2

    14.2 MMS Communication between Applications .............................................................................................................. 3 14.2.1 General ................................................................................................................................................................ 3 14.2.2 MMS Communication Principle ........................................................................................................................... 3 14.2.3 Access Variables.................................................................................................................................................. 4 14.2.4 MMS Variable Naming Rules .............................................................................................................................. 5 14.2.5 Variable Attributes............................................................................................................................................... 5 14.2.6 Reading Data from an Access Variable................................................................................................................. 6 14.2.7 Signal Tracing...................................................................................................................................................... 7 14.2.8 Other Function Blocks in the MMS CommLib...................................................................................................... 9

    14.3 Troubleshooting ........................................................................................................................................................10 14.3.1 Introduction ........................................................................................................................................................10 14.3.2 Status Parameter .................................................................................................................................................10 14.3.3 Remote System Information ................................................................................................................................12 14.3.4 Hardware LED indicators....................................................................................................................................12

  • T308-14 MMS Communication - RevC

    Chapter 14 2

    14.1 General Information

    14.1.1 Objectives

    On completion of this chapter you will be able to:

    Describe the principle of MMS communication

    Analyze the signal flow on access variables

    Identify the communication status

    14.1.2 Legend

    > Indicates when you go from one menu to a sub-menu

    Italic Indicates object and file names

    Indicates dialog box buttons, tabs, menus etc.

    Bold Indicates important topics

    Indicates start/explanation of student activity

    14.1.3 Reference Documentation

    3BSE035983 Industrial IT 800xA - Control and I/O Communication OPC Server for AC800M Configuration

    3BSE035980 Industrial IT 800xA - Control and I/O Basic Control Software Introduction and Configuration

    3BSE035982 Industrial IT 800xA - Control and I/O Communication Protocols and Design

  • System 800xA Training

    Chapter 14 3

    14.2 MMS Communication between Applications

    14.2.1 General

    MMS stands for Manufacturing Message Specification. It is the protocol used to communicate on the control network between AC 800M applications and also to the Connectivity Server for the 800xA System.

    MMS supports transfer of simple and structured variables, program download and alarm handling. MMS is also used to define and make data available as access variables.

    Generally the MMS communication between AC 800M controllers should be limited if possible because it will use the controllers CPU capacity.

    14.2.2 MMS Communication Principle

    MMS communication handles communication between applications within one AC 800M controller and between applications allocated to two controllers.

    The applications may exist in the same controller:

    Controller

    Application 1 Application 2

    Or in different controllers on the control network:

    Controller 1

    Application 1

    Controller 1

    Application 1

    Controller 2

    Application 2

    Controller 2

    Application 2

    Remember that in Control Builder Professional one application does not necessarily correspond to one controller. It is possible to execute two applications within the same controller. Even in this case though, we need to use MMS communication with access variables if we want exchange data between the two applications.

    NOTE! Applications should be designed so that the data passed between them is minimized. The MMS communication should be limited and not be used for a lot of data.

    For example: dont write an application in one controller and use the I/Os of another controller for this application.

  • T308-14 MMS Communication - RevC

    Chapter 14 4

    14.2.3 Access Variables

    For communication between two applications, access variables are defined. An access variable is a variable that is shared on the network. By sharing a local (or global) variable as an access variable, it is accessible by any system on the network, as long as the two systems in question share a common protocol, such as MMS, COMLI etc.

    Access variables are defined in the controller hardware part of the Project Explorer. The variable may be of any type and this means that it might be a simple variable or else a complex (structured data type).

    One or more access variables are defined in a particular controller. Such variables are mapped into variables existing in the applications running in that controller. This mapping is done in the Access Variable Editor.

    Controller

    Application

    Variable

    Access Variable

    Path to Variable

    Variable Name is a string

    Path maps a variable in the application to the Access Variable

    Controller

    Application

    Variable

    Access Variable

    Path to Variable

    Variable Name is a string

    Path maps a variable in the application to the Access Variable

    The variable in the application which is mapped can be any variable existing anywhere in the whole application:

    Variable in a program or control module

    Variable (global or local) in the application

  • System 800xA Training

    Chapter 14 5

    14.2.4 MMS Variable Naming Rules

    MMS variables can only be accessed by their name which is a string. The naming rules are defined in MMS rather than as part of Control Builder, therefore there are some differences in these rules compared to the standard naming rules for variables in programs etc.

    An MMS access variable name can be up to 32 characters long and contain letters, digits and the characters dollar ($) and underscore( _ ).

    No spaces are permitted in the name of an MMS variable

    MMS variable names are case sensitive, i.e. TANK4 is not the same variable as tank4.

    The access variable name cannot begin with a digit or the dollar ($) character.

    The access variable may be mapped to any type of simple variable or (more importantly) to any type of structured variable.

    A structured variable can have mixed data type components

    14.2.5 Variable Attributes

    By default access variables are Read/Write. If you want to make the variable Read Only then set the attribute in the access variable table to ReadOnly.

    If the attribute field is left blank then the variable will be Read and Write.

  • T308-14 MMS Communication - RevC

    Chapter 14 6

    14.2.6 Reading Data from an Access Variable

    Access variables are declared in the controller that acts as a server. The access variable is a reference to a variable in an application.

    The client application has to be configured with at least one Connect function block and one Read or Write function block addressing the access variable.

    In the above diagram an access variable has been defined and mapped to a variable in the application called Application1.

    Now the objective is to read the values stored in it from Application2. This is done with function blocks instances placed in a program in Application2.

    A minimum of two function blocks are required.

    Connect function block The purpose of this function block is to make the connection to the controller which holds the access variable (referred to as the Remote System or Partner)

    Read function block The Read function block reads the values of the access variable in the remote controller and transfers them into a local variable (Control Builder variable) in the application that is reading (Application2 above)

    NOTE! When using Function Designer, the access variables and the MMS communication are generated automatically!

  • System 800xA Training

    Chapter 14 7

    14.2.7 Signal Tracing

    The access variable ProductData refers to the variable gMyProduct which is in our case a global variable.

    The data type MMSData should be defined in a project library which is connected to both applications, so that each application can declare a variable of this type. The original variable (in Application1) must have the same structure as the final variable (in Application2) so that the data matches component for component.

    The data type is structured to contain any combination of variables of any type. The choice of structure depends on the data to be made available.

    Access Variable

    If the values in the components of the variable gMyProduct change, then the values in the components of the access variable called ProductData will also change.

  • T308-14 MMS Communication - RevC

    Chapter 14 8

    The corresponding application program reads the value on a cyclic basis.

    Server Address

    Variable Name

    Variable Data

    In online mode, the En_C must be true for communication to be enabled. The value of the Valid output will be true if communication is working properly.

    MMSConnect

    The Connection_ID variable is connected between the Connect and the ReadCyc Function Block. It passes signals which co-ordinate the activity of the two.

    The MMSConnect needs to know which controller to connect to. This information is provided by the parameter Partner, which in this example is connected to the variable RemoteSystem. The variable is always a string data type, and it has an initial value equal to the IP address of the controller where the access variable required has been defined.

    MMSReadCyc

    The parameter VarName, which in this example is connected to a variable called RemoteName, is a string data type with an initial value equal to the name of the access variable defined at the remote controller.

    NOTE! MMS variable names are case sensitive

    The RemoteData variable is the local variable in this program into which the remote data will be placed.

    MMSReadCyc has expandable parameters, such that the number of input/output parameters is variable and must be specified. Changing the value within the brackets means that several Access variables can be read using only one Function Block.

  • System 800xA Training

    Chapter 14 9

    14.2.8 Other Function Blocks in the MMS CommLib

    MMSRead

    This module performs an event driven read of an access variable from the remote system. This allows a programmer to trigger a read operation from code. It is connected in a similar way to the MMSReadCyc.

    MMSWrite

    This module writes values into an access variable at a remote system. It is event driven on the rising edge of the Req parameter.

    Note that if the Access variable at the remote system has been given the attribute ReadOnly, this module will fail!

    MMSWriteDT

    This module writes a Date and Time an AccessVariable in the remote system. The Access variable should be linked to a single Date_And_Time type variable. Note that this block does not write to the actual system time in the remote system. If you wish to do that, then additional code is required at the destination system.

    MMSDefAccVar

    This module allows the definition of an access variable from application code. In many circumstances you wish to create access variables in a controller at run time.

    SIL2 certified Function Blocks

    For SIL2 certification, greater reliability is required, none of the above function block types are suitable for SIL2 applications.

    A range of SIL2 function block types are defined in the MMSCommLib which are suitable. These are:

  • T308-14 MMS Communication - RevC

    Chapter 14 10

    14.3 Troubleshooting

    14.3.1 Introduction

    The most common reasons for communication to fail on an access variable exchanged between two controllers are either network communication is bad, or the variables are configured wrong.

    For network problems, tools such as the Ping utility are used for confirming that the two controllers can reach each other.

    For configuration problems, review the material presented earlier in this lesson. One problem that can occur is that someone can configure another access variable with a duplicate name. This is one reason to ask whether the communication worked previously and whether any configuration work may have been done recently.

    The principle for trouble shooting MMS communication problems is first to use the following tools to diagnose what the problems are, then to check all the MMS communication related configurations (both hardware & software) to fix them.

    14.3.2 Status Parameter

    The Status parameter from both MMSConnect and MMSRead (or any other MMS-block) can be used to get a status indication from the communication between the controllers.

    Use the on-line editor to read the status-code and then look up the meaning of this code in the on-line help (Index > Status codes).

    Communication codes starts at -400

    CommunicationLib codes starts at -5300

    If the Status output of MMSConnect produces a negative value, the connection between the two controllers is not working properly. Note that the partner address cannot be changed online. Status code Explanation 0 (pending) Remote system can not be found

    1 Connection OK

    -412 Connection aborted, probably because the remote address was not responding. Check the address.

    -5326 Partner address was changed online. Go offline to change the address. Make a new download.

  • System 800xA Training

    Chapter 14 11

    If the Status output of MMSRead/MMSWrite gives a negative value, while the connection is OK, there is an error in the configuration of the access variable. The table shows some common values for the Status parameter. Status code Explanation 0 Operation is pending

    1 Last operation was successful

    -432, -461 Access variable cannot be found in the remote controller. Check the spelling etc.

    -5324 No connection, i.e. the Valid parameter of MMSConnect is False. Check the Status of the MMSConnect.

    The online help gives you more information about status codes. Below you will see some more status codes from the MMS Function Blocks.

  • T308-14 MMS Communication - RevC

    Chapter 14 12

    14.3.3 Remote System Information

    A connected remote control system can be inspected and maintained from Control Builder. Access the remote system by making a right click on the controller and then selecting Remote System in the context menu.

    A new window appears where you can diagnose the communication.

    Show MMS Connections: Shows a list of all systems that have active MMS sessions. The list includes control systems and PCs running Control Builder, OPC server or Soft Controller, connected to the same network as the requesting system. If a system does not show up here, the MMS process is interrupted. For a control system the reason could be a loss of hardware or an invalid IP address. Proceed by sending a PING message to the controller to check the IP protocol.

    14.3.4 Hardware LED indicators

    All hardware units used for communication have LEDs that display the traffic on the corresponding communication channel. Use them to get information if traffic is active or not present.