Computer Communication

Modern production systems need computer communication. 5

Automation requires computer communication within and between the levels.

Computer control and communication increases

·      Availability – idle times can be cut

·      Flexibility – setup times smaller

·      Safety – database stores state information

In order for “everyone to communicate with everyone” standards are required.

General standard for computer communication – OSI

Specific standard for communication in manufacturing systems – MAP

Standardized protocol and services for manufacturing systems – MMS

Open Systems Interconnection – OSI

OSI is an ISO standard that proposes a model to describe the different functions involved in a communication. This model identifies seven levels of functionality, layers, as shown below. These layers can be classified into two groups:

1.      Transfer layers (layers 1-4) that deal with the problem of transferring a raw message (a sequence of bits) from one machine to another, whatever its location in the world and the problems that can affect this transfer. The network layer, for example, is responsible for routing messages between sub-networks of the whole network. The transport layer, on the other hand, is responsible for detecting errors and recovering from these, if possible.

2.      The application-oriented layers are concerned with providing the expected service to the user program and are not concerned with transfer problems. The session layer provides synchronization mechanisms between communicating partners. The presentation layer deals with data representation problems, hiding the differences in data format and preserving the meaning of data.

Figure 47. The layers of and the communication paths in the OSI reference model.

The respective layer of a computer uses the underlying levels to logically communicate with the corresponding layer on the other computer.

Physical layer – electrical, mechanical and functional interface between two nodes. Codes and sends bits on the physical net.

Data link layer – creates and recognizes data-packets. Sends and resends data-packets, detects and corrects transmission failures.

Network layer – determines the logical transmission path, administers physical addresses, controls congestion in the sub-nets by restricting the number of concurrent data-packets.

Transport layer – achieves a reliable communication between sender and receiver (as opposed to the layers below it that communicates computer to computer). Makes sure that the data-packets arrive in correct sequence. Hides impementational details of the nets physical layout.

Session layer – Provides operating system like functionality. Establishes sessions (logical connections) between users. Manages tokens and synchronization (when necessary).

Presentation layer – Performs necessary translations for the applications to speak the same language, ASCII to and from EBCDIC, encryption, compression, etc.

Application layer – deals with application system management tasks, such as, file transfer, distributed database operations and remote control.

OSI defines a way to represent the solution to the computer communication problem. OSI does not specify the implementation of the functionality of the respective layers. The boxes are empty, other standards are meant to fill in the boxes. MAP is one standard that does this specifically targeted at communication in manufacturing systems.

Manufacturing Automation Protocol – MAP

MAP is a standard developed by General Motors in the early 80s. The challenge they faced was interconnecting their whole production system, roughly 20 000 computers.

MAP uses the OSI model and fills in the various layers with specific implementations.

One of the most important aspects of communication in manufacturing systems was (at the time) to be able to determine upper bounds on the communication delays. This lead GM to specify the Token Bus access method for the Data link layer (layer 2). A token is sent from unit to unit, and the unit owning the token may transmit data. After it has transmitted the data, the token is passed on. The line is, thus, always free and there are no collisions.

Figure 48. Token passing.

In practice, today virtually all implementations use the carrier sense multiple access with collision detection CSMA/CD access method. This is used in Ethernet. When a station wants to transmit it listens to the channel. If the cable is busy, the station waits until the channel goes silent; otherwise it transmits immediately. If two or more stations simultaneously begin transmitting on an idle channel, they will collide. All colliding stations then terminate their transmission, wait for a random time, and repeat the whole process again. See below.

Figure 49.  Sensing and detecting collisions.

Manufacturing Message Specification – MMS

In the application layer MAP specifies the manufacturing message specification (MMS) protocol, among others. MMS is an object-oriented application language for automation. The idea behind MMS is all devices should be describable by the same (or similar) model. This model specifies a number of services it can perform. Thus, it should be possible to communicate with different industrial devices without knowing their exact type. The devices behave towards each other and towards a controller as virtual manufacturing devices VMDs.

The communication is performed through the “client-server” principle. Each VMD can be both client and server, though not simultaneously.

MMS defines four core objects, the VMD, the Domain, the Program Invocation and MMS variables.

The VMD

is a generic model for any equipment of the plant,
is an abstraction of a real production resource,
hides implementation details, differences between types of units,
describes the server contra each MMS client,
contains MMS core objects (not VMDs) representing physical/logical unit resources,
has a state that represents the physical state on a high abstraction level.

represents a subset of the (physical and logical) resources of a manufacturing device,
is the main structuring component of the VMD,
can contain other core objects (except VMDs),
can be static or dynamic, predefined or locally created
can be up- and downloaded between the client and the server,
up- and download can be initiated by either the client or by the server,
can be visible as well as invisible,
has a state which can be queried.

A Program invocation (PI)

connects a program domain to one (or more) parameter domains,
is always coupled to at least one domain,
can be created, started, stopped, restarted, killed and removed,
may be predefined or created locally as well as by a request,
binds subprograms to an executable program,
has a state which can be queried.

MMS variables

can be named, unnamed or scattered,
are not variables in the ordinary sense, rather means to get at the real variable values,
can be read and written (ReadVariable, WriteVariable),
are typed, such as Boolean, Bit String, Integer as well as arrays and structures.

The figure below illustrates the essence of the MMS object modeling approach. The idea is to define device- and application-independent objects that are sufficiently abstract to hide implementational details. The figure displays two planes; in the background, the plane containing real objects existing in a manufacturing device. These are for example a tool magazine, a tool, a pallet etc. In the foreground is represented the plane of the MMS objects, which are visible from the application programs and are representations of the real objects behind. The user does not access real objects directly but accesses MMS objects. These are sufficiently general to represent nearly all resources of industrial devices.