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

PRECIZ · NEUTRON OPC UA

Neutron OPC UA — priručnik za integraciju

OPC UA integracija za Neutron: sigurne veze, podaci o vaganju uživo, dohvat stabilnog mjerenja i integracija s PLC-om/SCADA-om.

Verzije uputa

Verzija priručnika: 1.0 · Datum objave: 18. listopada 2026
Vrijedi za: Neutron firmware 2.5.0 uz podršku za OPC UA · Informacijski model proizvođača 1.3.0

Tablica 1

Inačica

Datum objave

Promjene

1.0

18. listopada 2026.

Prvo izdanje uputa Neutron OPC UA. Informacijski model NodeSet2 1.3.0 s ActiveChannel za čitanje aktivnog kanala i SetChannel za odabir kanala 1–4.

Video: Neutron OPC UA

PRECIZ je član organizacije OPC Foundation

PRECIZ je službeno registrirani član organizacije OPC Foundation. Pogledajte službeni zapis PRECIZ u imeniku članova organizacije OPC Foundation.

1. Pregled i podržane značajke

Neutron proizvođača PRECIZ pruža OPC UA poslužitelj za integraciju s PLC-ovima, sustavima SCADA i MES te računalnim aplikacijama. Sučelje koristi komunikaciju OPC UA Client/Server putem UA-TCP uz kodiranje UA Binary.

Poslužitelj pruža:

  • Bruto masa, neto masa, tara i bruto masa visoke razlučivosti uživo, sirovi ADC, stabilnost, status vage, kod pogreške i jedinica.

  • Metapodaci mjerenja: podjeljak, decimalna mjesta, maksimalno opterećenje, inženjerske jedinice i inženjerski raspon.

  • Identifikacija uređaja i standardne informacije OPC UA poslužitelja.

  • Pretplate na promjene podataka za vrijednosti uživo.

  • Usklađeno očitanje mjerenja koje sadrži jedanaest polja iz iste snimke stanja.

  • Asinkrono bilježenje i dohvat svježeg stabilnog mjerenja.

  • Radnje tariranja, zadavanja tare, nuliranja i brisanja tare.

  • Postavka filtra FT i postavka ADC chopping funkcije FC.

    Aktivni kanal vaganja očitajte pomoću ActiveChannel, a kanal 1–4 odaberite pomoću SetChannel (NodeSet2 1.3.0).

  • Dvije istodobne klijentske sesije.

  • Neobvezna šifrirana komunikacija, povjerenje u certifikate aplikacija i korisničke ovlasti za čitanje ili čitanje i izvršavanje naredbi.

Sve izložene procesne varijable dostupne su samo za čitanje. Radnje se izvršavaju putem metoda. Sučelje ne omogućuje proizvoljno izvršavanje izvornih naredbi, umjeravanje, upravljanje izlazima, odabir aplikacije, rezultate brojanja, povijest, događaje ni OPC UA PubSub. Informacijski model vlastiti je model proizvođača PRECIZ, a ne prateći model OPC UA Weighing ili Device Integration.

Tri načina za dobivanje mjerenja služe različitim svrhama:

Tablica 2

Sučelje

Primjena

Varijable uživo i pretplate

Prikaz ili kontinuirano praćenje pojedinačnih vrijednosti

ReadMeasurement

Dohvat svih jedanaest mjernih polja iz jedne trenutačne snimke stanja

CaptureStableWeight slijedi GetCapturedMeasurement

Zabilježite i zadržite svježe valjano stabilno mjerenje te ga dohvatite prema ID-ju zahtjeva

2. Brzi početak

2.1 Omogući poslužitelj

  1. Povežite se s lokalnom konfiguracijskom stranicom uređaja Neutron ili alatom za konfiguraciju putem Bluetootha. Za upravljanje certifikatima i korisnicima koristite HTTPS ili Bluetooth s autentikacijom.

  2. Odaberite sučelje mrežne veze i dohvatite njegovu dodijeljenu IP adresu.

  3. Zadržite prikupljanje podataka vage uključenim u postavkama Scale.

  4. Otvorite karticu OPC UA. Firmware mora prijaviti da je OPC UA dostupan.

  5. Za šifrirani pristup najprije izradite korisnika u odjeljku Users & permissions.

  6. U odjeljku Settings omogućite poslužitelj, odaberite sigurnosni način rada i zadržite port 4840 te minimalni interval 100 ms za početno povezivanje.

  7. Kliknite Save. Kopirajte adresu veze pomoću Copy endpoint.

Primjer krajnje točke:

opc.tcp://192.168.50.73:4840

2.2 Spojite se koristeći UAExpert

  1. Dodajte krajnju točku kao poslužitelj u UAExpert.

  2. U šifriranom načinu odaberite Basic256Sha256 / SignAndEncrypt i autentikaciju Username/Password. U nezaštićenom načinu odaberite None i Anonymous.

  3. Za šifrirani pristup usporedite certifikat uređaja Neutron i označite ga kao pouzdanog. Ako Neutron još ne vjeruje klijentskom certifikatu, slijedite odjeljak 4.2 i ponovno se povežite.

  4. Povežite se i otvorite Objects → CS-NEUTRON Scale. NodeId objekta je Scale; prikazani naziv je CS-NEUTRON Scale.

  5. Povucite Gross, Net, Tare, Stable, Status, ErrorCode i Unit u Data Access View.

  6. U kontekstnom izborniku Data Access View postavite interval objavljivanja pretplate i interval uzorkovanja nadzirane stavke, početno 100 ms.

Koristite vrijednost samo ako je njezin OPC UA StatusCode Good. ErrorCode=1 znači da izvorna vaga nema pogrešku. Status=1 ili Status=3 označava stabilno pokazivanje.

3. Povezivanje i konfiguracija

3.1 krajnja točka i umrežavanje

Krajnja točka ima oblik opc.tcp://<assigned-device-IP>:<port>. Koristite adresu odabranog sučelja Wi-Fi, Ethernet ili LTE. Kartica OPC UA prikazuje adresu i nudi gumb za kopiranje. Stalna IP adresa pojednostavljuje integraciju.

Uređaju nije potrebno postaviti IP adresu PLC-a. Dopustite dolazni TCP promet prema odabranom portu. Klijent mora imati mrežni put do uređaja Neutron; LTE adresa iza NAT-a operatera nije automatski dostupna izvan te mreže. Koristite odgovarajuću usmjeravanu mrežu, privatni APN ili VPN.

3.2 postavke

Tablica 3

Postavka

Ključ

Zadano

Vrijednosti / učinak

OPC UA dostupan

OUB

Ovisi o firmwareu

Samo za čitanje: 0 odsutan, 1 dostupan

Podrška sigurnosti

OUS

Ovisi o firmwareu

Samo za čitanje: 0 odsutan, 1 dostupan

