Communication system, communication apparatus, and program

An instruction terminal includes a storage that stores correspondence information that associates, for each of communication devices, identification information of the communication device and candidate parameters for communication with the communication device, a first instructor that issues an instruction to acquire the identification information of a network device that is a communication device of the communication devices and is connected to a communication apparatus via a network, a second instructor that issues an instruction to specify, from among candidate parameters that are included in the correspondence information and correspond to the identification information, a device parameter for the communication with the network device, and a receiver that receives specification information indicating the specified device parameter. A communication apparatus includes an acquirer that acquires the identification information from the network device, a specifier that specifies the device parameter from among the candidate parameters, and a transmitter that transmits the specification information.

CROSS-REFERENCE TO RELATED APPLICATION

The present application is based on PCT filing PCT/JP2019/027519, filed Jul. 11, 2019, the entire contents of which are incorporated herein by reference.

TECHNICAL FIELD

The present disclosure relates to a communication system, a communication apparatus, and a program.

BACKGROUND ART

In a facility, such as a factory, a processing system in which multiple devices are connected is constructed to achieve various types of processes such as a production process, inspection process, and the like. A programmable logic controller (PLC) serving as a communication apparatus performs reading and writing with respect to data stored in a memory of each of the devices via a network, thereby allowing the processing system to operate as a unit (for example, refer to Patent Literature 1).

CITATION LIST

Patent Literature

Patent Literature 1: Unexamined Japanese Patent Application Publication No. 2016-197383

SUMMARY OF INVENTION

Technical Problem

With regard to communication protocols to be followed in communication with the devices by the communication apparatus including the PLC used in the factory, due to differences in manufacturers of the devices, a situation often occurs in which the devices differ in a higher layer, such as an application layer, of layers of the Transmission Control Protocol/Internet Protocol (TCP/IP) model, while lower layers of the TCP/IP model, such as a network interface layer, an internet layer, and a transport layer, are unified. Examples of this type of communication protocol in the higher layer include Seamless Message Protocol (SLMP) and MODBUS/TCP. In a case in which the processing system of Patent Literature 1 includes devices that differ in the higher layer communication protocol, simple connection by cable cannot allow the PLC to communicate with each device for control. Thus, achievement of communication by the PLC with a device that is different from the PLC in a higher layer protocol such as an application layer requires connecting to the PLC a terminal for setting operation of the PLC and manually performing, by a user by using the terminal, setting for the device including setting for an IP address, a port number, and a communication protocol in the application layer.

However, advance preparing of information relating to all devices included in the processing system is a heavy burden on the user. Additionally, a large-scale system that includes numerous devices leads to numerous necessary setting items, imposing a heavy workload on the user. Furthermore, setting errors readily occur in such a system, imposing a heavy workload on the user.

The present disclosure is made in view of the aforementioned circumstances, and an objective of the present disclosure is to reduce the workload of the user.

Solution to Problem

To achieve the aforementioned objective, a communication system according to the present disclosure is a communication system that includes a communication apparatus to connect to a network and an instruction terminal to receive input from a user and to send instructions to the communication apparatus. The instruction terminal includes (i) storage means for storing correspondence information that associates, for each of communication devices, (a) identification information for identification of the communication device and (b) candidate parameters, the identification information being held by the communication device for unique identification thereof, the candidate parameters being candidates of a parameter for communication with the communication device, (ii) first instruction means for issuing to the communication apparatus an instruction to acquire the identification information of a network device that is a communication device of the communication devices and is connected to the communication apparatus via the network, (iii) second instruction means for issuing to the communication apparatus an instruction to specify, from among the candidate parameters that are included in the correspondence information and correspond to the identification information acquired in accordance with the instruction from the first instruction means, a device parameter for communication with the network device, and (iv) reception means for receiving, from the communication apparatus, specification information indicating the device parameter specified by the communication apparatus. The communication apparatus includes (i) acquisition means for acquiring the identification information from the network device in accordance with the instruction from the first instruction means, (ii) specifying means for specifying the device parameter from among the candidate parameters in accordance with the instruction from the second instruction means, and (iii) transmission means for transmitting the specification information to the instruction terminal.

Advantageous Effects of Invention

According to the present disclosure, the specifying means included in the communication apparatus specifies the device parameter for communication with the network device, and the reception means included in the instruction terminal receives from the communication apparatus the specification information indicating the specified device parameter. This configuration eliminates the need by the user to prepare in advance information relating to each network device, leading to reduction in the workload imposed on the user.

DESCRIPTION OF EMBODIMENTS

Hereinafter, a communication system100according to an embodiment of the present disclosure is described in detail with reference to the drawings.

Embodiment

The communication system100according to the present embodiment is a factory automation (FA) system constructed in a factory, and performs, for example, a process such as a manufacturing process, an inspection process, a machining process, and the like. The communication system100includes a communication apparatus20connected to a network30, an instruction terminal10that receives input from a user101and sends instructions to the communication apparatus20, and network devices41and42connected to the network30. With regard to communications performed by the communication apparatus20, the instruction terminal10, and the network devices41and42, the communications are assumed to be unified with respect to communication protocols in lower layers of the TCP/IP model, such as a network interface layer, an internet layer, and a transport layer.

The instruction terminal10is, for example, an industrial personal computer (IPC) or a tablet terminal, and includes a graphical user interface (GUI) that allows the user101to input information. The instruction terminal10, by executing a tool application, functions as a user interface (UI) for sending various types of instructions to the communication apparatus20. This tool application is also called an engineering tool.

The instruction terminal10is connected to the communication apparatus20via a communication line301. The communication line301may be, for example, a universal serial bus (USB) cable or a dedicated line, or other cable. Additionally, the network30may be substantially equivalent to the communication line301. That is to say, a configuration may be employed in which the communication system100does not include the communication line301illustrated inFIG. 1and the instruction terminal10is connected to the communication apparatus20via the network30.

