clx Inserito: 24 gennaio 2007 Segnala Inserito: 24 gennaio 2007 Salve a tutti, vorrei alcuni consigli su come sviluppare un telecontrollo di un plc s7-200, più precisamente una cpu 226.La cpu si trova in un luogo dove non c'è linea telefonica.Il controllo a distanza deve essere gestito da un pc il quale non deve essere sempre connesso alla cpu, ma solo nel momento in cui c'è bisogno di intervenire sull'impianto a distanza. Il sistema oltre a visualizzare variabili deve poter interagire col sistema remoto.In pratica vorrei capire quale modem (direi necessariamente gsm) utilizzare e quale programma per poter creare il software di suprevione sul pc.Grazie a tutti
PinoD Inserita: 25 gennaio 2007 Segnala Inserita: 25 gennaio 2007 Io posso risponderti per ciò che credo .Devi solo trovare un modem-gsm ottimo e a basso costo (scelta ardua ) e lo colleghi al plc. Dopodichè con un programma in Vb crei il software per il controllo.Nel caso dei plc omron ( i siemens non li conosco bene ) c'è la famiglia dei cs che da modem oltre che gestire le normali operazioni puoi addirittura programmare il plc e tutto a distanza.Per i modem cerca con google il sito della Microtel di Arese.Ciao
clx Inserita: 25 gennaio 2007 Autore Segnala Inserita: 25 gennaio 2007 Ho un pò di esperienza di programmazione in vb, ma non riesco a capire come poter fare ad esempio a leggere una word o dword che sia con VB.Se sai come fare mi fai vedere.Grazie mille
PinoD Inserita: 26 gennaio 2007 Segnala Inserita: 26 gennaio 2007 Allora :per leggere o scrivere le word nella serie cpm1 o al di sotto della serie CS, si usa il cosiddetto protocollo sysway, ovveroapri la seriale con questi parametri che sono standard ( poi puoi personalizzarli, ma devo farlo anche sul plc)usa il controllo mscomm, che qui nell'esempio è chiamato CommPlcsetta i parametri : com1 o com2 , e,7,2il comando che io ho chiamato TxPlc è cosi composto :si inizia col carattere chioccilina "[at]" seguito da un numero di 2 caratteri che identifica il nodo del plc "00" poi segue la modalità del comando, per esempio leggere il data memory 10, in questo caso il comando di lettura è RD, segue il numero del data memory sempre di 4 carattere 0010 e per quanti dm vuoi leggere (nel nostro caso 1 ) quindi 0001 , il comando che ne viene fuori è una stringa : "[at]00RD00100001", non è finita su questa stringa devi calcolare l'FCS e mandi questa stringa (che io ho chiamata comando) alla seguente routine Fcs Sub Fcs() Dim l As Integer Dim a As Integer Dim j As Integer Dim tj As String l = Len(Comando) a = 0 For j = 1 To l tj = Mid$(Comando, j, 1) If tj <> Chr$(10) Then a = Asc(tj) Xor a Next j fc = Hex$(a) If Len(fc) = 1 Then fc = "0" + fc TxPlc = Comando + fc + "*" + Chr$(13)End Subdopo il calcolo dell'fcs viene aggiunto il carattere * + il ritorno carrello (chr(13)), questop è il TxPlc che devi inviare al plc con la routine TxSub Tx()If Not CommPlc.PortOpen Then CommPlc.PortOpen = TrueNumTentativiTx = NumTentativiTx + 1 Principale.CommPlc.Output = TxPlc If NumTentativiTx >= 50 Then NumTentativiTx = 0 Timeout = 1End If'MsgBox TxPlcIf Timeout = 1 Then BeepDoEventsend subA questo punto il plc ti risponderà con questa stringamettiamo che il valore del dm10 è di 9999, per avere la risposta fai un mid$(rispostaplc.8,4) e avari 9999naturalmente ci sono molti comandi che sono descritti nei manuali omron..Spero di esserti stato d'aiutoCiao
clx Inserita: 26 gennaio 2007 Autore Segnala Inserita: 26 gennaio 2007 Ti ringrazio per l'aiuto ma quello che fai riferimento tu sono plc omron o siemens? Non credo che si comportino in modo uguale
max.bocca Inserita: 26 gennaio 2007 Segnala Inserita: 26 gennaio 2007 Per non diventare matto io ho creato un mio protocollo esempio [at]xxxx# dove xxxx è l'indirizzo lui mi risponde il valore dell'indirizzo....ecc.
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora