Vai al contenuto

Invertek optidrive con protocollo Modbus RTU su RS485

Home Forum Programmazione IEC 61131 (LogicLab) Invertek optidrive con protocollo Modbus RTU su RS485

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Autore
    Post
  • #74973
    r-mario92
    Partecipante

    Premetto che sono alle prime armi con la programmazione su PLC, in un programma FBD (Screenshot) cerco di far comunicare tramite RS485 uno SlimLine LogicLab Cortex M7 con un inverter Optidrive della Invertek.

    Seguo scrupolosamente le indicazioni trovate nel manuale online, infatti riesco a compilare senza errori. Testo il programma in modalità debug interattivo e compaiono i seguenti errori:

    User program error:9912200
    User program error:9946140

    Fanno riferimento alla porta COM e un’altra cosa che sinceramente non ho ben capito. Inoltre le uscite di SysSerialPort sono (Opened=false – Fault=true)

    Escluderei errori nel cablaggio (Sono da collegare solamente 2 fili) rimanendo inserito il ponticello LK4.

    Il programma test, se SysSerialPort funziona, dovrebbe modificare il valore della frequenza nominale e leggerla per testare se la modifica è riuscita. Per semplicità, essendo solo un test, i valori li modifico e visualizzo direttamente nell finestra di Watch.

    #75001
    Sergio Bertana
    Amministratore del forum

    Il programma che hai fatto è quasi corretto… Vediamo gli errori come vedi dalla pagina errori, viene riportato:

    9946140 Errore definizione porta COM
    9912200 Non è possibile aprire il file specificato

    Che stà ad indicare che hai indicato al FB SysSerialPort una porta di comunicazione errata, infatti non riesce ad aprire lo stream di comunicazione che nel sistema è indicato come file.

    Infatti tu in COM hai indicato ADR(“COM2”), le stringhe in IEC-61131 si indicano con l’apice singolo, quindi ADR(‘COM2’) come indicato negli esempi del FB SysSerialPort.

    Il secondo errore che poi porterà a non fare funzionare la comunicazione è che tu hai appoggiato l’uscita Done della seconda FB ModbusMaster sull’ingresso Enable della prima senza invertirlo. Come vedi nella programmazione con FB connesse con modello a cascata il segnale è invertito. L’inversione la noti dal pallino posto davanti al segnale. Per fare comparire il pallino di inversione devi puntare il FB, poi con il tasto destro del mouse selezionare proprietà e definire NOT sul segnale Enable. In alternativa inserisci un oggetto NOT nel ramo.

    Fatte queste operazioni il Modbus dovrebbe comunicare, ora l’unico problema potrebbe essere nella definizione dell’indirizzo in Address, molti sistemi non sono compliant con il Modbus e non sottraggono 1 all’indirizzo indicato, quindi verifica con la console di spionaggio cosa succede sulla comunicazione ed eventualmente attiva Absolute.

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Devi essere connesso per rispondere a questo topic.