The communication apparatus20is a controller such as a PLC, and communicates with the network devices41and42to control the network devices41and42. Each of the network devices41and42may be any of a sensor device, an actuator, or a robot, or another device. The communication apparatus20, based on a sensing result that is a result of sensing by the network device41serving as a sensor device, controls operation of the network device42serving as an actuator. Content of control processing executed by the communication apparatus20is freely stipulated by the user. The number of devices that serve as control targets of the communication apparatus20is not limited two, and may be one or three or more.

The communication apparatus20is connected to the network devices41and42via the network30. The network30is an industrial communication network, and may be an Ethernet network that employs Ethernet® as a communication protocol in the network interface layer of the TCP/IP model, or may be another type of network. Hereinafter, a case is mainly described in which the network30is the Ethernet network. The communication apparatus20and the network devices41and42are connected to one another via an Ethernet cable, each of the communication apparatus20and the network devices41and42holds in advance a media access control (MAC) address that is identification information for unique identification thereof, and also is assigned an IP address indicating a destination to which data is transmitted via the network30. The IP address is set in advance for each of the network devices41and42. Whereas the IP address is assigned for each of the apparatus and the devices when the communication system100is constructed, the identification information differs from the IP address in that the identification information is normally assigned to each of the apparatus and the devices during manufacture and is unique information held in advance by the apparatus or the device itself when disconnected from the network30. Each of the network devices41and42may be a PLC, or may be an input-output unit that is connected via a network.

Each of the instruction terminal10and the communication apparatus20includes, as illustrated inFIG. 2, a processor31, a main storage32, an auxiliary storage33, an inputter34, an outputter35, and a communicator36. The main storage32, the auxiliary storage33, the inputter34, the outputter35, and the communicator36, are connected to the processor31via an internal bus37.

The processor31includes a central processing unit (CPU). The processor31executes a program39stored in the auxiliary storage33to achieve various types of functions of the instruction terminal10or the communication apparatus20, thereby executing processing described later.

The main storage32includes random access memory (RAM). The program39is loaded from the auxiliary storage33into the main storage32. The main storage32is used by the processor31as a work area.

The auxiliary storage33includes a nonvolatile memory such as an electrically erasable programmable read-only memory (EEPROM) and a hard disk drive (HDD). The auxiliary storage33stores the program39and various types of data used for processing by the processor31. The auxiliary storage33, in accordance with instructions from the processor31, supplies to the processor31data to be used by the processor31and stores data supplied from the processor31. AlthoughFIG. 2illustrates in a representative manner only one program, that is, the program39, the auxiliary storage33may store multiple programs, and multiple programs may be loaded into the main storage32.

The inputter34includes an input device such as input keys and a pointing device. The inputter34acquires information inputted by the user of the instruction terminal10and the communication apparatus20, and sends notification of the acquired information to the processor31.

The outputter35includes an output device such as a liquid crystal display (LCD) and a speaker. The outputter35presents various types of information to the user in accordance with instructions from the processor31. The communication apparatus20may omit the inputter34and the outputter35of the communication apparatus20, since the instruction terminal10functions as a UI of the communication apparatus20.

The communicator36includes a network interface circuit for communicating with an external device. The communicator36receives a signal from the exterior and outputs data indicated by the signal to the processor31. Further, the communicator36transmits to the external device a signal indicating data output from the processor31.

The instruction terminal10and the communication apparatus20, by cooperation among hardware components illustrated inFIG. 2, achieve various functions as illustrated inFIG. 3for the communication apparatus20to automatically acquire information for communication with the network devices41and42. The communication devices50illustrated inFIG. 3are devices that are connected to the communication apparatus20via the network30but lack established communication with the communication apparatus20. The communication apparatus20, starting from a state in which parameters for communication with the communication devices50located opposite to the communication apparatus20to sandwich the network30are unknown, makes clear that the communication devices50are the network devices41and42by specifying the parameters in accordance with instructions from the instruction terminal10, and sends notification of the parameters to the instruction terminal10.

As illustrated inFIG. 3, the instruction terminal10includes a first instructor11that issues to the communication apparatus20an instruction to acquire the identification information of each of the network devices41and42that are the communication devices50, a storage12that stores various types of information, a second instructor13that issues to the communication apparatus20an instruction to specify device parameters for communication with the network devices41and42, a receiver14that receives information indicating the specified device parameters, a third instructor15that issues to the communication apparatus20an instruction to specify device types of the network devices41and42, and a display processor16for displaying a screen by using the acquired device parameters and the device types. A specifier22of the communication apparatus20specifies the device types in accordance with instructions from the third instructor15of the instruction terminal10, and a transmitter23of the communication apparatus20transmits device-type information indicating the specified device types to the instruction terminal10. The receiver14of the instruction terminal10receives the device-type information.

The first instructor11is mainly achieved by cooperation between the processor31and the communicator36of the instruction terminal10. The first instructor11issues, to the communication apparatus20, an instruction to acquire the identification information of each of the network devices41and42that are communication devices50connected to the communication apparatus20via the network30. Specifically, the first instructor11transmits to the communication apparatus20a command for starting search processing for searching for the communication devices50connected to the network30. The first instructor11is an example of first instruction means, included in the instruction terminal10, for issuing to a communication apparatus an instruction to acquire the identification information.

The identification information is device identification information that is uniquely assigned to each communication device50, and as illustrated inFIG. 4, includes a manufacturer specification code61for specifying a manufacturer of the corresponding communication device50and a device-type specification code62for specifying a device type of the corresponding communication device50. Specifically, the identification information is an MAC address that contains, as the manufacturer specification code61, three octets for identification of a vendor, and contains, as the device-type specification code62, two octets for identification of a serial number. For example, the identification information “38:E0:8E:99:99:10” contains “38:E0:8E” that is the manufacturer specification code61and “99:99” that is the device-type specification code. Since specifying a manufacturer of each of the communication devices50enables narrowing down candidate parameters that are candidates of parameters for communication with the communication devices50to some extent, this identification information is utilized for specifying the parameters for communication with the communication device50.

