TEHNOLOGIJA VAGANJA · VLASTITI RAZVOJ · PODRŠKA
+386 2 320 33 46info@preciz.si

NEUTRON · PROTOKOL KOMUNIKACIJE

Neutron Modbus RTU/TCP — priručnik za integraciju

Referentni priručnik Neutron Modbus RTU/TCP za integraciju s PLC, SCADA i HMI sustavima: povezivanje, adresiranje, registri, umjeravanje i upravljanje automatskom kontrolnom vagom.

1. VERZIJE UPUTA

Tablica 1

Verzija

Datum

Opis promjene

1.0

Lipanj 2026.

Prvo izdanje uputa Neutron Modbus.

2. PREGLED

CloudScale Neutron NS i Neutron NT pružaju sučelje Modbus za čitanje podataka o vaganju, statusnih informacija, digitalnih I/O i podataka umjeravanja te za izvršavanje odabranih naredbi vage. Sučelje je namijenjeno integracijama s PLC-om, SCADA-om, HMI-jem, MES-om i prilagođenim softverom.

Neutron podržava sljedeće Modbus transportne varijante:

  • Modbus RTU putem sučelja RS-232 ili RS-485. Zadani ID podređenog uređaja / jedinice Modbus je 1.

  • Modbus TCP kroz Wi-Fi ili Ethernet. Uobičajeni TCP port je 502.

Dostupne funkcije i područja registara čine isto logičko sučelje za Modbus TCP i Modbus RTU, osim što TCP koristi Unit Identifier samo gdje to zahtijeva klijent ili pristupnik.

Važno: komunikacijski parametri poput postavki serijskog porta i mreže moraju se konfigurirati u uređaju Neutron prije povezivanja nadređenog uređaja Modbus. Uređaj koristi adresu Modbus postavljenu parametrom MBA.

3. POVEZIVANJE I AKTIVACIJA

3.1 MODBUS TCP

Modbus TCP je dostupan putem mrežne veze Neutron. Koristi IP adresu dodijeljenu uređaju i TCP port 502. TCP komunikacija ne zahtijeva konfiguraciju serijskih linija.

Za korištenje Modbus TCP odaberite Modbus TCP među komunikacijskim sučeljima vage (parametar SCI). Modbus TCP možete koristiti istodobno s drugim sučeljima, primjerice RS-232 za komunikaciju s računalom putem protokola CSCP.

Tablica 2

Konfiguracija

Rezultat

SCI = 10

Omogući samo Modbus TCP.

SCI = 5,10

Omogućuje uobičajenu komunikaciju vage putem RS-232 zajedno s Modbus TCP.

SCI = 6,10

Omogućuje uobičajenu komunikaciju vage putem RS-485 zajedno s Modbus TCP.

MBA

Postavlja adresu podređenog uređaja / jedinice Modbus. Zadano: 1.

TCP port

502

Gdje je prikazano nekoliko SCI vrijednosti, podesite sučelja prema odabranoj Neutron komunikacijskoj konfiguraciji. Nakon primjene promjena konfiguracije, ponovno pokrenite komunikaciju ili uređaj gdje je potrebno u konfiguracijskom izborniku.

3.2 TIPIČNA TCP VEZA

Tablica 3

Stavka

Primjer

Nadređeni uređaj Modbus

PLC, SCADA, HMI or industrial PC

Transport

Ethernet ili Wi-Fi TCP/IP

Odredišna adresa

IP adresa uređaja Neutron

Servisni port

502

Unit ID

MBA vrijednost; uobičajeno 1

Za stabilnu industrijsku instalaciju, Ethernet se preporučuje kad god je dostupna žična mreža. Wi-Fi dodaje latenciju ovisnu o mreži i treba je procijeniti u okolini aplikacije.

3.3 MODBUS RTU (RS-232/RS-485)

Modbus RTU može se koristiti preko RS-232 ili RS-485. Postavke serijske komunikacije nadređenog uređaja Modbus moraju odgovarati postavkama serijskog sučelja konfiguriranima u uređaju Neutron. Modbus ID podređenog uređaja postavlja se parametrom MBA i zadano iznosi 1.

Za korištenje Modbus RTU odaberite Modbus RS-232 ili Modbus RS-485 među komunikacijskim sučeljima vage (parametar SCI).

Tablica 4

Sučelje

Tipično načelo ožičenja

Važna napomena

RS-232

Povežite TX, RX i GND između uređaja Neutron i nadređenog uređaja Modbus. TX/RX možda treba križno povezati, ovisno o tome jesu li priključeni portovi DTE ili DCE.

Koristite kratke veze od točke do točke i zajedničku signalnu masu.

RS-485

Povežite A s A i B s B prema oznakama priključaka obaju uređaja; povežite referencu signala / GND gdje to zahtijeva instalacija.

Koristite lančanu topologiju. Nemojte koristiti zvjezdasto ožičenje. Terminaciju voda primijenite samo na dva fizička kraja, gdje je potrebna.

Uvijek slijedite oznake priključaka uređaja Neutron i shemu ožičenja isporučenu uz uređaj. Proizvođači ne označavaju uvijek polaritet RS-485 na isti način; ako se komunikacija ne uspostavi, provjerite polaritet A/B i konfiguraciju nadređenog uređaja.

4. ADRESIRANJE I PRIKAZ PODATAKA

Ove upute koriste konvencionalni referentni zapis Modbus (primjerice 40101). Mnogi klijentski alati Modbus koriste početne adrese s polazištem u nuli. U takvim alatima uklonite vodeću znamenku područja registara i oduzmite 1 od referentne adrese.

Tablica 5

Referentni zapis

