Communication device for factory automation network

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 (63) 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 (63) 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 (9) or from a FA device (1A).

Description: The present invention relates to a communication device for use in a factory automation system as defined in the preamble of claim 1, a factory automation system comprising a plurality of stations making use of such a communication device according to the preamble of claim 7, and a method of communicating within a factory automation system as defined in the preamble of claim 11. In such a communication device a manufacturing automation protocol is used, preferably of the type of an international standard communication protocol that has been defined in ISO Standard ISO/DIS 9506-1 which is usable in a factory automation or FA-environment. 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, DefineNamedVariable, etc.), program services (InitiateDownloadSequence - for a program, Load-DomainContent, etc.), diagnostics (Status, etc.), operator communication (Input and Output), coordination between applications (DefineSemaphore, etc.), file services (FileOpen, FileRead, etc.), event management (DefineEventCondition, etc.), journal management (ReadJournal, WriteJournal, 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 a 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 1 (Programmable Logic Controller) as an example of an FA device. Ordinarily, the PLC 1 has a 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 1, the relationship between the PLC 1 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 are 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 InitiateDownloadSequence and UploadSegment services. In the standard MMS specification, the Domain management services comprise a DomainObject attribute, which specifies a VMD Object-specific name or Domain Name to uniquely identify the Domain within the VMD, and a ListOfCapability 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 DefineNamedVariable/DeleteNamedVariable means 61 for defining and deleting a named variable convertibly into a symbolic address variable specific to the PLC 1. Also included in the VMD 6 are 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 DefineNamedVariable 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 DefineNamedVariable/DeleteNamedVariable means 61 in the VMD 6 in Step 202. As a result, for example, the DefineNamedVariable/DeleteNamedVariable 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 DeleteNamedVariable 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 DefineNamedVariable service is received from the other-end station B (not shown), the MMS protocol 5 activates the DefineNamedVariable/DeleteNamedVariable means 61 in the VMD 6 to cause the DefineNamedVariable/DeleteNamedVariable 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 otherend 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 DefineNamedVariable service or with the DeleteNamedVariable 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. 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. According to a first aspect of the present invention, the object is solved by a communication device for use in a factory automation system as defined in patent claim 1. Further developments of the communication device are set forth in claims 2 to 6. According to a second aspect of the present invention, a factory automation system comprising a plurality of stations is provided which is defined by the features of claim 7. Further developments of the factory automation system according to the invention are set forth in claims 8 to 10. According to a further aspect of the present invention, a method of communicating within a factory automation system is provided as defined in patent claim 11. Further developments of the method according to the invention are specified in claims 12 to 15. The invention will be described in more detail below with reference to preferred embodiments and the accompanying drawings. Fig. 1A is a block diagram outlining the arrangement of a communication device according to the first to third embodiments of the invention. Fig. 1B is a system block diagram that illustrates the features of the present invention in a multicontroller environment. Fig. 2 is a flowchart showing the operation of the communication device according to the first embodiment. Figs. 3A and 3B are flowcharts showing the operation of the communication device according to the second and third embodiments. Fig. 4A is a block diagram of the environment for a local network having two stations that communicate via the MSS protocol. 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. 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 "other end" 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 UploadProgram/DownloadProgram capability, as found in the conventional PLC, which is responsive to a command found in all conventional controllers and PLC'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 the MMS in order to perform some job or work, is part of the PLC 1A. Within the MAP interface 2A is a downloading/up-loading 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 is also 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 ListOfCapability attribute of an InitiateDownloadSequence 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 "VARTABLE" is used to point to the MAP interface unit 2A serving as the communication device. A DownloadSegment 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 "DATA001" to correspond to a symbolic address "D1" to be downloaded and written to the variable conversion table 63 in the VMD 6A. In summary, using the parameter "VARTABLE" to get access to the table permits the named variable "DATA001" to be defined and registered as corresponding to the symbolic address "D1". 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 regardless 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 9 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 "D1" and to read 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 "D1" and to read 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 ListOfCapability of the InitiateDownloadSequence service. Second, it is assumed that the service may be requested as a parameter, for example "VARTABLE", 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 "DATA001" correspond to the symbolic address "D1" to be downloaded from the other-end station according to the DownloadSegment 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 "DATA001" 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 "D1" 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 "DATA001" in Step 111, the local manager 8 activates the managing means 66 in the VMD 6A, and the managing means 8 registers "DATA0001" into the variable conversion table 63 in correspondence with the symbolic address variable "D1" in Step 112. When the other-end station then gives a "DATA001" access request in Step 113, the variable accessing means 62 in the VMD 6A converts the named variable into "D1" 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 the local manager 8 read 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 DefineNamedVariable/DeleteNamedVariable means 61, etc., all the contents can be read to the management terminal 9 and stored into a 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 "DATA001" in Step 121, the command processing means 65 registers "DATA0001" into the variable conversion table 63 in correspondence with the symbolic address variable "D1" in Step 122. When the other-end station then gives a "DATA001" access request in Step 123, the variable accessing means 62 in the VMD 6A converts the named variable into "D1" 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 reads 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 DefineNamedVariable/DeleteNamedVariable 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, a robot or another FA device. In Fig. 1B, DefineNamedVariable/DeleteNamedVariable processing means 61 are provided in the VMD 6A of the MAP interface unit 2A of the present invention. If a program for DefineNamedVariable/DeleteNamedVariable is implemented in one controller 24 (e. g. in case of controller #2) but it is not implemented for the other controller 21 (e. g. controller #1) as is usually the case, the one program 25 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 DefineNamedVariable/DeleteNamedVariable is not implemented and a program 22 for Download/Upload is implemented in a controller 21 (in the case of controller #1, Download/Upload is usually implemented for many controllers), the one program 25 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 the VMD 6A, such as the DefineNamedVariable/ DeleteNamedVariable 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. 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 scope of the invention.

Claims: A communication device (2A) for use in a factory automation system, said system comprising a network (3) based on a manufacturing automation protocol (MAP) for communication between at least one first station and one second station, the at least one first station comprising the communication device (2A) connected to a factory automation FA device (1A), wherein the FA device (1A) has a vendor-defined symbolic address variable (D1) to enable it to be accessed from the at least one second station using a user-defined named variable (DATA001), the communication device (2A) comprising: a manufacturing message specification (MMS) unit (5) which issues an MMS protocol comprising service commands specifying service functions to be performed, a virtual manufacturing device (VMD) means (6A) for converting said MMS protocol into a dedicated protocol of the FA device (1A), the VMD means (6A) comprising a variable conversion table (63) for storing the named variable (DATA001) and the corresponding symbolic address variable (D1) specific to the FA device (1A), means (61, 65, 66) operative in response to a service command of the MMS protocol to register the named variable (DATA001) in the variable conversion table (63), characterized in that said communication device (2A) further comprises: downloading/uploading means (64) operative in response to a download service command of the said MMS protocol to download the named variable (DATA001) defined at the at least one second station from the said at least one second station and to perform said registering of the named variable (DATA001) in the variable conversion table (63), said downloading/uploading means (64) being further operative to upload the named variable (DATA001) registered in the conversion table (63) to the at least one second station. The communication device as set forth in Claim 1, wherein the download service command is operative to provide the named variable (DATA001) from the second station to the first station upon implementation of a power ON condition. The communication device as set forth in Claim 1 or 2, further comprising a management terminal (9) for defining the named variable (DATA001), wherein the VMD means (6A) further comprises managing means (66) for registering the named variable (DATA001) in the variable conversion table (63) in response to an instruction from the management terminal (9) and for reading out the named variable registered in the variable conversion table (63) to the management terminal (9). The communication device as set forth in Claim 3, wherein the management terminal (9) is operative to keep the named variable (DATA001) stored reregisterably upon implementation of a power ON condition. The communication device as set forth in Claim 1, further comprising command processing means (65) for registering the user-defined named variable (DATA001) in the variable conversion table (63) in response to a command input from the FA device (1A) and reading out the named variable registered into the variable conversion table (63) to the FA device (1A). The communication device as set forth in Claim 5, wherein the FA device (1A) is operative to keep the named variable (DATA001) stored re-registerably upon implementation of a power ON condition. A factory automation system comprising a plurality of stations, each station being communicatively connected to a MAP network (3), wherein at least a first station and a second station are operative to communicate with each other via the MAP network (3), wherein at least a first station comprises a communication device (2A) connected to an FA device (1A) having a vendor-defined symbolic address variable (D1) for accessing the FA device (1A) from the second station using a user-defined named variable (DATA001), and wherein the communication device (2A) is defined by any one of the Claims 1 to 6. The system as set forth in Claim 7, wherein the plurality of stations includes a third station operative to communicate with the first station via the MAP network (3), the third station having a define-named-variable program (25), and wherein the communication device (2A) further comprises a define-named-variable means (61) for accessing the FA device (1A) from the third station a using user-defined named variable. The system as set forth in Claim 7 or 8, wherein the second and third stations each comprise controllers (21, 24). The system as set forth in any one of the Claims 7 to 9, wherein the second station does not comprise a define-named-variable program (25). A method of communicating within a factory automation system, said automation system comprising at least a first station and a second station connected via a MAP network (3) for communication therebetween in accordance with an MMS protocol, the first station comprising a communication device (2A) connected to a factory automation (FA) device (1A), wherein the FA device has a vendor-defined symbolic address variable (D1) to enable accessing of the FA device (1A) from the second station using a user-defined named variable (DATA001), said method comprising: defining the named variable (DATA001) at the second station, downloading the named variable (DATA001) from the second station through a downloading/uploading means (64) of the communication device (2A) of the first station in response to a download service command of the MMS protocol issued by a manufacturing message specification unit (5) comprised in the communication device (2A) of the first station, registering the named variable (DATA001) and the corresponding symbolic variable (D1) of the FA device (1A) in a variable conversion table (63) of the communication device (2A) and uploading to the second station the named variable (DATA001) registered in the variable conversion table (63). The method as set forth in Claim 11, comprising: defining the named variable (DATA001) from a management terminal (9), registering the named variable in the variable conversion table (63) in response to a request from the management terminal (9), and reading to the management terminal (9) named variables registered in the variable conversion table (63). The method as set forth in Claim 11 or 12, comprising: generating a command in the FA device (1A) to input a named variable; registering the named variable in the variable conversion table (63) in response to a request from the FA device command; and reading to the FA device (1A) named variables registered in the variable conversion table (63). The method as set forth in Claim 11, wherein the download service function is obtained in response to a parameter input. The method as set forth in Claim 14, wherein the parameter is used to access a domain-type area in an attribute of the download service function.

Inventors: KABE AKIYOSHI, KABE, AKIYOSHI, Kabe, Akiyoshi, c/o Mitsubishi Denki K. K.
Applicants: MITSUBISHI ELECTRIC CORP, MITSUBISHI DENKI KABUSHIKI KAISHA
Application year: 1992
Main classification: G05B19
IPC codes: G05B19, H04L29, G06F13