Again with reference toFIG. 3, the storage12is a database management system (DBMS) that is mainly achieved by the auxiliary storage33of the instruction terminal10. As illustrated inFIG. 5, the storage12stores (i) correspondence information121that associates, for each of the communication devices50, (a) the identification information for identification of the communication device50and (b) candidate parameters that are candidates of parameters for communication with the communication device50, (ii) device information122relating to the network devices41and42, (iii) device-type specification information123for specifying the device types of the network devices41and42, and (iv) label information124indicating labels to be displayed to the user101. The storage12is an example of storage means, included in the instruction terminal10, for storing information.

The correspondence information121is, as illustrated inFIG. 6, table format data that associates the identification information of each communication device50, the manufacturer, and the candidate parameters, with one another. The identification information of the communication device50may be stipulated as a range by using a lower limit and an upper limit, as illustrated inFIG. 6. The manufacturer is a manufacturer name that corresponds to the manufacturer specification code61contained in the identification information. The candidate parameters include port numbers and communication protocols for communication with the communication device50. According to the example illustrated inFIG. 6, a communication device50that holds the identification information that falls within the range from “38:E0:8E:00:00:00” to “38:E0:8E:FF:FF:FF” is manufactured by the manufacturer “MA” and has a function of communicating through any one of port numbers “5000”, “5005”, “1-4999” or “5010-65534” in accordance with any one of communication protocols “Pa1”, “Pa2”, or “Pa3”. The correspondence information121as described above is stipulated in advance and stored in the storage12.

The device information122is information relating to the network devices41and42that are the control targets. The device information122at first does not indicate particular information such as that indicated in the upper part ofFIG. 7, since details of the communication devices50are unclear. According to the communication system100according to the present embodiment, the user need not manually set such device information122. Updating the device information122to a state as illustrated in the lower part ofFIG. 7, indicating parameters specified by the communication apparatus20, achieves preparation for allowing the user101to determine control to the network devices41and42and for allowing the communication apparatus20and the network device41and42to achieve content of the determined control. The device information122is table format data that associates, for each of the network devices41and42, a number assigned to the network device, an address, the identification information, the manufacturer, the specified device type, and the device parameters specified from among the candidate parameters, with one another.

Again with reference toFIG. 5, the device-type specification information123and the label information124are described later in detail.

Again with reference toFIG. 3, the second instructor13is mainly achieved by cooperation between the processor31and the communicator36of the instruction terminal10. The second instructor13issues, to the communication apparatus20, an instruction to specify, from among candidate parameters that are included in the correspondence information121and correspond to the identification information acquired in accordance with the instruction from the first instructor11, the device parameters for communication with the network devices41and42. Specifically, when notification of the identification information of the network devices41and42acquired by the communication apparatus20is sent to the instruction terminal10, the second instructor13extracts the candidate parameters that are included in the correspondence information121and correspond to the identification information of the sent notification. Then the second instructor13, with sending of notification of the extracted candidate parameters to the communication apparatus20, issues an instruction to specify, from among the candidate parameters, device parameters enabling establishment of communication with the network devices41and42. More specifically, the second instructor13transmits, to the communication apparatus20, in addition to the candidate parameters, a command for starting parameter specifying processing for specifying the device parameters.

Although an example is described in which the second instructor13transmits the candidate parameters to the communication apparatus20, this configuration is not limiting. The second instructor13may, with transmission of the correspondence information121to the communication apparatus20, instruct the communication apparatus20to specify the device parameters by utilizing this correspondence information121. The second instructor13is an example of second instruction means, included in the instruction terminal10, for issuing to the communication apparatus20an instruction to specify the device parameters.

The receiver14is mainly achieved by the communicator36of the instruction terminal10. The receiver14receives various types of information transmitted from the communication apparatus20to the instruction terminal10. Specifically, the receiver14may receive the identification information of the network devices41and42that is acquired by the communication apparatus20. Additionally, the receiver14receives, from the communication apparatus20, parameter-specification information indicating the device parameters specified by the communication apparatus20. Further, the receiver14receives, from the communication apparatus20, the device-type information indicating the device types of the network devices41and42specified by the communication apparatus20. The information that the receiver14receives from the communication apparatus20is not limited to the aforementioned information, and the receiver14may receive another type of information. The receiver14is an example of reception means, included in the instruction terminal10, for receiving the parameter-specification information.

The third instructor15is mainly achieved by cooperation between the processor31and the communicator36of the instruction terminal10. The third instructor15, by utilizing the device-type specification information123, instructs the communication apparatus20to send notification of the device types of the network devices41and42to the instruction terminal10.FIG. 8illustrates an example of the device-type specification information123. As illustrated inFIG. 8, the device-type specification information123is information indicating, for each manufacturer, request data for requesting notification of a device type corresponding to the manufacturer, and is table format data that associates the manufacturer and the request data. For example, the communication device50corresponding to the manufacturer “MA”, upon receipt of data “REQUEST DEVICE TYPE”, makes a reply indicating a device type. The third instructor15sends, to the communication apparatus20, the request data that is included in the device-type specification information123and corresponds to the manufacturer of each of the network devices41and42. Then the third instructor15instructs the communication apparatus20to transmit the sent request data to the network devices41and42. The third instructor15is an example of third instruction means, included in the instruction terminal10, for issuing to the communication apparatus20an instruction to send notification of the device types of the network devices41and42. The device-type specification information123is stipulated in advance and is stored in the storage12.

