PNSPO
2 Data ontvangen
2.1 Het ontvangstcircuit
TXD(u) en RXD(u) voor CJ1/CS1-PLC boards en units
Data komt binnen op de Input pin van de connector en wordt door de Interface Logica
bekeken op dataformaat en baudrate. Het ontvangstcircuit maakt bytes van de
ontvangen data en stuurt deze door naar het startcode filter. Wordt er geen startcode
in het seriële bericht gebruikt dan hoeft deze niet in de instellingen te worden
ingevuld. De data passeert dan het Startcode filter. Is er wel een startcode ingevuld,
dan wordt alle data op de poort genegeerd totdat de startcode voorbij komt. Als de
startcode is ontvangen wordt daarna alle data doorgelaten.
Elke byte die vervolgens ontvangen wordt, doet de Byte teller met 1 verhogen en
wordt vervolgens in het ontvangstbuffer gestopt. Via het adres van de Byte Teller kunt
u zien hoeveel data er is ontvangen en dus in het ontvangstbuffer zit.
De meeste seriële berichten gebruiken wel een Eindcode zoals een carriage return
(enter) of een hexadecimale code. Om te kijken of het gehele bericht is ontvangen
kunt u de PLC hier naar laten kijken middels het Endcode filter. Als u in de instellingen
een Endcode heeft ingevuld en deze komt in het bericht voorbij, dan wordt de
reception completed flag hoog gezet en worden vervolgens alle bytes die na de
Endcode komen tegengehouden.
Als u geen Eindcode gebruikt dan kunt u instellen uit hoeveel bytes het bericht
bestaat. Via de byteteller wordt er dan vergeleken met de instelling die gemaakt is,
komen deze overeen dan wordt de reception completed flag hoog gezet. Komen er
meer bytes binnen dan zijn ingesteld dan wordt de overflow flag hoog gezet.
Het ontvangstbuffer is niet direct toegankelijk, hiervoor wordt bij PLC RS232 poort en
SCB de RXD en bij een SCU de RXDU instructie gebruikt. Deze instructie verplaatst
de inhoud van het ontvangstbuffer naar het werkgeheugen in de PLC en reset de Byte
Teller en reception completed flag.
Data ontvangen
pagina 11