# US 9,751,410 B2 · Controller and map file conversion device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,751,410 B2
- Document ID: US9751410B2
- Status: Granted
- Kind: B2
- Application number: 14/846,929
- Filed: 2015-09-07
- Published: 2015-12-31
- Granted: 2017-09-05
- Earliest claimed: 2013-04-30
- Assignees: Fuji Electric Co., Ltd.
- Applicants: Fuji Electric Co., Ltd.
- Inventors: Takao Sawada
- Web page: https://patentgrep.com/patent/US9751410B2

## CPC

- B60L 3/12: Recording operating variables {; Monitoring of operating variables}
- B60L 15/20: for control of the vehicle or its driving motor to achieve a desired performance, e.g. speed, torque, programmed variation of speed
- G06F 9/44521: {Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading}
- G06F 9/45516: {Runtime code conversion or optimisation}
- G06F 16/116: {Details of conversion of file system types or formats}
- B60L 2240/421: Speed
- B60L 2240/423: Torque
- B60L 2250/12: by confirmation, e.g. of the input
- B60L 2250/16: by display
- Y02T 10/64: Electric machine technologies in electromobility
- Y02T 10/72: Electric energy management in electromobility
- B60L: PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES (arrangements or mounting of electrical propulsion units or of plural diverse prime-movers for mutual or common propulsion in vehicles B60K1/00, B60K6/20; arrangements or mounting of electrical gearing in vehicles B60K17/12, B60K17/14; preventing wheel slip by reducing power in rail vehicles B61C15/08; dynamo-electric machines H02K; control or regulation of electric motors H02P); SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES (electric coupling devices combined with mechanical couplings of vehicles B60D1/64; electric heating for vehicles B60H1/00); ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL (control or regulation of electric motors H02P); MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02T: CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION

## Abstract

A controller for controlling a drive device that executes drive control of a motor. The controller includes a processing device and a memory having program instructions stored thereon. Execution of the program instructions by the processing device causes the controller to obtain a symbol name provided to indicate data that are an object of reading or updating, to convert the obtained symbol name into an address with reference to a map file, where the map file uses each symbol name included in a source code of a control program as an identifier of the data corresponding to each symbol name, and associates each symbol name with an address of a storage area storing the corresponding data, and to instruct the drive device to read or update the data stored in the storage area indicated by the address obtained through the conversion.

## Claims

### Claim 1

A controller for controlling a drive device that executes drive control of a motor, comprising:
a processing device; and
a memory having program instructions stored thereon, execution of which by the processing device causes the controller
to obtain a symbol name provided to indicate data that are an object of reading or updating,
to convert the obtained symbol name into an address with reference to a map file, the map file using each symbol name included in a source code of a control program as an identifier of data corresponding to said each symbol name, and associating said each symbol name with an address of a storage area storing the corresponding data, and
to instruct the drive device to read or update the data stored in the storage area indicated by the address obtained through the conversion, wherein
the source code includes a variable of a structure type that has a plurality of members, both the variable and each member thereof having a symbol name associated thereto, and
the map file includes, for the variable of the structure type, both
a first address, which is an address of a storage area storing the variable, associated with the symbol name of the variable, and
a plurality of second addresses respectively associated with the symbol names of the members of the variable, each second address being obtained by adding an offset corresponding to a data type of an immediately-preceding member to the second address corresponding to the immediately-preceding member, or to the first address when no preceding member thereof exists.

### Claim 2 (depends on 1)

The controller according to claim 1, wherein
version information indicating a version of the control program is stored in the drive device; and
the map file is a map file corresponding to the version indicated by the version information stored in the drive device.

### Claim 3 (depends on 2)

The controller of claim 2, wherein the map file is stored as the version information in the drive device, and is retrievable by the controller from the drive device for use in testing of the motor.

### Claim 4

A map file conversion device, comprising:
a communication device configured to receive
a source code of a control program for a drive device to perform drive control of a motor, the source code including a variable of a structure type that has a plurality of members, each member having a symbol name associated thereto and being of a data type,
a definition file that defines data types used in the source code, including the structure type and the data types of the members thereof, and
a map file generated together with the control program using the source code and the definition file, the map file including an address of the variable that is an address of a storage area in which the variable is stored in the drive device; and
a controller including
a processing device; and
a memory having program instructions stored thereon, execution of which by the processing device causes the controller
to receive through the communication device the source code, the definition file and the map file, and
upon detecting the variable of the structure type from the source code received through the communication device, to execute map file conversion processing by
specifying the plurality of members of the variable of the structure type with reference to the received definition file, and
for each of the members, appending to the received map file an address, obtained by adding an offset corresponding to the data type of an immediately-preceding member to an address of the immediately-preceding member, or to the address of the variable when no preceding member thereof exists, in association with the symbol name of said each member.

### Claim 5 (depends on 4)

The map file conversion device of claim 4, wherein the map file is stored in the drive device as version information indicating a version of the control program, and is retrievable by the controller from the drive device for use in testing of the motor.

### Claim 6

A method for a controller to control a drive device of a motor, comprising:
obtaining a source code of a control program of the drive device, the source code including a plurality of variables each having a symbol name, at least one of the variables being of a structure type that has a plurality of members, each member having a symbol name associated thereto and being of a data type;
obtaining a map file that including the plurality of symbol names and a plurality of addresses, each symbol name being mapped to one of the addresses, each address indicating a storage area storing data corresponding to one of the symbol names mapped thereto;
converting the map file by, for each variable of the structure type,
specifying the plurality of members in said each variable, and
for each member of said each variable, appending to the map file an address, obtained by adding an offset corresponding to the data type of an immediately-preceding member to an address of the immediately-preceding member, or to the address for the symbol name of the variable when no preceding member thereof exists, in association with the symbol name of said each member;
receiving a target symbol name indicating an object of reading or updating;
converting the target symbol name into a target address with reference to the converted map file; and
instructing the drive device to read or update data stored at the target address.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
storing the map file in the drive device as version information indicating a version of the control program, and
retrieving, by the controller from the drive device, the stored map file for use in testing of the motor.
