Automatische Erkennung von Subroutinen durch Zeichenketten\nich arbeite an einem Programm, dass über das Internet kommuniziert. Die Clientsoftware soll aus Zeichenketten, die sie vom Host erhält Aktionen durchführen (wahrscheinlich ein einer Subroutine). Mir geht es nur um das umwandeln der Zeichenkette in eine Aktion. Bis jetzt habe ich das mir einer Select-Case-Struktur gelöst. Das funktioniert gut, ist aber umständlich erweiterbar. Es wäre von großem Vorteil, wenn die Subs, die Ausgeführt werden in einer externen Datei gelagert sind (zum Beispiel vielleicht eine Klassenbibliothek) und dass dann das Programm sich die entsprechende Subroutine sucht und ausführt. Wie kann man das lösen?\nTut mir leid, mir ist auf die Schnelle kein passender Titel eingefallen.\nFreitag, 15. Februar 2013 12:55\nauch wenn ich es nicht für einen wirklich geeigneten Weg halte, wäre Reflection evtl. was für dich.\nFreitag, 15. Februar 2013 13:08\nwie wäre denn der geeignete Weg? Vielleicht muss ich ja an der Grundüberlegung noch etwas feilen.\nFreitag, 15. Februar 2013 18:32\nAufruf von Methoden per Index\nHabe mich mal mit beschäftigt, aber wieder verworfen.\nFreitag, 15. Februar 2013 21:22\nerstmal danke für die Antworten. Um meine Frage etwas allgemeiner, aber deutlicher zu machen: Ich möchte mein Programm so gestalten, dass es von außen, also nicht innerhalb der .exe leicht erweiterbar ist. Ich weiß nicht wie das normalerweise bei erweiterbaren Programmen ist, vielleicht kann mir ja jemand etwas genaueres sagen.\nSonntag, 17. Februar 2013 12:32\nda gibt es generell zwei Wege:\nDirekt über .NET Erweiterungen wofür sich z. B. das Managed Extensibility Framework (MEF).\nDabei müssen die (anderen) Programmierer .NET Assemblies bereitstellen, die dann von Deinem Programm genutzt werden.\nEine andere wäre das Nutzen einer Skriptsprache; für .NET wäre eine Möglichkeit Iron-Phyton, eine andere PowerShell.\nNur sind beide Wege durchaus anspruchsvoll - noch mehr als das, was ich Ellen vorgeschlagen hatte (und wohl nicht ganz umsetzbar war).\nWenn Du es etwas kleiner möchtest (vermutlich), wäre es hilfreich, wenn Du konkreter beschreibst, was Deine Erweiterungen leisten sollen - aber etwas konkreter als Select-Case-Struktur gelöst ;)\nBearbeitet Elmar BoyeEditor Sonntag, 17. Februar 2013 17:41\nSonntag, 17. Februar 2013 17:40\nmeine Frage basiert auf dieser Diskussion. Der Client bzw. Host soll die Nachricht, die er über das Internet erhält weiterverarbeiten.\nEs gibt verschiedene Kommandos, die mit den Nachrichten versendet werden können. In der Erweiterung sollen also die "Übersetzungen" der Kommandos verarbeitet und ausgeführt werden.\nEin Beispiel: Die Nachricht, die empfangen wird ist 'down'. Die Software sucht die entsprechende Subroutine mit dem Namen 'down'. In dieser Sub steht, dass das Fenster jetzt geschlossen werden soll.\nFalls ich mich jetzt ein bisschen schwammig ausgedrückt haben sollte, bitte melden.\nWenn man eine Skriptsprache verwendet, kann man die dann auch in ein "normales" Programm einbinden. Ich interessiere mich nämlich schon seit längerem für PowerShell, habe mich bis jetzt aber noch nicht eingearbeitet.\nMontag, 18. Februar 2013 15:46\nso wie ich es verstehe geht es um den dynamischen Aufruf von Methoden anhand von Strings.\nWenn Methoden dazu kommen oder sich der Name ändert soll der aufrufende Code nicht geändert werden.\nIm folgenden Beispiel ist eine Solution mit einem Windows Forms Projekt und eine Class Library (ClassLibrary1). Das Windows Forms Projekt hat eine Referenz auf die ClassLibrary1\nmit CopyLocal True, so dass sich die CassLibrary1.dll im Anwendungsverzeichnis befindet.\nIn clsDynamicClasses.MethodInvoke ist auch gezeigt wie Parameter an die dynamisch aufgerufene Methode übergeben werden können.\n' Die Methode mit dem Namen Hello1 gibt eine Message Box mit dem Text "Hello 1" aus.\n' Die Methode mit dem Namen Hello2 gibt eine Message Box mit dem Text "Hello 2" aus.\nPublic Class clsDynamicClasses\nPublic Shared Function CreateObject(ByVal pstrAssemblyName As String, _\nByVal pstrNamespace As String, _\nByVal pstrClsName As String, _\nByRef pobjObject_Out As Object) As Boolean\nDim blnProcRCOK As Boolean = False\nDim exProcEx As Exception\nDim strProcExRemark As String = ""\nDim ObjMethodTyp As Type\n' Erst wenn die Methode benötig wird, wird die Assembly geladen.\nstrProcExRemark = "Error with Assembly " & vbCrLf & pstrAssemblyName\nDim asmsloaded() As System.Reflection.Assembly = _\nDim asmloaded As System.Reflection.Assembly\nFor Each asmloaded In asmsloaded\n' Aus einem Forum:\n' The problem is that you can actually load an assembly multiple times.\n' Most of the time assemblies are loaded using Assembly.Load()\n' which will load an assembly only once. However if you call Assembly.LoadFile()\n' then you can\n' load the same assembly from different paths at the same time.\n' Needless to say this can cause problems. Assembly.LoadFrom()\n' can also be used but it can cause similar problems.\nIf asmloaded.FullName.StartsWith(pstrAssemblyName) Then\nasm = asmloaded\nasm = System.Reflection.Assembly.Load(pstrAssemblyName)\n' Vor der Benutzung eines Objekts prüfen ob es nicht Nothing ist.\nThrow New ApplicationException("Assembly.Load Method Returned Nothing. Maybe Assembly does not exist.")\nstrProcExRemark = "Error with Method " & vbCrLf & pstrNamespace & "." & pstrClsName\nObjMethodTyp = asm.GetType(pstrNamespace & "." & pstrClsName, True, True)\npobjObject_Out = Activator.CreateInstance(ObjMethodTyp)\nstrProcExRemark = ""\nblnProcRCOK = True\nblnProcRCOK = False\nexProcEx = ex\nIf blnProcRCOK Then\npobjObject_Out = Nothing\nPublic Shared Function MethodInvoke(ByVal pobjObject As Object, _\nByVal pstrMethodName As String, _\nByVal ParamArray pobjMethod_Pars() _\nAs Object) As Boolean\nDim typMethod As System.Reflection.MethodInfo\nObjMethodTyp = pobjObject.GetType\nstrProcExRemark = "Error with Method " & vbCrLf & pstrMethodName & "."\ntypMethod = ObjMethodTyp.GetMethod(pstrMethodName)\nIf typMethod Is Nothing Then\nThrow New ApplicationException("ObjMethodTyp.GetMethod Returned Nothing. Maybe Method does not exist: " & _\n' Der eigentliche Prozeduraufruf.\nblnOK = CBool(typMethod.Invoke(pobjObject, pobjMethod_Pars))\nDim exToHandle As System.Exception\nIf TypeOf ex Is System.Reflection.TargetInvocationException Then\n' The exception that is thrown by methods invoked through reflection.\n' This class cannot be inherited.\nexToHandle = ex.InnerException\nexToHandle = ex\nexProcEx = New Exception(strProcExRemark & vbCrLf & exToHandle.Message)\n' Ausstehende Ereignisse durchführen lassen.\nIf Not blnProcRCOK Then\nDas ClassLiberary1 Class Library Projekt enthält folgende Klasse:\nPublic Sub Hello1()\nPublic Sub Hello2()\nBearbeitet Markus222 Montag, 18. Februar 2013 20:55\nMontag, 18. Februar 2013 20:54\nWenn du nicht ganz so tief in .NET eindringen willst, und die Subs wirklich nur "Aktionen" machen, aber nichts zurückgeben sollen (also die Interaktion zwischen deinen Subs und dem Hauptprogramm maximal darin besteht, einen Übergabeparameter zu bekommen), dann könnte man das auch einfacher lösen, indem man kleine Programme statt Subs schreibt und den Command-String ausliest. Den Namen deiner EXE kannst du dann in eine Datei schreiben, zusammen mit dem String, der sie auslöst. In deinem Hauptprogramm sollte dann eine Abfrage pauschal alle Paare von Strings und Programmnamen durchlaufen, um zu schauen welcher passt. Das ist dann auch von außen erweiterbar, und es können jederzeit neue Strings und auch neue Programme zugefügt werden, vorausgesetzt sie verarbeiten die Commandline.\nKommt halt darauf an, wie komplex die beiden Teile (Sub und Hauptprogramm) zusammenarbeiten sollen ...\nDienstag, 19. Februar 2013 12:55\ndanke für die Antwort, aber ich glaube in meinem Programm kann ich das nicht verwenden, da diese Aktionen Zugriff auf das Programmgeschehen brauchen.\nvielen Dank für deine Antwort. Ich habe das jetzt mal alles kopiert und es funktioniert genau wie ich es haben möchte! Ich versuche gerade noch den Code zu verstehen und melde mich wieder, wenn ich dazu Fragen habe.\nBearbeitet Bolzen Dienstag, 19. Februar 2013 16:51\nDienstag, 19. Februar 2013 16:50\nHallo, jetzt habe ich dann mal eine Frage.\nWie lässt sich der Code von Markus in WPF übertragen. Ich brauche nur eine "Übersetzung" für 'System.Windows.Forms.Application.DoEvents()' , weil (VS): "Forms" ist kein Member von "Windows".\nSonst habt ihr mir aber schon um einiges weitergeholfen, danke.\nMittwoch, 20. Februar 2013 17:36\nApplication.DoEvents gibt es in WPF nicht - und gibt dort wenig Sinn, da es für die Windows Meldungsschleife ausgelegt ist, die in WPF nur eine geringe Bedeutung hat.\nVerwende anstattdessen den WPF Dispatcher Mechanismus.\nMehr dazu: Erstellen reaktionsfähigerer Anwendungen mit dem Dispatcher\nDen kann man auch ohne weitere Threads verwenden, in dem man Aufgaben mit niedriger Priorität (Background oder weniger) über BeginInvoke aufruft.\nMittwoch, 20. Februar 2013 18:34\ndas System.Windows.Forms.Application.DoEvents() kann man auch weglassen. Dürfte nichts ausmachen.\ndurch den hilfreichen Code von Markus habe ich jetzt eine Klasse mit Prozeduren, die eine MsgBox zeigen. Aber wie ändert man dann extern den Text einer TextBox oder die Position eines Image?\nDann habe ich noch eine Frage: Wie funktioniert das mit CopyLocalTrue ? Oder wie kann man eine ClassLibrary mithilfe eines Pfades aufrufen?\nBearbeitet Bolzen Sonntag, 24. Februar 2013 17:12\nSonntag, 24. Februar 2013 16:57\nein Schritt, aber da kommen dann noch einige mehr bis zu Ziel.\nWas den Zugriff auf Deine Bedienoberfläche angeht, wirst Du eine Schnittstelle definieren müssen, über die Deine externe Klassen zugreifen können. Direkt verdrahten sollte man das nicht, denn wird kannst man jede Änderung an etlichen Stellen vornehmen müssen.\nDie Schnittstelle sollte nicht direkt Steuerelemente veröffentlichen, sondern Methoden, die die Änderungen an der Oberfläche (und wo immer auch sonst noch) vornehmen.\nCopyLocal bestimmt, dass eine Assembly direkt ins Programm-Verzeichnis kopiert wird.\nFinden (irgendwo hinterlegen) und laden musst Du sie schon selbst via Assembly.Load bzw. indem man Activator.CreateInstance einen vollqualifizierten Namen übergibt.\nZusammengefasst bist Du am Ende dort was ich oben schon erwähnt hatte nämlich MEF.\nUnd ich würde Dir eher raten, Dich näher damit zu beschäftigen, denn das kann das alles. Markus Code wäre nur ein sehr schmaler Auschnitt von dem, was man braucht, um eine dauerhaft funktionierende Lösung zusammenzustellen.\nSonntag, 24. Februar 2013 17:54\nalso indem das man Parameter an die Methoden mitgibt. Oder Eigenschaften der Klasse vor Aufruf der Methode setzt die dann von der Methode ausgewertet werden.\nFalls es das nicht ist was du meinst wäre vielleicht ein konkretes Codebeispiel hilfreich in dem erläutert ist was du meinst.\nCopyLocal ist die Standardeinstellung wenn man in einer Solution mit mehreren Projekten eine Referenz von einem Projekt auf ein anderes setzt. In diesem Fall von der Windows Forms Anwendung auf das DLL Projekt ClassLibrary1. Die Dll Datei wird dann automatisch in das Anwendungsverzeichnis kopiert.\nÜber einen Pfad ginge mit Assembly.LoadFrom\nDim objClass1 As Object\nDim objClass1_A As ClassLibrary1.Class1\n' Das folgende Beispiel gibt Parameter an die Methode Hello2 mit.\n' Diese werden in der Methode verwendet.\nclsDynamicClasses.MethodInvoke(objClass1, "Hello2", "Das ist Parameter1", 2, Me)\n' Man kann es auch typsicher machen.\nobjClass1_A = DirectCast(objClass1, ClassLibrary1.Class1)\nobjClass1_A.Hello2("Par1", 1, Me)\n' Das folgende Beispiel setzt vor dem Methodenaufruf Properties der dynamisch erzeugten\nobjClass1_A.Text = "Guck Guck ..."\nDas ist der Code in ClassLibrary1.Class1:\nPublic Sub Hello2(ByVal par1 As String,\nByVal int1 As Integer,\nByVal pobj As Object)\nMsgBox(par1 & vbCrLf & int1.ToString & vbCrLf & pobj.ToString)\nPublic Sub Hello3()\nBearbeitet Markus222 Sonntag, 24. Februar 2013 19:52\nSonntag, 24. Februar 2013 19:48\nDer Code hat einen entscheidenden Schönheitsfehler, da ClassLibrary1.Class1 im Code referenziert wird, wird die über die Verweise eingebundene Assembly verwendet. Und man könnte sich den Rest sparen.\nUm eine solche Abhängigkeit zu vermeiden braucht man eine Schnittstellen-Assembly, die sowohl vom Programm wie von der unabhängigen (Plugin-)Assembly verwendet wird.\nEin Beispiel A Simple Plug-In Library For .NET\nund einige mehr http://www.codeproject.com/KB/macros/#Add-ins%2fPlug-ins\nAuch ansonsten gilt: Vorsicht mit Assembly.LoadFrom, siehe\nSuzanne Cooks Klassiker: Choosing a Binding Context\nund Best Practices für das Laden von Assemblys\n(was den ersten Artikel etwas aktualisiert)\nSonntag, 24. Februar 2013 21:12\n> Der Code hat einen entscheidenden Schönheitsfehler,\n> da ClassLibrary1.Class1 im Code referenziert\n> wird, wird die über die Verweise eingebundene Assembly verwendet.\n> Und man könnte sich den Rest sparen.\nHm, ich weiss nicht. Es ging ja um den Aufruf von Methoden mittels Strings.\nMan könnte ja Hello3 im obigen Beispiel auch so aufrufen.\nDim strMethodName as String\nDie Variable wird nun auf irgendeine Weise gefüllt.\nDas Properties der Klasse über eine Objektvariable von deren Typ gesetzt werden halte ich für\nlegitim. Dann sind eben alle in Frage kommenden Methoden in dieser Klasse.\nIm übrigen gibt es halt die Möglichkeit die Parameter zu übergeben. Man braucht dann so einen Verweis garnicht.\nMit LoadFrom habe ich keine Erfahrung. Der im Beispiel verwendete Load funktioniert sehr gut.\nWenn man ohne Referenz arbeiten möchte kann man auch die Assembly per Hand in das Anwendungsverzeichnis kopieren.\nBearbeitet Markus222 Sonntag, 24. Februar 2013 21:58\nSonntag, 24. Februar 2013 21:58\nVerzichtet man auf die konkrete Typen (alles als Object) landest Du bei später Bindung.\nDie Aussage "Methoden mittels Strings" von Bolzen sollte man nicht zu wörtlich interpretieren.\nDamit der Zugriff einen Nutzen hat, braucht man immer auch Daten. Die wiederum befinden sich in Klassen und deren konkrete Inkarnation ist eine Instanz. Worauf wiederum die Methoden auf die eine oder andere Weise Zugriff erlangen müssen.\nUnd Möglichkeiten wären Schnittstellen oder Serialisierung (JSON/Xml).\nKurz: Es ist nicht so ganz einfach, unabhängige Dinge miteinander zu verknüpfen. Und zuerst weniger eine Programmier- als eine Verständnisaufgabe.\nMontag, 25. Februar 2013 09:28\nja das stimmt. Es kommt halt darauf an ob es wirklich sinnvoll ist. Daten kann man dann per Parameter oder besser Parameterobjekten an die aufgerufene Methode übergeben.\nMan definiert eine Basisklasse XYZ-Parameter und leitet davon je nach Verwendungszweck verschiedene Parameterklassen ab. So befinden sich die Daten ebenfalls in Klasseninstanzen die als Parameter übergeben werden und die aufgerufene Methode hat Zugriff darauf.\nWie gesagt, ich denke so etwas lässt sich auch einfach lösen. Nur ist die Frage ob es wirklich den Aufwand lohnt und Sinn macht.


Stripper Much - Strip Agentur Mirage\nEinen Stripper der Spitzenklasse aus Much buchen - Unsere Stripper Much sind die beste Überraschung für ihr Junggesellinnenabschied, Firmenfeier oder Geburtstag. Unsere Stripper verzaubern Ihr Publikum mit einer professionellen Stripshow auf höchstem Niveau. Wir unterstützen Sie bei der Planung, Organisation und Durchführung ihres Events. Mit Stripper Much können Sie sicher sein, dass es auf Ihrer Veranstaltung einfach die beste Stimmung wird! Polizei Stripshow, Gentleman Stripshow oder Stripper als Bauarbeiter - gerne beraten wir sie.\nStripper Much finden\nWäre es nicht zauberhaft einen hervorragenden Stripper direkt in Much - natürlich aber auch rund um Much ganz schnell und einfach zu finden? Einen Stripper, über den Sie sich ein Bild machen können, bevor Sie ihn für eine Menstrip Show buchen.\nDann sagen wir Herzlich Willkommen bei Ihrem Stripper Much und Künstler Agentur Strip Agentur Mirage, Ihr Ansprechpartner für Stripper in ganz Much günstig buchen. Hier bei Strip Agentur Mirage haben Sie die Möglichkeit schnell für Ihr Event geeigneten Stripper zu finden.\nMenstrip Show Much\nUnsere Stripper aus Much präsentieren sich charmant und sympathisch. Sie erleben eine Striptease Show Darbietung, die Sie fesseln und mitreißen wird. Stripper Much weiß es, auf sein Publikum einzugehen und ist jeder Situation gewaschen. Profitieren Sie von jahrelanger Erfahrung unserer Künstler als professioneller Stripper.\nEine genaue Planung und Abstimmung mit dem Stripper Much sind sehr wichtig und genau dafür stehen wir Ihnen bis nach Ihrer Veranstaltung zur Verfügung. Wir beraten Sie bzgl. der Einsatzzeit, der Auswahl Menstrip Show und der Verfügbarkeit.\nSie suchen einen Stripper in Much?\nPlanen Sie eine Veranstaltung in Much und Sie suchen noch nach einem Highlight für Ihre Gäste? Möchten Sie, dass Ihr Event noch lang in guter Erinnerung bleibt? Dabei kann Sie Stripper Much behilflich sein. Erfahren Sie alles über unseren Strip-Service, Angebote und Leistungen. Nehmen Sie sich Zeit bei der Auswahl des richtigen Strippers. Er sollte zu Ihrem Event passen und mit seiner Strip Show für Begeisterung sorgen.\nStripper in Much buchen\nFür Ihre Geburtstagsfeier, Junggesellinnenabschied oder jede andere Veranstaltung können Sie mit einer Striptease Show der besonderen Art rechnen. Seien Sie sicher, Ihre Gäste werden dem Stripper Much erliegen und sich von seiner magischen und kunstvollen Strip-Show in den Bann ziehen und begeistern lassen. Sie können den Stripper auch als Polizist oder US Cop buchen. Der Stripper Much ist auch kurzfristig für Sie im Einsatz. Sollten Sie Fragen haben, dann rufen Sie einfach an oder schreiben Sie eine Mail.


193,6 km (2017)\n634 km (1930)\n425 km (2017)\n600 V = Oberleitung\n300 km (2018)\n19,0 km/h (2017)\n105 GT6N, 45 GT6N-ZR,\n204 Flexity Berlin\n575,6 Mio. Pkm (2015)dep1\nDie Berliner Straßenbahn ist eines der ältesten und das drittgrößte Straßenbahnnetz der Welt (Stand: 2017), nach denen in Melbourne und Sankt Petersburg. Betreiber sind die 1929 gegründeten Berliner Verkehrsbetriebe (BVG). Das normalspurige Netz hat eine Streckenlänge von 193,6 Kilometern und 808 Richtungshaltestellen. Die Fahrdrahtspannung der Oberleitung beträgt derzeit noch 600 V, wobei eine Umstellung auf 750 V diskutiert wird. 22 Linien bilden ein Liniennetz von rund 300 Kilometern. 2018 beförderte die Berliner Straßenbahn 204 Millionen Fahrgäste.\nIn Berlin gab es seit 1865 eine Pferdebahn. Bis Ende des 19. Jahrhunderts wurde das Netz auf elektrischen Betrieb umgestellt. Mit der Teilung der Stadt wurde die BVG in einen westlichen und einen östlichen Betrieb gespalten, die 1992 wieder vereinigt wurden. Bis 1967 wurden alle Straßenbahnlinien in West-Berlin stillgelegt. Nach der deutschen Wiedervereinigung gab es einige Streckenneubauten, die zum Teil auch in den ehemaligen Westteil der Stadt führen, weitere sind zudem geplant. Gleichwohl verkehrt die Straßenbahn weiterhin vorwiegend im ehemaligen Ostteil der Stadt.\n2.2 Nummernschema seit den 2000er Jahren\n3.2.7 Gleisbauhof Kniprodestraße\n3.2.8 Betriebshof Adlershof\n4 Pläne für Stilllegungen\n5 Pläne für Neubaustrecken\n8 Ausstellung historischer Fahrzeuge\nAm 22. Juni 1865 nahm die Berliner Pferde-Eisenbahn-Gesellschaft E. Besckow in Berlin die erste deutsche Pferdestraßenbahnlinie in Betrieb. Sie führte vom Brandenburger Tor über die Charlottenburger Chaussee (jetzt: Straße des 17. Juni) nach Charlottenburg. Sie wurde am 28. August über die Dorotheenstraße zum Kupfergraben an der heutigen Museumsinsel verlängert. Die Endstelle ist immer noch in Betrieb.\nAm 16. Mai 1881 eröffnete Werner Siemens in der damaligen Gemeinde Groß-Lichterfelde die erste elektrische Straßenbahnlinie der Welt.\nInfolge der Inflation wurden am 8. September 1923 alle Berliner Straßenbahnlinien eingestellt. Am folgenden Tag fuhren in Berlin, mit Ausnahme der Flachbahn und Schmöckwitz–Grünauer Uferbahn, keine Straßenbahnen. Am 10. September 1923 wurde der Verkehr auf einem Rumpfnetz mit 32 Linien wieder aufgenommen und in den folgenden Jahren ausgebaut.\nAm Gründungstag der BVG betrieb diese 89 Straßenbahnlinien und ein Netz mit 634 Kilometern Streckenlänge, besaß 4000 Straßenbahnfahrzeuge und beschäftigte 14 400 Personen allein bei der Straßenbahn. Die Straßenbahn leistete pro Jahr 170 Millionen Wagenkilometer. Im Jahr 1929 beförderte die Straßenbahn 929 Millionen Fahrgäste; Ende desselben Jahres gab es 93 Straßenbahnlinien.\nDurch Luftangriffe des Zweiten Weltkriegs, Personal- und Strommangel gingen die Fahrleistungen der Straßenbahn ab März 1943 immer weiter zurück, bis der Betrieb am 23. April 1945 völlig zusammenbrach. Trotz immenser Zerstörungen fuhren am 20. Mai 1945 wieder Straßenbahnzüge in den Berliner Außenbezirken. Bis Ende 1945 konnten 328 Kilometer Straßenbahnstrecke wieder befahren werden.\nWährend die BVG-West aufgrund gesetzlicher Vorschriften ausschließlich männliche Straßenbahnfahrer beschäftigte, wurden im Ostteil der Stadt auch weibliche Kollegen eingesetzt. Als mit Straßenbahnfahrerinnen besetzte Züge an der Sektorengrenze an der Weiterfahrt gehindert wurden, kam es am 15. Januar 1953 zur Unterbrechung der sektorengrenzenüberschreitenden Straßenbahnlinien. Die Fahrgäste mussten an der Sektorengrenze in einen Zug der jeweils anderen Verwaltung mit derselben Liniennummer umsteigen. Eine historische Übersicht geben die Berliner Verkehrsseiten. Die Züge der S- und U-Bahn verkehrten hingegen noch bis zum 13. August 1961 durchgehend über die Sektorengrenzen hinweg.\nRillenschiene der Berliner Verkehrsbetriebe in West-Berlin\nAm 2. Oktober 1967 wurde in West-Berlin die letzte Straßenbahnlinie 55, die vom Bahnhof Zoo über Ernst-Reuter-Platz – Rathaus Charlottenburg – S-Bahnhof Jungfernheide – Siemensdamm – Nonnendammallee – Falkenseer Platz – Neuendorfer Allee bis nach Hakenfelde führte, stillgelegt. Erst 1984 wurde dieser Streckenabschnitt mit der Erweiterung der U-Bahn-Linie U7 wieder schienengebunden bedient. Bereits ab 1978 (bis 1991) pendelte ein Straßenbahnwagen vom Typ TM 33 als Nostalgiefahrzeug auf dem damals stillgelegten Hochbahnabschnitt zwischen den U-Bahnhöfen Nollendorfplatz und Bülowstraße.\nEs gab Überlegungen, die nach Pankow verkehrenden Straßenbahnlinien stillzulegen, da einerseits die Straßenbahnzüge in der Schönhauser Allee parallel zur U-Bahn-Linie U2 fahren und andererseits der Streckenast nach Rosenthal nicht ausgelastet sei. Dies war allerdings nicht durchzusetzen, und so präsentierte bald darauf der Senator für Verkehr Herwig Haase Pläne für die Reaktivierung der Straßenbahn in den westlichen Bezirken.\nAm 4. September 2011 wurde die anderthalb Kilometer lange Neubaustrecke Straßenbahn Adlershof–Schöneweide vom S-Bahnhof Adlershof durch den Wissenschafts- und Wirtschaftsstandort Adlershof zum vorläufigen Endpunkt Karl-Ziegler-Straße am Campus Adlershof der Humboldt-Universität in Betrieb genommen. Die Strecke mit drei neu errichteten Haltestellen kostete 13 Millionen Euro und wurde zunächst von den Linien 60 und 61 im überlagernden Zehnminutentakt bedient. Seit dem 13. Dezember 2015 verkehrt die Linie 63 anstelle der Linie 60 zur Karl-Ziegler-Straße. Ursprünglich sollte die Verbindung bereits 1999 fertiggestellt sein. Das Planfeststellungsverfahren war allerdings erst 2002 abgeschlossen. Kurz bevor der Planfeststellungsbeschluss nach fünf Jahren ungültig geworden wäre, wurde dem Projekt am 9. August 2007 zugestimmt und kurz darauf erste Masten für die Oberleitung aufgestellt. Es werden 9000 Fahrgäste pro Werktag erwartet.\nDer geplante Eröffnungstermin war bereits mehrfach verschoben worden. Ursprünglich war eine Inbetriebnahme 2002 geplant. Diese Planung wurde jedoch vom Verwaltungsgericht bemängelt und daher 2004 abgebrochen und überarbeitet. Allerdings waren die ersten 80 Meter Gleis bereits beim Bau des Hauptbahnhofs und des Tiergartentunnels miterrichtet worden.\nIm Zuge der Arbeiten an der Neubaustrecke wurde der Streckenast durch die Chausseestraße in die Schwartzkopffstraße und Pflugstraße am 26. August 2013 dauerhaft stillgelegt. Die Inbetriebnahme der Neubaustrecke erfolgte zunächst nur mit der Linie M5. Mit der Wiederherstellung der Verbindung vom Nordbahnhof zum U-Bahnhof Naturkundemuseum konnte die Neubaustrecke ab 28. August 2015 auch von den Linien M8 und M10 befahren werden.\nNach der Neukonzeption des Liniennetzes zum 12. Dezember 2004 gibt es in Berlin 22 Straßenbahnlinien. Das Netz wird in neun MetroTram- und 13 Straßenbahnlinien unterteilt. MetroTram-Linien bilden zusammen mit MetroBus-Linien das Metronetz. Dies ist ein in Ergänzung zum S- und U-Bahn-Netz eingeführtes Angebot von Straßenbahnen und Bussen, die wichtige Achsen befahren, die von der S- und U-Bahn nicht bedient werden. MetroTram-Linien fahren in der Regel 24 Stunden täglich, sieben Tage in der Woche, tagsüber mindestens im Zehnminutentakt und nachts mindestens alle 30 Minuten, einige Linien allerdings auf verkürzter Strecke. Die übrigen Straßenbahnlinien bedienen vor allem die Randbereiche der Stadt und verkehren meist im Zwanzigminutentakt bis maximal 1 Uhr nachts.\nDie ersten Pferdebahnlinien verzichteten auf eine besondere Kennzeichnung, da sie radial von den jeweiligen Endpunkten im Zentrum abgingen und somit nur wenige Berührungspunkte mit anderen Linien hatten. Erst mit der Ausdehnung des Netzes in die Innenstadt bestand die Notwendigkeit, die Linien voneinander zu unterscheiden. Die meisten deutschen Großstädte setzten daher ab den 1880er Jahren farbige Zielschilder oder Signaltafeln ein, teilweise beides zusammen. In Berlin waren diese stets in derselben Kombination gehalten. Als Kennfarben kamen Rot, Gelb, Grün und Weiß zur Anwendung, ab 1898 zusätzlich Blau. Die Tafeln waren ein- oder zweifarbig, letztere entweder halb/halb geteilt oder gedrittelt mit einem Strich in der zweiten Farbe. Die Anzahl der verwendeten Signaltafeln reichte jedoch nicht aus, um jede Linie mit einer eigenen Kennfarbe zu bestücken. Zudem sollten sich kreuzende oder nebeneinander verlaufende Linien mit unterschiedlichen Signaltafeln fahren. Dies führte dazu, dass einzelne Linien ihre Kennfarbe mehrmals im Laufe ihres Bestehens wechseln mussten. Infolge der Elektrifizierung sowie der Übernahme der Neuen Berliner Pferdebahn durch die Große Berliner Pferde-Eisenbahn/Große Berliner Straßenbahn (GBPfE/GBS) stieg deren Linienanzahl um die Jahrhundertwende schlagartig an. Mit Blick auf die Hamburger Straßenbahn, wo im Sommer 1900 erstmals im deutschsprachigen Raum Liniennummern eingeführt wurden, experimentierte die GBS ab 1901 ebenfalls mit den Nummern. In den Fahrplanheften dieser Zeit wurden die Linien zwar nummeriert, allerdings konnte sich deren Reihenfolge jährlich ändern. Das Nummerierungsschema sollte neben der GBS auch deren Nebenbahnen mit einbeziehen. Gleichzeitig sollten Buchstaben-Zahlen-Kombinationen, wie sie im Fahrplanheft vorkamen, vermieden werden.\nDas am 6. Mai 1902 eingeführte Schema war relativ simpel aufgebaut: Einstellige Nummern waren den Ringlinien vorbehalten, zweistellige für die übrigen Linien. Anfangs gab die Zehnerstelle Auskunft darüber, wo die Linie fuhr; so waren 10er Linien in Moabit anzutreffen, 60er Linien in Weißensee und 70er Linien in Lichtenberg. Die Linien der Westlichen Berliner Vorortbahn erhielten die Buchstaben ‚A‘ bis ‚M‘ zugeteilt, die der Berlin-Charlottenburger Straßenbahn die Buchstaben ‚N‘ bis ‚Z‘ und die Linien der Südlichen Berliner Vorortbahn wurden mit römischen Zahlen nummeriert. Die 1910 von der GBS übernommene Nordöstliche Berliner Vorortbahn erhielt 1913 die Linienbezeichnung ‚NO‘. Die farbigen Signaltafeln blieben parallel noch bis 1904 etwa erhalten; zudem erhielten die während dieser Zeit eingerichteten Linien noch farbige Signaltafeln mit neuen, teilweise sogar dreifarbigen Farbkombinationen.\nEinsetzer wurden ab März 1903 gesondert gekennzeichnet. Sie trugen hinter der Liniennummer ihrer Stammlinie den Buchstaben ‚E‘. In späteren Jahren übernahmen diese Linien vermehrt die Aufgaben von Verstärkerfahrten und wurden somit in den Fahrplänen als eigene Linien ausgewiesen. Am 15. April 1912 führte die GBS die erste Linie mit dreistelliger Nummer ein. Die 164 entstand durch Verlängerung der 64, die parallel dazu beibehalten wurde. In den folgenden Monaten wurden weitere Linien mit 100er Nummern versehen oder neu eingerichtet, meist als Linienpaar zur vorhandenen Linie.\nMit dem Zusammenschluss der meisten Betriebe zur Berliner Straßenbahn wurde das Nummerierungsschema der GBS auf das gesamte Netz ausgeweitet. Meist wurden jene Nummern vergeben, deren Linien im Verlauf des Ersten Weltkriegs eingestellt wurden. So kam es beispielsweise dazu, dass die in Köpenick verkehrenden Linien vorwiegend 80er Nummern erhielten. Buchstaben wurden noch bis 1924 für Straßenbahnlinien vergeben, danach waren diese den Autobuslinien mit Vororttarif vorbehalten.\nNach der Verwaltungstrennung der BVG änderte sich anfangs nur wenig am Linienschema. Straßenbahnlinien, die zwischen Ost- und West-Berlin fuhren, behielten ihre Nummer auch nach der Netztrennung im Januar 1953 bei. Infolge der Netzausdünnung verschwanden einzelne Liniennummern. Die BVG-West verzichtete ab dem 1. Juli 1966 auf das Präfix ‚A‘ bei den Omnibuslinien, die BVG-Ost ab dem 1. Januar 1968. Während im Westen der Straßenbahnverkehr 15 Monate darauf komplett eingestellt wurde, konnte der Fahrgast im Osten anhand der Liniennummer nicht erkennen, ob es sich um eine Straßenbahn- oder Buslinie handelte. Die Berliner Verkehrsbetriebe beabsichtigten daher in den 1970er Jahren eine Systematisierung ihres Liniennetzes. Die Innenstadtlinien der Straßenbahn sollten die Liniennummern von 1 bis 30 erhalten, die in Köpenick sollten ihre 80er Nummern beibehalten. Die übrigen Nummern waren für Buslinien vorgesehen. Nachtlinien erhielten ab 1973 einheitlich 100er Nummern, für die Straßenbahn waren anfangs nur die Nummern ab 120 vorgesehen. Die Umstellung der Tageslinien wurde nur teilweise vollzogen.\nNach der politischen Wende wurde in zwei Schritten ein einheitliches Nummerierungsschema eingeführt, das die Linien im Land Brandenburg mit einbezog. Die Berliner Straßenbahn erhielt den Liniennummernbereich von 1 bis 86 zugeteilt, daran anschließend folgten die Überlandbetriebe in Woltersdorf, Schöneiche und Strausberg mit den Nummern 87–89. Die Potsdamer Straßenbahn erhielt die 90er Liniennummern. E-Linien wurden nicht mehr gesondert im Fahrplan aufgeführt, die Verstärker fuhren bis 2004 aber weiterhin als solche. Nachtlinien wurden bei beiden Verkehrsmitteln durch ein vorangestelltes ‚N‘ ausgewiesen und die dreistelligen Liniennummern waren fortan für die Buslinien vorgesehen. Der ersten Umstellung vom 2. Juni 1991 folgten die Berliner Straßenbahnlinien am 23. Mai 1993. Das Liniennetz wurde neu geordnet und in fünf Nummernbereiche unterteilt. Wesentlicher Schwerpunkt war die Ausrichtung auf die historische Mitte. Einstellige Linien bildeten das Radial-Hauptnetz, 10er Linien deren Ergänzungsnetz. 20er Linien waren für die Ring- und Tangentiallinien vorgesehen. 50er Linien gab es im Bezirk Pankow, 60er Linien im Bezirk Köpenick analog zu den dort verkehrenden Buslinien.\nNummernschema seit den 2000er JahrenBearbeiten\nAm 12. Dezember 2004 führte die BVG das Verkehrskonzept BVG 2005 plus ein. Hauptinhalt war die Einführung von Metrolinien auf dicht befahrenen Routen, die keinen U- oder S-Bahn-Verkehr aufweisen. Im Straßenbahnnetz wurden daher neun MetroTram-Linien eingeführt und die übrigen Linien teilweise neu geordnet. Das Nummerierungsschema baut auf dem von 1993 auf, erfuhr aber geringfügige Anpassungen. MetroTram- und MetroBus-Linien tragen einheitlich ein ‚M‘ vor der Liniennummer.\nLinienübersicht, Stand: 31. Oktober 2021\nMitte, Am Kupfergraben – S+U Friedrichstraße – U Oranienburger Tor – S Oranienburger Straße – S Hackescher Markt – U Weinmeisterstraße – U Rosenthaler Platz – U Eberswalder Straße – S+U Schönhauser Allee – Schönhauser Allee/Bornholmer Straße – S+U Pankow – Pankow Kirche – Grabbeallee/Pastor-Niemöller-Platz – Niederschönhausen, Schillerstraße oder Rosenthal Nord 12,4 39\nS+U Alexanderplatz/Dircksenstraße – Mollstraße/Prenzlauer Allee – Prenzlauer Allee/Danziger Straße – S Prenzlauer Allee – Prenzlauer Allee/Ostseestraße – Am Steinberg – Heinersdorf 06,5 18\nS Hackescher Markt – S+U Alexanderplatz/Gontardstraße – Mollstraße/Otto-Braun-Straße – Greifswalder Straße/Danziger Straße – S Greifswalder Straße – Antonplatz – Buschallee/Hansastraße – Prerower Platz – Falkenberg oder Hohenschönhausen, Zingster Straße 11,4 29\nMoabit, Lüneburger Straße – S+U Hauptbahnhof – U Naturkundemuseum – U Oranienburger Tor – S Oranienburger Straße – S Hackescher Markt – S+U Alexanderplatz/Gontardstraße – Mollstraße/Otto-Braun-Straße – Landsberger Allee/Petersburger Straße – S Landsberger Allee – Hohenschönhauser Straße – Alt-Hohenschönhausen – Gehrenseestraße – Prerower Platz – Hohenschönhausen, Zingster Straße 17,2 38\nS Hackescher Markt – S+U Alexanderplatz/Gontardstraße – Mollstraße/Otto-Braun-Straße – Landsberger Allee/Petersburger Straße – S Landsberger Allee – Hohenschönhauser Straße – Landsberger Allee/Rhinstraße – S Marzahn – Jan-Petersen-Straße – U Hellersdorf – Hellersdorf, Riesaer Straße 19,2 39\nMoabit, Lüneburger Straße – S+U Hauptbahnhof – U Naturkundemuseum – S Nordbahnhof – U Rosenthaler Platz – U Rosa-Luxemburg-Platz – Mollstraße/Prenzlauer Allee – Mollstraße/Otto-Braun-Straße – Landsberger Allee/Petersburger Straße – S Landsberger Allee – Roederplatz – Herzbergstraße/Siegfriedstraße – Allee der Kosmonauten/Rhinstraße – S Springpfuhl – Jan-Petersen-Straße – Ahrensfelde/Stadtgrenze 20,8 40\nMoabit, Lüneburger Straße – S+U Hauptbahnhof – U Naturkundemuseum – S Nordbahnhof – U Bernauer Straße – Friedrich-Ludwig-Jahn-Sportpark – U Eberswalder Straße – Prenzlauer Allee/Danziger Straße – Greifswalder Straße/Danziger Straße – Landsberger Allee/Petersburger Straße – U Frankfurter Tor – S+U Warschauer Straße 10,6 27\nWedding, Virchow-Klinikum – U Seestraße – U Osloer Straße – S Bornholmer Straße – Schönhauser Allee/Bornholmer Straße – Prenzlauer Allee/Ostseestraße – Antonplatz – Hohenschönhauser Straße – Roederplatz – Loeperplatz – S+U Frankfurter Allee – S Warschauer Straße 17,1 39\nFalkenberg – Prerower Platz – Gehrenseestraße – Landsberger Allee/Rhinstraße – Allee der Kosmonauten/Rhinstraße – S Friedrichsfelde Ost – U Tierpark – S Karlshorst – Wilhelminenhofstraße/Edisonstraße – S Schöneweide – Landschaftspark Johannisthal – S Adlershof 19,8 41\nMitte, Am Kupfergraben – S+U Friedrichstraße – U Oranienburger Tor – U Naturkundemuseum – S Nordbahnhof – U Eberswalder Straße – Prenzlauer Allee/Ostseestraße – Antonplatz – Weißensee, Pasedagplatz 10,7 28\nS+U Frankfurter Allee – Loeperplatz – Roederplatz – Hohenschönhauser Straße – Landsberger Allee/Rhinstraße – S Marzahn – Ahrensfelde/Stadtgrenze 13,6 25\nS Springpfuhl – U Hellersdorf – Hellersdorf, Riesaer Straße 13,6 20\nS+U Lichtenberg/Gudrunstraße – Herzbergstraße/Siegfriedstraße – Loeperplatz – U Frankfurter Tor – Boxhagener Straße/Holteistraße – S Rummelsburg Treskowallee/Ehrlichstraße – Wilhelminenhofstraße/Edisonstraße – S Schöneweide 16,5 41\nKrankenhaus Köpenick/Südseite – Schloßplatz Köpenick – Bahnhofstraße/Lindenstraße – Wilhelminenhofstraße/Edisonstraße – S Karlshorst – U Tierpark – S Friedrichsfelde Ost – Allee der Kosmonauten/Rhinstraße – Landsberger Allee/Rhinstraße – Hauptstraße/Rhinstraße – Buschallee/Hansastraße – Weißensee, Pasedagplatz 20,7 45\nS+U Lichtenberg/Gudrunstraße – Herzbergstraße/Siegfriedstraße – Allee der Kosmonauten/Rhinstraße – S Friedrichsfelde Ost – U Tierpark – S Karlshorst – Wilhelminenhofstraße/Edisonstraße – S Schöneweide 11,3 23\nWedding, Virchow-Klinikum – U Seestraße – U Osloer Straße – S Bornholmer Straße – Schönhauser Allee/Bornholmer Straße – S+U Pankow – Pankow Kirche – S Pankow-Heinersdorf – Französisch Buchholz, Guyotstraße 14,4 32\nJohannisthal, Haeckelstraße – S Schöneweide – Wilhelminenhofstraße/Edisonstraße – Bahnhofstraße/Lindenstraße – S Friedrichshagen – Friedrichshagen, Altes Wasserwerk 14,7 35\nWilhelminenhofstraße/Edisonstraße – S Schöneweide – Landschaftspark Johannisthal – S Adlershof – S Spindlersfeld – Schloßplatz Köpenick – Bahnhofstraße/Lindenstraße – S Friedrichshagen – Rahnsdorf/Waldschänke 19,0 40\nWendenschloß – Schloßplatz Köpenick – Bahnhofstraße/Lindenstraße – S Köpenick – Mahlsdorf-Süd – S Mahlsdorf 12,2 31\nLandschaftspark Johannisthal – S Adlershof – S Spindlersfeld – Schloßplatz Köpenick – Bahnhofstraße/Lindenstraße – S Köpenick – Mahlsdorf-Süd – Mahlsdorf, Rahnsdorfer Straße 13,0 27\nKrankenhaus Köpenick, Südseite – Schloßplatz Köpenick – Bahnhofstraße/Lindenstraße – Wilhelminenhofstraße/Edisonstraße – S Schöneweide 08,1 19\nS Köpenick – Bahnhofstraße/Lindenstraße – Schloßplatz Köpenick – S Grünau – Alt-Schmöckwitz 14,5 27\nMitte, Am Kupfergraben – Grabbeallee/Pastor-Niemöller-Platz 7/8 10 30\nGrabbeallee/Pastor-Niemöller-Platz – Niederschönhausen, Schillerstraße 15 20 30\nGrabbeallee/Pastor-Niemöller-Platz – Rosenthal Nord 15 20 –\nHeinersdorf – Am Steinberg 20 -\nAm Steinberg – S+U Alexanderplatz/Dircksenstraße 5 6/7/7 10 30\nS Hackescher Markt – Prerower Platz 3/3/4A 1 5 6/7/7 30\nPrerower Platz – Falkenberg 6/7/7A 2 10 20 30\nPrerower Platz – Hohenschönhausen, Zingster Straße 6/7/7A 2 10 7/13 –\nS+U Hauptbahnhof – S Hackescher Markt 10 20 –\nS Hackescher Markt – Landsberger Allee/Petersburger Straße 10 20 30\nLandsberger Allee/Petersburger Straße – Hohenschönhausen, Zingster Straße 5 10 30\nS Hackescher Markt – Landsberger Allee/Petersburger Straße 10 20 –\nLandsberger Allee/Petersburger Straße – S Marzahn 3/7A 3 10 30\nS Marzahn – Hellersdorf, Riesaer Straße 10 30\nS+U Hauptbahnhof – Landsberger Allee/Petersburger Straße 10 20 –\nLandsberger Allee/Petersburger Straße – Ahrensfelde/Stadtgrenze 5 10 30\nS+U Hauptbahnhof – S+U Warschauer Straße 5 6/7/7 10 15\nWedding, Virchow-Klinikum – S+U Warschauer Straße 10 20 30\nFalkenberg – Hohenschönhausen, Gehrenseestraße 10 20 –\nHohenschönhausen, Gehrenseestraße – S Adlershof 10 20 30\nMitte, Am Kupfergraben – Weißensee, Pasedagplatz 10 20 –\nAhrensfelde/Stadtgrenze – S+U Frankfurter Allee 10 – 20 (Mo–Fr) –\nHellersdorf, Riesaer Straße – S Springpfuhl 10 20 – 20 (Mo–Fr) –\nS+U Lichtenberg – S Schöneweide 20 –\nWeißensee, Pasedagplatz – Krankenhaus Köpenick 20 –\nFranzösische Buchholz, Guyotstraße – Prenzlauer Berg, Björnsonstraße 10 20 –\nPrenzlauer Berg, Björnsonstraße – Wedding, Virchow-Klinikum 10 –\nJohannisthal, Haeckelstraße – Friedrichshagen, Am Wasserwerk 20 –\nWilhelminenhofstraße/Edisonstraße – S Adlershof 20 –\nS Adlershof – Rahnsdorf/Waldschänke 20 –\nWendenschloß – S Köpenick 10 20 –\nS Köpenick – S Mahlsdorf 20 –\nLandschaftspark Johannisthal – S Köpenick 20 –\nS Köpenick – Mahlsdorf, Rahnsdorfer Straße 20 –\nS Schöneweide – Freizeit- und Erholungszentrum 10 20 –\nFreizeit- und Erholungszentrum – Krankenhaus Köpenick 20 –\nS Köpenick – Alt-Schmöckwitz 20 –\nIm Nahverkehrsplan 2019–2023 des Senates von Berlin ist eine weitere Verdichtung des Taktes bis 2023 in der Hauptverkehrszeit vorgesehen. Darunter findet sich ein Dreiminutentakt auf der Linie M4 und ein Vierminutentakt auf den Linien M2, M5, M6, M8 und M10.\nDas Köpenicker Teilnetz im Südosten entstand als eigenständiges Netz der Städtischen Straßenbahn Cöpenick mit Mittelpunkt in der Köpenicker Altstadt. An den Außenästen der von hier ausgehenden Strecken schließen weitere, ehemals eigenständige Strecken an, die ebenfalls zum Teilnetz gezählt werden. Eine der beiden Verbindungen mit dem Kernnetz führt über die Straße An der Wuhlheide nach Oberschöneweide. Eine zweite Verbindung verläuft seit Ende Oktober 2021 von Schöneweide über Johannisthal nach Adlershof. Zudem ist eine weitere Verbindung von der Stichstrecke nach Mahlsdorf zum Neubaugebiet in Hellersdorf langfristig geplant. Im Gegensatz zum Pankower Teilnetz verkehrt der Großteil der Linien innerhalb von Köpenick, eine Radiallinie ins Stadtzentrum besteht seit 1969 nicht mehr. Fast alle hier verkehrenden Linien haben eine 60er Nummer.\nzwischen S-Bahnhof Adlershof und Marktplatz Adlershof (61, 63)\nzwischen Mahlsdorf-Süd und S-Bahnhof Mahlsdorf (62, 63)\nHaltestelle Hartlebenstraße (61) Gleisverschlingung, seit 2016 im Zuge des barrierefreien Ausbaus der Haltestelle\nHinzu kommen zwei Netzabschnitte, die 2012 bzw. 2016 aufgrund von Brückensanierungen von Gleisverschlingungen zu eingleisigen Abschnitten mit Weichen an beiden Enden umgebaut wurden:\nKarlshorster Straße zwischen den Haltestellen Marktstraße und S-Bahnhof Rummelsburg (21)\nauf der Bösebrücke (S-Bahnhof Bornholmer Straße; M13, 50)\nBis zum Jahr 2000 waren alle Endstellen im Netz mit einer Wendeschleife ausgestattet. Die letzte Stumpfendstelle – 1993 durch Stilllegung der Strecke nach Altglienicke vorübergehend entstanden – war 1995 am S-Bahnhof Adlershof beseitigt worden. Erst die Verlängerung der heutigen M10 zum S+U-Bahnhof Warschauer Straße machte den Bau einer Stumpfendstelle nötig, da der Platz für eine Schleife nicht ausreichte und außerdem damals der zügige Weiterbau zum Hermannplatz vorgesehen war. Von 2006 bis 2015 war die provisorische M10-Endhaltestelle S-Bahnhof Nordbahnhof ebenfalls stumpf. Die Haltestellen Marktstraße und S-Bahnhof Rummelsburg lassen sich seit 2012 von der Linie 21 provisorisch als Endstelle nutzen.\nSchließlich endet zudem ein Gleis der neuen M2-Trasse am S+U-Bahnhof Alexanderplatz/Dircksenstraße stumpf. Dort beginnen und enden die Züge der M2. Das nördliche Gleis der Straßenbahnhaltestelle S+U-Bahnhof Alexanderplatz/Dircksenstraße ist über eine in nordöstlicher Richtung führende Kurve mit der über den Alexanderplatz führenden Trasse (stadteinwärts) verbunden. Diese wird bei baustellenbedingten Umleitungen oder Störungen von den Zügen der Linien M4, M5 und M6 befahren. Seit 2012 werden beide Gleise dieser Endhaltestelle im Linienbetrieb der M2 genutzt, da vor allem im Tagesverkehr (6-/7-/7-Minuten-Takt) und insbesondere in den Hauptverkehrszeiten während des Fünfminutentaktes die alleinige Nutzung des Stumpfgleises zu Verspätungen auf der M2 und zu langen Wartezeiten des am Alexanderplatz endenden Zuges führten, wenn dieses Gleis noch belegt war.\nNachdem festgelegt wurde, dass die Hauptnutzung der Linie 18 als Zubringer zwischen dem Ortsteil Hellersdorf und den S-Bahn-Linien S7 und S75 am S-Bahnhof Springpfuhl erfolgt, beschloss man, am S-Bahnhof Springpfuhl eine Stumpfendstelle zu erbauen und dort alle Fahrten der Linie 18 enden zu lassen, nachdem die Linie vorher noch bis zur Haltestelle S+U Lichtenberg/Gudrunstraße fuhr. Ab dem Zeitpunkt der Verkürzung der Linie 18 zum S-Bahnhof Springpfuhl wurde die Linie 37 von der Endhaltestelle Betriebshof Lichtenberg zur vorherigen Endhaltestelle der Linie 18, S+U-Bahnhof Lichtenberg/Gudrunstraße, verlängert.\nAn der Haltestelle Freizeit- und Erholungszentrum wurde eine Stumpfendstelle erbaut, vorrangig um Verstärker während der Vorlesungszeiten der Hochschule für Technik und Wirtschaft auf der Linie 67 dort enden lassen zu können. Seit Juni 2021 enden hier zusätzlich Verstärker der Linie 27.\nDes Weiteren existiert seit 2009 in der Pappelallee ein Gleiswechsel. Er diente während der Bauarbeiten am Hochbahnviadukt der U2 als Stumpfendstelle für die Linie M1. Zwischen 2006 und 2015 diente ein Gleiswechsel am S-Bahnhof Nordbahnhof als provisorische M10-Endhaltestelle. Nach der 2015 erfolgten Wiederherstellung der Verbindung vom Nordbahnhof zum U-Bahnhof Naturkundemuseum blieb der Gleiswechsel nach einer baulichen Anpassung erhalten und steht weiterhin als Stumpfendstelle der Linie M10 zur Verfügung.\nMit Beginn erster Baumaßnahmen am Bahnhof Karlshorst wurde 2006 ein Gleiswechsel im Bereich der Tram-Haltestelle am S-Bahnhof eingebaut, dieser stand bis 2019 als provisorische Stumpfendstelle zur Verfügung. Nach einer Verschiebung befindet er sich seitdem an der Haltestelle Marksburgstraße, die während der Bauarbeiten zeitweise als Endhaltestelle genutzt wird. Seit Ende 2020 steht neu ein Gleiswechsel am S-Bahnhof Grünau sowie am Louise-Schroeder-Platz zur Verfügung.\nZur Versorgung mit Fahrstrom sind im Berliner Straßenbahnnetz insgesamt 453 Kilometer Fahrdraht installiert, dieser wird von etwa 7200 Fahrleitungsmasten und etwa 1000 Wandhalterungen getragen (Stand: 2017).\nDie Berliner Verkehrsbetriebe unterhalten fünf Betriebshöfe und einen Gleisbauhof. BVG-intern werden die Anlagen als Betriebsteil bezeichnet. Im Laufe der Geschichte gab es über 80 solcher Anlagen im Netz. Die Höfe wurden in der Regel an den äußeren Streckenenden errichtet. Das Bauland war in diesen Gegenden weitaus günstiger als in der Innenstadt und die morgens ausrückenden Wagen konnten auf der ersten Fahrt bereits Fahrgäste mitnehmen. Innerstädtische Betriebshöfe waren die Ausnahme und bedienten vor allem die Ringlinien.\nBei Einführung des elektrischen Betriebs wurden die meisten Höfe entsprechend hergerichtet. Ab 1899 begann die Große Berliner Straßenbahn mit dem Bau größerer Betriebshöfe, um die älteren und kleineren Anlagen zu ersetzen. Die neuen Höfe waren in der Regel für 200–300 Wagen ausgelegt. Der 1901 eröffnete Betriebshof Moabit war mit einer Kapazität von 325 Wagen seinerzeit der größte Straßenbahnhof Europas, der 1913 eröffnete Betriebshof Lichtenberg mit 540 Wagen sogar der größte weltweit.\nDie Berliner Straßenbahn setzte dieses Programm bis 1930 weiter fort. Einher kam der Bau von betriebseigenen Wohnungen im näheren Umfeld. Bei den neuerrichteten Höfen in der Müllerstraße im Wedding sowie in Charlottenburg entstanden so ganze Wohnblöcke, die das Depot umschlossen und mit ihm ein Ensemble bildeten. Verantwortlich für die Neu- und Ausbauten dieser Zeit war vor allem der Architekt Jean Krämer, der ähnlich wie Alfred Grenander für die U-Bahn als Hausarchitekt der Berliner Straßenbahn bezeichnet werden kann. Von den ehemals 38 Betriebshöfen, die 1919 im gesamten Netz bestanden, waren nach Abschluss der Arbeiten noch 18 in Betrieb, zuzüglich der beiden neu eröffneten. Danach setzte eine über mehrere Jahrzehnte andauernde Stagnation in puncto Neubau ein. Das Netz befand sich auf dem Höhepunkt seiner Entwicklung. Zu den nicht umgesetzten Vorhaben dieser Zeit zählte der Neubau der Hauptwerkstatt in Wittenau, es wurde lediglich das Hauptlager hierher verlegt.\nWährend des Zweiten Weltkriegs wurden mehrere Betriebshöfe in größerem Umfang beschädigt. Das Hauptlager Wittenau und die Höfe Spandau, Treptow und Kreuzbergstraße waren am stärksten von den Bombardements betroffen, letzterer ging nach Kriegsende nicht wieder in Betrieb. Die nach dem Krieg geschlossenen Höfe der BVG-West wurden in der Regel einer anderen Nutzung zugeführt, etwa als Omnibusbetriebshof oder Lagerstätte landeseigener Unternehmen. Da die Hauptwerkstatt ebenfalls im Westen lag, übernahm das Reichsbahnausbesserungswerk Berlin-Schöneweide deren Aufgaben für die Ost-Berliner Straßenbahn. Der jüngste Betriebshof in Marzahn entstand mit dem Streckenausbau im Rahmen des Tatra-Programms.\nIm Zusammenhang mit dem Bau von Neubaustrecken ist perspektivisch die Schaffung von drei neuen Betriebshöfen vorgesehen. Diese sollen in Adlershof, Pankow-Heinersdorf und im Entwicklungsgebiet Urban Tech Republic (ehemaliger Flughafen TXL) entstehen.\nDer Betriebshof Weißensee (Wei) an der Bernkasteler Straße unweit der Berliner Allee wurde 1912 als Bahnhof 22 der Großen Berliner Straßenbahn (GBS) eröffnet. Die Haupthalle bot Platz für etwa 200 Wagen mit elf Metern Länge. 1976 wurde das Gelände um eine elfgleisige Freiluftabstellanlage erweitert. Der Ausbau wurde nötig, da die neuen Wagen des Typs Tatra KT4D hier stationiert werden sollten. Das Depot beheimatet vorrangig die Fahrzeuge der Linien im Bezirk Pankow.\nDer Betriebshof Lichtenberg (Lich) wurde 1913 als Bahnhof 24 der GBS dem Verkehr übergeben. Er galt zum Zeitpunkt seiner Inbetriebnahme als der weltweit größte Straßenbahnhof. Die beiden Haupthallen fassten insgesamt 540 Wagen mit einer Länge von bis zu elf Metern. Später wurde das Gelände um einen Omnibusbetriebshof erweitert. Die Fahrzeuge der drei zwischen 1951 und 1973 verkehrenden Ost-Berliner O-Bus-Linien waren hier beheimatet. Neben den beiden insgesamt 26 Gleise umfassenden Haupthallen für Wartungs- und Reparaturarbeiten verfügt das Depot außerdem über eine 25-gleisige Freiluftabstellanlage sowie eine zweigleisige Wagenhalle für Arbeitsfahrzeuge. Letztere kamen bei der Erweiterung der Anlagen 1977 hinzu und befinden sich nördlich des Bushofs, der von den Gleisen quasi umschlossen wird.\nDer Betriebshof Nalepastraße (Na) in Oberschöneweide wurde als Betriebshof der Berliner Ostbahnen 1901 in Betrieb genommen, nach der Übernahme durch die GBS wurde er als Bahnhof 15 geführt. Neben den Straßenbahnfahrzeugen betrieben die Ostbahnen die Güterbahn Berlin-Oberschöneweide, die vom Betriebsbahnhof Rummelsburg aus kommend über die Nalepastraße die Industriezweige in Oberschöneweide belieferten. Da die Fahrzeuge anfangs noch von Bullen gezogen wurden, bürgerte sich schnell der Spitzname „Bullenbahn“ ein. Die Bezeichnung wurde später für die elektrischen Lokomotiven des Betriebs verwendet, entweder als „Großer Bulle“ (vierachsig) oder „Kleiner Bulle“ (zweiachsig). Die Fahrzeuge wurden zusammen auf dem Hof untergebracht. Dieser besteht aus zwei insgesamt acht Gleise fassenden Wagenhallen sowie einer fünfgleisigen Freiluftabstellanlage. Noch 1986 entstand vor dem Betriebshof eine Verbindung zwischen der Industriebahn und dem Straßenbahnnetz, die danach von den Straßenbahngüterzügen für den Altpapiertransport befahren wurde. Der Betriebshof wird fast ausschließlich zum Abstellen von ausgemusterten Wagen des Typs Tatra T6A2D gebraucht. Der Hof wird zusammen mit dem Köpenicker Betriebshof als Betriebsteil Südost geführt. Nachdem der Betriebshof zwischenzeitlich wieder reaktiviert werden musste, da aufgrund von Havarien in der Altstadt Köpenick in den Jahren 2007 und 2008 der Betriebshof Köpenick vom Netz fast vollständig getrennt war, werden seit 2015 wieder planmäßig einige Linienzüge abgestellt. Seit dem Jahr 2017 wird der Betriebshof auch zum Abstellen von Gelenkbussen verwendet, die auf der Linie 165 nur in den Stoßzeiten fahren (Schüler- und Berufsverkehr). Seit dem 1. November 2021 wird der Betriebshof zudem montags bis freitags als Wendemöglichkeit für die Linie 61 genutzt.\nDer Betriebshof Köpenick (Köp) in der Wendenschloßstraße wurde zusammen mit der ersten elektrischen Köpenicker Straßenbahnlinie (der heutigen Linie 62) im Jahr 1903 eröffnet. Später kam er als Bahnhof 26 zur GBS. Der Hof umfasst insgesamt zwei Wagenhallen mit insgesamt 18 Gleisen sowie eine viergleisige Freiluftabstellanlage. Es ist zudem der einzige Betriebshof, auf dessen Gelände sich keine Gleisschleife befindet, sodass die Züge auf der Wendenschloßstraße kehren müssen.\nDa der Betriebshof unter Denkmalschutz steht und für die in Zulauf befindlichen Niederflurfahrzeuge nicht geeignet ist, soll er Mitte bis Ende der 2020er Jahre aufgegeben werden. Das südliche Streckennetz der Straßenbahn soll dann vom neu zu errichtenden Betriebshof Adlershof bedient werden.\nDas Gleisbauhof Kniprodestraße schließt sich an die Gleisschleife im Prenzlauer Berg an und ist ein ehemaliger Betriebshof der SSB (Straßenbahnen der Stadt Berlin), der von 1908 bis 1923 bestand. Wegen Linienzusammenlegungen im Rahmen der Vereinigung der Berliner Straßenbahnbetriebe wurde er 1923 zum Gleisbauhof der Berliner Straßenbahn (BST) unter deren Dach bis zur Vereinigung zur BVG im Jahr 1929. Durch den Zweiten Weltkrieg wurde das Gelände teilweise beschädigt, eine umfassende Sanierung blieb allerdings in den darauffolgenden Jahren aus, sodass von dem eigentlichen Betriebshof kaum noch etwas zu sehen ist. Das Gelände dient als Gleislager und Stützpunkt für das Personal und den Fahrzeugpark – darin eingeschlossen ein selbstfahrender Schienenschleifzug – der Gleisinstandhaltung sowie dem Haltestellenservice der Straßenbahn.\nDa der Betriebshof Köpenick aufgegeben werden muss, ist ein neuer Betriebshof in Adlershof geplant. Bei dem Gelände handelt es sich um einen in den 1990er Jahren stillgelegten und von 2009 bis 2010 nahezu vollständig renaturierten Verlade- bzw. Güterbahnhof, der sich zwischen Bahnhof Adlershof und Köpenicker Straße befindet. Dieser liegt hinter der bestehenden Wendeschleife am Bahnhof, deren Zufahrt von der Rudower Chaussee durch ein vollständig zweigleisiges Dreieck ersetzt wird. Die Realisierung wurde auf den Zeitrahmen 2020–2025 vorgezogen. Der Bebauungsplan wurde im Januar 2020 ausgelegt. Der Baubeginn wird für 2022 erwartet, wobei die Abstellanlage bis 2025 in Betrieb gehen soll und die Werkstatthalle bis 2028 fertiggestellt sein soll.\nAuf dem etwa 52 000 m² großen Grundstück des ehemaligen Kohlebahnhofs sollen zwei Hallen und Nebengebäude entstehen. Die Abstellhalle soll eine Kapazität von mindestens 60 Zügen mit einer Länge von 40 m aufweisen. Sämtliche Fahrzeuge sollen innerhalb einer 250 m × 54 m großen Abstellhalle auf 14 Gleisen verteilt untergebracht werden. Die Werkstatthalle soll über zehn Arbeitsstationen auf fünf Gleisen verfügen. In der 148 m × 43 m großen Halle wird neben der Instandhaltung auch eine Waschanlage und die Graffitibeseitigung integriert. Im zweiten Stock der Werkstatthalle befinden sich Büros und Aufenthaltsräume. Die Zufahrt zum Gelände erfolgt von der Köpenicker Straße aus. Neben Parkplätzen und den Hallen werden eine Betriebshofsteuerung, ein Gleichrichterunterwerk und eine Freianlage mit einer Nebenbetriebszone errichtet.\nDie BVG hat das Ziel, in den kommenden Jahren das gesamte Straßenbahnnetz barrierefrei auszubauen. Neben neuen Mittelbahnsteigen werden an einigen straßenbündig verlaufenden Strecken Haltestellenkaps gebaut – bis Oktober 2015 gibt es 44 Kaps im Streckennetz. Dies ist Teil der Planung, dass der Berliner ÖPNV bis 2020 weitgehend barrierefrei ist. Das Straßenbahnnetz sollte ursprünglich ab Ende 2017 komplett barrierefrei zugänglich sein. Durch einen erweiterten Bedarf werden seit März 2018 aber wieder nicht stufenfrei zugängliche Tatratriebwagen planmäßig auf der Linie M17 eingesetzt. Durch den Abschluss der Bauarbeiten 2020 sowie den Zulauf von weiteren Triebwagen der Bauart Flexity Berlin ab Mitte 2020 wird der barrierefreie Sollzustand dann dauerhaft erreicht.[veraltet]\nDie Bahnsteige sind für eine Höhe von 220 mm über SOK ausgelegt. Für die Barrierefreiheit soll dies um maximal 30 mm nach oben oder unten abweichen, sowie ein Restspalt von maximal 50 mm gewährleistet sein.\nZusammen mit der Bevölkerungszahl Berlins wächst auch die Zahl der beförderten Fahrgäste seit Beginn der 2010er Jahre, so gibt es keine aktuellen Planungen für Streckenstilllegungen.\nBis 2006 gab es Überlegungen, Teile der Linien M1, M2, 12, 21, 27, 60, 61 und 68 stillzulegen, sobald die damals für unrentabel erachteten Streckenteile für einen weiteren Betrieb erneuert werden müssten. Diese wurden jedoch nicht realisiert, tatsächlich wurden inzwischen einige der genannten Strecken saniert, die Taktzeiten auf ihnen verdichtet, oder es existieren wie unten erwähnt sogar Pläne für Verlängerungen.\nDie rot-rot-grüne Koalition hatte in ihrem Koalitionsvertrag beschlossen, das Straßenbahnnetz deutlich auszubauen. Dabei wurde in groben Zügen auf Ausbaupläne des Vorgängersenates zurückgegriffen. Innerhalb der Legislaturperiode 2016–2021 sollten folgende Projekte realisiert werden:\nIm Zusammenhang mit dem Umbau des Bahnhofs Ostkreuz soll die Straßenbahnlinie 21 unmittelbar an diesen herangeführt werden. Schon in den Vorbereitungen für den Bebauungsplan am Ostkreuz (2004–2007) taucht die „Heranführung der Straßenbahn durch die Sonntagstraße zum Bahnhofsvorplatz“ auf. Erste Pläne beim Senat sind seit 2002 bekannt. Die ursprüngliche Trasse der Straßenbahn im Verlauf der Marktstraße/Boxhagener Straße führt in einem flachen Bogen nordöstlich am Ostkreuz vorbei. Ein Umsteigen zwischen der Straßenbahn und der S-Bahn erfordert einen ca. 500 m langen Fußweg. Zukünftig soll die Straßenbahn nach einer Trassenverlegung an einem neu zu bauenden Vorplatz im Nordwesten des Bahnhofs halten und über die Sonntagstraße und die Holteistraße zur Boxhagener Straße geführt werden. Der Streckenabschnitt Marktstraße–Boxhagener Straße (bis zur Kreuzung mit der Holteistraße) wird für den Straßenbahnverkehr aufgegeben. Ursprünglich stand auch eine Führung der 21 (neu) von der Sonntagstraße in die Wühlischstraße (Mitnutzung der bestehenden M13-Trasse) zur Warschauer Straße zur Diskussion. Sie hätte sich allerdings sehr nachteilig auf die verkehrliche Erschließung der Wohngebiete entlang der Boxhagener Straße ausgewirkt und wurde mittlerweile verworfen. In diesem Zusammenhang soll eine neue Linie 22 bis zur Kosanke-Siedlung eingerichtet werden. 2012 plante man noch mit einer Inbetriebnahme zeitgleich mit der Fertigstellung des Umbaus am Ostkreuz im Jahr 2016 oder 2017. Im Juni und Dezember 2013 erfolgte die förmliche Variantenfestlegung durch die Senatsverwaltung. Im September 2015 erfolgte die frühzeitigen Bürgerbeteiligung im Vorfeld des Planfeststellungsverfahrens Zu diesem Zeitpunkten waren die Vorplanungen für den Neubau bereits im Gange, 2017 sollten die Bauarbeiten beginnen. Die öffentliche Auslegung zur Planfeststellung erfolgte im Januar 2018. Dabei kam es zu über 1000 Einwendungen, sodass auch ein Termin zu Anfang 2021 nicht mehr als realistisch gesehen wurde. Anfang 2020 wurde eine Realisierung nicht vor 2022 erwartet. Als Kostenpunkt wurden 2018 etwa 12,6 Millionen Euro angegeben.\nDer Lückenschluss von der Endhaltestelle Karl-Ziegler-Straße (Linien 61 und 63) in Adlershof über den Groß-Berliner Damm zum S-Bahnhof Schöneweide sollte mit Fertigstellung des Umbaus am Bahnhof Schöneweide erfolgen. Im Mai 2012 wurden vertiefende Untersuchungen in Auftrag gegeben. Baulich ist der Groß-Berliner Damm für die Maßnahme bereits vorbereitet. 2018 begann das Genehmigungsverfahren zur Planfestellung. Die geplante Strecke „Adlershof II“ ist 2,7 Kilometer lang, und erreicht bei Kosten von 16,5 Millionen Euro einen Kosten-Nutzen-Faktor von 3,0, da man zahlreiche neue Betriebe entlang der Straße und des ehemaligen Rangierbahnhofs erwartet. Zudem ist hier der Neubau eines Unterwerkes vorgesehen. Bei Planfestellung 2019 könnte dann bereits der Leitungsbau begonnen werden. Der Oberbau sollte ab 2020 verlegt werden, sodass im günstigsten Falle die Strecke im Dezember des gleichen Jahres in Betrieb genommen werden könnte. Dabei wird mit der Verlängerung der M17 auch eine Metro-Linie fahren. Diese soll dann nach Umbau der Zufahrt bis zur Endstelle am S-Bahnhof Adlershof geführt werden. Der offizielle Baubeginn fand am 18. Mai 2020 statt, die Inbetriebnahme erfolgte am 30. Oktober 2021 – also bereits vor Beendigung des S-Bahnhof-Umbaus. Die Gesamtkosten werden von der BVG mit 40 Millionen Euro angegeben, einschließlich des Baus von fünf barrierefreien Haltestellenpaaren und der Verlegung der Endhaltestelle von der Karl-Ziegler-Straße in Adlershof zum S-Bahnhof Schöneweide.\nDie Verlängerung der Strecke vom Hauptbahnhof bis U-Bahnhof Turmstraße. Die Strecke soll über Rathenower Straße und Turmstraße führen. Das Planfeststellungsverfahren begann im November 2017, mit einem Baubeginn wird für Mitte 2021 gerechnet, mit einer möglichen Inbetriebnahme zum ersten Halbjahr 2023. Der Planfeststellungsbeschluss erfolgte im Januar 2021. Die Bauarbeiten begannen im Jahr 2021.\nDes Weiteren soll der Bau der folgenden Strecken bis zum Ende der Legislaturperiode im Jahr 2021 begonnen werden: Im Nahverkehrsplan vom 26. Februar 2019 sind die Streckenneubauten mit Zeitplan aufgelistet.\nDie oben erwähnte Strecke vom Hauptbahnhof zum U-Bahnhof Turmstraße soll über U-Bahnhof Mierendorffplatz zum S- und U-Bahnhof Jungfernheide verlängert werden. Im Sommer 2020 verlief die Vergabe der Planungsleistungen für den Abschnitt. Geplante Inbetriebnahme ist 2024.\nVerlegung der Endstelle am S-Bahnhof Mahlsdorf (Linie 62) von der Wendeschleife unter die Brücke in der Hönower Straße einschließlich zweigleisigem Ausbau der Strecke zwischen Alt-Mahlsdorf und S-Bahnhof Mahlsdorf für einen 10-Minuten-Takt. Der Lückenschluss zwischen S-Bahnhof Mahlsdorf und der Hellersdorfer Strecke (Linie M6 und 18) ist dabei nicht mehr vorgesehen. Nach früheren Planungen sollte die Linie 62 vom S-Bahnhof Mahlsdorf durch die Ridbacher Straße und die Nossener Straße zum U-Bahnhof Hellersdorf verlängert werden (Kosten: rund 28 Millionen Euro). Geplante Inbetriebnahme ist 2025. Unter Anwohnern der Strecke ist diese Planung umstritten.\nVom Alexanderplatz soll eine Strecke durch die Leipziger Straße über Potsdamer Platz, Kulturforum, Kleistpark zum Rathaus Steglitz führen. Bereits im Jahr 2000 wurden hierfür Gleise in der Leipziger Straße verlegt. Damals protestierten der hier ansässige Bundesrat und der DaimlerChrysler-Konzern gegen die Straßenbahn. Beide befürchteten erhebliche Verkehrsprobleme auf der stark belasteten Straße. Ursprünglich sollten die Bauarbeiten 2008 begonnen werden. Im Sommer 2020 waren die Vorplanungen für den Abschnitt Alexanderplatz–Potsdamer Platz in Arbeit. Es werden Baukosten in Höhe von etwa 45 Millionen Euro erwartet, die BVG rechnet mit etwa 50.000 Fahrgästen pro Tag auf der neuen Strecke. Geplante Inbetriebnahme ist 2026/2027.\nEine neue Strecke soll von der Warschauer Straße bis zum Hermannplatz errichtet werden unter Prüfung alternativer Routen zur Querung des Görlitzer Parks. Bereits 1993 wurden dafür als Vorleistung Straßenbahngleise auf der Oberbaumbrücke verlegt. Die Strecke soll durch die Falckensteinstraße, den Görlitzer Park, die Glogauer und Pannierstraße führen und am Hermannplatz enden. Damit würden die Einwohner Neuköllns und Kreuzbergs eine wesentlich bessere Verbindung in den Osten Berlins bekommen, die BVG erwartet etwa 20.000 Fahrgäste je Werktag. Langfristig könnte die Straßenbahn über Urbanstraße, Blücherstraße, Hallesches Tor und Hauptbahnhof zum Kleinen Ring geschlossen werden. Die Gleise auf der Oberbaumbrücke wurden im Jahr 2019, nachdem sie 26 Jahre ungenutzt auf der Brücke gelegen haben, im Rahmen von Sanierungsarbeiten ersatzlos ausgebaut und verschrottet. In einem Internetforum wurde hierzu berichtet, dass die seinerzeit gewählte Gleislage ohnehin nicht mehr zur aktuellen Fahrbahnaufteilung auf der Oberbaumbrücke passen würde. Im Sommer 2020 befanden sich BVG und Senatsverwaltung im Abschluss des Beteiligungsprozesses. Geplante Inbetriebnahme ist 2026/2027.\nDie Straßenbahnlinie M2 soll von Heinersdorf zum S-Bahnhof Blankenburg verlängert werden, wobei noch Trassenvarianten untersucht werden müssen. Geplante Inbetriebnahme 2026.\nEine Tangentialverbindung soll Pankow über Heinersdorf nach Weißensee verbinden, im Sommer 2020 wurden die Untersuchungen dafür abgeschlossen. Geplante Inbetriebnahme ist 2026.\nS-Bahnhof Schöneweide – Sonnenallee – Hermannplatz – Potsdamer Platz\nPotsdamer Platz – Wittenbergplatz/Zoologischer Garten\nMierendorffplatz – Jungfernheide – Entwicklungsgebiet Urban Tech Republic (Flughafen TXL);\nPankow – Wollankstraße – Turmstraße (M27) – Mierendorffplatz – Luisenplatz\n(Alexanderplatz –) Spittelmarkt – Lindenstraße – Hallesches Tor – Mehringdamm\nIn Johannisthal soll eine Strecke über den Sterndamm und die Stubenrauchstraße bis zum U-Bahnhof Zwickauer Damm in Rudow oder (Planungsvariante) zum U-Bahnhof Johannisthaler Chaussee führen. Durch die Strecke würden vor allem die Wohngebiete um den Zwickauer Damm und den Eisenhutweg eine bessere ÖPNV-Anbindung erhalten. Für diese Strecke wurde als Vorleistung beim Bau der Hermann-Gladenbeck-Brücke über die A 113 und der Massantebrücke über den Teltowkanal 2004 Platz für die Straßenbahngleise gelassen. Ebenfalls kann das vorhandene Planum der Neukölln-Mittenwalder Eisenbahn hinter der Massantebrücke/Hermann-Gladenbeck-Brücke genutzt werden, das bis kurz hinter den U-Bahnhof Zwickauer Damm reicht.\nFahrzeugpräsentation am Tag der Offenen Tür 2009\nDie Berliner Straßenbahn verfügt über zwei verschiedene Fahrzeugfamilien. Neben niederflurige sechsachsige Doppelgelenktriebwagen in Ein- und Zweirichtungsausführung (GT6N und GT6N-ZR) gibt es seit 2008 die neuen Flexity Berlin.\nDie Anzahl der Straßenbahnfahrzeuge wird seit der politischen Wende kontinuierlich reduziert. Damals besaß die BVB 1024 Fahrzeuge, derzeit gibt es noch etwa 600. Die Reduzierung war möglich, da die neuen Niederflurwagen im Durchschnitt eine mehr als doppelt so hohe Laufleistung pro Jahr erreichen (bis zu 100.000 Kilometer). Außerdem haben diese Wagen wegen ihrer Länge eine höhere Fahrgastkapazität und verkehren daher selten in Doppeltraktion.\nIm Juli 2006 betrugen die Aufwendungen für Energie je gefahrenem Wagenkilometer 0,33 Euro, für einen Straßenbahnzug (Zugkilometer) 0,45 Euro. Zum Vergleich: Die Energiekosten eines Busses betragen 0,42 Euro pro gefahrenem Kilometer, die eines U-Bahn-Zuges 1,18 Euro pro Zug- bzw. 0,20 Euro je gefahrenem Wagenkilometer.\nAm 1. Januar 2016 gründete die BVG auf Betreiben des Finanzsenators Matthias Kollatz-Ahnen die Fahrzeugfinanzierungsgesellschaft (FFG), um den sich verdichtenden Problemen von Fahrzeugmangel einerseits und Angebotsausbau andererseits in Zukunft Rechnung zu tragen. Die BVG bestellte ab 2020 für die nächsten 15 Jahre 220 Straßenbahn- und 273 U-Bahn-Wagen im Wert von rund 3,1 Milliarden Euro. Im Oktober 2016 gab die BVG bekannt, dass im ersten Schritt in einer Ausschreibung 80 Straßenbahnwagen angeschafft werden. Die Zahl der neubestellten Straßenbahnwagen ist auf bis zu 117 gestiegen. Ob die Zahl erhöht wird, steht noch nicht fest.\nAb Mitte der 1970er Jahre beschafften die Berliner Verkehrsbetriebe neue Wagen des tschechoslowakischen Herstellers ČKD Tatra. Zwischen 1976 und 1987 wurden vierachsige Kurzgelenkwagen des Typs KT4D in Dienst gestellt, einige davon waren eigens für Berlin entwickelte KT4Dt mit Thyristorsteuerung. Die 18,11 Meter langen und 2,2 Meter breiten Wagen können 99 Fahrgäste aufnehmen. Sie können in Doppeltraktion eingesetzt werden.\nDer erste Wagen vom Typ KT4D traf am 3. April 1976 in Berlin ein. Am 11. September des gleichen Jahres wurde mit drei Wagen der Fahrgastbetrieb aufgenommen. Insgesamt wurden 582 Wagen des Typs KT4D für Berlin gefertigt, darunter 99 KT4Dt. Hinzu kamen ab 1984 noch acht Nullserienfahrzeuge aus Leipzig. Aufgrund des zu schwach ausgelegten Stromnetzes konnte man in Berlin jedoch nicht alle Fahrzeuge einsetzen, sodass man 80 der jüngsten Wagen des Typs KT4D in den Jahren 1989/1990 nach Potsdam und einen nach Cottbus abgab.\nZwischen 1993 und 1997 wurde die Hälfte der Fahrzeuge des Typs KT4D umfangreich modernisiert. Die übrigen wurden bis 1999 verkauft oder verschrottet. Eine erneute Modernisierung der Hochflur-Typen KT4Dt mod/KT4D mod wird aus wirtschaftlichen Gründen von der BVG abgelehnt. Dennoch erhielten 20 KT4D-mod-Wagen im Jahr 2014 eine nach § 57 der BOStrab für acht Jahre geltende Hauptuntersuchung, um Nachfragesteigerungen abfangen zu können. Bis 2017 erhielten weitere KT4D eine Hauptuntersuchung, sodass insgesamt 40 Wagen für weitere Jahre eingesetzt werden können. Die Fahrzeuge sollen mittelfristig durch die neuen Flexity Berlin ersetzt werden.\nAm 4. Juli 2014 fand der letzte fahrplanmäßige Einsatz der KT4Dt mod auf der Linie M4 statt. Seit 2018 verkehren die KT4D nur noch als Verstärkerfahrten (z. B. der M8) und bei Großveranstaltungen. Im Mai 2018 wurde bekannt, dass die BVG einen Bestand von 40 Fahrzeugen bis 2020 betriebsfähig vorhalten wollte. Sie wurden insbesondere für einen zusätzlichen Bedarf über die südliche Rhinstraßenbrücke gebraucht und sollten dort bis zum Ende der Bauarbeiten noch planmäßig auf der Linie M17 verkehren. Anschließend sollte der letzte Abruf neuer Flexity-Berlin-Wagen, getätigt Ende 2018 und im Zulauf ab Mitte 2020, einen erweiterten Bedarf decken. Im Februar 2021 wurde der Einsatz der Tatrawagen noch einmal verlängert, um im Hinblick auf die durch die COVID-19-Pandemie notwendigen Sicherheitsabstände in den Wagen zusätzliche Verstärkerfahrten anbieten zu können. Am 7. Mai 2021 stellte die BVG die letzten KT4D ab.\nZwischen 1992 und 2003 wurden 105 dreiteilige Gelenkwagen des Typs GT6N (Einrichtungsfahrzeug) und 45 Wagen des Typs GT6N-ZR (Zweirichtungsfahrzeug) angeschafft. Die Wagen haben eine Breite von 2,3 m und eine Länge von 26,8 m (GT6N) bzw. 26,5 m (GT6N-ZR). Sie können 150 Fahrgäste befördern. Die Wagen sind vielfachsteuerfähig, das wird auf den Linien M4, M5 und M6 genutzt.\nEnde 2011/Anfang 2012 begann die BVG mit den Wagen 1006 und 1016 eine Probe-Ertüchtigung. Sie wurden mit einer neuen Antriebstechnik und der neuen Software wie die der Flexitys versehen. Die danach nur miteinander kuppelbaren Fahrzeuge erhielten zur Unterscheidung die neuen Wagennummern 1506 und 1516. Der weitere Umbau von GT6N zu GT6N-U erfolgt schrittweise für je zwei Wagen im Betriebshof Marzahn. Die 45 Zweirichtungswagen werden ebenfalls überarbeitet, erhalten derzeit jedoch nur die vereinheitlichte OBU, um den analogen Zugfunk abschalten zu können – die Umnummerierung der GTZo erfolgt hier von Wagennummer 2001 auf 2201 ab März 2016. Anfang Juli 2017 wurde die Umrüstung der GTZ zu GTZo mit 2245 abgeschlossen.\nAm 12. Juni 2006 beschloss die BVG die Beschaffung der neuen Fahrzeuge. Diese basieren auf dem getesteten Incentro und werden von Bombardier als Flexity Berlin bezeichnet. Im Oktober 2008 wurden für 13 Millionen Euro vier Prototypen angeschafft und ausgiebig getestet. Hierbei handelt es sich um je zwei Ein- und Zweirichtungswagen in jeweils einer 30,8 und einer 40 m langen Version für etwa 180 bzw. 240 Fahrgäste. Ein Einsatz in Doppeltraktion ist nicht vorgesehen.\nDer Rahmenvertrag mit Bombardier umfasste 210 Fahrzeuge, die durch die BVG vollständig bestellt und im Zeitraum 2009–2020 ausgeliefert wurden. Es wurden insgesamt 34 kurze und 136 lange Zweirichtungs- sowie 40 lange Einrichtungswagen bestellt. Die Fahrzeuge werden in den Bombardier-Werken Bautzen oder Hennigsdorf gefertigt. Durch einen zusätzlichen Abruf von 10 % des Rahmenvertrages wird der Gesamtbestand bei 231 Fahrzeugen liegen.\nAusstellung historischer FahrzeugeBearbeiten\nEine Ausstellung historischer Fahrzeuge findet im Depot für Kommunalverkehr des Deutschen Technikmuseums statt. Am Tag des offenen Denkmals am 11. und 12. September 2021 ist der Eintritt frei.\nSigurd Hilkenbach, Wolfgang Kramer, Claude Jeanmaire: Berliner Straßenbahnen. Die Geschichte der Berliner Straßenbahn-Gesellschaften seit 1865 . Archiv Nr. 6. Verlag Eisenbahn, Villigen AG 1973, ISBN 3-85649-006-X.\nSigurd Hilkenbach, Wolfgang Kramer, Claude Jeanmaire: Berliner Straßenbahngeschichte II. Ein Bericht über die Entwicklung der Straßenbahn in Berlin nach 1920 . Archiv Nr. 31. Verlag Eisenbahn, Villigen AG 1977, ISBN 3-85649-031-0.\nWolfgang Kramer, Heinz Jung: Linienchronik der elektrischen Straßenbahnen in Berlin bis 1945 . Hrsg.: Arbeitskreis Berliner Nahverkehr e. V. Berlin 1994.\nWolfgang Kramer: Linienchronik der Berliner Straßenbahn 1945–1993 . Hrsg.: Arbeitskreis Berliner Nahverkehr e. V. Berlin 2001.\nArbeitskreis Berliner Nahverkehr e. V. (Hrsg.): Berliner Verkehrsblätter . ISSN 0722-9399.\nVerkehrsgeschichtliche Blätter e. V. (Hrsg.): Verkehrsgeschichtliche Blätter . ISSN 0232-9042.\nCommons: Straßenbahn Berlin – Sammlung von Bildern, Videos und Audiodateien\n↑ a b Berliner Verkehrsbetriebe (Hrsg.): Zahlenspiegel 2018 . 31. Dezember 2017 (bvg.de).\n↑ a b c d Berliner Verkehrsbetriebe (Hrsg.): Zahlenspiegel 2019 . 31. Dezember 2018 (bvg.de).\n↑ Wien hat das fünftgrößte Straßenbahnnetz der Welt. (Nicht mehr online verfügbar.) Wiener Linien, 2013, archiviert vom Original am 31. Oktober 2013; abgerufen am 2. September 2017.\n↑ Planfeststellungsverfahren zum Bauvorhaben „Verkehrsverbindung Nordbahnhof – Hauptbahnhof im Bezirk Mitte von Berlin“. In: stadtentwicklung.berlin.de. Senatsverwaltung für Stadtentwicklung, 24. Februar 2010, abgerufen am 21. August 2015.\n↑ a b IGEB Stadtverkehr: Neuer Anlauf in der WISTA – Der neue Senat will die Straßenbahnstrecke Adlershof—Schöneweide endlich vollenden . In: SIGNAL . Nr. 2/2017, Mai 2017.\n↑ Nahverkehrsplan Berlin 2019–2023 – Anlage 3 – ÖPNV-Bedarfsplan . Senatsverwaltung für Umwelt, Verkehr und Klimaschutz von Berlin. 26. Februar 2019.\n↑ Bebauungsplan 9-41 (ehemaliger Kohlebahnhof) . Senatsverwaltung für Stadtentwicklung und Wohnen von Berlin. 16. Dezember 2019.: „Entwicklung von Gewerbeflächen nach § 8 BauNVO, sowie für eine Vorhaltefläche eines künftigen BVG-Betriebshofs für Straßenbahn geschaffen werden.“\n↑ Ralf Drescher: Ab 2022 soll in Adlershof ein Betriebshof gebaut werden . Berliner Woche. 8. Februar 2020.\n↑ Ausschreibung Los-ID 1658876: Neubau Betriebshof ADL, Projektsteuerungsleistungen . Schienenverkehrsportal. 14. November 2019.\n↑ a b Thomas Fülling: Ostalgie auf Rädern: Tatra-Straßenbahnen fahren bis 2020 . Berliner Morgenpost. 22. Mai 2018.\n↑ Vorlage zur Besprechung des Nahverkehrsplans 2006 bis 2009 . Senatsverwaltung für Stadtentwicklung von Berlin. 24. August 2007.\n↑ Jörn Hasselmann: Bauarbeiten um den Bahnhof Ostkreuz verzögern sich . Tagesspiegel. 2. Januar 2020.\n↑ Im Zuge der Wissenschaft – Pressemitteilung . BVG. 18. Mai 2020.\n↑ Die neue Ost-West Verbindung . In: Berliner Verkehrsbetriebe . 15. Februar 2021.\n↑ Genehmigung erteilt - Bau der Tram-Linie durch Moabit soll in diesem Jahr beginnen . In: Rundfunk Berlin Brandenburg . 18. Januar 2021.\n↑ Öffentlicher Personennahverkehr – Nahverkehrsplan vom 25. Februar 2019, Anlage 3 – ÖPNV-Bedarfsplan (PDF) Senatsverwaltung für Umwelt, Verkehr und Klimaschutz\n↑ a b c d e Ausbau des Berliner ÖPNV-Netzes: Neue Straßenbahnstrecken verbinden Bezirke, Quartiere und Kieze. Der Regierende Bürgermeister – Senatskanzlei, 7. Juli 2020, abgerufen am 8. Juli 2020.\n↑ Projektgruppe StEP Verkehr. Maßnahmenkatalog 2015 (Grundlage für Wirkungsanalysen). Anhang I. (PDF) (Nicht mehr online verfügbar.) Senatsverwaltung für Stadtentwicklung, Juli 2003, S. 19, archiviert vom Original am 29. Dezember 2009; abgerufen am 1. August 2007.\n↑ Peter Neumann: BVG: Straßenbahnnetz soll auf fast 500 Kilometer wachsen . In: Berliner Zeitung . (berliner-zeitung.de [abgerufen am 15. Juni 2018]).\n↑ Peter Neumann: Berlins älteste Straßenbahnen dürfen weiter fahren – wegen Corona. In: Berliner Zeitung. 3. Februar 2021, abgerufen am 4. Februar 2021 (deutsch).\n↑ Abschied für immer: Am Freitag rollen zum letzten Mal Tatra-Bahnen durch Berlin. Abgerufen am 7. Mai 2021.\nAbgerufen von „https://de.wikipedia.org/w/index.php?title=Straßenbahn_Berlin&oldid=219440236“\nZuletzt bearbeitet am 22. Januar 2022 um 17:36\nDiese Seite wurde zuletzt am 22. Januar 2022 um 17:36 Uhr bearbeitet.


Schülertheater in Bad Belzig - Schneekönigin in neuem Gewand – MAZ - Märkische Allgemeine\nPotsdam-Mittelmark Schneekönigin in neuem Gewand\nLokales Potsdam-Mittelmark Schneekönigin in neuem Gewand\nSchülertheater in Bad Belzig - Schneekönigin in neuem Gewand\nEine hübsche Prinzessin, Tollpatsche und eine Heldin – „Die Schneekönigin“ hat alles, was eine gute Geschichte braucht. Quelle: Uwe Klemens\nEis ist eine leckere Sache und sorgt auch im Winter vor allem bei Kindern für Spaß. Aber wenn selbst das Essen nur aus gefrorenem Wasser besteht und klirrender Frost das Einzige ist, was einen Tag für Tag umgibt, hört der Spaß auf. Elf Fünft- und Sechstklässler der Geschwister-Scholl-Grundschule wissen das nun ganz genau.\nUnter Anleitung probt es sich für die Kleinen einfacher. Quelle: Klemens\nDenn seit knapp drei Monaten proben sie mehrmals in der Woche an ihrer eigenen Märchenversion zu Hans Christian Andersens „Die Schneekönigin“. Am 11. und 12. Dezember hebt sich im Foyer ihrer Schule dafür der Vorhang.\nAm Ende taut sogar das kalte Herz\nWer aus eigenen Kindertagen noch die zuweilen recht schaurige Originalversion im Kopf hat, wird überrascht sein, wie viele humorvolle Szenen sich in der Interpretation des Theaterautoren Uwe Heynitz verbergen. Gezittert wird darin ausschließlich wegen der Kälte im Reich der Königin und der Kälte in ihrem Herzen, das am guten Ende der etwa einstündigen Aufführung endlich auftaut. Die elfjährige Phyllis-Charlotte Kuckert als Schneekönigin kann beides gut verkörpern, das Herrische der unnahbaren Königin scheint ihr dabei besonders zu liegen.\nKönigin seit 171 Jahren\n„Sneedronningen“ lautet der Originaltitel des Kunstmärchens, das der dänische Dichter Hans Christian Andersen im Dezember 1844 veröffentlichte. Als Märchen „Die Schneekönigin“ fesselt die in sieben Kapiteln erzählte Geschichte seither auch hierzulande große und kleine Märchenfreunde.\nDer Stoff dient Autoren und Regisseuren seither weltweit als Vorlage. Kinderopern, Musicals, Theaterstücke, Filme und Hörspiele machen die Königin mit dem Herzen aus Eis lebendig. 1980 wagte sich die Autorin Joan D. Vinge sogar an eine Science-Fiction-Version.\nDie erste Kinderoper „Die Schneekönigin“ schrieb die deutsche Komponistin Esther Hilsberg im Jahre 2002/2003, sie wurde am 6. September 2003 beim Festival „Hohenloher Kultursommer“ uraufgeführt. Seit 1957 steht „Die Schneekönigin“ in jedem Jahrzehnt einmal auf dem Spielplan des Theater an der Parkaue in Berlin.\nDen Teufel, der im Original den Zauberspiegel zerspringen lässt und damit viel Unheil stiftet, sucht man in dieser Fassung vergebens. Der eher tollpatschig als teuflisch agierende Magier Bubél übernimmt seinen Part – wenn auch aus Versehen – und sorgt dabei für viel Gelächter. Dass sich von solch einem Stümper keine der anwesenden Jungfrauen zersägen lassen will, überrascht nicht.\nBei den Proben. Quelle: Klemens\nAuch vor den Räubern im Wald braucht sich diesmal kein Zuschauer zu fürchten. Den richtigen Umgang mit Keule und Messer muss das Trio nämlich erst noch lernen. Dass Rentiere manchmal auch etwas lahm sein können und Prinzessinnen ganz schön frech, gehört zu den weiteren Erkenntnissen, die der Zuschauer mit auf den Heimweg nehmen darf. Die unerschrockene Gerda, die weder Angst vor der Kälte noch vor der Schneekönigin kennt und sich auf den Weg macht, ihren verzauberten Kay zu retten, ist natürlich auch diesmal die Heldin des Stücks.\nTeamarbeit auf der Bühne und dahinter\nDas Einstudieren des Stücks übernahm Schulsozialarbeiterin Stephanie Reipen. Ein viertägiger Theaterworkshop mit der Wiesenburger Theaterregisseurin Julia Strehler war der Auftakt des Projekts, das von der Stiftung Ravensburger Verlag gefördert wird. Am Flügel einfühlsam begleitet werden die Schüler von Musiklehrerin Sabine Duschel. Das Bühnenbild samt Eispalast und Märchenwald zaubert die Bad Belziger Künstlerin Almuth Gröger.\nTermin: „Die Schneekönigin“, 11.12., 17.30 Uhr, sowie 12.12., 16 Uhr, jeweils im Foyer der Geschwister-Scholl-Grundschule, Weitzgrunder Weg 3.\nPolizei Tödlicher Unfall auf A 9 zwischen Brück und Beelitz - Ins Stauende gerast – 45-Jähriger stirbt\nEin 45-jähriger Mann ist in der Nacht zu Dienstag bei einem schweren Unfall auf der A9 bei Beelitz ums Leben gekommen. Der Mann ist mit einem Transporter in das Ende eines Staus gerast. Der Grund für den Stau war ein weiterer schwerer Unfall, der sich kurz vor Mitternacht ereignet hatte. Nach dem Doppeleinsatz kritisieren die Helfer die fehlende Rettungsgasse.\nPotsdam-Mittelmark Drama am Himmel - Luftwaffe muss Ultraleichtflieger retten\nEs wurde brenzlig für einen Ultraleichtflieger, der auf dem Weg von Lübeck in den Harz war. Er geriet in eine Schlechtwetter-Front und verlor die Orientierung. Ein Treibstoffmangel konnte nicht mehr ausgeschlossen werden – Rettungskräfte in Brandenburg wurden alarmiert. Dann kam die Luftwaffe zur Hilfe.


Posts by for(;;) - Page 5 - Forum64\nEs waren genau... eins, zwei, drei... viele!\nInteressant an diesem Laufwerk finde ich, dass die 6502 dort mit 1,5 MHz betrieben wird. Im Schaltplan steht aber nur 6502 ohne A, also die 1-MHz-Variante. Es macht den Eindruck, als ob das System also "ab Werk" übertaktet betrieben wurde.\nVielleicht können die Herren-8280-Besitzer ja mal ihr Gerät aufklappen und hier berichten, ob Ihre Platine mit 1 oder 2 MHz-Chips bestückt ist.\nAbgeben wollen: nein\nMit dem Glauben "ist selten" bin ich dann auch auf die CC 2013 gefahren und dann waren gleich vier? dieser Laufwerke vor Ort\nDer 3032 mit Grafiktastatur, den ich hatte, und der 3032 mit Business-Tastatur, den ich jetzt habe, haben beide die selbe Tastatur-Typenschild-Kombination wie auf den Bildern oben. Sollte es bei Commodore etwa doch einen Zusammenhang zwischen Tastatur und Front-Typenschild gegeben haben?\nCBM 3032 startet im Maschinensprachemonitor\nRAM halte ich eher für unwahrscheinlich. Beim 3032 werden 16K x 1 DRAMs verwendet, wobei ich noch nie einzelne Zellen kaputt hatte. Die waren entweder OK oder ganz tot.\nIch würde als erstes die Stromversorgung überprüfen (Spannungen, Glättung mit Oszi) und anschließend die ROMs überprüfen. Die kann man ggfs. durch 2532 EPROMs ersetzen.\nInteressantes Bild, vielen Dank für's Teilen!\nGlaubst Du, dass das Maß der Nutzung einen Einfluss auf die Korrosion nimmt? Warum?\nSpannungsteiler LarsP. - Wer findet den Fehler?\nDa es schon wieder sehr spät ist, fühle ich mich schon wieder berufen, zu antworten!\nQuote from Stefan_OK\nWas ich mich aber jetzt frage ist, der 74LS06 am Ausgang, muss der denn sein?\nWas macht der besser, als der IRLML2402 in anhängender Skizze?\nDas muss nicht speziell der 74LS06 sein. Der macht auch nichts besser als ein MOSFET. Du hast nur in Post... 7? explizit nach Pegelwandler im DIP-Gehäuse gefragt und der IRLML2402 im SOT-23-Gehäuse ist halt viel kleiner als ein DIL-Chip und der 7406 ist ja in vielen Commodore-Bastelkisten ohnehin schon vorhanden.\nDu brauchst einfach nur ein Bauteil, was 5V abkann, von den Logik-Leveln des Controllers angesteuert werden kann und möglichst viele mA Strom nach Masse ziehen kann.\nUnd wo wir gerade dabei sind: was machen eigentlich die beiden Widerstände in dem Ausschnitt?\nR9 (22K) gegen GND kann ich mir ja noch vorstellen, damit nicht zuviel Strom über den Bus jagt, obwohl das doch eigentlich auch nicht schlimm sein sollte eine Leitung direkt auf GND zu ziehen, oder?\nWas R16 (10K) macht entgeht mir total\nBei R9 entnehme ich dem Bild nicht 22K, sondern nur 18 Ohm. Ich würde sagen, das dient der Strombegrenzung. Dann kann man sich den MOSFET auch dann nicht kaputt machen, wenn er versuchen soll, eine +5V-Spannungsquelle nach Masse zu ziehen. Den kannst Du wahrscheinlich auch weg lassen.\nMit R16 wird der MOSFET vorgespannt und gewährleistet, dass das Gate nicht offen ist (also nirgends angeschlossen). Im Reset-Zustand werden die Ports des Controllers erst einmal hochohmig geschaltet (so lange bis das Programm den Port initialisiert) und dann hättest Du ohne Widerstand ein offenes Gate, was zu komischen Effekten führen kann, u.a. auf dem Bus stören.\nIm XA1541F -Parallelport-Kabel werden FETs vom Typ BS170 verwendet, und kommen ohne Widerstände aus.\nDa ich davon 20Stck demnächst aus China erwarte interessiert mich: Könnte man die genauso anstelle der IRLML2402 verwenden, ohne weitere Widerstände?\nIch halte das für eine grenzwertige Bastlerlösung für den Fall, dass man möglichst wenig Bauteile in ein Kabel handverlöten möchte und man sich selbst helfen kann, wenn was kaputt geht. Keinesfalls würde ich davon ableiten, dass ein BS170 keine Widerstände bräuchte!\nDen 74HC4050 habe ich gefunden für 6 Euro 10 Stck. aus China (Versandkostenfrei), könnte eigentlich nicht schaden 10 Stck. zu haben.\nDas sind also 60 Cent pro Chip und Du wartest wochenlang darauf. Bei reichelt.de kostet der nur 30 Cent und ist ruck zuck da.\nAllerdings hätte ich diverse Logik-Gatter rumliegen, z.B. 74HC08N (4x UND-Gatter),laut Datenblatt kann der mit 2-6 Volt versorgt werden,\nhätte bei Vcc=3.3V einen Out-Pegel von ca 3.2V, und hat für den In-Pegel keinen Maximum-Wert angegeben.\nBedeutet das, es wären hier auch 5V-Eingangssignale erlaubt bei 3.3V Betriebsspannung, oder jagen die dann auch bis zum Ausgang durch?\nNein, guck' noch mal in das Datenblatt. Da steht bestimmt irgendwas drin, wie hoch die Spannung an einem Eingang im Verhältnis zur Versorgungsspannung sein darf. Ich habe aber speziell bei TTL-Chips auch schon gesehen, dass im eigentlichen PDF nicht alle Angaben enthalten waren, sondern einige in ein anderes Dokument ausgelagert waren, weil die offenbar für sehr viele Teile gleich sind (IHMO trotzdem Blödsinn, das so zu machen).\nJedenfalls wäre so ein 74HC08 nicht geeignet, es als Pegelwandler misbrauchen zu wollen.\nMuss gestern wohl sehr spät gewesen sein... Vielen Dank an alle für die Richtigstellung!\nHabe 1.8K gegen 560 Ohm und\n3.3K gegen 1K getauscht, und nun läuft es!\nABER: Kann man das so machen? Fließt jetzt nicht zuviel Strom durch die Pins des AVR?\nDen Strom kann man mit dem Ohmschen Gesetz ausrechnen: über 1000+560=1560 Ohm fallen 5V ab.\nI=5V / 1560 Ohm = 0,00320.. A\nI = 32 mA\nMan kann das auch gerne noch einmal mit der maximal möglichen Versorungsspannung (z.B. 5,25 V) und dem niedrigsten Widerstand laut Toleranz der Widerstände (z.B. 10%) rechnen.\nDann guckt man im Datenblatt des ATmega1284P in das Kapitel "Electrical Characteristics" --> "Absolute Maximum Ratings" und findet dort die Angabe "DC Current per I/O Pin: 40.0 mA". Der maximal mögliche Strom pro Ein-/Ausgabepin ist also 40 mA, daher sind die 32 mA erst einmal okay.\nDie Summe der Einzelströme der Ein-Ausgabepins dürfen aber insgesamt nicht den maximalen Gesamtstrom übersteigen: "DC Current Vcc and GND Pins: 200.0 mA".\nWenn Du diesen Spannungsteiler also an 3 Pins verwendest, macht das einen Gesamtstrom von 3 * 32 mA = 96 mA. Das ist deutlich kleiner als 200 mA, da ist also noch viel Luft nach oben.\nich weis auch nicht, wie die Spannung von dem AVR über den einen Pin zum anderen gekrochen kommt...\nWie das intern genau verschaltet ist, kann ich Dir auch nicht sagen. Was aber klar aus dem Datenblatt hervorgeht, ist, dass der Strom über die Schutzdioden abfliesst. Auf irgend einem Weg kommt er also über die Schutzdioden an den anderen Pin.\nIm Datenblatt findet sich unter "Electrical Characteristics" --> "DC Characteristics" die Angabe "VIH Input High Voltage [...] Max. Vcc + 0.5V". Wenn das sd2iec ausgeschaltet ist, ist Vcc natürlich 0V. Wenn am IEC-Bus dann eine Spannung von sagen wir mal 4,2V anliegt, sind 4,2V deutlich größer als 0V + 0,5V.\nAus dem selben Grund ist es auch keine gute Idee, den AVR bei 3,3V direkt an den IEC-Bus zu hängen: der IEC-Bus arbeitet mit TTL-Pegeln, da sind also schlimmstenfalls 5V + 0,25V = 5,25V möglich. 3,3V + 0,5V sind aber gerade einmal 3,8V, also deutlich weniger als 5,25V.\nWenn Du den AVR also bei 3,3V betreiben möchtest, solltest Du also auf jeden Fall einen Pegelwandler zwischen den IEC-Bus und den AVR hängen. Pegelwandler gibt es in zig verschiedenen Ausführungen und Bauarten und auch im DIL-Gehäuse. Ich kenne allerdings keine bi-direktionalen Pegelwandler im DIL-Gehäuse, also keine, die sowohl von 3,3V nach 5,0V und umgekehrt wandeln können und quasi selbst erkennen könnten, welche Richtung und welche Pegelwandlung gerade angesagt ist. Das einfachste ist daher, auf uni-direktionale Pegelwandler auszuweichen und das Shadowolf-Layout zu verwenden, wo pro IEC-Pin zwei AVR-Pins verwendet werden: einer für den Eingang und einer für den Ausgang.\nEin relativ leicht beschaffbares Gespann im DIL-Gehäuse für den IEC-Bus wäre z.B. 74HC4050 und 74LS06/74LS07.\nDer 74HC4050 wird für die Pegelwandlung von 5V --> 3.3V verwendet. Er wird mit 3.3V betrieben, kann aber an seinen Eingängen höhere Spannungen vertragen.\nFür die Ausgänge nimmt man einen 74LS06 (der invertiert) oder (74LS07) der invertiert nicht. Beide werden mit 5V betrieben und können das Signal an ihrem Ausgang nach low herunter ziehen (=open collector-Ausgang). Den kann man deswegen an den AVR anschliessen, weil die Spannung eines bei 3,3V betrieben AVRs auf jeden Fall hoch genug ist, dass der bei 5V betriebene 7406 das sicher als high erkennt: der 74LS06 will laut Datenblatt "VIH High-level input voltage: min. 2 V" mindestens 2,0 V sehen und der AVR gibt bei Vcc=3,3V mindestens "VOH Output High Voltage: [...] 2.3V" aus. Die 2,3V liegen also über 2,0V: das ist okay.\nOb Du nun für die Standard-Shadowolf-Konfiguration einen invertierenden (74LS06) oder nicht invertierenden (74LS07) Treiber brauchst, habe ich gerade nicht im Kopf, kann das aber bei Interesse gerne nachsehen.\nEine weniger leicht beschaffbare Alternative, die nur mit einem Chip im DIL-Gehäuse auskommt, wäre ein SN74LVC245 von Texas Instruments. Den betreibst Du mit 3,3V, so dass Du ihn direkt an den 3,3V-betriebenen AVR anschliessen kannst, und er verträgt bis zu 5,5V an seinen Eingängen. Passt also prima zum IEC-Bus mit TTL-Pegeln. Allerdings MUSST Du dann noch zwischen den LVC245 und dem IEC-Bus Dioden hängen, damit der 245 lediglich die Bus-Signale auf low herunter ziehen kann aber keinesfalls selbst aktiv Strom einspeisen kann. Sprich: Anode zum IEC-Bus, Kathode an den Eingang des LVC245. Ich bin mir allerdings nicht sicher, ob der LVC245 bei allen Herstellern 5V-tolerant ist, der von Texas Instruments ist es jedenfalls.\nedit: der LVC245 kann aber nur 24 mA "sinken", der 74LS06 wäre also mit IHMO 40 mA die deutlich bessere Wahl!\nPuh, das war eine lange Antwort... alle Klarheiten beseitigt?\nAlso ganz so schlimm ist es meiner Meinung nach nicht.\nDoch, aus Erfahrung würde ich jede einzelne JMP$FCE2s Ausführungen genau so unterschreiben.\nDurchkontaktieren bei zweiseitigen Platinen ist auch nicht das Problem.\nIch habe die Erfahrung gemacht, dass man ein Platinenlayout deutlich anders erstellt, wenn einem dabei bewusst ist, dass man jede Durchkontaktierung selbst machen muss. Das wird insbesondere dann kniffelig, wenn es mal etwas dichter wird. Da hätte man dann gerne die kleinen Vias, die der Fertiger problemlos macht, und nicht die größen Dinger, die man selbst brutzeln kann. Manche Dinge, wie z.B. Stiftleisten kann man auch einfach nicht von oben verlöten, da muss man dann abseits eine Durchkontaktierung machen, wozu man dann auf der Lötseite wieder den Platz braucht.\njetzt bleibt aber noch mein Problem meine gedruckten vorlagen in ein Format zu bringen, dass der Hersteller vorschreibt z.b. eagle. und das krieg ich einfach nicht hin....\nsind keine grossen Sachen: 4-5 ICs.... nur bei eagle, KiCad und dergleichen braucht man doch einiges an einarbeitungszeit oder noch besser jemand, der sich damit auskennt...\nWenn man wirklich nur fertige Druckvorlagen verarbeiten möchte (aber wer will das?), kann man auch das jemanden übertragen, der graphische Vorlagen annimmt, wie z.B. http://www.platinenbelichter.de.\nEs stimmt zwar, dass es Zeit und Mühe kostet, sich in ein Programm einzuarbeiten, diese Zeit spart man aber wieder um ein vielfaches, wenn man wirklich mal ein Layout macht und dann nicht von Hand diverse Leiterbahnen umgruppieren muss.\nIch habe selbst Platinen geätzt und mir sogar zu diesem Zweck einen Belichter und eine Ätz-Küvette gebaut, aber bei dem Kurs, den http://www.jackaltac.com aufruft, überlege ich mir drei mal, ob ich mir den Stress antue...\nlcd-i2c für STEC 12E08 Drehencoder erstellen\nJa. In config.h in Zeile 57 habe ich nun LCD_ROWS_TOP auf 4 gesetzt und in Zeilen 62/63 den Eintrag mit zwei Zeilen auskommentiert und dafür den mit vier aktiviert. Probier mal das beiliegende hex. Wenn es dann mit der Darstellung nicht klappt, muss man mal in's Datenblatt des LCD sehen, wie viele Controller dort verwendet werden und wie die entsprechenden Startadressen der Displayzeilen im Speicher sind, damit man config.h entsprechend anpassen kann.\n(5.51 kB, downloaded 11 times, last: Oct 23rd 2020 )\nIch habe hier eine Fassung, die das awk-file findet und anschliessend ohne Warnungen mit avr-gcc 4.7.2 compiliert, vielleicht bringt Euch das weiter. Das erste zip enthält den Quelltext, das zweite die erzeugte Hex-Datei für den 1284P mit CONFIG_ENCODER_TYPE=2.\n(52.16 kB, downloaded 16 times, last: Oct 23rd 2020 )\n(5.46 kB, downloaded 10 times, last: Oct 23rd 2020 )\nCBM 3032 keine Funktion\nNein, das wird sogar sehr einfach. Einfach mal bei Reichelt "Sicherungshalter" in der Suche eingeben und was passendes aussuchen. Die passenden Sicherungen dazu gibt's da gleich auch.\nSo wie ich das sehe, wird das mit einer passenden Sicherung alleine nichts: da fehlt der Verschlussknopf. Du wirst also nicht umhin kommen, den unvollständigen Sicherungshalter durch einen neuen zu ersetzen. Mein 3032 hat 220V / 0.6A auf dem Typenschild stehen, die Sicherung ist eine 2A "mittelträge", was mir etwas großzügig dimensioniert scheint. Ob das so üblich ist, weiß ich nicht.\nVarianten der CBM/PET Beschriftungen\nMir ist doch eine Webseite mit verschiedenen PET-labels über den Weg gelaufen: http://www.6502.org/users/sjgray/computer/petlabels/\n<sarkasmus>Gibt's unter den PETs überhaupt zwei gleiche Typenschilder?</sarkasmus>\nMir ist keine solche Übersichtsseite bekannt. Wenn jemand so etwas machen möchte, kann ich die paar die hier rumstehen gerne fotografieren.\nFe3v0.9 sd2iec does not work, but normal sd2iec does.\nQuote from nanoflite\nI also tried changing the 3.3V and 5V CLPD jumper...\nVery bad idea! The CPLD is most likely a 3.3V chip and 5 Volts may fry it.\nDouble check the SD card slot solder joints. They seem to be the cause of troubles in most cases.\nMeasure the resistance between the SD card slot pins (above the solder joint) and the AVR controller. It should be the resistance of one of the two resistors of the voltage divider.\nIf these are okay, check that you did not swap the resistors of the voltage divider.\nAlso check your 3.3V regulation.\nDas Interface besteht in seiner letzen Version, wenn ich mich richtig erinnere, nur aus 3 TTL-ICs und einem EPROM.\nVor etlichen Jahren habe ich mal eines verkauft. Heute ärgere ich mich darüber, dass ich die Konstruktion vorher nicht ordentlich dokumentiert und das EPROM gesichert habe. Sehr sinnvoll auch, die Chips vor dem Fotografieren zu Entnehmen...\nImmerhin sind zwei fehlende Chips auf der Platine mit "244" bzw. "122" beschriftet.\nDie Spannungsversorgung erfolgte ursprünglich über den Drucker, was aber mit einem damals aktuellem Drucker nicht mehr möglich war: an dem Pin lagen zwar +5V an, aber der lieferte nicht ausreichend Strom. Ich hatte dann noch ein externes 5V-Netzteil dran getüdelt.\nHelmut, ist das aus Deiner Schmiede?\nedit: Ich habe noch ein anderes IEEE-488-Centronics-Interface gefunden, das vielleicht eher zum reverse-engineering taugt:\nCommodore 8050 - Richtige Behandlung\nschaltet man ein IEEE-488 Gerät, zum Beispiel die Floppy 8050 vor oder nach dem Hostrechner ein, oder ist das egal?\nIm Grunde ist das egal, es funktioniert bei beiden Reihenfolgen zuverlässig. Wenn Du es 150%ig magst, schaltest Du den Rechner zuletzt ein, damit noch einmal alle angeschlossenen Busteilnehmer zurück gesetzt werden.\nEinige Chips auf der 8050-Platine werden im Übrigen recht warm [...] Sollte man da besser einen Kühlkörper anbringen?\nIch hätte da Sorge, dass so ein Teil eines Tages abfällt und in der Laufwerksmechanik etwas beschädigt. Neben Kühlkörpern auf ICs könnte man auch die Linearregler durch ein Schaltnetzteil ersetzen und einen Lüfter anbringen, der warme Luft aus dem Gehäuse bläst.\nIch halte das für nicht notwendig. Meine Laufwerke bleiben, wie sie sind.