WO2020255309A1 - 命令変換装置、方法、及びプログラム - Google Patents

命令変換装置、方法、及びプログラム Download PDF

Info

Publication number
WO2020255309A1
WO2020255309A1 PCT/JP2019/024370 JP2019024370W WO2020255309A1 WO 2020255309 A1 WO2020255309 A1 WO 2020255309A1 JP 2019024370 W JP2019024370 W JP 2019024370W WO 2020255309 A1 WO2020255309 A1 WO 2020255309A1
Authority
WO
WIPO (PCT)
Prior art keywords
instruction
bus
general
unit
dedicated
Prior art date
Application number
PCT/JP2019/024370
Other languages
English (en)
French (fr)
Inventor
由梨香 寺田
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN201980097506.XA priority Critical patent/CN114008601B/zh
Priority to PCT/JP2019/024370 priority patent/WO2020255309A1/ja
Priority to JP2020517408A priority patent/JP6746040B1/ja
Priority to US17/604,758 priority patent/US11481344B2/en
Publication of WO2020255309A1 publication Critical patent/WO2020255309A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]

Definitions

  • the present invention relates to an instruction conversion device, a method, and a program.
  • Patent Document 1 discloses an application software that monitors a PLC and a measurement control system that enables communication between a PLC on a plurality of transmission paths having different communication standards.
  • the application software that monitors the PLC issues a communication request with a specified logical address to the communication management software in order to acquire data from the PLC.
  • the communication management software selects the type of transmission path for connecting to the communication destination PLC from the conversion table that stores the correspondence between the logical address and the device memory address of the PLC and the logical address specified in the communication request.
  • the specified type code and the address of the device memory of the PLC are acquired, and the data of the device memory is requested from the PLC according to the communication standard of the transmission path of the other party. Further, the communication management software receives data from the PLC and supplies the received data to the application software.
  • the communication management software converts the logical address into the type code and the address of the device memory, and requests the data of the device memory from the PLC according to the communication standard of the transmission path of the other party. .. Therefore, the application software can acquire data from the PLC without being aware of the difference in communication standards.
  • the application software can operate devices on transmission paths having different communication standards without being aware of the difference in communication standards. Therefore, the developer of the application software communicates. It was necessary to develop application software to support the interface peculiar to management software.
  • the present invention has been made in view of the above circumstances, and an object of the present invention is to manage devices on transmission paths having different communication standards with application software corresponding to general-purpose communication standards.
  • the instruction conversion device of the present invention includes a first bus according to the first communication standard and a second bus according to a second communication standard different from the first communication standard.
  • the conversion command storage means included in the command conversion device stores information indicating the correspondence between the general-purpose instruction according to the first communication standard and the dedicated instruction according to the second communication standard.
  • the instruction conversion means included in the instruction conversion device acquires a dedicated instruction corresponding to the general-purpose instruction from the conversion instruction storage means when a general-purpose instruction is issued from the instruction output means to the device connected via the second bus. , The acquired dedicated instruction is supplied to the device via the second bus.
  • the instruction conversion device of the present invention becomes a general-purpose instruction when a general-purpose instruction according to the first communication standard is issued from an instruction output means to a device connected via a second bus according to the second communication standard.
  • a dedicated instruction according to the second communication standard is acquired from the conversion instruction storage means, and the acquired dedicated instruction is supplied to the device via the second bus.
  • the figure which shows an example of the structure of the conversion table which concerns on embodiment The figure which shows an example of the structure of the device configuration table which concerns on embodiment
  • the figure which shows an example of the structure of the memory mapping table which concerns on embodiment The figure which shows an example of the device configuration table after the device configuration collection part which concerns on embodiment registered data.
  • the CPU unit 100 of the programmable logic controller shown in FIG. 1 executes a control program instruction according to an input signal supplied from a detector including a sensor, a switch, and the like, and supplies an output signal to a controlled device.
  • the programmable logic controller 1 (hereinafter referred to as PLC1) is a CPU (Central Processing Unit) unit 100 that controls the entire PLC1 and an input unit that supplies an input signal received from the detector 901 to the CPU unit 100. Includes 200, an output unit 300 that outputs an output signal indicating the calculation result of the CPU unit 100 to the controlled device 902, and a base unit 400 for mounting each unit.
  • the CPU unit 100, the input unit 200, and the output unit 300 are connected to each other via the dedicated bus 410, and can communicate with each other via the dedicated bus 410.
  • the CPU unit 100 executes a control program instruction using the input signal supplied from the input unit 200, and outputs an output signal to the output unit 300.
  • a detector 901 including a sensor, a switch, and the like is connected to the input unit 200.
  • the input unit 200 supplies the input signal supplied from the detector 901 to the CPU unit 100.
  • a controlled device 902 including an actuator, a solenoid valve, an indicator light and the like is connected to the output unit 300.
  • the output unit 300 supplies the output signal supplied from the CPU unit 100 to the controlled device 902.
  • the CPU unit 100, the input unit 200, and the output unit 300 are mounted on the base unit 400.
  • the CPU unit 100, the input unit 200, and the output unit 300 are connected to a power supply unit (not shown) via the base unit 400, and operate by the electric power supplied from the power supply unit.
  • the CPU unit 100 can communicate with the input unit 200 and the output unit 300 via the dedicated bus 410.
  • a general-purpose OS (Operating System) is installed in the CPU unit 100. Therefore, the CPU unit 100 has the same operability as a general-purpose computer.
  • the CPU of the CPU unit 100 is connected to the device in the CPU unit 100 via a general-purpose bus, and the device can be controlled.
  • the CPU unit 100 can execute application software (hereinafter referred to as an application) developed in a general-purpose programming language on a general-purpose OS.
  • application application software developed in a general-purpose programming language on a general-purpose OS.
  • the communication standard of the dedicated bus 410 and the communication standard of the general-purpose bus shall be different.
  • the CPU unit 100 can handle the input unit 200 and the output unit 300 as if they were devices connected to a general-purpose bus in the CPU unit. Therefore, when an instruction conforming to the communication standard of the general-purpose bus is issued to the input unit 200 and the output unit 300, the CPU unit 100 converts the instruction into an instruction conforming to the communication standard of the dedicated bus 410. The converted instruction is supplied to the input unit 200 and the output unit 300. Therefore, for example, the user of the CPU unit 100 can manage the input unit 200 and the output unit 300 in the same manner as the devices in the CPU unit by using the tool for managing the devices of the CPU unit.
  • the CPU unit 100 includes a memory 11 for storing various programs and data, a general-purpose bus interface 12 for communication via a general-purpose bus, and a dedicated bus interface for communication via a dedicated bus 410. It has 13, an input / output interface 14 for connecting to a peripheral device, and a CPU 15 that controls the entire CPU unit 100.
  • the memory 11, the general-purpose bus interface 12, the dedicated bus interface 13, and the input / output interface 14 are connected to the CPU 15 via the CPU bus 19 and communicate with the CPU 15.
  • the memory 11 includes a volatile memory and a non-volatile memory.
  • the memory 11 stores a program for realizing various functions of the CPU unit 100 and data used when the program is executed.
  • the memory 11 stores the configuration information collection program 111, the device setting program 112, and the user program 113.
  • the configuration information collection program 111 is a program that allows the CPU unit 100 to realize a function of collecting information related to the device configuration.
  • the device setting program 112 is a program that allows the CPU unit 100 to realize a function of generating information necessary for treating the functional unit as a virtual device on the general-purpose bus 701.
  • the user program 113 is a program that causes the CPU unit 100 to realize a function of controlling the controlled device 902.
  • the general-purpose bus interface 12 is a connection interface for connecting the CPU 15 and the devices 21 and 22 via the general-purpose bus 701.
  • the general-purpose bus 701 is a local bus that connects the CPU 15 and the devices 21 and 22.
  • the devices 21 and 22 are devices connected to the CPU 15, for example, a network adapter and a graphic adapter.
  • the general-purpose bus 701 is a PCI (Peripheral Component Interconnect) bus.
  • the general-purpose bus 701 is an example of the first bus of the present invention.
  • the communication standard of the general-purpose bus 701 is an example of the first communication standard of the present invention.
  • the dedicated bus interface 13 is a connection interface for connecting the CPU unit 100, the input unit 200, and the output unit 300 via the dedicated bus 410.
  • the input unit 200 and the output unit 300 may be referred to as a functional unit.
  • the dedicated bus 410 is a system bus used for communication between units in a PLC1 including a plurality of units, and is, for example, a bus in which a communication standard is defined for each model of the PLC1.
  • the dedicated bus 410 is an example of the second bus of the present invention.
  • the communication standard of the dedicated bus 410 is an example of the second communication standard of the present invention.
  • the input / output interface 14 includes, for example, a USB controller, and is an interface for connecting the CPU 15 and a peripheral device (not shown) via a connection cable (not shown).
  • Peripherals are, for example, keyboards, mice and displays.
  • the CPU 15 executes various programs stored in the memory 11 to realize various functions of the CPU unit 100. For example, by executing the user program 113 stored in the memory 11, the CPU 15 performs an operation using the value indicated by the input signal supplied from the detector, and receives an output signal based on the value indicating the operation result. It is supplied to the control device 902.
  • the CPU 15 collects information on the device configuration by executing the configuration information collection program 111. By executing the device setting program 112, the CPU 15 generates information necessary for treating the functional unit as a virtual device on the general-purpose bus 701.
  • the CPU unit 100 stores the conversion setting storage unit 110 that stores the correspondence of instructions to the device, the device configuration storage unit 120 that stores the device configuration information assigned to the functional unit, and the memory mapping information.
  • the device configuration information is information necessary for accessing the device on the general-purpose bus 701.
  • the conversion setting storage unit 110 sends an actual instruction (hereinafter, a dedicated instruction) supplied to the functional unit via the dedicated bus 410 and the general-purpose bus 701. Stores the correspondence with the instruction that controls the connected device (hereinafter, general-purpose instruction).
  • the general-purpose instruction is, for example, an instruction such as open, close, read, or write for the device.
  • the function of the conversion setting storage unit 110 is realized by the memory 11 shown in FIG.
  • the conversion setting storage unit 110 is an example of the conversion command storage means of the present invention.
  • FIG. 3 shows an example of the conversion table 110a stored in the conversion setting storage unit 110.
  • a device name indicating a device a value indicating the device type, a value indicating the connected bus type to which the device is actually connected, a value indicating the bus width, and a functional unit are displayed.
  • a dedicated instruction to be controlled and a general-purpose instruction associated with the dedicated instruction are stored.
  • the device name is used as the value that identifies the device, but other identification information that can identify the device may be used instead of the device name.
  • the protocol conversion unit 160 described later converts the general-purpose instruction into a dedicated instruction and supplies the converted dedicated instruction to the functional unit.
  • the application is an example of the instruction output means of the present invention.
  • the actual return value when the dedicated instruction is executed to the functional unit and the expected return value are defined in association with each other.
  • the expected return value is, for example, that when an application executes a general-purpose instruction on a functional unit in the CPU unit 100, the application may require a return value as a result of executing the instruction.
  • the functional unit that received the dedicated instruction corresponding to the general-purpose instruction may not return a return value, or may return a value different from the return value expected by the application.
  • Expected return values are preset to absorb the differences between the functional unit specifications and the application interface.
  • the device type of the input unit 200 is an I / O (Input Output) unit, and the type of the connected bus is a dedicated bus 410.
  • the bus width of the dedicated bus 410 is 64 bits.
  • the general-purpose instruction A for the input unit 200 is converted into the dedicated instruction A.
  • the protocol conversion unit 160 described later supplies the dedicated instruction A corresponding to the general-purpose instruction A to the input unit 200.
  • the input unit 200 receives the dedicated instruction A, the input unit 200 does not return any value as a return value. Therefore, the expected return value is defined.
  • the application executes the general-purpose instruction A to the input unit 200, the expected return value is returned to the application.
  • the conversion table 110a also stores data about devices that actually exist on the general-purpose bus 701. Devices that actually exist on the general-purpose bus 701 can be controlled by general-purpose instructions. Therefore, as shown in the figure, for the device that actually exists on the general-purpose bus 701, values are not set for the dedicated instruction, the general-purpose instruction, the actual return value, and the expected return value.
  • the conversion table 110a is created in advance by the user.
  • the user is, for example, an administrator of the CPU unit 100.
  • the user creates the conversion table 110a shown in FIG. 3 based on the definition of the communication standard of the general-purpose bus 701 and the definition of the communication standard of the dedicated bus 410.
  • the device configuration storage unit 120 shown in FIG. 1 stores device configuration information assigned to the functional unit in order to handle the functional unit as a virtual device on the general-purpose bus 701.
  • the device configuration information is information necessary for the CPU 15 to access the device on the general-purpose bus 701.
  • the device configuration information is information indicating the correspondence between the memory address in the dedicated bus 410 specified when accessing the functional unit via the dedicated bus 410 and the memory address allocated in the address space in the general-purpose bus 701. including.
  • the function of the device configuration storage unit 120 is realized by the memory 11 shown in FIG.
  • the device configuration storage unit 120 is an example of the device configuration storage means of the present invention.
  • FIG. 4 shows an example of the device configuration table 120a stored in the device configuration storage unit 120.
  • the device configuration table 120a as device configuration information, a device name indicating the device, a value indicating the device type, a value indicating the bus type to which the device is actually connected, and a memory address in the PCI address space are displayed.
  • the position information indicating the connection position of the device on the general-purpose bus 701 and the physical address assigned to the device register used when accessing the device are stored.
  • the location information includes a bus number that identifies the bus, a device number that indicates the position of the device on the bus, and a function number that indicates the function provided by the device.
  • the CPU 15 When executing an instruction to the device, the CPU 15 writes to the device register assigned to the device.
  • the device configuration table 120a also stores data about devices connected to the general-purpose bus 701.
  • the memory allocation storage unit 130 shown in FIG. 1 stores memory mapping information in order to handle the functional unit as a virtual device on the general-purpose bus 701.
  • the memory mapping information is information indicating the correspondence between the memory address in the PCI address space and the real address specified for accessing the functional unit via the dedicated bus 410.
  • the function of the memory allocation storage unit 130 is realized by the memory 11 shown in FIG.
  • the memory allocation storage unit 130 is an example of the memory allocation storage means of the present invention.
  • FIG. 5 shows an example of the memory mapping table 130a stored in the memory allocation storage unit 130.
  • the device name indicating the device
  • the actual start address which is the actual memory address in the address space of the dedicated bus 410
  • the actual size which is the memory size in the address space of the dedicated bus 410
  • the functional unit displayed.
  • a memory address in the PCI address space allocated to be virtually treated as a device on the general-purpose bus 701 and a value indicating the bus type to which the functional unit is actually connected are stored.
  • the memory address specified by the actual start address and the actual size is an example of the dedicated memory address of the present invention.
  • the memory address in the PCI address space is an example of the general-purpose memory address of the present invention.
  • memory mapping table 130a does not store data about devices that actually exist on the general-purpose bus 701.
  • the device configuration collection unit 140 shown in FIG. 1 collects device configuration information. First, the device configuration collection unit 140 collects device configuration information about the device on the general-purpose bus 701, and stores the collected device configuration information in the device configuration table 120a. Further, the device configuration collection unit 140 collects device configuration information about devices on another bus connected to the CPU unit 100, and stores the collected device configuration information in the device configuration table 120a.
  • the device configuration collection unit 140 cannot collect all necessary device configuration information for devices other than the devices on the general-purpose bus 701. Therefore, the device configuration collection unit 140 stores only the information that can be collected in the device configuration table 120a. Therefore, as shown in FIG. 6, the device configuration table 120a shows the memory address in the PCI address space and the physical device physical on the general-purpose bus 701 for the functional unit that is the device on the dedicated bus 410. The position information indicating the position and the physical address assigned to the device register are not stored. These pieces of information are stored in the device configuration table 120a by the device setting unit 150 described later.
  • the device configuration collection unit 140 collects device configuration information as a part of the initial processing executed by the CPU unit 100 after the power is turned on.
  • the function of the device configuration collection unit 140 is realized by the CPU 15 shown in FIG. 2 executing the configuration information collection program 111.
  • the device configuration collecting unit 140 is an example of the device configuration collecting means of the present invention.
  • the device setting unit 150 shown in FIG. 1 calculates information necessary for treating a functional unit, which is a device not connected to the general-purpose bus 701, as a virtual device on the general-purpose bus 701, and uses the calculated information as a device configuration. It is stored in the table 120a and the memory mapping table 130a. As described above, the device configuration collection unit 140 cannot collect all device configuration information for the functional unit. The device setting unit 150 registers the device configuration information that the device configuration collection unit 140 could not collect in the device configuration table 120a.
  • the specific information that the device setting unit 150 registers in the device configuration table 120a is as follows. As shown in FIG. 6, the device configuration collecting unit 140 described the memory address in the PCI address space, the position information, and the physical address of the device register for the functional unit which is a device on the dedicated bus 410. Cannot be collected. Therefore, the device setting unit 150 assigns the memory address in the PCI address space, the position information, and the physical address of the device register to each function unit, and assigns the assigned memory address value, the position information value, and the like. The value of the physical address of the device register is registered in the device configuration table 120a.
  • the device setting unit 150 allocates a memory address that is not used in the PCI address space to the functional unit. At this time, the device setting unit 150 determines the memory area of the PCI address space to be allocated to the functional unit based on the actual start address and the actual size of the functional unit connected to the dedicated bus 410. It is assumed that the device setting unit 150 has means for acquiring the actual start address and the actual size of the functional unit connected to the dedicated bus 410.
  • the device setting unit 150 assumes that the functional unit is virtually connected to a position on the general-purpose bus 701 to which no device is connected, and assigns that position to the functional unit.
  • the device setting unit 150 secures a memory area that is not used as a device register of the device on the general-purpose bus 701 as a device register to be allocated to the functional unit.
  • the specific information that the device setting unit 150 registers in the memory mapping table 130a is as follows.
  • the device setting unit 150 includes a memory address in the PCI address space assigned to the functional unit, an actual start address which is a memory address in the address space of the dedicated bus 410, and an actual size which is a memory size in the address space of the dedicated bus 410. Are associated with each other and stored in the memory mapping table 130a.
  • the device setting unit 150 calculates information necessary for handling the functional unit as a device on the general-purpose bus 701 as a part of the initial processing executed by the CPU unit 100 after the power is turned on, and the calculated information is used as the device configuration table 120a. And stored in the memory mapping table 130a.
  • the device setting unit 150 updates the device configuration table 120a and the memory mapping table 130a when the configuration change detection unit 170, which will be described later, detects a change in the device configuration. After updating the device configuration table 120a and the memory mapping table 130a, the device setting unit 150 restarts the CPU unit 100, for example, in order to reflect the latest information on the CPU unit 100.
  • the function of the device setting unit 150 is realized by the CPU 15 shown in FIG. 2 executing the device setting program 112.
  • the device setting unit 150 is an example of the device setting means of the present invention.
  • the protocol conversion unit 160 shown in FIG. 1 converts the general-purpose instruction issued to the functional unit into a dedicated instruction.
  • the protocol conversion unit 160 sets the device name, device type, and connection bus type of the device to which the device register to which the value is written is assigned from the device configuration table 120a shown in FIG. get.
  • the protocol conversion unit 160 reads the data registered for the specified device from the conversion table 110a shown in FIG.
  • the protocol conversion unit 160 acquires a dedicated instruction corresponding to the general-purpose instruction output by the application from the read data.
  • the protocol conversion unit 160 returns an error to the application requesting the instruction.
  • the protocol conversion unit 160 acquires the actual start address and the actual size of the functional unit which is the corresponding device from the memory mapping table 130a, specifies the actual start address and the actual size, and reads from the conversion table 110a. The command is transmitted to the corresponding functional unit according to the communication standard of the dedicated bus 410. In this way, the protocol conversion unit 160 converts the general-purpose instruction issued by the CPU unit 100 to the functional unit into a dedicated instruction, and executes the converted dedicated instruction to the functional unit.
  • the protocol conversion unit 160 when the protocol conversion unit 160 receives the return value from the functional unit via the dedicated bus 410, the protocol conversion unit 160 acquires the expected return value from the conversion table 110a. The protocol conversion unit 160 writes the acquired return value to the area specified by the memory address in the PCI address space defined in the device configuration table 120a. In this way, the protocol conversion unit 160 converts the return value from the functional unit and returns the return value expected from the application.
  • the function of the protocol conversion unit 160 is realized by the CPU 15 shown in FIG.
  • the OS of the CPU unit 100 according to the embodiment includes the function of the protocol conversion unit 160, and the function of the protocol conversion unit 160 is realized at the time of interpreting the instruction.
  • the protocol conversion unit 160 is an example of the instruction conversion means of the present invention.
  • the configuration change detection unit 170 shown in FIG. 1 detects that the configuration of the device has been changed.
  • the configuration change detection unit 170 has a function of detecting an electric signal when a new device is connected to the CPU unit 100, and when it detects that a new device is connected, the configuration of the device is changed. Determine that it was done.
  • the configuration change detection unit 170 has a function of detecting that the memory area has been mapped and unmapped, and determines that the device configuration has been changed when the memory area map and unmap are detected.
  • the configuration change detection unit 170 instructs the device setting unit 150 to update the device configuration table 120a and the memory mapping table 130a.
  • the function of the configuration change detection unit 170 is realized by the CPU 15 shown in FIG.
  • the program execution unit 180 shown in FIG. 1 executes the user program 113.
  • the function of the program execution unit 180 is realized by the CPU 15 shown in FIG.
  • the initial setting process is executed as a part of the initial process executed when the power is turned on to the CPU unit 100.
  • the CPU 15 of the CPU unit 100 shown in FIG. 2 functions as the device configuration collecting unit 140 shown in FIG. 1 by executing the configuration information collecting program 111, and by executing the device setting program 112 shown in FIG. 2, FIG. It functions as the device setting unit 150 shown in 1.
  • the device configuration collection unit 140 first collects device configuration information actually connected to the general-purpose bus 701, and creates a device configuration table 120a in which the collected data is stored (step S11). ..
  • the device configuration collection unit 140 collects the device names, device types, connection bus types, memory addresses in the PCI address space, location information, and physical addresses of device registers of the devices 21 and 22, and collects the collected data.
  • the stored device configuration table 120a is created.
  • the device configuration collection unit 140 determines whether or not there is a device connected to a bus other than the general-purpose bus 701 (step S12), and if there is a device connected to a bus other than the general-purpose bus 701.
  • step S12 determines whether or not there is a device connected to a bus other than the general-purpose bus 701 (step S12), and if there is a device connected to a bus other than the general-purpose bus 701.
  • the determination is made (step S12; Yes)
  • information about devices on the bus other than the general-purpose bus 701 is collected, and the collected information is registered in the device configuration table 120a (step S13).
  • the device configuration collection unit 140 collects the device name, the device type, and the connected bus type for each of the input unit 200 and the output unit 300, and collects the data in the device configuration table 120a as shown in FIG. To register.
  • the input unit 200 and the output unit 300 are not connected to the device on the general-purpose bus 701, the memory address, the connection location, and the value of the device register are not registered in the device configuration table 120a.
  • the device setting unit 150 calculates the information necessary for handling the functional unit as a virtual device on the general-purpose bus 701, and updates the device configuration table 120a and the memory mapping table 130a (step S14). Specifically, the device setting unit 150 calculates and calculates information that is insufficient in the device configuration table 120a shown in FIG. 6 and is necessary for treating the functional unit as a device on the general-purpose bus 701. Is registered in the device configuration table 120a. Further, the device setting unit 150 calculates the information to be registered in the memory mapping table 130a, and registers the calculated information in the memory mapping table 130a. After that, the device setting unit 150 reflects the update of the table to the CPU unit 100 (step S15). For example, the device setting unit 150 restarts the CPU unit 100 and reflects the update of the table to the CPU unit. The above is the initial setting process.
  • the instruction conversion process is executed, for example, when the user program 113 is started.
  • the CPU 15 of the CPU unit 100 shown in FIG. 2 functions as the protocol conversion unit 160 shown in FIG. 1 and executes the instruction conversion process shown in FIG.
  • the protocol conversion unit 160 appropriately converts general-purpose instructions while the program execution unit 180 sequentially processes the instructions of the user program 113.
  • the protocol conversion unit 160 determines whether or not the target of the general-purpose instruction is a device on the dedicated bus 410 according to the value of the connection bus type in the conversion table 110a for the device that is the target of the general-purpose instruction (step S21). ). When it is determined that the target of the general-purpose instruction is the device on the dedicated bus 410 (step S21; Yes), the protocol conversion unit 160 determines whether the dedicated instruction corresponding to the general-purpose instruction is registered in the conversion table 110a (step S21; Yes). Step S22). If the dedicated instruction is not registered in the conversion table 110a (step S22: No), the protocol conversion unit 160 returns an error to the instruction caller (step S31), and ends the instruction conversion process.
  • the protocol conversion unit 160 acquires the dedicated instruction corresponding to the general-purpose instruction (step S23).
  • a memory address that specifies a memory area may be added to a general-purpose instruction.
  • the protocol conversion unit 160 corresponds to the memory address in the address space of the designated PCI from the memory mapping table 130a shown in FIG. Get the actual start address and actual size.
  • the protocol conversion unit 160 executes a dedicated instruction (step S24). In particular, A dedicated command is transmitted to the corresponding functional unit via the dedicated bus 410.
  • the protocol conversion unit 160 specifies the actual start address and the actual size acquired in step S23, and executes the dedicated instruction.
  • the protocol conversion unit 160 acquires, for example, the return value included in the response data returned from the functional unit, and has acquired the return value.
  • the expected return value corresponding to the return value is acquired from the conversion table 110a, and the expected return value is returned to the caller of the instruction (step S26).
  • step S21 when the protocol conversion unit 160 determines that the target of the general-purpose instruction is not a device on the dedicated bus 410 (step S21; No), the program execution unit 180 processes the general-purpose instruction as usual (step S21). S30).
  • the above is the instruction conversion process.
  • the CPU unit 100 is provided with a configuration for converting a general-purpose instruction into a dedicated instruction for a device on the dedicated bus 410, thereby seamlessly connecting devices on transmission paths having different communication standards. It is possible to control.
  • PLC control programs are often written in languages such as ladder diagrams and sequential function charts, and for those who do not have knowledge of the languages often used for programming such PLCs, PLCs It was not easy to develop a control program for.
  • a PLC control program is developed by a general-purpose programming language used in a computer on which a general-purpose OS is installed. It is also possible to do.
  • the CPU unit 100 internally converts a general-purpose instruction into a dedicated instruction, it is not necessary for the user to make a memory association in the PCI address space, for example.
  • the functional unit is treated as a device on the general-purpose bus 701 in the CPU unit 100, for example, the user uses a tool for managing the device of the CPU unit to input the same as the device in the CPU unit 100.
  • Functional units such as the unit 200 and the output unit 300 can be managed.
  • the position information of the device configuration table 120a shown in FIG. 4 is displayed as the information indicating the position of the functional unit treated as a device on the general-purpose bus 701.
  • the physical address of the device register in the device configuration table 120a is displayed as the resource information of the functional unit.
  • the CPU unit 100 stores a program in which necessary data are stored in the device configuration table 120a and the memory mapping table 130a in the initial processing, and then the general-purpose instructions to the functional devices in the user program 113 are replaced with dedicated instructions.
  • the program in which the instruction is replaced may be executed.
  • a bus that employs PCI has been described as an example of a general-purpose bus, but the present invention is not limited to this.
  • a bus 420 different from the dedicated bus 410 may be adopted instead of the general-purpose bus 701 according to the embodiment shown in FIG. 2, a bus 420 different from the dedicated bus 410 may be adopted. In this case, by treating the device on the dedicated bus 410 as a virtual bus of the bus 420, the same effect as that of the embodiment can be expected.
  • the CPU unit 100 functions as a bus conversion control device
  • the information processing device connected to the PLC may operate as a bus conversion control device.
  • the CPU unit 100 and the functional unit correspond to the device of the present invention, and the information processing apparatus may convert the general-purpose instructions issued to the CPU unit and the functional unit into dedicated instructions.
  • a computer-readable recording medium including a magnetic disk, an optical disk, a magneto-optical disk, a flash memory, a semiconductor memory, and a magnetic tape can be used.
  • PLC Programmable logic controller
  • 11 memory 11 memory
  • 12 general-purpose bus interface 11 dedicated bus interface
  • 14 input / output interface 15 CPU, 19 CPU bus, 21.22 devices
  • 100 CPU unit 110 conversion setting storage unit, 110a conversion Table, 111 configuration information collection program, 112 device setting program, 113 user program, 120 device configuration storage unit, 120a device configuration table, 130 memory allocation storage unit, 130a memory mapping table, 140 device configuration collection unit, 150 device configuration unit, 160 protocol conversion unit, 170 configuration change detection unit, 180 program execution unit, 200 input unit, 300 output unit, 400 base unit, 410 dedicated bus, 701 general-purpose bus, 901 detector, 902 controlled device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Bus Control (AREA)

