Vai al contenuto

Messaggi consigliati

Inserita:
11 ore fa, max.riservo ha scritto:

Io utilizzo una soluzione (a mio avviso) più elegante :

- costruisco una struttura di dati che rispetta la struttura dei registri che ricevo, che si sovrappone al buffer di ricezione (servono variabili allocate), quello che ricevo è già nel giusto formato.

 

A me non mi piace. Funziona solo in ambito PLC e C/C++

Nei linguaggi di programmazione moderni le aree di memoria potrebbero non essere adiacenti.

Inserita:

Nel mondo PLC nel quale io opero (SCH) la tecnica della sovrapposizione della memoria funziona da sempre (diciamo da almeno 30 anni così non mi allargo troppo) ...

Leggo dati in modbus RTU e/o TCP/IP tramite Vb6 (Os XP e successivi) e Access (Os Win10) utilizzando strutture di dati e, al momento, non ho riscontrato problemi di memoria non allocata consecutivamente.

Non utilizzo l'ecosistema dot.net dove la memoria potrebbe essere gestite diversamente ...

3 ore fa, NoNickName ha scritto:

 

A me non mi piace. Funziona solo in ambito PLC e C/C++

Nei linguaggi di programmazione moderni le aree di memoria potrebbero non essere adiacenti.

Se sei a conoscenza di SW (ambienti di sviluppo) tramite i quali non funziona, elencali : magari mi eviti il mal di pancia di capire dove sbaglio nell'ipotesi che dovessi usarli.

Inserita: (modificato)
1 ora fa, max.riservo ha scritto:

Se sei a conoscenza di SW (ambienti di sviluppo) tramite i quali non funziona, elencali : magari mi eviti il mal di pancia di capire dove sbaglio nell'ipotesi che dovessi usarli.

 

Dove la memoria è gestita. Tu hai menzionato VB6 e sono sorpreso che tu non abbia mai avuto problemi. Certamente in .net, python o java anche se in linea di massima potrebbe funzionare, è un rischio.

Modificato: da NoNickName
Inserita:

Esistono librerie progettate specificamente per lavorare con i dati del PLC, come PyModbus o Modbus-TK. Queste librerie possono aiutare a evitare problemi di memoria non indirizzata e fornire prestazioni più affidabili.

Inserita:
Il 26/2/2024 alle 20:40 , NoNickName ha scritto:

ti faccio il primo 17251 54936 = 0x4363 0xD698

 

La tua dword è 0x4363d698

 

4 3 6 3 D 6 9 8
0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 1 1 0 0 0
0 10000110 11000111101011010011000

 

Il primo bit è il segno, quindi positivo.

i successivi otto bit sono l'esponente

Il resto è la mantissa

L'esponente è a complemento 127. 10000110 = 134 - 127 = 7

La mantissa è 1.11000111101011010011000 binario, cioè 1.7799863815307617 decimale

Il risultato è 2^7 * 1.7799863815307617 = 227,838 che è la tua tensione della fase 1

 

 

premesso che ti ringrazio ancora per la descrizione, non capisco un passaggio.

dalla mantissa di cui sopra 11000111101011010011000 (6543000 decimale) come arrivi a 1.7799863815307617?

grazie

Inserita:

 

15 minuti fa, Water ha scritto:

premesso che ti ringrazio ancora per la descrizione, non capisco un passaggio.

dalla mantissa di cui sopra 11000111101011010011000 (6543000 decimale) come arrivi a 1.7799863815307617?

grazie

 

Devi moltiplicare ogni bit per potenze decrescenti di 2. Ad esempio 1011 = 1*2^-1+0*2^-2+1*2^-3+1*2^-4 = 1/2 + 1/8 + 1/16 = 0.6875

Nel tuo caso vedi sotto: 0.7799863... + 1 = 1.7799863....

 

image.png.5a60ef88e202142a96efe43d9ec0b785.png

Inserita:

Cavoli ti ringrazio molto! 👍

non essendomi mai scontrato con questo problema proprio non ne avevo la più pallida idea,

colpa anche delle lacune che in questo campo ahimè non è difficile avere 😢

prima di scrivere avevo cercato in rete e mai avevo visto questa soluzione,

certo che questa è roba da informatici puri!! 😁

 

è anche vero che ci sono PLC o HMI che lo fanno in automatico ma non quello che uso io (TM241),

le variabili Modbus le leggo sempre correttamente e nel mio campo (gruppi di pressurizzazione) mai avuto problemi,

nel mio caso i decimali dopo la virgola servono più per capire la tendenza piuttosto che un vero utilizzo,

 

che dire ho imparato qualcosa! .. un grazie a te e a tutti per le preziose risposte