OPC UA poslužitelj

OUE

Onemogućeno

0 onemogućen, 1 omogućen

TCP port

OUP

4840

1024–65535; odaberite slobodan servisni port

Minimalni interval ažuriranja

OUI

100 ms

10–5000 ms; minimalni interval uzorkovanja i objavljivanja koji poslužitelj prihvaća

Sigurnost veze

OUM

Nezaštićeno

0 None/anonymous; 1 Basic256Sha256/SignAndEncrypt s korisničkim imenom i lozinkom

Anonimni pristup naredbi

OUC

Onemogućeno

Samo u nezaštićenom načinu: 0 samo za čitanje; 1 dopuštene sve podržane naredbe

Spremanje postavki OPC UA ponovno pokreće OPC UA uslugu i prekida veze s njezinim klijentima. Promjene korisnika i postavki povjerenja također ponovno pokreću uslugu. Nakon tih promjena ponovno uspostavite vezu. Koriste se postojeće postavke IP adrese uređaja, vage i sata.

Minimalni interval donja je granica, a ne fiksno razdoblje prijenosa ili jamstvo ukupne latencije od izvora do odredišta. Klijenti traže vlastite intervale i moraju koristiti revidirane vrijednosti koje vrati poslužitelj.

4. Sigurnost i dozvole

4.1 načini spajanja

Tablica 4

Način rada

Politika / sigurnost poruke

Autentikacija

Ovlast za naredbe

Nezaštićeno

None / None

Anonymous

Određeno postavkom Anonymous command access

Šifrirano

Basic256Sha256 / SignAndEncrypt

Korisničko ime i lozinka; pouzdani certifikat klijentske aplikacije

Određeno ovlašću korisnika

U šifriranom načinu nisu podržane anonimne sesije ni prijava korisnika putem certifikata. Certifikat klijentske aplikacije identificira klijentski softver i ne zamjenjuje autentifikaciju korisničkim imenom i lozinkom. PIN web-konfiguracije i HTTPS certifikat odvojeni su od OPC UA vjerodajnica i certifikata.

Nezaštićeni način koristite na pouzdanoj, izoliranoj mreži. On ne šifrira podatke i ne provjerava identitet pojedinačnih korisnika.

4.2 Prva kriptirana veza

  1. Otvorite postavke OPC UA uređaja Neutron putem HTTPS-a ili Bluetootha s autentikacijom.

  2. Dodajte korisnika. Korisnička imena sadrže 1–64 ASCII slova, znamenke, podvlake ili spojnice te razlikuju velika i mala slova. Lozinke sadrže 12–128 znakova. Podržano je do osam korisnika; zadani OPC UA račun ne postoji.

  3. Odaberite Read only ili Read and execute commands.

  4. Omogućite šifrirani OPC UA i spremite postavke. Sat uređaja mora biti sinkroniziran i mora postojati barem jedan korisnik. Sigurno pokretanje čeka sinkronizaciju sata.

  5. Pri prvom sigurnom pokretanju Neutron generira svoj privatni ključ i samopotpisani aplikacijski certifikat RSA-2048 koji vrijedi pet godina.

  6. U klijentu usporedite SHA-256 otisak certifikata uređaja Neutron s otiskom prikazanim u konfiguracijskom sučelju, a zatim mu dodijelite povjerenje.

  7. Pokušajte uspostaviti šifriranu vezu. Neutron odbija nepoznat certifikat klijentske aplikacije i navodi ga u odjeljku Certificates kao rejected.

  8. Kliknite Refresh certificates and users, usporedite otisak klijenta i kliknite Approve za taj certifikat.

  9. Ponovno se povežite korisničkim imenom i lozinkom.

Klijent mora vjerovati uređaju Neutron prije nego što postupak može napredovati dovoljno da pošalje vlastiti certifikat. Odobrenje ne zaobilazi provjeru isteka valjanosti, potpisa, namjene ključa ili URI-ja aplikacije.

4.3 dozvole

Tablica 5

Radnja

Samo čitanje

Čitanje i izvršavanje naredbi

Čitanje varijabli / pretplata

Da

Da

ReadMeasurement

Da

Da

GetCapturedMeasurement

Da

Da

CaptureStableWeight

Ne

Da

TareCurrent, SetTare, Zero, ClearTare

Ne

Da

SetFilter, SetHRFilter, SetChannel

Ne

Da

Pisanje varijabli / administracija korisnika ili certifikata putem OPC UA

Ne

Ne

Spremljene uloge Reader i Operator odgovaraju tim dvjema ovlastima. Ne postoje razine ovlasti za pojedine naredbe. U šifriranom načinu vrijedi ovlast korisnika; OUC se zanemaruje. U nezaštićenom načinu OUC dopušta sve podržane naredbe ili nijednu.

Pet neuspjelih prijava uzrokuje 30-sekundnu blokadu prijavljivanja na cijelom poslužitelju. To može privremeno utjecati i na druge korisnike. Korisničke lozinke pohranjuju se kao PBKDF2-HMAC-SHA256 sažeci sa soli; administracijsko sučelje ne izvozi lozinke ni privatne ključeve.

4.4 identitet uređaja, CA certifikat i obnova

URI aplikacije Neutron:

urn:preciz:cs-neutron:<MID>

Generirani certifikat uključuje taj URI, naziv računala <MID>.local malim slovima i IP adresu uređaja u trenutku generiranja. Zadržite stalnu adresu ili izdajte zamjenski certifikat s adresama koje klijenti koriste.

CA certifikat nije potreban za izričito pouzdane samopotpisane aplikacijske certifikate. Za PKI kojim upravlja tvrtka:

  1. Odaberi Create and download CSR. CSR koristi postojeći ključ uređaja.

  2. Neka CA izda aplikacijski certifikat OPC UA koji zadržava URI aplikacije u SAN-u te odgovarajuće proširene namjene ključa za poslužitelja/klijenta i namjene digitalnog potpisa/šifriranja ključa.

  3. Uvezite ga kao CA-signed device certificate. Njegov privatni ključ mora odgovarati postojećem ključu uređaja Neutron. Instalirajte potreban CA lanac u klijentu.

  4. Za povjerenje u klijente s certifikatima koje izdaje CA uvezite korijenski certifikat izdavatelja kao Trusted client certificate or CA. Posredne CA certifikate uvezite kao Intermediate issuer CA. Sam unos posrednog izdavatelja ne daje povjerenje.

  5. Kada se koristi provjera opoziva, uvezite CRL-ove koje je potpisao CA kao Certificate revocation list i ažurirajte ih prije isteka valjanosti. Najprije uvezite CA certifikate njihovih izdavatelja.