Again with reference toFIG. 3, the display processor16is mainly achieved by the outputter35of the instruction terminal10. The display processor16executes the display processing based on the device parameters and the device types that are specified by the communication apparatus20. Specifically, the display processor16executes the display processing based on (i) the device parameters indicated by the parameter-specification information received by the receiver14and (ii) the device types of the network devices41and42that are indicated by the device-type information received by the receiver14. The processing executed by the display processor16is described later in detail. The display processor16is an example of display processing means, included in the instruction terminal10, for executing processing based on the device parameters and the device types.

The communication apparatus20includes an acquirer21that acquires the identification information from the network devices41and42in accordance with the instruction from the instruction terminal10, the specifier22that, in accordance with the instructions from the instruction terminal10, specifies the device parameters from among the candidate parameters and specifies the device types of the network devices41and42, and the transmitter23that transmits, to the instruction terminal10, the parameter-specification information indicating the specified device parameters and the device-type information indicating the specified device types.

The acquirer21is mainly achieved by cooperation between the processor31and the communicator36of the communication apparatus20. The acquirer21, in accordance with the instruction from the first instructor11of the instruction terminal10, to each address on the network30, transmits data requesting notification of the identification information. That is to say, the acquirer21acquires the identification information from the network devices41and42by transmitting the data that includes each of addresses within the range stipulated by the network30as a destination and that is for requesting notification of the identification information. Specifically, the acquirer21searches for the network devices41and42on the network30and acquires the identification information by (i) performing broadcast transmission of an address resolution protocol (ARP) request for requesting notification of the MAC address to each of IP addresses within the range that is stipulated by the IP address of the communication apparatus20itself and by a subnet mask of the network30that serves as a network segment and (ii) receiving an ARP reply. The ARP request is a request transmitted by communication that is available between devices even in a case in which the devices are different in communication protocols in the application layer while being unified with respect to communication protocols in lower layers such as the network interface layer, the internet layer, and transport layer. In a case in which IPv6 addresses are used, the acquirer21acquires the identification information by employment of, instead of the ARP request and the ARP reply, a neighbor discovery protocol (NDP) request and an NDP reply. The acquirer21is an example of acquisition means, included in the communication apparatus20, for acquiring the identification information.

The specifier22is mainly achieved by cooperation between the processor31and the communicator36of the communication apparatus20. The specifier22, in accordance with the instruction from the second instructor13of the instruction terminal10, by communications with respect to the network devices41and42that are performed by using the candidate parameters, specifies the device parameters based on whether a reply is made by the network devices41and42in response to each of the communications. Further, the specifier22, by transmitting the request data to the network devices41and42in accordance with the instructions from the third instructor15of the instruction terminal10, queries the network devices41and42with respect to device types. Then the specifier22specifies the device types of the network devices based on replies from the network devices41and42in response to the request data. The specifier22is an example of specifying means, included in the communication apparatus20, for specifying the device parameters and the device types of the network devices41and42.

The transmitter23is mainly achieved by the communicator36of the communication apparatus20. The transmitter23transmits the identification information acquired by the acquirer21to the instruction terminal10and transmits the parameter-specification information and the device-type information to the instruction terminal10. The transmitter23is an example of transmission means, included in the communication apparatus20, for transmitting information to the instruction terminal10.

Next, processing executed by each of the instruction terminal10and the communication apparatus20is described with reference toFIGS. 9-18.FIG. 9illustrates instruction processing executed by the instruction terminal10.

In the instruction processing, the instruction terminal10determines whether input by the user101exists (step S10). Specifically, the instruction terminal10determines whether the user101inputs a command for causing the communication apparatus20to specify the device parameters. The input of this command may be execution of a command that is a character string stipulated in advance, or may be holding down a button for updating the device information122.

When a determination is made that the input by the user101does not exist (NO in step S10), the instruction terminal10repeats the determining in step S10and waits for input by the user101. Conversely, when a determination is made that the input by the user101exists (YES in step S10), the instruction terminal10executes identification information collection processing (step S11). This identification information collection processing is processing for collecting the MAC addresses that serve as the identification information of the communication devices50existing on the network30and the IP addresses of the communication devices50, and corresponds to execution of the instruction from the first instructor11.

FIG. 10illustrates details of the identification information collection processing. As illustrated inFIG. 10, in the identification information collection processing, the first instructor11instructs the communication apparatus20to acquire the identification information of each of the network devices41and42(step S111). Specifically, the first instructor11issues an instruction to acquire the identification information and the IP address of the network devices41and42that are communication devices50existing on the network30.

Then the receiver14receives, from the communication apparatus20, result information indicating a result of acquisition by the communication apparatus20(step S112). The result information is information that is transmitted from the communication apparatus20every time a device existing on the network30is discovered and that indicates the identification information and the IP address of the discovered device.

Then the first instructor11extracts the identification information contained in the result information received in step S112, and extracts the candidate parameters that are included in the correspondence information121and correspond to the extracted identification information (step S113).

Then the first instructor11determines whether the communication apparatus20sends search end notification (step S114). When a determination is made that the search end notification is not sent (NO in step S114), the instruction terminal10repeats the processing in step S112and beyond. In the aforementioned manner, every time the communication device50existing on the network30is discovered, the instruction terminal10obtains the identification information and the IP address of the discovered communication device50that is the network device41or the network device42. When a determination is made in step S114that the search end notification is sent (YES in step S114), the processing executed by the instruction terminal10returns, from the identification information collection processing illustrated inFIG. 10, to the instruction processing illustrated inFIG. 9.

Again with reference toFIG. 9, following step S11, the instruction terminal10executes parameter collection processing (step S12). This parameter collection processing is processing for collecting the device parameters for communication with the network devices41and42and corresponds to execution of the instruction from the second instructor13.

