da
Candy » 3 dic 2010, 21:48
Quando colleghi un segnale analogico, elettrico, ad una scheda, l'equivalente valore numerico viene convertito ed appoggiato su una word, dell'area degli ingressi E. Siccome sovente il configuratore, in automatico, assegna un indirizzo che non è compreso nell'area della IPI (image of periferic input), non puoi rilevare tale valore direttamente da questa area, ma solo chiedendo al programma di interrogare direttamente la periferia, (ovvero la scheda che converte l'elettrico in dato numerico).
Se l'istruzione:
L EW100 carica la word 100 dell'area immagine degli ingressi, in accumulatore 1;
l'istruzione:
L PEW100 carica la word 100, ma non dall'area immagine, bensì richiedendo l'immediato rinfresco alla scheda di conversione, nel tuo caso.
Tenendo conto che le CPU hanno una IPI ed IPO di 256 o 512 byte, (ma anche più), in automatico il configuratore, quando inserisci nel progetto una scheda analogica, assegna a questa un indirizzo al di fiuori delle aree di immagine e, quindi, puoi solo leggere i valori interrogando le periferie, appunto: L PEW...
Ma è pur vero che tale indirizzamento automatico lu puoi modificare, ed appoggiare il risultato della conversione nell'area IPI. In questo caso l'uso della istruzione L PEW... è una ripetizione e perdita ti tempo, mentre l'istruzione L EW... carica lo stesso dato in modo molto più immediato.
Ora, per finire il discorso, se la scheda analogica, nella fattispecie (ma anche in altre circostanze), è collegata al bus delle CPU, l'istruzione L PEW... non è pesante in termini di prestazioni; ma se la scheda fosse su un rack remoto, collegato in rete di campo, nel limite del possibile è sempre meglio allocare tutti in IPI ed IPO, per evitare lungaggini in tempo ciclo nell'incessanto uso di istruzioni su periferia: L PEW..., piuttosto che T PQW..., che rallentano inverosimilmente i tempi ciclo.