Quali linguaggi di programmazione esistono a scopo di meccatronica?

1

Esiste un linguaggio specifico progettato per la programmazione meccatronica? Conosco LabView, che è un linguaggio per il flusso di dati, ma non è sicuro della sua piattaforma principale.

Potresti raccomandare a me, alcune lingue oltre a c / c ++? Qualsiasi linguaggio utilizzato nel tema della meccatronica (robotica, programmazione dei sensori, ecc.)

    
posta Fred 27.11.2012 - 12:37
fonte

4 risposte

4

Prima di chiamare "meccatronica", nel settore l'hanno chiamato semplicemente "automazione". Il campo è dominato inizialmente in Nord America dalla logica ladder , che tutti in questo sito Web (tranne me) sarebbero assolutamente contrari se l'ho visto. Tuttavia ha i suoi scopi.

Negli ultimi 10 anni c'è molta più standardizzazione dei linguaggi di automazione, in particolare dello standard IEC-61131-3, che include le seguenti lingue:

  • LD (schema ladder) - a.k.a. logica ladder
  • FBD (Function Block Diagram) - simile alla tua labview
  • SFC (Diagramma funzionale sequenziale) - una macchina a stati fantasiosi o un diagramma di stato
  • ST (Structured Text) - un linguaggio di computer "normale" con una sintassi simile a BASIC / Pascal
  • IL (Elenco delle istruzioni) - un po 'come assemblaggio, ma non proprio

Nella vita reale (lo faccio per vivere) vedo un sacco di LD, e poi in secondo luogo un gruppo di FBD e ST. Io stesso ho usato SFC in diversi progetti negli ultimi 5 anni, e mi piacciono alcune delle sue caratteristiche, ma ha alcuni problemi (in particolare il recupero delicato dai guasti è solitamente più difficile in SFC che in LD).

Si noti che IEC-61131-3 è solo uno standard che individua i tipi di dati e le caratteristiche delle lingue, ma la sintassi di ciascuna lingua in genere varia notevolmente da un fornitore all'altro. Non puoi semplicemente esportare il codice dall'IDE di un fornitore e importarlo in un altro. Non sono compatibili.

C'era un altro linguaggio di automazione proprietario che ho usato, chiamato Steeplechase. È un linguaggio basato sul diagramma di flusso, simile all'SFC, ma più semplice. Credo che sia stato acquistato da Entivity, che è stato poi acquistato da Phoenix Contact, quindi penso che lo vendano ancora. Ricordo che aveva anche un motore logico ladder.

Modifica :

Per un esempio di logica ladder (e un po 'di SFC), ecco un tutorial introduttivo che ho scritto su come andare avanti con il software di programmazione logica ladder RSLogix 5000 di Rockwell Software per la popolare linea di PLC ControlLogix di Allen-Bradley: Esercitazione RSLogix 5000 . Ti darà una buona idea di come funziona, anche se l'esempio è un po 'forzato.

    
risposta data 27.11.2012 - 12:52
fonte
3

Sto usando la definizione di mechatronica di Wikipedia, che includerebbe cose comuni come lavastoviglie, freni ABS in auto, ecc.

@Scott offre un'ottima risposta per prodotti focalizzati su sistemi programmabili sul campo e su misura. Un'altra classe di prodotti - prodotti specifici sviluppati con cicli di produzione di 1000 o milioni di unità in mente (giocattoli / telecamere, sistemi automobilistici come ABS, apertura remota delle porte ecc .....), il software in questi sistemi di automazione non è distinguibile dai tradizionali sistemi integrati, utilizzando strumenti software identici e pratiche di sviluppo. La maggior parte di questi programmi sono programmati in linguaggi di uso generale incentrati sull'affidabilità, l'efficienza e la capacità di funzionare su sistemi con risorse limitate (ovviamente è necessario effettuare dei compromessi). Questi includono come C / C ++ (il più comune, quindi, deve essere menzionato nonostante la domanda) Modulo2, Ada, D. Più recentemente Erlang è stato progettato con principi più allineati alla meccatronica rispetto alla maggior parte dei linguaggi di uso generale.

    
risposta data 27.11.2012 - 22:00
fonte
1

In aggiunta alla risposta di Scotts, c'è anche un'altra strong forza nel campo dell'automazione industriale: Siemens. Il loro PLC, l'S7, è molto comune e viene fornito con linguaggi non-IEC-compatibili:

  • grafico (come SFC)
  • kop
  • fup
  • scl (come ST): un po ' paragonabile a un linguaggio di programmazione come C. In realtà è leggibile
  • awl (come IL): programmazione simile ad Assembler.

La lingua che preferisci è totalmente basata sulla tua decisione. Per una facile mappatura degli I / O e un semplice processo decisionale, vorrei attenermi a il / awl, se devo programmare cose più complesse, preferisco usare st / scl.

    
risposta data 28.11.2012 - 10:03
fonte
-1

Prima di tutto penso in realtà tutti i linguaggi di programmazione che ti permettono di scrivere hardware correlato. per esempio. C / C ++, Assembler. Secondo me, per la programmazione orientata all'hardware, non lo gestisci senza C / C ++. È la scelta migliore e più sicura. Ma puoi provarlo con Python! Esistono molte librerie orientate all'hardware per Pyro, myro. Cerco questo, ecco il mio risultato:

google python, sensor, robot

programmazione hardware python

    
risposta data 27.11.2012 - 13:02
fonte

Leggi altre domande sui tag