Abstract:
The invention refers to a computer-implemented method and system for loading a loadware file on a CANopen device. The CANopen device comprises an electronic data sheet, which is extended to comprise a load object. After reading the load object with the load parameters, the respective loadware file is located, selected and accessed. Accessing the loadware file is done by applying the read load parameters.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention is related to data processing in medical technology and in particular concerns a method for controlling peripheral devices in a medical technology environment; the invention also relates to a peripheral device and a system for communication with the peripheral device. 
       BACKGROUND OF THE INVENTION 
       [0002]    Modern medical technology employs a large number of rather expensive and sophisticated echo apparatuses. Examples for such medical apparatuses are computer tomographs (CT), positron emission tomographs (PET) or other medical modalities. Other medical apparatuses include intensive care apparatuses. Those medical apparatuses are normally connected in a communication network in a modular fashion. Those medical apparatuses are connected via a suitable communication network. The peripheral devices are ranged for example to collect measurement data from patients. Examples of peripheral devices are injectors, respiration apparatuses, EKG monitors, amplifiers or devices for controlling respiration dating. 
         [0003]    For the purposes of communication the peripheral devices are equipped with a specific protocol as a communication interface. 
         [0004]    One of such protocol, specifying a communication interface is the so called CANopen interface, which is mainly used for embedded systems in automation. Each peripheral device or indeed any device complying with the standards specified in the CANopen protocol is called a CANopen device. The CANopen standard DS301 is a basic profile. In this standard there is provided a description of the communication functionality and of the device specific objects by means of an electronic data sheet (EDS). The EDS comprises background and meta-information relating to the device and is an electronic file, which usually is saved on the device itself. The CANopen standard is—referring to the OSI layering—the layer 7 communication protocol and is known particular from the field of automation technology but is also widely used in the field of medical technology. 
         [0005]    According to the CANopen standard parameters and states of each CANopen device are described by means of objects arranged in tabular fashion in the EDS. The EDS for a particular CANopen device is normally available from the vendor. The data objects in the EDS are normally sufficient to describe how to access device parameters or settings. However, more complex accesses for example for the purposes of updating the CANopen device with loadware are not described sufficiently. The standard data objects in the EDS are not “rich enough” to describe such complex processes as a loadware update. 
         [0006]    The CANopen device is normally provided with one or more microcontrollers onto which an application is loadable in order to enable the functionalities of the CANopen device. 
         [0007]    As an example for an EDS file, known in the state of the art  FIG. 1  shows parts of this file with relevant passages for example comprising an object having a number X1F50. This object comprises a number of sub objects which are shown in  FIG. 1 , for example the sub object 1f50sub1. 
         [0008]    Generally, the first lines are specifying an object type a parameter name a data type, an access type and a PDO (process data object) mapping. 
         [0009]    However, in the state of the art, there is an issue with those sub objects in that they do not supply sufficient details for example relating to which memory ranges are available for the update in the buffer of the loadware on the CANopen device. Therefore, in prior art systems the vendor had to supply further information on separate channels to enable an update of loadware. This process is, however, error-prone and non economical. For example, the vendor had to specify where the memory is located, which pages in memory are reusable in order to note the loadware onto and for example which one of sub objects is suitable for starting the up-loaded loadware. 
       SUMMARY OF THE INVENTION 
       [0010]    Therefore, an object of the present invention is to provide a method of loading a loadware file on peripheral device having a CANopen interface. An electronic data sheet being associated with the peripheral device has been augmented to include a load object. The method comprises:
       reading the load object having load parameters from the augmented electronic data sheet;   locating a loadware file by using the augmented electronic data sheet;   upon accessing the located loadware file applying to read and load parameters to load the loadware file.       
 
         [0014]    The electronic data sheet according to the present invention has been augmented by the load object in order to be rich enough to describe the loading process. A method according to the present invention therefore allows to automatize the loading of the loadware file in a safe manner. There are a number of advantages, resulting form this invention. Errors may be avoided, which are resulting from a failures concerning one of the updating processes or from a wrong memory information etc. 
         [0015]    By loadware file is meant any piece of software suitable to enable functionalities of the CANopen peripheral device. Upgrading or updating software can therefore be considered synonymous to loadware file. Loading a loadware file may be construed as loading a new loadware, modifying an existing loadware file or deleting an old one and exchanging the same with a new one. 
         [0016]    The electronic data sheet is a simple ASCII file or an XML file wherein a number of data objects representing parameters or parameter settings of the peripheral device are defined. According to the invention one of the objects is the load object. 
         [0017]    The load object comprises a number of load parameters suitable to describe a loading process in sufficient detail to be automated. The load parameters comprise loadware initialisation information, memory page information and memory range information. The memory range information is related to a mapping into allocated the memory segments for loading the loadware file. The memory segments are units of the memory of the CANopen peripheral device. However, the memory segments may also relate to units of memory located outside the peripheral device with which the peripheral device is capable of communicating with. 
         [0018]    According to an aspect of the present invention the method of loading a loadware file or an update of the loadware file respectively, comprises the step of: 
         [0019]    reading in the description for the loadware update form the EDS. This is done by means of accessing the load object of the EDS. The EDS might be stored on the CANopen peripheral device itself or alternatively or cumulatively might be stored on a separate module, which is provided with the device (a part might for example be stored on the device and the rest might be stored on another carrier). The relevant loadware file is selected and opened. Possibly format conversions are to be executed automatically (for example hex file in a binary). 
         [0020]    According to another aspect of the present invention applying the respective loadware files with the respective accesses comprise:
       switching into a bootloader (as a firmware context) by means of a write access to the object, having been defined in the EDS;   based on the memory page information erasing memory page content for one or more memory pages;   based on the memory range information allocating and/or loading ranges of memory in the memory pages;   executing the loadware by read accessing the allocated and/or loaded ranges of memory; wherein for the purpose of updating also a write access on the relevant objects listed in the EDS is possible.       
 
         [0025]    According to one aspect of the present invention the loading of the loading file is executed automatically. The loading process is, for example, initiated by a user initiated signal. 
         [0026]    According to an alternative embodiment of the present invention the execution of the loading of the loadware is initiated by the vendor sending an appropriate signal over a communication network to the peripheral device. Alternatively, the loading could be triggered by another instance together with an authentification signal form the user of the device or from the vendor. 
         [0027]    According to an embodiment of the invention there are provided load conditions, which refer to more formal aspects of loading (time, format etc.). These conditions may be defined in a preparation phase, before loading and could be modified during use of the peripheral device. Further, these conditions could be supervised. 
         [0028]    Until now the present invention has been described in relation to the method. Any aspects, features or advantages mentioned in this respect might also be applied to the system according to the invention and also to the computer readable medium and also to the peripheral unit according to the invention. With other words the system and the product might also be adapted to incorporate features, having been mentioned with respect to the description of the method according to the invention. Any functional feature refers to an apparatus feature, having the respective functionality. For example the step of “storing the load object” refers to a structural entity “storage medium adapted to store the load object”. 
         [0029]    Another object of the present invention is to provide a computer readable medium having computer readable instructions stored thereon for implementing the above method. 
         [0030]    Another object of the present invention is to provide a system comprising a peripheral CANopen device on which device the loadware is to be loaded on. The system further comprises: 
         [0031]    A storage having stored thereon the electronic data sheet to the alimented electronic data sheet including the load object having the load parameters; 
         [0032]    A control unit communicatively coupled by means of a CANopen bus system to the peripheral device. The control unit is adapted to read in the load object and to locate the loader file by using the load parameters of the load object. The control unit is also adapted to apply the read and load parameters to load the loadware upon accessing the located loadware file. 
         [0033]    The augmented electronic data sheet according to the present invention allows the control unit to load the loadware by means of a generic loading program or loading module. A development of the information in the electronic data sheet for precisely specifying the loading process can therefore in principal be coupled to the development of the generic loading program. Additional and possibly ambiguous documentation on the loading process is therefore no longer needed. The system according to the present invention therefore allows vendors to use a single generic loading program to control the loading process for a number of different CANopen peripheral devices. The loading parameters of the load object precisely specify (down to a mainly address level) the way in which the loadware is to be arranged on the memory of the peripheral device. The inventive system therefore allows the loading process to commence in the defined manner or matter the actual organisation of memory at the target that is the peripheral device. 
         [0034]    Generic loading program is to be construed as any module executed on the control unit and suitable to control basic input/output operations on the peripheral device on which the loadware is to be loaded on. 
         [0035]    The control unit is to be construed as for example a PC or a PDA or a laptop or another computer unit which a user can initiate and control the loading process by means of EDS. According to the invention the amended system allows to organize the loading process in manifold ways to fit local requirements. For example according to one alternative aspect of the present invention the electronic data sheet is stored in the peripheral device in a predetermined memory area. According to this aspect the vendor needs only to supply the peripheral device and tell the user whereon in memory the electronic data sheet is being located. 
         [0036]    According to a yet alternative aspect of the present invention the electronic data sheet is not stored on the peripheral device it is rather stored externally on an external storage. According to this aspect of the present invention the control unit will have to communicate with the external storage to request and to retrieve the electronic data sheet thereon. According to this aspect of the present invention the vendor would supply a “naked” version of the peripheral device. If a user wishes to load the loadware onto the supplied peripheral device it is for example not necessary to access a backed or a website of the vendor at all. 
         [0037]    The electronic data sheet is marked for the specific type of peripheral device. According to this aspect of the present invention the vendor is in the position to provide an updated version of the loadware at a minimum of logistic overhead. 
         [0038]    The system according to the present invention also allows holding the loadware files themselves in different locations or to yet better fit local requirements. For example to one aspect of the present invention the files are resident on the control unit. According to this aspect the loadware files are straight “downloaded” on the control unit to the peripheral device. 
         [0039]    According to another aspect of the present invention the loadware files are arranged on their repository external to the control unit. In this case the user will have to retrieve the loadware files from the repository before commencing the loading process. According to this aspect it is again for example the vendor&#39;s website on which the loadware files are available. In this case the user would simply use the browser in order to connect with the vendor&#39;s website to download the most recent loadware file he wishes to load onto the peripheral device. 
         [0040]    According to yet another aspect of the present invention it is possible to provide the loadware file in a designated memory area of the peripheral device. According to this aspect the loadware files are “parked” in the designated area in first need to be loaded properly by means of the electronic sheet into areas of memory specified therein. 
         [0041]    Any of the previous memory storage places for storing the electronic data sheet can be combined with any of before mentioned ways of storing the loadware files. 
     
    
     
       BRIEF DESCRIPTIONS OF THE DRAWINGS 
         [0042]      FIG. 1  is a schematic diagram giving an overview of a prior arts electronic data sheet; 
           [0043]      FIG. 2  is a schematic block diagram of a system for loading a loadware onto a peripheral device according to one aspect of the present invention; 
           [0044]      FIG. 3  is a schematic diagram of an electronic data sheet of an augmented electronic data sheet according to one aspect of the present invention; 
           [0045]      FIG. 4  is a basic flow chart of the method of loading the loadware file on a peripheral device according to one aspect of the present invention. 
       
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0046]    Embodiments of a method for loading a loadware file on a peripheral device are described hereinafter. In the following description, meaning of specific details is given to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, modules, entities etc. In other instances, well-known structures, computer related functions or operations are not shown or described in detail, as they will be understood by those skilled in the art. 
         [0047]    Further, the method is described with respect to medical peripheral devices. However, it is apparent that also other categories or other typed of deviced, for example like automation devices might also be applied and processed, respectively. 
         [0048]    In  FIG. 1  there is shown a prior art electronic data sheet. According to the known data sheet it is not possible to have a specific loading of loadware files on a peripheral CANopen device CD. The old procedure is time consuming and error prone. 
         [0049]    In contrast to this the invention suggests an augmented electronic data sheet EDS which is depicted in  FIG. 3 . 
         [0050]    In  FIG. 3  a first passage relates to “loadware info”. This is a section with information relating to a loadware name, a check sum algorithm, position and a length. Further there is given a name of an object to start the loading. Further a number of pages is given, which might be deleted or which might be accesses via a write access (“LWNumDelPages=2”). In section [1F50sub1] the electronic data sheet EDS is enlarged with a reference with respect to a parameter name and there is given a starting address for an object to be searched in the respective memory and there is given an ending address for the object to be searched in the respective memory (LowLimit/HighLimit). Although in the section [1F50sub1] there can be find these parameters (LowLimit/HighLimit). In section [1F51sub1] there is also given further information concerning the parameter name as an object for starting the load ware. 
         [0051]    In  FIG. 2  there is shown a schematic bloc diagram of a system for loading a loadware file on one of a group of several CANopen devices CD according to one aspect of the present invention. A system comprises a control unit CU, which could be a personal computer, a laptop or a mobile device which is connected to a CANopen bus system BUS. The control unit CU and the CANopen device CD communicate over that CANopen bus BUS. The control unit CU also communicates with a repository R for storing information relating to the control unit CU and/or relating to the CANopen CD and particularly for loading an application software as so called loadware, on the CANopen device CD. The repository R might communicate over the CANopen bus BUS. 
         [0052]    According to the invention the electronic data sheet EDS is extended to comprise a further object, namely a so/called load object LO. The load object Lo is to be used for a loading software application to the CANopen device CD. 
         [0053]    However, alternatively it is also possible to associate the repository R to the control unit CU over another communication channel. This should be depicted in  FIG. 2  with the dotted line from repository R to CAnopen bus BUS and with the dotted line from repository R to the control unit CU. In the latter case the repository R is associated to the control unit CU by a local area network (LAN), a wide area network (WAN), the internet or by other means of communication. 
         [0054]    The CANopen device CD is typically associated to a large medical technology apparatus, such as a computer tomography, an ultrasound apparatus, a positron emission tomograph etc. The CANopen device CD can for example be an injector, a detection apparatus for respiration gating, an EKG monitor, internal or external lab equipments, internal or external sub switches, displays, anesthesia units, pulse oximeters etc. In the embodiment shown in  FIG. 2  the interface between the respective elements of the system is a CANopen bus. However, also other standardized or proprietary interfaces might be used. However, also other elements with potential other interfaces can also be provided. 
         [0055]    The electronic data sheet EDS is associated with the respective CANopen device CD. Normally, the electronic data sheet EDS is stored on the CANopen CD itself. However, it is also possible to store the electronic data sheet EDS in a separate data carrier which is in data communication with the respective CANopen device CD. 
         [0056]    In  FIG. 4  there is shown a basic flow chart with respect to the method of loading the loadware file on the CANopen device CD according to one aspect of the present invention. In a first step the load object LO is read in. The load object LO is part an electronic data sheet EDS according to the invention. Normally the control unit CU executes a read access to the load object LO stored on the electronic data sheet EDS, on the CANopen device CD over the CANopen bus system. In a second step the dedicated or related loadware file is selected. The loadware file is stored in the repository R. In a third step the read in load parameters are applied for accessing the loadware file LO. This is executed via write access from the control unit CU to the CANopen device CD with the respective files. In the fourth and last step the new application could be started with a new loadware on it. With this method provided by the invention a new loadware application could be started automatically without user interaction. All relevant data for loading the new software application are collected automatically from the respective information in the electronic data sheet EDS and in the repository R. 
         [0057]    In a further preferred embodiment of the invention the method further comprises an additional step for informing a user whether or not the new loadware application could be loaded successfully. This could be signaled with respective optic or acoustic signal. 
         [0058]    The invention can be realized in part or entirely by this software or hardware modules or by a combination of the same. Further the invention could be distributed among other physical products, in particular computer program products). 
         [0059]    In addition while the foregoing description focused on the CANopen devices CD and on other specific features also other interfaces and alternative features maybe used without departing from the underlying principles of the invention. 
         [0060]    Further, the method might be implemented in software, in coded form. Alternatively, it is possible to implement the method according to the invention in hardware or hardware modules. The hardware modules are then adapted to perform the functionality of the steps of the method. Furthermore, it is possible to have a combination of hardware and software modules. 
         [0061]    These and other modifications can be made to the invention with regard of the above detailed description. The terms used in the following claims should not be construed to limit the invention to the specific embodiments disclosed in the specification and the claims. Rather, the scope of the invention is to be determined entirely by the following claims, which are to be construed in accordance with established doctrines of claim interpretation. 
         [0062]    Accordingly, the scope and spirit of the invention should be judged in terms of the claims which follow.