DE10218091B4 - Vorrichtung zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen und Kommunikationsverfahren - Google Patents

Vorrichtung zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen und Kommunikationsverfahren Download PDF

Info

Publication number
DE10218091B4
DE10218091B4 DE10218091A DE10218091A DE10218091B4 DE 10218091 B4 DE10218091 B4 DE 10218091B4 DE 10218091 A DE10218091 A DE 10218091A DE 10218091 A DE10218091 A DE 10218091A DE 10218091 B4 DE10218091 B4 DE 10218091B4
Authority
DE
Germany
Prior art keywords
list
communication
parking
orders
waiting
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
DE10218091A
Other languages
English (en)
Other versions
DE10218091A1 (de
Inventor
Karl-Theo Kremer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE10218091A priority Critical patent/DE10218091B4/de
Publication of DE10218091A1 publication Critical patent/DE10218091A1/de
Application granted granted Critical
Publication of DE10218091B4 publication Critical patent/DE10218091B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • H04L12/4035Bus networks with centralised control, e.g. polling in which slots of a TDMA packet structure are assigned based on a contention resolution carried out at a master unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

Vorrichtung zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen (16), mit einem Speicher (13), in dem eine Sendeliste (14) und eine Anzahl von Wartelisten (15) jeweils zur Aufnahme von Kommunikationsaufträgen (16) angelegt sind,
– wobei die Anzahl der Wartelisten (15) auf eine Anzahl von auf die Vorrichtung zugreifenden Applikationen abgestellt ist und
– wobei für jede Warteliste (15) mit einem Übernahmewert (17) eine Anzahl aus der jeweiligen Warteliste (15) in die Sendeliste (14) zu übernehmender Kommunikationsaufträge (16) vorgebbar ist.

Description

  • Die Erfindung betrifft eine Vorrichtung zur Steuerung und/ oder Überwachung einer Abwicklung von Kommunikationsaufträgen sowie ein korrespondierendes Verfahren, im Folgenden als Kommunikationsverfahren bezeichnet. Eine solche Vorrichtung ist üblicherweise als Bestandteil eines Kommunikationscontrollers realisiert, das Verfahren wird entsprechend vom Kommunikationscontroller ausgeführt.
  • Ein solcher Kommunikationscontroller ist diejenige Vorrichtung, mit der ein elektrisches Gerät, wie ein Computer, ein Prozessrechner, eine speicherprogrammierbare Steuerung, ein dezentrales Peripheriegerät, etc., Zugang zu einem Kommunikationsnetzwerk wie z. B. einem Feldbus erhält. Der Kommunikationscontroller bildet die Schnittstelle zwischen einem solchen elektrischen Gerät und dem Kommunikationsnetzwerk. Sämtliche Arten von über jeweils einen Kommunikationscontroller an ein Kommunikationsnetzwerk anschließbaren elektrischen Geräten werden im Folgenden als Kommunikationsteilnehmer bezeichnet. Auf einem solchen Kommunikationsteilnehmer laufen ein oder mehrere Applikationen, das heißt z. B. Softwareprogramme zur Steuerung und/oder Überwachung technischer Prozesse oder Teilprozesse, ab. Zum Austausch von Daten zwischen einzelnen Applikationen untereinander oder mit über das Kommunikationsnetzwerk erreichbarer Prozessperipherie, wie Sensoren oder Aktoren, setzen die Applikationen Kommunikationsaufträge ab. Ein solcher Kommunikationsauftrag bezieht sich z. B. auf das Übermitteln von Daten zur Ansteuerung der Prozessperipherie, um dadurch auf einen gesteuerten oder überwachten technischen Prozess einzuwirken. Andere Kommunikationsaufträge beziehen sich z. B. auf das Empfangen von Daten, die aktuelle Zustände des technischen Prozesses re präsentieren, wie z. B. Endschalterinformationen, Temperaturen, Geschwindigkeiten, Drehzahlen, etc.
  • Zur kontinuierlichen Steuerung und/oder Überwachung technischer Prozesse werden solche Kommunikationsaufträge vielfach wiederholt. Es stellt sich damit eine gewisse Kommunikationslast, die Gesamtheit aller abzuwickelnden Kommunikationsaufträge, ein. Die einzelnen Applikationen tragen ihre jeweiligen Kommunikationsaufträge in eine Sendeliste ein. Diese Sendeliste wird vom Kommunikationscontroller abgearbeitet. Die Zeitspanne vom Absetzen eines Kommunikationsauftrags durch eine Applikation über das Eintragen des Kommunikationsauftrags in die Sendeliste bis zum Abwickeln (Versenden) des Kommunikationsauftrags wird als Latenzzeit bezeichnet.
  • Kommunikationscontroller der eingangs beschriebenen Art sind allgemein bekannt.
  • Nachteilig bei bekannten Kommunikationscontrollern oder ggf. davon unabhängigen Vorrichtungen zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen sowie korrespondierenden Verfahren ist jedoch eine für einzelne Applikationen sehr hohe Latenzzeit oder insgesamt eine ungünstige Latenzzeit.
  • Aus der EP 0 654 740 A1 ist ein Buscontroller für ein elek- tronisches Gerät bekannt, das eine eigene Intelligenz und einen Speicher mit einer Vielzahl einzeln adressierbarer Speicherplätze aufweist, die über einen Gerätebus miteinander verbunden sind, wobei der Buscontroller zumindest mit dem Speicher und einem Vernetzungsbus verbindbar ist. Es sind Maßnahmen vorgesehen, die eine effektive geräteinterne Auftragsabwicklung des Buscontrollers ermöglichen.
  • Der Erfindung liegt daher die Aufgabe zugrunde, eine Vorrichtung und ein Verfahren zur Vermeidung der o.g. Nachteile anzugeben.
  • Diese Aufgabe wird hinsichtlich der Vorrichtung erfindungsgemäß mit den Merkmalen des Anspruchs 1 gelöst. Dazu ist bei einer Vorrichtung zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen mit einem Speicher, in dem eine Sendeliste und eine Anzahl von Wartelisten jeweils zur Aufnahme von Kommunikationsaufträgen angelegt sind, vorgesehen, dass die Anzahl der Wartelisten auf eine Anzahl von auf die Vorrichtung zugreifenden Applikationen abgestellt ist und dass für jede Warteliste mit einem Übernahmewert eine Anzahl aus der jeweiligen Warteliste in die Sendeliste zu übernehmender Kommunikationsaufträge vorgebbar ist.
  • Bezüglich des Verfahrens wird diese Aufgabe erfindungsgemäß gelöst durch die Merkmale des Anspruchs 4. Dazu ist bei einem Verfahren zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen, wobei einzelne Kommunikationsaufträge von Applikationen abgesetzt werden, vorgesehen, dass jeder Applikation eine Warteliste zugeordnet ist und für jede Warteliste mit einem Übernahmewert vorgebbar ist oder vorgegeben wird, wie viele Kommunikationsaufträge aus jeweils einer Warteliste in eine Sendeliste übernommen werden und dass in die Sendeliste übernommene Kommunikationsaufträge sukzessive abgewickelt werden.
  • Die Erfindung geht dabei von der Erkenntnis aus, dass sich durch die Einführung von jeweils einzelnen Applikationen zugeordneten Wartelisten, in die die Applikationen ihre Kommunikationsaufträge eintragen, eine Entkopplung der Applikationen untereinander ergibt. Aus den Wartelisten könnten nun sämtliche Kommunikationsaufträge in die Sendeliste nach unterschiedlichen Strategien (z. B. First-Come-First-Serve, oder prioritätsbezogen) übernommen werden. Dabei bliebe der Vorteil der Entkopplung der Applikationen erhalten, stets könnten aber z. B. noch hochpriore Applikationen mit einer Vielzahl von Kommunikationsaufträgen andere Applikationen vom Datentransfer nahezu ausschließen. Daher ist für jede Warteliste ein individuell vorgegebener oder vorgebbarer Übernahmewert vorgesehen. Der Übernahmewert bestimmt die Anzahl der Kommunikationsaufträge, die aus der jeweiligen Warteliste in die Sendeliste übernommen werden. Die Reihenfolge der Kommunikationsaufträge in der jeweiligen Sendeliste kann sich wiederum nach unterschiedlichen Strategien ergeben. So kann die Reihenfolge mit der Reihenfolge des Absetzens der Kommunikationsaufträge (First-Come-First-Serve) korrespondieren. Alternativ kann auch vorgesehen sein, dass sich die Reihen folge entsprechend bestimmter Prioritäten der einzelnen Kommunikationsaufträge ergibt. Der Übernahmewert wirkt damit gleichsam wie ein Ventil. Bei einem hohen Übernahmewert werden viele Kommunikationsaufträge aus der entsprechenden Warteliste in die Sendeliste übernommen. Bei einer Warteliste mit niedrigem Übernahmewert gelangen entsprechend nur wenige Kommunikationsaufträge in die Sendeliste.
  • Der Vorteil der Erfindung besteht darin, dass sich bei der Abwicklung der Kommunikationsaufträge ein ausgewogener Durchsatz mit kalkulierbaren Latenzzeiten ergibt.
  • Vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche.
  • In die Sendeliste übernommene Kommunikationsaufträge sind bevorzugt zur Abwicklung während einer Buszykluszeit vorgesehen. Damit ist nach Ablauf einer Buszykluszeit die Sendeliste geleert und kann mit neuen Kommunikationsaufträge aus den Wartelisten "gefüllt" werden.
  • Weiter bevorzugt erfolgt am Ende der Buszykluszeit oder am Anfang der nächstfolgenden Buszykluszeit eine Übernahme einer maximal dem Übernahmewert entsprechenden Anzahl von Kommunikationsaufträgen aus jeder Warteliste in die Sendeliste.
  • Weitere Ausgestaltungen des Verfahrens sowie entsprechend einer zur Ausführung des Verfahrens geeigneten Vorrichtung beziehen sich auf die Abwicklung von Kommunikationssonderaufträgen. Nachrichtenorientierte Protokolle bedienen sich oft eines Request-to-Poll Verfahrens. Dabei sendet ein erster Kommunikationsteilnehmer – Sender – an einen zweiten Kommunikationsteilnehmer – Empfänger – eine Nachricht (Request-Auftrag), um dort Daten anzufordern. Nach dem Versenden dieses Request-Auftrags wird dieser dann im Kommunikationscontroller des Senders zu einem Poll-Auftrag umgewandelt. Dieser Poll-Auftrag wird solange versendet, bis die Antwortdaten beim Empfänger verfügbar sind. Dies kann bei langsamen Empfängern eine gewisse Zeit dauern. Deshalb ist bei solchen Request-to-Poll Verfahren eine Sonderbehandlung sinnvoll. Request- und Poll-Aufträge sind Beispiele für Kommunikationssonderaufträge.
  • Vorteilhaft ist daher vorgesehen, dass Kommunikationssonderaufträge wie Kommunikationsaufträge aus einer jeweiligen Warteliste in die Sendeliste, nach ihrer Abwicklung in eine Parkliste und nach einer dem jeweiligen Kommunikationssonderauftrag zugeordneten Verweildauer aus der Parkliste in die ursprüngliche Warteliste übernommen werden.
  • Damit lässt sich erreichen, dass Kommunikationssonderaufträge in Form von z. B. Poll-Aufträgen mit einer Untersetzung versehen werden können. Der Poll-Auftrag wird also nicht sofort wieder in die Sendeliste übernommen und erneut abgewickelt sondern erst nach Ablauf der Verweildauer. Dies berücksichtigt den Umstand, dass ein langsamer Kommunikationsteilnehmer die ursprünglich angeforderten Daten erst nach Ablauf einer gewissen Zeit zur Verfügung stellt.
  • Zur Realisierung der Verweildauer ist die Parkliste vorgesehen, in welcher der Kommunikationssonderauftrag zwischengespeichert wird. Dort verbleibt er solange, bis die dem Kommunikationssonderauftrag zugeordnete Verweildauer verstrichen ist. Nach Ablauf dieser Zeit wird der Poll-Auftrag dann wieder in die ursprüngliche Warteliste, d. h. in diejenige Warteliste, die der Applikation zugeordnet ist, die den Kommunikationssonderauftrag ursprünglich abgesetzt hat, übernommen. Dabei wird der Kommunikationssonderauftrag an eine freie Stelle, insbesondere die letzte Stelle, der Warteliste übernommen.
  • Im Falle einer zyklischen Abwicklung von in der Sendeliste vorhandenen Kommunikations- und Kommunikationssonderaufträgen während einer Buszykluszeit erfolgt die Übernahme von Kommu nikationssonderaufträgen aus der Parkliste in die jeweiligen Wartelisten zu Beginn eines jeden Kommunikationszyklusses. Für den Sonderfall, dass als Verweildauer ein Minimalwert, z. B. "0", vorgegeben ist, wird der Kommunikationssonderauftrag nicht in die Parkliste, sondern gleich wieder in die ursprüngliche Warteliste übernommen.
  • Im Falle einer zyklischen Abwicklung von Kommunikations- und Kommunikationssonderaufträgen – im Folgenden zusammenfassend als Kommunikationsaufträge bezeichnet – wird die Verweildauer eines Kommunikationssonderauftrags in der Parkliste bevorzugt in Anzahl Buszyklen angegeben, denn die Anzahl der Buszyklen ist eine besonders praktikable Zeitbasis zur Spezifikation einer Verweildauer.
  • Besonders bevorzugt umfasst die Parkliste eine der maximalen Verweildauer entsprechende Anzahl von Parklistenelementen, wobei jedem Parklistenelement eine insbesondere dynamisch organisierte Verweilliste zugeordnet ist. Ein Kommunikationssonderauftrag wird dann beim Übernehmen in die Parkliste in die der jeweiligen Verweildauer entsprechende Verweilliste übernommen. Eine solche matrixartige Struktur erleichtert die Handhabung und Zuordnung von Kommunikationssonderaufträgen mit jeweils unterschiedlicher Verweildauer. In jeweils einer Verweilliste sind nur Kommunikationssonderaufträge mit gleicher Verweildauer zusammengefasst.
  • Vorteilhaft ist der Parkliste ein auf jeweils ein Parklistenelement zeigender Parklistenzeiger zugeordnet, der nach jedem Buszyklus oder nach einer vorgegebenen oder vorgebbaren Zeitspanne vom aktuellen Parklistenelement auf das nächstfolgende Parklistenelement gesetzt wird. Der Parklistenzeiger erleichtert die Identifikation derjenigen Verweilliste mit Kommunikationssonderaufträgen, deren Verweildauer abgelaufen ist. Der Parklistenzeiger fungiert als Index zur Referenzierung des jeweiligen Parklistenelements mit der zugeordneten Verweilliste. Mittels des Parklistenzeigers ist ein komfortabler Zugriff auf die Kommunikationssonderaufträge, deren Verweildauer abgelaufen ist, möglich. Zu Beginn einer jeden erneuten Abwicklung der in der Sendeliste enthaltenen Kommunikationsaufträge wird der Parklistenzeiger vom aktuellen Parklistenelement auf das nächstfolgende Parklistenelement gesetzt.
  • Entsprechend werden weiter vorteilhaft jeweils diejenigen Kommunikationssonderaufträge aus der Parkliste in die jeweilige Warteliste übernommen, die in der Verweilliste enthalten sind, die dem Parklistenelement zugeordnet ist, auf das der Parklistenzeiger zeigt. Mit anderen Worten: Der Parklistenzeiger zeigt auf ein Element der Parkliste, das Parklistenelement. Jedem Parklistenelement ist eine Verweilliste zugeordnet. Damit referenziert der Parklistenzeiger eindeutig eine Verweilliste. Die in der jeweils referenzierten Verweil- liste enthaltenen Kommunikationssonderaufträge werden wieder in die Warteliste übernommen, aus denen sie ursprünglich stammen.
  • Die Parkliste ist bevorzugt als Umlaufliste organisiert. Die Anzahl der Parklistenelemente korrespondiert mit der Anzahl unterschiedlicher Verweildauern, so dass für jede Verweildauer ein eigenes Parklistenelement mit der zugeordneten Verweilliste vorhanden ist.
  • Durch das "Parken"/Verweilen von Kommunikationssonderaufträgen in der Parkliste während der Verweildauer wird die Kommunikationsbandbreite deutlich verbessert, weil Kommunikationssonderaufträge während einer Zeitspanne, der Verweildauer, während derer z. B. angeforderte Daten erwartungs- oder erfahrungsgemäß noch nicht zur Verfügung stehen können, erst gar nicht zur Abwicklung gelangen. Die damit eingesparte Kommunikationslast steht für andere Kommunikations- oder Kommunikationssonderaufträge zur Verfügung.
  • Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert. Einander entsprechende Gegenstände oder Elemente sind in allen Figuren mit den gleichen Bezugszeichen versehen.
  • Darin zeigen
  • 1 eine Anzahl über einen Bus miteinander kommunikativ verbundener Kommunikationsteilnehmer mit jeweils einem Kommunikationscontroller,
  • 2 in einem Speicher des Kommunikationscontrollers angelegte Datenstrukturen und
  • 3 im Speicher des Kommunikationscontrollers angelegte Datenstrukturen gemäß einer Ausgestaltung der Erfindung.
  • 1 zeigt eine Anzahl von Kommunikationsteilnehmern 10 die jeweils mittels eines Kommunikationscontrollers 11 an ein Kommunikationsmedium, z. B. einen Bus 12, insbesondere einen Feldbus, angeschlossen sind. Auf dem oder jedem Kommunikationsteilnehmer 10 laufen in an sich bekannter Weise eine oder mehrere nicht näher dargestellte Softwareapplikationen, z. B. zur Steuerung und/oder Überwachung eines gleichfalls nicht dargestellten technischen Prozesses oder Teilprozesses, ab.
  • Durch den Zugriff auf den Bus 12 tauschen die Softwareapplikationen mit Softwareapplikationen auf anderen Kommunikationsteilnehmern 10 Daten aus. Der Kommunikationscontroller 11 fungiert dabei als Schnittstelle zum Bus 12. Zum Speichern ein- und ausgehender Daten weist der Kommunikationscontroller 11 einen Speicher 13 auf.
  • 2 zeigt in dem Speicher 13 des Kommunikationscontrollers 11 (1) angelegte Datenstrukturen. Bei den Datenstrukturen handelt es sich um eine Sendeliste 14 und eine Anzahl von Wartelisten 15. Die Anzahl der Wartelisten 15 richtet sich nach der Anzahl von Applikationen, die auf den Kommunikationscontroller zugreifen. In jeder Warteliste 15 können von den jeweiligen Applikationen abgesetzte Kommunikationsaufträge 16 abgelegt werden.
  • Mit einem Kommunikationsauftrag 16 übermittelt eine Applikation an eine Applikation eines anderen Kommunikationsteilnehmers 10 (1) Daten oder fordert solche bei dieser Applikation an. Im Falle des Versendens von Daten an die andere Applikation sind die zu versendenden Daten Bestandteil des Kommunikationsauftrags 16. Bei einer großen Menge von Daten werden diese ggf. auf eine geeignete Vielzahl von Kommunikationsaufträgen 16 verteilt. Im Falle des Abrufens von Daten bei einer anderen Applikation wird dieser in Form von Daten eines Kommunikationsauftrags 16 eine Spezifikation der angeforderten Daten, z. B. ein Adressbereich, übermittelt. Die andere Applikation sendet daraufhin die angeforderten Daten mittels eines eigenen Kommunikationsauftrags 16 oder sendet sie als Antwortdaten auf den empfangenen Kommunikationsauftrag 16 zurück.
  • Die Anzahl der Kommunikationsaufträge 16 in einer Warteliste 15 ist zeitlich veränderlich, weil einerseits stets neue Kommunikationsaufträge 16 hinzukommen können und andererseits Kommunikationsaufträge 16 aus der Warteliste 15 entfernt werden können, indem sie in die Sendeliste 14 übernommen werden.
  • Die Anzahl der jeweils zu einem geeigneten, vorgegebenen oder vorgebbaren Zeitpunkt aus jeder Warteliste 15 in die Sendeliste 14 übernommener oder zu übernehmender Kommunikationsaufträge 16 richtet sich nach einem jeder Warteliste 15 individuell zugeordneten Übernahmewert 17. Zu dem geeigneten Zeitpunkt, bei einer zyklischen Abwicklung von Kommunikationsaufträgen während eines Buszyklusses, insbesondere am Anfang oder am Ende eines jeden Buszyklusses, wird aus jeder Warteliste 15 maximal eine dem zahlenmäßigen Wert des Übernahmewertes 17 entsprechende Anzahl von Kommunikationsaufträgen 16 in die Sendeliste 14 übernommen.
  • Die damit in der Sendeliste 14 vorhandenen Kommunikationsaufträge 16 werden vom Kommunikationscontroller 11 (1) sukzessive abgewickelt, d. h. über den Bus 12 (1) versandt.
  • Anhand von 3 wird eine vorteilhafte Ausgestaltung der Erfindung verdeutlicht. Neben den Kommunikationsaufträgen 16 sind eine Anzahl von Kommunikationssonderaufträgen 18 vorhanden. Ein Kommunikationssonderauftrag 18 entspricht nach Art, Funktion und Struktur weitestgehend einem Kommunikationsauftrag 16. Kommunikationssonderaufträge 18 werden allerdings in besonderer Weise abgewickelt. Dies resultiert aus der Tatsache, dass Kommunikationssonderaufträge 18 z. B. bei der Abwicklung von Kommunikationsbeziehungen nach dem Request-To-Poll Verfahren verwendet werden. Dabei versendet zunächst eine Applikation an eine Applikation auf einem anderen, entfernten Kommunikationsteilnehmer 10 (1) einen Kommunikationssonderauftrag 18 in Form eines Request-Auftrags um bei der anderen Applikation konkret spezifizierte Daten anzufordern. Aufgrund seiner Kenntlichkeit als Kommunikationssonderauftrag 18 wird dieser vom ursprünglichen Request-Auftrag im Kommunikationscontroller 11 (1) automatisch in einen Kommunikationssonderauftrag 18 in Form eines Poll-Auftrags umgewandelt. Der Kommunikationssonderauftrag 18 in Form des Poll-Auftrags dient dazu, wiederholt die Verfügbarkeit der bei der anderen Applikation angeforderten Daten zu prüfen und diese im Falle der Verfügbarkeit entgegenzunehmen.
  • Die Ausgestaltung der Erfindung bezieht sich nunmehr auf eine besonders günstige Handhabung solcher Kommunikationssonderaufträge 18. Dazu ist eine Parkliste 19 mit einer Anzahl Parklistenelemente 20 vorgesehen. Jedes Parklistenelement 20 umfasst eine insbesondere dynamisch, z. B. in Form einer verketteten Liste, organisierte Verweilliste 21 zur Aufnahme von zur erneuten Abwicklung vorgesehenen Kommunikationssonderaufträgen 18. Jedem Kommunikationssonderauftrag 18 ist als Zeitspanne zum Verbleib in einer der Verweillisten 21 eine Verweildauer zugeordnet. Die Verweildauer ist bei einer zyklischen Abwicklung von Kommunikations- und Kommunkationssonderaufträgen 16, 18 während eines Buszyklusses als Anzahl von Buszyklen angegeben. Das heißt bei einer Verweildauer von z. B. "3" verbleibt der Kommunikationssonderauftrag 18 während dreier aufeinander folgender Buszyklen in der Parkliste und gelangt erst nach Ablauf dieser Verweildauer und der damit korrespondierenden Zeitspanne zur erneuten Abwicklung.
  • Zur effizienten Handhabung der in die Parkliste 19 übernommenen Kommunikationssonderaufträge 18 ist vorgesehen, dass die Anzahl der Parklistenelemente 20 auf die Anzahl unterschiedlicher Verweildauern, die einen Kommunikationssonderauftrag 18 zugeordnet werden können, abgestimmt ist. Beträgt also die maximal einem Kommunikationssonderauftrag 18 zuordenbare Verweildauer "5" (z. B. Buszyklen) so umfasst die Parkliste 19 entsprechend fünf Parklistenelemente 20 mit jeweils einer Verweilliste 21. Zur evtl. Anpassung der Anzahl der Parklistenelemente 20 an eine variierende maximale Verweildauer kann vorgesehen sein, dass auch diese dynamisch, z. B. ebenfalls in Form einer verketteten Liste, organisiert sind.
  • Nach der Abwicklung eines Kommunikationssonderauftrags 18 in der Sendeliste 14 wird dieser gemäß der jeweils zugeordneten Verweildauer in die Verweilliste 21 des entsprechenden Parklistenelements 20 übernommen. Die Obernahme eines Kommunikationssonderauftrags 18 aus der Sendeliste 14 in die Parkliste 19 ist in 3 durch die mit einem Pfeil versehenen Linien ausgehend von vorliegend zwei Kommunikationssonderaufträgen 18 in der Sendeliste 14 angedeutet. Nach Ablauf der Verweildauer wird der Kommunikationssonderauftrag 18 aus der Verweilliste 21 wieder in diejenige Warteliste 15 übernommen, aus der er ursprünglich die Sendeliste 14 gelangt ist. Nachdem allen in jeweils einer der Verweillisten 21 enthaltenen Kommunikationssonderaufträge 18 die gleiche Verweildauer zugeordnet ist, können bei Ablauf der jeweiligen Verweildauer sämtliche in der Verweilliste 21 zusammengefassten Kommunikationssonderaufträge 18 wieder in die jeweils ursprünglichen Wartelisten 15 übernommen werden.
  • Zur Referenzierung und Identifizierung des Parklistenelements 20 mit Kommunikationssonderaufträgen 18, deren Verweildauer abgelaufen ist oder unmittelbar vor dem Ablauf steht, ist ein Parklistenzeiger 21 vorgesehen. Der Parklistenzeiger 21 referenziert zu einem bestimmten Zeitpunkt während der Abwicklung von Kommunikations- und Kommunikationssonderaufträgen 16, 18 dasjenige Parklistenelement 20 mit Kommunikationssonderaufträgen 18, deren Verweildauer abgelaufen ist. Diese Kommunikationssonderaufträge 18 werden – wie oben beschrieben – wieder in die jeweiligen ursprünglichen Wartelisten 15 übernommen.
  • Der Parklistenzeiger 21 wird auch bei der Übernahme von Kommunikationssonderaufträgen 18 in die Parkliste 19 herangezogen. Wenn der Parklistenzeiger 21 auf das Parklistenelement 20 mit Kommunikationssonderaufträgen 18 mit abgelaufener Verweildauer zeigt, umfasst das nächstfolgende Parklistenelement 20 Kommunikationssonderaufträge 18 mit einer Verweildauer, die z. B. erst nach dem nächstfolgenden Buszyklus abläuft. Entsprechendes gilt für weiter folgende Parklistenelemente 21. Kommunikationssonderaufträge 18 mit einer Verweildauer "1" werden also aus der Sendeliste 14 in das dem aktuell durch den Parklistenzeiger 21 referenzierten Parklistenelement 20 nachfolgende Parklistenelement 20 übernommen. Kommunikationssonderaufträge 18 mit einer Verweildauer "2" werden entsprechend in das in Bezug auf das durch den Parklistenzeiger 21 referenzierte Parklistenelement 20'' übernächste" Parklistenelement 20 übernommen, usw.
  • Wenn sämtliche in einer Verweilliste 21 enthaltenen Kommunikationssonderaufträge 18 wieder in die ursprünglichen Wartelisten 15 übernommen sind, also z. B. am Ende bzw. Beginn eines jeden Buszyklus, wird der Parklistenzeiger 21 auf das nächstfolgende Parklistenelement 20 gesetzt, d. h. der Wert der zugrundeliegenden Speicherstruktur wird derart beeinflusst, dass der Parklistenzeiger 21 das nächstfolgende Parklistenelement 20 referenziert. Das Übernehmen von Kommunikationssonderaufträgen 18 aus der Sendeliste 14 in die Parkliste 19 kann damit wieder – wie zuvor beschrieben – unter Verwendung des Parklistenzeiger 21 erfolgen. Da der Parklistenzeiger 21 jetzt um ein Parklistenelement 20 versetzt ist, werden neu zu übernehmende Kommunikationssonderaufträge 18 automatisch in diejenigen Parklistenelemente 20 bzw. die zugeordneten Verweilliste 21 übernommen, die mit der noch abzuwartenden Verweildauer korrespondiert.
  • Die Parkliste 19 ist zur erleichterten Manipulation des Parklistenzeigers 21 bevorzugt als verkettete Liste ausgebildet, bei der jedes Listenelement (jedes Parklistenelement 20) eine Referenz auf das nächstfolgende Listenelement und ggf. auch auf das vorangehende Listenelement umfasst. Besonders günstig ist die Parkliste 19 als zirkulär verkettete Liste ausgebildet, wobei diejenigen Listenelemente, die bei einer linearen Liste einen Listenanfang und ein Listenende darstellen würden, sich gegenseitig referenzieren, so dass sich das Listenelement am Listenanfang als "Nachfolger" des Listenelementes vom Listenende und ggf. entsprechend sich das Listenelement am Listenende als "Vorgänger" des Listenelements am Listenanfang darstellt.
  • Kommunikationssonderaufträge 18 werden nach ihrer Übernahme in die ursprüngliche Warteliste 15 wie Kommunikationsaufträge 16 behandelt. D. h. die durch den jeweiligen Übernahmewert 17 festgelegte Anzahl jeweils aus der Warteliste 15 zu übernehmender Kommunikationsaufträge 16 schließt evtl. Kommunikationssonderaufträge 18 ein.
  • Damit lässt sich die Erfindung kurz wie folgt darstellen:
    Es wird eine Vorrichtung und ein korrespondierendes Verfahren zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen 16 angegeben. Die Vorrichtung, z. B. ein Kommunikationscontroller 11, umfasst einen Speicher 13, in dem eine Sendeliste 14 und eine Anzahl von Wartelisten 15 jeweils zur Aufnahme von Kommunikationsaufträgen 16 angelegt sind. Die Anzahl der Wartelisten 15 ist dabei auf eine Anzahl von auf die Vorrichtung zugreifenden Applikationen abgestellt. Für jede Warteliste 15 kann mit einem Übernahmewert 17 eine jeweils aus der Warteliste 15 in die Sendeliste 14 zu übernehmende Anzahl von Kommunikationsaufträge 16 vorgegeben werden. Der Übernahmewert 17 fungiert damit gleichsam wie ein Ventil, indem die Anzahl der in die Sendeliste 14 gelangenden Kommunikationsaufträge begrenzt wird. Damit ergibt sich rückwirkungsfrei zu den jeweiligen Applikationen ein ausgewogener Nachrichtendurchsatz mit kalkulierbaren Latenzzeiten. Eine Ausgestaltung der Erfindung bezieht sich darüber hinaus auf die Handhabung von Kommunikationssonderaufträgen 18 wie z. B. Poll-Aufträgen, die nicht stetig neu abgewickelt werden, sondern für die eine Verweildauer vorgegeben werden kann, während derer sie in eine Parkliste 19 übernommen werden, so dass sie erst nach Ablauf der Verweildauer erneut zur Abwicklung gelangen. Eine Verwendung wertvoller Kommunikationsbandbreite für z. B. Poll-Aufträge deren angeforderte Daten erfahrungs- oder erwartungsgemäß noch nicht zur Verfügung stehen, wird damit vermieden. Die "eingesparte" Kommunikationsbandbreite kann damit für andere Kommunikations- oder Kommunikationssonderaufträge verwendet werden.

Claims (11)

  1. Vorrichtung zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen (16), mit einem Speicher (13), in dem eine Sendeliste (14) und eine Anzahl von Wartelisten (15) jeweils zur Aufnahme von Kommunikationsaufträgen (16) angelegt sind, – wobei die Anzahl der Wartelisten (15) auf eine Anzahl von auf die Vorrichtung zugreifenden Applikationen abgestellt ist und – wobei für jede Warteliste (15) mit einem Übernahmewert (17) eine Anzahl aus der jeweiligen Warteliste (15) in die Sendeliste (14) zu übernehmender Kommunikationsaufträge (16) vorgebbar ist.
  2. Vorrichtung nach Anspruch 1, wobei in die Sendeliste (14) übernommene Kommunikationsaufträge (16) zur Abwicklung während einer Buszykluszeit vorgesehen sind.
  3. Vorrichtung nach Anspruch 2, wobei am Ende der Buszykluszeit oder am Anfang der nächstfolgenden Buszykluszeit eine Übernahme einer maximal dem Übernahmewert (17) entsprechenden Anzahl von Kommunikationsaufträgen (16) aus jeder Warteliste (15) in die Sendeliste (14) erfolgt.
  4. Verfahren zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen (16), – wobei einzelne Kommunikationsaufträge (16) von Applikationen abgesetzt werden, – wobei jeder Applikation eine Warteliste (15) zugeordnet ist und für jede Warteliste (15) mit einem Übernahmewert (17) vorgebbar ist oder vorgegeben wird, wie viele Kommunikationsaufträge (16) aus jeweils einer Warteliste (15) in eine Sendeliste (14) übernommen werden, und – wobei in die Sendeliste (14) übernommene Kommunikationsaufträge (16) sukzessive abgewickelt werden.
  5. Verfahren nach Anspruch 4, wobei in die Sendeliste (14) übernommene Kommunikationsaufträge (16) während einer Buszykluszeit abgewickelt werden.
  6. Verfahren nach Anspruch 5, wobei am Ende der Buszykluszeit oder am Anfang der nächstfolgenden Buszykluszeit aus jeder Warteliste (15) maximal eine dem Übernahmewert (17) entsprechende Anzahl von Kommunikationsaufträgen (16) in die Sendeliste (14) übernommen wird.
  7. Verfahren nach einem der Ansprüche 4 bis 6, wobei Kommunikationssonderaufträge (18) wie Kommunikationsaufträge (16) aus einer jeweiligen Warteliste (15) in die Sendeliste (14), nach ihrer Abwicklung in eine Parkliste (19) und nach einer dem jeweiligen Kommunikationssonderauftrag (18) zugeordneten Verweildauer aus der Parkliste (19) in die ursprüngliche Warteliste (15) übernommen werden.
  8. Verfahren nach Anspruch 7, wobei die Verweildauer eines Kommunikationssonderauftrags (18) in der Parkliste (19) in Anzahl Buszyklen angegeben wird.
  9. Verfahren nach Anspruch 7 oder 8, wobei die Parkliste (19) eine der maximalen Verweildauer entsprechende Anzahl von Parklistenelementen (20) umfasst und wobei jedem Parklistenelement (20) eine dynamisch organisierte Verweilliste (21) zugeordnet ist und wobei ein Kommunikationssonderauftrag (18) beim Übernehmen in die Parkliste (19) in die der jeweiligen Verweildauer entsprechende Verweilliste (21) übernommen wird.
  10. Verfahren nach Anspruch 7, 8 oder 9, wobei der Parkliste (19) ein auf jeweils ein Parklistenelement (20) zeigender Parklistenzeiger (21) zugeordnet ist, der nach jedem Buszyklus vom aktuellen Parklistenelement (20) auf das nächstfolgende Parklistenelement (20) gesetzt wird.
  11. Verfahren nach Anspruch 7, 8, 9 oder 10, wobei jeweils die Kommunikationssonderaufträge (18) aus der Parkliste (19) in die jeweilige Warteliste (15) übernommen werden, die in derjenigen Verweilliste (21) enthalten sind, die dem Parklistenelement (20) zugeordnet ist, auf das der Parklistenzeiger (21) zeigt.
DE10218091A 2001-11-15 2002-04-23 Vorrichtung zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen und Kommunikationsverfahren Expired - Fee Related DE10218091B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10218091A DE10218091B4 (de) 2001-11-15 2002-04-23 Vorrichtung zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen und Kommunikationsverfahren

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE10156012.5 2001-11-15
DE10156012 2001-11-15
DE10218091A DE10218091B4 (de) 2001-11-15 2002-04-23 Vorrichtung zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen und Kommunikationsverfahren

Publications (2)

Publication Number Publication Date
DE10218091A1 DE10218091A1 (de) 2003-06-12
DE10218091B4 true DE10218091B4 (de) 2005-08-11

Family

ID=7705773

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10218091A Expired - Fee Related DE10218091B4 (de) 2001-11-15 2002-04-23 Vorrichtung zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen und Kommunikationsverfahren

Country Status (1)

Country Link
DE (1) DE10218091B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1598715A1 (de) 2004-05-18 2005-11-23 Siemens Aktiengesellschaft Verfahren zur Erfassung der Kommunikationslast eines Automatisierungssystems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0654740A1 (de) * 1993-11-22 1995-05-24 Siemens Aktiengesellschaft Bussteuerung

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0654740A1 (de) * 1993-11-22 1995-05-24 Siemens Aktiengesellschaft Bussteuerung

Also Published As

Publication number Publication date
DE10218091A1 (de) 2003-06-12

Similar Documents

Publication Publication Date Title
EP1309920B1 (de) Adressvergabeverfahren für mindestens einen neu an ein bussystem angeschlossenen busteilnehmer
EP0834102B1 (de) Steuergerät, insbesondere kraftfahrzeugsteuergerät
DE69921446T2 (de) Übertragungsstruktur für industrielle prozesssteuerungssysteme
DE19713240A1 (de) Verfahren zur automatischen Adressenvergabe in einem CAN-Netz
EP0597561B1 (de) Übertragungssystem zum Datenaustausch
DE60109060T2 (de) Interkommunikationsvorprozessor
DE19822543A1 (de) Verfahren zum Zuteilen von Aufträgen, Datenverarbeitssystem, Client-Datenbearbeitungsknoten und computerlesbares Speichermedium
DE19634492A1 (de) Verfahren zum optimierten Übertragen von ATM-Zellen über Verbindungsabschnitte
WO1999059055A1 (de) Verfahren zum a/d-wandeln analoger signale sowie entsprechende a/d-wandleranordnung
CH653783A5 (de) Steuereinrichtung, insbesondere fuer fernsprechvermittlungsanlagen.
DE10218091B4 (de) Vorrichtung zur Steuerung und/oder Überwachung einer Abwicklung von Kommunikationsaufträgen und Kommunikationsverfahren
EP0509114A1 (de) Verfahren zum Übertragen von Daten an mehrere Datenstationen
DE102009054904A1 (de) Verfahren zum Zuweisen einer Polling-Adresse an ein Feldgerät
EP0472775B1 (de) Programmgesteuerte Kommunikationsanlage bzw. Vermittlungseinrichtung
WO2000003325A2 (de) Can-modul
EP0764901B1 (de) Interruptbehandlungssystem eines Betriebssystems
EP1137997B1 (de) Multimaster-bussystem und verfahren zum betreiben desselben
EP1178632B1 (de) Zyklisches Busübertragungsverfahren
DE3325791C2 (de) Schaltungsanordnung für mit einer zentralen Steuereinrichtung zusammenarbeitende periphere Einheiten
EP4070530B1 (de) Verfahren zum zyklischen übertragen von daten zwischen kommunikationsteilnehmern auf einem datenübertragungskanal und datenübertragungssystem
DE3928481A1 (de) Prioritaetsorientiertes busvergabesystem
EP0619683B1 (de) Programmgesteuerte Kommunikationsanlage
EP1318630B1 (de) Matrizen zum Steuern der gerätespezifischen Geschwindigkeiten des Datentransfers auf einem Feldbus
WO2006114391A1 (de) Kommunikationssystem
DE2606295B2 (de) Anordnung zur Übertragung von Zeichen zwischen über einen Multiplexkanal ansteuerbaren peripheren Einheiten und einem Arbeitsspeicher eines Zentralprozessors

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20121101