Vai al contenuto
PLC Forum


Generare Codice Binario (0-15) Su 4 Uscite


Walter64

Messaggi consigliati

Ho fatto una ricerca con l'assistente con le seguenti parole: "generatore uscita binaria" ma il risultato mi porta a 1000 risposte +/- vaghe su tanti argomenti, che purtroppo hanno poco a che fare con la domanda in oggetto ....

In parole semplici, ho bisogno di generare in uscita (4 out) un segnale tipo binario, per pilotare, a parte una scheda autocostruita che a sua volta mi collega in sequenza 16 ingressi in tensione, su l'ingresso analogico di una CPU XP 224.

Come posso iniziare ....

Link al commento
Condividi su altri siti


Per iniziare devi scrivere le uscite :) Se ti spiegassi un poco di più e meglio, magari qualche consiglio più mirato potrebbe anche arrivare.

Link al commento
Condividi su altri siti

Con quattro uscite ottieni un campo di valori numerico da 0 a 15, che avrai su una variabile, ad esempio: VB1000.

Se non vuoi sporcare le altre uscite, facendo un semplice move, copierai i quattro bit più bassi della tua bariabile, sulle quattro uscite di destinazione:

Esempio AWL

U V1000.0

= Q0.0

U V1000.1

= Q0.1

U V1000.2

= Q0.2

U V1000.3

= Q0.3

Corretto con variabile ed uscite del tuo progetto.

Link al commento
Condividi su altri siti

Livio hai ragione, con il trucco delle 4 uscite ad esempio Q 0.0, Q 0.1, Q 0.2 e Q 0.3 vado a pilotare una scheda che integra un cmos 4067B, in base al codice binario in ingresso (generato dal PLC) collego a rotazione/sequenza una tensione generata da una sonda (temperatura) all'ingresso analogico, questa "tensione" (0-10 V) la utilizzo sia come termostato, sia come lettura a rotazione sul pannellino semplice TD 200, se per la parte termostato e visualizzazione sono "abbastanza" sistemato .... non lo sono sulla parte relativa a come generare il codice binario.

Volevo utilizzare una funzione tipo multiplexer con un solo ingresso sul XP 224, anche perchè, non ho una necessità di intervento rapido, in caso di utilizzo come "termostato".

Link al commento
Condividi su altri siti

Se ho capito bene, tu stai sviluppando un multiplexer tramite le uscite del plc ed un demultiplexer con il 4067.

Non è chiaro con che criterio desideri commutare l'uscita binaria del multiplexer plc: a tempo? Casuale? A soglia d'ingresso?

Comunque sia, utilizza la funzione MOVE per trasferire direttamente il tuo valore intero all'uscita, penserà la cpu a convertirla in binario.

Per es. se trasferisci il valore 10 al byte d'uscita 0 avrai 00001010, cioè Q1 e Q3 con stato alto e Q0 e Q2 basso.

Link al commento
Condividi su altri siti

A tempo, sfruttando come clock in questo caso, il merker SM0.4, ogni 30 secondi commuta l'uscita, poi non è detto che passi ad un sistema "manuale" chiudendo un ingresso del PLC con un pulsante, oppure utilizzando un tasto dedicato del TD 200

Link al commento
Condividi su altri siti

Le istruzioni più adatte sono quelle relative a Sift e Rotate. Se usi, ad esempio RRB (Rotate Rigth Byte) metti 1 come numero di passi e 1 come byte in ingresso, ad ogni clock questo questo 1 shifta di un posta a dx. Se usi solo, ad esempio, i bit dispari legandoli all tue uscite hai ottenuto il comando che desideri. Comunque ti basta leggere l'help in linea di microwin per aver chiare queste funzioni

Link al commento
Condividi su altri siti

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