Abstract

CPUユニット(100)は、第1通信規格に従った第1バスと、第1通信規格とは異なる第2通信規格に従った第2バスと、を備える。CPUユニット(100)が備える変換設定記憶部(110)は、第1通信規格に従った汎用命令と第2通信規格に従った専用命令との対応付けを示す情報を記憶する。CPUユニット(100)が備えるプロトコル変換部(160)は、第2バスを介して接続されたデバイスに向けて命令出力手段より汎用命令が出された場合、汎用命令に対応する専用命令を変換設定記憶部(110)から取得し、取得した専用命令を第2バスを介してデバイスに供給する。

Description

命令変換装置、方法、及びプログラム
 本発明は、命令変換装置、方法、及びプログラムに関する。
 特許文献1には、PLCを監視するアプリケーションソフトウェアと、通信規格がそれぞれ異なる複数の伝送経路上のPLCとの通信を可能とする計測制御システムが開示されている。この計測制御システムでは、PLCを監視するアプリケーションソフトウェアが、PLCからデータを取得するため、論理アドレスを指定した通信要求を通信管理ソフトウェアに出す。通信管理ソフトウェアは、論理アドレスとPLCのデバイスメモリのアドレスとの対応付けを記憶する変換テーブルと、通信要求で指定された論理アドレスとから、通信先のPLCに接続するための伝送経路の種類を特定する種類コードと、PLCのデバイスメモリのアドレスとを取得し、相手側の伝送経路の通信規格に則ってデバイスメモリのデータをPLCに要求する。また、通信管理ソフトウェアは、PLCからデータを受信し、受信したデータをアプリケーションソフトウェアに供給する。
 特許文献1に記載された構成では、通信管理ソフトウェアが、論理アドレスを、種類コード及びデバイスメモリのアドレスに変換し、相手側の伝送経路の通信規格に則ってデバイスメモリのデータをPLCに要求する。よって、アプリケーションソフトウェアは、通信規格の違いを意識することなく、PLCからデータを取得することができる。