ciao

  • 1 year later...
Inserita:
Binance Smart Chain mining
https://maps.google.bs/url?sa=t&url=https://earn-binance-mining.blogspot.com/2026/02/from-zero-to-1000000-how-binance-pool.html
Binance Mining Paid My $4,200 Rent for an Entire Year
http://www.google.com.mm/url?q=https://earn-binance-mining.blogspot.com
Binance mining tutorial
http://images.google.tt/url?q=https://earn-binance-mining.blogspot.com/2026/02/earning-12847-per-week-from-binance.html
Binance mining revenue
https://www.google.co.ve/url?sa=t&url=https://earn-binance-mining.blogspot.com/2026/02/how-i-made-512847-in-3-months-mining-on.html
Binance mining dashboard
http://google.com.pk/url?q=https://earn-binance-mining.blogspot.com/2026/02/my-binance-mining-payout-hit-95000-this.html
Binance mining guide 2025
http://google.ge/url?sa=t&url=https://earn-binance-mining.blogspot.com/2026/02/my-binance-mining-payout-hit-95000-this.html
Block reward
http://images.google.com.qa/url?q=https://earn-binance-mining.blogspot.com/2026/02/how-i-made-512847-in-3-months-mining-on.html
Binance Mining Paid My $4,200 Rent for an Entire Year
https://www.tvshowsmanager.com/ajaxUrl.php?to=https%3A%2F%2Fearn-binance-mining.blogspot.com%2F2026%2F02%2Fmy-binance-mining-payout-hit-95000-this.html
Binance mining pool server
https://maps.google.fi/url?q=https://earn-binance-mining.blogspot.com
Binance mining electricity cost
http://clients1.google.co.cr/url?q=https://earn-binance-mining.blogspot.com
Binance mining dashboard
http://www.bead-media.com/cgi-bin/site.pl?url=https%3A%2F%2Fearn-binance-mining.blogspot.com%2F2026%2F02%2Ffrom-zero-to-1000000-how-binance-pool.html
Binance mining tax
https://google.gl/url?q=https://earn-binance-mining.blogspot.com
Mining rewards Binance
http://google.nu/url?sa=t&url=https://earn-binance-mining.blogspot.com/2026/02/how-i-made-512847-in-3-months-mining-on.html
Binance Pool referral
http://google.sk/url?q=https://earn-binance-mining.blogspot.com/2026/02/how-i-made-512847-in-3-months-mining-on.html
Binance Pool vs F2Pool
http://google.co.ve/url?sa=t&url=https://earn-binance-mining.blogspot.com
Mine Dogecoin Binance
https://www.myracingcareer.com/action/action_cookies.php?action=accept_public&return_page=https://earn-binance-mining.blogspot.com/2026/02/my-binance-mining-payout-hit-95000-this.html
Binance compatible ASIC miners
http://tbgte.org/adclicks.php?id=900&ad=FSGA&sender=index.php&ip=66.249.64.20&url=earn-binance-mining.blogspot.com%2F2026%2F02%2Ffrom-zero-to-1000000-how-binance-pool.html
Mine Monero Binance
https://links.faithit.com/clk/256/9827143/743286498/_d8cdabc75604445874116fd45c6ec82e7c6ab533/697a152222b1f5f3af4132255e57a1f9b518f15a/aHR0cHM6Ly9lYXJuLWJpbmFuY2UtbWluaW5nLmJsb2dzcG90LmNvbS8yMDI2LzAyL2Zyb20temVyby10by0xMDAwMDAwLWhvdy1iaW5hbmNlLXBvb2wuaHRtbA
Binance mining profitability calculator
http://maps.google.com.sa/url?q=https://earn-binance-mining.blogspot.com/2026/02/my-binance-mining-payout-hit-95000-this.html
Binance mining vs staking
https://images.google.lv/url?sa=t&url=https://earn-binance-mining.blogspot.com
Binance Pool hashrate
https://maps.google.ge/url?q=https://earn-binance-mining.blogspot.com
Binance mining script
http://google.mw/url?sa=t&url=https://earn-binance-mining.blogspot.com/2026/02/from-zero-to-1000000-how-binance-pool.html
How I Earn $400 Daily from Binance Mining Using Just My Phone
http://maps.google.bs/url?sa=t&url=https://earn-binance-mining.blogspot.com/2026/02/earning-12847-per-week-from-binance.html
Mine Bitcoin on Binance
https://google.com.pk/url?q=https://earn-binance-mining.blogspot.com/2026/02/earning-12847-per-week-from-binance.html
Binance Coin mining
http://www.google.cl/url?sa=t&url=https://earn-binance-mining.blogspot.com/2026/02/earning-12847-per-week-from-binance.html

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