Početna adresa s polazištem u nuli

Primjer

40001
0

Holding registar 40001

40101
100

Holding registar 40101

40232
231

Holding registar 40232

40380
379

Holding registar 40380

Prije puštanja u rad provjerite način adresiranja nadređenog uređaja Modbus. Pomak od jednog registra najčešći je razlog pogrešnog tumačenja podataka.

4.1 FORMAT MASE

  • Bruto masa, neto masa i tara predstavljene su 32-bitnim cijelim brojevima s predznakom pohranjenima u dva uzastopna 16-bitna registra.

  • Najprije se prenosi viša riječ (redoslijed registara big-endian).

  • Položaj decimalnog mjesta navodi se u registru konfiguracije izlaza/statusa, bitovi 14..13.

  • Registri bruto i neto mase visoke razlučivosti 40109–40112 koriste dva dodatna decimalna mjesta kada je vrijednost visoke razlučivosti dostupna.

Primjer: kada polje decimalnog položaja označava 2 decimale, 32-bitna vrijednost s predznakom 12345 predstavlja 123.45 u aktivnoj jedinici. Jedinica je dostupna u registru 40113, a kodirana je i u registru konfiguracije izlaza/statusa.

5. PODRŽANE FUNKCIJE MODBUS

Tablica 6

Funkcija

Naziv

Primjena u uređaju Neutron

01

Read Coils

Čita stanja digitalnih izlaza (coils 1..6 odgovaraju DO1..DO6).

03

Read Holding Registers

Čita registre u koje je moguć upis i registre povezane s naredbama.

04

Read Input Registers

Čita procesne podatke, mase i statusne registre.

05

Write Single Coil

Postavi jedan digitalni izlaz gdje je izlazna funkcija onemogućena.

06

Write Single Register

Upisuje jedan holding registar, uključujući polja povezana s naredbama.

15

Write Multiple Coils

Postavi višestruke digitalne izlaze gdje su funkcije onemogućene.

16

Write Multiple Registers

Upisuje naredbu, parametre i podatke umjeravanja kao blok.

Upisi na izlaze kojima upravlja konfigurirana izlazna funkcija odbijaju se. Tipični izlazi kojima upravlja funkcija uključuju izlaze tolerancije i doziranja.

6. MAPA REGISTARA PROCESNIH PODATAKA

6.1 GLAVNI PROCESNI REGISTRI

Tablica 7

Referenca ulaznog / holding registra

Opis

Vrsta podataka / napomene

30001-30002 / 40001-40002

Bruto masa

INT32 s predznakom, big-endian redoslijed registara.

30003-30004 / 40003-40004

Neto masa

INT32 s predznakom, big-endian redoslijed registara.

30005 / 40005

Status vage

Bitno polje; pogledajte odjeljak 6.3.

30006 / 40006

Status naredbe

Stanje obrade naredbe.

30007 / 40007

Konfiguracija izlaza/statusa

Bitno polje: izlazi, jedinica i položaj decimalnog mjesta.

Glavna mapa omogućuje jednostavnim nadređenim uređajima dohvat neto ili bruto mase i ključnih statusnih podataka korištenjem malog neprekinutog raspona registara.

6.2 PROŠIRENI PROCESNI REGISTRI

Tablica 8

Holding registar

Opis

Vrsta podataka / napomene

40101-40102

Bruto masa

INT32 s predznakom.

40103-40104

Neto masa

INT32 s predznakom.

40105-40106

Tara

INT32 s predznakom.

40107

Status vage

Bitno polje; pogledajte odjeljak 6.3.

40108

Konfiguracija izlaza/statusa

Bitno polje; pogledajte odjeljak 6.3.

40109-40110

Bruto masa visoke razlučivosti

INT32 s predznakom; dva dodatna decimalna mjesta kada su dostupna.

40111-40112

Neto masa visoke razlučivosti

INT32 s predznakom; dva dodatna decimalna mjesta kada su dostupna.

40113

Jedinica

0 = g; 1 = kg; 2 = t; 3 = lb.

40114

Digitalna ulazna maska

Bitovi 0..5 = DI1..DI6.

40115

digitalna izlazna maska

Bitovi 0..5 = DO1..DO6.

40116

maska funkcije izlaza

Postavljen bit znači da odgovarajućim izlazom upravlja funkcija.

40117

ADC točke

Neobrađena ADC vrijednost.

40119

Milivolti

Signal mjerne ćelije u mV.

40231

Status naredbe

Stanje obrade naredbe.

40232

Naredba

Ovdje upišite kôd naredbe.

40233

Parametar naredbe 1

Neobvezni parametar naredbe u 40232.

6.3 BITNA POLJA STATUSA I KONFIGURACIJE

6.3.1 STATUSNI REGISTAR VAGE (30005 / 40005 / 40107)

Tablica 9

Bit

Značenje (ako je vrijednost bita=1)

0

Neto masa je negativna.

1

Bruto masa je negativna.

2

Masa je stabilna.

3

Stanje premalog opterećenja.

4

Preopterećenje.

5

Tara je aktivna.

6

Unaprijed zadana / ručna tara je aktivna.

7

Bruto masa je nula.

8

Digitalni ulaz 1 je aktivan.

9

Digitalni ulaz 2 je aktivan.

10

Aktivna je pogreška vage / ADC-a.

6.3.2 REGISTAR KONFIGURACIJE IZLAZA/STATUSA (30007 / 40007 / 40108)

Tablica 10

Bit(i)

Značenje

0..5

Digitalni izlazni status: DO1..DO6.

6..7

Kôd aktivne jedinice: 0 = g; 1 = kg; 2 = t; 3 = lb.