特開2000-341357号公報
 特許文献1に記載された構成では、アプリケーションソフトウェアは、通信規格が異なる伝送経路上の装置を通信規格の差異を意識することなく操作することができたが、そのためにアプリケーションソフトウェアの開発者は通信管理ソフトウェア特有のインタフェースに対応するようにアプリケーションソフトウェアを開発する必要があった。
 本発明は、上記実情に鑑みてなされたものであり、汎用的な通信規格に対応したアプリケーションソフトウェアで、通信規格が異なる伝送経路上の装置を管理することを目的とする。
 上記目的を達成するため、本発明の命令変換装置は、第1通信規格に従った第1バスと、第1通信規格とは異なる第2通信規格に従った第2バスと、を備える。命令変換装置が備える変換命令記憶手段は、第1通信規格に従った汎用命令と第2通信規格に従った専用命令との対応付けを示す情報を記憶する。命令変換装置が備える命令変換手段は、第2バスを介して接続されたデバイスに向けて命令出力手段より汎用命令が出された場合、汎用命令に対応する専用命令を変換命令記憶手段から取得し、取得した専用命令を第2バスを介してデバイスに供給する。
 本発明の命令変換装置は、第2通信規格に従った第2バスを介して接続されたデバイスに向けて命令出力手段より第1通信規格に従った汎用命令が出された場合、汎用命令に対応し、第2通信規格に従った専用命令を変換命令記憶手段から取得し、取得した専用命令を第2バスを介してデバイスに供給する。このような構成を備えることで、汎用的な通信規格に対応したアプリケーションソフトウェアで、通信規格が異なる伝送経路上の装置を管理することが可能である。
