Ich möchte die Effizienz mit Python auch im experimentellen System verbessern. (4) Verwenden Sie ser.close (), wenn ein Fehler mithilfe der try-Syntax ausgegeben wird.

Synopse bis zum letzten Mal

Bis zum letzten Mal kann die Messung automatisiert werden. Dieses Mal, wenn das Messgerät schlechte Laune hat, wird es einen Fehler auslösen, also werden wir uns darum kümmern.

Windows COM-Port zweistellig oder mehr inakzeptables Problem

Lösen Sie mit der Try-Syntax auf

Wenn Sie den Namen der Ausnahme (gedruckt, wenn ein Fehler auftritt) nach "Ausnahme" schreiben, können Sie das Verhalten bestimmen, wenn es fehlschlägt. Dieses Mal werde ich ser.close () machen.

try:
    while 1:
        if pulse >= MAX:
            ##Beenden Sie die while-Anweisung, wenn die Position MAX erreicht
            break
        ##Aktuelle Standortinformationen aufzeichnen
        pulse_list.append(pulse/2)
        ##Den Strom messen(Der Wert an dieser Position ist der Durchschnitt von 5 mal.)
        for i in range(5):
            ser = serial.Serial(COMampere,bitRate,timeout=0.1)
            ser.write(b"F5, R0,PR2\r\n")
            time.sleep(1)
            ser.write(b"MD?\r\n")
            time.sleep(1)
            tmp = ser.read_all()
            #Überspringen, wenn kein Strom vorhanden ist
            if len(tmp)== 0:
                ser.close()
                continue
            ampere = float(tmp.split()[2])
            ampere_average_list.append(ampere)
            time.sleep(1)
            ser.close()
        ##Strom und Puls(Position)Auflisten
        ampere_list.append(sum(ampere_average_list)/len(ampere_average_list))
        ampere_average_list = []

        ##Bewegen Sie den optischen Tisch
        pulse += 1000
        position = "A:2+P"+str(pulse)+"\r\n"
        ser = serial.Serial(COMpulse,bitRate,timeout=0.1)
        ser.write(bytes(position, 'UTF-8'))
        time.sleep(1)
        ser.write(b"G:\r\n")
        ser.close()

    ##Verwandeln Sie die Liste in einen Datenrahmen
    print(ampere_list)
    print(pulse_list)
    df = pd.DataFrame({'ampere(A)':ampere_list,'pulse':pulse_list})
    def pulseToMilliMeter(pulse):
        return pulse*0.006
    df["position(mm)"] = df["pulse"].map(pulseToMilliMeter)
    df.to_csv('./csv/result.csv',index=False)
    plt.figure()
    df.plot(x='position(mm)',y='ampere(A)',marker='o')
    plt.savefig('./img/sample.png')
    plt.close('all')
except IndexError:
    ser.close()

Recommended Posts

Ich möchte die Effizienz mit Python auch im experimentellen System verbessern. (4) Verwenden Sie ser.close (), wenn ein Fehler mithilfe der try-Syntax ausgegeben wird.
Ich möchte die Effizienz mit Python auch in experimentellen Systemen verbessern (2) RS232C und pySerial
Ich möchte die Effizienz mit Python auch in einem experimentellen System verbessern. (1) Installieren Sie Anaconda mit Chocolatey
Ich möchte die Effizienz mit Python auch in einem experimentellen System verbessern. (3) Ich möchte mit Pandas so etwas wie Excel machen
Ich möchte die Effizienz mit Python auch im experimentellen System verbessern. (5) Ich möchte am Ende des Experiments eine Benachrichtigung mit der Slack-API senden
Ich erhalte eine Fehlermeldung, wenn ich versuche, Python mit pyenv in Catalina auf 3 Serien zu erhöhen
Ich kenne? Datenanalyse mit Python oder Dingen, die Sie mit numpy verwenden möchten, wenn Sie möchten
Wenn Sie es so verwenden möchten, wie es ist, wenn Sie es mit Lambda-Memo verwenden
Ich möchte Temporäres Verzeichnis mit Python2 verwenden
Ich habe eine Fehlermeldung erhalten, als ich opencv mit Raspeye in Python3 eingefügt habe [Remedy]
[Python] Ich möchte nur den Index verwenden, wenn ich eine Liste mit einer for-Anweisung schleife
Auch mit JavaScript möchte ich Python `range ()` sehen!
Ich möchte mit einem Roboter in Python arbeiten.
Ich möchte eine Fehlermeldung auf Japanisch mit dem Django-Passwortänderungsformular ausgeben
Bei der Verwendung von Tensorboard mit Pytorch ist ein Fehler aufgetreten
Ich möchte R-Datensatz mit Python verwenden
Ich möchte am Ende etwas mit Python machen
Wenn ich versuche, die Daten in DynamoDB mit Python (boto3) zu aktualisieren, wird "ExpressionAttributeNames enthält ungültigen Schlüssel: Syntaxfehler; Schlüssel: <Schlüsselname>" angezeigt.
[Lösung] Wenn ich versuche, mit GAE eine Verbindung zu CloudSQL herzustellen, wird nur bei dev_appserver ein ImportError angezeigt.
[Python] Ich möchte die Option -h mit argparse verwenden
Vorsichtsmaßnahmen bei der Verwendung von Python mit AtCoder
Dinge, die Sie bei der Verwendung von CGI mit Python beachten sollten.
Ich möchte einen Platzhalter verwenden, den ich mit Python entfernen möchte
Ich möchte APG4b mit Python lösen (nur 4.01 und 4.04 in Kapitel 4)
Ich möchte Rails mit Rails auch in einer vagabundierenden Umgebung betreiben
Wenn ich eine Fehlermeldung mit Pylint unter Windows Atom erhalte
Beim Versuch, maec 4.0.1.0 mit pip zu installieren, wird eine Fehlermeldung angezeigt
[Python] Wenn Sie alle Variablen in einer anderen Datei verwenden möchten
Ich möchte eine externe Bibliothek mit IBM Cloud-Funktionen verwenden
Wenn ich versuche, pip zu verwenden, ist das SSL-Modul nicht verfügbar.
Wenn Sie ein Objekt mit Anforderungen mithilfe der Flasche senden möchten
Ich habe versucht, die Effizienz der täglichen Arbeit mit Python zu verbessern
Wenn ich versuche, den Befehl make von Makefile mit os / exec von golang auszuführen, führen die zweite und nachfolgende Ausführung zu einem Fehler.
Ich möchte mit Python debuggen
Verwenden wir die NAOqi OS VM. Ich möchte Abhängigkeiten mit pip auch in der Pepper-Entwicklung auflösen
So schreiben Sie, was zu tun ist, wenn die Anwendung zum ersten Mal in Qt for Python mit Designer angezeigt wird
Ein Gist-Repository, das Sie verwenden können, wenn Sie es mit ansible ausprobieren möchten
Umgang mit OAuth2-Fehlern bei Verwendung von Google APIs aus Python
[Python] Was tun, wenn ein Fehler im Zusammenhang mit der SSL-Authentifizierung zurückgegeben wird?
Mit Docker durchgeführte Umgebungswartung (Ich möchte GrADS in Python nachbearbeiten
Ich möchte einen Teil der Excel-Zeichenfolge mit Python einfärben
Versuchen Sie, die Datenbank unter IBM i mit Python + JDBC mithilfe von JayDeBeApi zu starten
Ich bin ein Amateur am 14. Tag von Python, aber ich möchte maschinelles Lernen mit Scicit-Learn ausprobieren
Versuchen Sie, sich mit Python bei qiita anzumelden
Ich möchte ein Glas aus Python verwenden
Ich möchte Protokolle mit Python analysieren
Verwendung ist und == in Python
So erstellen Sie eine Umgebung, wenn Sie Python2.7 nach der Installation von Anaconda3 verwenden möchten
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
[Python] Was tun, wenn bei send_keys in Headless Chrome ein Fehler auftritt?
Drei Dinge, von denen ich süchtig war, als ich Python und MySQL mit Docker verwendete
Das Ausgabe-Timing ist falsch, wenn die Standardausgabe (Fehlerausgabe) in eine Datei in Python konvertiert wird
Dinge, die Sie bei der Verwendung von Python beachten sollten, wenn Sie MATLAB verwenden
Was tun, wenn bei der Installation von Python mit pyenv eine Fehlermeldung angezeigt wird?
Wenn ich versuche, Jupiter Notebook auf einem Mac zu verwenden, kann ich nur Python2 auswählen
Python-Programm ist langsam! Ich möchte beschleunigen! In einem solchen Fall ...
So senden Sie automatisch E-Mails mit Anhängen mithilfe der Google Mail-API in Python