1. Field of the Invention
The present invention relates to a communication device incorporating the MAP (Manufacturing Automation Protocol), an international standard communication protocol that has been defined in ISO Standard ISO/DIS 9506-1, which is useable in a factory automation (FA) environment.
2. Description of the Background Art
In an automated factory, a variety of devices are employed in the manufacturing operation and the devices are joined through a local communication network into a factory system. Since certain devices may be more suitable than others to perform desired manufacturing operations, often the devices used in the factory system will be manufactured by different vendors. Accordingly, each such FA device, whether a factory computer, robot, numerical control (NC) machine, programmable logic controller (PLC), process control equipment, or the like, will have a different type of microprocessor, use different computer languages and execute customized programs. It is desirable that the internal processing and operation of each device should have little effect on the way the devices interact in the factory system and, in particular, how they communicate with each other. In order to provide a common basis for communication, all of the devices in the system must use a common message structure ("syntax") and use a common set of messages or "semantics" (i.e., the naming of and access to remote variables, program loading, job management, error reporting and the like).
The Manufacturing Message Specification (MMS) has been adopted as an international standard that permits programs to be written for a variety of factory system devices on the basis of common semantics and syntax. The MMS is specified in two parts comprising the message services (semantics) and the protocol (syntax). The message services are grouped into functional units that relate to the kinds of functions that are performed when an application (a program that performs some desired job) at one user location interacts with the local communication network for purposes of communicating with a user at another (remote) location. A total of 86 message services may be grouped according to the functions of context management (e.g., Initiate, Conclude, Abort, Reject, Cancel), remote variable services (e.g., Read-data, Write, Define Named Variable, etc.), program services (Initiate Download Sequence for a program, Load Domain Content, etc.), diagnostics (Status, etc.), operator communication (Input and Output), coordination between applications (Define Semaphore, etc.), file services (File Open, File Read, etc.), event management (Define Event Condition, etc.), journal management (Read Journal, Write Journal, etc.) and job management/device control (e.g., Start-robot movement, Stop, Resume, etc.). A detailed description of the MMS standard appears in "MMS Tutorial by John R. Tomlinson, System Integration Specialists Company, Inc. (1987).
FIG. 4A is a block diagram illustrating the connection of two stations, each having corresponding applications and being interconnected by a local communication network, as they would appear in an automated factory environment. The application in station A "at one end" of the network communicates, via a MMS provider (shown as MMS), a logic link controller (LLC), a media access controller (MAC) and a modem at each station that is connected to a local network, with the application in station B "at the other end" of the network. In conventional MMS terminology, for such communication, station A is the "Client" and requests station B as the "Server" to perform some application specific operation; the Server responds with information resulting from the operation as it is performed. Typically, the Client is a controller station and the Server is a FA device.
FIG. 4B is a block diagram illustrating the arrangement of a conventional communication device employing a PLC (Programmable Logic Controller) 1 as an example of an FA (Factory Automation) device. Ordinarily, the PLC has limited storage capability and relies on outside storage media (e.g., disk storage) to store pertinent programming and variables. Reliance on outside storage media has the disadvantage that when a power failure or OFF condition is encountered by the PLC, the relationship between the PLC and its external storage media must be redefined at power ON.
In FIG. 4B, the numeral 2 indicates a MAP interface unit, serving as a communication device and being connected between a MAP network 3 and the PLC 1 via a PLC-dedicated bus 4. The MAP interface 2 comprises an MMS protocol 5 whose communication object is a named variable, rather than an address. A PLC driver 7 for accessing the PLC 1, and a local manager 8 for carrying out management functions also are found in the MAP interface unit 2.
Finally, interface 2 includes a VMD (Virtual Manufacturing Device) 6 for converting the MMS protocol 5 into a protocol reflecting the resources and functionality of the real FA device, e.g., PLC 1 in the preferred embodiment, and performing a process corresponding to each MMS service. The VMD, as an abstract representation of a Server showing its external behavior, comprises four conventional abstract elements including Executive function, Capabilities, Program Invocations and Domains. The latter are dynamic in nature and come into existence and are removed from the system either by MMS Services or by local action. The Domains comprise instructions and/or data which is dedicated to specific resources, such as the portion of the machine or robot that is controlled. Services are provided for a Client to manipulate Domains that are defined at the MMS Server, such as the Initiate Download Sequence and Upload Segment services.
In the standard MMS specification, the Domain management services comprise a Domain Object attribute, which specifies a VMD Object-specific name or Domain Name to uniquely identify the Domain within the VMD, and a List Of Capability attribute, which is a list of implementation specific parameters necessary to partition the resources of the VMD.
The PLC 1 is equipped with a computer interface 11. PLC 1 includes a symbolic address variable registration section 12, and is connected to the MAP network 3 via the dedicated bus 4 and MAP interface unit 2. A controller and multiple FA devices, each representing a different station, may be connected to the MAP network 3 for communication therebetween.
The VMD 6, as a "virtual device" that serves as an abstract model of the MMS server application, provides a consistent basis for defining the MMS services for all devices. In the present case, VMD 6 models the externally visible behavior of the PLC 1 and comprises applications that provide several MMS services and are represented as units, including Define Named Variable/Delete Named Variable means 61 for defining and deleting a named variable convertibly into a symbolic address variable specific to the PLC 1. Also included in VMD 6 is named variable accessing means 62 and a variable conversion table 63 wherein a named variable is registered (stored) in correspondence with a symbolic address variable specific to the FA device.
FIG. 5 is a flowchart showing the operation of the MAP interface unit 2 acting as the communication device known in the art. The operation of the MAP interface unit 2 will now be described in reference to FIG. 5.
Referring to FIG. 5, when a request for a Define Named Variable service is received from a station B at the other end (not shown) that is connected to the MAP network 3 in Step 201, the MMS protocol 5 activates the Define Named Variable/Delete Named Variable means 61 in the VMD 6 in Step 202. As a result, for example, the Define Named Variable/Delete Named Variable means 61 may register a named variable, e.g., "DATA001," into the variable conversion table 63 in correspondence with a symbolic address "D1" according to the request of the other-end station B in Step 203. The named variable is related to a particular FA device, e.g., robot 1, as contrasted to robot 2 which may be represented by named variable "DATA002", and each FA device may be made by any of several vendors. Accordingly, the named variable is identified as having a relationship to a symbolic address, which ordinarily is vendor specific, e.g., Mitsubishi Electric Company of Japan has the standard address D1 and other unique standard addresses are assigned to other vendors. If the request is for a Delete Named Variable service, a corresponding named variable is deleted from the variable conversion table 63.
When a request for a variable access service to the named variable "DATA001" is then received from the other-end station B in Step 204, the MMS protocol 5 activates the named variable accessing means 62 in the VMD 6 in Step 205, the named variable accessing means 62 converts the named variable "DATA001" into the symbolic address "D1" using the variable conversion table 63, and the VMD 6 accesses the symbolic address "D1" of the PLC 1 via the PLC driver 7 in Step 206. By using the table 63 which defines a named variable (e.g., DATA001) to be a vendor specific address (e.g., D1) programming is simplified and is useable for any of several devices from different vendors, since only a data call that is generic to the FA device at a given location (i.e., using DATA001) is used in the program to identify a desired operation, rather than a particular vendor address.
Since the named variable is defined in a procedure as shown in Steps 201 to 203, i.e., when a request for the Define Named Variable service is received from the other-end station B (not shown), the MMS protocol 5 activates the Define Named Variable/Delete Named Variable means 61 in the VMD 6 to cause the Define Named Variable/Delete Named Variable means 61 to register the named variable into the variable conversion table 63 in response to the request of the other-end station B, registration cannot be made from other than the other-end station B. Accordingly, an application concerning a named variable to be registered for the other-end station B must be added for registration.
Several other problems also are encountered in the conventional system design. For example, while a total of 86 services are set forth in the MMS, services which historically experience a low request level may not be provided. In fact, the actually provided services often comprise only about half of the total available services, due to the limited memory capacity in the PLC. For example, the other-end station B often is not provided with the Define Named Variable service or with the Delete Named Variable service. In the absence of these services, the table 63 cannot be utilized effectively, particularly when a power outage or OFF condition is encountered.
Moreover, the known communication device arranged as described above does not allow a user-defined named variable for accessing an FA device to be registered from other than the other-end station. This requires an application for registering the named variable to be added to the other-end station for the purpose of registration.