Podržan je uvoz PEM ili DER, do 8192 bajta po datoteci. Svako spremište pouzdanih, odbijenih, izdavateljskih ili CRL zapisa prima do 12 unosa. Uklonite zastarjele odbijene unose kada se to spremište napuni. Instalirani CRL-ovi provjeravaju se prema datumima i potpisu izdavatelja; istekli CRL-ovi uzrokuju odbijanje novih veza na koje se odnose. Bez instaliranih CRL-ova provjera opoziva se ne provodi. CRL-ovi se ne preuzimaju automatski; upravljanje putem OCSP-a i GDS-a nije podržano.

Obnovite certifikat stvaranjem CSR-a i uvozom obnovljenog certifikata. Istekli certifikat uređaja sprječava sigurno pokretanje. Replace device identity uklanja trenutačni ključ/certifikat/CSR i generira novi identitet pri sljedećem sigurnom pokretanju; klijenti mu moraju ponovno dodijeliti povjerenje. Korisnici i pouzdani klijenti zadržavaju se.

Korisnici i spremišta certifikata zadržavaju se pri uobičajenim ponovnim pokretanjima i OTA ažuriranjima. Brisanje datotečnog sustava uređaja uklanja ih. Prije prijenosa vlasništva uređaja izričito uklonite prethodne korisnike i zapise povjerenja.

5. Adresni prostor i prikaz podataka

5.1 Imenski prostor i NodeIds

URI imenskog prostora proizvođača:

urn:preciz:cs-neutron:weighing:1

Razriješite taj URI u Server/NamespaceArray pri svakom povezivanju. Nemojte fiksno zadavati indeks imenskog prostora 1 ili 2. Sufiks verzije :1 pripada stabilnom URI-ju imenskog prostora; verzija modela za preuzimanje je 1.3.0.

Primjeri oblika iste varijable:

nsu=urn:preciz:cs-neutron:weighing:1;s=Scale.Gross
ns=2;s=Scale.Gross

Brojčani oblik valjan je samo kada poslužitelj trenutačno dodjeljuje taj URI indeksu 2. Ako klijent ne prihvaća sintaksu nsu=, razriješite URI i sastavite NodeId s brojčanim indeksom. Identifikatori proizvođača nizovi su znakova koji razlikuju velika i mala slova, uključujući točke u Scale.Gross.

Tablica 6

Mjesto u pregledniku čvorova

Tekstualni NodeId objekta

Objects / CS-NEUTRON Scale

Scale

Objects / Device

Device

Objects / Server

Standardni imenski prostor 0, brojčani NodeId i=2253

Metode se moraju pozivati s Scale kao nadređenim ObjectId-jem i NodeId-jem metode kao MethodId-jem.

5.2 jedinice i brojčana preciznost

Gross, Net i Tare izvoze se kao vrijednosti Double normalizirane na postavljeni broj decimalnih mjesta. HR je bruto masa visoke razlučivosti prije zaokruživanja za prikaz, a ne neto masa ili sirovi ADC. Svaka masa koristi trenutačni Scale.Unit; OPC UA ne pretvara jedinice. Prijenosni tip Double ne povećava točnost senzora.

Binarne vrijednosti s pomičnim zarezom ne predstavljaju svaki decimalni broj potpuno točno. Formatirajte prikaz mase pomoću Scale.Decimals i koristite Scale.Division kao podjeljak vaganja. HR se može prikazati u znanstvenom zapisu: 9.31e-5 kg znači 0.0000931 kg.

5.3 Vrijeme, snimke i kvaliteta

Neutron kopira najnovije vrijednosti vaganja u OPC UA presjek stanja približno svakih min(OUI, 50) milisekundi, ovisno o dostupnosti prikupljenih podataka. Čitanje ili pretplata ne pokreće dodatnu ADC pretvorbu.

SourceTimestamp označava vrijeme snimke mjerenja kada je sat uređaja sinkroniziran. Prije sinkronizacije nije prisutan. ServerTimestamp vremenska je oznaka koju poslužitelj dodjeljuje za DataValue; ne mora biti jednaka SourceTimestamp. Za vremenske oznake OPC UA koristi se UTC.

Zasebna očitanja ili obavijesti pretplate mogu se odnositi na različite presjeke stanja. Koristite ReadMeasurement ili zabilježeni rezultat kada polja moraju pripadati istom presjeku. Nepromijenjena nadzirana vrijednost ne mora proizvesti novu obavijest u svakom intervalu.

Tablica 7

DataValue StatusCode

Značenje / radnja klijenta

Good

Vrijednost se može koristiti; prema potrebi provjerite Stable i izvorni status

BadNoCommunication

Nema snimke stanja ili više od dvije sekunde nije primljena nova; odbacite mjerenje uživo

BadSensorFailure

Pogreška izvorne vage; provjerite ErrorCode

BadOutOfRange

Premalo opterećenje ili preopterećenje; odbacite mjerenje

Kvaliteta se odnosi na mase, ADC i Stable. Status, ErrorCode i Unit ostaju čitljivi tijekom pogrešaka izvorne vage, ali postaju zastarjeli ako prestanu stizati snimke stanja. Dijagnostika naredbi i bilježenja ostaje čitljiva neovisno o kvaliteti podataka vage uživo. Metapodaci su konfiguracijske informacije; njihov status Good ne potvrđuje da je rezultat vaganja uživo valjan.

6. Referenca podataka

Svi unosi u nastavku dostupni su samo za čitanje. NodeIds su tekstualni identifikatori proizvođača, osim ako su označeni kao standardni imenski prostor 0. Svi skalarni unosi imaju ValueRank −1.

6.1 Mjerenje i konfiguracija uživo

Tablica 8

String NodeId

Vrsta

Jedinica

Opis

Scale.Gross

Double

Scale.Unit

Zaokružena bruto masa

Scale.Net

Double

Scale.Unit

Zaokružena neto masa

Scale.Tare

Double

Scale.Unit

Primijenjena tara

Scale.HR

Double

Scale.Unit

Nezaokružena bruto masa visoke razlučivosti

Scale.ADC

Int32

ADC očitanja

Postojeća ADC vrijednost vage kopirana sa snimkom stanja; bez dodatnog očitanja hardvera

Scale.Stable

Boolean

—

Zastavica stabilnosti vage

Scale.Status

UInt16

—

Status pokazivanja; tablica u nastavku

Scale.ErrorCode

UInt16

—

Izvorna pogreška; 1 znači da nema pogreške

Scale.Unit

String

—

Postavljena jedinica, poput kg ili g

Scale.Decimals

UInt16

decimalna mjesta

Broj decimalnih mjesta za prikazanu masu

Scale.Division

Double

Scale.Unit

Aktivni podjeljak vaganja

Scale.Capacity

Double

Scale.Unit

Maksimalno opterećenje aktivnog raspona

Scale.Filter

UInt16

—

Aktivna postavka FT, 1–1023

Scale.HRFilter

Boolean

—

Postavka FC: false isključeno, true uključeno; upravlja funkcijom ADC chopping

