US20040139270A1 - Controllers, tools and systems comprising same - Google Patents

Controllers, tools and systems comprising same Download PDF

Info

Publication number
US20040139270A1
US20040139270A1 US10/091,113 US9111302A US2004139270A1 US 20040139270 A1 US20040139270 A1 US 20040139270A1 US 9111302 A US9111302 A US 9111302A US 2004139270 A1 US2004139270 A1 US 2004139270A1
Authority
US
United States
Prior art keywords
controller
data
control program
correlation data
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/091,113
Other languages
English (en)
Inventor
Masayuki Masuda
Yoshiyuki Nagao
Masanori Kadowaki
Toshimi Kudo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Assigned to OMRON CORPORATION reassignment OMRON CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KADOWAKI, MASANORI, MASUDA, MASAYUKI, KUDO, TOSHIMI, NAGAO, YOSHIYUKI
Publication of US20040139270A1 publication Critical patent/US20040139270A1/en
Priority to US11/078,995 priority Critical patent/US7117040B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/058Safety, monitoring
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13148Object oriented programming
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15009Object oriented configuring, graphical display of plant
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/15Plc structure of the system
    • G05B2219/15032Exchange objects having I-O, configuration, status, parameters, functions attributes

Definitions

  • This invention relates to controllers, tools and systems comprised of such controllers and tools.
  • FIG. 1 shows a prior art example of such a system comprising a controller 1 to which a plurality of devices 3 a , 3 b are connected through a network 2 .
  • Control programs also referred to as drivers
  • 4 a , 4 b for handling the devices 3 a and 3 b are installed in the controller 1 .
  • These control programs 4 a , 4 b are prepared individually for these devices 3 a , 3 b and serve to transmit and receive data to and from the corresponding one of the devices 3 a , 3 b by making use of an I/O memory 5 in order to carry out a specified process.
  • Numeral 6 indicates a control program (X) for retrieving the control programs 4 a , 4 b . They may altogether form a task.
  • the devices 3 a , 3 b may be of different types. They may be of a type, such as ON/OFF sensors and digital I/O, serving to transmit and receive ON/OFF data to and from the controller 1 . They may be of another type, such as photoelectric sensors (having the quantity of light and a threshold value as parameters) or temperature adjusters (having a target temperature and PID as parameters), having parameters to be set within the device and operated by a program prepared by the user.
  • photoelectric sensors having the quantity of light and a threshold value as parameters
  • temperature adjusters having a target temperature and PID as parameters
  • FIG. 1 shows an example with the devices 3 a , 3 b connected to the controller 1 through a network 2
  • communications between devices and a controller may be effected through a bus within the controller. This would be a case if a building block-type PLC is used as the controller and motion control units and PID control units are directly connected to the slots on its base unit.
  • the node number of Device A 3 a is #5 and that of Device B 3 b is #6.
  • Control Program A 4 a makes an access to Device A 3 a by message communication
  • the node number #5 for Device A 3 a is written in the program.
  • control program after having been created, can be used again (“reuse”) for another program because the trouble of creating a completely new program can be obviated and the labor for the development can be reduced.
  • a control program (referred to as a driver) can manifest its usefulness only after this control program (software) is integrated into the device (hardware) to be accessed and it is preferable to treat the software and the hardware together.
  • control object When a control program and a device is thus integrated together, it is hereinafter referred to as a “control object” or simply as an “object”.
  • Control Program A or Control Program X for retrieving Control Program A includes a portion where the node number #5 is specified for accessing Device A.
  • the node number #5 is already used by another device.
  • the portion of Control Program A or X containing the node number #5 is left unmodified.
  • the portion of Control Program A or X must be modified to rewrite #5 as #2, which is the correct node number. This must be done, however, with extreme care such that the rewriting will not affect other programs.
  • FIG. 2 shows another prior art system. If an error occurs in the device 3 in this system, there is a change in a bit in the I/O memory 5 of the controller 1 assigned to the device 3 . If this change is detected by a display device 7 which keeps monitoring the I/O memory 5 of the controller 1 , an error warning is outputted thereby.
  • the condition of the device 3 is detected by system software (First Communication Process 8 a , or “COMM PROC 1”) of the controller 1 and is stored at a preliminarily specified address on the I/O memory 5 of the controller 1 .
  • system software First Communication Process 8 a , or “COMM PROC 1”
  • a control program 4 in the controller 1 is monitoring this address of the I/O memory 5 , and if a change in the condition (such as the “flag” condition) at this address is detected, the control program 4 indicates it at another address (say, by raising a flag at this address). When this happens, the control program 4 causes data such as the screen number to be displayed on the display device, numeral data such as an abnormality code and character array data (such as the details of the abnormality) to be stored in a specified area on the memory 5 according to the condition of the device.
  • Such data are then transmitted to the display device 7 through the Second Communication Process (or “COMM PROC 2”) 8 b and stored in the memory 5 inside the display device 7 according to data received by its communication processing means (or “COMM PROC”) 8 c .
  • the screen number at which the display is to be made on the display device 7 is retrieved by the image display processing means (“IMAGE DISPLAY PROCESS”) 4 c together with the data stored in the memory 5 .
  • the image display processing means (“IMAGE DISPLAY PROCESS”) 4 c together with the data stored in the memory 5 .
  • Production lines include many pieces of equipment, each provided with a so-called human-machine interface (HMI) such as display devices and panel computers.
  • HMI human-machine interface
  • the EMI consults the memory of the controller to which the device is connected through communication and its value is displayed by the HMI. If calculations are required for the display, such calculations are usually carried out by a HMI suited for carrying out data-related programs.
  • controllers, tools and systems comprising such controllers and tools that are capable of handling a control program and a device together as an object (that is, a control object).
  • a controller embodying this invention may be characterized as storing both a control program for controlling a device connected to the controller and correlation data which correlate the control program with device data on the connected device.
  • the control program specifies the device by an object name.
  • the controller's communication processing means references the correlation data to identify the device data from its object name.
  • the control of the device by the control program means to generally manage the device to make it carry out different processes. If the device is an input device, for example, the control program may serve to obtain data from this input device and to carry out specified processes. If the device is an output device, the control program may serve to transmit commands to the device and to cause it to carry out specified processes.
  • the correlation data serve at least as access data for enabling the control program to access the device, including data (such as the device name of the device) for the control program to identity the device and the memory address for actually indicating the address to be accessed such as the node number or the memory address assigned in a controller memory.
  • the control program may be written in terms of device-identifying data such as device names but can access the target device by referencing the correlation data stored in the controller on the target device.
  • the correlation data include addresses through which an access can be made to a device. Such data may be manually inputted by the program developer, but there are simpler and more accurate ways.
  • a communication processing means may be provided not only for communicating with a connected device to thereby decide the access address but also for storing it as a part of the correlation data.
  • a controller memory may be provided such that data are transmitted between the device and the controller through a specified area of this controller memory, and mapping means may also be provided for mapping (or allocating areas on) the controller memory according to memory size of the device and storing results of the mapping (area allocation) as the correlation data.
  • Some devices connected to the controller may be of a kind storing operation data (such as set parameters) required for their operation.
  • the controller may preferably include means for functioning so as to obtain and store such operation data and to download the stored operation data to the device when the device starts its operations. In this manner, even the operation data are changed during the operation of the device, the matching between the actual operation data of the device and the data stored by the controller can be assured by storing the operation data in the controller at the end of the operations. The control and management of the operation data can thus be carried out more easily.
  • a specified area is reserved on the aforementioned controller memory for storing “abnormality data” when there is an abnormal condition developed in the device. It is preferable to provide means for outputting maintenance data for countering the abnormal condition according not only to the abnormality data but also the correlation data.
  • the maintenance data may include the control object name, the device name and the communication address of the object or the device where the abnormal condition occurred, as well as the cause of the condition. Thus, it can be understood quickly, for example, to which of the objects the malfunctioning device belongs.
  • a tool embodying this invention is a tool to be attached to any of the controllers described above, characterized as comprising means for creating a control program, as described above, correlation data creating means for creating correlation data correlating the control program with device data on a device connected to the controller, and downloading means for downloading the correlation data created by the correlation data creating means to the controller.
  • a system embodying this invention is characterized as comprising a tool and a controller as described above and serving to download correlation data created by the tool to the controller and to cause the controller to control a device connected thereto by referencing the received correlation data.
  • correlation data When the correlation data are created as explained above, serial numbers and communication and memory addresses for actually specifying a device may be left empty.
  • the controller When the created correlation data are downloaded to the controller, the controller may serve to automatically fill these empty spaces, or such additional data may be manually created. Alternatively, such additional data may be included when the correlation data are initially created. Both modes of operation are intended to be within the scope of this invention.
  • control program does not access a device by directly specifying the address of the device but by referencing the correlation data to ascertain the address for accessing the device, many improved methods of the controller become possible.
  • control program When a control program being used in a controller is to be used in another controller, the control program and the correlation data which correlate the control program with the device being connected to and controlled by the controller are associated together as forming a pair.
  • the control program is copied to the other controller, and also the correlation data forming the pair with the control program are also copied to the other controller.
  • the access address of the device in the correlation data is corrected by replacing it with another access address of the device in the another controller.
  • the control program can be reused without modifying the control program itself.
  • the controller may be operated so as to download the parameter for the device when the controller starts an operation and to upload and store the parameter set to the device at the end of the operation.
  • a so-called status recording area may be provided on the controller memory for storing status data individually for each of devices connected to the controller.
  • the controller may then be operated so as to monitor this status recording area.
  • the controller may access its memory means to obtain correlation data on the device associated with the detected abnormal condition and to transmit specified data to an external peripheral apparatus.
  • a data processor including at least an equivalent of the control program, may be connected to the same network to which the controller and devices controlled thereby are connected such that communications between the controller and the devices can be obtained by the data processor as communication data.
  • the data processor can carry out the stored control program according to the communication data received through the network and thereby carry out a data processing operation and transmit results of the data processing operation to the controller.
  • the present invention includes many inventive elements that can be combined in a countless number of ways. These inventive elements may further be individually realized by way of a dedicated hardware circuit or by a properly programmed computer.
  • FIG. 1 is a block diagram of a prior art system.
  • FIG. 2 is a block diagram of another prior art system.
  • FIG. 3 is a block diagram of a system embodying this invention.
  • FIG. 4 is a block diagram of the tool shown in FIG. 3 to show its internal structure.
  • FIG. 5 is a flowchart for the initialization process carried out by the tool.
  • FIG. 6 is an example of display at the time of initialization.
  • FIG. 7 is another example of display at the time of initialization.
  • FIGS. 8, 9 and 10 show examples of object database.
  • FIG. 11 shows an example of control program.
  • FIG. 12 shows another example of object database.
  • FIG. 13 shows the function of the class creation processing means.
  • FIG. 14 shows the function of the control object assignment processing means.
  • FIG. 15 shows an example of object database created by the control object mapping processing means.
  • FIG. 16 shows the function of the communication processing means.
  • FIG. 17 shows the function of the control object mapping processing means at the time of a reuse.
  • FIG. 18 shows the function of the communication processing means at the time of a reuse.
  • FIG. 19 shows a second embodiment of the invention.
  • FIGS. 20 and 21 are flowcharts for explaining the functions of system software.
  • FIG. 22 shows a third embodiment of the invention.
  • FIG. 23 is a flowchart of the operation of the monitor according to the third embodiment of the invention.
  • FIG. 24 shows a fourth embodiment of the invention.
  • FIG. 3 shows a system embodying this invention, comprising a controller 10 such as a PLC and a tool 20 (of which the internal structure is shown in FIG. 4), a device 30 being connected to the controller 10 either directly or through a network.
  • the controller 10 includes a control program 11 for managing the operations of the device 30 .
  • the device 30 serves to write and read data into or from a specified area of an assigned controller memory (I/O memory) 12 . Since these functions are essentially the same as those of prior art controllers, they will not be further explained in detail.
  • I/O memory assigned controller memory
  • control program 11 and the device 30 according to this invention can be handled as an integrated unit herein referred to as a control object (or simply as an object) and data which are necessary for carrying out such handling are stored in an object database (DB) 13 .
  • DB object database
  • the device 30 is specified by using its object name (a device name).
  • a device name When a device is called in a program, this used to be done by directly inputting its address.
  • the device name is used for its specification and data showing where the device specified by its device name is actually connected are separately prepared, such data being also managed separately.
  • the control program 11 and the device 30 are connected to another controller for a reuse such that the addresses such as memory addresses and communication addresses may change, the user has only to modify the separately managed relationship between the device name and the address.
  • the contents of the control program itself need not be modified.
  • the object database 13 stores therein “control object names” and “device data forming control objects” for distinguishing between device data which form control objects and devices by way of object names.
  • “device data” include the addresses of devices (herein referred to as communication addresses) on a bus or a network. If the device can store the internal conditions of a PLC, for example, there are address data such as the device name defined for the PLC by the user and the area of the device such as a PLC storing this device name. If the device, such as a simple digital I/O, is not adapted to store the internal conditions, not only the device name defined by the user but also additional data such as the serial number of the device defined by the maker are also stored.
  • object interface data such as the service name, the type data on the type of data necessary for the service), the object attribute name and attribute type.
  • Each of the data described above can be installed by downloading to the controller 10 what has been prepared by the tool 20 .
  • the tool 20 which may comprise a personal computer or a computer of another kind, functions as shown in FIG. 5 to generate data to be stored in the object database.
  • Its monitor screen M includes a list area (device catalog view) R 1 for displaying a list (H/W catalog) of devices that can be connected, a work area R 2 for actually assembling a control object on a graphic screen and a registration area R 3 for registering the control object names being created as data on the work area R 2 .
  • the user developer
  • a control object name is defined by an object definition processing means 21 (Step ST 1 ). This is done by operating the pointing device of the tool 20 to set its cursor in the registration area R 3 and inputting a control object name by operating an input device such as a keyboard.
  • the object definition processing means 21 serves to register the object name upon receiving such an input.
  • FIG. 6 shows “Robot” as an example of registered control object name.
  • Step ST 2 a constituent device of the control object is defined. This is done by selecting a device (class) to be used from the list area R 1 of the monitor screen M shown in FIG. 6 and dragging and dropping it to paste it in the work area R 2 on the right-hand side. If there are a plurality of devices, this process may be repeated a number of times to define the device structure necessary for the control object.
  • FIG. 7 shows an example where three devices A, B and C have been selected.
  • a setting screen G is displayed as shown in FIGS. 6 and 7.
  • the setting screen G is shown for convenience outside the monitor screen M in FIGS. 6 and 7, it is actually shown superposed on the data in the work area R 2 .
  • Necessary data for the configuration of network communication such as device name (such as “C” in the example), communication address, IN data size, OUT data size and communication method are inputted on the setting screen G.
  • the object definition means 21 thereupon stores device setting data in the object database 22 in a specified file format such as XML and Ini on the basis of the inputted data.
  • FIG. 8 shows an example of the content of the object database 22 after data are thus set as explained above. Data on the devices A, B and C forming “Robot” come to be registered as shown in FIG. 9 by repeating such a process as explained above.
  • Device numbers (DeviceNum) and node numbers may be so arranged as to be automatically assigned, for example, by selecting unused numbers or in an ascending order.
  • the serial number, the starting address of the IN data (INadr0) and the starting address of the OUT data (OUTadr0) of each device are not registered yet.
  • the interface of the control object is defined by an object interface definition processing means 24 (Step ST 3 ).
  • the object interface definition processing means 24 serves to display the IN data size and the OUT data size as initial values and the user inputs definitions by watching such a display to have them stored in the object database 22 .
  • FIG. 10 shows for Device C that the data defined by the user for the lower one byte and the upper one byte of the IN area of the device respectively as In_pram1 and In-pram2_and for the lower one byte and the upper one byte of the OUT area respectively as Out_pram1 and Out_pram2 have been stored in the object database 22 .
  • control programs for the devices are written in (Step ST 4 ). This is done by defining a control program created separately by a control program creating means 23 in a general-purpose language as one method of the control object and the selected control program is registered in the object database 22 as a service of the control object.
  • the control program may be written in Java, FB or VB. If it is written in Java, “Robot” becomes one of the classes of Java. If it is written in IEC1131, “Robot” becomes one of FBs.
  • control object is then registered in a database 26 by a control object managing means 25 (Step ST 5 ).
  • the control object is created by consulting the object database 22 .
  • the creation of the control object means creating one Java class code in the case of Java and an FB code in the case of FB.
  • FIG. 13 shows a situation where a Java code has been created from the object database.
  • the name “Robot” is stored as an attribute for the created Java class such that the object database 22 and the control program become correlated.
  • the control class corresponding to the control program thus registered in correlation is preliminarily created by a class creation processing means 27 .
  • the class creation processing means 27 serves to consult the object database 22 to create a class in a general-purpose language from a control program 28 created by the user in the general-purpose language.
  • the control object name stored in the object database is stored as an attribute of the created class.
  • a control program 28 ′ storing control object name “Robot” as an attribute is created.
  • the control program 28 ′ (group of methods for the aforementioned class) and the object database 22 become correlated, and the control program and the device can now be treated as a pair and as a control object.
  • “Get_Profile” is for retrieving profile data of the control object and serves, for example, to carry out a process for obtaining the communication address of a device forming the control object.
  • Send_Message” and “Receive_Message” are interfaces for sending and receiving messages to or from a device forming the control object.
  • DeviceNet registered tradename of Open DeviceNet Vendor Association, Inc.
  • parameters such as device name, class ID, instance ID and attribute ID.
  • the program becomes enabled to access the control object not by specifying the communication address as the identifier of the device but by way of the object name.
  • the device can be retrieved even if its communication address is not known or has been changed because the object name and the communication address are already correlated.
  • “Set_Attribute” and “Get_Attribute” are respectively for setting a value to an attribute of the control object and retrieving the value of an attribute of the control object.
  • the control object managing means 25 functions to download the control program 28 ′ registered in the database 26 which has been created and the object database 22 to the controller 10 (Steps ST 6 and ST 7 ). If an environment exists in the controller for defining a control object, the control object managing means 25 records the control program registered in the created database and the object database at a specified address (memory address) of the controller itself.
  • the controller system software 14 follows the data downloaded from the tool 20 (stored in the object database 13 ) causing its control object mapping means 14 a to acquire the device forming the control object and its IN size and the OUT size by referencing the object database 13 ( 1 ) and to map the memory in an empty area of the controller memory 12 ( 2 ), as shown in FIG. 14. If the data on “Robot” are stored in the object database 13 as shown in FIG. 9, for example, the mapping for Device C is carried out by securing an area of 2 bytes from a specified empty address (“AD1” in the example of FIG. 14) in the controller memory 12 because the IN size is 2. In connection with this mapping operation, the starting address (“AD1”) on the controller memory 12 where the mapping has been done is then stored in the object database 13 (3).
  • AD1 specified empty address
  • the next device (Device A) may be mapped with its starting address AD3 selected next to this last address.
  • the result of this mapping is then stored in the object database 13 . This procedure is repeated sequentially to map the IN data and OUT data of all devices. In the case of the example shown in FIG. 9, data as shown in FIG. 15 are created.
  • the serial number of the device is obtained and registered in the object database 13 .
  • This is done, as shown in FIG. 15, by having the object database 13 accessed by a communication processing means to obtain data such as the node number and the device name of the device to be processed.
  • the device name and the serial number for the device connected to the node number are requested and a response from the device is waited for. If the information transmitted from the device is correct (that is, if it agrees with the information registered in the object database 13 ), the serial number which has been transmitted is treated as a correct number and is registered at a corresponding area in the object database 13 .
  • the device connected to node number #8 has device name (object name) C and serial number SN-01. Since this shows a matching, serial number SN-01 is stored corresponding to Device C, as shown in FIG. 15.
  • Such processing is carried out for all devices such that an object database for Robot as shown in FIG. 15 is completed.
  • the device name of the device stored in the object database is written in a specified area for the device, the information on where to write in being stored in the object database. If the device name is already written in the device, a matching operation is carried out. If there is no matching, the abnormal situation is communicated, say, to an external peripheral apparatus. In this manner, the object database and the device can be correlated, and I/O configuration in units of control objects becomes possible.
  • control object a control program+a device
  • the procedure is as follows.
  • the control object managing means 25 of the tool 20 retrieves the control program and the object database to be reused from the database 26 which manages control programs and object databases and downloads the retrieved data (control program+object database) to the reusing controller 10 .
  • a control program and an object database are downloaded as a pair if the control object is specified for downloading to the controller 10 .
  • control object is comprised of a plurality of control objects
  • control programs and object databases of all related control objects are downloaded, and the devices 30 which form pairs with those control programs are connected to the controller 10 either directly or through a network, depending on the circumstances of the use.
  • the control object mapping means 14 a of the reusing controller 10 functions to detect an empty area by consulting an already existing object database 13 ′ as shown in FIG. 17 and to map the controller memory on each of the devices of the newly downloaded object database. This is done by obtaining mapping data (IN/OUT size and mapping address) from the existing object database ( 1 ) and obtaining mapping data (IN/OUT size) from the object database of the control object downloaded for the reuse ( 2 ). Thereafter, the mapping is carried out ( 3 ) to the empty area of the controller obtained in process ( 1 ) regarding the new device obtained by process ( 2 ). Next, the mapping data (the start address mapped to the controller memory 12 ) are stored in the object database 13 ′′ ( 4 ). The memory mapping of the newly downloaded device is thus completed.
  • mapping Since the mapping is done to an empty area, the already existing object database 13 ′ is not affected, although it is permissible, if necessary, to change the address mapped to this already existing object database 13 ′ at the time of this mapping process related to the reuse. Even if such a change is made, it is only in the area of the object database 13 ′ storing the start address where data are updated, and the control programs for existing devices are affected because they are called by device names. Since the processes (2)-(4) described above are basically similar to processes (1)-(3) of FIG. 14 for a new mapping, detailed explanations will be omitted.
  • the communication processing means 14 b obtains object name, serial number and communication address (hereinafter referred to as the registered device structure) from the already existing object database 13 ′ (1), as shown in FIG. 18. Next, it asks what is connected to the device on the network (2) by requesting every node to answer with the object name and the communication address (node number). Each device queried responds to the question, and correspondence is obtained between the device names of the devices which are actually connected (or serial number in the case of a device which cannot store the device name) and their communication numbers (hereinafter referred to as the actual device structure). Thereafter, it is compared with the registered device structure obtained from the object database.
  • the registered device structure obtained from the object database.
  • the communication address of the device registered in the downloaded object database duplicates the communication address given to an existing registered device. If they are not duplicated, the communication address is set as is. If there is a duplication, it is automatically mapped to an empty communication address and this address is stored in the object database (3).
  • FIG. 18 shows a situation where three existing devices D, E, and F are respectively using communication address #8, #3 and #1, duplicating the communication addresses of Devices A, B and C which are constituent elements of control object “Robot”. It is shown that an empty communication address #2 is automatically assigned to Device C. The node number is updated from #8 to #2. The communication addresses of the other devices A and B are similarly changed.
  • node numbers are also assigned to the devices.
  • the setting of a communication address to a device cannot be carried out through the network (such that it is carried out by a hardware switch such as the display switch of the device), it is communicated to external peripheral apparatus that the communication addresses must be reset.
  • FIG. 19 shows a second embodiment of this invention characterized as having extra functions of downloading set parameters to devices from the controller at the time of a system startup and uploading the set parameters of the devices at the time of a system shutdown.
  • Numeral 15 indicates a memory 15 for storing system setting data for determining the operations of the controller.
  • system setting data “Device parameters to be downloaded when power is switched on?” and “Device parameters to be uploaded when power is switched off” are preliminarily determined in terms of yes or no.
  • This setting may be accomplished, for example, by downloading at the same timing as the downloading of the control objects to the controller 10 .
  • the controller system software 14 has the function of processing the flowchart shown in FIG. 20 at the time of power-on and that of flowchart shown in FIG. 21 at the time of power-off.
  • Step ST 10 of FIG. 20 the system setting data stored in the memory 15 are referenced (Step ST 10 of FIG. 20) and it is checked therein to determined whether device parameters are to be downloaded at the time of the power-on (Step ST 11 ). The process is ended if it is NO. If it is YES, the content of the object database 13 inside the controller 10 is referenced (Step ST 12 ) to obtain therefrom the communication address and the setting parameters for the device which is the constituent element of the control object (Step ST 13 ). Next, the setting parameters for the device at the communication address thus obtained are downloaded (Step ST 14 ). Thus, the device setting is replaced by the contents of the setting parameters registered in the object database 13 every time power is switched on.
  • Step ST 21 of FIG. 21 When the shutdown of the controller 10 (or its mode change) is commanded from its external peripheral apparatus, the control program being executed is stopped and controller system software 14 references the system setting data stored in the memory 15 (Step ST 21 of FIG. 21). If NO is set for the question whether the device parameters are to be downloaded at the time of a power-down (NO in Step ST 22 ), the process is stopped directly, that is, the power is shut down. If YES (YES in Step ST 22 ), the content of the object database 13 inside the controller 10 is referenced (Step ST 23 ) and the device address (communication address) is obtained (Step ST 24 ).
  • the setting parameters of the device at the communication address thus obtained are uploaded (Step ST 25 ) and the uploaded setting parameters are stored in a corresponding area of the object database 13 (Step ST 26 ).
  • the changed content is registered in the object database 13 .
  • FIG. 19 shows an example wherein there are two control objects “Robot” and “Parts feeder”, the former comprising three devices A, B and C. It also shows that the communication address and the device parameter of Device A are respectively “3” and “5”. In addition to the communication address and the device parameter, there are address data (hereinafter “setting parameter address data”) such as indicating where the setting parameter should be stored in the device. In the case of DeviceNet (registered tradename of Open DeviceNet Vendor Association, Inc.), it is data such as class ID and instance ID that are stored. The example of FIG. 19 also shows that the communication address and the device parameter of Device B are respectively “1” and “2” and that those of Device C are respectively “8” and “10”. The control object called “Parts feeder” is comprised of only one device called “X” and its communication address and device parameter are respectively “10” and “100”.
  • setting parameter address data such as indicating where the setting parameter should be stored in the device.
  • DeviceNet registered tradename of Open DeviceNet Vendor Association, Inc
  • the addresses are specified by the device names. This function is useful under various conditions. For example, in the case of a malfunction of a device, the power is switched off, a new device is installed and then the power is switched on again. In such a case, the newly installed device may have the same device name as the replaced device but its serial number will be different and its communication number will be unknown unless it is set by hardware such as a dip switch. If the devices are addressed by their device names, as explained above, the newly installed device can communicate with the controller 10 , and the newly installed device will inform its communication number to the controller 10 .
  • the controller retrieves the serial number of the device from the object database at the time of power-on and examines whether or not it matches with that of the exchanged device. In other words, the controller checks whether or not serial numbers match for each device with a matching device name.
  • the controller 10 (through its controller system software 14 ) asks the external peripheral apparatus whether or not the new device with the different serial number will be accepted as a device of the control object. If an affirmative answer is returned, the controller system software writes down the new serial number in the object database.
  • the device which has malfunctioned and been removed its setting parameter in the object database 13 is downloaded.
  • device data such as device name
  • device data may be provided from an external apparatus for the device to be removed such that the parameter for the removed device will be registered in the replacing device or the serial number of the newly installed device will be registered in the object database 13 .
  • FIG. 22 shows a third embodiment of the invention characterized as having the function of informing an abnormal situation if it happens in a device.
  • a specified area is assigned on the controller memory 12 for the status of the devices of the control object (hereinafter “device status data”).
  • the device status data include the status data on the individual communication addresses whether they are normal or abnormal, but there is also an area reserved for storing the causes of any abnormality.
  • Each of the connected devices serves to store its own status (whether it is functioning normally or abnormally) and the cause of its abnormality (if it is functioning abnormally) in a specified area of the controller memory 12 .
  • the controller 10 carries out a cycle of processes (IN refresh ⁇ command processing ⁇ OUT refresh ⁇ communication processing) periodically.
  • a device monitoring means 14 c within the controller system software 14 (as shown in FIG. 3) monitors the device status data stored in the controller memory 12 in synchronism with this normal scanning process by the controller 10 , say, once per cycle after the communication processing.
  • the device monitoring means 14 c of the controller system software 14 refers to the device status data to check whether or not there is an abnormally functioning communication address. If none of the communication addresses shows an abnormal condition, the monitoring process for that cycle is completed. If an abnormality is detected, the abnormality cause data assigned to the communication address in the abnormal condition are referenced. Next, the object database 13 is referenced to discover which control object corresponds to the communication address, and the device monitoring means 14 c writes the control object name, the device name and the communication address of the address where the abnormality occurred, as well as the cause of the abnormality in the memory of the controller or an external peripheral apparatus.
  • the cause of the abnormality may be registered by way of either an abnormality code or a message.
  • the former is advantageous in that the memory capacity may be small but disadvantageous in that the user may be required to consult a handbook to identify the cause from the code.
  • the latter is disadvantageous in that a larger object database will be required but advantageous in that the user can readily identify the nature of the abnormality and also in that the message can be further converted into a voice message. In either case, the user can discover which control object corresponds to the abnormally functioning device and can hence effectively take measures against the condition. If a maintenance procedure for each kind of abnormality is also stored in the object database, the maintenance work can be carried out even more effectively. Since such data are stored on the side of the controller 10 , the personal computer used for the maintenance need not be provided with any database. In other words, any personal computer may be used to access the controller to grasp the abnormal situation.
  • FIG. 24 shows a fourth embodiment of the invention characterized in that the controller 10 and devices 30 are connected through a network such as DeviceNet (registered tradename of Open DeviceNet Vendor Association, Inc.) and that there is also a data processing device 40 such as HMI connected to the network (not as a node of the DeviceNet network but having the function of referencing the data which flow on the network like a protocol analyzer).
  • this data processing device 40 can keep track of which node (communication address) is transmitting what kind of data without affecting the communication cycle between the controller 10 and the devices 30 .
  • control program and object data base are downloaded to the data processing device 40 and the I/O configuration of the control objects is carried out by the data processing device 40 .
  • the controller 10 controls Devices A, B and C.
  • the control program of the data processing device 40 is used for the purpose of data processing at this moment, collecting data by referencing messages flowing through the network and carries out calculations on the basis of collected data on Devices A, B and C. The results of the calculations are fed back to the controller 10 .
  • the status of the devices 30 controlled by the controller 10 can be monitored by the data processing device 40 in terms of logical names (object names) without affecting the control functions of the controller 10 while the controller 10 is controlling the devices 30 .
  • the data processing device 40 can write data into the devices 30 by using logical names (object). Even if the node number of a device is changed for the convenience of the program developer, the program for accessing the control object of the data processing device is not thereby affected.
  • the data processing device can be later connected to the network such that the devices 30 controlled by the controller 10 can be accessed by way of an object name and a logical name.
  • the programming for data processing for the object database becomes easier and efficiency of development improves.
  • controller 10 it becomes possible to develop the controller 10 in a language, a programming style and a method of access to devices appropriate for the control and other functions, and the data processing program in terms of logical names for the devices convenient for data processing.
  • control and data programs can be developed separately both in terms of timing and persons working on them.
  • control object hardware+software
  • control object It is also possible to group together a plurality of devices to be treated as a control object or to handle a plurality of control objects as a single control object. In other words, different kinds of control objects can be defined by the user in response to different reuse requirements.
  • the setting parameters of devices are treated as attributes of the control object, time required for maintenance at the time of a device malfunction can be shortened by downloading and uploading the setting parameters to the devices.
  • the control object of a device which malfunctions it becomes easier to discover what kind of abnormality has occurred in which unit of control. This also simplifies the maintenance work. Since the devices are accessed by way of their logical names, instead of their communication addresses, the program which is calling the control object is not affected. Since devices are accessed without directly referencing the memory in the controller, object interfaces and object services are not affected even when there is a change in the device of the control object.
  • the control system can be developed incrementally and device can be interchanged freely.
  • this invention teaches the use of correlation data (object database) between a control program and devices such that the control program can access a device by referencing the correlation data to identify the address for the access.
  • the control program and the devices can be treated as a unit (control object). This makes the reuse of the system easier and more dependable, without affecting unrelated control objects.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)