本発明の実施の形態に係るプログラマブルロジックコントローラのCPUユニットの機能構成を示すブロック図 実施の形態に係るプログラマブルロジックコントローラのハードウェア構成を示すブロック図 実施の形態に係る変換テーブルの構成の一例を示す図 実施の形態に係るデバイス構成テーブルの構成の一例を示す図 実施の形態に係るメモリマッピングテーブルの構成の一例を示す図 実施の形態に係るデバイス構成収集部がデータを登録した後のデバイス構成テーブルの一例を示す図 実施の形態に係る初期設定処理のフローチャート 実施の形態に係る命令変換処理のフローチャート
 以下、本発明の実施の形態に係る命令変換装置について、図面を参照しつつ詳細に説明する。
(実施の形態)
 実施の形態においては、プログラマブルロジックコントローラのCPUユニット100が、命令変換装置として機能する例を説明する。図1に示す、プログラマブルロジックコントローラのCPUユニット100は、センサ、スイッチ等を含む検出器から供給された入力信号に従って、制御プログラムの命令を実行し、出力信号を被制御機器に供給する。
 図2に示すように、プログラマブルロジックコントローラ1(以下、PLC1)は、PLC1全体を制御するCPU(Central Processing Unit)ユニット100と、検出器901から受け付けた入力信号をCPUユニット100に供給する入力ユニット200と、CPUユニット100の演算結果を示す出力信号を被制御機器902に出力する出力ユニット300と、各ユニットを装着するためのベースユニット400を含む。CPUユニット100と、入力ユニット200と、出力ユニット300とは、専用バス410を介して相互に接続され、専用バス410を介して通信を行うことができる。
 CPUユニット100は、入力ユニット200から供給された入力信号を使用して、制御プログラムの命令を実行し、出力信号を出力ユニット300に出力する。入力ユニット200には、センサ、スイッチ等を含む検出器901が接続されている。入力ユニット200は、検出器901から供給された入力信号をCPUユニット100に供給する。出力ユニット300には、アクチュエータ、電磁弁、表示灯等を含む被制御機器902が接続されている。出力ユニット300は、CPUユニット100から供給された出力信号を被制御機器902に供給する。
 ベースユニット400には、CPUユニット100と入力ユニット200と出力ユニット300とが装着される。CPUユニット100と入力ユニット200と出力ユニット300とは、ベースユニット400を介して不図示の電源ユニットに接続され、電源ユニットから供給される電力によって動作する。CPUユニット100は、専用バス410を介して、入力ユニット200及び出力ユニット300と通信可能である。
 また、CPUユニット100には、汎用OS(Operating System)がインストールされている。このため、CPUユニット100は、汎用性のあるコンピュータと同様の操作性を有する。例えば、CPUユニット100のCPUは、汎用バスを介してCPUユニット100内のデバイスと接続されており、デバイスを制御できる。また、CPUユニット100は、汎用OS上で、汎用のプログラミング言語で開発されたアプリケーションソフトウェア(以下、アプリケーション)を実行できる。専用バス410の通信規格と、汎用バスの通信規格とは異なるものとする。
 実施の形態に特徴的な構成として、CPUユニット100は、入力ユニット200及び出力ユニット300を、CPUユニット内の汎用バスに接続されているデバイスであるかのように扱うことができる。このため、CPUユニット100は、入力ユニット200及び出力ユニット300に、汎用バスの通信規格に則った命令が出された場合、その命令を、専用バス410の通信規格に則った命令に変換し、変換した命令を入力ユニット200及び出力ユニット300に供給する。よって、例えば、CPUユニット100のユーザは、CPUユニットのデバイスを管理するツールを使用して、CPUユニット内のデバイスと同様に、入力ユニット200及び出力ユニット300を管理できる。
 以下の説明においては、実施の形態に係る特徴的な構成を備えるCPUユニット100を中心に説明する。
 CPUユニット100は、ハードウェア構成として、各種のプログラム及びデータを記憶するメモリ11と、汎用バスを介した通信のための汎用バスインタフェース12と、専用バス410を介した通信のための専用バスインタフェース13と、周辺機器に接続するための入出力インタフェース14と、CPUユニット100全体を制御するCPU15とを有する。メモリ11と汎用バスインタフェース12と専用バスインタフェース13と入出力インタフェース14とは、CPUバス19を介してCPU15に接続されており、CPU15と通信する。
 メモリ11は、揮発性メモリと不揮発性メモリとを含む。メモリ11は、CPUユニット100の各種機能を実現するためのプログラムと、プログラムの実行時に使用されるデータとを記憶する。
 メモリ11は、構成情報収集プログラム111と、デバイス設定プログラム112と、ユーザプログラム113とを記憶する。構成情報収集プログラム111は、デバイスの構成に関する情報を収集する機能をCPUユニット100に実現させるプログラムである。デバイス設定プログラム112は、機能ユニットを汎用バス701上の仮想的デバイスとして扱うために必要な情報を生成する機能をCPUユニット100に実現させるプログラムである。ユーザプログラム113は、被制御機器902を制御する機能をCPUユニット100に実現させるプログラムである。
 汎用バスインタフェース12は、汎用バス701を介して、CPU15とデバイス21及び22とを接続するための接続インタフェースである。汎用バス701は、CPU15とデバイス21及び22とを接続するローカルバスである。デバイス21及び22は、CPU15に接続されるデバイスであり、例えば、ネットワークアダプタ、グラフィックアダプタである。実施の形態では、汎用バス701が、PCI(Peripheral Component Interconnect)バスであると仮定して説明を行う。汎用バス701は、本発明の第1バスの一例である。汎用バス701の通信規格は、本発明の第1通信規格の一例である。
 専用バスインタフェース13は、専用バス410を介して、CPUユニット100と入力ユニット200及び出力ユニット300とを接続するための接続インタフェースである。以下、入力ユニット200及び出力ユニット300を機能ユニットと称することがある。専用バス410は、複数のユニットを含むPLC1において、ユニット間の通信に使用されるシステムバスであって、例えば、PLC1の機種毎に通信規格が定義されたバスである。専用バス410は、本発明の第2バスの一例である。専用バス410の通信規格は、本発明の第2通信規格の一例である。
 入出力インタフェース14は、例えば、USBコントローラを含み、不図示の接続ケーブルを介して、CPU15と不図示の周辺機器とを接続するためのインタフェースである。周辺機器は、例えば、キーボード、マウス、ディスプレイである。
 CPU15は、メモリ11に記憶されている各種プログラムを実行して、CPUユニット100の各種機能を実現する。例えば、CPU15は、メモリ11に格納されているユーザプログラム113を実行することにより、検出器から供給された入力信号が示す値を使用した演算を行い、演算結果を示す値に基づく出力信号を被制御機器902に供給する。
 さらに、実施の形態において、CPU15は、構成情報収集プログラム111を実行することにより、デバイスの構成に関する情報を収集する。CPU15は、デバイス設定プログラム112を実行することにより、機能ユニットを、汎用バス701上の仮想的なデバイスとして扱うために必要な情報を生成する。
 続いて、図1を参照しながら、CPUユニット100の機能的な構成を説明する。CPUユニット100は、機能的には、デバイスに対する命令の対応付けを記憶する変換設定記憶部110と、機能ユニットに割り当てられたデバイス構成情報を記憶するデバイス構成記憶部120と、メモリマッピング情報を記憶するメモリ割当記憶部130と、デバイス構成情報を収集するデバイス構成収集部140と、必要なデバイス構成情報を機能ユニットに割り当てるデバイス設定部150と、汎用命令から変換した専用命令を機能ユニットに送信するプロトコル変換部160と、デバイスの構成の変更を検出する構成変更検出部170とを含む。デバイス構成情報は、汎用バス701上のデバイスにアクセスするために必要な情報である。
 変換設定記憶部110は、機能ユニットを汎用バス701上の仮想的なデバイスとして制御するため、専用バス410を介して機能ユニットに供給する実際の命令(以下、専用命令)と、汎用バス701に接続されているデバイスを制御する命令(以下、汎用命令)との対応付けを記憶する。汎用命令は、例えば、デバイスに対するopen、close、read、writeといった命令である。変換設定記憶部110の機能は、図2に示すメモリ11により実現される。変換設定記憶部110は、本発明の変換命令記憶手段の一例である。
 図3に、変換設定記憶部110に格納される変換テーブル110aの一例を示す。変換テーブル110aには、デバイスを示すデバイス名と、デバイス種別を示す値と、そのデバイスが実際に接続されている接続されているバス種別を示す値と、バス幅を示す値と、機能ユニットを制御する専用命令と、専用命令に対応付けられている汎用命令とが格納されている。図示する例では、デバイスを特定する値としてデバイス名を使用しているが、デバイス名ではなく、デバイスを識別できる他の識別情報を使用してもよい。
 例えば、CPUユニット100のアプリケーションが汎用命令を機能ユニットに出した場合、後述のプロトコル変換部160が、汎用命令を専用命令に変換し、変換した専用命令を機能ユニットに供給する。アプリケーションは、本発明の命令出力手段の一例である。
 さらに、変換テーブル110aには、機能ユニットに専用命令を実行した場合の実際の戻り値と、期待される戻り値とが対応付けられて定義されている。期待される戻り値とは、例えば、CPUユニット100においてアプリケーションが、機能ユニットに汎用命令を実行した場合に、アプリケーションが命令の実行結果として戻り値を必要とすることがある。しかし、汎用命令に対応する専用命令を受けた機能ユニットが戻り値を返さない、あるいは、アプリケーションが期待する戻り値とは異なる値を返すことがある。機能ユニットの仕様と、アプリケーションのインタフェースとの差異を吸収するため、期待される戻り値が予め設定されている。
 図示する例では、入力ユニット200のデバイス種別はI/O(Input Output)ユニットであり、接続されているバスの種別は専用バス410である。専用バス410のバス幅は64bitである。入力ユニット200に対する汎用命令Aは、専用命令Aに変換される。例えば、アプリケーションが、入力ユニット200に汎用命令Aを出した場合、後述のプロトコル変換部160は、汎用命令Aに対応する専用命令Aを入力ユニット200に供給する。入力ユニット200は、専用命令Aを受けた場合に、戻り値として何の値も返さない。このため、期待される戻り値が定義されている。アプリケーションが、汎用命令Aを入力ユニット200に実行すると、アプリケーションには、期待される戻り値が返される。
 変換テーブル110aは、さらに、汎用バス701上に実際に存在するデバイスについてのデータも記憶する。汎用バス701上に実際に存在するデバイスは、汎用命令で制御可能である。このため、図示するように、汎用バス701上に実際に存在するデバイスについては、専用命令と汎用命令と実際の戻り値と期待される戻り値とに値が設定されていない。
 変換テーブル110aは、ユーザにより予め作成されている。ユーザは、例えば、CPUユニット100の管理者である。例えば、ユーザは、汎用バス701の通信規格の定義書と専用バス410の通信規格の定義書とに基づいて、図3に示す変換テーブル110aを作成する。
 図1に示すデバイス構成記憶部120は、機能ユニットを汎用バス701上の仮想的なデバイスとして扱うために、機能ユニットに割り当てられたデバイス構成情報を記憶する。デバイス構成情報は、CPU15が、汎用バス701上のデバイスにアクセスするために必要な情報である。例えば、デバイス構成情報は、機能ユニットに専用バス410を介してアクセスする際に指定する専用バス410におけるメモリアドレスと、汎用バス701におけるアドレス空間において割り当てられたメモリアドレスと、の対応付けを示す情報を含む。デバイス構成記憶部120の機能は、図2に示すメモリ11により実現される。デバイス構成記憶部120は、本発明のデバイス構成記憶手段の一例である。
 図4にデバイス構成記憶部120に格納されるデバイス構成テーブル120aの一例を示す。デバイス構成テーブル120aには、デバイス構成情報として、デバイスを示すデバイス名と、デバイス種別を示す値と、そのデバイスが実際に接続されているバス種別を示す値と、PCIのアドレス空間のメモリアドレスと、汎用バス701上でのデバイスの接続位置を示す位置情報と、デバイスにアクセスする際に使用されるデバイスレジスタに割り当てられている物理アドレスとが格納されている。位置情報は、バスを特定するバス番号と、バス上におけるデバイスの位置を示すデバイス番号と、デバイスが提供する機能を示すファンクション番号とを含む。CPU15は、デバイスに命令を実行する場合に、デバイスに割り当てられているデバイスレジスタに書き込みを行う。
 機能ユニットは汎用バス701に接続されていないため、機能ユニットについての、PCIのアドレス空間でのメモリアドレスと、位置情報と、デバイスレジスタの物理アドレスとについては、任意の値が割り当てられている。機能ユニットについてのこれらの値は、CPUユニット100のイニシャル処理において割り当てられる。
 デバイス構成テーブル120aは、さらに、汎用バス701に接続されているデバイスについてのデータも記憶する。
 図1に示すメモリ割当記憶部130は、機能ユニットを、汎用バス701上の仮想的なデバイスとして扱うため、メモリマッピング情報を記憶する。メモリマッピング情報は、PCIのアドレス空間のメモリアドレスと、機能ユニットに専用バス410を介してアクセスするために指定する実アドレスとの対応付けを示す情報である。メモリ割当記憶部130の機能は、図2に示すメモリ11により実現される。メモリ割当記憶部130は、本発明のメモリ割当記憶手段の一例である。
 図5にメモリ割当記憶部130に格納されるメモリマッピングテーブル130aの一例を示す。メモリマッピングテーブル130aには、デバイスを示すデバイス名と、専用バス410のアドレス空間の実際のメモリアドレスである実開始アドレスと、専用バス410のアドレス空間におけるメモリサイズである実サイズと、機能ユニットを仮想的に汎用バス701上のデバイスとして扱うために割り当てられたPCIのアドレス空間でのメモリアドレスと、機能ユニットが実際に接続されているバス種別を示す値とが格納されている。実開始アドレス及び実サイズにより特定されるメモリアドレスは、本発明の専用メモリアドレスの一例である。PCIのアドレス空間でのメモリアドレスは、本発明の汎用メモリアドレスの一例である。
 なお、メモリマッピングテーブル130aには、汎用バス701上に実際に存在するデバイスについてのデータは格納されない。
 図1に示すデバイス構成収集部140は、デバイス構成情報を収集する。デバイス構成収集部140は、まず、汎用バス701上のデバイスについてのデバイス構成情報を収集し、収集したデバイス構成情報をデバイス構成テーブル120aに格納する。さらに、デバイス構成収集部140は、CPUユニット100に接続されている他のバス上のデバイスについてのデバイス構成情報を収集し、収集したデバイス構成情報をデバイス構成テーブル120aに格納する。
 デバイス構成収集部140は、汎用バス701上のデバイス以外のデバイスについては、必要なデバイス構成情報を全て収集することができない。よって、デバイス構成収集部140は、収集可能な情報のみをデバイス構成テーブル120aに格納する。このため、図6に示すように、デバイス構成テーブル120aには、専用バス410上のデバイスである機能ユニットについては、PCIのアドレス空間でのメモリアドレスと、汎用バス701上でのデバイスの物理的な位置を示す位置情報と、デバイスレジスタに割り当てられている物理アドレスとが格納されない。これらの情報は、後述のデバイス設定部150によりデバイス構成テーブル120aに格納される。
 デバイス構成収集部140は、電源投入後にCPUユニット100が実行するイニシャル処理の一部として、デバイス構成情報の収集処理を行う。デバイス構成収集部140の機能は、図2に示すCPU15が構成情報収集プログラム111を実行することにより実現される。デバイス構成収集部140は、本発明のデバイス構成収集手段の一例である。
 図1に示すデバイス設定部150は、汎用バス701に接続されていないデバイスである機能ユニットを汎用バス701上の仮想的なデバイスとして扱うために必要な情報を算出し、算出した情報をデバイス構成テーブル120aと、メモリマッピングテーブル130aとに格納する。前述のように、デバイス構成収集部140は機能ユニットについて全てのデバイス構成情報を収集することができない。デバイス設定部150は、デバイス構成収集部140が収集できなかったデバイス構成情報をデバイス構成テーブル120aに登録する。
 デバイス設定部150がデバイス構成テーブル120aに登録する具体的な情報は下記の通りである。前述のデバイス構成収集部140は、図6に示すように、専用バス410上のデバイスである機能ユニットについては、PCIのアドレス空間でのメモリアドレスと、位置情報と、デバイスレジスタの物理アドレスとを収集することができない。よって、デバイス設定部150は、機能ユニットそれぞれに、PCIのアドレス空間でのメモリアドレスと、位置情報と、デバイスレジスタの物理アドレスとを割り当て、割り当てたメモリアドレスの値と、位置情報の値と、デバイスレジスタの物理アドレスの値とをデバイス構成テーブル120aに登録する。
 デバイス設定部150は、PCIのアドレス空間で使用されていないメモリアドレスを、機能ユニットに割り当てる。このとき、デバイス設定部150は、専用バス410に接続されている機能ユニットの実開始アドレスと実サイズとに基づいて、機能ユニットに割り当てるPCIのアドレス空間のメモリ領域を決定する。デバイス設定部150は、専用バス410に接続されている機能ユニットの実開始アドレスと実サイズとを取得する手段を有しているものとする。
 デバイス設定部150は、汎用バス701上においていずれのデバイスも接続されていない位置に機能ユニットが仮想的に接続されているものとし、その位置を機能ユニットに割り当てる。
 デバイス設定部150は、汎用バス701上のデバイスのデバイスレジスタとして使用されていないメモリ領域を、機能ユニットに割り当てるデバイスレジスタとして確保する。
 デバイス設定部150が、メモリマッピングテーブル130aに登録する具体的な情報は下記の通りである。デバイス設定部150は、機能ユニットに割り当てたPCIのアドレス空間のメモリアドレスと、専用バス410のアドレス空間におけるメモリアドレスである実開始アドレスと、専用バス410のアドレス空間におけるメモリサイズである実サイズとを対応付けて、メモリマッピングテーブル130aに格納する。
 デバイス設定部150は、電源投入後にCPUユニット100が実行するイニシャル処理の一部として、機能ユニットを汎用バス701上のデバイスとして扱うために必要な情報を算出し、算出した情報をデバイス構成テーブル120aとメモリマッピングテーブル130aに格納する。
 また、デバイス設定部150は、後述の構成変更検出部170が、デバイスの構成の変更を検出したときに、デバイス構成テーブル120aと、メモリマッピングテーブル130aとを更新する。デバイス設定部150は、デバイス構成テーブル120aと、メモリマッピングテーブル130aとを更新した後に、最新の情報をCPUユニット100に反映するため、例えば、CPUユニット100を再起動させる。デバイス設定部150の機能は、図2に示すCPU15がデバイス設定プログラム112を実行することにより実現される。デバイス設定部150は、本発明のデバイス設定手段の一例である。
 図1に示すプロトコル変換部160は、機能ユニットに出された汎用命令を専用命令に変換する。
 例えば、CPUユニット100のアプリケーションが、機能ユニットに対する汎用命令を出力するため、その機能ユニットに割り当てられているデバイスレジスタに決められた値を書き込んだとする。プロトコル変換部160は、デバイスレジスタに値が書き込まれると、図4に示すデバイス構成テーブル120aから、値が書き込まれたデバイスレジスタが割り当てられているデバイスのデバイス名とデバイス種別と接続バス種別とを取得する。プロトコル変換部160は、図3に示す変換テーブル110aから、特定したデバイスについて登録されているデータを読み出す。プロトコル変換部160は、読み出したデータから、アプリケーションが出力した汎用命令に対応する専用命令を取得する。
 一方、プロトコル変換部160は、指定された汎用命令に対応する専用命令が変換テーブル110aに登録されていない場合、命令を要求したアプリケーションにエラーを返す。
 プロトコル変換部160は、メモリマッピングテーブル130aから、該当するデバイスである機能ユニットの実開始アドレスと実サイズとを取得し、実開始アドレスと実サイズとを指定して、変換テーブル110aから読み出した専用命令を、専用バス410の通信規格に則って該当の機能ユニットに送信する。このようにして、プロトコル変換部160は、CPUユニット100が機能ユニットに出す汎用命令を専用命令に変換し、変換した専用命令を機能ユニットに実行する。
 また、プロトコル変換部160は、専用バス410を介して機能ユニットから戻り値を受信すると、変換テーブル110aから期待される戻り値を取得する。プロトコル変換部160は、取得した戻り値を、デバイス構成テーブル120aに定義されているPCIのアドレス空間のメモリアドレスで指定された領域に書き込む。このようにして、プロトコル変換部160は、機能ユニットからの戻り値を変換し、アプリケーションに期待される戻り値を返す。プロトコル変換部160の機能は、図2に示すCPU15により実現される。例えば、実施の形態に係るCPUユニット100のOSは、プロトコル変換部160の機能を含み、命令の解釈時にプロトコル変換部160の機能が実現される。プロトコル変換部160は、本発明の命令変換手段の一例である。
 図1に示す構成変更検出部170は、デバイスの構成が変更されたことを検出する。例えば、構成変更検出部170は、CPUユニット100に新たなデバイスが接続されたときの電気信号を検出する機能を備え、新たなデバイスが接続されたことを検出したときに、デバイスの構成が変更されたと判別する。あるいは、構成変更検出部170は、メモリ領域がマップ及びアンマップされたことを検出する機能を備え、メモリ領域のマップ及びアンマップを検出したときに、デバイスの構成が変更されたと判別する。構成変更検出部170は、デバイスの構成が変更されたことを検出すると、デバイス設定部150に、デバイス構成テーブル120aと、メモリマッピングテーブル130aとの更新を指示する。構成変更検出部170の機能は、図2に示すCPU15により実現される。
 図1に示すプログラム実行部180は、ユーザプログラム113を実行する。プログラム実行部180の機能は、図2に示すCPU15により実現される。
 続いて、上記構成を備えるCPUユニット100が、デバイス構成テーブル120aとメモリマッピングテーブル130aとを作成する初期設定処理の流れを説明する。初期設定処理は、CPUユニット100に電源が投入されると実行されるイニシャル処理の一部として実行される。
 図2に示すCPUユニット100のCPU15は、構成情報収集プログラム111を実行することにより、図1に示すデバイス構成収集部140として機能し、図2に示すデバイス設定プログラム112を実行することにより、図1に示すデバイス設定部150として機能する。
 図7に示すように、デバイス構成収集部140は、まず、汎用バス701に実際に接続されているデバイス構成情報を収集し、収集したデータを格納したデバイス構成テーブル120aを作成する(ステップS11)。ここで、デバイス構成収集部140は、デバイス21及び22のデバイス名、デバイス種別、接続バス種別、PCIのアドレス空間でのメモリアドレス、位置情報、デバイスレジスタの物理アドレスを収集し、収集したデータを格納したデバイス構成テーブル120aを作成する。
 続いて、デバイス構成収集部140は、汎用バス701以外のバスに接続されているデバイスがあるか否かを判別し(ステップS12)、汎用バス701以外のバスに接続されているデバイスがあると判別した場合(ステップS12;Yes)、汎用バス701以外のバス上のデバイスに関する情報を収集し、収集した情報をデバイス構成テーブル120aに登録する(ステップS13)。
 図2に示す例では、CPUユニット100には、入力ユニット200及び出力ユニット300が接続されている。よって、デバイス構成収集部140は、入力ユニット200及び出力ユニット300それぞれについて、デバイス名、デバイス種別、接続されているバス種別とを収集し、図6に示すようにデバイス構成テーブル120aに収集したデータを登録する。ここで、入力ユニット200及び出力ユニット300は、汎用バス701上のデバイスに接続されていないため、メモリアドレス、接続箇所、デバイスレジスタの値については、デバイス構成テーブル120aに登録されない。
 続いて、デバイス設定部150が、機能ユニットを汎用バス701上の仮想的なデバイスとして扱うために必要な情報を算出し、デバイス構成テーブル120aとメモリマッピングテーブル130aとを更新する(ステップS14)。具体的には、デバイス設定部150は、図6に示すデバイス構成テーブル120aに足りない情報であって、機能ユニットを汎用バス701上のデバイスとして扱うために必要な情報を算出し、算出した情報をデバイス構成テーブル120aに登録する。さらに、デバイス設定部150は、メモリマッピングテーブル130aに登録する情報を算出し、算出した情報をメモリマッピングテーブル130aに登録する。その後、デバイス設定部150は、テーブルの更新をCPUユニット100に反映する(ステップS15)。例えば、デバイス設定部150は、CPUユニット100を再起動させて、テーブルの更新をCPUユニットに反映する。以上が初期設定処理である。
 次に、CPUユニット100が、汎用命令で機能ユニットを制御するため汎用命令を専用命令に変換する命令変換処理を説明する。命令変換処理は、例えば、ユーザプログラム113が起動されると、実行される。
 図2に示すCPUユニット100のCPU15は、図1に示すプロトコル変換部160として機能し、図8に示す命令変換処理を実行する。プロトコル変換部160は、プログラム実行部180がユーザプログラム113の命令を順次に処理する中で、汎用命令を適宜変換する。
 プロトコル変換部160は、汎用命令の対象であるデバイスについて、変換テーブル110aの接続バス種別の値に応じて、汎用命令の対象が専用バス410上のデバイスであるか否かを判別する(ステップS21)。汎用命令の対象が専用バス410上のデバイスであると判別すると(ステップS21;Yes)、プロトコル変換部160は、変換テーブル110aに、汎用命令に対応する専用命令が登録されているかを判別する(ステップS22)。専用命令が変換テーブル110aに登録されていない場合(ステップS22:No)、プロトコル変換部160は、エラーを命令の呼び出し元へ返し(ステップS31)、命令変換処理を終了する。
 汎用命令に対応する専用命令が変換テーブル110aに登録されている場合(ステップS22;Yes)、プロトコル変換部160は、汎用命令に対応する専用命令を取得する(ステップS23)。汎用命令に、メモリ領域を指定するメモリアドレスが付加されている場合がある。この場合、指定されたメモリアドレスは、PCIのアドレス空間のメモリアドレスであるので、プロトコル変換部160は、図5に示すメモリマッピングテーブル130aから、指定されたPCIのアドレス空間のメモリアドレスに対応する実開始アドレス及び実サイズを取得する。
 プロトコル変換部160は、専用命令を実行する(ステップS24)。具体的には、
