Jump to content
PLC Forum


Motion parametrico


Recommended Posts

luca31989
Posted

Ciao a tutti,

 

per un progetto devo utilizzare degli assi elettrici in modalità di sincronizzazione. Ho creato una Function block che si chiama motion contenente i seguenti fb:

  • MC_Power
  • MC_Reset
  • MC_MoveJog
  • MC_Movrerelative
  • MC_Moveabsolute
  • MC_Halt
  • MC_Home
  • MC_MoveVelocity
  • MC_Stop
  • MC_GearIn

 

Per ogni fb precedentemente elencato ho creato una DB di istanza. Questo però risulta scomodo quando devo richiamare quel blocchetto per N volte. E' possibile creare una DB di istanza nelle statiche della FB principale (ossia quella che richiama le viare MC)? Se si come?

 

Grazie

Luca

 


dina_supertramp
Posted (edited)

Modo "manuale"
Vai nell'area static dell'FB dichiara un nuovo dato e come tipo di dato dichiara MC_.......
Per vederlo disponibile nei tipi di dati devi aver richiamato almeno una volta l'istruzione all'interno dell'FB.

Modo "automatico"
Ogni volta che trascini un istruzione di motion dalla biblioteca, quando ti viene chiesta la creazione del DB d'istanza dichiara multi-istanza.


 

Esempio.png

Edited by dina_supertramp
dina_supertramp
Posted

Quello che stai chiedendo, in ambiente Siemens è chiamato: DB a multi-istanza.
Cioè sta istanziando un DB (in questo caso quello dell'oggetto motion) all'interno di un DB che è già d'istanza (quello dell'FB).
 

esempio 2.png

luca31989
Posted

Ciao,

 

grazie per la info. L'axis come lo dichiaro? Ho provato sia in input che in InOut di tipo ANY_DB ma non funziona. Funziona solo se trascino l'oggetto tecnologico.

 

Ciao

Luca

Mattia Spoldi
Posted

TO_PositioningAxis se asse di posizionamento

TO_SpeedAxis se asse di velocità

TO_SynchronousAxis se asse sincrono

luca31989
Posted

Ciao,

 

Grazie per le info. Che tu sappia ne esiste uno generico che raggruppa tutti e tre? Altrimenti dovrei fare tre librerire cambiando il tipo di oggetto tecnologico.

 

Grazie ancora

Luca

Mattia Spoldi
Posted (edited)

 

ti allego un sorgente che avevo iniziato a fare per fare la stessa cosa, l'ho abbandonato perchè avere un blocco di motion che fa tutto non mi piace, però fino a dove ero arrivato funzionava

 

nel caso volessi usarlo, è da completare con le funzioni mc che mancano, ma in ogni caso, toglierei la parte degli assi sincroni e la gestirei a parte

 

 

 

 

Edited by Mattia Spoldi

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...