Programmable controller and control method of programmable controller
10054926 ยท 2018-08-21
Assignee
Inventors
Cpc classification
G05B2219/21053
PHYSICS
International classification
Abstract
A programmable controller of an embodiment is a programmable controller connected to a device to be a controlled object via a network, and includes a control unit that requests the device to notify an identifier of the device and mode information via the network, the mode information defining a utilized function and an operation method of the device; and a storage unit that stores the identifier and the mode information notified by the device via the network in response to the request.
Claims
1. A programmable controller connected to a database server and a device as a controlled object via a network, the programmable controller comprising: a control unit to request the device to notify an identifier of the device and mode information via the network, the mode information defining a function to be utilized by the device and an operation method of the device; a storage unit to store the identifier and the mode information that the device notified via the network in response to the request; a program memory to store a plurality of software modules to control the device, which are included in a device driver acquired from the database server based on the identifier and the mode information; a link memory to store an I/O memory file in which I/O information to control the device is described; a file system controller to manage the I/O memory files; and a program execution unit to reference and modify the I/O memory file via the file system controller when executing each of the plurality of software modules, wherein the link memory is allotted with an I/O memory area to store the I/O memory file corresponding to each of the plurality of software modules.
2. The programmable controller according to claim 1, wherein the program execution unit executes each of the plurality of software modules with a communication from the device as a trigger.
3. A control method of a programmable controller, the method comprising: requesting a device as a controlled object connected to the programmable controller to notify an identifier of the device and mode information that defines a function to be utilized by the device and an operation method of the device; storing the identifier and the mode information that the device notified in response to the request; acquiring a device driver comprising a plurality of software modules from among a plurality of device drivers, from a database server connected to the programmable controller, based on the identifier; acquiring at least one software module from among the plurality of software modules of the acquired device driver, based on the mode information; securing an area for storing I/O information for controlling the device corresponding to each of the at least one software module; and referencing and modifying the I/O information when executing each of the at least one software module.
4. The control method of a programmable controller according to claim 3, the method further comprising: requesting the device connected to the programmable controller to notify the identifier of the device and the mode information that defines the function to be utilized by the device and the operation method of the device, after the securing the area for storing the I/O information.
5. The control method of the programmable controller according to claim 3, wherein the plurality of device drivers respectively correspond to a plurality of devices controlled by the programmable controller and wherein the plurality of software modules in the device driver are uniquely identified by a respective plurality of mode information.
6. The control method of the programmable controller according to claim 3, wherein the device is connected to the programmable controller via a plug and play.
7. The control method of the programmable controller according to claim 3, further comprising storing the acquired at least one software module in a program memory of the programmable controller.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
DESCRIPTION OF EMBODIMENTS
(6) Hereinbelow, an embodiment of a programmable controller and a control method of the programmable controller according to the present invention will be described in detail with reference to the drawings. Notably, the invention is not to be limited by the embodiment.
Embodiment
(7)
(8) In
(9)
(10)
(11) Next, with what sort of process a plug-and-play function is realized in the programmable controller 10 according to the present embodiment will be described.
(12)
(13) Firstly, the devices 21, 22, and 23 connected to the network 30 notify the programmable controller 10 of their GUIDs being the identifiers and mode information. Then, the programmable controller 10 stores the notified GUIDs being the identifiers and the mode information in the storage unit 71 in
(14) Next, the programmable controller 10 uniquely acquires the device driver from the database server 40 based on the GUIDs being the identifiers and the mode information that were notified and stored in the storage unit 71 (step S2). The database server 40 retains data of device drivers corresponding to various devices, and each device driver includes one or more software modules that control the connected device. The programmable controller 10 can uniquely identify the software module based on the mode information that defines the function and operation method utilized by the device connected to the network 30 from among the software modules included in each device driver. Thus, the operation by humans, which had conventionally been necessary, can be eliminated from the connection of the device until when the device is brought to be available.
(15) The software modules included in the acquired device driver and selected based on the mode information are stored in the program memory 51. Further, an I/O memory area for a control purpose is allotted in the link memory 50 in the programmable controller 10 for each of the software modules stored in the program memory 51. Due to this, the software modules corresponding respectively to the devices 21, 22, and 23 are set in an executable state in the programmable controller 10 (step S3). Notably, since plural functions can be executed depending on the device, the suitable software module for execution in the programmable controller 10 may differ depending on the function to be used; thus, a plurality of software modules needs to be provided. That is, a plurality of software modules stored in the program memory 51 may exist for one device. Even in such a case, the I/O memory area is allotted in the link memory 50 for each of the software modules.
(16) Further, in a case where setting information such as device parameters necessary for the devices 21, 22, and 23 exists in the device driver, such is transmitted to the devices 21, 22, and 23 via the network 30, and the connected devices 21, 22, and 23 become available (step S4). That is, the plug-and-play of the devices 21, 22, and 23 is realized.
(17) Timing and method of notification from the devices 21, 22, and 23 to the programmable controller 10 in step S1 of
(18) The devices 21, 22, and 23 have a link-completed state as a state in which the device driver has been linked. If the devices 21, 22, and 23 are not in the link-completed state, a notification of their GUID and mode information is performed in a case where a connection to the network 30 is detected, or in a case where a notification request from the programmable controller 10 is received.
(19) Further, the devices 21, 22, and 23 stop the notification of their GUID and mode information via the network 30 at a time point when they are in the link-completed state, and do not perform the notification even when the notification request from the programmable controller 10 is received.
(20)
(21) In a case of having detected its connection to the network 30, the programmable controller 10 sends the notification request to all of the devices connected to the control unit 70 via the network 30, which are in the example of
(22) Then, a determination is made on whether or not a notification from one or more devices has been received (step S12). In a case of having received the notification from one or more devices (step S12: Yes), the series of process illustrated in the flow chart of
(23) Further, in a case where the notification from the devices cannot be received (step S12: No), a standby state is commenced and thus no action is taken, and the process returns to step S12.
(24) After the step S13, a determination is made on whether or not all of the notified devices have been made available (step S14). The step S13 (procedures in
(25) In a case where all of the notified devices become available (step S14: Yes), that is, after when the programmable controller 10 has performed the plug-and-play process to all of the notified devices, the process returns to step S11, and the control unit 70 of the programmable controller 10 restarts to send notification requests to the devices via the network 30 by controlling the communication controller 60.
(26) In the present embodiment, after all of the notified devices become available (step S14: Yes), the programmable controller 10 once again sends the notification requests to the devices via the network 30 (step S11). Thus, the device connections can be detected even with frequent situations where a large number of devices is to be connected, and in cases where the notification receipt from other devices has failed.
(27) By the above detection method, as compared to a method that repeats the notification requests periodically to an entirety of the network 30 so as to confirm whether a newly connected device exists or not, a load on the network 30 in connection to device detection can be reduced.
(28) Further, the notification timings of the GUID being the identifier and the mode information from devices may be staggered so as to disperse the load on the network 30.
(29) The allotment of the I/O memory areas for linking purposes in the step S3 of
(30) In the allotment of the I/O memory areas in the step S3, an I/O memory file having a file content of I/O information for controlling a device is allotted to the link memory 50 being the memory area dedicated to each device. However, the link memory 50 is managed by a generally available file system, and the I/O memory files are managed in file units via the file system controller 61.
(31) As an operation during the plug-and-play execution, firstly, the I/O memory file having the file content of I/O memory is created in the link memory 50 in the programmable controller 10 (
(32) Subsequently, the software modules that operate on the programmable controller 10 and included in the device driver acquired from the database server 40 in the step S2 in
(33) As illustrated in
(34) A file name of the I/O memory file created in the step S3 of
(35) The memory to be allotted to the device to be connected to the automatic machine system would have increased management cost with increased system size, so the link-purposed I/O memory can easily be managed by managing the I/O memory as a file, as in the present embodiment.
(36) In addition, effects of improved convenience to utilize functions such as monitoring and logging in device units can be expected.
(37) With the allotment of the I/O memory areas and the linking of the software modules of the device drivers corresponding to the devices 21, 22, and 23 in the step S3, for example, when a control-purposed software module (device 21) for the device 21 is to be executed, the program execution unit 62 refers to data in the I/O memory file (device 21) allotted via the file system controller 61. In a case where a modification request to the I/O memory file (device 21) is occurring after the execution of the control-purposed software module (device 21) for the device 21 is completed, the content thereof is written back via the file system controller 61. Notably, the program execution unit 62 may for example execute a device control-purposed software module with a communication from this device as a trigger.
(38) As described above, in the programmable controller and the control method of the programmable controller according to the present embodiment, the mode information for identifying the utilized function and operation method of a device is provided among the information to be collected from the device, and is collected together with the GUID. Thus, the software module can uniquely be identified even in cases where there is a plurality of software module candidates for identifying the device driver to be linked, based on the mode information that defines the utilized function and operation method of the device. Thus, the plug-and-play function can be provided without needing any manual operation by humans, aside from the physical connection of the device to the network.
(39) Moreover, the invention of the present application is not limited to the above embodiment, and in carrying out the invention, various modifications may be made within the scope that does not go beyond the essence thereof. Further, the above embodiment includes inventions of various levels, and numbers of inventions may be extracted therefrom by suitable combinations of the disclosed plurality of constituent features. For example, even if some of the constituent features are omitted from the entire set of constituent features shown in the embodiment, the configuration with said constituent features omitted may be extracted as an invention, if the problem described in the section of the technical problem can be solved, and the effect described in the section of the advantageous effects of the invention can be achieved. Furthermore, constituent features among different embodiments may suitably be combined.
INDUSTRIAL APPLICABILITY
(40) As above, the programmable controller according to the present invention is useful in a programmable controller installed with the plug-and-play function suitable for system construction, and especially is suitable for the construction of automatic machines.
REFERENCE SIGNS LIST
(41) 10 PROGRAMMABLE CONTROLLER
(42) 21, 22, 23 DEVICE
(43) 30 NETWORK
(44) 40 DATABASE SERVER
(45) 50 LINK MEMORY
(46) 51 PROGRAM MEMORY
(47) 60 COMMUNICATION CONTROLLER
(48) 61 FILE SYSTEM CONTROLLER
(49) 62 PROGRAM EXECUTION UNIT
(50) 70 CONTROL UNIT
(51) 71 STORAGE UNIT