US10/091,113 2001-03-12 2002-02-28 Controllers, tools and systems comprising same Abandoned US20040139270A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/078,995 US7117040B2 (en) 2001-03-12 2005-03-10 Tool attachable to controller

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001-068288 2001-03-12
JP2001068288A JP3729251B2 (ja) 2001-03-12 2001-03-12 コントローラ及びシステム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/078,995 Division US7117040B2 (en) 2001-03-12 2005-03-10 Tool attachable to controller

Publications (1)

Publication Number Publication Date
US20040139270A1 true US20040139270A1 (en) 2004-07-15

Family

ID=18926501

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/091,113 Abandoned US20040139270A1 (en) 2001-03-12 2002-02-28 Controllers, tools and systems comprising same
US11/078,995 Expired - Lifetime US7117040B2 (en) 2001-03-12 2005-03-10 Tool attachable to controller

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/078,995 Expired - Lifetime US7117040B2 (en) 2001-03-12 2005-03-10 Tool attachable to controller

Country Status (3)

Country Link
US (2) US20040139270A1 (de)
JP (1) JP3729251B2 (de)
DE (1) DE10210280B4 (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028153B1 (en) * 2002-06-19 2006-04-11 Veritas Operating Corporation Backup and retrieval of data storage using catalog data
US20060140466A1 (en) * 2004-12-09 2006-06-29 Sysmex Corporation Method for setting operating condition of measuring apparatus, method for managing measurement result of measuring apparatus, measuring system, data processing apparatus for measuring apparatus, and storage medium
US20090005883A1 (en) * 2007-06-27 2009-01-01 Teletrol Systems Inc. System and method for providing device independent control and modification
US9811071B2 (en) 2012-11-22 2017-11-07 Mitsubishi Electric Corporation System construction support apparatus

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10312756A1 (de) * 2003-03-21 2004-09-30 Focke & Co.(Gmbh & Co. Kg) Verfahren zum Betrieb einer Steuerung an einem Kommunikationsmedium
DE20314410U1 (de) * 2003-09-15 2004-09-30 Kuka Schweissanlagen Gmbh Konfigurierbare industrielle Fertigungsanlage
DE10352172A1 (de) * 2003-11-05 2005-06-09 Robert Bosch Gmbh Verfahren und Vorrichtung zur Anpassung von Funktionen zur Steuerung von Betriebsabläufen
DE102004010203B4 (de) * 2004-03-02 2007-05-10 Siemens Ag Verfahren, Vorrichtung und Computerprogramm zur Erstellung einer Projektierung für ein Bediengerät einer Automatisierungskomponente
JP4774683B2 (ja) * 2004-05-31 2011-09-14 富士電機株式会社 サーボ制御装置の支援装置
JP4773873B2 (ja) * 2006-04-28 2011-09-14 株式会社キーエンス 制御プログラム作成装置及び編集プログラム
US8626320B2 (en) * 2006-05-15 2014-01-07 Timothy Sexton Process control method
JP4666172B2 (ja) * 2006-09-04 2011-04-06 オムロン株式会社 制御システム設定管理システム
DE102006046643A1 (de) * 2006-09-29 2008-04-03 Phoenix Contact Gmbh & Co. Kg Speicherprogrammierbare Steuereinrichtung mit integriertem Datenbanktreiber
US9164501B2 (en) 2009-10-05 2015-10-20 Fisher-Rosemount Systems, Inc. Methods and apparatus to manage data uploading in a process control environment
JP2011186857A (ja) * 2010-03-09 2011-09-22 Glory Ltd 上位装置およびデバイス制御方法
JP5469510B2 (ja) * 2010-03-31 2014-04-16 株式会社キーエンス プログラマブルコントローラ、設定値変更システム、演算表示装置及び設定値変更ユニット
JP2011215814A (ja) * 2010-03-31 2011-10-27 Keyence Corp プログラマブルコントローラ、設定値バックアップ・リストアシステム、及び設定値バックアップ・リストアユニット
JP4941574B2 (ja) * 2010-04-14 2012-05-30 横河電機株式会社 レジスタコンフィギュレータおよびレジスタコンフィギュレーション方法
JP5796994B2 (ja) * 2010-06-08 2015-10-21 株式会社日立国際電気 処理システム、基板処理装置、処理システムのデータ処理方法、収集ユニット及び記録媒体並びに半導体装置の製造方法
JP6051545B2 (ja) * 2011-03-15 2016-12-27 オムロン株式会社 Plcシステム、状態表示方法、plc、およびプログラマブル表示器
JP5992777B2 (ja) * 2012-09-04 2016-09-14 株式会社キーエンス プログラマブルコントローラ、プログラム作成支援装置及びプログラム
KR101907199B1 (ko) * 2016-11-11 2018-10-12 (주)위너스엔지니어링 계측제어 설비에서의 프로그램 구동 장치 및 계측제어 설비에서의 프로그램 구동 방법
US10826715B2 (en) * 2016-12-02 2020-11-03 Datalogic Ip Tech S.R.L. Simple device replacement in a Profinet IO conformance class A (CCA) network through ubiquitous computing paradigm and combining a token ring approach with a ubicomp paradigm to prevent real-time performance drop
KR102223336B1 (ko) * 2018-12-28 2021-03-04 경남정보대학교 산학협력단 스마트 팩토리의 구축 및 유지보수를 위한 플랫폼
JP7318264B2 (ja) * 2019-03-28 2023-08-01 オムロン株式会社 コントローラシステム
DE102022122909B3 (de) 2022-09-09 2023-09-21 Multivac Sepp Haggenmüller Se & Co. Kg Lebensmittelverarbeitungsmaschine und Verfahren zum Einschränken von durch einen Bediener an einer Lebensmittelverarbeitungsmaschine aktivierbaren Prozessen

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910706A (en) * 1972-09-11 1990-03-20 Hyatt Gilbert P Analog memory for storing digital information
US6591385B1 (en) * 2000-09-11 2003-07-08 Agilent Technologies, Inc. Method and apparatus for inserting programmable latency between address and data information in a memory tester
US6721941B1 (en) * 1996-08-27 2004-04-13 Compuware Corporation Collection of timing and coverage data through a debugging interface
US6725288B2 (en) * 2001-03-14 2004-04-20 Omron Corporation System for transmitting data between a device data area and a variable data area of a memory according to a memory map based on an identifying data of a device detected

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4862067A (en) * 1987-06-24 1989-08-29 Schlumberger Technologies, Inc. Method and apparatus for in-circuit testing of electronic devices
US5532929A (en) * 1992-12-16 1996-07-02 Toyota Jidosha Kabushiki Kaisha Apparatus for controlling vehicle driving power
JPH0749651A (ja) * 1993-08-09 1995-02-21 Toshiba Corp 制御プログラムの作成支援装置
US5589892A (en) * 1993-09-09 1996-12-31 Knee; Robert A. Electronic television program guide schedule system and method with data feed access
EP1083516B1 (de) * 1993-12-01 2004-11-24 Canon Kabushiki Kaisha Vorrichtung und Verfahren zum Drucken vertraulicher Daten
US6769128B1 (en) * 1995-06-07 2004-07-27 United Video Properties, Inc. Electronic television program guide schedule system and method with data feed access
EP0827302A2 (de) * 1996-08-30 1998-03-04 Siemens Aktiengesellschaft Verfahren zur Isolierung von fehlerhaften, austauschbaren Einheiten von beliebig strukturierten Kommunikationsanordnungen
CA2271717A1 (en) * 1996-12-12 1998-06-18 Prolume, Ltd. Apparatus and method for detecting and identifying infectious agents
US6385496B1 (en) * 1999-03-12 2002-05-07 Fisher-Rosemount Systems, Inc. Indirect referencing in process control routines
US6606624B1 (en) * 1999-08-13 2003-08-12 The Regents Of The University Of California Apparatus and method for recommending to an individual selective information contained within a computer network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4910706A (en) * 1972-09-11 1990-03-20 Hyatt Gilbert P Analog memory for storing digital information
US6721941B1 (en) * 1996-08-27 2004-04-13 Compuware Corporation Collection of timing and coverage data through a debugging interface
US6591385B1 (en) * 2000-09-11 2003-07-08 Agilent Technologies, Inc. Method and apparatus for inserting programmable latency between address and data information in a memory tester
US6725288B2 (en) * 2001-03-14 2004-04-20 Omron Corporation System for transmitting data between a device data area and a variable data area of a memory according to a memory map based on an identifying data of a device detected

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7028153B1 (en) * 2002-06-19 2006-04-11 Veritas Operating Corporation Backup and retrieval of data storage using catalog data
US20060140466A1 (en) * 2004-12-09 2006-06-29 Sysmex Corporation Method for setting operating condition of measuring apparatus, method for managing measurement result of measuring apparatus, measuring system, data processing apparatus for measuring apparatus, and storage medium
US7467055B2 (en) * 2004-12-09 2008-12-16 Sysmex Corporation Method for setting operating condition of measuring apparatus, method for managing measurement result of measuring apparatus, measuring system, data processing apparatus for measuring apparatus, and storage medium
US20090005883A1 (en) * 2007-06-27 2009-01-01 Teletrol Systems Inc. System and method for providing device independent control and modification
US9811071B2 (en) 2012-11-22 2017-11-07 Mitsubishi Electric Corporation System construction support apparatus

Also Published As

Publication number Publication date
JP2002268707A (ja) 2002-09-20
US20050157543A1 (en) 2005-07-21
DE10210280A1 (de) 2002-10-17
JP3729251B2 (ja) 2005-12-21
US7117040B2 (en) 2006-10-03
DE10210280B4 (de) 2012-11-08

Similar Documents

Publication Publication Date Title
US7117040B2 (en) Tool attachable to controller
US7275236B1 (en) Method for programming a multiple device control system using object sharing
CN101460928B (zh) 简化安装替代性现场设备的方法和支持性配置用户界面
JP6904639B2 (ja) フィールド計装装置からの診断データのバックグラウンド収集
US6446202B1 (en) Process control configuration system for use with an AS-Interface device network
USRE40817E1 (en) Process control system including automatic sensing and automatic configuration of devices
US6449715B1 (en) Process control configuration system for use with a profibus device network
US8761196B2 (en) Flexible input/output devices for use in process control systems
US8185871B2 (en) System for configuring a process control environment
US6098116A (en) Process control system including a method and apparatus for automatically sensing the connection of devices to a network
US8782539B2 (en) Generic utility supporting on-demand creation of customizable graphical user interfaces for viewing and specifying field device parameters
US8464168B2 (en) Device home page for use in a device type manager providing graphical user interfaces for viewing and specifying field device parameters
US8644959B2 (en) System and method for functionalization in line with demand, for control and regulatory devices
US6725288B2 (en) System for transmitting data between a device data area and a variable data area of a memory according to a memory map based on an identifying data of a device detected
US20040111499A1 (en) Method for launching applications
CN103365686A (zh) 提供自动软件更新的方法和装置
US6088624A (en) Industrial controller with flexible data structures
JP2019096301A (ja) Plcの制御システムへの統合のためのスマート機能ブロック及びそのための方法
JP2002268730A (ja) フィールドデバイスのメンテナンス装置
WO2019176336A1 (ja) 制御システム、開発支援装置、および開発支援プログラム
JP4666172B2 (ja) 制御システム設定管理システム
JP2002055713A (ja) プラント制御システム
US20220398355A1 (en) Design support device and storage medium
JP3497441B2 (ja) 制御用サーバ装置、および、制御システム

Legal Events

Date Code Title Description
AS Assignment

Owner name: OMRON CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MASUDA, MASAYUKI;NAGAO, YOSHIYUKI;KADOWAKI, MASANORI;AND OTHERS;REEL/FRAME:014792/0965;SIGNING DATES FROM 20031117 TO 20031128

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION