de RS232 standaard is bedoeld om op 1 zender 1 ontvanger te plaatsen. Als hij op 1 zender 15 ontvangers zou willen plaatsen zit je al ruim voorbij de standaard waarvoor deze zender is gemaakt vandaar de buffering.

>> enkel wanneer de pc wordt aangesproken mag deze iets antwoorden.

En wat nou als de Client uit eigen initiatief iets tegen de server wil zeggen? Och, daar verzin ik trouwens wel wat op.

Dus als ik het goed begrijp gaat het in zijn geheel als volgt:

Server <= RxD <= MAX232 <= TTL <= diodes <= MAX232 <= Clients

Die diodes zijn er dus voor dat de Clients niet naar elkaar kunnen luisteren. (zeg ik dat goed? Dan snap ik het!!!!!)

En andersom:

Server => MAX232 => alles opsplitsen => MAX232 => Clients

Vraag hierover: Is het wel nodig om bij het uitgaande signaal MAX232's te gebruiken?!? En kun je een ingang en een uitgang tegelijkertijd op 1 Max232 zetten?

Nog een hele andere vraag:
Komt er voldoende vermogen uit je Com-poort voor deze toepassing, en zo ja tot hoe lang mag je datalijn worden? Of moet je voor de TTL en/of IC's een externe voeding gebruiken?

Pelle.

[Bericht gewijzigd door pelleke op ]

Op 23 september 2003 21:59:32 schreef sven:
de RS232 standaard is bedoeld om op 1 zender 1 ontvanger te plaatsen. Als hij op 1 zender 15 ontvangers zou willen plaatsen zit je al ruim voorbij de standaard waarvoor deze zender is gemaakt vandaar de buffering.

Ik had het ook over een databuffer

is het zo belangrijk dat je clients zelf initiatef kunnen nemen? want als je 15pc hebt en je werkt 9600 baud, kan je de pc's wel enkele keren per seconde pollen (= status opvragen)

Die diodes zorgen inderdaad dat het signaal maar 1 kant op kan.

1 MAX232 bezit 2 omzetters van RS232 naar TTL en 2 van TTL naar RS232, dewelke allemaal apart van mekaar kunnen gebruikt worden (zelfde gnd is wel nodig)

Bij het uitgaande signaal denk ik wel dat je best gebruik maakt van een buffer. Misschien werkt het zo ook wel, heb nog nooit meer dan 2 ingangen op 1 uitgang geplaatst (ik zou dan voor RS-485 gaan...)

Ik zou de spanning ergens gaan halen dan uit je com-poort.

TIP bekijk eerst eens het RS232 protocol dan weetje welke signalen er wanneer uit komen en wat ze doen.
dan zijn denk ik een hoop vragen al beantwoord;)

mvg Michel

Waar kan ik dat zien? real time gaat zeker niet lukken, want zo snel is mijn gezichtsvermogen niet :-)
En ik snap geloof ik toch nog niet helemaal het principe ervan, hoe moet je bijvoorbeeld RS232 ontvangen?!? Gaat dat Event-driven of wordt dat gebufferd in je poort ofzo?

PS Ik zat te denken aan 115200 bps, kunnen die IC's dat aan?

Pelle.

Op 25 september 2003 12:04:35 schreef pelleke:
Waar kan ik dat zien? real time gaat zeker niet lukken, want zo snel is mijn gezichtsvermogen niet :-)
En ik snap geloof ik toch nog niet helemaal het principe ervan, hoe moet je bijvoorbeeld RS232 ontvangen?!? Gaat dat Event-driven of wordt dat gebufferd in je poort ofzo?

PS Ik zat te denken aan 115200 bps, kunnen die IC's dat aan?

Pelle.

Google

voor de programmatie kan ik je niet helpen. Is veel te lang geleden. Misscien dat je dan beter eens begint met 2 pc met mekaar te laten praten. heb je enkel een gekruiste kabel nodig:


  pc1        pc2
   2          3
   3          2
   5          5

bij een 9 pins sub-d

Er is een ding wat ik niet helemaal begrijp. Waarom is het niet mogelijk om gewoon het RS232-protocol te "splitten", zeg maar: je hebt een null-modem kabel die je steeds doorlust, zodat alle clients het RS232-signaal ontvangen? Dan hoef je toch alleen maar te zorgen dat er geen twee PC's tegelijk praten?

omdat je dan 2 signalen (spanningen) op 1 draad wilt plaatsen.
Stel dat je 2 pcs aan mekaar aansluit zoals je voorstelt.
1pc is niet aktief, maar dat wil niet zeggen dat er geen spanning op die lijn is, maar dat er een logische 0 op staat. In het geval van RS232 is dat dan +12V.
Dan probeert de andere pc data door te sturen. Dit houdt in dat de spanning gaat veranderen van +12V naar -12V in vorm van pulsen.
Dus krijg je kortsluitingen want je wil op 1 lijn -12V en +12V gaan zetten. Daarom dus niet...
(dit gaat trouwens op voor de meeste comm-protocols)

En nog een reden...
RS232 werkt met als logische niveau -5...-12V als 1 en +5...+12V als 0 (ook "mark" of "space" wordt soms gebruikt)
dus elke poort moet tussen die grenzen werken. Als je ene pc als 0 -10V gebruikt en je andere pc -11V dan heb je, zelfs als de 2 pc's in rust zijn een spanningsverschil van 1V tussen de poorten staan!

RS232 is per definitie een point-to-point bus en dus nooit bedoeld om te worden gebruikt als multi-drop bus. Er zijn wat trucs om bijvoorbeeld 3 of 4 devices op elkaar aan te sluiten, waarbij je dan 1 "master" hebt. In de TX lijnen van de slaves zet je een diode in sper waarmee je het probleem omzeilt dat Sven aanhaalt (één transmitter wil de TX lijn hoog maken, de andere trekken 'm omlaag). In de meeste gevallen lukt dit nog wel met 2 of 3 slaves, maar bedenk dat je de TX van de master al snel te zwaar belast. Een ander punt is dat de flanken van de datapulsen gaan vervormen waardoor de kans op verkreupelde data toeneemt. Nogmaals: het is feitelijk misbruik maken van de standaard en in het slechtste geval (zeker bij oudere typen RS232 drivers!) loop je het risico de boel te slopen door overbelasting. RS232 drivers zijn dan wel korstluitvast, maar langdurig overbelasten betekent onherroepelijk het einde.

Voor dit soort applicaties is er dus RS485 of RS422. Houd er rekening mee dat je in beide gevallen de transmitters met behulp van een handshake-lijn tijdig moet enabelen en disabelen of je moet een schakelingetje maken dat automatisch de transmitter disabled nadat het laatste stopbit is verzonden (kan eenvoudig met een goed getimede a-stabiele).

Op 26 september 2003 07:49:18 schreef menno:
RS232 is per definitie een point-to-point bus en dus nooit bedoeld om te worden gebruikt als multi-drop bus.

RS-232 zelf is voor 1-op-1 communicatie, maar dat is bv de fysieke layer van IBM TokenRing ook. Twisted-pair ethernet trouwens ook. Met wat extra hardware kun je met 1-op-1 verbindingen best een netwerk maken.

Op 26 september 2003 08:51:31 schreef Wouter van Ooijen:
Met wat extra hardware kun je met 1-op-1 verbindingen best een netwerk maken.

Dat is precies wat ik zei. Maar die extra hardware is nou juist de crux: daar blijkt al uit dat de specificatie op zich niet is bedoeld voor de toepassing.

Overigens is de hele "RS" een vage bedoening. "RS" staat voor recommended standard; daar kan je dus alle kanten mee op. De grenzen worden buiten de "aanbeveling" feitelijk bepaald door de hardware die gebruikt wordt. En daarmee loop je dus het risico dat wat op de ene computer / device wel functioneert, op de andere niet werkt.

> Dat is precies wat ik zei. Maar die extra hardware is nou juist de crux: daar blijkt al uit dat de specificatie op zich niet is bedoeld voor de toepassing.

Dus twisted-pair ethernet is niet bedoeld voor netwerken?

> Overigens is de hele "RS" een vage bedoening. "RS" staat voor recommended standard; daar kan je dus alle kanten mee op.

Maar het zijn toch echt standaarden. (Ze zijn trouwens ook onder andere namen te verkrijgen).

Het hele internet hangt trouwens aan elkaar van standaarden die RFC heten: Request For Comment. Laat je dus niet door een naam misleiden :)

Even terug naar de communicatie: Het lukt mij niet om een 115200-verbinding te maken, en 9600 baud is op zich best aardig tot 10 a 15 pc's, maar bedenk dat er in mijn toepassing behalve constant pollen soms een pagina (!) tekst naar een client moet worden gestuurd.
Daar gaat natuurlijk wel wat tijd inzitten, ben ik bang. Ik ben momenteel al bezig met wat testjes, zoek alleen nog een aansluitschema van de MAX232.

Pelle

Maar tussen 9k6 een 115k zitten nog wel wat gradaties, dacht ik zo. En bij 19k2 piepel je een A4-tje binnen een paar seconden van A naar B. Is dat niet acceptabel, dan lijkt het me dat je een verkeerd "netwerk" hebt gekozen.

Sorry, wat ik bedoelde was het volgende:

VBDOS (want dat is mijn ontwikkelingsomgeving) kan geen hogere snelheden gebruiken dan 115200, of ik moet een externe bibliotheek gebruiken, maar dan kan ik geen gebruik maken van Event-trapping, dus ik ben al aan het denken over hoe dat moet gaan slagen...

Pel.

Hallo Allemaal,

ik heb misschien nog een goed alternatief voor het probleem.
Ik heb al sinds een paar jaren 2 RS232 netwerken in gebruik met elk 32 poorten. Ik maak gebruik van Serial to Ethernet converters (N-server van moxa www.moxa.com). Je kunt dan communiceren via het Ethernet protocol. Iedere coverter heeft dan zijn eigen IP adres. Aan iedere converter zitten vier COM poorten. Je kunt dus eenvoudig zien waar iets vandaan komt en waar iets naar toe moet. Misschien is dat een oplossing. ?

(Enorme kick, was niet meer nodig.)

Toch bedankt!