Vai al contenuto
PLC Forum


Trasformare una variabile int da positiva a negativa


Dust

Messaggi consigliati

Buonasera a tutti, come da titolo, mi trovo a dover comandare un inverter mitsubishi profinet con lo step 7. 

In profinet non ha i comandi jog + e jog -, quindi devo inviargli la velocità in positivo come jog + e negativo come jog -, il problema è, come faccio a dare il segno meno ad una variabile int? 

Grazie a quanti mi aiuteranno

Link al commento
Condividi su altri siti


Metti ad 1 il bit più alto, magari facendo OR con 1000 0000 0000 0000. Però la variabiledeve essere una variabile intera con segno, se è intera senza segno ovviamente non ha effetto.

Link al commento
Condividi su altri siti

Funziona, funziona, tranquillo.

Prova ad aprire una tabella delle variabili dal menu sistema di destinazione > controlla e comanda variabili.

Dichiara la variabile in formato dec e vedrai che magicamente appare il segno.

Invece lo stato blocchi in formato decimale (mi sono sempre chiesto il perchè) non mostra mai interi a 16 bit negativi, neanche se la variabile è dichiarata INT nella tabella simboli, ma sempre valori da 0 a 65535.

E' una pecca dello stato blocchi.

Se invece provi a usare un double-int e poi la funzione negd vedrai i numeri negativi anche nello stato blocchi.

Link al commento
Condividi su altri siti

Quote

Ciao, ho provato ma non è così, ho usato anche negi ma non mette il segno meno..

Non può non essere così.

Significherebbe stracciare le basi della matematica e dell'informatica.

Controlla bene, come ti ha suggerito JumpMan, e vedrai che funziona.
Se l'inverter gira sempre nello stesso senso, devi cercare il problema da un'altra parte.

Link al commento
Condividi su altri siti

Grazie mille a tutti, ho risolto, il problema era in un parametro dell'inverter. Come sempre è errore umano.. siete sempre utilissimi, grazie!!

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