FIG. 11illustrates details of the parameter collection processing. As illustrated inFIG. 11, in the parameter collection processing, the second instructor13selects one unselected network device (step S121). Specifically, the second instructor13selects, from among network devices corresponding to the identification information collected in the identification information collection processing ofFIG. 10, any one of the devices.

Then the second instructor13with sending to the communication apparatus20of notification of the candidate parameters corresponding to the network device selected in step S121, instructs the communication apparatus20to specify the device parameters for communication with the network device (step S122). The candidate parameters of the network device are the candidate parameters extracted in step S113ofFIG. 10.

Then the receiver14receives, from the communication apparatus20, the parameter-specification information indicating the specified device parameters (step S123). This enables obtaining by the instruction terminal10of the device parameters for communication with the network device selected in step S121.

Then the second instructor13determines whether all of the network devices are heretofore selected (step S124). Specifically, the second instructor13determines whether network devices corresponding to the respective identification information acquired until the search end notification is sent in the identification information collection processing ofFIG. 10are selected.

When a determination is made that not all of the network devices are heretofore selected (NO in step S124), the instruction terminal10repeats the processing in step S121and beyond. This enables specifying the device parameters for each network device and collecting by the instruction terminal10of the device parameters for each network device. Conversely, when a determination is made that all of the network devices are heretofore selected (YES in step S124), the processing executed by the instruction terminal10returns, from the parameter collection processing illustrated inFIG. 11, to the instruction processing illustrated inFIG. 9.

Again with reference toFIG. 9, following step S12, the instruction terminal10executes device-type information collection processing (step S13). This device-type information collection processing is processing for collecting the device types of the network devices41and42and corresponds to execution of the instructions from the third instructor15.

FIG. 12illustrates details of the device-type information collection processing. In the device-type information collection processing, the third instructor15selects one unselected network device (step S131). Specifically, the third instructor15selects, from among the network devices corresponding to the identification information collected in the identification information collection processing ofFIG. 10, any one of the devices.

Then the third instructor15, by sending notification of the request data to be transmitted to the selected network device, instructs the communication apparatus20to specify the device type of the network device (step S132). Specifically, the third instructor15reads the request data included in the device-type specification information123and corresponding to the identification information of the network device selected in step S131, and transmits this request data to the communication apparatus20.

Then the receiver14receives the device-type information indicating the device type of the network device specified by the communication apparatus20(step S133). This enables obtaining by the instruction terminal10of the device type of the network device selected in step S131.

Then the third instructor15determines whether all of the network devices are heretofore selected (step S134). Specifically, the third instructor15determines whether all of the network devices corresponding to the identification information collected in the identification information collection processing ofFIG. 10are selected.

When a determination is made that not all of the network devices are heretofore selected (NO in step S134), the instruction terminal10repeats the processing in step S131and beyond. This enables collecting by the instruction terminal10the device-type information indicating the device type of each network device. Conversely, when a determination is made that all of the network devices are heretofore selected (YES in step S134), the processing executed by the instruction terminal10returns, from the device-type information collection processing illustrated inFIG. 12, to the instruction processing illustrated inFIG. 9.

Again with reference toFIG. 9, following step S13, the instruction terminal10updates the device information122based on the information collected in steps S11, S12, and S13(step S14). This updates the device information122as illustrated inFIG. 7.

Then the instruction terminal10executes display processing (step S15). Specifically, the display processor16, by utilizing the device information122and the label information124, displays to the user101a screen for determining content of control.

FIG. 13illustrates an example of the screen displayed by the display processor16. The screen illustrated inFIG. 13is a screen via which setting for reading data from the network devices is inputted. This screen, as illustrated inFIG. 13, contains an area71for displaying content of the device information122, label names72relating to the network devices, and a setting button73for completion of setting. The label names72are names corresponding to addresses of memories included in the network devices and are generated from the label information124.FIG. 14illustrates an example of the label information124. As illustrated inFIG. 14, the label information124is table format data that associates with one another manufacturers of the communication devices, device types of the communication devices, addresses of memories included in the communication devices corresponding to the device types, and labels indicating types of data stored in the addresses. The display processor16reads, from this label information, labels associated with the device type of the network device, and displays the labels as the label names72.

When the user101selects any one of the label names72and completes the setting by using the setting button73, the IP address of the network device41indicated as “network device1” inFIG. 13, the port number “3000”, the communication protocol “Pa3” in the application layer, an address of the memory for reading a value from the memory of the network device41, and a memory address corresponding to the label name, are set for the communication apparatus20. For example, selecting “error code” inFIG. 13as the label name72leads to setting the communication apparatus20to read data, via the network30and the communication apparatus20, from the address “X100” that corresponds to “error code” as illustrated inFIG. 14.

Again with reference toFIG. 9, after step S15, the instruction processing ends.

Next, specifying processing executed by the communication apparatus20is described with reference toFIG. 15. In the specifying processing, the communication apparatus20executes the search processing in accordance with a first instruction from the instruction terminal10(step S21). This search processing is processing for searching for the network devices existing on the network30.

FIG. 16illustrates details of the search processing. In the search processing, the acquirer21determines whether the first instruction is issued from the instruction terminal10(step S211). Specifically, the acquirer21determines whether the instruction in step S111of the identification information collection processing ofFIG. 10is received within a predetermined time period. The predetermined time period is, for example, 100 milliseconds or five seconds.

When a determination is made that the first instruction is not issued (NO in step S211), the acquirer21repeats determining in step S211and waits until the first instruction is issued. Conversely, when a determination is made that the first instruction is issued (YES in step S211), the acquirer21selects one IP address from among unselected IP addresses existing on the network30(step S212). When, for example, the range of IP addresses on the network30is from “192.168.1.1” to “192.168.255.255”, the acquirer21selects any one of the IP addresses that fall within this range.

