ildiego Inserito: 25 febbraio 2020 Segnala Share Inserito: 25 febbraio 2020 Buongiorno, Avrei un problema di comunicazione tra s-1200 e il programma che sto scrivendo in c#. Sia con gli esempi trovati in rete sia con il programma che sto sviluppando, come valori letti dal plc ho solo zeri. la riga di codice byte[] db1Buffer = new byte[18]; int result = client.DBRead(1, 0, 18, db1Buffer); restituisce il valore 7 corrispondente a Error: TCP : Error sending Data. la connessione (ConnectTo) avviene senza nessun errore. Sul plc ho fatto tutte le modifiche richieste dalla libreria (DB non ottimizzato, accesso completo senza protezioni e accesso tramite PUT/GET consentito). qualcuno ha qualche idea a riguardo da consigliarmi? Grazie mille Link al commento Condividi su altri siti More sharing options...
drugo66 Inserita: 25 febbraio 2020 Segnala Share Inserita: 25 febbraio 2020 Ciao, premetto che Snap7 finora l'ho usato solo con VC++ e non con net. In ogni caso: - client deve esistere e deve esserci la connessione aperta per il PLC corretto (mi pare cambiasse un parametro fra 1500 e 1200); - il DB sul PLC deve avere le proprietà che hai già elencato, compreso il PUT/GET consentito (che è un attributo della CPU, più che del DB); - leggi 18 byte, quindi devono esistere i 18 byte all'interno del DB oltre all'ovvia esistenza del DB stesso; - non devono esserci altre operazioni pendenti, altrimenti potrebbe andare in conflitto. L'errore 7 che restituisce, onestamente non me lo ricordo; hai visto sul manuale ? Spero possa esserti di aiuto ... Link al commento Condividi su altri siti More sharing options...
ildiego Inserita: 25 febbraio 2020 Autore Segnala Share Inserita: 25 febbraio 2020 Grazie mille per la risposta Drugo. l'errore 7 consiste in: Error: TCP : Error sending Data. Potresti spiegarmi meglio il punto1 (gli altri li ho verificati e sono ok), ho verificato tramite prompt programmi digitando netstat -n ed emerge TCP 192.168.0.2:56116 192.168.0.1:102 ESTABLISHED, quindi la porta sembra essere ok. quello che non capisco è: se il comando ConnectTo non restituisce errori, esiste comunque la possibilità di un settaggio non ottimale della comunicazione che mi fa apparire l'errore quando provo a leggere i dati dal DB del plc? Link al commento Condividi su altri siti More sharing options...
drugo66 Inserita: 26 febbraio 2020 Segnala Share Inserita: 26 febbraio 2020 Il manuale riporta: Quote Cli_ConnectTo Description Connects the client to the hardware at (IP, Rack, Slot) Coordinates. Declaration int Cli_ConnectTo(S7Object Client, const char *Address, int Rack, int Slot); function Cli_ConnectTo(Client : S7Object; Address : PAnsiChar; Rack, Slot : integer) : integer; Parameters Type Dir. Client Native Integer In The handle as return value of Cli_Create(), passed by value. Address Pointer to Ansi String In PLC/Equipment IPV4 Address ex. “192.168.1.12” Rack Integer In PLC Rack number (see below) Slot Integer In PLC Slot number (see below) Return value 0 : The Client is successfully connected (or was already connected). Other values : see the Errors Code List. Rack and Slot In addition to the IP Address, that we all understand, there are two other parameters that index the unit : Rack (0..7) and Slot (1..31) that you find into the hardware configuration of your project, for a physical component, or into the Station Configuration manager for WinAC. There is however some special cases for which those values are fixed or can work with a default as you can see in the next table. Rack Slot S7 300 CPU 0 2 Always S7 400 CPU Not fixed Follow the hardware configuration. WinAC CPU Not fixed Follow the hardware configuration. S7 1200 CPU 0 0 Or 0, 1 S7 1500 CPU 0 0 Or 0, 1 CP 343 0 0 Or follow Hardware configuration. CP 443 Not fixed Follow the hardware configuration. WinAC IE 0 0 Or follow Hardware configuration. In the worst case, if you know the IP address, run ClientDemo, set 0 as Rack and try to connect with different values of Slot (1..31). Mi ricordo che c'era una differenza fra i parametri per il 1200 ed il 1500, ma al momento mi sfugge: prova a cercare Snap7 sul forum, magari trovi qualcosa ... Link al commento Condividi su altri siti More sharing options...
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