専用命令を、専用バス410を介して該当の機能ユニットに送信する。汎用命令でメモリ領域が指定されている場合、プロトコル変換部160は、ステップS23で取得した実開始アドレス及び実サイズを指定して、専用命令を実行する。変換テーブル110aから戻り値を返す必要があると判別すると(ステップS25;Yes)、プロトコル変換部160は、例えば、機能ユニットから帰ってきた応答データに含まれている戻り値を取得し、取得した戻り値に対応する期待される戻り値を変換テーブル110aから取得し、期待される戻り値を命令の呼び出し元へ返す(ステップS26)。
 また、ステップS21で、プロトコル変換部160が、汎用命令の対象が専用バス410上のデバイスでないと判別すると(ステップS21;No)、プログラム実行部180がその汎用命令を通常通りに処理する(ステップS30)。以上が、命令変換処理である。
 以上説明したように、実施の形態に係るCPUユニット100は、汎用命令を専用バス410上のデバイスへの専用命令に変換する構成を備えることで、通信規格が異なる伝送経路上の装置をシームレスに制御することが可能である。
 PLCの制御プログラムは、ラダーダイアグラム、シーケンシャル・ファンクション・チャートといった言語で作成されることが多く、このようなPLCのプログラムミングに採用されることが多い言語についての知識を有しない者にとっては、PLCの制御プログラムの開発は容易ではなかった。実施の形態に係る構成を採用することで、汎用命令で、PLCを制御することが可能となり、例えば、汎用OSがインストールされたコンピュータで使用される汎用プログラムミング言語により、PLCの制御プログラムを開発することも可能となる。
 また、CPUユニット100が、内部的に汎用命令を専用命令に変換しているので、例えば、ユーザがPCIのアドレス空間でのメモリの対応付けを行うといった、作り込みを行う必要がない。
 また、機能ユニットは、CPUユニット100において汎用バス701上のデバイスとして扱われるため、例えば、ユーザは、CPUユニットのデバイスを管理するツールを使用して、CPUユニット100内のデバイスと同様に、入力ユニット200、出力ユニット300といった機能ユニットを管理できる。この場合、汎用バス701上のデバイスとして扱われる機能ユニットの位置を示す情報として、図4に示すデバイス構成テーブル120aの位置情報が表示されることになる。機能ユニットのリソース情報として、デバイス構成テーブル120aのデバイスレジスタの物理アドレスが表示されることになる。
 実施の形態では、ユーザプログラム113の実行時に、逐次、専用バス410上のデバイスに出された汎用命令を専用命令に変換する例を説明したが、これに限られない。例えば、CPUユニット100は、イニシャル処理で、デバイス構成テーブル120aとメモリマッピングテーブル130aとに必要なデータを格納した後、ユーザプログラム113内の機能デバイスへの汎用命令を、専用命令に置き換えたプログラムを生成し、ユーザプログラム113の代わりに、命令が置き換えられたプログラムを実行するようにしてもよい。
 実施の形態では、汎用バスとして、PCIを採用したバスを例に説明したが、これに限られない。例えば、図2に示す実施の形態に係る汎用バス701の代わりに、専用バス410とは異なるバス420を採用してもよい。この場合、専用バス410上のデバイスを、バス420の仮想的なバスとして取り扱うことで、実施の形態と同様の効果を期待できる。
 実施の形態においては、CPUユニット100が、バス変換制御装置として機能する例を説明したが、これに限られない。例えば、PLCに接続されている情報処理装置がバス変換制御装置として動作してもよい。この場合、CPUユニット100と機能ユニットとが、本発明のデバイスに相当し、情報処理装置は、CPUユニット及び機能ユニットに出された汎用命令を専用命令に変換すればよい。
 上記のプログラムを記録する記録媒体としては、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリ、半導体メモリ、磁気テープを含むコンピュータ読取可能な記録媒体を使用することができる。
 本発明は、広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
