Datentyp Klassen. Viele CBI-Datentypen werden aus den folgenden allgemeinen Datentypklassen abgeleitet. Alle Datentypen einer bestimmten Klasse verstehen die gleiche Syntax und Ausdrücke, unterscheiden sich aber im Bereich der Werte, die sie zulassen. Datei - und Verzeichnispfadnamen. Dateien und Verzeichnisse werden mit absoluten Pfadnamen angegeben. Diese werden als Strings eingegeben, wahlweise in Anführungszeichen eingeschlossen. Pfadnamen beginnen mit einem der folgenden Präfixe: Beachten Sie, dass die relevanten Dateizugriffsrechte die des Besitzers des Steuerprogramms sind. Datentypen setzen. Durch das Festlegen von Datentypen kann der Benutzer gleichzeitig ein oder mehrere Set-Mitglieder auswählen. Mit einer Ausnahme sind die Mitgliedsnamen für jeden Datentyp unterschiedlich. Die Ausnahme ist das Schlüsselwort all, das die Menge aller anderen Member angibt. Set-Ausdrücke: Folgende Operatoren werden unterstützt: Beispiele: Das erste Beispiel zeigt ein Set aus Empfängern rx1, rx2 und rx10. Es zeigt die Verwendung des Operators, um Werte in einem Satz einzuschließen. Das zweite Beispiel zeigt einen Satz aus allen Empfängern außer rx3, rx4 und rx6. Es zeigt die Verwendung aller Optionen und die Verwendung des - Operators, um Mitglieder aus einem Satz zu entfernen. Das letzte Beispiel zeigt, dass Satzausdrücke Variablen und Klammern enthalten können. Option Datentypen. Options-Datentypen ermöglichen es dem Benutzer, einen Satz von gegenseitig ausschließenden Optionen anzugeben. Jeder Option-Datentyp unterstützt einen anderen Satz von Optionen, je nach seiner Verwendung. Optionen werden als Einwortnamen dargestellt und eingegeben. Floating Point Datentypen. Jeder Floating-Point-Datentyp hat einen unterschiedlichen Wertebereich, den er entsprechend seiner Verwendung unterstützt. Im Folgenden finden Sie Beispiele, wie Gleitkommazahlen eingegeben werden können: Beachten Sie, dass für wissenschaftliche Notationen e als Indikator eines Exponenten verwendet wird. Dies ist die C-Konvention für die Eingabe von doppelten Präzisionszahlen. Das FORTRAN D-Äquivalent wird nicht unterstützt. Unsigned Integer Datentypen. Unsignierte Ganzzahl-Datentypen erlauben keine negativen Werte. Standardmäßig wird eine vorzeichenlose Ganzzahl als Dezimalzahl interpretiert, jedoch können folgende Präfixe verwendet werden, um andere Basen anzugeben: Beachten Sie, dass Sie darauf achten sollten, keine führende Null hinzuzufügen, es sei denn, Sie möchten Ihre Zahl als oktal interpretieren. Beispiel: Sexagesimal Datentypen. Sexagesimal-Datentypen werden für die Eingabe von Winkel - und zeitbezogenen Parametern verwendet. Zum Beispiel repräsentieren die folgenden Sexagesimalzahlen alle die Zahl 23.5075. Der integrale Teil der Zahl steht an erster Stelle. Sein Bruchteil kann dann entweder als Dezimalbruch nach einem Dezimalpunkt ausgedrückt werden, oder er kann als Basis-60-Anteil ausgedrückt werden. Im letzteren Fall wird jede Basis 60-stellig der Fraktion mit einem Doppelpunkt eingeführt und mit einer Dezimalzahl von 0 bis 59 bezeichnet. Der optionale Bruchteil der Endkomponente wird als Dezimalbruch nach einem Dezimalpunkt ausgedrückt. Martin Shepherd (9-Oct-1997) VTS-Skriptskripts in VTS werden geschrieben, um das Senden von Paketen an ein BACnet-Gerät zu automatisieren und die Reaktion auf ein bestimmtes Verhalten zu überprüfen. Scripts sind einfache ASCII-Textdateien mit einer VTS-Dateierweiterung. Dieses Dokument beschreibt die VTS3-Skripte und hebt die Unterschiede zu VTS2 hervor. Die Unterschiede zwischen VTS2 und VTS3 fallen in folgende Kategorien: Atomwert-Notation, Timing-Optionen, benötigte Paketparameter und Parameterwertformat. Atomwerte sind einfache Booleans, Integer, Strings, Daten und Zeiten, die in einem Skript ausgedrückt werden. Timing-Optionen, die neu in VTS3 sind, geben an, wie lange zu warten, bevor ein Paket gesendet oder eine Antwort erwartet wird. Unterschiedliche Timing-Werte können paketweise festgelegt werden. Es sind erforderliche Paketparameter erforderlich, die in VTS3 angegeben werden müssen, die in VTS2 nicht benötigt wurden. Im Allgemeinen muss jeder erforderliche Parameter in einem Paket in einer SEND-Anweisung angegeben werden. Es gibt Ausnahmen, in denen Standardwerte verfügbar sind. Auch die Verarbeitung der EXPECT-Anweisung ist sehr unterschiedlich. In VTS2 wurde ein Paket unter Verwendung der Parameter im Skript erstellt, dann wurden eingehende Pakete gegen dieses Beispiel komprimiert. In VTS3 werden nur diejenigen Parameter überprüft, die im Skript angegeben sind. Darüber hinaus sind die Vergleichsoperatoren, die in der ursprünglichen Beschreibung der Skriptsprache angegeben wurden, aber noch nie in VTS2 implementiert wurden, in VTS3 verfügbar. Das Format der Parameterwerte kann sich in einigen Fällen geändert haben. Dieses Dokument beschreibt die Parameterwerte und Optionen, die in VTS3 verfügbar sind. Es gibt eine Vielzahl von Script-Grundlagen, die nicht von VTS2 auf VTS3 geändert haben. Das grundlegende Skriptformat ist immer noch eine Sequenz eines oder mehrerer SECTIONs, die aus TESTs zusammengesetzt sind. Jedem Abschnitt und Test kann der SETUP-Abschnitt vorangestellt werden, der Variablen und Werte definiert, die in einem Skript verwendet werden sollen. Allgemeine und beschreibende Kommentare sind noch verfügbar. Text, der auf ein Semikolon folgt, wird ignoriert, Text, der auf zwei Bindestriche folgt - oder das Schlüsselwort COMMENT ist mit der definierten Variablen verknüpft. Parameterwerte sind immer noch durch Kommas getrennte Listen von Booleschen, Ganzzahlen, Gleitpunktwerten, Strings, Zeiten oder Datumsangaben. Während Parameter in beliebiger Reihenfolge spezifiziert werden können, werden sie üblicherweise in der Reihenfolge bereitgestellt, in der sie in der PDU codiert werden, beginnend mit der untersten Schicht und dem Vorgehen zu den höheren Schichten. Das Grundformat für die meisten Atomwerte hat sich nicht geändert. Boolesche Werte können die Schlüsselwörter T sein. TRUE. Y. JA. F. FALSCH. N. und NO. Integer-Werte können mit Dezimal-, Hex-, Oktal - oder Binärcodierung angegeben werden. Zum Beispiel: 15, 0x0E, ampx0E, xE, o16, ampo16, 0o16, ampb1110, 0b1110 und b1110. Integer-Werten können mit einem Minuszeichen vorangestellt werden - für negative Werte. Gleitpunktwerte können eine Anzahl von gemeinsamen Formen mit einem optionalen Bruchteil und Exponententeil haben. Zum Beispiel: 10,0, 10e5, 1,4e2, 3,6e-2, -50,4, -6,2e-5. Zeichenfolgen können in passende einfache oder doppelte Anführungszeichen eingeschlossen werden. Der schwarze Schild wird verwendet, um ein eingebettetes Zitat zu entgehen. Zum Beispiel sind die folgenden zwei Zeichenfolgen identisch: Er sagte, dass "Hiquot quotHe sagte" Hiquotquot Octet Strings können als Hex-, Dezimal - oder Oktal-Strings angegeben werden. Hex-Zeichenfolgen erfordern eine Folge von Paaren von Hexzeichen, wobei jedes Paar mit einem Oktett assoziiert ist. Zum Beispiel: Octal-codierte Zeichenfolgen müssen eine Folge von Triples von Oktalzeichen im Bereich 000-377 sein, und die dezimale Codierung verwendet auch Triples im Bereich von 000-255. HINWEIS: In einigen Fällen, am deutlichsten in MAC-Adressen-Werte, erkannte VTS2 implizit eine Folge von Ziffern als oktal codiert. VTS3 erfordert eine der Oktett-String-Notationen für diese Werte. IP-Adressen sind ein neuer Atomwert, der in VTS3 eingeführt wird. Sie werden als eine Folge von vier Dezimalzahlen im Bereich 0-255 angegeben, die durch Periodenzeichen, die auch als punktierte Dezimalschreibweise bezeichnet werden, getrennt sind. Es ist optional gefolgt von einem Doppelpunkt und einer dekanten oder hexadezimalen Portnummer im Bereich 0-65535. Wenn die Portnummer weggelassen wird, wird als Standardwert 0xBAC0 (47808) bereitgestellt. Zum Beispiel: Für diejenigen Fälle, die auch eine Netzwerkmaske erfordern, kann dem Host-Teil ein Schrägstrich / und eine Dezimalzahl folgen, die die Anzahl der Bits im Netzwerkteil des Subnetzes beschreibt. Dies spezifiziert beispielsweise eine Subnetzmaske mit den höchsten Bits der höchsten Ordnung oder 255.255.255.0 in der punktierten Dezimalnotation: Für die spezielle Codierung von Datums - und Zeitparametern siehe unten stehende TIME - und DATE-Parameter. Während Datum und Uhrzeit primitive BACnet-Typen sind, sind sie nicht in den meisten PDU-Parametern enthalten, sondern nur im variablen kodierten Teil einer APDU. VTS3 führte eine Variation der SEND - und EXPECT-Anweisungen ein, um das Timing auf einzelnen Paketen zu steuern. Das SEND-Schlüsselwort kann von AFTER gefolgt werden. Gefolgt von einer Verzögerung in Millisekunden. Zum Beispiel: In diesem Fall erfordert VTS, dass ein Paket ankommt, das alle angegebenen Parameter erfüllt, bevor 200ms verstrichen ist. Die AND - und OR-Anweisungen, die SEND und EXPECT auf mehrere Pakete in einer Sequenz erweitern, können ebenfalls eine Verzögerung haben. In allen Fällen beginnt der VTS-interne Timer mit SEND oder EXPECT. Es gibt vier Grundschichten zu einem Paket und eine Reihe von Paketparametern für jede Schicht: die Verbindungsschicht, die virtuelle Verbindungsschicht, die Netzwerkschicht und die Anwendungsschicht. Einige Layer sind optional, und nicht alle Parameter sind für jede Ebene erforderlich. Die Parameterwertdiskussion verwendet eine SEND-Anweisung, in der alle notwendigen Parameter angegeben werden müssen, aber für eine EXPECT-Anweisung stehen dieselben Parameter zur Verfügung. Alle Parameter verwenden dieses Formular: PARAMETER ltopgt ltvaluegt Für die SEND-Anweisung muss der Operator das Gleichheitszeichen sein oder weggelassen werden. Für die EXPECT-Anweisung muss der Operator gleich oder kleiner als lt größer als gt sein, kleiner oder gleich lt, größer oder gleich gt oder nicht gleich ltgt. Wenn der Operator weggelassen wird, werden Gleichheiten angenommen. Die Verbindungsschicht gibt die Netzwerk - oder Port-, Quell - und / oder Zieladressen an. Siehe auch Anwendungsschichtpakete für eine Erläuterung, wie die meisten dieser Parameter weggelassen werden können. NETWORK gibt den Port an, der verwendet werden soll, um das Paket zu senden, oder erwarten, dass das Paket ankommt. Net ist eine Zeichenfolge, die mit einem in einer geöffneten Sitzung definierten Portnamen übereinstimmt. Wenn nur ein aktiver Port vorhanden ist, kann dieser Parameter weggelassen werden. HINWEIS: Der VTS2-Netzwerkparameter verwendet drei durch Kommas getrennte Werte. VTS3 ersetzt dies mit dem Portnamen als Zeichenfolge und alle Portmerkmale werden in der Session definiert. DA ist die Abkürzung für Zieladresse. Addr kann das Schlüsselwort BROADCAST sein. LOCALBROADCAST. Eine Zeichenfolge oder eine Oktettfolge. Wenn eine Zeichenfolge angegeben wird, muss ein übereinstimmender Name in der Sitzung für den verwendeten Port definiert sein. Wenn eine Übereinstimmung gefunden wird, wird die zugehörige Adresse verwendet, die eine Octet-Zeichenfolge oder eine lokale Übertragung sein kann. Für eine SEND-Anweisung, wenn es einen Namen in der Session namens IUT gibt, dann kann dieser Parameter weggelassen werden und VTS wird die zugehörige Adresse verwenden. SA steht für Source Address. Addr muss eine Octet-Zeichenfolge oder eine Zeichenfolge sein, die mit einem Namen in der Sitzung übereinstimmt. Für eine SEND-Anweisung kann die Quelladresse weggelassen werden und die dem Port zugeordnete Stationsadresse wird verwendet. Das Spoofing oder die Verwendung einer anderen als der im Port definierten Adresse ist für IP-Ports nicht verfügbar. DER steht für Data Expecting Reply und ist nur für MS / TP-Netze erforderlich, die derzeit nicht implementiert sind. Bei anderen Netzwerktypen wird dieser Parameter ausgelassen. PRIORITY ist die Paket-Priorität, die dem Port für die Bestellung von Paketen zugewiesen wird. VTS3 nicht prioritäre ausgehende Pakete, es ist strikt zuerst kommen, zuerst dienen. Der Parameter muss im Bereich 0-3 liegen. Dieser Parameter kann weggelassen werden und der Standardwert ist 1 (1). Dies sind spezifische BVLCI-Parameter für BACnet / IP. Wenn dieser Layer angegeben ist, gibt es einen BVLCI-Parameter, der eines der folgenden Formulare haben muss. Bei Nicht-IP-Ports wird dieser Layer gewöhnlich weggelassen, und er wird auch für IP-Nachrichten zwischen Annex-H-Tunneling-Routern weggelassen. Für BVLCI-spezifische Nachrichten (wie Register-Foreign-Device) gibt es keine anderen Parameter im Paket, aber für andere (z. B. Original-Broadcast) ist die BVLL ein Wrapper um den Rest des Pakets. VERSION ist die BACnet Versionsnummer. Es kann weggelassen werden, und Standardwerte zu einem (1). Wenn DNET oder DADR (oder beide) vorhanden sind, wird das korrekte Bit im NPCI gesetzt. Dnet ist eine Ganzzahl, und wenn es 65535 (global broadcast) ist, kann das DADR nicht angegeben werden, andernfalls müssen beide angegeben werden. Dadr ist ein Oktettstring. Wenn HOPCOUNT nicht angegeben ist und erforderlich ist (da der DNET und / oder DADR angegeben wurde), dann ist die Hop-Zählung standardmäßig auf 255. Wenn SNET oder SADR angegeben sind, müssen beide angegeben werden. Das entsprechende Bit wird im NPCI gesetzt. HINWEIS: Der Link-Layer PRIORITY-Parameter wird im entsprechenden Feld im NPCI verwendet. Den Netzwerk-Header-Parametern kann eine Netzwerkschicht-Meldung folgen, die die gleiche Form wie VTS2 hat. Der MESSAGE-Parameter muss eines der folgenden Formate annehmen: MESSAGE WHO-IS-ROUTER-TO-NETWORK, dnet MESSAGE I-AM-ROUTER-TO-NETWORK, dnet MESSAGE I-COULD-BE-ROUTER-TO-NETWORK, Dnet MESSAGE ROUTER-BUSY-TO-NETWORK, dnet MESSAGE ROUTER-NETZWERK, dnet MESSAGE INITIALIZE-ROUTING-TABLE, dnet, port, string Es gibt folgende Abkürzungen Für Befehle: ANY wird in EXPECT-Klauseln verwendet, um beliebige markierte Daten zu dekodieren und zu verwerfen. Die Decodierung stoppt, sobald sie das Ende der APDU erreicht hat, oder ein unübertroffenes schließendes Tag, je nachdem, was zuerst eintritt. JEDE wird typischerweise verwendet, um Listen mit unbekannter Länge und komplexen Datentypen zu bearbeiten, die nicht durch das Skript verglichen werden müssen. Für primitive Daten können Sie den Wert anstelle von ANY verwenden. Vor der VTS-Version 3.6.5 nahm ANY keine Parameter an und benötigte mindestens ein markiertes Element. Aber das bedeutete, dass ANY nicht verwendet werden, um optionale Elemente oder leere Listen zu ignorieren, zu speichern oder zu vergleichen. Ab VTS Version 3.6.5 akzeptiert ANY null oder mehr markierte Elemente, stoppt, wenn es das Ende der APDU erreicht, oder ein unübertroffenes schließendes Tag, je nachdem, was zuerst eintritt. Vergleich und zugeordnete Parameter sind nun erlaubt. So: Decodiert und ignoriert null oder mehr markierte Elemente. Decodiert null oder mehr markierte Elemente und weist das Ergebnis als Oktettstring an die Skriptvariable FOO zu. Decodiert null oder mehr markierte Elemente und überprüft, dass mindestens ein Element decodiert wurde (dh, dass das Ergebnis kein leerer Oktettstring ist.) Dadurch wird die Wirkung von ANY alleine in VTS-Versionen vor 3.6.5 erreicht Mit einem Geräteobjekt, das als Kontext zum Senden und Empfangen von Daten verwendet werden kann Wenn SEND und EXPECT keine Netzwerk - oder virtuellen Netzwerkparameter haben, aber über den PDU-Parameter verfügen, wird die Nachricht im Kontext des Geräteobjekts gesendet Beispielsweise ist hier eine Who-Is-Anforderung, bei der alle Netzwerkparameter angegeben wurden In diesem Fall handelt es sich bei dem Port quotIPPortquot um einen IP-Port, der so konfiguriert wurde, dass er als Fremdgerät mit einem BBMD registriert wird Zeichenfolge, die mit einem Namen übereinstimmt, der in der Sitzung definiert ist Im Gegensatz zu den Namen, die für DA verwendet werden, wenn NETWORK angegeben wird, kann der Name auf eine entfernte Station, eine Remoteübertragung oder eine globale Übertragung verweisen. Wenn ein Name mit der Bezeichnung IUT definiert ist, kann dieser Parameter weggelassen werden Dnet ist eine Zielnetzwerknummer im Bereich 0-65534. Addr ist ein Oktettstring. Nachdem die PDU bereitgestellt ist, werden die Paketinhalte wie oben gebildet (und geprüft). Nachrichten aus dem Skriptinterpreter werden während der Skriptausführung generiert. Diese Nachrichten haben einen Schweregrad, der in der Detailansicht einer Nachricht sichtbar ist. Diese Codes sind so konzipiert, dass zukünftige Versionen von VTS Farbkodierung der Zusammenfassung Fenster nach Schweregrad und verfügbar sein, wenn Display-Filter implementiert sind. Es gibt derzeit drei Schwerecodes: 1 Dieser Code wird verwendet, wenn der Skriptinterpreter einen Test startet oder stoppt. Ein Test kann gestartet werden, indem man einen Test im Skriptbearbeitungsfenster auswählt und einen einzelnen Test ausführt oder alle Tests ausführt. Ein Test kann beenden, da er übergibt, fehlschlägt (eine SEND - oder EXPECT-Anweisung fehlschlägt) oder wird vom Benutzer angehalten. 2 Dieser Code wird verwendet, wenn der Benutzer die Skriptausführung manuell steuert. Jeder Schritt, Schritt / Durchlauf und Schritt / Ausfall, wie vom Benutzer signalisiert, wird aufgezeichnet. Diese werden aufgezeichnet, weil der Benutzer einen Teil des Tests überspringen kann, der ansonsten zum Ausfall des Tests führen würde. 3 Dieser Code wird verwendet, wenn der Interpreter keine Anweisung ausführen kann. Eine fehlerhafte Bedingung könnte sein, dass ein Zeitgeber abgelaufen ist oder das Paket den erwarteten Inhalt nicht enthält. Eine fehlerhafte Aussage kann nicht unbedingt die Prüfung fehlschlagen. Zum Beispiel hat das Formular EXPECT () OR () zwei verschiedene Pakete, die akzeptiert werden. Wenn das erste fehlschlägt, dann wird das protokolliert, aber wenn das zweite gelingt, könnte der Test erfolgreich sein. Danke für die Kontaktaufnahme mit mir. Ive hat Sie zu GenoMeds Kontaktliste, so youll erhalten Sie Pressemitteilungen wie die, die ich ausgesandt 4. März 2010, als ich zum ersten Mal hörte, dass die SEC hat den Handel in unserem Lager suspendiert. Die SEC-Position ist ziemlich geschnitten und getrocknet. Wir havent abgelegt mit ihnen seit 2005, und ihre Position ist, dass wir nicht eine öffentliche Gesellschaft sein sollten, es sei denn, wir fortsetzen, mit ihnen zu archivieren. Leider, Auditoren und SEC-Anwälte, ganz zu schweigen von Sarbannes-Oxley Anforderungen, kosten würde uns eine zusätzliche 100K oder so pro Jahr. An dieser Stelle können wir einfach nicht leisten, um mit unseren SEC-Archivierung Anforderungen halten. Ich hoffe, dass sich unsere finanzielle Situation bald ändert, und wir können uns wieder bei der SEC anmelden und den Handel an einer Börse fortsetzen. Für den Augenblick haben wir keine Alternative, aber als nicht handelsfähiges, d. H. Privates Unternehmen weiterzugehen, bis wir genügend Geld haben, um sich erneut mit der SEC zu registrieren und den Handel fortzusetzen. Ich habe keine Ahnung, wie lange das sein wird. Ich hoffe, dass die Welt über unsere Fähigkeit hören wird, 90 der Dialyse zu verhindern und gut bald haben Tausende von Patienten, die wollen, dass wir sie von Dialyse zu halten. Aber das ist noch nicht passiert. Ich versuche immer, das Wort aus dem Alltag zu bekommen, wie viele von Ihnen tun. Jedenfalls versichert die SEC, dass die gegenwärtige Maßnahme unsere Chancen, sich mit ihnen zu registrieren, nicht nachteilig auswirken wird, sobald sich unsere Finanzen verbessert haben. Ich verspreche, dass Sie so genau aufbewahrt werden, jetzt, dass private waren, wie ich, als wir öffentlich waren. Ich verspreche auch, alle meine Investoren fair behandeln. Ive beauftragte den Börsenagenten, mir eine Liste der Aktionäre ab dem 3. März 2010 zu schicken, damit ich alle Ihre eMail auf unsere Vorlagenliste laden kann. Ich würde es begrüßen, wenn Sie mich selbst kontaktiert haben, zusammen mit der Anzahl der Aktien, die Sie besitzen, so dass ich Ihnen Unternehmensnachrichten senden kann, wenn ich sie an alle anderen senden. BITTE WERDEN SIE NICHT WEGEN IHRE GENOMED SHARE ZERTIFIKATE Sie benötigen sie, um Ihre vorherige Investition in das Unternehmen zu beweisen. Sie haben immer noch Wert. Auch wenn Sie nicht handeln können sie auf einer Börse wie die Pink Sheets mehr, seine vollkommen legal für Sie, um sie unter ihnen zu handeln. Beste Grüße, Dave Moskowitz MD CEO, GenoMed, Inc. 2001-2016 GenoMed. Alle Rechte vorbehalten.
No comments:
Post a Comment