Software engine having an adaptable driver for interpreting variables produced by a plurality of sensors
DCFirst Claim
Patent Images
1. A software engine for interpreting variables produced by a plurality of sensors which communicate by means of serial, analog or local area network protocols, the software engine comprising:
- means for interpreting an external process request for data information which includes the variable produced by the sensor, and wherein the external process request is an independently executable software program which includes a piece of software code which generates a message in a predetermined format requesting from the software engine the delivery of data which is in a specific format and syntax, and wherein the independently executable software program in otherwise unfamiliar with the software engine and which further includes;
a. means for interfacing with an operating system to determine if an appropriate operating system is present and to execute the necessary memory and disk management functions such that the software engine can operate, the software engine otherwise being operating system independent, and wherein the interface means is included in a main module;
b. means for creating a mailbox which is adapted to exchange information with the external process request, andc. means for opening an object queue loop, and wherein the object queue loop identifies an object type and initiates a predetermined process with the individual sensors requested by the external process;
means for overlaying a predetermined adaptable driver, which, when adjusted in a predetermined fashion, corresponds to the data characteristics of the individual sensors and wherein the adaptable driver decodes the variables requested by the external process request;
means for polling or listening to the individual sensors, thereby receiving the data information requested by the external process request, and wherein the data information received is in a predefined format, and in any syntax; and
means for transmitting the data information generated by the individual sensors to a predetermined destination.
8 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A method for interpreting variables produced by a sensor which communicates by a means of serial analog protocols including interpreting an external process request for data information from the sensor; overlaying a predetermined adaptable driver which when adjusted in a predetermined fashion corresponds to the characteristics of the sensor; polling or listening to the sensor thereby receiving the data information requested; and transmitting the information to a predetermined destination.
128 Citations
14 Claims
-
1. A software engine for interpreting variables produced by a plurality of sensors which communicate by means of serial, analog or local area network protocols, the software engine comprising:
-
means for interpreting an external process request for data information which includes the variable produced by the sensor, and wherein the external process request is an independently executable software program which includes a piece of software code which generates a message in a predetermined format requesting from the software engine the delivery of data which is in a specific format and syntax, and wherein the independently executable software program in otherwise unfamiliar with the software engine and which further includes; a. means for interfacing with an operating system to determine if an appropriate operating system is present and to execute the necessary memory and disk management functions such that the software engine can operate, the software engine otherwise being operating system independent, and wherein the interface means is included in a main module; b. means for creating a mailbox which is adapted to exchange information with the external process request, and c. means for opening an object queue loop, and wherein the object queue loop identifies an object type and initiates a predetermined process with the individual sensors requested by the external process; means for overlaying a predetermined adaptable driver, which, when adjusted in a predetermined fashion, corresponds to the data characteristics of the individual sensors and wherein the adaptable driver decodes the variables requested by the external process request; means for polling or listening to the individual sensors, thereby receiving the data information requested by the external process request, and wherein the data information received is in a predefined format, and in any syntax; and means for transmitting the data information generated by the individual sensors to a predetermined destination. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A software engine for interpreting data information which includes variables produced by a plurality of sensors which communicate by means of serial, analog or local area network protocols, and wherein the software engine operates at run time, in combination with an operating system, to execute the necessary memory and/or disk management functions such that the software engine can operate, the software engine comprising:
-
means for interpreting an external process request for data information from the sensors and wherein the external process request is an independently executable software program which runs simultaneously and independently with respect to the software engine, and which further has an operating system interface module which executes the necessary memory and disk management functions such that the software engine can operate, the software engine otherwise being operating system independent, and wherein the independently executable software program includes a piece of software code which generates a message in a predetermined format requesting from the software engine the delivery of data which is in a predetermined format and syntax, and wherein the interpreting means includes a module disposed in data receiving relation relative to the external process request, and which is operable to initiate an object queue loop which identifies different object types including a mailbox through which data information is exchanged with the external process, and a timer which regulates the frequency of data exchanges with the individual sensors requested by the external process, and wherein the module further processes the data exchanges with the individual sensors; means for overlaying a predetermined adaptable driver which, when adjusted in a predetermined fashion by employing specific functions of the operating system, corresponds to the data characteristics of the individual sensors, and wherein the predetermined adaptable driver to be overlayed includes a driver skeleton which has a decoding area, and wherein an operator, prior to overlaying the predetermined adaptable driver, supplies data to the driver skeleton which includes, a name for the adaptable driver; a polling timer interval for the individual sensors; a timing delay interval which is provided to the module and which determines the time interval with which the module must return to the individual sensors to receive all the data requested by the external process; a baud rate, and parity, for the individual sensors being polled by way of serial communications; a name of the language which is employed by the individual sensors; the type of sensor device being polled or listened to, including serial, analog, or local area networks; instructions regarding whether the individual sensors can be polled, or listened to; any special communication instructions to the individual sensors; the number of polling requests which must be completed to ensure receipt of all the data information from the individual sensors; the variables which are to be read from the individual sensors; and the decoding area of the driver skeleton which decodes the variables read from the individual sensors; means for polling or listening to the individual sensors thereby receiving the data information requested by the external process request, and wherein the data information received is in a predetermined protocol, and in any syntax, and wherein the driver decoding area decodes the variables requested by the external process request; and means for routing the variables generated by the individual sensors, and which have been decoded by the driver decoding area, to a predetermined destination, or to the requesting external process, as appropriate.
-
-
14. A software engine which operates in combination with a computer having a disk operating system, and wherein the software engine is operable to interpret variables produced from a plurality of remote sensors which communicates by serial, analog or local area network protocols, and wherein an external process requests data information from selected sensors and the software engine directs the requested information to a predetermined destination, the software engine comprising:
-
a library function which can be accessed from the external process, and wherein the library function executes a plurality of commands which can be requested by an operator, and wherein an operator issues commands through the library function regarding the particular remote sensor from which data information is requested; a main module including an operating system interface module, and wherein the operating system interface module is operating system dependent, and disposed in data receiving relation relative to the library function, and wherein the main module includes a memory which stores a plurality of drivers which are operable to interpret the external process request for information, and wherein the library function transmits the external process request for information and converts this external process request into a format which is understood by the main module, and wherein the main module is operable upon the request of the external process, to determine whether an appropriate operating system is present to execute the necessary memory and disk management functions such that the software engine can operate but which is otherwise operating system independent, create a mailbox through which data information is exchanged with the external process, and initiate an object queue loop which identifies predetermined object types, and wherein the main module initiates a process unique to each of the object types, and the particular remote sensor requested by the external process; means for overlaying a predetermined adaptable driver which, when adjusted in a predetermined fashion by employing specific functions of the operating system, corresponds to the characteristics of the particular sensor, and wherein the adaptable driver called up from the memory of the main module and overlayed includes a driver skeleton which has a decoding area, and wherein the driver skeleton may be adjusted by an operator, and the decoding area employed to decode the variables produced by the particular remote sensor, the operator supplying information to the driver skeleton which includes, a name for the adaptable driver; a polling timer interval for the particular sensor; a timing delay interval which is provided to the main module and which determines the time interval with which the main module must return to the particular sensor to receive all the data requested by the external process; a baud rate, and parity, for the particular sensor being polled by way of serial communications; a name of the language which is employed by the operator in the decoding area of the particular sensor; the type of sensor being polled or listened to; instructions whether the particular sensor can be polled or listened to, as appropriate; any special communication instructions to the particular sensor, as appropriate; the number of polling requests which must be completed to ensure receipt of all data information from the particular sensor; the variables which are to be read from the particular sensor; and the decoding area of the driver skeleton and which decodes the variables read from the particular sensor; means for polling or listening to the particular sensor thereby receiving the variables which have been decodes by the decoding area of the updated driver skeleton; and means for routing the decoded variables to a predetermined destination, or to the requesting external process, as appropriate.
-
Specification