8

Pogreška vage / mjerne ćelije.

13..14

Kôd položaja decimalnog mjesta za standardne vrijednosti mase.

Za aplikacije kojima su potrebna sva stanja izlaza koristite registar 40115. Registrom 40116 utvrdite koje izlaze trenutačno koristi aktivna funkcija.

7. NAREDBE I DIGITALNI IZLAZI

7.1 RAD REGISTRA NAREDBI

Upišite kôd naredbe u holding registar 40232. Neobvezni parametar upišite u 40233 prije izdavanja naredbe. Status naredbe može se očitati iz 40231. Kôd naredbe 0 poništava zaštitu od ponavljanja i omogućuje ponovno izvršavanje iste naredbe.

Tablica 11

Kôd naredbe

Parametar 40233

Radnja

0
-

Bez naredbe; poništi zaštitu od ponavljanja.

1
0

Nuliranje nakon provjere stabilnosti.

1
1

Trenutačno nuliranje.

2
0

Tariranje nakon provjere stabilnosti.

2
1

Trenutačno tariranje.

3
-

Obriši taru.

25

Bitna maska izlaza

Postavlja digitalne izlaze prema bitnoj maski.

Prečac: upis koda naredbe u holding registar 40001 također izvršava naredbu. Za predvidivu integraciju preporučuju se prošireni registri naredbi 40232 i 40233, osobito kada je potreban parametar.

7.2 DIGITALNI IZLAZI

  • Coils 1..6 odgovaraju DO1..DO6.

  • Koristi funkcije 01, 05 i 15 za čitanje ili pisanje zavojnica.

  • Izlaz se može promijeniti kroz Modbus samo ako je njegova izlazna funkcija onemogućena.

  • Ako izlazom upravlja tolerancija, doziranje ili druga aktivna funkcija, uređaj odbija upise na taj izlaz putem protokola Modbus.

Primjer: za aktiviranje DO1 i DO3 kodom naredbe 25 upišite binarnu bitnu masku 000101 (decimalno 5) u 40233, a zatim upišite 25 u 40232. Provjerite rezultat putem registra 40115 ili coils 1..6.

8. SUČELJE ZA UMJERAVANJE

Umjeravanje se provodi putem holding registara. Podaci uspješnog umjeravanja pohranjuju se u flash memoriju. Ako umjeravanje ne uspije, promijenjeni podaci ne spremaju se.

8.1 PODACI UMJERAVANJA

Tablica 12

Referenca holding registra

Početak s polazištem u nuli

Opis

40300
299

Bitno polje statusa umjeravanja.

40301
300

Kanal vage.

40302
301

Broj decimalnih mjesta za mase koje se koriste pri umjeravanju.

40303
302

Broj valjanih točaka umjeravanja.

40304-40305
303

Nulta ADC točka, INT32 s predznakom.

Tablica 13

Bit statusa umjeravanja

Značenje

0

Nulta točka postoji.

1

Postoji prva točka umjeravanja s opterećenjem.

2

Vaga ima minimalno valjano umjeravanje.

8

Aktivna je pogreška vage / ADC-a.

8.2 BLOKOVI TOČAKA UMJERAVANJA

Točka 1 počinje na 40310 (početak s polazištem u nuli 309). Svaka točka umjeravanja koristi osam registara. Početni registar točke N je 40310 + ((N - 1) x 8).

Tablica 14

Pomak u bloku točke

Opis

+0

Zastavica valjanosti: 0 = nevaljano; 1 = valjano.

+1..+2

Masa za umjeravanje, INT32 s predznakom.

+3..+4

ADC točka, INT32 s predznakom.

+5..+6

Faktor x100, INT32 s predznakom.

+7

Rezervirano.

Primjeri: točka 1 = 40310-40317; točka 2 = 40318-40325; točka 3 = 40326-40333; točka 8 = 40366-40373.

8.3 NAREDBE ZA UMJERAVANJE

Tablica 15

Referenca holding registra

Početak s polazištem u nuli

Opis

40380
379

Naredba.

40381
380

Broj točke.

40382-40383
381

Masa za umjeravanje, INT32 s predznakom.

40384
383

Zastavice.

40385
384

Okidač.

40386
385

Rezultat naredbe.

40387
386

Zadnja izvršena naredba.

Tablica 16

Naredba

Opis

1

Umjeri nulu.

2

Umjeri točku s opterećenjem.

3

Obriši točku umjeravanja.

4

Briši nultu točku.

5

Obriši sve podatke umjeravanja.

6

Učitaj/inicijaliziraj vagu.

Registar zastavica 40384: bit 0 određuje zahtijeva li se stabilnost. Vrijednost 0 izvršava radnju odmah; vrijednost 1 zahtijeva stabilan ADC prosjek. Svi ostali bitovi zastavica rezervirani su.

Tablica 17

Rezultat 40386

Značenje

0

OK.

1

Neispravna naredba.

2

Neispravni podaci.

3

Nije dopušteno.

4

Nepodržana naredba.

5

Umjeravanje nije uspjelo.

8.4 SLIJED OKIDANJA

Firmware obrađuje umjeravanje samo kada se registar okidanja 40385 promijeni na vrijednost različitu od nule. Za svaku naredbu umjeravanja primijenite sljedeći slijed:

  1. Upišite naredbu i sve potrebne parametre.

  2. Upišite 40385 = 1 za izvršavanje radnje.

  3. Pričekajte dovršetak naredbe i očitajte 40386.

  4. Upišite 40385 = 0 za poništavanje okidača.

  5. Za sljedeću naredbu upišite parametre i ponovno promijenite 40385 na 1.