1 プログラマブルロジックコントローラ(PLC)、11 メモリ、12 汎用バスインタフェース、13 専用バスインタフェース、14 入出力インタフェース、15 CPU、19 CPUバス、21,22 デバイス、100 CPUユニット、110 変換設定記憶部、110a 変換テーブル、111 構成情報収集プログラム、112 デバイス設定プログラム、113 ユーザプログラム、120 デバイス構成記憶部、120a デバイス構成テーブル、130 メモリ割当記憶部、130a メモリマッピングテーブル、140 デバイス構成収集部、150 デバイス設定部、160 プロトコル変換部、170 構成変更検出部、180 プログラム実行部、200 入力ユニット、300 出力ユニット、400 ベースユニット、410 専用バス、701 汎用バス、901 検出器、902 被制御機器

Claims (11)

  1.  第1通信規格に従った第1バスと、
     前記第1通信規格とは異なる第2通信規格に従った第2バスと、
     前記第1通信規格に従った汎用命令と前記第2通信規格に従った専用命令との対応付けを示す情報を記憶する変換命令記憶手段と、
     前記第2バスを介して接続されたデバイスに向けて命令出力手段より前記汎用命令が出された場合、前記汎用命令に対応する前記専用命令を前記変換命令記憶手段から取得し、取得した前記専用命令を前記第2バスを介して前記デバイスに供給する命令変換手段と、
     を備える命令変換装置。
  2.  前記第1バスは、前記命令変換装置が備えるCPUと前記命令変換装置が備えるデバイスとを接続するローカルバスであり、
     前記第2バスは、前記命令変換装置が備えるCPUと、前記命令変換装置以外の装置とを接続するバスである、
     請求項1に記載の命令変換装置。
  3.  前記デバイスを、前記第1バス上の仮想的なデバイスとして扱うために必要なデバイス構成情報を記憶するデバイス構成記憶手段、
     を備え、
     前記デバイス構成情報は、前記第1バスのアドレス空間において前記デバイスに割り当てられたメモリアドレスと、前記第1バス上の前記デバイスの仮想的な接続位置を示す位置情報と、前記第1バス上の前記デバイスに命令を実行するため使用されるデバイスレジスタのアドレスとを含み、
     前記命令変換手段は、前記デバイスに割り当てられた前記デバイスレジスタに値が書き込まれると、書き込まれた値により特定される前記汎用命令に対応する前記専用命令を変換命令記憶手段から取得する、
     請求項1または2に記載の命令変換装置。
  4.  前記第2バスのアドレス空間における専用メモリアドレスと、前記第1バスのアドレス空間において前記デバイスに割り当てた汎用メモリアドレスとの対応付けを記憶するメモリ割当記憶手段、
     を備え、
     前記命令変換手段は、前記汎用命令とともに指定された前記汎用メモリアドレスに対応する前記専用メモリアドレスを前記メモリ割当記憶手段から取得し、取得した前記専用メモリアドレスを指定して前記汎用命令に対応する前記専用命令を前記デバイスに供給する、
     請求項3に記載の命令変換装置。
  5.  前記デバイス構成情報を収集し、収集した前記デバイス構成情報を前記デバイス構成記憶手段に格納するデバイス構成収集手段と、
     前記デバイス構成収集手段が収集できない情報を生成し、生成した情報を前記デバイス構成記憶手段に格納するデバイス設定手段と、
     を備える請求項4に記載の命令変換装置。
  6.  前記デバイス設定手段は、前記デバイスに、前記第1バスのアドレス空間における前記汎用メモリアドレスを割当て、前記汎用メモリアドレスと、前記デバイスの前記第2バスのアドレス空間における専用メモリアドレスとを対応付けて、前記メモリ割当記憶手段に格納する、
     請求項5に記載の命令変換装置。
  7.  前記命令変換装置は、プログラマブルロジックコントローラのCPUユニットである、
     請求項1から6のいずれか1項に記載の命令変換装置。
  8.  前記デバイスは、前記プログラマブルロジックコントローラの機能ユニットを含む、
     請求項7に記載の命令変換装置。
  9.  前記デバイスは、プログラマブルロジックコントローラのCPUユニット及び機能ユニットを含む、
     請求項1から6のいずれか1項に記載の命令変換装置。
  10.  第1通信規格に従った第1バスと、前記第1通信規格とは異なる第2通信規格に従った第2バスとを備えるコンピュータが実行する方法であって、
     前記第2バスを介して接続されたデバイスに向けて命令出力手段より前記第1通信規格に従った汎用命令が出された場合、前記汎用命令に対応し、前記第2通信規格に従った専用命令を取得するステップと、
     取得した前記専用命令を前記第2バスを介して前記デバイスに供給するステップと、
     を含む方法。
  11.  第1通信規格に従った第1バスと、前記第1通信規格とは異なる第2通信規格に従った第2バスとを備えるコンピュータに、
     前記第2バスを介して接続されたデバイスに向けて命令出力手段より前記第1通信規格に従った汎用命令が出された場合、前記汎用命令に対応し、前記第2通信規格に従った専用命令を取得させ、
     取得した前記専用命令を前記第2バスを介して前記デバイスに供給させる、
     プログラム。
