Lezen, schrijven, aanroepen
De drie werkwoorden die het meeste werk doen, en de DataValue waar ze allemaal om draaien. Deze cursus behandelt attributen, Variant-typering, de teruggekregen statuscode lezen in plaats van negeren, schrijven zonder een type mismatch uit te lokken, en methods aanroepen.
| Lessen | 9 |
|---|---|
| Tijd | ongeveer 66 minuten |
| Vereisten | A2 |
| Kosten | Gratis: geschreven lessen open, video en labs vereisen een gratis account |
Wat u zult kunnen
- U kunt elk attribuut van elke node lezen, niet alleen de Value.
- U kunt uitleggen wat een DataValue naast het getal nog meer draagt.
- U kunt een waarde schrijven zonder een type- of access-level-fout te veroorzaken.
- U kunt een servermethod aanroepen en de uitvoerargumenten afhandelen.
Syllabus
-
1
Lees meer dan het Value-attribuut8 min
DataType, ValueRank, AccessLevel, EURange, EngineeringUnits. De attributen die u vertellen hoe u de waarde moet behandelen die u gaat lezen.
Asset Een volledige attribuutdump van één analoge variabele van een echte server
-
2
Ontleed een DataValue8 min
Value, StatusCode, SourceTimestamp, ServerTimestamp. Vier velden, en drie ervan worden routineus weggegooid door clientcode die daarna zijn eigen data niet kan verklaren.
Asset Ruwe DataValue-output met alle vier de velden, inclusief één met een status die niet Good is
-
3
Lees de statuscode in plaats van hem te negeren7 min
Good, Uncertain en Bad zijn een contract. Wat u met UncertainLastUsableValue doet voordat het stilletjes een gemiddelde vergiftigt.
Asset Een read die UncertainLastUsableValue teruggeeft, en het foute gemiddelde dat dit oplevert als u het negeert
-
4
Kies welk tijdstempel u vertrouwt7 min
SourceTimestamp versus ServerTimestamp, TimestampsToReturn, en wat u doet als een PLC er maar één van invult.
Asset Dezelfde subscription met beide timestamps vastgelegd, die de drift ertussen laat zien
-
5
Schrijf een waarde zonder type mismatch7 min
Int16 is geen Int32, een scalar is geen array met één element, en ValueRank telt. Waarom de meeste eerste writes mislukken en hoe u de tweede laat werken.
Asset Vier mislukte writes met de exacte statuscode die elk opleverde, gevolgd door de gecorrigeerde aanroepen
-
6
Respecteer AccessLevel voordat u schrijft6 min
Read-only nodes, write-only nodes, en servers die een write accepteren en weggooien: wat de umati sample server bewust doet.
Asset Een write naar de umati-server die Good teruggeeft en niets verandert, met de teruglezing als bewijs
-
7
Arrays en arraybereiken lezen en schrijven7 min
IndexRange, gedeeltelijke array-writes, en de off-by-one die een index range op een serverbug laat lijken.
Asset Een array-read met drie verschillende IndexRange-expressies en hun resultaten
-
8
Een method aanroepen8 min
Input- en outputargumenten, het Executable-attribuut, en hoe het falen van een methode verschilt van het falen van een aanroep.
Asset Een method-aanroep tegen de Milo-demoserver met de in- en uitvoerargumenten afgedrukt
-
9
Batchoperaties zonder een limiet te raken8 min
Reads en writes nemen arrays. Serverlimieten op operaties per aanroep, en waarom één groot verzoek beter is dan duizend kleine, tot het dat niet meer is.
Asset Een gebundelde read van 500 nodes tegenover 500 losse reads, met beide tijden en de limiet van de server
Lab
Gratis account vereist
Start met één commando een lokale server, schrijf er een waarde naartoe, lees die terug, en veroorzaak daarna bewust een type mismatch en een niet-schrijfbaar-fout zodat u beide herkent.
Ontgrendel het lab →Laatst geverifieerd op 7 september 2026 tegen OPC UA 1.05.07. OPC UA Connect is een educatieve bron en is niet gelieerd aan de OPC Foundation.