FI115863B - System and method for handling data flow between application and communication bus in a computer controlled control system - Google Patents

System and method for handling data flow between application and communication bus in a computer controlled control system Download PDF

Info

Publication number
FI115863B
FI115863B FI20011874A FI20011874A FI115863B FI 115863 B FI115863 B FI 115863B FI 20011874 A FI20011874 A FI 20011874A FI 20011874 A FI20011874 A FI 20011874A FI 115863 B FI115863 B FI 115863B
Authority
FI
Finland
Prior art keywords
component
packet
data stream
application
data
Prior art date
Application number
FI20011874A
Other languages
Finnish (fi)
Swedish (sv)
Other versions
FI20011874A0 (en
FI20011874A (en
Inventor
Mikko Kurunsaari
Lasse Kakkuri
Original Assignee
Gurux Oy
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 Gurux Oy filed Critical Gurux Oy
Priority to FI20011874A priority Critical patent/FI115863B/en
Publication of FI20011874A0 publication Critical patent/FI20011874A0/en
Publication of FI20011874A publication Critical patent/FI20011874A/en
Application granted granted Critical
Publication of FI115863B publication Critical patent/FI115863B/en

Links

Description

115863115863

Systeemi ia menetelmä sovelluksen ia tietoliikenneväylän välisen data-virran käsittelemiseksi tietokoneohjatussa ohiausiäriestelmässäSystem and method for processing data stream between application and communication bus in a computer controlled bypass system

Keksinnön tausta 5BACKGROUND OF THE INVENTION 5

Keksinnön kohteena on patenttivaatimuksen 1 johdanto-osan mukainen menetelmä sovelluksen ja tietoliikenneväylän välisen datavirran käsittelemiseksi tietokoneohjatussa ohjausjärjestelmässä.The invention relates to a method for processing a data stream between an application and a communication bus according to the preamble of claim 1 in a computer controlled control system.

10 Keksinnön kohteena on patenttivaatimuksen 10 johdanto-osan mukainen tietokoneohjattu ohjausjärjestelmä.The invention relates to a computer controlled control system according to the preamble of claim 10.

Tietokoneisiin liitettävät teollisuuden laitteistot ja oheislaitteet sekä näihin kiinteästi liittyvät etäkäyttö- ja kontrolliohjelmistot muodostavat mer-15 kiitävän osan tietoliikennealan markkinoista. Erittäin yleinen ratkaisu sulautettujen järjestelmien ohjaamiseen on tarjota erillinen PC-tietoko-neella toimiva ohjelmisto, joka kommunikoi laitteiden kanssa asiakkaan valitsemaa tiedonsiirtoväylää hyväksikäyttäen.Industrial hardware and peripherals connected to computers, as well as remote control and control software that is closely related to them, make up an important part of the telecommunications market. A very common solution for controlling embedded systems is to provide separate PC-based software that communicates with the devices using a customer-selected data path.

20 Tiedonsiirrossa käytetty protokolla voi vaihdella sovellusalueesta riip- puen. Tietokoneohjatulla järjestelmällä saavutetaan merkittäviä etuja ja :·” kustannussäästöjä, sillä vähänkään monimutkaisempi käyttöliittymä on • # ♦ \ . huomattavasti helpompi ja halvempi tehdä PC-tietokoneelle kuin itse * \ ohjattavaan laitteeseen. Lisäksi ohjattava laite voi näin sijaita fyysisesti [ 25 hyvinkin kaukana ohjauskeskuksesta ja useita laitteita voidaan kontrol- : ; loida haluttaessa samalla ohjelmistolla.20 The protocol used for communication may vary depending on the application area. The computer-controlled system offers significant advantages and: · “Cost savings through a slightly more complex user interface • # ♦ \. much easier and cheaper to do on a PC than on a * * controlled device itself. In addition, the controlled device can thus be physically located very far from the control center and several devices can be controlled; if desired, use the same software.

•«·• «·

Kun täysin uutta laitetta aletaan kehittää, yleisin tapa on, että ohjaus-:'·*.* ohjelmiston kehitystyö alkaa täysin alusta. Monet yritykset haluavat li- 30 säksi käyttää laitteidensa ohjauksessa omaa protokollaa, jonka yksi-/ , tyiskohtia ei haluta paljastaa kilpailijoille. Viesti rakenteet ja protokolla- pakettien sisältö saattaa vaihdella hyvinkin paljon jopa saman valmis-*;·* tajan eri tuotteiden välillä. Tämä aiheuttaa yleensä sen, että uusissa järjestelmissä hyödynnetään hyvin vähän valmista tai aikaisemmin :*·.· 35 käytettyä ohjelmakoodia.Whenever a brand new device is developed, the most common way is that the control -: '· *. * Software development process starts all over again. In addition, many companies want to use their own protocol to control their devices, the details of which are not disclosed to competitors. The message structures and the contents of the protocol packages can vary greatly, even between different products of the same vendor. This usually results in very little or no pre-existing code being used in new systems: * 35.

115863 2115863 2

Kuvassa 1 on esitetty yksinkertaistettu malli siitä, miten nykyiset ohjausohjelmistot toimivat. Kuvassa ohjausjärjestelmään 63 on kytketty kolme erilaista laitetta 1, 2 ja 3, joista kukin käyttää erilaista tietoliikenneyhteyttä 4, 5 ja 6. Yhteydenotto ja datayhteyden ylläpito laitteiden 1 -5 3 ja sovelluksen 7 välillä tapahtuu käyttöjärjestelmän ja sen tarjoamien tietoliikennepalveluiden 8 avulla. Käyttöjärjestelmän 8 tehtävänä on muuntaa lähetettävä data fyysiselle tiedonsiirtotielle 9-11 sopivaksi.Figure 1 shows a simplified model of how current control software works. In the figure, three different devices 1, 2 and 3 are connected to the control system 63, each using a different communication connection 4, 5 and 6. Communication and maintenance of data connection between the devices 1-5 3 and the application 7 takes place through the operating system and its communication services 8. The function of the operating system 8 is to convert the data to be transmitted into a physical data path 9-11.

Merkittävää on huomata, että jokaiselle erilaiselle tietoliikenneyhtey-10 delle 4-6 joudutaan tekemään sovellusohjelmaan 7 oma lohkonsa 12 - 14, joka osaa kommunikoida käyttöjärjestelmäpalveluiden 8 kanssa. Tähän ratkaisuun on yleensä päädytty, koska käyttöjärjestelmäpalveluiden 8 tarjoama rajapinta (tiedonsiirtoprotokollat 15-17) saattaa olla hyvinkin erilainen eri tietoliikenneyhteyksiä verrattaessa.It is noteworthy that for each different communication connection 4-6, an application program 7 has to have its own block 12-14, which can communicate with the operating system services 8. This solution is usually chosen because the interface provided by the operating system services 8 (communication protocols 15-17) may be very different when comparing different communication connections.

1515

Rajapintana on tavallisesti ns. API (Application Programming Interface). Esimerkiksi sarjaportin käyttö on ohjelmoijan kannalta täysin eri asia kuin käyttää TCP/IP-yhteyttä, puhumattakaan siitä, että laitteiston valmistaja haluaa käyttää kontrollointiin jotain käyttöjärjestelmän 20 8 kannalta eksoottisempaa tapaa, kuten esimerkiksi tekstiviestejä (SMS, Short Message Service). Mikäli eroavaisuuksiin ei olla kiinnitetty riittävästi huomiota jo sovelluksen 7 suunnitteluvaiheessa, ratkaisuna * »· . käytetään yleisesti myös sitä, että uusia tietoliikenneyhteyksiä varten • ·.’ tehdään kokonaan uusi sovellusohjelma 7.The interface is usually the so-called. API (Application Programming Interface). For example, using a serial port is completely different from a programmer's point of view than using a TCP / IP connection, not to mention that the hardware manufacturer wants to use a more exotic way of controlling the operating system, such as SMS (Short Message Service). If differences have not been sufficiently addressed already in the application design phase 7, the solution is * »·. it is also widely used to create a completely new application program for new communications.

25 : Tietoliikennesovelluksia tehtäessä lisähaasteita luo myös mahdolliset datapakettien uudelleenlähetykset, vasteaikojen vaihtelu, virhetilantei den hallinta ja datan puskurointi. Tuotekehityssykliä voidaankin lyhentää merkittävästi käyttämällä keksinnön mukaista järjestelmää, joka rat-30 kaisee nämä ongelmat ja tarjoaa lisäksi rajapinnan, joka on tietoliikenneyhteydestä tai käytetystä protokollasta riippumaton, pysyy vakiona, on tarkoitettu kommunikointiin tietoliikenneyhteyden yli ja joka minimoi täten sovellusohjelman muutostarpeen yhteystyyppien muuttuessa.25: Additional challenges in telecommunication applications also include the potential for retransmission of data packets, fluctuations in response times, error handling and data buffering. Thus, the product development cycle can be significantly shortened by using the system of the invention which solves these problems and further provides an interface that is independent of the communication connection or protocol used, remains constant for communication over the communication connection and thus minimizes the need for modification of the application.

35 Keksinnön lyhyt selostus35 Brief Description of the Invention

Keksinnön mukainen menetelmä on esitetty patenttivaatimuksessa 1.The method according to the invention is set forth in claim 1.

115863 3115863 3

Keksinnön mukainen tietokoneohjattu ohjausjärjestelmä on esitetty patenttivaatimuksessa 10.The computer controlled control system according to the invention is set forth in claim 10.

5 Järjestelmän komponenttipohjaisen ratkaisun avulla teollisuuden tiedonsiirtojärjestelmien kehitystyö nopeutuu laitteiden ja tietokoneiden kommunikoidessa standardin rajapinnan kautta. Järjestelmä on toteutettavissa erityisesti Windows® -ympäristöön ja se tarjoaa helppokäyttöisen ohjelmointirajapinnan tietoliikennealan sovelluskehittäjille.5 The system component-based solution accelerates the development of industrial communication systems as hardware and computers communicate through a standard interface. The system is designed specifically for Windows® and provides an easy-to-use programming interface for telecommunications application developers.

1010

Erityistä etua keksinnöllä saavutetaan järjestelmässä datan vastaan-ottopuolella. Asiakassovellukselle voidaan tarjota kiinteänä pysyvä rajapinta datan rakenteesta tai käytetystä protokollasta huolimatta. Näin helpotetaan asiakassovelluksen tietoliikenneosion ohjelmointia ja 15 sen pääsyä erityisesti datapaketin sisältämään otsikko- ja datakenttiin.A particular advantage of the invention is achieved in the system on the data receiving side. The client application can be provided with a fixed interface regardless of the data structure or the protocol used. This facilitates the programming of the communication part of the client application and its access, in particular, to the header and data fields contained in the data packet.

Kuvioiden lyhyt selostusBRIEF DESCRIPTION OF THE DRAWINGS

Keksintöä selostetaan seuraavassa tarkemmin käyttäen esimerkkinä 20 keksinnön erästä edullista suoritusmuotoa, samalla viitaten oheisiin piirustuksiin, joissa: «* * · • * * f * kuva 1 esittää lohkokaaviona erästä tunnetun tekniikan mukaistaThe invention will now be explained in more detail using, by way of example, a preferred embodiment of the invention, with reference to the accompanying drawings, in which: "* * · * * f * Figure 1 is a block diagram of a prior art

t I It I I

ohjausjärjestelmää ja ohjausohjelmiston toimintaa, 25 kuva 2 esittää lohkokaaviona keksinnön erään edullisen suoritus-muodon mukaista ohjausjärjestelmää ja ohjausohjelmiston toimintaa, I t · I » tcontrol system and operation of control software, Figure 2 is a block diagram showing a control system and operation of control software according to a preferred embodiment of the invention,

* I* I

» i 30 kuva 3 esittää signaalikaaviona tietoliikenneyhteyden avaamista . kuvan 2 mukaisessa järjestelmässä,Fig. 3 is a signal diagram illustrating the opening of a communication connection. in the system shown in Figure 2,

t It I

1 kuva 4 esittää signaalikaaviona datan lähettämistä kuvan 2 mukai- : ’ t : sessa järjestelmässä, ja » » kuva 5 esittää signaalikaaviona datan vastaanottamista kuvan 2 mukaisessa järjestelmässä.Fig. 4 shows as a signal diagram the transmission of data in the system according to Fig. 2, and Fig. 5 shows as a signal diagram the reception of data in the system according to Fig. 2.

35 4 11586335 4 115863

Keksinnön yksityiskohtainen selostusDETAILED DESCRIPTION OF THE INVENTION

Keksinnön mukainen järjestelmä koostuu ohjelmakomponenteista, 5 jotka seuraavassa esimerkissä on toteutettu COM-teknologiaa hyväksikäyttäen, jonka on kehittänyt Microsoft Corporation. COM-teknologiaa (Component Object Model) ja sen tarjoamia etuja on kuvattu mm. EP-hakemusjulkaisussa 0 778 688 A2, sekä alan kirjallisuudessa. Keksintö on toteutettavissa COM-teknologian sijasta myös käyttäen CORBA-10 komponentteja (Common Object Request Broker Architecture) tai olio-ohjelmointimenetelmiä. Järjestelmän toteuttaminen näitä muita menetelmiä käyttäen on alan ammattimiehelle selvää tämän selostuksen perusteella. Etuna on se, että COM-teknologia on CORBA-teknologiaa yleisemmin käytetty ja oliomenetelmiin verrattuna COM-teknologia tar-15 joaa ohjelmakoodin helpomman uudelleenkäytettävyyden ja tuen useammille ohjelmointikielille. Järjestelmä ei ole myöskään riippuvainen käyttöjärjestelmästä.The system of the invention consists of program components implemented in the following example using COM technology developed by Microsoft Corporation. The COM (Component Object Model) technology and its advantages have been described e.g. EP-A-0 778 688 A2, as well as in the literature. The invention can also be implemented using COMBA-10 components (Common Object Request Broker Architecture) or object-oriented programming instead of COM technology. Implementation of the system using these other methods will be apparent to one skilled in the art from this disclosure. The advantage is that COM technology is more commonly used than CORBA technology and, compared to object-oriented methods, COM technology provides easier code reuse and support for more programming languages. Nor is the system dependent on the operating system.

Järjestelmän eri komponentit on esitetty kuvassa 2. Järjestelmästä käy* 20 tetään nimitystä GXCom. Sovellusohjelman 18 vastaanottama ja lähettämä data on pakattu komponentteihin 19-21, joista kustakin käytetään nimitystä GXPacket-komponentti. Datan lisääminen tai lukemi-. nen GXPacket-komponentista 19-21 käy helposti komponentin raja-pinnasta 22 löytyvien metodien avulla. GXPacket-komponentin 19-21 • · : ”25 avulla varmistetaan, että sovellusohjelman 18 käyttämä protokolla ei :.v vaikuta muun GXCom-järjestelmän toteutukseen. GXCom-järjestelmä ei siis tunne asiakkaan (ts. sovelluksen 18) käyttämää protokollaa vaan käsittelee kaiken tiedon GXPacket-komponentteina 19 - 21. Tämän ansiosta myös sovellusohjelman 18 rajapinta 37 järjestelmään pysyy 30 muuttumattomana vaikka protokolla muuttuisikin. GXCom-järjestelmä luo GXPacket-komponentteja 19-21 ajon aikana yhden tai useampia .·· . sovellusohjelman 18 pyyntöjen mukaan.The different components of the system are shown in Figure 2. The system is called * 20 called GXCom. The data received and transmitted by the application program 18 is packaged in components 19-21, each called a GXPacket component. Adding or reading data. The GXPacket component 19-21 can be easily accessed using the methods found at component interface 22. GXPacket Component 19-21 • ·: ”25 ensures that the protocol used by application program 18 does not: .v affect the implementation of any other GXCom system. Thus, the GXCom system does not know the protocol used by the client (i.e. application 18), but processes all the data as GXPacket components 19-21. This also allows the application program interface 18 to 37 systems to remain unchanged even if the protocol changes. The GXCom system generates one or more GXPacket components during a 19-21 run. application program 18 requests.

Ns. GXCIient-komponentti 23 tarjoaa sovellusohjelmalle 18 rajapinnan 35 37 järjestelmään. Pakettien 19-21 luonti, lähettäminen ja vastaanotto : f; sekä järjestelmän asetusten määrittely tapahtuvat kaikki tämän kom- !·! : ponentin 23 kautta. Jokainen asiakassovellus 18 voi täten luoda oman » » 115863 5 instanssin kevytrakenteisesta GXCIient-komponentista. Esimerkkinä on käytetty toista GXCIient-komponenttia 24 ja sovellusta 25. Paljon suuremmasta ns. GXServer-komponentista 26 on tietokoneen muistissa vain yksi instanssi, johon tietokoneeseen 31 järjestelmä ohjelmakom-5 ponentteineen on toteutettu. Tämä on tärkeää mm. sen takia, että näin GXServer-komponentti 26 pystyy järjestämään keskitetyn tehokkaasti resurssien jaon mm. eri sovelluksien 18, 25 kesken. Toteutustapa mahdollistaa esimerkiksi sen, että kaksi asiakassovellusta voi olla yhteydessä samaan tietoliikennemediaan yhtä aikaa.The so-called GXCIient component 23 provides the application program 18 with an interface 35 to 37 systems. Creating, sending and receiving packages 19-21: f; as well as the system settings are all done by this com! ·! : via component 23. Each client application 18 can thus create its own »» 115863 5 instance lightweight GXCIient component. As an example, another GXCIient component 24 and an application 25 have been used. Of the GXServer component 26, there is only one instance in the computer memory to which the system 31 with the program components 5 is implemented. This is important eg. because the GXServer component 26 is able to provide a centralized efficient allocation of resources e.g. 18, 25 between different applications. For example, the implementation allows two client applications to communicate with the same communication media at the same time.

1010

Joissakin tunnetuissa käyttöjärjestelmissä toimintaa on esimerkiksi rajoitettu siten, että sarjaportin saa varata vain yksi sovellus kerrallaan. GXCom-järjestelmän avulla sarjaportti on varattavissa keskitetysti järjestelmän toimesta kaikkien sovellusohjelmien käyttöön, eikä kukin 15 sovellusohjelma tee sitä erikseen. Asiakasohjelma 18, 25 voi myös halutessaan järjestelmän asetusten avulla erikseen määrätä, että sarjaporttia ei saa käyttää kuin kyseinen sovellus yksinään, mikäli halutaan varmistua tietoliikennekapasiteetin riittävyydestä.For example, in some known operating systems, operation is limited so that only one application at a time can be reserved for the serial port. With GXCom, the serial port can be centrally reserved by the system for use by all application programs, and not done by each of the 15 application programs. The client 18, 25 may also, if it so desires, by means of the system settings, separately specify that the serial port may not be used as the application alone, if it is desired to ensure sufficient communication capacity.

20 Järjestelmän ytimenä on GXServer-komponentti 26. Sen päätehtävänä on lähetystilanteessa ottaa vastaan GXCIient-komponentin 23 välittämiä GXPacket-komponentteja 19-21, hakea niiden sisältä asiakkaan . syöttämä data ja lähettää data tavujonona edelleen mediakomponen-teille 27 - 30, jotka huolehtivat datan välittämisestä käyttöjärjestelmä- * · ; "25 palveluiden 8 avustuksella fyysiselle tietoliikenneväylälle (kuvan 1 mu-:.v kaiset tietoliikenneyhteydet 4 - 6 ja fyysiset tiedonsiirtotiet 9-11).20 The core of the system is the GXServer component 26. Its main function is to receive the GXPacket components 19-21 transmitted by the GXCIient component 23, and retrieve the client inside them. input data and forward the data as a byte string to the media components 27-30, which take care of transmitting the data to the operating system- * ·; "25 with the assistance of 8 services to the physical communication bus (4-6 and physical communication 9-11, respectively).

Vastaanottotilanteessa GXServer-komponentti 26 osaa muuntaa me-"***· diakomponenteilta 27 - 30 tulevan datan GXPacket-komponenteiksi 19 r'“: - 21 sille asetettujen parametrien ansiosta. Paketit 19-21 välitetään 30 vastaanottotilanteessa edelleen GXCIient-komponentille 23, joka taas välittää ne edelleen asiakassovellukselle 18.At reception, the GXServer component 26 is able to convert data from slides 27 - 30 of me - "*** · to GXPacket components 19 r '": - 21 due to the parameters set to it. At reception, packets 19-21 are forwarded to GXCIient component 23, which forwards them to the client application 18.

» t j’ Mediakomponenttien 27 - 30 tehtävänä on lähetystilanteessa välittää v : GXServer-komponentin 26 tarjoama datavirta fyysiselle siirtotielle, jol- 35 loin se käyttää hyväksi käyttöjärjestelmäpalveluita 8, ja vastaanottoti- : f. lanteessa taas muuntaa käyttöjärjestelmäpalveluilta 8 tuleva data data-- virraksi. Muunnosta varten jokainen mediakomponentti 27 - 30 sisältää 115863 6 ns. Properties-metodin, jonka avulla tietoliikenneyhteysspesifisiä parametreja voidaan muokata suoraan asiakassovelluksesta 18. GXServer-komponentti 26 välittää yhteyttä muodostettaessa yhteysmuotoa vastaavan jonkin mediakomponentin 27 - 30 rajapinnan suoraan asiakas-5 sovellukselle 18. Esimerkiksi sarjaporttiyhteyttä muodostettaessa me-diakomponentille 28 tulee kertoa mm. liikennöinnissä käytetty baudino-peus ja databittien lukumäärä. Datavirta koostuu bittimuotoisesta informaatiosta, joka on jaettavissa tavuihin niiden sisältämän informaation käsittelyä varten 10The function of the media components 27-30 in the transmission case is to transmit the data stream provided by the v: GXServer component 26 to the physical bearer, whereby it utilizes the operating system services 8, and in the receiving case: f to convert the data from the operating system services 8 into a data stream. . For conversion, each media component 27 to 30 contains 115863 6 so-called. Properties method, which allows communication-specific parameters to be modified directly from the client 18. The GXServer component 26 forwards the connection directly to the client-5 application 18 when establishing a connection between the media component 27-30 of the connection mode. For example, when establishing a serial port the baud rate used in the traffic and the number of data bits. The data stream consists of bit-like information that can be divided into bytes for processing the information they contain 10

Kuvassa 3 on tarkemmin kuvattu miten asiakassovellus 18 avaa tietoliikenneyhteyden. Tietoliikennemediaksi on tässä esimerkissä valittu sarjaporttiyhteys 28, mutta muut yhteydet muodostetaan aivan samalla tavalla vain tietoliikenneparametrien vaihdellessa.Figure 3 illustrates in more detail how the client application 18 opens a communication connection. The communication medium is set to serial port connection 28 in this example, but other connections are established in the same way only when the communication parameters vary.

1515

Aluksi asiakassovellus 18 kutsuu GXCIient-komponentin 23 ns. SelectMedia-metodia 32, jolle parametrina annetaan haluttu yhteys-tyyppi. Esimerkkitapauksessa käytetty yhteystyyppi on COM1 (Select-Media(COMI)), joka tarkoittaa sitä, että halutaan käyttää sarjaporttia 20 numero yksi. Järjestelmässä on määriteltynä joukko eri yhteystyyppejä, joita jokaista vastaa tietty mediakomponentti 27 - 30. Sarjaporttiyh-teystyyppejä vastaa ns. GXSerial-mediakomponentti 28, kun taas , TCP/IP-yhteydelle löytyy ns. GXTCPIP-mediakomponentti 29. Me-diakomponentteja ja uusia yhteystyyppejä pystytään helposti lisää- « « • ”25 mään järjestelmään jälkikäteen asiakkaiden vaatimusten mukaan.Initially, the client application 18 calls the GXCIient component 23 so-called. SelectMedia method 32, for which the desired connection type is given as a parameter. The connection type used in the example case is COM1 (Select-Media (COMI)), which means that you want to use serial port 20 number one. A number of different connection types are defined in the system, each of which is represented by a particular media component 27 to 30. The so-called serial port connection types correspond to each other. The GXSerial media component 28, while there is a so-called TCP / IP connection. GXTCPIP Media Component 29. Media components and new connection types can be easily added «25 • into the system later, according to customer requirements.

v.: Tämä on mahdollistettu sillä, että kaikissa mediakomponenteissa on identtiset rajapinnat 33 - 36. Näin voidaan minimoida uuden me-"*: diakomponentin lisäyksen aiheuttamat muutostarpeet järjestelmän muihin komponentteihin. Asiakassovellukset 18, 25 voivat kysyä jär-30 jestelmän sen hetkisen version tukemat yhteystyypit GXCIient-kom-ponentin 23, 24 rajapinnasta 37, 38 löytyvillä metodeilla. Järjestelmän .···. arkkitehtuurin etuna on laajennettavuuden lisäksi se, että eri asiakas-’·” ryhmille voidaan tarjota erilaisia asennuspaketteja, joista löytyy me-v : diakomponenttien 27 - 30 muodossa tuki eri yhteystyypeille.v: This is made possible by having identical interfaces 33 - 36 on all media components. This minimizes the need for changes to other system components caused by the addition of a new me - "*: slide component. Client applications 18, 25 may ask for connection types supported by the current version of The GXCIient component 23, 24 uses the methods found in interface 37, 38. The system's ··· architecture not only offers extensibility, but also allows different client '·' groups to be provided with different installation packages containing the 27 - 30 formats support for different connection types.

C/-35 ; Sen jälkeen kun SelectMedia-metodia 32 on kutsuttu, GXCIient-kom- !·.’ · ponentti 23 välittää mediakomponentin luontipyynnön 39 GXServer- * t 115863 7 komponentille 26 (GetMedia(COMI)). GXServer-komponentin 26 tehtävänä on luoda (vaihe 40) varsinainen mediakomponentti eli tässä tapauksessa GXSerial-komponentti 28, ja palauttaa osoitin (vaihe 41) sen rajapintaan 34 GXCIient-komponentille 23, joka taas välittää (vaihe 5 42) sen edelleen asiakassovellukselle 18. Saamansa mediakom- ponentin 23 rajapintaosoittimen kautta asiakassovellus 18 pystyy asettamaan (vaihe 43) yhteystyypin vaatimat asetukset Properties-metodilla, joka löytyy jokaisesta mediakomponentista 27 - 30. Metodi on toteutettu siten, että sille ei anneta parametreja lainkaan, vaan se 10 avaa asetusdialogi-ikkunan, jonka avulla yhteystyyppikohtaiset asetukset voidaan asettaa ja tallettaa mediakomponenttiin. Tähän ratkaisuun on päädytty, koska jokaisella mediakomponentilla on erilainen, joskus suurikin joukko asetuksia. Ratkaisun avulla mediakomponenttien rajapinnat voidaan pitää identtisinä myös parametrien osalta, jotta 15 myös asiakassovelluksen muutostarpeiden määrä olisi mahdollisimman pieni, kun uusi yhteystyyppi lisätään järjestelmään jälkikäteen.C, -35; After calling the SelectMedia method 32, the GXCIient Communicator component 23 forwards a media component creation request 39 to component 26 (GetMedia (COMI)) of GXServers 115863 7. The function of the GXServer component 26 is to create (step 40) the actual media component, in this case the GXSerial component 28, and return the pointer (step 41) to its interface 34 to the GXCIient component 23, which in turn forwards (step 5 42) to the client application 18. via the interface pointer of the media component 23, the client application 18 is able to set (step 43) the required settings for the connection type using the Properties method found in each of the media components 27 to 30. The method is implemented without giving any parameters; allows you to set and save connection type settings to the media component. This solution has been chosen because each media component has a different, sometimes large, set of settings. The solution also allows the media component interfaces to be kept identical in terms of parameters, so as to minimize the number of client application changes needed when a new connection type is added to the system later.

Kun yhteystyypin haluamat asetukset on asetettu, asiakassovellus 18 kutsuu ns. AssignMedia-metodia 44, jonka ansiosta GXServer-kompo-20 nentti 26 luo mediakomponentista 28 kopion (AssignMedia(GXSerial) itselleen (vaiheet 45 ja 46) yhteydenmuodostusta ja datan siirtoa varten. Toteutus on järjestetty siten, että metodin kutsumisen jälkeen median asetuksia ei voi enää muokata sulkematta ensin kaikkia me- # · · diakomponentin 28 kautta kulkevia yhteyksiä. Näin varmistetaan se, • ”25 että vain yksi sovellusohjelmista pääsee tekemään tietoliikenneasetuk- v.: set eikä muut sovellusohjelmat pääse muokkaamaan niitä yhteyden ollessa päällä, kun usea asiakasohjelma on käynnissä yhtä aikaa. :*·: Yhteys suljetaan lopuksi GXCIient-komponentin 23 ns. Close-metodilla.When the desired settings for the connection type are set, the client application 18 calls the so-called. AssignMedia method 44, which allows GXServer component 20 component 26 to create a copy of the media component 28 (AssignMedia (GXSerial) itself) (steps 45 and 46) for connection and data transfer. The implementation is arranged so that after the method is called, edit without first closing all connections through the media # 28 · component 28. This ensures that “• 25 only one application can access the communication settings and no other application can modify it while the connection is running, when multiple clients are running one at a time. : * ·: The connection is finally closed using the so-called Close method of GXCIient 23.

i · · * · I · t · 30 Kun dataa lähetetään tietoliikenneyhteyden yli, järjestelmä muuntaa datapaketit tietoliikenneyhteyden vaatimaan muotoon ja huolehtii datan ,···, puskuroinnista, uudelleenlähetyksistä ja virheiden raportoinnista. Asia- kassovellus 18 voi hallita kaikkia näitä tehtäviä GXCIient-komponentin i i * 1 23 asetuksilla.i · · * · I · t · 30 When data is transmitted over a communication connection, the system converts the data packets to the format required by the communication connection and takes care of the data, ···, buffering, retransmissions, and error reporting. The client application 18 can manage all of these tasks with the settings of the GXCIient component i i * 1 23.

035 : X Kuvassa 4 on pääpiirteittäin esitetty yhden datapaketin lähetys '•'I järjestelmän välityksellä. Aluksi sovellusohjelma 18 asettaa lähetystä t < 1 » t 115863 8 varten tarvittavat asetukset 47 GXCIient-komponentille 23. Uudelleenlähetysten lukumäärä ja aika, joka odotetaan vastausta ennen uudelleenlähetystä, ovat perusasetuksia, joiden avulla voidaan hallita uu-delleenlähetysmekanismi. Mikäli pakettiin ei tule vastausta kyllin nope-5 asti, lähetys suoritetaan automaattisesti uudestaan, mikäli uudelleenlähetysten lukumääräksi on asetettu yksi tai enemmän. Jos vastausta ei tule ja kaikki uudelleenlähetykset on käytetty, GXCIient-komponentti 23 informoi asiakassovellusta virhetilanteesta lähettämällä tälle ns. Event-viestin.035: X Figure 4 outlines the transmission of one data packet '•' I through the system. Initially, application program 18 sets the settings required for transmission t <1 »t 115863 8 to the GXCIient component 47. The number of retransmissions and the waiting time for a response before retransmission are the basic settings for controlling the retransmission mechanism. If there is no reply to the packet at speed 5, the transmission will be automatically resumed if one or more retransmissions are set. If no response is received and all retransmissions have been used, the GXCIient component 23 informs the client of the error by sending a so-called. Event-message.

10 GXCom-järjestelmä ei itse voi tunnistaa, mikä vastaanotetuista paketeista on vastaus millekin lähetetylle paketille tai onko tämä vastaus virheellinen, sillä tämä toiminnallisuus vaatisi asiakkaan 18 käyttämän protokollan tuntemista. Asia on GXCom-järjestelmässä ratkaistu välit- 15 tämällä kaikki vastauspaketit asiakassovellukselle 18 Event-viestillä. Asiakassovellus 18 voi Event-viestin paluuparametreissa määritellä oliko kyseessä vastauspaketti vai virheviesti ja järjestelmä käyttää tätä tietoa hyväkseen määritellessään suoritetaanko uudelleenlähetystä.10 The GXCom system itself cannot identify which of the received packets is the answer to any sent packet or is incorrect because this functionality would require knowledge of the protocol used by the client 18. The issue is resolved in GXCom by transmitting all response packets to the client application with 18 Event messages. The client application 18 can determine in the event message return parameters whether it is a response packet or an error message and the system utilizes this information to determine whether a retransmission is to be performed.

20 Muita asetuksia, joita asiakassovellus 18 voi käyttää, ovat mm. automaattinen tarkistussumman laskeminen lähteviin paketteihin, käytössä :.;j’ oleva tavujärjestys ja käytettävien lähetys- ja vastaanottopuskureiden !*·.. maksimikoot, sekä mahdollinen paketin alku- ja loppumerkki. Alku- ja loppumerkki lisätään jokaisen lähetettävän paketin alkuun ja loppuun ....:25 samalla kun ne muutetaan mediakomponentille 28 lähteväksi tavuvir-raksi. Alku- ja loppumerkkiä käytetään joissakin protokollissa paketti-... rajojen tunnistamiseen vastaanottotilanteissa. Niiden asetusten osalta, joita ei aseteta asiakassovelluksesta 18, käytetään oletusarvoja.20 Other settings that the client application 18 can use include: automatic checksum calculation for outgoing packets, use:.; j 'byte order and maximum size of send and receive buffers! * · .., and possible beginning and end of packet. The start and end characters are appended to the beginning and end of each packet transmitted ....: 25 while being converted to outgoing byte streams for the media component 28. The start and end characters are used in some protocols to identify packet -... boundaries in reception situations. For settings that are not set from the client 18, default values are used.

\ ' : 30 GXCIient- 23 ja GXPacket-komponenteista 19 löytyy osittain myös sa-moja asetuksia. Ideana on se, että GXCIient-komponentin 23 asetuksia ;·|·; käytetään kaikkien pakettien lähetyksessä, mutta asiakassovellus 18 .···. voi halutessaan lähettää yksittäisen paketin eri lähetysasetuksin. Pa-ketin asetukset ajavat siis GXCIient-komponentin 23 asetusten yli. :·· : 35 Tällä mahdollistetaan se, että sovellusohjelma 18 voi helposti lähettää i useita paketteja, jotka esimerkiksi lähetetään virhetilanteissa uudestaan viisi kertaa, mutta tämän lisäksi esimerkiksi yhden paketin, jota ei 115863 9 lähetetä uudestaan kertaakaan vaikka lähetysvirhe tapahtuisikin. Mikäli asetuksia ei aseteta GXCIient-komponentille 23, niin asiakassovellus 18 joutuu asettamaan ne jokaiseen GXPacket-komponenttiin 19 erikseen, mikäli oletusasetukset eivät miellytä. GXCIient 23 kopioi (vaihe 5 48) kaikki saamansa asetukset suoraan GXServer-komponentille 26, joka varsinaisesti huolehtii uudelleenlähetyksestä ja pakettien puskuroinnista.\ ': 30 The GXCIient-23 and GXPacket components 19 also have some of the same settings. The idea is that the GXCIient component has 23 settings; · | ·; is used for sending all packages, but the client application 18 ···. may choose to send a single packet with different transmission settings. Thus, the configuration of the package overrides the configuration of the GXCIient 23. : ··: 35 This allows the application program 18 to easily send multiple packets which, for example, are retransmitted five times in the event of an error, but also, for example, one packet which is not re-retransmitted even if a transmission error occurs. If settings are not set for the GXCIient component 23, then the client application 18 will have to set them individually for each GXPacket component 19 if the default settings are not comfortable. GXCIient 23 copies (step 5 48) all the settings it receives directly to the GXServer component 26, which actually takes care of retransmission and packet buffering.

Kun GXCIient-komponentin 23 asetukset ovat kohdallaan, asiakasso-10 vellus 18 luo (vaihe 49) GXPacket-komponentin 19 saaden samalla osoittimen kyseisen paketin rajapintaan. Rajapinnan kautta asiakassovellus 18 voi asettaa jo edellisessä kappaleessa kuvattuja pakettikoh-taisia asetuksia. Tämän lisäksi pakettikomponenttiin 19 täytetään otsikko- ja datakenttien sisältämä data (vaihe 50). Molemmille kentille 15 (paketin otsikkokenttä ja datakenttä) on omat metodinsa, joiden avulla lähetettävä tavujono voidaan välittää pakettikomponentille 19.When the GXCIient component 23 is configured correctly, the client 10 application 18 generates (step 49) the GXPacket component 19 while providing a pointer to the interface of that packet. Through the interface, the client application 18 can set the packet-specific settings already described in the previous paragraph. In addition, packet component 19 is filled with data contained in the header and data fields (step 50). Both fields 15 (packet header field and data field) have their own methods by which the transmitted byte string can be transmitted to the packet component 19.

Kun GXPacket-komponentin 19 tarvitsemat tiedot on täytetty, asiakassovellus 18 voi lähettää paketin osoittimen GXCIient-komponentille 23 20 ns. Send-metodin 51 parametrina (Send()). GXCIient-komponentti 23 kopioi pakettiin lähetysasetukset ja lähettää (vaihe 52) paketin edelleen GXServer-komponentille 26. GXServer-komponentin 26 tehtävänä on tallentaa pakettikomponentti puskuriin 53 odottamaan lähetystä (vaihe 54). GXServer-komponentin tehtävänä lähetystilanteessa kerätä ....:25 lähetettävä otsake- ja datatieto pakettikomponentista 19 ja välittää se mediakomponentille 28 tavuvirtana. GXServer-komponentti 26 huolehtii ... myös mahdollisesta uudelleenlähetyksestä ja tarkkailee, missä vai-·"’ heessa paketin lähettämisestä luovutaan virhetilanteessa.Once the information required by the GXPacket component 19 is completed, the client application 18 can send the packet pointer to the GXCIient component 23 20s. 51 of the Send method (Send ()). The GXCIient component 23 copies the transmission settings to the packet and forwards (step 52) the packet to the GXServer component 26. The function of the GXServer component 26 is to store the packet component in buffer 53 to wait for transmission (step 54). The function of the GXServer component in the transmission is to collect ....: 25 the header and data to be transmitted from the packet component 19 and to transmit it to the media component 28 in byte stream. The GXServer component 26 also ... takes care of any retransmission, and monitors the stage at which the packet transmission is abandoned in the event of an error.

30 Mediakomponentti 28 ottaa GXServer-komponentilta 26 saapuvan ta-vuvirran ja lähettää sen edelleen kyseistä tietoyhteyttä kontrolloivalle käyttöjärjestelmäpalvelulle (kuvan 2 mukainen palvelu 8), joka huolehtii .···. tiedon siirtämisestä fyysiselle siirtotielle (kuvan 1 mukainen siirtotie 9, /”* 10 tai 11).The media component 28 takes the incoming byte stream from the GXServer component 26 and forwards it to the operating system service controlling the data connection in question (service 8 according to Figure 2), which takes care of it. transmission of data to a physical transmission path (transmission path 9, / ”* 10 or 11 according to Figure 1).

: 35: 35

Tarkastellaan seuraavaksi järjestelmää datan vastaanottopuolelta. Kuvassa 5 on kuvattu pääpiirteittäin yhden paketin vastaanotto.Next, consider the system from the data receiving side. Figure 5 illustrates the reception of a single packet.

115863 10115863 10

Vastaanottotilanteessa asiakkaalle 18 halutaan tavuvirran sijaan välittää samoja GXPacket-komponentteja 19-21 kuin lähetettäessäkin. Koska GXPacket-komponentin 19-21 rajapinta 22 on kiinteästi mää-5 ritelty, asiakassovellukselle 18 voidaan tarjota kiinteänä pysyvä rajapinta tavuvirran rakenteesta tai käytetystä protokollasta huolimatta. Näin helpotetaan asiakassovelluksen 18 tietoliikenneosion ohjelmointia. Pakettikomponentti 19-21 muodostaa loogisen kokonaisuuden ja mahdollistaa helpon pääsyn paketin sisältämiin otsikko- ja datakenttiin.In the reception situation, it is desired to transmit the same GXPacket components 19-21 to the client 18 instead of the byte stream as it does when sending. Because the interface 22 of the GXPacket component 19-21 is fixedly defined, the client application 18 can be provided with a fixed interface regardless of the byte stream structure or the protocol used. This facilitates the programming of the 18 communication sections of the client application. The packet component 19-21 forms a logical entity and allows easy access to the header and data fields contained in the packet.

1010

Jotta saapuvasta datavirrasta voidaan muodostaa pakettikomponent-teja 19-21, asiakassovelluksen 18 on kuvailtava käyttämänsä protokolla GXServer-komponentille 26, sillä sen tehtävänä on koota saapuvasta datavirrasta GXPacket-komponentteja 19-21. GXServer-kom-15 ponentin 26 asetuksista löytyy tähän tarkoitukseen ainakin neljä parametriä: BOP (Beginning of packet eli paketin alkumerkki), EOP (End of packet eli paketin alkumerkki), HeaderLength (otsakedatan kentän pituus) ja DataLength (datakentän pituus). Näistä parametreista voidaan asettaa (vaihe 55 kuvassa 5) joko kaikki tai vain sopiva osa. Alla on 20 lueteltu eri protokollavariaatiot A - I, jotka systeemi osaa tunnistaa sekä niiden vaatimat asetukset. Huomattavaa on, että esimerkeissä . yksinkertaistetaan muodostettavien pakettikomponenttien rakennetta huomattavasti. Käytännössä kyse on kuitenkin siitä, että palvelinkom-ponentti 26 luo aina GXPacket COM-komponentin, esimerkiksi kompo-nentti 19, jonka otsaketiedot voi kysyä pakettikomponentin rajapinnan ns. ExtractHeader-metodilla ja datatiedot ns. ExtractData-metodilla.In order to form packet components 19-21 from the incoming data stream, the client application 18 must describe the protocol it uses for the GXServer component 26, since its function is to assemble the GXPacket components 19-21 from the incoming data stream. The GXServer com-15 component 26 has at least four parameters for this purpose: BOP (Beginning of packet), EOP (End of packet), HeaderLength (header field field length) and DataLength (data field length). These parameters can be set (step 55 in Figure 5), either all or just a suitable portion. Below are 20 listed protocol protocols A to I that the system can recognize and the settings it requires. It is noteworthy that in the examples. greatly simplifies the structure of the packet components to be formed. In practice, however, the server component 26 always generates a GXPacket COM component, such as component 19, whose header information can be called by the so-called packet component interface. ExtractHeader method and data information in the so-called. ExtractData-method.

’*··’ Protokollavariaatio A1: paketit tunnistetaan pelkästä datapaketin alkumerkistä (BOP). Oletetaan esimerkiksi, että GXServer-komponen-’:":30 tille 26 kerrotaan, että alkumerkki on tavu FF ja GXServer vastaanottaa datajonon FF E1 02 FF AA C3 C5 FF 00. Alkumerkin avulla GXServer havaitsee, että se on vastaanottanut kolme pakettia: E1 02, AA C3 C5 .···. ja 00. Mikäli otsakekentän pituutta ei määritellä, talletetaan kaikki saa-'* ··' Protocol Variation A1: The packets are identified by the BOP only. For example, suppose the GXServer component - ': ": 30 tells 26 that the start character is a byte FF and the GXServer receives a data string FF E1 02 FF AA C3 C5 FF 00. With the start character, GXServer detects that it has received three packets: E1 02 , AA C3 C5 ··· and 00. If the length of the header field is not defined,

» I»I

‘ ·' puvat tavut paketin datakenttään.'·' Matches bytes in the data field of the packet.

= /:35= /: 35

Protokollavariaatio A2: paketit tunnistetaan datapaketin alkumerkistä (BOP) ja lisäksi on määritelty otsakekentän pituus (HeaderLength).Protocol Variation A2: The packets are identified by a data packet start character (BOP), and a header field length (HeaderLength) is also specified.

115863 11 Näin data pystytään lisäksi jaottelemaan otsake- ja datakentiksi. Jos edellisen kohdan esimerkissä A1 otsakekentän pituus olisi yksi tavu, näyttäisivät vastaanotetut paketit seuraavilta: E1 / 02, AA / C3 C5 ja 00 /, jolloin kunkin paketin otsake- ja datakentän erottamiseksi on tässä 5 käytetty /-merkkiä.115863 11 This also allows the data to be divided into header and data fields. If in the example of the previous paragraph A1 the header field length was one byte, the received packets would look like E1 / 02, AA / C3 C5, and 00 /, with 5 characters being used here to separate the header and data fields of each packet.

Protokollavariaatio A3: alkumerkin (BOP) lisäksi on määritelty paketin loppumerkki (EOP). Variaatio ei käytännössä juurikaan eroa kohdan A1 esimerkistä. Jos esimerkin A1 saapuvassa datassa olisi loppumerkkinä 10 käytetty esimerkiksi tavua CC, niin se näyttäisi seuraavalta: FF E1 02 CC FF AA C3 C5 CC FF 00 CC.Protocol Variation A3: In addition to the start character (BOP), a packet end character (EOP) is specified. The variation is practically no different from the example in A1. If, for example, the byte CC was used as the end character 10 in the incoming data for Example A1, it would look like this: FF E1 02 CC FF AA C3 C5 CC FF 00 CC.

Protokollavariaatio A4: pelkkä loppumerkki (EOP) on määritelty. Käytännössä kuten esimerkki A1, mutta paketit tunnistetaan alkumer-15 kin sijaan loppumerkistä.Protocol Variation A4: EOP only is defined. Practically like Example A1, but the packets are identified by the ending character instead of the initial 15.

Protokollavariaatio A5: loppumerkki (EOP) ja otsakekentän pituus (HeaderLength) on määritelty. Käytännössä tämä variaatio E on kuten esimerkki A2.Protocol Variation A5: End character (EOP) and header field length (HeaderLength) are defined. In practice, this variation E is like Example A2.

2020

Protokollavariaatio B1: pelkkä datakentän pituus (DataLength) on määritelty. Tällöin kaikki saapuva data oletetaan kuuluvaksi datakent-tään. Jos datakentän pituudeksi on valittu esimerkiksi kolme tavua ja ;y: vastaanotetaan seuraava data: 01 02 03 04 05 06 07 08 09, niin 25 GXServer 26 pystyy kokoamaan siitä kolme pakettia (01 02 03, 04 05 06 ja 07 08 09).Protocol Variation B1: Only the DataLength is specified. In this case, all incoming data is assumed to belong to its data field. For example, if the data field length is set to three bytes and; y: the following data is received: 01 02 03 04 05 06 07 08 09, then GXServer 26 is able to compile three packets (01 02 03, 04 05 06 and 07 08 09).

Protokollavariaatio B2: lisäksi määritelty otsakekentän pituus (HeaderLength). Tällöin osa datasta halutaan sijoittaa otsakekenttään. Jos vas-: : 30 taanotetaan esimerkin B1 data ja ollaan määritelty otsakekentän pituu-deksi yksi tavu ja datakentän pituudeksi kaksi tavua, niin muodostetta-;:·. vat paketit näyttäisivät seuraavalta: 01 / 02 03, 04 / 05 06 ja 07 / 08 09, . · ·. jolloin otsake- ja dataosuudet on erotettu /-merkillä.Protocol Variation B2: additionally defined header field length (HeaderLength). In this case, it is desired to place some of the data in the header field. If: 30 is retrieved from Example B1 and is defined as a header field length of one byte and a data field length of two bytes, then - ;: ·. these packages would look like 01/02/03, 04/05/06 and 07/08/08,. · ·. where the header and data parts are separated by /.

• · :·: : 35 Protokollavariaatio B3: pelkkä otsakekentän pituus (HeaderLength) on :. ·· määritelty. Kuten esimerkki B1, mutta kaikki saapuva data sijoitetaan muodostettavan paketin otsakekenttään.• ·: ·:: 35 Protocol Variation B3: HeaderLength is:. ·· specified. Like Example B1, but all incoming data is placed in the header field of the packet being generated.

12 1 1 586312 1 1 5863

Protokollavariaatio C1: pelkästään otsakekentän pituus (Header-Length) on määritelty ja tämän lisäksi kerrottu kohta, mistä otsakekentän alusta laskien datakentän pituus löytyy ja kuinka pitkä pituuden 5 osoittava kenttä on. Vastaanotetaan esimerkiksi data 00 00 01 AA EF 00 02 AA BB. Otsakekentän pituudeksi on annettu kolme tavua ja tämän lisäksi on määritelty, että datakentän pituus löytyy toisesta tavusta alusta alkaen ja pituuskentän mitta on kaksi tavua. Nyt GXServer -purkaa dataa alusta lähtien. Kolme ensimmäistä tavua eli 00 00 01 kat-10 sotaan otsakekentäksi. Datakentän pituuden kertoo näistä toinen ja kolmas tavu eli datakentän pituus on 00 01 tavua eli yksi tavu. Datakenttään saadaan tavu AA. Samalla logiikalla palvelinkomponentti purkaa seuraavan paketin muotoon EF 00 02 / AA BB.Protocol Variation C1: Only the Header-Length is defined, plus the location where the data field length is calculated from the beginning of the header field and how long the field indicating length 5 is. For example, data 00 00 01 AA EF 00 02 AA BB is received. The header field is set to three bytes in length, and it is further specified that the length of the data field is found in the second byte from the beginning, and the length field measures two bytes. Now GXServer will extract data from scratch. The first three syllables, 00 00 01 cat-10, are warfare as a header field. The length of the data field is represented by the second and third bytes, i.e. the length of the data field is 00 01 bytes, i.e. one byte. Byte AA is provided in the data field. By the same logic, the server component decodes the next packet into the form EF 00 02 / AA BB.

15 Näillä säännöillä GXServer-komponentti 26 osaa siis luoda (vaihe 57) saapuvasta tavuvirrasta 56 COM-komponentteja (GXPacket-kom-ponentteja), joilla on vakiorajapinnat. Palvelimen 26 luomat komponentit välitetään (vaihe 58) GXCIient-komponentille 23, joka kysyy ns. Is-ReplyPacket-event -metodilla 59 (IsReplyPacketO) asiakassovelluk-20 seita 18, onko vastaanotettu pakettikomponentti vastauspaketti johonkin aiemmin lähetettyyn pakettiin. Mikäli on, niin asiakassovellus 18 :>;j· kertoo, mihin pakettiin vastaanotettu pakettikomponentti on vastaus ja GXCIient 23 lähettää GXServer-komponentille 26 tiedon siitä, että lä-: V: hetys on onnistunut, jolloin pakettia, johon vastaus tuli, ei tarvitse lähet- ....:25 tää enää uudelleen, vaan sen voi poistaa palvelimen 26 lähetyspusku- ....: rista. Tässä tapauksessa GXCIient 23 kysyy seuraavaksi IsReplyOK- * · ... event -metodilla, mikä on vastauspaketin status (vaihe 60). Jos esi-***·’ merkiksi ollaan lähetetty komento, jonka pitäisi kirjoittaa jotain vastaanottavan laitteen muistiin, vastauspaketti saattaa sisältää tiedon siitä :”;30 onnistuiko muistiin kirjoittaminen vai epäonnistuiko se siitä huolimatta, että komento tuli perille. Mikäli IsReplyOK-metodiin annetaan kieltävä vastaus, niin palvelin voi vielä kokeilla uudelleenlähetystä tai asia-.···. kassovellus voi hoitaa virheenkäsittelyn itse. Mikäli vastaanotettu pa-ketti ei ollut vastaus mihinkään aiemmin lähetettyyn pakettiin (kielteinen :·: -;35 vastaus IsReplyPacket-metodiin), mikä tilanne on esitetty esimerkkinä kuvassa 5, niin palvelin 26 välittää paketin asiakassovellukselle 18 ns. Received-event -metodilla (ReceivedQ, vaiheet 61 ja 62).Thus, with these rules, the GXServer component 26 is able to create (step 57) from the incoming byte stream 56 COM (GXPacket components) components having standard interfaces. The components created by the server 26 are passed (step 58) to the GXCIient component 23, which asks for a so-called. The Is-ReplyPacket-event method 59 (IsReplyPacketO) client applications 18 determines whether the received packet component is a response packet to any previously transmitted packet. If so, the client application 18:>; j · tells which packet the received packet component is the response to, and the GXCIient 23 sends to the GXServer component 26 the message that the transmission was successful, so that the packet to which the response came does not need to be sent. - ....: 25 again, but can be removed from the server's 26 send buffers ..... In this case, GXCIient 23 next asks IsReplyOK- * · ... event method what is the status of the response packet (step 60). If a pre-*** · 'character is sent as a command that should write something to the receiving device's memory, the response packet may contain information that reads: "; 30 whether the write was successful or failed despite the command being received. If a negative response is given to the IsReplyOK method, the server may still try retransmission or issue. ···. the cash register can handle the error handling itself. If the received packet was not a response to any previously transmitted packet (negative: ·: -; 35 responses to the IsReplyPacket method), as illustrated in Figure 5, the server 26 forwards the packet to the client application 18. Received-event method (ReceivedQ, steps 61 and 62).

115863 13115863 13

Keksintöä ei ole rajoitettu ainoastaan edellä esitettyyn suoritusmuotoon, vaan sitä voidaan muunnella oheisten patenttivaatimusten puitteissa. Käyttöympäristönä (Execution Environment) voi olla erilaiset 5 tietokonevälineet käyttöjärjestelmineen (Operating System), jotka on tarkoitettu sovellusten ja ohjelmistojärjestelmien ajamiseen, jolloin kyseeseen tulee erityisesti henkilökohtainen tietokone (PC, Personal Computer) tai sellaisena toimiva työasema, joka käsittää tarkoitukseen soveltuvaa käyttöjärjestelmää. Laitteistossa ja käyttöjärjestelmässä on 10 tarvittavat sovellukset ja protokollavälineet tiedonsiirtoon muiden laitteiden kanssa. Käyttöjärjestelmä on sopivimmin tunnetun tekniikan mukainen valmis järjestelmä, joka tarjoaa valmiit palvelut tiedonsiirron datavirran siirtoon.The invention is not limited to the above embodiment, but can be modified within the scope of the appended claims. The Execution Environment may be various computer devices with an Operating System intended to run applications and software systems, in particular a personal computer (PC) or a workstation operating therein, comprising a suitable operating system. The hardware and operating system have 10 necessary applications and protocol tools to communicate with other devices. The operating system is preferably a ready-made system according to the prior art, which provides ready-made services for the transmission of data stream data.

1515

Claims (14)

14 1 1 586314 1 1 5863 1. Menetelmä sovelluksen (18, 25) ja tietoliikenneväylän (4, 5, 6, 9, 10, 11) välisen datavirran käsittelemiseksi tietokoneohjatussa ohjausjär-5 jestelmässä (31), tunnettu siitä, että menetelmässä: pakataan ohjausjärjestelmässä (31) vastaanoton ja lähetyksen yhteydessä välitettävää datavirtaa yhdeksi tai useammaksi pakettikomponentiksi (19, 20, 21), joka on eri sovel-10 luksien (18, 25) kannalta standardimuotoinen ja riippumaton käyttöön valitusta tietoliikenneyhteydestä (4, 5, 6, 9,10,11), jolloin kyseinen pakettikomponentti (19, 20, 21) käsittää tarvittavan standardisoidun ohjelmointirajapinnan (22), jonka välityksellä datavirtaa luetaan pakettikomponentista (19, 20, 15 21) tai kirjoitetaan pakettikomponenttiin (19, 20, 21) kysei sen sovelluksen (18) toimesta, ohjataan standardin ohjelmointirajapinnan välityksellä käyttöjärjestelmää (8), joka käsittää tietoliikennepalveluja, 20 joilla toteutetaan datavirtaa välittävä yksi tai useampi tieto liikenneyhteys (4, 5, 6, 9, 10, 11), joka on tarkoitettu oh- ·. :* jausjärjestelmän (31) ohjaustietokoneen ja yhden tai use- * * : ’·· ämmän ohjattavan laitteen (1, 2, 3) väliseen tiedonsiirtoon, ν’: jolloin mainittujen tietoliikenneyhteyksien (4, 5, 6, 9, 10, 11) *:**: 25 käyttämät tiedonsiirtoprotokollat voivat myös poiketa toisis- ·;··· taan, t | muunnetaan lähetyksen yhteydessä datavirtaa, joka on lu-... ettu mainitusta pakettikomponentista (19, 20, 21), sellai- 30 seen muotoon, joka on käyttöön valitun tietoliikenneyhtey- ·;' den (4, 5, 6, 9, 10, 11) tiedonsiirtoprotokollan mukainen ja ; samalla mainitusta tietoliikenneyhteydestä (4, 5, 6, 9, 10, : 11) riippuvainen, ja syötetään se tietoliikennepalveluille (8), v sekä ‘;ϊ 35 muunnetaan vastaanoton yhteydessä datavirtaa, joka on vastaanotettu tietoliikennepalveluilta (8) ja joka on muodol- 115863 15 taan riippuvainen käyttöön valitun tietoliikenneyhteyden (4, 5, 6, 9, 10, 11) tiedonsiirtoprotokollasta, ja kirjoitetaan se mainittuun pakettikomponenttiin (19, 20, 21) mainitun standardisoidun ohjelmointirajapinnan (22) kautta, sekä välite-5 tään se sovellukselle (18, 25), joka tulkitsee datavirran in formaation.A method for processing a data stream between an application (18, 25) and a communication bus (4, 5, 6, 9, 10, 11) in a computer-controlled control system (31), characterized in that the method: compresses in the control system (31) reception and transmission the data stream to be transmitted in one connection to one or more packet components (19, 20, 21) which is standardized for different applications (18, 25) and independent of the selected telecommunication connection (4, 5, 6, 9, 10, 11), the packet component (19, 20, 21) comprising the necessary standardized programming interface (22) through which the data stream is read from or written to the packet component (19, 20, 21 21) by said application (18) is controlled by a standard programming interface operating system (8) comprising telecommunication services 20 for implementing one or more data streams eto traffic connection (4, 5, 6, 9, 10, 11) for the · ·. : * for communication between the control system of the sensing system (31) and one or more of the * *: '·· two controllable devices (1, 2, 3), ν': whereby said communication links (4, 5, 6, 9, 10, 11) *: **: The communication protocols used by 25 may also differ; converting, during transmission, a data stream read from said packet component (19, 20, 21) to a form available for the selected telecommunication connection ;; den (4, 5, 6, 9, 10, 11) according to the communication protocol and; while being dependent on said telecommunication connection (4, 5, 6, 9, 10,: 11), and supplying it to telecommunication services (8), v and '; ϊ 35, upon receiving, converting a data stream received from telecommunication services (8) and 115863 15 depend on the communication protocol (4, 5, 6, 9, 10, 11) selected for use, and write it to said packet component (19, 20, 21) via said standardized programming interface (22) and transmit it to the application (22). 18, 25), which interprets the information of the data stream. 2. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että muodostetaan datavirrasta mainittuja pakettikomponentteja (19, 20, 21) 10 perustuen kyseisen sovelluksen (18) ennakolta asettamiin ja tallennettuihin yksilöllisiin arvoihin koskien parametreja, jotka määrittävät säännöt jatkuvan datavirran jakamiseksi erillisiksi pakettikomponenteiksi (19, 20, 21) ja sopivimmin myös pakettikomponentin (19, 20, 21) sisäisen rakenteen, erityisesti otsakekentän ja/tai datakentän osalta. 15A method according to claim 1, characterized in that said packet components (19, 20, 21) 10 are formed from the data stream based on predetermined and stored unique values of said application (18) for parameters defining rules for dividing a continuous data stream into discrete packet components (19, 20, 21). , 21) and preferably also the internal structure of the packet component (19, 20, 21), in particular the header field and / or the data field. 15 3. Patenttivaatimuksen 2 mukainen menetelmä, tunnettu siitä, että määritetään kyseisten yksilöllisten parametrien avulla ainakin: datavirrasta löytyvä alkumerkki pakettikomponentille; tai pakettikomponentin otsakekentän pituus tavuina; tai datavirrasta löytyvä loppumerkki pa- 20 kettikomponentille; tai pakettikomponentin datakentän pituus tavuina; tieto siitä, missä otsakekentän alueella on kerrottu datakentän pituus; .i * tai jokin edellä lueteltujen yhdistelmä. :V:The method of claim 2, characterized by determining, by means of said unique parameters, at least: an initial character in the data stream for the packet component; or the length of the packet component header field in bytes; or an end sign for a packet component found in the data stream; or the length of the data field of the packet component in bytes; information about where the header field is multiplied by the length of the data field; .i * or any combination of the above. : V: 4. Patenttivaatimuksen 1 mukainen menetelmä, tunnettu siitä, että *:*: 25 asetetaan sovelluksen (18, 25) toimesta valitun tietoliikenneyhteyden (4, 5, 6, 9, 10, 11) yhteysparametreja yhden tai useamman mediakom-.···. ponentin (27, 28, 29) välityksellä, jotka käsittävät standardisoidut oh jelmointirajapinnat (33, 34, 35), ja valitaan käyttöön sovelluksen (18) . , valitseman yhteystyypin mukainen yksilöllinen mediakomponentti (27, 30 28, 29), joka puolestaan kutsuu tietoliikennepalveluja (8) datavirran *·;·' lähettämiseksi. • I tA method according to claim 1, characterized in that *: *: 25 sets the connection parameters of the selected telecommunication connection (4, 5, 6, 9, 10, 11) by one or more media commands (18, 25). via a component (27, 28, 29) comprising standardized programming interfaces (33, 34, 35) and selecting an application (18). , a unique media component (27, 30 28, 29) according to the connection type selected, which in turn calls the telecommunication services (8) to transmit the data stream * ·; · '. • I t 5. Patenttivaatimuksen 4 mukainen menetelmä, tunnettu siitä, että Λ asetetaan ja tallennetaan tietoliikenneyhteyttä (4, 5, 6, 9, 10, 11) kos- 35 kevät yhteystyypin parametrit valittuun mediakomponenttiin (27, 28, 29) sovelluksen (18, 25) ja valitun mediakomponentin (27, 28, 29) välisen asetusdialogin välityksellä. 16 115863Method according to claim 4, characterized in that Λ sets and stores the connection type parameters relating to the communication connection (4, 5, 6, 9, 10, 11) to the selected media component (27, 28, 29) of the application (18, 25). and a configuration dialog between the selected media component (27, 28, 29). 16 115863 6. Jonkin patenttivaatimuksen 1 - 5 mukainen menetelmä, tunnettu siitä, että luodaan sovelluksen (18, 25) datavirrasta lähetystä varten pakettikomponentteja (19, 20, 21) kullekin sovellukselle (18, 25) yksi- 5 löllisen asiakaskomponentin (23, 24) välityksellä, joka asiakaskaskom-ponentti käsittää standardin ohjelmointirajapinnan (37, 38), jonka välityksellä kunkin sovelluksen (18, 25) pakettikomponentteja (19, 20, 21) koskevat yleisasetukset ovat asetettavissa ja tallennettavissa yksilölliseen asiakaskomponenttiin (23, 24), ja jonka välityksellä pakettikohtai-10 set asetukset ovat tarvittaessa asetettavissa kuhunkin pakettikompo-nenttiin (19, 20, 21).Method according to one of Claims 1 to 5, characterized in that packet components (19, 20, 21) are created for transmission of the data stream of the application (18, 25) to each application (18, 25) via an individual client component (23, 24). , which client component comprises a standard programming interface (37, 38) through which the General settings for the packet components (19, 20, 21) of each application (18, 25) can be set and stored in an individual client component (23, 24), and If necessary, the 10 settings can be set for each packet component (19, 20, 21). 7. Patenttivaatimuksen 6 mukainen menetelmä, tunnettu siitä, että välitetään pakettikomponentteja (19, 20, 21) kustakin asiakaskom- 15 ponentista (23, 24) palvelinkomponentille (26), joka keskitetysti huolehtii pakettikomponenttien (19, 20, 21) muuntamisesta lähettäväksi data-virraksi ja kunkin tiedonsiirtoyhteyden (4, 5, 6, 9, 10, 11) tiedonsiirtoprotokollan mukaiseen muotoon ja datavirran muuntamisesta paketti-komponentiksi (19, 20, 21) sovellusta (18, 25) varten. 20Method according to claim 6, characterized in that packet components (19, 20, 21) are transmitted from each client component (23, 24) to a server component (26), which centrally takes care of converting the packet components (19, 20, 21) to be transmitted and converting each data link (4, 5, 6, 9, 10, 11) to a data transmission protocol and converting the data stream to a packet component (19, 20, 21) for application (18, 25). 20 8. Patenttivaatimuksen 6 tai 7 mukainen menetelmä, tunnettu siitä, että kutsutaan asiakaskomponenttia (23, 24) sovelluksen (18, 25) toi- i * i *·· mesta lähetyksen yhteydessä ja tietoliikenneyhteyden (4, 5, 6, 9, 10, :V: 11) avaamiseksi, jolloin haluttu yhteystyyppi määritellään kutsun para- ·:··: 25 metreissä, ja palautetaan sovellukselle (18) osoitintietoja koskien sitä ·:··· ohjelmointirajapintaa (34, 35, 36), jonka välityksellä yhteystyypin para- . · ·. metrit ovat asetettavissa.A method according to claim 6 or 7, characterized in that the client component (23, 24) is called from the application (18, 25) in connection with the transmission and the communication link (4, 5, 6, 9, 10, : V: 11) to open, whereby the desired connection type is defined in the call para ·: ··: 25 meters and return to the application (18) the pointer information for the ·: ··· programming interface (34, 35, 36) through which . · ·. meters are adjustable. : . 9. Jonkin patenttivaatimuksen 1 - 9 mukainen menetelmä, tunnettu 30 siitä, että jaetaan tietoliikenneyhteyksien (4, 5, 6, 9, 10, 11) resursseja eri sovellusten (18, 25) kesken keskitetysti palvelinkomponentin (26) : välityksellä, joka myös keskitetysti huolehtii pakettikomponenttien (19, 20, 21) muuntamisesta datavirraksi ja päinvastoin.:. Method according to one of Claims 1 to 9, characterized in that the resources of the communication links (4, 5, 6, 9, 10, 11) are distributed centrally between different applications (18, 25) via a server component (26) which is also centrally takes care of converting the packet components (19, 20, 21) into a data stream and vice versa. 10. Tietokoneohjattu ohjausjärjestelmä, joka käsittää: 115863 17 - käyttöympäristön, joka on tarkoitettu yhden tai useamman ohjaussovelluksen ajamiseksi, - ohjausvälineet sovelluksen (18, 25) ja tietoliikenneväylän (4, 5 5, 6, 9,10,11) välisen datavirran käsittelemiseksi, tunnettu siitä, että ohjausvälineet käsittävät: - välineet vastaanoton ja lähetyksen yhteydessä välitettävän 10 datavirran pakkaamiseksi yhdeksi tai useammaksi paketti- komponentiksi (19, 20, 21), joka on eri sovelluksien (18, 25) kannalta standardimuotoinen ja riippumaton käyttöön valitusta tietoliikenneyhteydestä (4, 5, 6, 9, 10, 11), jolloin kyseinen pakettikomponentti (19, 20, 21) käsittää tarvittavan 15 standardisoidun ohjelmointirajapinnan (22), jonka välityk sellä datavirta on luettavissa pakettikomponentista (19, 20, 21) tai kirjoitettavissa pakettikomponenttiin (19, 20, 21) kyseisen sovelluksen (18) toimesta, 20 jolloin ohjausjärjestelmä käsittää lisäksi: - käyttöjärjestelmävälineet (8), jotka on tarkoitettu tietoliikenneväylän (4, 5, 6, 9, 10, 11) muodostamiseksi oh- :Y: jausjärjestelmän (31) ohjaustietokoneen ja yhden tai use- 25 ämmän ohjattavan laitteen (1, 2, 3) välille ja datavirran vä- littämiseksi, jolloin mainittujen tietoliikenneyhteyksien (4, 5, 6, 9, 10, 11) käyttämät tiedonsiirtoprotokollat voivat myös poiketa toisistaan, ja jotka käyttöjärjestelmävälineet käsittä-, , vät standardin ohjelmointirajapinnan välityksellä ohjattavia ;/ 30 tietoliikennepalvelujapa .: jolloin ohjausvälineet käsittävät lisäksi: - välineet tietoliikennepalvelujen ohjaamiseksi standardin oh- \ 35 jelmointirajapinnan välityksellä ja datavirran välittämiseksi ' ' vastaanoton ja lähetyksen yhteydessä, 115863 18 - välineet datavirran lukemiseksi mainitusta pakettikompo-nentista (19, 20, 21), muuntamiseksi sellaiseen muotoon, joka on lähetyksen yhteydessä käyttöön valitun tietoliikenneyhteyden (4, 5, 6, 9, 10, 11) tiedonsiirtoprotokollan 5 mukainen ja samalla mainitusta tietoliikenneyhteydestä (4, 5, 6, 9, 10, 11) riippuvainen, ja syöttämiseksi tietoliikennepalveluille (8), - välineet tietoliikennepalveluilta (8) vastaanotetun datavirran 10 muuntamiseksi vastaanoton yhteydessä, jolloin datavirta on muodoltaan riippuvainen käyttöön valitun tietoliikenneyhteyden (4, 5, 6, 9, 10, 11) tiedonsiirtoprotokollasta, datavirran kirjoittamiseksi mainittuun pakettikomponenttiin (19, 20, 21) mainitun standardisoidun ohjelmointirajapinnan (22) 15 kautta, ja mainitun pakettikomponentin välittämiseksi so vellukselle (18, 25), joka on järjestetty tulkitsemaan datavirran informaation.A computer-controlled control system comprising: 115863 17 - an operating environment for driving one or more control applications, - control means for handling a data stream between the application (18, 25) and the communication bus (4, 5, 5, 6, 9, 10, 11), characterized in that the control means comprise: - means for compressing the data stream 10 received and transmitted in one or more packet components (19, 20, 21) which is standardized for different applications (18, 25) and independent of the selected telecommunication connection (4, 5, 6, 9, 10, 11), wherein said packet component (19, 20, 21) comprises the required 15 standardized programming interface (22) through which the data stream can be read from or written to the packet component (19, 20, 21). 20, 21) by said application (18), wherein the control system further comprises: - operating system means (8) for establishing a communication bus (4, 5, 6, 9, 10, 11) between a control computer: a control system (31) and one or more controllable devices (1, 2, 3); and for transmitting a data stream, wherein the communication protocols used by said telecommunication connections (4, 5, 6, 9, 10, 11) may also differ and which operating system means are controlled by a standard programming interface; in addition: - means for controlling communication services via a standard programming interface and for transmitting data stream at reception and transmission, 115863 18 - means for reading the data stream from said packet component (19, 20, 21) to a format available for transmission. selected connection (4, 5, 6, 9, 10, 11) according to communication protocol 5 and dependent on said telecommunication connection (4, 5, 6, 9, 10, 11), and for supplying to telecommunication services (8), means for converting data stream 10 received from telecommunication services (8) upon reception, wherein the format of the data stream is dependent on the communication protocol of the selected communication link (4, 5, 6, 9, 10, 11) for writing the data stream to said packet component (19, 20, 21) via said standardized programming interface (22) 15 and for transmitting ( 18, 25) arranged to interpret the information in the data stream. 11. Patenttivaatimuksen 10 mukainen tietokoneohjattu ohjausjärjes- 20 telmä, tunnettu siitä, että ohjausvälineet on järjestetty muodosta maan datavirrasta mainittuja pakettikomponentteja (19, 20, 21) perus-tuen kyseisen sovelluksen (18) ennakolta asettamiin ja tallennettuihin : '· yksilöllisiin arvoihin koskien parametreja, jotka määrittävät säännöt jat- :.0 kuvan datavirran jakamiseksi erillisiksi pakettikomponenteiksi (19, 20, 25 21) ja sopivimmin myös pakettikomponentin (19, 20, 21) sisäisen ra- :· | kenteen, erityisesti otsakekentän ja/tai datakentän osalta.A computer-controlled control system according to claim 10, characterized in that the control means are arranged to form said packet components (19, 20, 21) from the data stream of the earth based on predefined and stored by said application (18): which defines rules for dividing the image stream into separate packet components (19, 20, 25 21) and preferably also the internal boundary of the packet component (19, 20, 21): · | field, especially the header field and / or data field. 12. Patenttivaatimuksen 11 mukainen tietokoneohjattu ohjausjärjes- ; telmä, tunnettu siitä, että kyseiset yksilölliset parametrit käsittävät [!!.* 30 ainakin seuraavan informaation: datavirrasta löytyvä alkumerkki paket- ;· tikomponentille; tai pakettikomponentin otsakekentän pituus tavuina; tai 0·: datavirrasta löytyvä loppumerkki pakettikomponentille; tai pakettikom- ponentin datakentän pituus tavuina; tieto siitä, missä otsakekentän alu-eella on kerrottu datakentän pituus; tai jokin edellä lueteltujen yhdisti 35 telmä. 1 1 5863 19The computer controlled control system of claim 11; method, characterized in that said unique parameters comprise at least the following information: an initial character in the data stream for a packet component; or the length of the packet component header field in bytes; or 0 ·: the end sign of the packet component found in the data stream; or the length of the data field of the packet component in bytes; information on where the header field is multiplied by the length of the data field; or a combination of the above. 1 1 5863 19 13. Tietokoneohjelma, joka käsittää ohjelmakoodivälineet, tunnettu siitä, että se on järjestetty suorittamaan jonkin patenttivaatimuksien 1 -9 mukaisen menetelmän vaiheet, kun kyseinen tietokoneohjelma ajetaan ohjaustietokoneessa. 5A computer program comprising program code means, characterized in that it is arranged to perform the steps of any one of claims 1 to 9 when said computer program is executed on a control computer. 5 14. Tietokoneohjelmatuote, joka käsittää ohjelmakoodivälineet, jotka on tallennettu tietokoneen luettavaan mediaan, tunnettu siitä, että se on järjestetty suorittamaan jonkin patenttivaatimuksien 1-9 mukaisen menetelmän vaiheet, kun kyseinen tietokoneohjelma ajetaan ohjaus- 10 tietokoneessa. 115863 20A computer program product comprising program code means stored on computer readable media, characterized in that it is arranged to perform the steps of any one of claims 1 to 9 when said computer program is run on a control computer. 115863 20
FI20011874A 2001-09-24 2001-09-24 System and method for handling data flow between application and communication bus in a computer controlled control system FI115863B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FI20011874A FI115863B (en) 2001-09-24 2001-09-24 System and method for handling data flow between application and communication bus in a computer controlled control system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FI20011874A FI115863B (en) 2001-09-24 2001-09-24 System and method for handling data flow between application and communication bus in a computer controlled control system
FI20011874 2001-09-24

