Vai al contenuto
PLC Forum


Snap7 Primo Avvio


Messaggi consigliati

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.

Link al commento
Condividi su altri siti


cristian.magrini

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?

Link al commento
Condividi su altri siti

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.

Link al commento
Condividi su altri siti

cristian.magrini

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?

Link al commento
Condividi su altri siti

cristian.magrini

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?

Link al commento
Condividi su altri siti

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
Link al commento
Condividi su altri siti

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
Link al commento
Condividi su altri siti

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:

Link al commento
Condividi su altri siti

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
Link al commento
Condividi su altri siti

  • 2 weeks later...
cristian.magrini

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

Link al commento
Condividi su altri siti

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...