ADC nije zasebno skeniranje svake mjerne ćelije. Varijabla mV nije izložena. Unatoč nazivu, HRFilter upravlja postojećom FC/ADC chopping funkcijom, a ne softverskim filtrom koji se primjenjuje isključivo na OPC UA varijablu HR.

6.2 Status izvorne vage

Tablica 9

Scale.Status

Značenje

0

Premalo opterećenje

1

Unutar raspona oko nule

2

Nestabilno

3

Stabilno

4

Preopterećenje

255

Neinicializirana snimka stanja

Koristite Scale.Stable kao zastavicu stabilnosti. Scale.Status i OPC UA StatusCode zasebni su pojmovi; izvorni status 3 nije kôd kvalitete OPC UA.

6.3 Izvorni kodovi pogrešaka

Tablica 10

Scale.ErrorCode

Značenje

1

Nema pogreške

99

Istek vremena naredbe

98

Nepoznata naredba

97

Vaga je onemogućena

96

Nedostaje umjeravanje

95

Nedostaju mjeriteljski podaci

94

Pogreška statusnog registra ADC-a

93

Pogreška referentne vrijednosti ADC-a

92

Pogreška načina pretvorbe ADC-a

91

Pogreška konfiguracije takta ADC-a

90

Pogreška konfiguracije pojedinačnog ciklusa ADC-a

89

Pogreška konfiguracije filtra odbacivanja ADC-a

88

Nepodudaranje filtra ADC-a

87

Pogreška konfiguracije kanala ADC-a

86

Nepodudaranje funkcije ADC chopping

85

Pogreška bipolarnog načina ADC-a

84

Pogreška konfiguracije vanjske referentne vrijednosti ADC-a

83

Nepodudaranje pojačanja ADC-a

82

Pogreška filtra usrednjavanja ADC-a

6.4 Svojstva mjerenja

Svojstva imaju sljedeće tekstualne NodeIds proizvođača. Njihovi BrowseNames nalaze se u imenskom prostoru 0, primjerice 0:EngineeringUnits.

Tablica 11

Obrazac tekstualnog NodeId-ja

Vrsta

Značenje

Scale.Gross.EngineeringUnits, Scale.Net.EngineeringUnits, Scale.Tare.EngineeringUnits, Scale.HR.EngineeringUnits

EUInformation

Metapodaci jedinice

Scale.Gross.EURange, Scale.Net.EURange, Scale.Tare.EURange, Scale.HR.EURange

Range

Donja/gornja granica inženjerskog raspona

Scale.Gross.ValuePrecision, Scale.Net.ValuePrecision, Scale.Tare.ValuePrecision

Double

Izvezeni broj decimalnih mjesta, jednak Decimals

EURange je [0, Capacity], osim što Net koristi [-Capacity, Capacity]. Inženjerski raspon je metapodatak, a ne uputa za ograničavanje vrijednosti. ValuePrecision je broj decimalnih mjesta, a ne podjeljak ili specifikacija točnosti. HR nema svojstvo ValuePrecision.

EngineeringUnits koristi kodove UN/CEFACT za kg (4933453), g (4674125), lb (4997714) i oz (5197402). Simboli drugih jedinica imaju UnitId −1 i prazan imenski prostor standarda. Osvježite metapodatke nakon promjene jedinica, raspona ili konfiguracije vage.

6.5 Dijagnostika naredbi i bilježenja

Tablica 12

String NodeId

Vrsta

Opis

Scale.LastCommandId

UInt32

ID posljednje prihvaćene naredbe za tariranje/nuliranje/filtar

Scale.LastCommandState

UInt16

0 mirovanje; 1 u redu čekanja; 2 izvršavanje; 3 uspješno; 4 neuspješno

Scale.LastCommandResult

String

Izvorni odgovor ili razlog odbijanja

Scale.LastCaptureId

UInt32

ID posljednjeg prihvaćenog zahtjeva za bilježenje stabilnog mjerenja

Scale.LastCaptureState

UInt16

0 mirovanje; 1 na čekanju; 2 dovršeno; 3 istek vremena

ID-jevi naredbi i ID-jevi bilježenja odvojeni su nizovi. Oba dijele svi klijenti, lokalni su za pokrenutu uslugu i poništavaju se pri ponovnom pokretanju usluge.

6.6 identifikacija uređaja

Tablica 13

String NodeId

Vrsta

Opis

Device.Manufacturer

String

PRECIZ

Device.Model

String

Model uređaja

Device.SerialNumber

String

MID

Device.SoftwareRevision

String

Verzija firmwarea

Device.HardwareRevision

String

Verzija hardvera

Device.DeviceName

String

Postavljeni naziv uređaja

Identifikacijske vrijednosti učitavaju se pri pokretanju OPC UA. Nakon promjene naziva uređaja ponovno pokrenite uslugu kako biste osvježili DeviceName.

6.7 Standardni podaci o poslužitelju

Sljedeće su putanje relativne u odnosu na Objects / Server i koriste imenski prostor 0.

Tablica 14

Putanja u pregledniku čvorova

Vrsta / vrijednost

ServerArray

String[]; indeks 0 je URI aplikacije uređaja

NamespaceArray

String[]; indeks 0 je imenski prostor OPC UA, indeks 1 je URI aplikacije uređaja; razriješite URI proizvođača u tom nizu

ServerStatus

ServerStatusDataType

ServerStatus/StartTime, CurrentTime

DateTime, deklariran kao UtcTime

ServerStatus/State

ServerState; 0 Running tijekom uobičajenog rada

ServerStatus/SecondsTillShutdown

UInt32; 0 kada nije zakazano isključivanje

ServerStatus/ShutdownReason

LocalizedText

ServerStatus/BuildInfo

BuildInfo: ProductUri, ManufacturerName, ProductName, SoftwareVersion, BuildNumber, BuildDate

ServiceLevel

Byte; 255 tijekom normalnog rada

Auditing

Boolean; false

VendorServerInfo

Informacijski objekt proizvođača

ServerRedundancy/RedundancySupport

RedundancySupport; 0 None

ServerCapabilities/ServerProfileArray

String[]; URI-jevi implementacijskog profila i faceta

ServerCapabilities/LocaleIdArray

LocaleId[]; en

ServerCapabilities/MinSupportedSampleRate

Duration u ms; aktivni minimum OUI

ServerCapabilities/MaxBrowseContinuationPoints

UInt16; 5 po sesiji

ServerCapabilities/SoftwareCertificates

SignedSoftwareCertificate[]; prazno

ServerCapabilities/ModellingRules, AggregateFunctions

Mape

ServerCapabilities/OperationLimits

Ograničenja po zahtjevu navedena u odjeljku 9

