Ik heb het volgende probleem. Ik wil graag de PLC communiceren via TCP. Hiervoor heb ik de volgende tutorial gevolgd: https://www.youtube.com/watch?v=iO6BftFtias. Helaas lukt het niet om een verbinding op te stellen.
Helaas heb ik te weinig informatie om te kunnen zeggen wat er aan de hand is.
Heb je op het blok op het blauwe koffertje geklikt en de verbinding ingesteld?
Zo ja, dan moet je een stukje programma toevoegen om de foutcode goed uit te lezen. Het probleem is namelijk dat de echte foutcode maar heel kort zichtbaar is en je deze daarom bijna altijd mist. Je kan deze afvangen door als de error uitgang hoog is de status waarde van het blok naar een opslag locatie te schrijven met de “move” instructie. De (error) statuscode die dan verschijnt in je opslag locatie kan je weer opzoeken in de help van TIA Portal (F1 knop indrukken).
Om het bovenstaande in te bouwen kan je de volgende instructies toevoegen onder het laatste stukje programma dat zichtbaar is in de screenshot:
Voor bovenstaande code moet je de variabele ERROR_STORE aanmaken op dezelfde manier als dat je de STATUS aangemaakt hebt. Ik raad wel aan om zowel de STATUS als ERROR_STORE als het datatype WORD in te stellen in plaats van UInt. De reden hiervoor is dat alle foutcodes in de help van TIA Portal hexadecimaal zijn en je deze namelijk niet om hoeft te zetten dan. De statuscode 28672 = 0x7000 hexadecimaal, maar die code betekend “No job processing active”. Oftewel dat die niets aan het doen is.
Tot slot kan je ook nog even kijken in de Getting started with TIA Portal and S7-1200 handleiding van mij bij Exercise 3. Daar heb ik ook een communicatie voorbeeld in beschreven staan. Ik maak daarbij wel gebruik van TSEND_C en TRCV_C omdat het voordeel is dat je dan niet handmatig TCON en TDISCON hoeft in te stellen. De verbinding wordt door de blokken namelijk automatisch opgezet.
Mocht je met bovenstaand het probleem niet kunnen oplossen dan heb ik het volgende nodig:
De status code van als de error uitgang hoog is (zie bovenstaande uitleg).
Een screenshot van de instellingen als je op het blauwe koffertje klikt.
Een omschrijving van wat voor soort communicatie je op wil zetten en welke gegevens je wil versturen/ontvangen.
Hou er trouwens rekening met de REQ input alleen werkt op opgaande/positieve flank (van FALSE naar TRUE toe). Als de TRUE er vast op staat dan wordt deze alleen eenmalig geactiveerd de eerste keer dat de code wordt uitgevoerd.