8.5 PRIMJERI

Tablica 18

Naredba

Umjeravanje nule

Namjena

Write Multiple Registers s početkom na adresi 379 s polazištem u nuli.

Odgovori

40380 = 1

Naredba: umjeravanje nule.

40381 = 0

Broj točke se ne koristi.

40382 = 0; 40383 = 0

Masa za umjeravanje se ne koristi.

40384 = 1

Zahtijeva stabilan ADC prosjek.

40385 = 1

Okidanje radnje.

Čitajte 40386

Očekivan rezultat: 0 (OK).

Tablica 19

Naredba

Umjeri točku 1 opterećenjem od 10.000 kg

Namjena

Za 40302 = 3 pomnožite masu za umjeravanje s 1000.

Odgovori

40380 = 2

Naredba: umjeravanje točke s opterećenjem.

40381 = 1

Broj točke 1.

40382-40383 = 10000

10.000 kg x 1000.

40384 = 1

Zahtijeva stabilan ADC prosjek.

40385 = 1

Okidanje radnje.

Čitajte 40386

Očekivan rezultat: 0 (OK).

Tablica 20

Naredba

Obriši točku 1

Namjena

Ukloni prvu točku umjeravanja.

Odgovori

40380 = 3

Naredba: obriši točku umjeravanja.

40381 = 1

Broj točke 1.

40385 = 1

Okidanje radnje.

Tablica 21

Naredba

Obriši sve podatke umjeravanja

Namjena

Ukloni sve pohranjene podatke umjeravanja.

Odgovori

40380 = 5

Naredba: obriši sve podatke umjeravanja.

40385 = 1

Okidanje radnje.

9. PUŠTANJE U RAD I OTKLANJANJE POTEŠKOĆA

  1. Konfigurirajte SCI za potrebnu kombinaciju sučelja i postavite MBA na željeni ID podređenog uređaja / jedinice Modbus.

  2. Za Modbus TCP provjerite IP adresu i povežite se s TCP portom 502. Za Modbus RTU uskladite serijske parametre i provjerite ožičenje.

  3. Očitajte poznati registar poput 40113 (jedinica) ili 40107 (status vage) kako biste provjerili adresiranje.

  4. Očitajte 40101-40106 i dekodirajte 32-bitne vrijednosti bruto, neto i tare s predznakom prema navedenom položaju decimalnog mjesta.

  5. Provjerite status vage te digitalne ulaze i izlaze prije omogućavanja upravljačkih funkcija.

  6. Registre naredbi i funkcije umjeravanja koristite tek nakon potvrde da su aktivni odgovarajući kanal vage i stanje aplikacije.

9.2 ČESTE POTEŠKOĆE

Tablica 22

Simptom

Vjerojatni uzrok

Radnja

Nema odgovora Modbus

Komunikacijsko sučelje vage (SCI) nije konfigurirano za odabrano sučelje; pogrešan IP/port ili serijske postavke; neispravno ožičenje.

Provjerite SCI, TCP port 502, MBA, mrežnu dostupnost, serijske parametre i fizičko ožičenje.

Vrijednosti izgledaju pomaknuto ili nevaljano

Klijent koristi pogrešnu pretvorbu referentne adrese u adresu registra s polazištem u nuli; 32-bitne riječi dekodirane su pogrešnim redoslijedom.

Provjerite način adresiranja klijenta i koristite INT32 s predznakom uz redoslijed registara big-endian.

Masa ima pogrešan položaj decimalnog mjesta

Klijent zanemaruje konfiguraciju položaja decimalnog mjesta ili format visoke razlučivosti.

Očitajte 40108 i primijenite bitove 14..13; registre visoke razlučivosti koristite samo kada su potrebni.

Nije moguć upis izlaza

Izlazom upravlja dodijeljena funkcija.

Očitajte 40116 i isključite odgovarajuću izlaznu funkciju prije upravljanja izlazom putem protokola Modbus.

Ista se naredba ne izvršava ponovno

Zaštita od ponavljanja nije poništena.

Upišite naredbu 0 u 40232, a zatim ponovno izdajte naredbu.

Naredba umjeravanja nema učinka

Okidač se nije promijenio na vrijednost različitu od nule ili nije poništen nakon prethodne naredbe.

Postavite sve parametre, promijenite 40385 na 1, očitajte 40386, a zatim ponovno upišite 0 u 40385.

Sigurnosna napomena: Umjeravanje, nuliranje, tariranje i upravljanje izlazima mogu utjecati na rezultat vaganja i povezane strojeve. Primijenite kontrolu pristupa, provjeravajte naredbe u nadređenoj aplikaciji i osigurajte da su sve radnje u skladu s primjenjivim mjeriteljskim zahtjevima i zahtjevima sigurnosti strojeva.

10. Automatska kontrolna vaga

Ovo poglavlje opisuje osnovno sučelje CHECKWEIGHER, verziju mape registara 1. Podržava čitanje statusa procesa i posljednjeg dovršenog rezultata, odabir postojećeg recepta, postavljanje automatskog pokretanja te START / STOP / STOP NOW / RESET. Uređivanje recepata, konfiguriranje filtara, odabir aplikacije, dodjela I/O funkcija i detaljni tok dijagnostičkih podataka nisu uključeni. To konfigurirajte putem uobičajenog sučelja za postavljanje prije upotrebe ovog bloka.

10.1 Povezivanje i adresiranje