PCT/JP2019/024370 2019-06-19 2019-06-19 命令変換装置、方法、及びプログラム WO2020255309A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201980097506.XA CN114008601B (zh) 2019-06-19 2019-06-19 命令变换装置、方法及记录介质
PCT/JP2019/024370 WO2020255309A1 (ja) 2019-06-19 2019-06-19 命令変換装置、方法、及びプログラム
JP2020517408A JP6746040B1 (ja) 2019-06-19 2019-06-19 命令変換装置、方法、及びプログラム
US17/604,758 US11481344B2 (en) 2019-06-19 2019-06-19 Instruction conversion device, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/024370 WO2020255309A1 (ja) 2019-06-19 2019-06-19 命令変換装置、方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2020255309A1 true WO2020255309A1 (ja) 2020-12-24

Family

ID=72146153

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/024370 WO2020255309A1 (ja) 2019-06-19 2019-06-19 命令変換装置、方法、及びプログラム

Country Status (4)

Country Link
US (1) US11481344B2 (ja)
JP (1) JP6746040B1 (ja)
CN (1) CN114008601B (ja)
WO (1) WO2020255309A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117118828B (zh) * 2023-10-23 2024-01-23 上海芯联芯智能科技有限公司 一种协议转换器、电子设备及一种配置方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000341357A (ja) * 1999-05-27 2000-12-08 Mitsubishi Electric Corp 通信制御装置、計測制御システム、及び記録媒体
JP2005275452A (ja) * 2004-03-22 2005-10-06 Matsushita Electric Ind Co Ltd データ転送制御システム
JP2010049543A (ja) * 2008-08-22 2010-03-04 Fuji Electric Systems Co Ltd プログラマブルコントローラ、入出力装置、および動作パラメータアクセスシステム
JP2011070546A (ja) * 2009-09-28 2011-04-07 Sony Corp バスプロトコル変換装置及びバスプロトコル変換方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370603B1 (en) * 1997-12-31 2002-04-09 Kawasaki Microelectronics, Inc. Configurable universal serial bus (USB) controller implemented on a single integrated circuit (IC) chip with media access control (MAC)
US6571308B1 (en) * 2000-01-31 2003-05-27 Koninklijke Philips Electronics N.V. Bridging a host bus to an external bus using a host-bus-to-processor protocol translator
JP2001306399A (ja) * 2000-04-20 2001-11-02 Seiko Epson Corp メモリ管理ユニットおよびコンピュータシステム
US7792923B2 (en) * 2000-10-13 2010-09-07 Zhe Khi Pak Disk system adapted to be directly attached to network
US7126952B2 (en) * 2001-09-28 2006-10-24 Intel Corporation Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
US6925519B2 (en) * 2002-07-25 2005-08-02 Lsi Logic Corporation Automatic translation from SCSI command protocol to ATA command protocol
JP2006004095A (ja) 2004-06-16 2006-01-05 Mitsubishi Electric Corp 情報管理システム、端末およびサーバ
US7246191B2 (en) * 2005-03-31 2007-07-17 Intel Corporation Method and apparatus for memory interface
TWI298840B (en) * 2005-07-13 2008-07-11 Via Tech Inc Bus device used in computer system
US7913025B1 (en) * 2007-07-23 2011-03-22 Augmentix Corporation Method and system for a storage device
CN102325128B (zh) * 2011-07-11 2014-04-02 北京交通大学 FlexRay 总线与LIN 总线的协议转换装置及方法
CN103034602B (zh) * 2012-12-06 2015-11-25 华为技术有限公司 一种基于外设部件互联总线的内容查找芯片及系统
CN106201947B (zh) * 2016-06-30 2019-08-27 北京振兴计量测试研究所 基于自定义总线的gpib通讯方法及通讯控制装置
CN110196824B (zh) * 2018-05-31 2022-12-09 腾讯科技(深圳)有限公司 实现数据传输的方法及装置、电子设备
US10713207B2 (en) * 2018-07-02 2020-07-14 Venturi, Llc USB to synchronous serial interface with external clock signal

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000341357A (ja) * 1999-05-27 2000-12-08 Mitsubishi Electric Corp 通信制御装置、計測制御システム、及び記録媒体
JP2005275452A (ja) * 2004-03-22 2005-10-06 Matsushita Electric Ind Co Ltd データ転送制御システム
JP2010049543A (ja) * 2008-08-22 2010-03-04 Fuji Electric Systems Co Ltd プログラマブルコントローラ、入出力装置、および動作パラメータアクセスシステム
JP2011070546A (ja) * 2009-09-28 2011-04-07 Sony Corp バスプロトコル変換装置及びバスプロトコル変換方法

