Citire, scriere, apel
Cele trei verbe care fac cea mai mare parte a muncii și DataValue în jurul căruia se învârt toate. Acest curs acoperă atributele, tipizarea Variant, citirea codului de stare pe care l-ați primit înapoi în loc să îl ignorați, scrierea fără a provoca o nepotrivire de tip și apelarea metodelor.
| Lecții | 9 |
|---|---|
| Timp | aproximativ 66 de minute |
| Cerințe prealabile | A2 |
| Cost | Gratuit: lecțiile scrise sunt deschise, video și laboratoarele cer un cont gratuit |
Ce veți fi capabil să faceți
- Puteți citi orice atribut al oricărui nod, nu doar valoarea lui.
- Puteți explica ce transportă un DataValue în afară de număr.
- Puteți scrie o valoare fără a declanșa o eroare de tip sau de nivel de acces.
- Puteți apela o metodă de server și puteți trata argumentele ei de ieșire.
Programă
-
1
Citiți mai mult decât atributul Value8 min
DataType, ValueRank, AccessLevel, EURange, EngineeringUnits. Atributele care vă spun cum să tratați valoarea pe care urmează să o citiți.
Resursă Un dump complet de atribute al unei variabile analogice de pe un server real
-
2
Descompuneți un DataValue8 min
Value, StatusCode, SourceTimestamp, ServerTimestamp. Patru câmpuri, dintre care trei sunt aruncate în mod curent de codul de client, care apoi nu își poate explica propriile date.
Resursă Ieșire DataValue brută care arată toate cele patru câmpuri, inclusiv unul cu stare diferită de Good
-
3
Citiți codul de stare în loc să îl ignorați7 min
Good, Uncertain și Bad sunt un contract. Ce să faceți cu UncertainLastUsableValue înainte să otrăvească pe tăcute o medie.
Resursă O citire care returnează UncertainLastUsableValue și media greșită pe care o produce dacă este ignorată
-
4
Alegeți marcajul de timp în care aveți încredere7 min
SourceTimestamp față de ServerTimestamp, TimestampsToReturn și ce faceți când un PLC completează doar unul dintre ele.
Resursă Același abonament cu ambele marcaje de timp înregistrate, arătând derapajul dintre ele
-
5
Scrieți o valoare fără nepotrivire de tip7 min
Int16 nu este Int32, un scalar nu este un tablou cu un element, iar ValueRank contează. De ce eșuează majoritatea primelor scrieri și cum să o faceți pe a doua să funcționeze.
Livrabil Patru scrieri eșuate, cu codul de stare exact produs de fiecare, apoi apelurile corectate
-
6
Respectați AccessLevel înainte de a scrie6 min
Noduri doar pentru citire, noduri doar pentru scriere și servere care acceptă o scriere și o elimină: ceea ce serverul exemplu umati face în mod deliberat.
Resursă O scriere pe serverul umati care întoarce Good și nu schimbă nimic, cu citirea înapoi care o dovedește
-
7
Citiți și scrieți tablouri și domenii de tablou7 min
IndexRange, scrierile parțiale de tablou și eroarea de o unitate care face ca un domeniu de indici să pară o eroare de server.
Resursă O citire de tablou cu trei expresii IndexRange diferite și rezultatele lor
-
8
Apelați o metodă8 min
Argumentele de intrare și de ieșire, atributul Executable și în ce fel diferă un eșec de metodă de un eșec de apel.
Resursă Un apel de metodă pe serverul demo Milo, cu argumentele lui de intrare și de ieșire afișate
-
9
Operații în bloc fără a atinge o limită8 min
Citirile și scrierile primesc tablouri. Limitele serverului privind numărul de operații per apel și de ce o cerere mare bate o mie de cereri mici, exact până în momentul în care nu o mai bate.
Livrabil O citire în lot a 500 de noduri față de 500 de citiri individuale, cu ambii timpi și limita serverului
Laborator
Necesită cont gratuit
Porniți un server local cu o singură comandă, scrieți o valoare în el, citiți-o înapoi, apoi provocați intenționat o nepotrivire de tip și un eșec de tip „nu se poate scrie”, ca să le recunoașteți pe amândouă.
Deblocați laboratorul →Verificat ultima dată la 7 septembrie 2026 față de OPC UA 1.05.07. OPC UA Connect este o resursă educațională și nu este afiliată cu OPC Foundation.