Then the acquirer21performs, on the network30, to the IP address selected in step S212, multicast transmission of data requesting for the identification information (step S213). Specifically, the acquirer21performs broadcast transmission of the ARP request or the NDP request, to the device corresponding to the selected IP address, to make a request for the identification information.

Then the acquirer21determines whether a reply is made in response to the data transmission in step S213(step S214). In a case in which a device that is assigned the IP address to which the data is transmitted in step S213does not exist, no reply is made by the devices existing on the network30, leading to a negative determination in step S214. Conversely, in a case in which a device that is assigned the IP address to which the data is transmitted in step S213exists, the device that is assigned the IP address replies by sending notification of the identification information to the communication apparatus20, leading to a positive determination in step S214.

When a determination is made that no reply is made (NO in step S214), the acquirer21shifts the processing to step S217. Conversely, when a determination is made that a reply is made (YES in step S214), the acquirer21acquires the identification information from the reply (step S215).

The transmitter23transmits, to the instruction terminal10, the result information indicating the IP address selected in step S212and the identification information acquired in step S215(step S216). This results in sending, to the instruction terminal10, notification of the IP address of the network device existing on the network30and the identification information.

Then the acquirer21determines whether all of the IP addresses are heretofore selected (step S217). When a determination is made that not all of the IP addresses are heretofore selected (NO in step S217), the acquirer21repeats the processing in step S212and beyond. This enables searching of a next network device existing on the network30. Conversely, when a determination is made that all of the IP addresses are heretofore selected (YES in step S217), the communication apparatus20sends, to the instruction terminal10, notification of ending of the search processing (step S218). Thereafter, the processing executed by the communication apparatus20returns, from the search processing illustrated inFIG. 16, to the specifying processing illustrated inFIG. 15.

Again with reference toFIG. 15, following step S21, the communication apparatus20executes the parameter specifying processing (step S22). The parameter specifying processing is processing for specifying the device parameters that each are for communication with a corresponding network device of the network devices searched for in the search processing in step S21.

When a determination is made that the second instruction is not issued (NO in step S221), the processing by the communication apparatus20returns, from the parameter specifying processing ofFIG. 17, to the specifying processing ofFIG. 15. Conversely, when a determination is made that the second instruction is issued (YES in step S221), the specifier22acquires port numbers and protocols as candidate parameters corresponding to the network device for which the device parameters are to be specified (step S222). Specifically, the specifier22acquires the candidate parameters included in the instruction determined to exist in step S221.

Then the specifier22selects one unselected protocol from among the candidate parameters (step S223). For example, in a case of specifying the device parameters corresponding to the network device41, the manufacturer is “MA”, and thus notification of candidate parameters80inFIG. 6is sent to the specifier22as the candidate parameters corresponding to the network device41. The specifier22selects, from among the candidate parameters, a protocol that is a head protocol among unselected protocols. Specifically, the specifier22selects the protocol “Pa1” from among the candidate parameters ofFIG. 6.

Then the specifier22selects one unselected port number from among the candidate parameters (step S224). For example, the specifier22selects, from among the candidate parameters, the port number “5000” that is a head port number among unselected port numbers.

Then the specifier22transmits data to the port number selected in step S224with the protocol selected in step S223(step S224). Specifically, the specifier22transmits data, to the selected port number of the target network device, in accordance with a communication protocol that is a candidate protocol in the application layer (step S225). This data is data for determining whether the port is open and for specifying, from among the candidates, a communication protocol in the application layer.

Then the specifier22determines whether a reply is made in response to the data transmitted in step S225(step S226). Closed state of a port of the target network device leads to no response from such port, whereas open state of this port leads to receipt of a reply from such port.

When a determination is made that no reply is made (NO is step S226), the specifier22determines whether all of the port numbers included in the candidate parameters are heretofore selected (step S227). Specifically, the specifier22determines whether a currently-selected port number is the last port number among port numbers stipulated in the candidate parameters.

When a determination is made that not all of the port numbers are heretofore selected (NO in step S227), the specifier22repeats the processing in step S224and beyond. This enables repetitive test communication by combination of the protocol selected in step S223and a new port number, leading to continuation of searching for a valid parameter.

Conversely, when a determination is made that all of the port numbers are heretofore selected (YES in step S227), the specifier22repeats the processing in step S223and beyond. This enables repetitive test communication by combination of a new protocol and the port numbers included in the candidate parameters, leading to continuation of searching for a valid parameter.

When a determination is made in step S226that a reply is made (YES in step S226), the specifier22specifies the selected protocol and port number as the device parameters (step S228). This enables scanning for a protocol and a port number that enable communication with the target network device.

Then the transmitter23transmits, to the instruction terminal10, the parameter-specification information indicating the specified device parameters (step S229). This allows the instruction terminal10to obtain the device parameters for communication with the target network device. Thereafter, the communication apparatus20repeats the processing in step S221and beyond. This specifies the device parameters corresponding to a next target network device.

Again with reference toFIG. 15, following step S22, the communication apparatus20executes device-type specifying processing (step S23). The device-type specifying processing is processing for specifying a device type for each of the network devices searched for in the search processing in step S21.

FIG. 18illustrates details of the device-type specifying processing. In the device-type specifying processing, the specifier22determines whether a third instruction is issued from the instruction terminal10(step S231). Specifically, the specifier22determines whether the instruction in step S132of the device-type information collection processing ofFIG. 12is received within a predetermined time period. The predetermined time period is, for example, 100 milliseconds or five seconds.

When a determination is made that the third instruction is not issued (NO in step S231), the processing by the communication apparatus20returns, from the device-type specifying processing ofFIG. 18, to the specifying processing ofFIG. 15. Conversely, when a determination is made that the third instruction is issued (YES in step S231), the specifier22acquires from the instruction terminal10the request data to be transmitted to the target network device (step S232).