Also Published As

Publication number Publication date
JP6746040B1 (ja) 2020-08-26
CN114008601A (zh) 2022-02-01
US11481344B2 (en) 2022-10-25
CN114008601B (zh) 2023-11-10
JPWO2020255309A1 (ja) 2021-09-13
US20220147473A1 (en) 2022-05-12

Similar Documents

Publication Publication Date Title
US9043776B2 (en) Transferring files to a baseboard management controller (‘BMC’) in a computing system
US9292437B2 (en) Optimizing virtual memory allocation in a virtual machine based upon a previous usage of the virtual memory blocks
US6185638B1 (en) Method and system for dynamically assigning addresses to an input/output device
JP5284905B2 (ja) データ移行方法、及びプログラム
CN101853254B (zh) 挂载文件或目录到本地或远程主机的方法和装置
US20130247056A1 (en) Virtual machine control method and virtual machine
JP3607049B2 (ja) コンピュータ・システムにおいて製造番号を保護しつつマザーボードの交換を可能にする装置および方法
CN109964214B (zh) 使用服务层适配器管理最低一致性点(lpc)存储器
WO2018158808A1 (ja) 情報システム、管理プログラム及び情報システムのプログラム交換方法
US7886095B2 (en) I/O space request suppressing method for PCI device
JP6746040B1 (ja) 命令変換装置、方法、及びプログラム
CN116301596A (zh) 一种软件raid构建方法、装置、设备及存储介质
US10169062B2 (en) Parallel mapping of client partition memory to multiple physical adapters
US8239634B2 (en) Input/output control based on information specifying input/output issuing source and input/output priority
JP5492731B2 (ja) 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム
JP4180291B2 (ja) 記憶装置システムの制御方法および記憶装置、管理装置、およびプログラム
JP5846016B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
US9654560B2 (en) Management system and method
JP2016051395A (ja) 画像形成装置およびリソース管理方法
JP5079166B1 (ja) シンボルテーブル生成方法、周辺機器との通信方法およびプログラマブルロジックコントローラ
CN112711527A (zh) 一种实时进程的调试方法、装置、目标机和存储介质
JP2019057212A (ja) プログラマブルコントローラ及びコントロールシステム
JP7413183B2 (ja) コントロールシステム
JP7247651B2 (ja) 情報処理装置、情報処理システム及び情報処理プログラム
KR20100018017A (ko) 비휘발성 메모리에 기반한 컴퓨터 시스템

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020517408

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19934060

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19934060

Country of ref document: EP

Kind code of ref document: A1