Mapa je jednaka za Modbus TCP i omogućena sučelja Modbus RTU. Koristite jednog upravljačkog klijenta / nadređeni uređaj; dodatni čitači mogu nadzirati podatke. Postoji jedan zajednički pretinac naredbi za sve transporte, a ne po jedan za svakog klijenta. Nemojte koristiti zahtjeve za emitiranje svim uređajima za ovo sučelje. Prije upravljanja očitajte blok i potvrdite application=4 (CHECKWEIGHER), kanal i valjanost snimke stanja.

Adrese u nastavku PDU adrese su s polazištem u nuli. Za klijente koji koriste zapis 4xxxx vrijedi referenca = 40001 + adresa: adresa 400 je 40401, a adresa 480 je 40481. Za čitanje koristite funkciju 03 (ili 04). Naredbe upisujte isključivo funkcijom 16 (0x10), s početkom na 480 i upisom točno osam registara. Funkcija 06 i djelomični upisi odbijaju se. Registri rezultata/statusa dostupni su samo za čitanje. Razmak između bloka za čitanje i bloka za upis nije čitljiv.

Očitajte adresu 400, count 48 za dohvat statusa, potvrde naredbe i posljednjeg rezultata u jednom zahtjevu. Alternativno očitajte 400/count 24 za status ili 424/count 24 za rezultat. Sve 32-bitne vrijednosti prenose najprije višu riječ; svaki registar koristi standardni redoslijed Modbus s višim bajtom prvim. Nemojte dijeliti 32-bitnu vrijednost između zasebnih zahtjeva.

10.2 Mapa registara statusa i rezultata

Tablica 23

PDU / referenca

Riječi

Naziv / vrsta

Opis

400 / 40401
1

MAP_VERSION / UINT16

1 za ovu mapu.

401 / 40402
2

BOOT_ID / UINT32

Nenulti nasumični token sesije generiran pri pokretanju uređaja. Ponovite ga pri svakom upisu; ne zadržava se nakon ponovnog pokretanja. To nije sigurnosna vjerodajnica.

403 / 40404
1

CHANNEL / UINT16

Trenutačni kanal vaganja.

404 / 40405
1

APPLICATION / UINT16

Mora biti 4 za kontrolu.

405 / 40406
1

STATE / UINT16

0 IDLE; 1 START_CHECK; 2 RUN; 3 DRAINING; 4 PAUSED; 5 STOPPED; 6 ERROR; 7 CONS_LOST.

406 / 40407
1

ACTIVE_ID / UINT16

Izabrani recept; može se razlikovati od RESULT_ID prethodnog proizvoda.

407 / 40408
1

AUTOSTART / UINT16

Trajna postavka CWAUTO: 0 onemogućeno, 1 omogućeno.

408 / 40409
1

PROCESS_ERROR / UINT16

Trenutačna blokirajuća pogreška procesa; 0 nema pogreške.

409 / 40410
1

BELT / UINT16

Logički zahtjev za pokretanje trake, 0/1; nije povratna informacija motora.

410 / 40411
1

CONS / INT16

-1 (0xFFFF) nije dodijeljen; 0 nije aktivan; 1 aktivan.

411 / 40412
1

PQ / UINT16

Proizvodi na čekanju.

412 / 40413
1

EQ / UINT16

Izlazni događaji na čekanju / aktivni izlazni događaji.

413 / 40414
1

AUTO_STATE / UINT16

Ishod automatskog pokretanja: pogledajte 10.5.

414 / 40415
1

AUTO_ERROR / UINT16

Pogreška automatskog pokretanja pri uključivanju uređaja; 0 nema pogreške.

415 / 40416
1

SNAPSHOT_VALID / UINT16

1 upotrebljiva snimka stanja; 0 nedostupna. Prije upravljanja provjerite i APPLICATION.

416 / 40417
2

REQUEST_ID / UINT32

Zadnji prihvaćeni zahtjev; promjene odmah po prihvaćanju.

418 / 40419
2

ACK_ID / UINT32

Posljednji dovršeni zahtjev. 0 znači da od pokretanja nije bilo nijednog.

420 / 40421
1

COMMAND_STATE / UINT16

0 IDLE; 1 BUSY; 2 DONE; 3 ERROR.

421 / 40422
1

COMMAND_ERROR / UINT16

Aplikacijska pogreška dovršenog zahtjeva; pogledajte 10.4.

422 / 40423
1

APPLIED_MASK / UINT16

Bit 0 primijenjen odabir recepture; bit 1 primijenjeno automatsko pokretanje. Može biti različito od nule kada START ne uspije.

423 / 40424
1

LAST_COMMAND / UINT16

Kôd naredbe posljednjeg prihvaćenog zahtjeva.

424 / 40425
2

RESULT_SEQ / UINT32

Sekvenca zadnjeg završenog proizvoda; usporedite zajedno s BOOT_ID.

426 / 40427
1

RESULT_ID / UINT16

Receptura korištena za ovaj rezultat.

427 / 40428
1

RESULT_FLAGS / UINT16

Bit 0 rezultat postoji; bit 1 masa je valjana i može se prikazati; bit 2 granice se mogu prikazati; bit 3 preljev ili nevaljana brojčana pretvorba.

428 / 40429
1

DECIMALS / UINT16

Decimalna mjesta za W, LO i HI ovog rezultata.

429 / 40430
1

UNIT / UINT16

0 g; 1 kg; 2 t; 3 lb; 4 oz; 5 N; 65535 drugo/nepoznato. Za nepoznate jedinice nemojte pretpostaviti g.

430 / 40431
2

W / INT32

Neto masa uključujući taru; podijelite s 10^DECIMALS. Koristite samo kada je postavljen bit 1 u RESULT_FLAGS.

432 / 40433
2

LO / INT32

Donja granica tolerancije; koristite samo kada je postavljen bit 2 zastavica.

434 / 40435
2

