Abstract:
In an automated factory environment which uses a plurality of stations, each having a communication device that incorporates the Manufacturing Message Specification (MSS) and is joined with other stations in a network that provides for communication using the Manufacturing Automation Protocol (MAP) communication, a method and apparatus for permitting programmed control of the plurality of stations on the basis of user-defined named variables, rather than specific vendor-defined device addresses is provided. A conversion table that has registered therein a correspondence between the named variable and an address for a specific device is used for control and communication. The table is loaded with appropriate address and named variable information by use of conventional program loading services provided in the MSS standard. The input may be from a remote station, from a management terminal or from a Factory Automation (FA) device.

Description:
This is a continuation of application Ser. No. 07/910,794 filed Jul. 9, 1992, now abandoned. 
    
    
     BACKGROUND OF THE INVENTION 
     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 (&#34;syntax&#34;) and use a common set of messages or &#34;semantics&#34; (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 &#34;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 &#34;at one end&#34; 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 &#34;at the other end&#34; of the network. In conventional MMS terminology, for such communication, station A is the &#34;Client&#34; and requests station B as the &#34;Server&#34; 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 &#34;virtual device&#34; 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., &#34;DATA001,&#34; into the variable conversion table 63 in correspondence with a symbolic address &#34;D1&#34; 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 &#34;DATA002&#34;, 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 &#34;DATA001&#34; 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 &#34;DATA001&#34; into the symbolic address &#34;D1&#34; using the variable conversion table 63, and the VMD 6 accesses the symbolic address &#34;D1&#34; 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. 
     SUMMARY OF THE INVENTION 
     It is accordingly an object of the present invention to overcome the disadvantages in the conventional design by providing a communication device which allows a user-defined named variable for accessing an FA device to be registered by a service ordinarily provided for an other-end station or allows the named variable to be registered locally from the FA device or a management terminal in order to avoid the addition of an application to the other-end station. 
     The first embodiment of the invention achieves a communication device equipped with downloading/uploading means activated by the download service of the MMS protocol for downloading a named variable defined by an other-end station in correspondence with a symbolic address variable specific to an FA device, registering it into a variable conversion table, and uploading to an other-end station the named variable registered into the variable conversion table, whereby the named variable can be registered by a service ordinarily provided for the other-end station and kept stored re-registerable at power-on, offering high practicality. 
     The second embodiment of the invention achieves a communication device equipped with a management terminal for defining a named variable and requesting it to be registered and with managing means for registering the named variable into a variable conversion table in correspondence with a symbolic address variable specific to an FA device and reading to the management terminal the named variable registered into the variable conversion table, whereby the named variable can be registered locally by the operation of the management terminal and kept stored re-registerable at power-on, ensuring high practicality. 
     The third embodiment of the invention achieves a communication device whose VMD is equipped with command processing means for registering a named variable defined by an FA device into a variable conversion table in correspondence with a symbolic address variable specific to the FA device in response to a command input from the FA device and reading to the FA device the named variable registered into the variable conversion table, whereby said named variable can be registered locally and kept stored re-registerable at power-on, providing high practicality. 
     The method of performing the functions of the first, second and third embodiments also is included as features of the invention. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1A is a block diagram outlining the arrangement of a communication device according to the first to third inventions. 
     FIG. 1B is a system block diagram that illustrates the features of a the present invention in a multi-controller environment. 
     FIG. 2 is a flowchart showing the operation of the communication device according to the first invention. 
     FIGS. 3A and 3B are flowcharts showing the operation of the communication device according to the second and third inventions. 
     FIG. 4 is a block diagram of the environment for a local network having two stations that communicate via the MSS protocol and FIG. 4B is a block diagram outlining the arrangement of a communication device in each such station, as known in the art. 
     FIG. 5 is a flowchart showing the operation of the communication device illustrated in FIG. 4B. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     A description of first to third embodiments of the present invention will now be described in reference to FIG. 1A to FIG. 3B, wherein like reference characters designate like or corresponding parts throughout the several views. 
     FIG. 1A is a block diagram illustrating the configuration of a communication device in one station A, which employs a PLC (Programmable Logic Controller) as an example of an FA device and forms part of a local network of a plurality of stations B, C, etc. (not shown) defined to be at an &#34;other end&#34; of the network. Referring to FIG. 1A, the numeral 1A indicates a PLC as an FA device, 2A a MAP interface unit comprising a key component of the communication system, 6A a VMD (Virtual Manufacturing Device) for converting an MMS protocol 5 into a PLC-dedicated protocol and performing a process corresponding to each MMS service, and 9 a management terminal connected to the MAP interface unit 2A. 
     The PLC 1A has stored internally for use by its CPU an Upload Program/Download Program capability, as found in the conventional PLC, which is responsive to a command found in all conventional controllers and PLC&#39;s. In the present invention, this common command is used to remotely load the table 63. The identification of the MAP interface as the memory location of the table is accomplished by using an available parameter in the MSS standard. 
     An application 13, i.e., a program that uses the services of MMS in order to perform some job or work, is part of the PLC 1A. Within the MAP interface is a downloading/uploading means 64, representing programming and related hardware, for uploading to an other-end station a defined named variable that had been registered in a variable conversion table 63 and for downloading a named variable from an other-end station as an MMS service. A command processing means 65 also is provided for processing a command for defining a named variable that is input from the PLC 1A via a PLC-dedicated bus 4. Finally, a managing means 66 is provided for changing the variable conversion table locally. 
     The first embodiment of the invention defines a named variable by means of the Downloading/Uploading service ordinarily provided for the other-end station to transfer and load the domain content information from the MMS Client to the MMS Server. The service is applied by a station to register (store) the named variable in the variable conversion table 63 at the same station. In order to accomplish this function, the other-end station (not shown) is provided with a domain-type area in the List Of Capability attribute of an Initiate Download Sequence service. In the domain-type area, downloading is started in order to download the contents of the variable conversion table equipped for the other-end station; for example, the parameter &#34;VARTABLE&#34; is used to point to the MAP interface unit 2A serving as the communication device. A Download Segment service then causes the contents of the variable conversion table equipped for the other-end station, e.g., the contents of the table making a named variable &#34;DATA001&#34; correspond to a symbolic address &#34;D1,&#34; to be downloaded and written to the variable conversion table 63 in the VMD 6A. In summary, using the parameter &#34;VARTABLE&#34; to get access to the table permits the named variable &#34;DATA001&#34; to be defined and registered as corresponding to the symbolic address &#34;D1&#34;. 
     Every time a change is made to the contents of the variable conversion table 63 at the one station, the contents are uploaded to the variable conversion table of the other-end station where the defined named variables are stored. Since this storage is maintained irregardless of the operating condition of the one station, they may be downloaded to that station from the other end station when a power OFF condition is encountered and the power is switched on again. That is, the defined named variables can be kept stored even if the MAP interface unit 2A acting as the communication device does not include a storage device backed up by a battery, etc. 
     In the second embodiment of the invention, an application is used to activate the managing means 66 from the management terminal 9 via the local manager 8. The management terminal has a storage capability which permits registering of named variables. With this arrangement, the managing means 66 is made to register a named variable (e.g., DATA001) into the variable conversion table 63 in correspondence with a symbolic address &#34;D1&#34; and to write the registered named variable, if changed, to the management terminal 9. When a power outage condition is encountered and the power is switched on again, the defined named variables are kept stored since all the registered named variables are re-registered from the management terminal 9. 
     The third embodiment of the invention causes an application to register a named variable from the FA device 1A via the command processing means 65 into the variable conversion table 63 in correspondence with a symbolic address &#34;D1&#34; and to write the registered named variable, if changed, to the FA device 1A. When a power outage condition is encountered and the power is switched on again, the defined named variable is kept stored since all the registered named variables are re-registered from the FA device 1A. 
     FIG. 2 is a flowchart indicating the operation of the MAP interface unit 2A as the communication device shown in FIG. 1A. The flowchart illustrates the method by which a named variable is defined and is registered from the other-end station (not shown). The operation of the MAP interface unit 2A will now be described in accordance with FIG. 2. 
     First, it is assumed that the other-end station (not shown) has a domain-type area within the List Of Capability of the Initiate Download Sequence service. Second, it is assumed that the service may be requested as a parameter, for example &#34;VARTABLE&#34;, in this domain type area in Step 101 in FIG. 2. As a result, the downloading/uploading means 64 causes the contents of the table included in the other-end station, e.g., data having made the named variable &#34;DATA001&#34; correspond to the symbolic address &#34;D1,&#34; to be downloaded from the other-end station according to the Download Segment service in Step 102. Further, the downloaded contents of the table included in other-end station are then registered into the variable conversion table 63 of the one station, in Step 103. 
     In Step 104, when a named variable &#34;DATA001&#34; access request is then given from the other-end station, the variable accessing means 62 in the VMD 6A converts the named variable into the symbolic address variable &#34;D1&#34; that is specific to the FA device 1A employing the variable conversion table 63. Moreover, the VMD 6A can access the PLC 1A via the PLC driver 7. 
     Every time a change is made to the registered contents of the variable conversion table 63, all the registered contents of the variable conversion table 63 are uploaded to the other-end station by the downloading/uploading means 64 in Step 105. Further, the uploaded contents are downloaded to the variable conversion table 63 from the other-end station whenever a power outage condition is encountered and the power is switched on again, in Step 106, thereby keeping the defined named variables stored. 
     FIGS. 3A and 3B also are flowcharts indicating the operation of the MAP interface unit 2A as the communication device shown in FIG. 1A, for the second and third embodiments. FIG. 3A and FIG. 3B describe how a named variable is defined, registered and kept stored from the management terminal 9 and FA device 1A, respectively. The operation of the MAP interface unit 2A will now be described in reference to FIG. 3A and FIG. 3B. 
     In FIG. 3A, when the application causes the management terminal 9 to request the local manager 8 to register the named variable &#34;DATA001&#34; in Step 111, the local manager 8 activates the managing means 66 in the VMD 6A, and the managing means 66 registers &#34;DATA0001&#34; into the variable conversion table 63 in correspondence with the symbolic address variable &#34;D1&#34; in Step 112. When the other-end station then gives a &#34;DATA001&#34; access request in Step 113, the variable accessing means 62 in the VMD 6A converts the named variable into &#34;D1&#34; according to the variable conversion table 63 and the VMD 6A accesses the PLC 1A via the PLC driver 7. 
     Further, every time a change is made to the contents of the variable conversion table 63, the managing means 66 and local manager 8 writes all the contents of the variable conversion table 63 to the management terminal 9 and store them there in Step 114. Therefore, following a power outage condition, when the power is switched on again, the application re-registers all the registered named variables in Step 115. That is, if any change is made to the contents of the variable conversion table 63 including those defined and registered by the Define Named Variable/Delete Named Variable means 61, etc., all the contents can be written to the management terminal 9 and stored into storage (not shown) at the management terminal 9. In this manner, the named variables defined are always kept stored. 
     Referring now to FIG. 3B, when the application 13 causes the PLC 1A to request the command processing means 65 in the VMD 6A to register the named variable &#34;DATA001&#34; in Step 121, the command processing means 65 registers &#34;DATA0001&#34; into the variable conversion table 63 in correspondence with the symbolic address variable &#34;D1&#34; in Step 122. When the other-end station then gives a &#34;DATA001&#34; access request in Step 123, the variable accessing means 62 in the VMD 6A converts the named variable into &#34;D1&#34; according to the variable conversion table 63 and the VMD 6A accesses the PLC 1A via the PLC driver 7. 
     Further, every time a change is made to the contents of the variable conversion table 63, the command processing means 65 writes all the contents of the variable conversion table 63 to the PLC 1A via the PLC driver 7 and computer interface 13 in Step 124, and after a power outage condition, when the power is switched on again, the application 13 re-registers all the registered named variables from the PLC 1A in Step 125. Namely, if any change is made to the contents of the variable conversion table 63 including those defined and registered by the Define Named Variable/Delete Named Variable means 61, etc., all the contents can be read to the PLC 1A and stored into storing means (not shown) provided for the PLC 1A. In this way, the named variables defined are kept stored. 
     It will be appreciated that the PLC employed as the FA device in this embodiment may be a numerical control unit, robot or other FA device. 
     In FIG. 1B, Define Named Variable/Delete Named Variable processing means 61 is seen in VMD 6A of the MAP interface unit 2A of the present invention. If a program for Define Named Variable/Delete Named Variable is implemented in one controller (e.g., in case of controller #2) but it is not implemented for the other controller (e.g., controller #1) as is usually the case, the one program can be used to define Named Variables in the MAP interface unit 2A of the PLC 1A, in accordance with the present invention. 
     If a program for Define Named Variable/Delete Named Variable is not implemented and a program for Download/Upload is implemented in a controller (in the case of controller #1, Download/Upload is usually implemented for many controllers), the one program may be used to define Named Variables in the MAP interface unit 2A of the PLC 1A. 
     In accordance with the present invention, the means of VMD 6A, such as the Define Named Variable/Delete Named Variable processing means 61, the Download/Upload processing means 64, the command processing means 65 and the manager processing means 66 can be used selectively by different controllers, PLC applications and Management terminals. 
     The entire disclosure of each and every foreign patent application from which the benefit of foreign priority has been claimed in the present application is incorporated herein by reference, as if fully set forth. 
     Although this invention has been described in at least one preferred form with a certain degree of particularity, it is to be understood that the present disclosure of the preferred embodiment has been made only by way of example and that numerous changes in the details and arrangement of components may be made without departing from the spirit and scope of the invention as hereinafter claimed.