Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Simulazione Plc In C#


Messaggi consigliati

Federico Gaspari
Inserito:

Buongiorno a tutti,

Mi presento: mi chiamo Federico e sono uno studente/lavoratore.

Sono iscritto da poco a questo forum, spero di non aver sbagliato sezione!!!

Vorrei chiedere gentilmente consiglio su come affrontare il mio problema...

Mi è stato chiesto di creare una app in c# (visual studio 2012) che permetta di simulare un certo numero di plc "in parallelo" (numero che immetto da tastiera come input).

Tali plc, in fase di esecuzione del programma, potranno essere tutti attivi o attivi solo in un certo numero (anche questo parametro selezionabile).

Ora, mi è stato detto di basarmi su una comunicazione via socket; essendo alle prime armi non saprei proprio come partire.

Tale programma servirà solo come "tester", utile per capire quanti plc avviati in contemporanea può supportare un pc con le proprie caratteristiche hw.

Spero di essermi spiegato bene,

Vi ringrazio in anticipo per l'attenzione

A presto!

Federico


Gianmario Pedrani
Inserita:

Esiste una libreria, sanp7 che ti permette di creare una comunicazione con plc Siemen

Inserita:

Ciao Federico.

Premetto che non sono un esperto di C#.

Come pensi di "crearti" l'oggetto PLC all'interno di C# ?

A seconda della complessità dell'oggetto , del carico di programma da elaborare e della tecnica di elabprazione utilizzata il tutto può portare a risultati completamente diversi .

Dovrai probabilmente utilizzare il multi threading (ad esempio un thread per ogni "plc" emulato) .

Tra l'altro a meno che tu non utilizzi una patch RTOS (Real Time Operating System) l'esecuzione del codice non è deterministica quindi gli eventuali tempi di risposta dei "soft-plc" (ammesso di crearli con un adeguato livello di corrispondenza all'oggetto reale) sono imprevedibili con accuratezza.

Spero di essermi spiegato bene ....

Diciamo spiegazione "scarsa".

bigalex :blink:

Inserita:

Ciao,

per quanto riguarda l'"oggetto" PLC della tua richiesta, mi trovo d'accordo con Bigalex: hai dato veramente pochi dettagli.

Invece, per i socket, se cerchi bene in rete trovi un fottio di documentazione sia per C++ che per C# (lo so perchè qualche mese fa ho eseguito la stessa ricerca); in questo forum, nella c'è un mio progetto proprio con i socket, scritto in C++, sia con la classe CSocket delle MFC che con SOCKET della Microsoft, derivato dal socket di Berkeley.

Federico Gaspari
Inserita:

Buongiorno e buon inizio di settimana a tutti,

vi ringrazio tantissimo per le risposte, scusate il ritardo! Grazie all'aiuto di un collega ho risolto il mio problema...

Scusate per il disturbo!!! Buona giornata!!!!

Inserita: (modificato)

E condivideresti la soluzione, visto che questo è un forum di discussione?

Altri potrebbero essere interessati.

Modificato: da NoNickName

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