Standardne varijable niza imaju ValueRank 1 i ArrayDimensions [0]; nula označava nezadanu maksimalnu duljinu. ServerProfileArray označava ciljani implementacijski profil Micro Embedded Device 2017 i aktivne transportne, metodne i sigurnosne facete. Taj identifikator profila nije certifikacijska oznaka OPC Foundation.

6.8 Aktivni kanal — ActiveChannel

Scale.ActiveChannel je varijabla UInt16 koja prikazuje trenutačno aktivni kanal vaganja. Dostupna je samo za čitanje; kanal odaberite pomoću Scale.SetChannel. NodeSet2 1.3.0 podržava odabir kanala 1–4. Pri povezivanju razriješite URI imenskog prostora, kako je opisano u odjeljku 5.1.

7. Metode i izvršenje naredbe

7.1 sažetak metode

Pozovite svaku metodu na nadređenom objektu Scale. Navedite skalarne argumente točno prikazanih vrsta OPC UA; nemojte argument UInt32 ili Boolean zamijeniti vrstama String, Int32 ili Double.

SetChannel koristi Channel: UInt16 (1–4) i vraća RequestId: UInt32; pogledajte odjeljak 7.9.

Tablica 15

Tekstualni NodeId metode

Ulazni argumenti

Izlaz

Ovlast

Scale.ReadMeasurement

Nema

Jedanaest mjernih polja, odjeljak 8.1

Čitanje

Scale.CaptureStableWeight

TimeoutMs: UInt32

RequestId: UInt32

Izvršavanje

Scale.GetCapturedMeasurement

RequestId: UInt32

Jedanaest mjernih polja, odjeljak 8.1

Čitanje

Scale.TareCurrent

Nema

RequestId: UInt32

Izvršavanje

Scale.SetTare

Value: Double

RequestId: UInt32

Izvršavanje

Scale.Zero

Nema

RequestId: UInt32

Izvršavanje

Scale.ClearTare

Nema

RequestId: UInt32

Izvršavanje

Scale.SetFilter

Value: UInt16

RequestId: UInt32

Izvršavanje

Scale.SetHRFilter

Enabled: Boolean

RequestId: UInt32

Izvršavanje

7.2 TareCurrent

Tarira trenutačnu stabilnu bruto masu izvornom radnjom T. Taru postavlja na bruto masu, a neto masa postaje nula; bruto nultu točku ne mijenja. Vaga mora prihvatiti stabilno tariranje unutar svojeg vremenskog ograničenja naredbe.

Primjer s 1.11 kg na vagi: Gross ostaje 1.11 kg, Tare postaje 1.11 kg, a Net postaje 0.00 kg. Izvorni odgovor o uspjehu nalik je na T S 1.11 kg.

7.3 SetTare

Postavlja unaprijed zadanu taru u Scale.Unit korištenjem izvorne radnje TA. Value mora biti konačan, nenegativan, ne veći od 1,000,000,000 i ne veći od maksimalnog opterećenja. Primijenjena tara zaokružuje se na podjeljak vage. Nakon dovršetka očitajte Scale.Tare da biste dobili primijenjenu vrijednost. Primjer unosa: Double 0.250 kada je Unit kg.

7.4 Zero

Izvršava izvornu naredbu Z, uz uvjet stabilnosti i postavljenog raspona nuliranja. Pri uspjehu se prilagođava nulta točka i briše postojeća primijenjena/unaprijed zadana tara. Izvorni odgovor o uspjehu jest Z A. To se razlikuje od TareCurrent.

7.5 ClearTare

Izvršava izvornu naredbu TAC, uklanjajući primijenjenu i unaprijed zadanu taru. Gross se zadržava, a Net se vraća na Gross. Nema ulaznih argumenata.

7.6 SetFilter

Value je UInt16, uključivo 1–1023. Time se postavlja FT za aktivni kanal vage putem postojećeg mehanizma konfiguracije filtra. Nula i vrijednosti iznad 1023 vraćaju BadOutOfRange. Primjer: UInt16 512.

7.7 SetHRFilter

Enabled je Boolean: true uključuje FC/ADC chopping, a false ga isključuje. Brojčana vrijednost poslana brojčanom vrstom OPC UA nije Boolean i odbija se.

FT i FC aktiviraju se i spremaju za aktivni kanal putem izvornih postupaka konfiguriranja. Neuspjela provjera hardvera daje neuspješan rezultat naredbe. Prikupljanje podataka može zastati tijekom primjene postavke. Nakon dovršetka očitajte Scale.Filter ili Scale.HRFilter da biste vidjeli aktivnu postavku.

7.8 Asinkroni slijed naredbi

Za TareCurrent, SetTare, Zero, ClearTare, SetChannel, SetFilter i SetHRFilter:

  1. Pozovite metodu i zadržite povratni RequestId.

  2. Čitajte ili pretplatite se na LastCommandId, LastCommandState i LastCommandResult.

  3. Povežite rezultat isključivo s odgovarajućim LastCommandId.

  4. Stanje 3 znači uspjeh; stanje 4 znači neuspjeh. Stanja 1 i 2 su u tijeku.

  5. Pročitajte zahvaćene vrijednosti procesa/konfiguracije nakon uspješnog završetka.

Rezultat poziva Good potvrđuje prihvaćanje, a ne dovršetak. Samo jedna od ovih naredbi može istodobno čekati izvršavanje ili se izvršavati; druga dobiva BadResourceUnavailable. Postojeći uvjeti stabilnosti, dostupnosti i zauzetosti vage te blokade aplikacije i dalje vrijede.

Pretinac naredbi i dijagnostika posljednjeg rezultata zajednički su cijelom uređaju. Uskladite klijente koji upisuju podatke ako dva klijenta mogu izdavati naredbe: kasnija naredba može zamijeniti posljednju dovršenu dijagnostiku prije nego što je drugi klijent očita. To nije povijest naredbi.

ID-ovi zahtjeva nisu trajni ID-ovi radnji. Nakon gubitka veze provjerite stanje zahvaćene vage prije ponavljanja naredbe čiji ishod nije poznat. Ponovno pokretanje usluge briše dijagnostiku i otkazuje nedovršene naredbe vage koje pripadaju OPC UA usluzi; ne poništava dovršeno tariranje, nuliranje ni promjenu postavke.

7.9 SetChannel — odabir kanala vaganja

Pozovite Scale.SetChannel na objektu Scale. Njegov ulazni argument Channel je skalarni UInt16 s vrijednošću 1–4; druge se vrijednosti odbijaju. Izlazni argument RequestId je UInt32.

Poziv zahtijeva ovlast za naredbe i ponovno inicijalizira vagu. Uskladite izvršavanje s drugim naredbama i slijedite asinkroni postupak u odjeljku 7.8. Odabrani kanal očitajte iz Scale.ActiveChannel.

8. Usklađena mjerenja i bilježenje stabilne mase

8.1 Izlaz metode ReadMeasurement