HI / INT32

Gornja granica tolerancije; koristite samo kada je postavljen bit 2 zastavica.

436 / 40437
1

WS / UINT16

Razvrstavanje prema masi: 0 LOW; 1 OK; 2 HIGH; 3 ERROR.

437 / 40438
1

LTS / UINT16

Duljina: 0 OK; 1 LENGTH_LOW; 2 LENGTH_HIGH; 3 DISABLED.

438 / 40439
1

RESULT / UINT16

0 LOW; 1 OK; 2 HIGH; 3 ERROR; 4 OVERLAP; 5 ABORTED; 6 ABORTED_CONS.

439 / 40440
1

PRODUCT_ERROR / UINT16

Pogreška ovog proizvoda; odvojena od PROCESS_ERROR.

440 / 40441
1

NS / UINT16

Prihvaćeni uzorci posljednjeg dovršenog rezultata, prije izostavljanja rubnih uzoraka; nije broj uzoraka trenutačnog proizvoda.

441 / 40442
2

TD / UINT32

Vrijeme otkrivanja u milisekundama od pokretanja; vraća se na početak nakon približno 49.7 dana.

443 / 40444
2

ET / UINT32

Milisekunde od otkrivanja do rezultata.

445 / 40446
2

LT / UINT32

Trajanje stanja ON senzora proizvoda u milisekundama; 0 u načinu okidanja masom.

447 / 40448
1

RESERVED / UINT16

0; ignoriraj za inačicu 1.

Status i posljednji rezultat kopiraju se uz zaključavanje procesa. Svaki odgovor sadrži dosljedan presjek stanja; sljedeći zahtjev može vidjeti novije podatke. RESULT_SEQ, RESULT_ID, DECIMALS i UNIT pripadaju pohranjenom rezultatu, a ne trenutačno odabranom receptu. Prije prvog rezultata bit 0 zastavica nije postavljen: polja rezultata ispunjena nulama nemojte tumačiti kao stvarni proizvod mase nula. Čitanje nikada ne troši niti briše rezultat.

Primjer: W high=0x0000, low=0x07D1 daje cijeli broj s predznakom 2001. Uz DECIMALS=1 i UNIT=0 masa iznosi 200.1 g. Negativne vrijednosti koriste 32-bitni dvojni komplement. Ako pretvorba premaši INT32 ili se vrijednost vage ne može predstaviti, odgovarajući bit valjanosti nije postavljen, njegovi brojčani registri su nula i postavljen je bit 3 zastavica. Izvorni rezultat proizvoda ne mijenja se.

10.3 Upravljački blok za jedan upis

Tablica 24

Adresa / referenca

Naziv

Vrijednost

480 / 40481
COMMAND

0 samo postavke; 1 START; 2 STOP DRAIN; 3 STOP NOW; 4 RESET.

481 / 40482

CHANGE_MASK

Bit 0: odaberi RECIPE_ID. Bit 1: postavi AUTOSTART. Ostali bitovi moraju biti 0.

482 / 40483

RECIPE_ID

1–500 kada je postavljen bit 0 maske. U suprotnom upišite 0. Receptura mora već postojati.

483 / 40484
AUTOSTART

0 ili 1 kada je postavljen bit 1 maske. U suprotnom upišite 0.

484–485 / 40485–40486

REQUEST_ID

UINT32, high word first. Next nonzero ID after ACK_ID. First request is 1; after 0xFFFFFFFF use 1.
486–487 / 40487–40488

BOOT_ID

UINT32, high word first. Echo the current token from 401–402.

Za COMMAND 2, 3 ili 4, CHANGE_MASK, RECIPE_ID i AUTOSTART moraju svi biti 0. Postavke se mogu kombinirati s COMMAND 0 ili 1. Promjene odabira recepta i automatskog pokretanja zahtijevaju zaustavljen proces iz kojeg su svi proizvodi izašli. START bez bita promjene recepta pokreće trenutačno odabrani recept. Odabir aplikacije i izrada recepta ostaju izvan opsega protokola Modbus.

Cijeli se okvir provjerava prije prihvaćanja. Djelomični upisi kontrolnog bloka nemaju učinka. Uobičajen odgovor funkcije 16 znači da je zahtjev prihvaćen u pretinac naredbi, a ne da je START uspio. Izvršavanje se odvija iz postojeće glavne petlje. Ponavljajte očitanje dok ACK_ID ne bude jednak poslanom ID-u, a COMMAND_STATE bude DONE ili ERROR. BUSY može trajati prekratko da biste ga uočili; prije prihvaćanja DONE nikada nemojte zahtijevati prethodno opažanje tog stanja.

U svakom trenutku neka samo jedan zahtjev čeka odgovor. Ako istekne vrijeme upisa, ponovno očitajte BOOT_ID, REQUEST_ID i ACK_ID. Ako se token pokretanja nije promijenio, po potrebi ponovno pošaljite potpuno istih osam riječi. Ponavljanje posljednjeg prihvaćenog zahtjeva s identičnim podacima potvrđuje se bez ponovnog izvršavanja, bez obzira na to je li zahtjev u tijeku ili je dovršen. Isti ID s promijenjenim podacima, preskočeni/stari ID-ovi, drukčiji token pokretanja ili dodatni zahtjev dok je stanje BUSY odbijaju se. Nakon ponovnog pokretanja uskladite se s novim tokenom i trenutačnim stanjem procesa; nemojte automatski ponavljati stari START.

