Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all articles
Browse latest Browse all 49603

Snap 7 Python Raspberry pi S7

$
0
0
Hallo

ich habe auf einem Raspberry pi Snap 7 installiert. Dies hat auch soweit funktioniert.
Ich habe mir ein kleinen Python Programm geschrieben das Daten von einer S7 liest und schreibt. Wenn ich die Zykluszeit auf 0.2 Sekunden stelle friert das Raspberry pi nach ca. 7 Stunden ein.
Bei 1 Sec läuft es länger. Ich benötige aber für den weiteren verlauf eine Zykluszeit von 0.2 sec.

Hat jemand erfahrung hiermit ?

Hier mal das Python Programm

Code:

from time import sleep
import snap7
from snap7.util import*
import struct


db = 390
length = 1
Start = 2

def main()

    while True:
        try:
            plc = snap7.client.Client()
            plc.connect("192.168.178.30",0,2)
            con = plc.get_connected()
            print "Connect", con

            byte = plc.db_read(390,2,1)
            print "Bit1:",get_bool(byte,0,0)
            print "Bit2:",get_bool(byte,0,1)
            print "Bit3:",get_bool(byte,0,2)
            print "Bit4:",get_bool(byte,0,3)
            print "Bit5:",get_bool(byte,0,4)


            data = bytearray(1)
            set_bool(data,0,0,True)
            set_bool(data,0,1,True)
            set_bool(data,0,2,True)
            set_bool(data,0,3,True)
            set_bool(data,0,4,True)

            plc.db_write(390,0,data)
            plc.disconnect()
            sleep(0,2)
        except Exception as ex:
            print "Verbindungsfehler"
       
       
if __name__ == "__main__":
    main()


Viewing all articles
Browse latest Browse all 49603