Then the specifier22transmits the request data to the target network device (step S233), and receives from the network device a reply indicating a device type (step S234). The transmitter23transmits to the instruction terminal10the device-type information indicating the device type of the network device (step S235). This allows the instruction terminal10to obtain a device type of the target network device. Thereafter, the communication apparatus20repeats the processing in step S231and beyond. This enables specifying a device type of a next target network device and sending notification of the device type to the instruction terminal10.

Again with reference toFIG. 15, following step S23, the communication apparatus20ends the specifying processing.

Next, flow of data transmitted in the communication system100are described with reference toFIGS. 19-22.FIG. 19illustrates flow of data when the instruction terminal10executes the identification information collection processing and the communication apparatus20executes the search processing.

As illustrated inFIG. 19, the instruction terminal10sends the first instruction to the communication apparatus20(step S51). Then the communication apparatus20sends a request for the identification information to the IP address “192.168.1.1” (step S52). Since broadcast transmission of this request is performed on the network30, each of the network devices41and42receives this request. However, the addresses held by the network devices41and42are different from “192.168.1.1”, and thus none of the network devices41and42make a reply.

Then the communication apparatus20repeats the sending of the request for the identification information by changing the IP address to “192.168.1.2”. Changing of the IP address is performed sequentially in this manner, to send the request for the identification information repeatedly.

In a case in which the communication apparatus20sends the request to the IP address “192.168.1.10”, since this IP address corresponds to the address of the network device41, the network device41makes a reply by sending notification of the identification information (step S53). The communication apparatus20, upon receipt of the reply, transmits to the instruction terminal10the result information indicating the IP address from which the reply is received and the identification information (step S54). The instruction terminal10extracts the candidate parameters corresponding to the network device41by reading the correspondence information121and checking such against the identification information for which the notification is sent (step S55).

In a manner similar to the aforementioned manner, the communication apparatus20transmits to the instruction terminal10the result information indicating the identification information and the IP address of the network device42, and the instruction terminal10extracts the candidate parameters corresponding to the network device42. When the request for the identification information is sent to the last IP address “192.168.1.255” and no reply is made, the communication apparatus20sends the search end notification to the instruction terminal10, leading to ending of the identification information collection processing and the search processing.

FIG. 20illustrates flow of data when, for the network device41, the instruction terminal10executes the parameter collection processing and the communication apparatus20executes the parameter specifying processing. As illustrated inFIG. 20, the instruction terminal10sends the second instruction to the communication apparatus20(step S61). This instruction includes the identification information, the IP address, and the candidate parameters that correspond to the network device41for which parameters are to be specified.

Then the communication apparatus20performs testing on whether communication with the network device41is established by the candidate parameters, by transmitting data to the network device41while performing one-by-one selection of the candidate parameters in an order stipulated in the correspondence information121. When no reply is made and communication is not established, the next candidate parameter is selected to perform repetitive testing. Due to this, testing for communication, by using a candidate parameter that is a head candidate parameter in the correspondence information121, is performed with priority over testing for communication by using candidate parameters subsequent to the head candidate parameter. Thus, in a case in which communication is established by any of multiple candidate parameters included in the correspondence information121, selection of a candidate parameter that is stipulated ahead of other candidate parameters in the correspondence information121is prioritized.

Specifically, the communication apparatus20selects the port number “5000” described at the head and the port number “Pa1” described at the head from among data indicating the candidate parameters, and transmits data to the selected port number in accordance with the selected protocol (step S62). Then the communication apparatus20determines whether a reply is made from the network device41in response to the transmitted data.

When no reply is made from the network device41, the communication apparatus20selects “5005” that is the next-described port number of the candidate parameters while maintaining the protocol, transmits data (step S63), and determines whether a reply is made. When no reply is made from the network device41, the communication apparatus20performs test communication by a port number subsequent to the next port number in a manner similar to the aforementioned manner, to perform repetitive test communication.

When no reply is made in response to data transmission in which “65534” that is the port number described at the last of the candidate parameters is selected, (step S64), the communication apparatus20selects “Pa2” that is the next-described protocol of the candidate parameters, and performs test communication while performing one-by-one selection of the port numbers in the order from the head port number, to perform repetitive test communication (steps S65-S66).

When a reply is made from the network device41(step S67), the communication apparatus20determines that the currently-selected port number and protocol enable communication with the network device41, and specifies such port number and protocol as the device parameters. Thereafter, the communication apparatus20transmits to the instruction terminal10the parameter-specification information indicating the device parameters corresponding to the network device41(step S68).

FIG. 21illustrates flow of data when, for the network device42, the instruction terminal10executes the parameter collection processing and the communication apparatus20executes the parameter specifying processing. The flow illustrated inFIG. 21corresponds to flow obtained by replacing inFIG. 20the network device41with the network device42.

FIG. 22illustrates flow of data when the instruction terminal10executes the device-type information collection processing and the communication apparatus20executes the device-type specifying processing.

As illustrated inFIG. 22, when the instruction terminal10instructs the communication apparatus20to specify a device type of the network device41(step S71), the communication apparatus20sends a request to the network device41for requesting notification of the device type (step S72). The network device41sends a reply indicating the device type (step S73), and the communication apparatus20transmits to the instruction terminal10the device-type information indicating the device type of the network device41(step S74).

Similarly, when the instruction terminal10issues an instruction to specify a device type of the network device42(step S75), the communication apparatus20sends a request to the network device42for the device type (step S76), and the communication apparatus20receives a reply from the network device42(step S77) and transmits the device-type information indicating the device type of the network device42(step S78). Then the instruction terminal10updates the device information122(step S79) and executes the display processing (step S80).