Za otkrivanje duplikata zadržava se samo posljednji zahtjev; ne postoji trajni dnevnik naredbi. Ponovno pokretanje mreže bez ponovnog pokretanja uređaja ne briše pretinac naredbi. Ovaj protokol pretpostavlja jedan upravljački PLC i ne rješava sukobe više klijenata koji upisuju podatke. Token pokretanja i brojač zahtjeva sprječavaju slučajna ponavljanja, a ne neovlašten pristup.

10.4 Primijenjene postavke, rezultati naredbi i pogreške

Najprije se primjenjuje odabir recepture, zatim automatsko pokretanje, a naredba posljednja. Prije promjene postavki provjeravaju se sintaksa, raspon ID-ja i valjanost recepture. Pogreške flash memorije ipak mogu ostaviti raniju postavku primijenjenom. APPLIED_MASK točno navodi koje su tražene postavke uspjele. Primjerice, receptura 25 i AUTOSTART=1 mogu biti spremljeni dok je START odbijen jer je CONS neaktivan: COMMAND_STATE=ERROR, COMMAND_ERROR=11, APPLIED_MASK=3. Postavke se ne vraćaju na prethodno stanje. Ponovno očitajte ACTIVE_ID i AUTOSTART prije odluke što ponoviti.

Kodovi pogrešaka u nastavku pripadaju COMMAND_ERROR i ne smiju se zamijeniti s poljima pogrešaka procesa/proizvoda. Odbijeni upis na transportnoj razini ne mijenja pretinac naredbi ni ACK_ID. Nedopuštene adrese, upisi u polja samo za čitanje, djelomični upisi i nepodržani rasponi blokova vraćaju iznimku Modbus 02. Ispravno adresiran upravljački upis od osam riječi s nevaljanim podacima, tokenom, rednim brojem ili stanjem pretinca vraća iznimku 03.

Tablica 25

Kôd

Značenje

0

Uspjeh.

1

Odabrana receptura nedostaje ili nije valjana.

5 / 6

START odbijen: masa izvan dopuštenog raspona.

7

Potrebna memorija nije dostupna.

11

Konfigurirani CONS je neaktivan.

13

Jedinica recepture ne odgovara vagi.

15

Konfiguracija ili stanje senzora sprječava radnju.

16

Pogrešna aplikacija, proces u radu, neriješen kvar ili sukobljena radnja vage.

17

Nevaljani argumenti zahtjeva ili mjerni sustav nije spreman.

25

Neuspješno čitanje ili upis postavki/baze podataka.

STOP DRAIN ne prihvaća nove proizvode te dovršava već prihvaćene proizvode i izlazne događaje. Njegova potvrda DONE znači da je zaustavljanje zatraženo; STATE=5 potvrđuje dovršetak. STOP NOW otkazuje otvorene proizvode/događaje i deaktivira procesne izlaze. STOP nije zamjena za RESET kod blokirajuće greške. RESET ponovno provjerava vagu i preduvjete te ne pokreće traku; ako uzrok ostane, ne uspijeva. Sve naredbe koriste uobičajene blokade kontrolne vage. Rezultat je ishod mjerenja, a ne potvrda da je fizički izvršni element za izbacivanje djelovao.

10.5 Automatsko pokretanje

AUTOSTART je trajna postavka CWAUTO, zadano 0. Njezino omogućivanje ne pokreće proces odmah; za trenutačni START kombinirajte je s COMMAND=1. Pri sljedećem pokretanju uređaja mora biti odabrana aplikacija CHECKWEIGHER, početno nuliranje mora biti omogućeno i uspješno te mora biti dostupan valjan posljednji aktivni trajni recept. Uobičajene provjere za START i dalje vrijede. Neuspjeli pokušaj pri pokretanju ne ponavlja se kada se kasnije promijeni neki ulaz. Ručni STOP, PAUSE ili greške ne uzrokuju automatsko ponovno pokretanje. Nepromijenjene vrijednosti ne uzrokuju novi upis postavki.

AUTO_STATE: 0 DISABLED; 1 WAIT_ZERO; 2 ZERO_DISABLED; 3 ZERO_FAILED; 4 NO_PRODUCT; 5 STARTED; 6 START_FAILED; 7 CANCELLED; 8 INACTIVE; 9 INIT_FAILED. AUTO_ERROR je kôd odbijenog START-a pri pokretanju uređaja. To je ishod pokušaja pri pokretanju; STATE i PROCESS_ERROR opisuju trenutačni proces.

10.6 Primjeri PLC-a

Primjer 1 — očitajte sve: funkcija 03, PDU start=400, count=48 (referenca 40401). Provjerite MAP_VERSION=1, APPLICATION=4 i SNAPSHOT_VALID=1. Spremite BOOT_ID i ACK_ID. Za čitanje podataka nije potrebna naredba.

Primjer 2 — odaberite recept 25, omogućite automatsko pokretanje i START jednim upisom. Pretpostavite BOOT_ID=0x12345678 i ACK_ID=0. Upišite funkcijom 16, PDU start=480, count=8, uz decimalne riječi: [1, 3, 25, 1, 0, 1, 4660, 22136]. Riječi tokena pokretanja služe kao primjer: uvijek ih kopirajte s uređaja. Pričekajte ACK_ID=1 i COMMAND_STATE=2, a zatim provjerite STATE=2 (RUN). Ako je COMMAND_STATE=3, provjerite COMMAND_ERROR i APPLIED_MASK.

Primjer 3 — STOP DRAIN. Pod pretpostavkom da je prethodni zahtjev dovršen, pošaljite [2, 0, 0, 0, 0, 2, 4660, 22136]. Pričekajte ACK_ID=2. DONE potvrđuje prihvaćanje; nastavite ponavljati očitanje do STATE=5 (STOPPED). Proizvodi koji su još u obradi mogu dati rezultate tijekom stanja DRAINING.

Primjer 4 — promijenite samo recepturu, nakon zaustavljanja: [0, 1, 26, 0, 0, 3, 4660, 22136]. Time automatsko pokretanje ostaje nepromijenjeno i proces se ne pokreće. Pokrenite ga poslije s [1, 0, 0, 0, 0, 4, 4660, 22136].

Primjer 5 — poništavanje ispravljene greške: COMMAND=4 uz mask/recipe/autostart=0, sljedeći ID zahtjeva i trenutačni BOOT_ID. Pričekajte uspješnu potvrdu; po potrebi zasebno pošaljite START. Nemojte ponavljano slati RESET bez dijagnosticiranja greške.

Predložena ciklička PLC logika (pseudokod Structured Text; nazive blokova Modbus prilagodite svojem PLC-u):

ReadHoldingRegisters(Start := 400, Count := 48, Data := Rx);
BootId := JoinUInt32(Rx[1], Rx[2]);
AckId := JoinUInt32(Rx[18], Rx[19]);
IF BootId <> SavedBootId THEN
    SavedBootId := BootId; HaveSeenResult := FALSE;
    (* Resynchronise command handling; do not replay old START. *)
END_IF;
IF (Rx[15] = 1) AND ((Rx[27] AND 1) <> 0) THEN
    Seq := JoinUInt32(Rx[24], Rx[25]);
    IF NOT HaveSeenResult OR (Seq <> SavedSeq) THEN
        SavedSeq := Seq; HaveSeenResult := TRUE;
        IF ((Rx[27] AND 2) <> 0) AND (Rx[29] <> 65535) THEN
            Mass := SignedInt32(Rx[30], Rx[31]) / Power10(Rx[28]);
        END_IF;
        Samples := Rx[40]; ProductResult := Rx[38];
        (* Process this snapshot once, including invalid/rejected products. *)
    END_IF;
END_IF;

NS se odnosi na posljednji dovršeni proizvod i ne mijenja se dok ne stigne novi rezultat. Blok registara posljednjeg rezultata nije red čekanja: ako dva proizvoda završe između očitanja, međurezultat se ne može dohvatiti putem ove osnovne mape. Pratite promjene SEQ i odaberite interval očitanja kraći od najkraćeg intervala između proizvoda. Nakon ponovnog povezivanja odlučite treba li prvi dostupni rezultat zabilježiti kao naknadno dohvaćenu snimku stanja ili ga koristiti samo kao početnu osnovu. Ovo sučelje ne jamči revizijski trag za svaki proizvod.

10.7 Provjere pri puštanju u rad

  1. Provjerite oba načina adresiranja, redoslijed riječi i poznate pozitivne/negativne mase; očitajte svih 48 riječi i oba podbloka od 24 riječi.

  2. Provjerite zastavice bez rezultata prije prvog proizvoda, zatim proizvod OK, LOW i nevaljani proizvod; potvrdite da ID i jedinica rezultata ostaju vezani uz pohranjeni rezultat nakon promjene odabrane recepture.

  3. Ponovite identičan prihvaćeni upis prije/nakon dovršetka: mora se izvršiti samo jednom. Pokušajte promijeniti sadržaj s istim ID-jem, preskočiti ID, izvršiti djelomični upis i upis u polje samo za čitanje: svaki mora biti odbijen bez promjene prihvaćenih postavki.

  4. Ispitajte START uz neaktivan CONS i provjerite APPLIED_MASK; ispitajte STOP DRAIN do stanja STOPPED, STOP NOW, RESET greške i zatim START.

  5. Prekinite i ponovno uspostavite vezu te ponovno pokrenite uređaj. Provjerite ponovno usklađivanje zahtjeva i odbijanje starog tokena pokretanja. Ispitajte uključeno/isključeno automatsko pokretanje uz uspješno i neuspješno početno nuliranje.

  6. Ponovite na stvarnom PLC-u i na oba konfigurirana transporta TCP/RTU. Potvrdite da ciklička komunikacija ne ometa vaganje ili vremensko upravljanje izlazima.

Često postavljana pitanja

Kako pretvoriti referencu registra u PDU adresu?

Tablice registara koriste reference 4xxxx koje počinju od jedan. Za referencu 40101 PDU adresa s polazištem u nuli je 100. Koristite način adresiranja koji zahtijeva vaš klijent Modbus.

Koliko dodatnih decimalnih mjesta koriste mase visoke razlučivosti?

Bruto i neto mase visoke razlučivosti u registrima 40109–40112 koriste dva dodatna decimalna mjesta kada su dostupna. Dekodirajte ih kao 32-bitne vrijednosti s predznakom i uzmite u obzir konfiguraciju položaja decimalnog mjesta.

Je li blok rezultata automatske kontrolne vage red čekanja?

Ne. Sadrži rezultat posljednjeg dovršenog proizvoda i ostaje nepromijenjen dok ne stigne novi rezultat. Pratite SEQ i odaberite interval očitanja kraći od najkraćeg intervala između proizvoda. Međurezultati se ne mogu dohvatiti iz ove osnovne mape.

Može li PLC ponoviti START nakon ponovnog pokretanja uređaja?

Ponovno uskladite obradu naredbi kada se promijeni BOOT_ID. Očitajte trenutačni BOOT_ID i ACK_ID, nemojte ponavljati stari START te slijedite redoslijed i provjere pretinca naredbi opisane u primjerima PLC-a.

Trebate pomoć?

Trebate pomoć sa softverom, povezivošću ili uporabom rješenja? Opišite problem kako bismo vam pomogli odrediti sljedeći korak.

Pripremite zahtjev →