Einzelne Bits bzw.Flags zu Integer kombinieren / Guter Stil?

NoTategoi

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

für einen Kunden soll ich gerade eine Ankopplung, per OPC-UA, zu einem Videosystem integrieren.


In dem, von einer Drittfirma, vorgeschlagenen OPC Datenaustausch sind die verschiedenen Status- und Steuerbits jeweils zu Integer16 zusammen gefasst.


Ich frage mich nun, ob das noch ein zeitgemäßes Vorgehen ist, weil ich eigentlich gerne für jedes Bit ein OPC-Item (Node) hätte.

Die Vorteile liegen eigentlich auf der Hand, denn ich brauche so keine selbstcodierten Bitverknüpfungen durchführen, diverse StatusChange-Events werden automatisch geschmissen, beim Logging „erwische“ ich immer das richtige Item etc…

Ich programmiere übrigens in C# und VB.Net und benutze das OPC UA Toolkit der Firma Softing.

Ich würde mich nun über Vorschläge und Anregungen freuen, bzw. Erfahrungsberichte aus der Praxis – wie würdet ihr Vorgehen?


Mit freundlichen Grüßen,
Markus
 
Hat beides seine Vor- und Nachteile.

Durch das Zusammenfassen lassen sich Variablen einsparen. In vielen kommerziellen HMI-Systemen wird nach der Anzahl der Tags lizenziert. Wenn du 4096 Bitmeldungen hast und die einzeln adressierst wären das 4096 Tags. Wenn man diese zu Word oder Dword zusammenfassen kann, werden nur noch 256 oder 128 Tags als Lizenz benötigt. Je nach System kann das schon tausend Euro unterschied sein.

Evtl. kann es auch noch ein Unterschied in der Kommunikationslast machen, da ist es aber abhängig von der Steuerung die dahinterhängt ob es da Unterschiede gibt.

Wahrscheinlich ist die Vorgehensweise bei der Firma von der du die Daten erhältst Standard, dass Bits in einem Word verpackt werden. Wenn dir dir Fremdfirma die Symbolik in deinen OPC-Server lädt, bist du darauf angewiesen. Ansonsten müssten diese ihr ganzes System umstellen.

Je nach OPC-Server kannst du dir auch deine eigene Symbolik erstellen, oder wie z.B. bei Siemens.OPC mit Absolutadressen hantieren (die dann aber bei jeder Änderung händisch nachgepflegt werden müssen).

Schöner für deine Seite ist es sicher alles als einzelne Bits zu bekommen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Thomas,

danke für deine schnelle Antwort.

Da es sich bei den oben gennanten Statusinformationen nicht um sehr viele Werte handelt und auch keine zusätzlichen Lizenkosten fällig werden, bin ich noch bestärkt in meiner Meinung, dass es mit den separaten Items wesentlich flexibler und professioneller umgesetzt werden kann.

Gruß,
Markus
 
Die Vorteile liegen eigentlich auf der Hand, denn ich brauche so keine selbstcodierten Bitverknüpfungen durchführen, diverse StatusChange-Events werden automatisch geschmissen, beim Logging „erwische“ ich immer das richtige Item etc…

Hallo,
an dieser Stelle kann man das aber auch so und so sehen ...
Wie gedenkst du es denn zu realisieren ?
Jeder Item hat seinen eigenen Eventhandler und die zugehörige Prozedur/Void/Methode ? Das wird dann aber auch schnell unübersichtlich und ob das dann guter Stil ist ...
Ich würde hier tatsächlich auch zu UINT16 (WORD) zusammenfassen und in der Handler-Prozedur entsprechend der Bitnummer die Aktionen durchführen (Texte darstellen ?).

Gruß
Larry
 
Zurück
Oben