As described above, the specifier22of the communication apparatus20specifies the device parameters for communication with the network devices41and42, and the receiver14of the instruction terminal10receives from the communication apparatus the parameter-specification information indicating the specified device parameters. This configuration eliminates the need by the user101to prepare information relating to each of the network devices41and42in advance, and accordingly eliminates the need by the user101to set to the communication apparatus20information relating to the IP addresses, the port numbers, the communication protocols in the application layer, leading to reduction in workload imposed on the user.

Furthermore, since the communication apparatus20executes the control processing, consumption of calculation resources other than the control processing is undesirable. The second instructor13according to the aforementioned embodiment, with sending of notification of the candidate parameters to the communication apparatus20, instructs the communication apparatus20to specify the device parameters. Since the processing for extracting the candidate parameters from the correspondence information121is executed by the instruction terminal10, the communication apparatus20need not include a memory for storing the correspondence information121and need not be equipped with calculation resources for extracting the candidate parameters.

Furthermore, the acquirer21acquires the identification information from the network devices41and42by transmitting the data that includes each of addresses within the network30as a destination and that is for requesting notification of the identification information. This configuration allows, even in a state in which information relating to the communication devices50existing on the network30is unclear, the communication apparatus20to acquire the identification information corresponding to the network devices41and42.

Furthermore, the specifier22, in the communications with respect to the network devices41and42that are performed by using the candidate parameters, specifies the device parameters based on whether a reply is made by the network devices in response to each of the communications. This configuration enables efficient specification of the device parameters by using the candidate parameters that are prepared in advance.

Furthermore, in the case of associating the identification information and multiple candidate parameters in the correspondence information121, the correspondence information121stipulates the multiple parameters in descending order of priority for employment of the device parameters. Thus, in a case in which communications with the network devices41and42are established by any of the multiple candidate parameters, the specifier22specifies, as the device parameters, candidate parameters that are higher in the priority than other candidate parameters. This configuration allows the user101, by changing the order in which the candidate parameters are stipulated in the correspondence information121, to freely set the priorities for the candidate parameters.

Defining the priorities for the candidate parameters in the correspondence information121is not limited to defining in an order. For example, the correspondence information121may be information that associates each of the multiple candidate parameters and a priority level that is one of a priority level “high” or a priority level “low”. This priority level may provide classification into “high” or “low” as described above, or may be a numerical value that decreases with increase in the priority. Further, the priority is not necessarily set for all of the multiple candidate parameters. The multiple candidate parameters may be any parameters that include a priority parameter that is higher in priority than the other parameters. For example, the configuration may be employed in which only one candidate parameter of the multiple candidate parameters is higher in priority than candidate parameters other than the one candidate parameter. Further, the priority level of the candidate parameter is not necessarily indicated in the correspondence information121. For example, the specifier22may specify the device parameters by prioritizing extraction from the correspondence information121of candidate parameters that are predefined to be prioritized and by performing test communication by the candidate parameters, or may specify the device parameters by extracting the candidate parameters from the correspondence information121in a predefined order and by performing test communication in the order.

Furthermore, the specifier22specifies the device types of the network devices41and42, and the instruction terminal10acquires the device-type information indicating the device types of the network devices41and42. Making the device types of the network devices41and42clear allows the user101to easily grasp memory configuration and functions corresponding to the device types, and also allows the instruction terminal10to execute processing corresponding to the device types. For example, the instruction terminal10may display, for each of the device types of the network devices41and42, a UI screen for inputting operations to a corresponding network device by the user101.

Furthermore, the display processor16executes the display processing based on the labels included in the label information124and corresponding to the device types indicated by the device-type information. This configuration allows the user101to perform setting for the control processing by utilizing as illustrated inFIG. 13, instead of an address value corresponding to a memory, or in addition to the address value, a label that is easy to understand.

Although an embodiment of the present disclosure is described above, the present disclosure is not limited to the aforementioned embodiment.

For example, the processing executed by utilizing the device information122is not limited to the display processing executed by the display processor16. The instruction terminal10may execute other processing by utilizing the device information122.

Furthermore, in the specifying processing according to the aforementioned embodiment, when no reply is made from the network device, test communication is performed by changing the port number while maintaining the protocol. Thus, searching of protocols is higher in priority than searching for port numbers. However, searching of the device parameters may be performed by prioritizing searching for port numbers. That is to say, the communication apparatus20may, when no reply is made from the network device, perform test communication by changing the protocol while maintaining the port number.

Furthermore, the functions of the instruction terminal10and the communication apparatus20can be achieved by dedicated hardware or by a normal computer system.

For example, distributing the program39to be executed by the processor31by storing the program39in a non-transitory computer-readable recording medium and then installing the program39on a computer can achieve a device for executing the aforementioned processing. A flexible disk, a compact disc read-only memory (CD-ROM), a digital versatile disc (DVD), and a magneto-optical (MO) disc, are conceivable as examples of such a recording medium.

Furthermore, the program39may be stored in a disk device included in a server device on a communication network such as the Internet and may be downloaded onto a computer by, for example, superimposing the program39on a carrier wave.

Furthermore, the aforementioned processing can also be achieved by starting and executing the program39while transferring the program39through the communication network.

Furthermore, the aforementioned processing can also be achieved by executing all or a portion of the program39on the server device and by executing, using the computer, a program while transmitting and receiving information relating to the processing via the communication network.

In the case in which the aforementioned functions are implemented by an operating system (OS) by allocation to the OS or are implemented by cooperation between the OS and an application, storage and distribution on the medium of only portions of the program39other than a portion of the program39executed by the OS is permissible. Alternatively, such portions of the program39may be downloaded to a computer.

Furthermore, means for achieving the functions of the instruction terminal10and the communication apparatus20is not limited to software, and a part of or all of the functions may be achieved by dedicated hardware including a circuit.

INDUSTRIAL APPLICABILITY

The present disclosure is suitable for setting of a network system.

REFERENCE SIGNS LIST