ReadMeasurement() odmah vraća najnoviju valjanu snimku stanja. Ne čeka stabilnost i ne zahtijeva novo ADC očitanje. GetCapturedMeasurement vraća isti izlazni potpis za zadržani stabilni rezultat.

Tablica 16

Položaj (počevši od nule)

Argument

Vrsta OPC UA

Značenje

0

MeasurementId

UInt64

Redni broj snimke stanja

1

Gross

Double

Bruto masa

2

Net

Double

Neto masa

3

Tare

Double

Primijenjena tara

4

HR

Double

Bruto masa visoke razlučivosti

5

Stable

Boolean

Stabilnost ove snimke stanja

6

Status

UInt16

Status izvorne vage

7

ErrorCode

UInt16

Kôd pogreške izvorne vage

8

Unit

String

Jedinica ovog rezultata

9

Timestamp

DateTime

UTC vrijeme snimke stanja ili nula ako sat nije sinkroniziran

10

TimeSynchronized

Boolean

Može li se Timestamp koristiti kao kalendarsko vrijeme

Sva polja pripadaju jednoj snimci stanja. MeasurementId povećava se pri svakoj snimci OPC UA, a ne pri svakoj fizičkoj ADC pretvorbi, i poništava se s uslugom. Pri pohrani sačuvajte preciznost UInt64. ADC, metapodaci i filtri zasebni su čvorovi s podacima uživo i nisu uključeni u ovaj rezultat metode s jedanaest polja.

Ako je TimeSynchronized false, nemojte tumačiti Timestamp kao kalendarski datum. ReadMeasurement vraća BadNoCommunication, BadSensorFailure ili BadOutOfRange kada snimka podataka uživo nedostaje ili je zastarjela, ima izvornu pogrešku ili je izvan raspona.

8.2 CaptureStableWeight i GetCapturedMeasurement

  1. Pozovite CaptureStableWeight(TimeoutMs) s UInt32 100–60000 ms. Primjerice, 5000 dopušta do pet sekundi za valjano stabilno mjerenje. Nula nije valjana.

  2. Sačuvajte vraćeni UInt32 RequestId.

  3. Pozovite GetCapturedMeasurement(RequestId) s tim ID-jem. Dok zahtjev čeka dovršetak, vraća BadWaitingForInitialData. Ponavljajte poziv u umjerenom intervalu, primjerice 100 ms.

  4. Pri uspjehu pohranite rezultat s jedanaest polja zajedno s RequestId-jem bilježenja.

Alternativno, pretplati se na LastCaptureId i LastCaptureState, zatim dohvati rezultat kada odgovarajući zahtjev dostigne stanje 2.

Tablica 17

LastCaptureState

Značenje

0

Mirovanje

1

Na čekanju

2

Dovršeno; rezultat dostupan

3

Istek vremena

Zabilježeni presjek stanja mora biti objavljen nakon početka zahtjeva te mora biti stabilan, svjež, bez izvornih pogrešaka i unutar raspona. Nevaljani presjeci preskaču se dok ne stigne odgovarajući ili ne istekne vrijeme čekanja. Ako je vaga već stabilna, sljedeći valjani presjek može odmah dovršiti bilježenje; nisu potrebni prijelaz iz nestabilnog u stabilno stanje ni dodatno vrijeme zadržavanja.

Ova radnja ne tarira i ne nulira vagu te ne blokira druge klijente. Samo jedno bilježenje može čekati dovršetak. Postoji jedan zamrznuti rezultat za cijeli uređaj, zajednički svim klijentima. Ostaje nepromijenjen čak i ako se trenutačna masa promijeni ili postane nedostupna. Pokretanje novog bilježenja zamjenjuje prethodni zahtjev/rezultat. Nema povijesti bilježenja.

Tablica 18

GetCapturedMeasurement rezultat

Značenje

Good

Vraćen je zadržani rezultat

BadWaitingForInitialData

Odgovarajuće bilježenje još je na čekanju

BadTimeout

Odgovarajuće bilježenje isteklo je bez valjanog stabilnog mjerenja

BadNotFound

ID je nula, nepoznat, zamijenjen ili više nije dostupan nakon ponovnog pokretanja

BadNoData

Nema dovršenog rezultata za odgovarajuće stanje bilježenja

Kao ulaz metode GetCapturedMeasurement koristite RequestId bilježenja, a ne MeasurementId rezultata. Bilježenje može završiti nakon prekida veze klijenta koji ga je pokrenuo. Može se dohvatiti nakon ponovnog povezivanja s istim ID-jem ako je usluga OPC UA nastavila raditi. Ponovno pokretanje usluge briše bilježenja na čekanju, pohranjene rezultate i ID-jeve; uskladite zahtjeve za bilježenje između klijenata.

9. Pretplate, ograničenja vremena i kapaciteta

9.1 vrijeme

Tablica 19

Parametar

Značenje

OUI

Postavljena donja granica uzorkovanja i objavljivanja

Interval uzorkovanja

Koliko se često uzorkuje nadzirana stavka

Interval objavljivanja

Koliko često pretplata može objaviti obavijesti iz reda čekanja

Veličina reda čekanja

Broj obavijesti zadržanih po nadziranoj stavci

Keepalive

Označava aktivnu pretplatu kada nema obavijesti

Za prikaz uživo počnite s 100–250 ms i veličinom reda 1. Za najbrže dostupno ažuriranje postavite OUI na 10 ms, ponovno uspostavite vezu nakon spremanja i zatražite uzorkovanje/objavljivanje od 10 ms. U klijentskoj logici koristite revidirane intervale poslužitelja.

Uzorkovanje brže od fizičke brzine prikupljanja ne stvara nova mjerenja. Mrežna latencija, šifriranje, opterećenje klijenta i postavke objavljivanja utječu na opaženo vrijeme odziva. Prikaz Server Status / Response Time u UAExpertu nije interval uzorkovanja ili objavljivanja pretplate.

9.2 ograničenja kapaciteta i po zahtjevu

Tablica 20

Resurs

Ograničenje

SecureChannels

4 ukupno, uključujući preklapanje pri ponovnom povezivanju

Sesije

2 istodobno

Vremensko ograničenje sesije

Maksimalno dogovoreno vremensko ograničenje 30 sekundi

Pretplate

4 ukupno; 2 po sesiji

Nadzirane stavke

64 ukupno; 32 po pretplati

Red čekanja nadzirane stavke

1–16 vrijednosti po stavci

Zahtjevi Publish na čekanju

4 po sesiji

Red čekanja za ponovni prijenos

16 poruka po pretplati

Točke nastavka pregledavanja

5 po sesiji

Minimalni interval uzorkovanja/objavljivanja

OUI, 10–5000 ms; zadano 100 ms

Operacije Read / Write / Browse

32 po zahtjevu