Publications (3)

Publication Number Publication Date
FI20011874A0 FI20011874A0 (en) 2001-09-24
FI20011874A FI20011874A (en) 2003-03-25
FI115863B true FI115863B (en) 2005-07-29

Family

ID=8561946

Family Applications (1)

Application Number Title Priority Date Filing Date
FI20011874A FI115863B (en) 2001-09-24 2001-09-24 System and method for handling data flow between application and communication bus in a computer controlled control system

Country Status (1)

Country Link
FI (1) FI115863B (en)

Also Published As

Publication number Publication date
FI20011874A0 (en) 2001-09-24
FI20011874A (en) 2003-03-25

Similar Documents

Publication Publication Date Title
US5930480A (en) Software architecture for controlling data streams based on linked command blocks
US5491800A (en) Object-oriented remote procedure call networking system
US5515508A (en) Client server system and method of operation including a dynamically configurable protocol stack
US7617325B2 (en) Protocol conversion using facilities and utilities
US5548723A (en) Object-oriented network protocol configuration system utilizing a dynamically configurable protocol stack
US7302499B2 (en) Internet modem streaming socket method
US5983274A (en) Creation and use of control information associated with packetized network data by protocol drivers and device drivers
US5499343A (en) Object-oriented networking system with dynamically configurable communication links
US20080187004A1 (en) Parsing Messages with Multiple Data Formats
US6327624B1 (en) Communication of objects including Java bytecodes between 3270 logical units including Java virtual machines
EP1447947A2 (en) Frame alteration logic for network processors
EP0978976A2 (en) An application dispatcher for server application
US7216294B2 (en) Method and system for predicting optimal HTML structure without look-ahead
US5812767A (en) System for user registering an address resolution routine to provide address resolution procedure which is used by data link provider interface for resolving address conflicts
US7039690B2 (en) System and method for accessing registers of PHY device in network
US6256665B1 (en) Method for emulation of terminal-resident GUI application
AU2007262660A1 (en) Middleware broker
FI115863B (en) System and method for handling data flow between application and communication bus in a computer controlled control system
CN107517247A (en) A kind of socket interfaces applied to financial industry turn the system and method for http interfaces
Gill et al. ORB middleware evolution for networked embedded systems
US20080175268A1 (en) method and system for providing interoperability of different version protocols without access to protocol specific code
Lilienkamp et al. Proposed Host-Front End Protocol
Lilienkamp et al. RFC0929: Proposed Host-Front End Protocol
KR0146025B1 (en) Board driving apparatus of fiber distributed data interface using stream mechanism on the unix system
JPH0623961B2 (en) Data transfer method

Legal Events

Date Code Title Description
FG Patent granted

Ref document number: 115863

Country of ref document: FI