Vai al contenuto
PLC Forum


Snap7 Primo Avvio


Messaggi consigliati

Inserita:

Del tuo eseguibile non del tuo progetto, in bin/Debug (o Release) dove trovi i files .exe, è da li che parte l'eseguibile e inizia a cercare i moduli da caricare.


cristian.magrini
Inserita:

Un piccolo dubbio che mi sta sorgendo:

mi sono definito una variabile così:

Dim StatoCPU As Snap7.S7Client.S7CpuInfo

perchè vorrei riportare in una label lo stato del PLC ovvero se è in RUN o in STOP ma mi sembra di non aver trovato il metodo adatto, devo utilizzare un'altra funzione o il metodo si trova all'interno di CpuInfo?

Inserita:

ma mi sembra di non aver trovato il metodo adatto

Ma lo hai cercato ?

Mi rendo conto che la documentazione è tanta e in inglese, ma almeno la lista delle API sul sito la puoi guardare :thumbdown:

Se hai problema con la libreria, errori di esecuzione, comportamenti strani ecc.. felicissimo di darti una mano e fare delle prove per risolverli, se sei pigro no.

cristian.magrini
Inserita:

ok,

andando avanti nella documentazione trovo il metodo PLCStop

una volta che mi sono creato il mio client...in un bottone vado ad inserire il seguente codice:

client.PLCStop()

come indicato nel manuale il metodo dovrebbe stoppare la CPU, ora mi sono collegato a una 1500 ma quando vado a premere il mio bottone non succede nulla nel PLC

Come posso fare eventuali verifiche?

cristian.magrini
Inserita:

Altro problema riscontrato mi creo questa variabile:

Dim status as Snap7.S7Client

poi vado a definire:

Client.PlcGetStatus(status)

e vorrei andare a stampare lo stato andando a proseguire con un if status =8 riporto in una label RUN altrimenti status = 4 scrivo STOP

andando ad eseguire il codice il sistema mi riporta alla riga

Client.PlcGetStatus(status) ------> impossibile convertire il valore del tipo .........

Dove esattamente sbaglio?

Inserita: (modificato)

secondo me questo non e' il posto per elencare i vari bachi o mancati funzionamenti .

Vedi se c'e' un forum adeguato per queste cose ed inizia a parteciparvici.... :(

Dopodiche , quando avrai scoperto gli inghippi , riassi di qua e ci aggiorni ...e' questo lo spirito del forum :smile:

comunque a prescindere da tutto , io il plc in stop non lo invio da hmi ....

Modificato: da walterword
Inserita:

come indicato nel manuale il metodo dovrebbe stoppare la CPU, ora mi sono collegato a una 1500 ma quando vado a premere il mio bottone non succede nulla nel PLC

Come posso fare eventuali verifiche?

Questo non lo hai letto:

http://snap7.sourceforge.net/snap7_client.html#target_compatibility

Dim status as Snap7.S7Client

Sbagli a definire status di tipo S7Client invece che integer:

Private Sub Button5_Click(sender As System.Object, e As System.EventArgs) Handles Button5.Click
        Dim Status As Integer
        Dim Result As Integer

        Result = Client.PlcGetStatus(Status)
        ShowResult(Result)
        If Status = 8 Then
            Label2.Text = "RUN"
        Else
            Label2.Text = "STOP"

        End If

    End Sub
Inserita:

comunque a prescindere da tutto , io il plc in stop non lo invio da hmi .

Infatti, tutti i principianti hanno questa pulsione di mandare in stop la cpu, di sovrascrivere i dati di sistema ecc.. :superlol:

Inserita: (modificato)

se ne accorgeranno quando saranno su impianti con centinaia di I/O circondati da beduini

Tra l'altro non c'e' neppure bisogno di mandare in stop la cpu da HMI perche ci va tranquillamente da sola senza sapere il perche' :D :D :D

Modificato: da walterword
  • 2 weeks later...
cristian.magrini
Inserita:

Scusate se torno a parlare della connessione al plc tramite pc utilizzando la libreria Snap7 ma effettuando un altra prova utilizzando visual studio 2008 con .NET Framework 3.5 e ricompilando e importando il tutto nel progetto una volta che nel bottone connetti vado a definire il mio oggetto client e lancio in esecuzione il programma riscontro questo tipo di errore:

InvalidOperationException non è stata gestita

Errore durante la creazione del form. Per informazioni dettagliate vedere Exception.InnerException. Impossibile trovare un punto di ingresso con nome 'Cli_Create' nella dll Snap7.dll

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...