Operacije RegisterNodes / TranslateBrowsePaths

32 po zahtjevu

Operacije Method Call

8 po zahtjevu

Operacije nadziranih stavki

32 po zahtjevu

To su ukupne vrijednosti za cijeli poslužitelj, osim ako je naveden opseg po sesiji ili pretplati. Ako je red zahtjeva Publish pun, najstariji zahtjev na čekanju dobiva BadTooManyPublishRequests kako bi novi zahtjev mogao ući u red. Potvrde i Republish koriste ograničeni red ponovnog prijenosa. Ograničenje radnje Write ne omogućuje upis u varijable koje su samo za čitanje.

Uredno zatvarajte sesije. Klijent s prekinutom vezom može ostaviti prethodnu sesiju koja zauzima mjesto do isteka. Ponovno koristite ili aktivirajte postojeću sesiju ako je podržano; u suprotnom pričekajte istek. Nova instanca poslužitelja ne može ponovno aktivirati sesiju koja je postojala prije ponovnog pokretanja usluge: izradite sesiju, razriješite imenske prostore i ponovno stvorite pretplate. TCP klijenti koji ne preuzimaju podatke mogu biti odspojeni nakon isteka roka slanja od jedne sekunde.

10. Primjeri integracije

10.1 UAExpert: bilježenje stabilnog mjerenja

  1. Pogledajte upute za Neutron NS OPC UA na YouTubeu

    Otvorite CS-NEUTRON Scale, desnom tipkom kliknite CaptureStableWeight i odaberite Call.

  2. Unesite TimeoutMs 5000 i kliknite Call. Zabilježite vraćeni RequestId.

  3. Otvorite GetCapturedMeasurement i unesite isti RequestId.

  4. Kliknite Call. Ako zahtjev čeka dovršetak, ponovno pozovite GetCapturedMeasurement s istim ID-jem.

  5. Iz vraćenog rezultata očitajte Gross, Net, Tare, HR, Stable, Status, ErrorCode, Unit i Timestamp. Tijekom čekanja ostavite postojeći zahtjev za bilježenje aktivnim; nemojte opetovano pokretati nova bilježenja.

10.2 Python: sigurna veza, usklađeno očitanje i neobvezno bilježenje

Instalirajte klijentski paket u virtualnom okruženju Python:

python -m pip install asyncua

Pripremite certifikat klijentske aplikacije OPC UA i privatni ključ. URI aplikacije u SAN-u mora odgovarati CLIENT_URI u nastavku. Odobrite certifikat na uređaju Neutron i preuzmite certifikat uređaja Neutron kao neutron.der. Zamijenite krajnju točku, korisničko ime i URI klijenta vlastitim vrijednostima. Datoteka privatnog ključa u ovom primjeru dostupna je klijentu Python; to nije privatni ključ uređaja Neutron.

import asyncio
import getpass

from asyncua import Client, ua
from asyncua.crypto.security_policies import SecurityPolicyBasic256Sha256
from asyncua.ua.uaerrors import UaStatusCodeError

URL = "opc.tcp://192.168.50.73:4840"
NS_URI = "urn:preciz:cs-neutron:weighing:1"
CLIENT_URI = "urn:example:neutron-client"
FIELDS = ("MeasurementId", "Gross", "Net", "Tare", "HR", "Stable",
          "Status", "ErrorCode", "Unit", "Timestamp", "TimeSynchronized")
CAPTURE = False  # Set True when logged in with command permission.


async def main():
    client = Client(URL, timeout=10)
    client.application_uri = CLIENT_URI
    await client.set_security(
        SecurityPolicyBasic256Sha256,
        certificate="client.der",
        private_key="client-key.pem",
        server_certificate="neutron.der",
        mode=ua.MessageSecurityMode.SignAndEncrypt,
    )
    client.set_user(input("Username: "))
    client.set_password(getpass.getpass("Password: "))

    async with client:
        ns = await client.get_namespace_index(NS_URI)
        scale = client.get_node(ua.NodeId("Scale", ns))

        def method(name):
            return ua.NodeId("Scale." + name, ns)

        values = await scale.call_method(method("ReadMeasurement"))
        result = dict(zip(FIELDS, values))
        print("Current snapshot:", result)

        if CAPTURE:
            request_id = await scale.call_method(
                method("CaptureStableWeight"),
                ua.Variant(5000, ua.VariantType.UInt32),
            )
            deadline = asyncio.get_running_loop().time() + 7
            while True:
                try:
                    values = await scale.call_method(
                        method("GetCapturedMeasurement"),
                        ua.Variant(request_id, ua.VariantType.UInt32),
                    )
                    print("Capture", request_id, dict(zip(FIELDS, values)))
                    break
                except UaStatusCodeError as exc:
                    if exc.code != ua.StatusCodes.BadWaitingForInitialData:
                        raise
                    if asyncio.get_running_loop().time() >= deadline:
                        raise TimeoutError("Client capture wait expired") from exc
                    await asyncio.sleep(0.1)


asyncio.run(main())

ReadMeasurement zahtijeva valjane podatke uživo. Aplikacija koja poziva metodu mora obraditi iznimke poput BadSensorFailure ili BadOutOfRange. BadTimeout iz metode GetCapturedMeasurement znači da je isteklo vremensko ograničenje bilježenja na poslužitelju; to nije razlog da se staro pohranjeno mjerenje upotrijebi kao novo uspješno bilježenje.

10.3 Python: pretplata na podatke o masi uživo

Sljedeći kod izvršava se unutar uspostavljene veze async with client. Funkcija za obradu provjerava kvalitetu prije korištenja vrijednosti.

class WeightHandler:
    def datachange_notification(self, node, value, data):
        status = data.monitored_item.Value.StatusCode
        if status.is_good():
            print(node.nodeid.to_string(), value)
        else:
            print("Invalid measurement:", status)


ns = await client.get_namespace_index(NS_URI)
gross = client.get_node(ua.NodeId("Scale.Gross", ns))
subscription = await client.create_subscription(100, WeightHandler())
try:
    await subscription.subscribe_data_change(gross, queuesize=1)
    await asyncio.sleep(30)
finally:
    await subscription.delete()

Zatraženi interval objavljivanja iznosi 100 ms. Uzorkovanje nadziranih stavki prema potrebi postavite kroz klijentsku biblioteku i poštujte revidirane vrijednosti poslužitelja.

10.4 PLC integracijski niz

Koristite OPC UA klijentske blokove proizvođača PLC-a. String NodeIds razriješite pomoću URI-ja imenskog prostora proizvođača. Slijedi slijed neovisan o proizvođaču, a ne implementacija u određenom PLC programskom jeziku:

CONNECT -> TRUST / AUTHENTICATE -> RESOLVE NAMESPACE URI
        -> RESOLVE Scale object and required variable/method NodeIds
        -> CREATE SUBSCRIPTION -> MONITOR LIVE DATA

