Toon posts:

Raspberry pi connecteren naar een PLC

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo allemaal,

Ik ben met een project bezig namelijk het lezen van data van een S7-300 plc op een raspberry pi.
Ik heb namelijk een klein programmatje geschreven


import socket
host = '192.168.0.1'
port = 102

s = socket.socket()
s.connect((host, port))


#c , addr = s.accept()
s.recv(1024)


Het probleem is dat mijn raspberry pi zoekt naar connectie maar kan niet communiceren op een of andere manier met de plc.
Bij mijn PLC heb ik enkel een IP adres ingesteld en in een databouwsteen enkele waarden gezet.
Iemand tips voor het instellen van PLC en eventueel programma?
Mvg

Beste antwoord (via Verwijderd op 12-03-2018 08:58)


  • sh4d0wman
  • Registratie: April 2002
  • Laatst online: 18:00

sh4d0wman

Attack | Exploit | Pwn

"111 is just the ECONNREFUSED error code value from underlying socket connect() syscall."
Dat is een general error van Python. Doe eens een stap terug en stop met je python scipt.

Test de connectiviteit eens met telnet / netcat of putty.
Kun je dan wel connecten?

Moet er een setting op de plc aangepast worden om communicatie op die poort toe te staan?

Zitten er netwerk devices tussen je plc en test-pc? (ACL's / firewall of IDS filters welke je verkeer droppen?)

Ik ken de S7 niet maar zie van verschillende types dat ze zowel in client als in server modus kunnen draaien. Zit daar nog iets verkeerd wellicht?

This signature has been taken down by the Dutch police in the course of an international lawenforcement operation.

Alle reacties


Acties:
  • 0 Henk 'm!

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 27-09 22:07

MAX3400

XBL: OctagonQontrol

Was je Snap7 al tegengekomen? Tenminste, als ik zoek naar "S7-300 raspberry pi", zijn dat zo ongeveer de eerste 8 hits op Google.

Maar, on-topic: jouw "programmaatje". Ik zie 7 regels tekst; moet ik daar nog een syntax/language bij bedenken? Bestaat het IP-adres uberhaupt? Is port 102 uberhaupt benaderbaar en hoe heb je dat getest?

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Snap7 probeer ik liefst te vermijden. Ik heb dit al eens getest gehad telkens met errors van het pakket. Port 102 word aangewezen als de communicatiepoort voor een plc te laten communiceren met een andere device zoals pc of pi.

Acties:
  • 0 Henk 'm!

  • Marco1994
  • Registratie: Juli 2012
  • Laatst online: 22:55
Ik gok dat 192.168.0.1 je router is? Zou je daar niet het ip adres van je plc in moeten vullen?

Acties:
  • 0 Henk 'm!

  • Kaalus
  • Registratie: Januari 2010
  • Niet online
Als je zoals je stelt niet kunt communiceren heb je dat ook wel ergens uit opgemerkt bijvoorbeeld een foutmelding. Het is handig die dan ook te plaatsen, samen met je code tussen code tags.

Acties:
  • 0 Henk 'm!

  • sh4d0wman
  • Registratie: April 2002
  • Laatst online: 18:00

sh4d0wman

Attack | Exploit | Pwn

Heb je al eens de connectiviteit getest via je laptop/desktop?

Zo ja, zoek eens een tutorial "Socket Programming with Python" om het geheel in een script te gieten.
Error messages geven vaak ook wel de nodige info als je ze even door google gooit.
B.v. missend Python imports, onjuiste Python indent, het ip-adres wordt niet gevonden, verkeerd poort-nummer, verkeerd protocol, authenticatie probleem, etc.

Op youtube staan diverse tutorials voor Snap7 indien je die kant op wil.

This signature has been taken down by the Dutch police in the course of an international lawenforcement operation.


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 27-09 13:03
Welk protocol moet je praten bovenop TCP om iets zinnigs te kunnen doen met die PLC?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Marco1994 schreef op dinsdag 6 maart 2018 @ 08:22:
Ik gok dat 192.168.0.1 je router is? Zou je daar niet het ip adres van je plc in moeten vullen?
Dit is het IP adres van mijn PLC ik heb aan de connectie geen router aangehangen.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kaalus schreef op dinsdag 6 maart 2018 @ 08:28:
Als je zoals je stelt niet kunt communiceren heb je dat ook wel ergens uit opgemerkt bijvoorbeeld een foutmelding. Het is handig die dan ook te plaatsen, samen met je code tussen code tags.
De foutmelding die ik krijg is ERR 111 connection refused

Acties:
  • 0 Henk 'm!

  • Kaalus
  • Registratie: Januari 2010
  • Niet online
Verwijderd schreef op woensdag 7 maart 2018 @ 11:46:
[...]

De foutmelding die ik krijg is ERR 111 connection refused
Dat is nog steeds wel heel beknopt, zeker als je enige geplaatste code niet volledig is. Enige context zou wel handig zijn om je te helpen, zeker als je geen gebruik wilt maken van Snap7.
Je weet in elk geval dat je socket verbinding naar dat IP en port niet geaccepteerd wordt. Kijk eventueel met Wireshark wat er precies gebeurd.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kaalus schreef op woensdag 7 maart 2018 @ 11:50:
[...]

Dat is nog steeds wel heel beknopt, zeker als je enige geplaatste code niet volledig is. Enige context zou wel handig zijn om je te helpen, zeker als je geen gebruik wilt maken van Snap7.
Je weet in elk geval dat je UDP verbinding naar dat IP en port niet geaccepteerd wordt. Kijk eventueel met Wireshark wat er precies gebeurd.
Het is de enigste error dat zichtbaar is en het is geen UDP verbinding ik gebruikt het TCP protocol.

Acties:
  • +1 Henk 'm!

  • Kaalus
  • Registratie: Januari 2010
  • Niet online
Verwijderd schreef op woensdag 7 maart 2018 @ 11:53:
[...]

Het is de enigste error dat zichtbaar is en het is geen UDP verbinding ik gebruikt het TCP protocol.
Oeps, in de war met mijn eigen project }:O
Maar dat doet er weinig aan af dat je zo niet verder komt en wij je ook niet kunnen helpen.
Met Wireshark kun je de ruwe data zien en dus ook of en eventueel wat er van de PLC terugkomt. Als je alleen maar deze error blijft geven kom je ook weinig verder.

Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • sh4d0wman
  • Registratie: April 2002
  • Laatst online: 18:00

sh4d0wman

Attack | Exploit | Pwn

"111 is just the ECONNREFUSED error code value from underlying socket connect() syscall."
Dat is een general error van Python. Doe eens een stap terug en stop met je python scipt.

Test de connectiviteit eens met telnet / netcat of putty.
Kun je dan wel connecten?

Moet er een setting op de plc aangepast worden om communicatie op die poort toe te staan?

Zitten er netwerk devices tussen je plc en test-pc? (ACL's / firewall of IDS filters welke je verkeer droppen?)

Ik ken de S7 niet maar zie van verschillende types dat ze zowel in client als in server modus kunnen draaien. Zit daar nog iets verkeerd wellicht?

This signature has been taken down by the Dutch police in the course of an international lawenforcement operation.

Pagina: 1