On a stable-result request:
  Call Scale.CaptureStableWeight(TimeoutMs := UInt32(5000))
  Save returned RequestId
  Call Scale.GetCapturedMeasurement(RequestId)
    BadWaitingForInitialData -> wait 100 ms and repeat retrieval
    Good                    -> store the eleven fields as one record
    BadTimeout              -> report no stable result
    Other failure           -> handle the error; do not use old data

On tare request:
  Call Scale.TareCurrent()
  Save returned command RequestId
  Wait for matching LastCommandId and LastCommandState 3 or 4
  On success read Gross / Net / Tare; on failure read LastCommandResult

Preslikajte UInt64 MeasurementId u odgovarajuću cjelobrojnu vrstu PLC-a. Nemojte slati brojčanu zamjenu za Boolean metodi SetHRFilter. U PLC-u ili aplikaciji uskladite redoslijed naredbi i vlasništvo nad bilježenjem stabilnog mjerenja kada više klijenata ima ovlast za naredbe.

11. Uklanjanje problema, preuzimanje i kompatibilnost

11.1 pogreške pri povezivanju i metodi

Tablica 21

Simptom / status

Značenje i radnja

BadCommunicationError / veza je odbijena

Provjerite je li OPC UA omogućen, IP adresu i port krajnje točke, odabrani mrežni put i vatrozid. Dnevnik pokretanja mora sadržavati OPC UA listening on port ...

BadCertificateUntrusted

Dodijelite povjerenje uređaju Neutron u klijentu i odobrite klijentski certifikat u uređaju Neutron ili instalirajte odgovarajući CA lanac

Pogreške vremena/URI-ja certifikata

Sinkronizirajte satove i koristite certifikat s valjanim datumima i postavljenim URI-jem klijentske aplikacije

BadIdentityTokenRejected / BadUserAccessDenied

Koristite ispravno korisničko ime i lozinku te potrebnu ovlast za naredbe; pričekajte istek 30-sekundne blokade nakon ponovljenih neuspješnih prijava

BadTooManySessions / dosegnuto ograničenje sesija

Oba mjesta su zauzeta; odspojite drugog klijenta ili pričekajte da napuštena sesija istekne

BadNodeIdUnknown

Ponovno razriješite URI imenskog prostora proizvođača, provjerite tekstualni NodeId koji razlikuje velika i mala slova te kompatibilnost firmwarea/modela

BadTypeMismatch

Koristite točnu skalarnu vrstu argumenta iz odjeljka 7.1

BadOutOfRange na CaptureStableWeight

Vremensko ograničenje mora biti UInt32 100–60000; nula nije valjana

BadOutOfRange na SetFilter / SetTare

Koristite FT 1–1023 ili konačnu nenegativnu taru unutar nosivosti i 1e9

BadResourceUnavailable

Mjesto za naredbu ili bilježenje zauzeto je; pričekajte dovršetak trenutačne radnje

Poziv naredbe Call vraća Good, ali radnja ne uspijeva

Provjerite odgovarajuće LastCommandState i LastCommandResult; Good je potvrdio samo uvrštavanje u red čekanja

BadNotWritable pri upisu varijabli

Procesne varijable dostupne su samo za čitanje; koristite podržanu metodu

Bilježenje: BadWaitingForInitialData

Nastavite dohvaćati isti ID bilježenja; poslužitelj čeka valjani stabilni uzorak

Bilježenje: BadTimeout

Prije isteka roka nije stigao odgovarajući stabilni uzorak

Bilježenje: BadNotFound

Koristite vraćeni RequestId bilježenja; novije bilježenje ili ponovno pokretanje usluge poništilo je stari ID

Nedostaje ServerCapabilities nakon promjene firmwarea

Osvježite adresni prostor ili se ponovno povežite s novim klijentskim projektom kako biste odbacili predmemorirane rezultate pregledavanja

Prazna ili zastarjela mjerenja

Zadržite prikupljanje podataka vage uključenim, provjerite ErrorCode i izvorni status te kvalitetu DataValue

11.2 preuzimanja i srodne priručnike

NodeSet2 opisuje adresni prostor proizvođača, argumente metoda, reference i vrste za alate za rad s modelima bez mrežne veze. Njegovi indeksi imenskih prostora lokalni su za tu XML datoteku; razriješite URI imenskog prostora na aktivnom uređaju. XML sadrži definicije modela, a ne trenutačna mjerenja ili sigurnosnu kopiju korisnika, certifikata i postavki. Intervali rada i ovlasti izvršavanja slijede aktivnu konfiguraciju uređaja.

11.3 kompatibilnost verzije

Tablica 22

Informacijski model

Dopune sučelja

1.0

Osnovne vrijednosti vaganja i metode za tariranje/nuliranje

1.1.0

Metapodaci mjerenja, identifikacija, usklađeno mjerenje i bilježenje stabilne mase

1.2.0

ADC, FT/FC vrijednosti i SetFilter/SetHRFilter

1.3.0

ActiveChannel i SetChannel za čitanje aktivnog kanala i odabir kanala 1–4.

URI imenskog prostora ostaje urn:preciz:cs-neutron:weighing:1. Postojeći potpisi metoda zadržani su; ReadMeasurement/GetCapturedMeasurement vraćaju jedanaest polja. Odaberite firmware koji sadrži OPC UA i funkcije potrebne za integraciju. Izdanje firmwarea bez OPC UA ne može izložiti krajnju točku.

Često postavljana pitanja

Podržava li Neutron šifrirani OPC UA?

Da. Odaberite Basic256Sha256 / SignAndEncrypt, koristite korisničko ime i lozinku te uspostavite uzajamno povjerenje u certifikate aplikacija. Dostupan je i nezaštićeni način None/Anonymous.

Kako dohvatiti jedno usklađeno stabilno mjerenje?

Pozovite CaptureStableWeight s vremenskim ograničenjem UInt32 od 100–60000 ms, sačuvajte njegov RequestId i dohvatite rezultat s jedanaest polja pomoću GetCapturedMeasurement s istim ID-jem. Dok zahtjev čeka dovršetak, ponavljajte dohvat umjesto pokretanja novog bilježenja.

Znači li poziv metode sa statusom Good da je naredba dovršena?

Za naredbe tariranja, nuliranja i filtra Good potvrđuje prihvaćanje. Uskladite LastCommandId s vraćenim RequestId-jem i pričekajte LastCommandState 3 (uspjeh) ili 4 (neuspjeh).

Koji URI imenskog prostora i verziju modela trebam koristiti?

Razriješite urn:preciz:cs-neutron:weighing:1 u NamespaceArray pri svakom povezivanju. Informacijski model za preuzimanje je verzija 1.3.0; brojčani indeks imenskog prostora poput 2 samo je primjer.

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 →