Vyčtení / zapsání hodnot z/do OMC8000 pomocí protokolu UDP

Podobné dokumenty
Obsah. Popis funkcí. RS485/MODBUS-RTU ver Komunikace s převodníkem probíhá na principu MASTER - SLAVE. Protokol MODBUS mát tuto strukturu:

Moduly MicroUnit serie. všechny typy s výjimkou řady MU-43x, MU-44x a MU-84x

Komunikační protokol

Komunikační protokol

Knihovna EpsnetLib TXV první vydání září 2012 změny vyhrazeny

RS485/MODBUS-RTU ver. 4 s rozšířením pro R24

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Algoritmizace a programování

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Komunikační protokol MODBUS RTU v měřicích převodnících AD4xxx a Drak 4

Canon Controller. Komunikační protokol. Řídicí jednotka k objektivům Canon EF/EF-S

Telemetrický komunikační protokol JETI

ACM-MODBUS, popis komunikace s převodníkem

Knihovna SBUS. Implementace neúplných protokolů S-BUS pro stanici server, paritní a datový mód

Mikroprocesorová technika (BMPT)

Analýza aplikačních protokolů

Algoritmizace a programování

Albatros MultiV ALBATROS MultiV ALBATROS MultiV-R Datový převodník LG PI485 / MODBUS TCP LG PI485 / MODBUS RTU s možností rozpočítávání spotřeby elekt

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

5 Přehled operátorů, příkazy, přetypování

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Adresní mody procesoru

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Komunikační protokol MODBUS RTU v přípojné desce EPD.

DATABÁZE MS ACCESS 2010

SEMESTRÁLNÍ PROJEKT Y38PRO

1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači

Komunikace MODBUS pro převodníky AIM600, AIM615. UINT16 Bezznaménkový celočíselný datový typ o velikosti 16bitů rozsah 0 až 65535

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Komunikační protokol EX Bus. Komunikační protokol EX Bus. Topologie. Fyzická vrstva. Přístup ke sdílenému přenosovému mediu (sběrnici)

Knihovna XmlLib TXV první vydání prosinec 2010 změny vyhrazeny

Popis komunikačních protokolů regulátorů řady Hx4xx a Hx3xx s digitálním komunikačním rozhraním RS 485 a RS 232

Quido - MODBUS. Kompletní popis protokolů MODBUS RTU a TCP v I/O modulech Quido. 20. listopadu 2015 w w w. p a p o u c h.

Převodník DCPSE. Komunikační protokol

Popis programu EnicomD

Návrh konstrukce odchovny 3. dil

VISUAL BASIC. Práce se soubory

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

MEK1 - Modul externí komunikace RS-232 / MODBUS_RTU.

Zobrazení dat Cíl kapitoly:

Klientský formát POHLEDÁVKY podporovaný v KB platný od

Převodník Ethernet ARINC 429

Knihovna ConvertLib TXV první vydání září 2013 změny vyhrazeny

Knihovna XmlLib TXV druhé vydání říjen 2012 změny vyhrazeny

CIB VOICE MODULE HLM390/CIB. Technická dokumentace

FMS OEM CHIP V7. Vzdálený update firmware

Úvod do programování. Lekce 1

Knihovna DataBoxLib TXV první vydání prosinec 2010 změny vyhrazeny

APL-113 Čtení hodnot z indukčních průtokoměrů KROHNE prostřednictvím protokolu Modbus-RTU

Software pro vzdálenou laboratoř

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Laboratorní práce: SNMP - Linux snmputils

SML 33 / SMM 33 / SMN 33

Uživatelský manuál. KNX232e / KNX232e1k

NAPOJENÍ ZAŘÍZENÍ S KOMUNIKACÍ BELIMO MP-BUS NA SÍŤ AUTOMATŮ MICROPEL

Programování v jazyce JavaScript

Klientský formát POHLEDÁVKY platný od

8 Třídy, objekty, metody, předávání argumentů metod

Kódování signálu. Problémy při návrhu linkové úrovně. Úvod do počítačových sítí. Linková úroveň

Knihovna RecDBXLib ZÁZNAMY V DATABOXU TXV

Komunikační protokol MODBUS RTU v jednotce M4016. Seznam služeb protokolu MODBUS podporovaných řídící jednotkou M4016 je v tabulce.

Formát rámce MODBUS pro MORSE

MBus Explorer MULTI. Uživatelský manuál V. 1.1

Knihovna MeteoGiom3000Lib TXV první vydání Prosinec 2010 změny vyhrazeny

Programovací jazyk Pascal

Snímač relativní vlhkosti, teploty a teploty rosného bodu se sériovým výstupem RS232 a RS485 Návod k použití

Programovatelný snímač teploty se sériovým výstupem RS232 a RS485 Návod k použití

Komunikační protokol MODBUS RTU v senzoru vlhkosti a teploty THT

Jazyk C# a platforma.net

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Datové typy a struktury

Popis komunikačních protokolů snímačů řady Tx3xx a Tx4xx s digitálním komunikačním rozhraním RS232 a RS485

Model ver SYSTEM EXCLUSIVE KOMUNIKACE CHD Elektroservis

Úvod Virtuální kanál TCP Datagramová služba UDP URL TCP, UDP, URL. Fakulta elektrotechnická

Architektury počítačů

Elementární datové typy

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

Kurz LSL skriptování. Shiny Iceberg 2009

5. A/Č převodník s postupnou aproximací

Architektury počítačů a procesorů

I/O a SCADA systémy. iologik I/O Servery. iologik iologik 2000

Střední odborná škola a Střední odborné učiliště, Hořovice

CBR Test dimenzač ní čh parametrů vozovek

ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

Iterační výpočty. Dokumentace k projektu č. 2 do IZP. 24. listopadu 2004

Knihovna SolarMonitorLib

SNÍMAČOVÝ EXPANDÉR TB8.1x2 RS232 - ASCII

SPINEL. Komunikační protokol. Obecný popis. Verze 1.0

Assembler - 5.část. poslední změna této stránky: Zpět

Uživatelský manuál. KNXgw232

Jak nastavit 2SMS a SMS2 na bráně 2N VoiceBlue Next

IPZ laboratoře. Analýza komunikace na sběrnici USB L305. Cvičící: Straka Martin, Šimek Václav, Kaštil Jan. Cvičení 2

Strojový kód. Instrukce počítače

SSL Secure Sockets Layer

Transkript:

Application Note #05/14: Vyčtení / zapsání hodnot z/do OMC8000 pomocí protokolu UDP Požadavky: OMC8000 má přiřazenu IP adresu (statickou, nebo pomocí DHCP), označme ji OMC8000_IP Na straně PC máte spuštěného UDP klienta, který dovoluje odesílat a číst UDP pakety. UDP klient odesílá a čte na portu 57999. Odesílá se tedy na adresu OMC8000_IP:57999. Čte se na adrese localhost:57999. Na konec každé zprávy je potřeba připojit kontrolní součet MODBUS CRC 16. Pakety s neplatným CRC kontrolním součtem budou zahozeny bez odpovědi. Tento postup funguje na FW 6.15 a vyšší. Doporučeno je FW 6.17 a vyšší. Generování CRC Cyklický kontrolní součet (CRC) obsahuje 16-ti bitovou hodnotu. CRC je vypočtena odesilatelem a příjemce na základě přijaté zprávy kontroluje, zda jsou vypočtené CRC stejné. Pokud ne, pak je taková zpráva zahozena. Výpočet CRC začíná nastavením na 0xFFFF. Potom se postupně přidávají jednotlivé byty zprávy. Nejprve je obsah bytu přidán k hodnotě CRC operací XOR, potom se bitově posune vpravo a nejvyšší bit se nuluje. Nejnižší bit je testován, a pokud je 1, pak je k CRC přidána operací XOR přednastavená konstanta. Toto je opakováno celkem 8x. Po osmém posunu je takto získaná hodnota přidána k původnímu obsahu registru operací XOR. Postup generování CRC 1. Nahrání 16 bit CRC registru hodnotou 0xFFFF 2. XOR 1. bytu zprávy s LSB bytem 16 bit CRC a uložení do CRC 3. Posun CRC vpravo, zapsání 0 do MSB. Test LSB 4. Když LSB bylo 0: opakuj krok 3 (dalsí posun) Když LSB bylo 1: XOR CRC s hodnotou 0xA001 5. Opakuj kroky 3 a 4 aby se provedlo 8 posunů 6. Opakuj kroky 2 až 5 s dalšími byte zprávy, dokud nejsou všechny byte zpracovány 7. CRC se přidá ke odesílané zprávě v pořadí LSB, MSB Označování proměnných a obecné informace potřebné pro vzdálený přístup: 1. Znáte název proměnné, kterou chcete číst/zapisovat vzdáleně pomocí UDP protokolu. Příklad: MyCnt1 2. Znáte POU, ve které je proměnná použita. Příklad: main 3. Znáte úlohu, ve které je daná POU volána. Příklad: Pmain 1

Obrázek 1: Úlohy a projekty Poznámka: Každá proměnná, která je označena jako globální, má úlohu s názvem @GV. 2

Čtení hodnot z OMC8000 pomocí protokolu UDP A. Formát příkazu pro vyčtení lokální proměnné MyCnt1 v úloze Pmain: 0*Pmain.MyCnt1<CRC16><CRC16> B. Formát příkazu pro vyčtení globální proměnné MyCnt1 v úloze Pmain: 0*@GV.MyCnt1<CRC16><CRC16> Druhý znak: * - příkaz pro vrácení hodnoty proměnné. -> Příkaz * vrací hodnotu proměnné jako string, pokud je to string nebo číslo. Podporované typy: STRING, INT, UINT, DINT, UDINT, REAL -> Příkaz # vrací hodnotu proměnné jako HEXSTRING ve formátu D;HHHH, kde D je délka proměnné, HHHH je její HEXSTRING. Podle typu proměnné, který je nutno znát předem, je potřeba převést HEXSTRING na odpovídající číselnou, nebo stringovou reprezentaci. Je také potřeba vzít do úvahy kódování, vrácené číslo je ve formátu BIG ENDIAN, nebo ve formátu IEEE 754 pro čísla s plovoucí desetinnou čárkou (REAL). Následuje úplný název proměnné Následuje MODBUS CRC 16 Poznámka: 1. Pokud proměnná neexistuje, nebo dojde k jiné chybě, je na příkaz * vrácen string: Error, na příkaz # 0;No data 2. Odpovědí na příkaz * je hodnota proměnné jako string, na příkaz # je odpovědí délka proměnné;hexstring 3. Příkaz je case-sensitive. Proto název úlohy i název proměnné je třeba psát s důrazem na velká a malá písmena v názvu. 3

Zápis hodnot do OMC8000 pomocí protokolu UDP A. Formát příkazu pro zapsání hodnoty 12 do lokální proměnné MyCnt1 v úloze Pmain: 0{12,Pmain.MyCnt1<CRC16><CRC16> B. Formát příkazu pro vyčtení globální proměnné MyCnt1 v úloze Pmain: 0{12, @GV.MyCnt1<CRC16><CRC16> Druhý znak: { - příkaz pro zapsání hodnoty proměnné. -> Příkaz { zadá hodnotu proměnné jako string, pokud je to celé číslo. Podporované typy: INT, UINT, DINT, UDINT, LINT -> Příkaz [ zadá hodnotu proměnné jako hexstring, pokud je to celé číslo. Podporované typy: INT, UINT, DINT, UDINT, LINT Následuje číslo zapsané jako bytový zápis INT čísla. Následuje oddělovací znak, Následuje úplný název proměnné Následuje MODBUS CRC 16 Poznámka 1. Odpovědí na příkaz {, případně příkaz [ je! v případě úspěšného zapsání čísla. V jiném případě se zápis hodnoty nezdařil. 2. Příkaz je case-sensitive. Proto název úlohy i název proměnné je třeba psát s důrazem na velká a malá písmena v názvu. 4

C. Formát příkazu pro zapsání hodnoty 1234.58 typu REAL do lokální proměnné MyCnt1 v úloze Pmain: 0}Pmain.MyCnt1,1234.58<CRC16><CRC16> D. Formát příkazu pro zapsání hodnoty 1234.58 typu REAL do globální proměnné MyCnt1 v úloze Pmain: 0}@GV.MyCnt1,1234.58<CRC16><CRC16> Druhý znak: } - příkaz pro zapsání hodnoty proměnné. -> Příkaz } zadá hodnotu proměnné jako string, pokud je to číslo s plovoucí desetinnou čárkou. Podporované typy: REAL Následuje úplný název proměnné Následuje oddělovací znak, Následuje hodnota proměnné Následuje MODBUS CRC 16 Poznámka: 1. Odpovědí na příkaz } je! v případě úspěšného zapsání čísla. V jiném případě se zápis hodnoty nezdařil. 2. Příkaz je case-sensitive. Proto název úlohy i název proměnné je třeba psát s důrazem na velká a malá písmena v názvu. 5

E. Formát příkazu pro zapsání hodnoty abcde typu STRING do lokální proměnné MyCnt1 v úloze Pmain: 0]Pmain.MyCnt1,abcde <CRC16><CRC16> F. Formát příkazu pro zapsání hodnoty abcde typu STRING do globální proměnné MyCnt1 v úloze Pmain: 0]@GV.MyCnt1,abcde<CRC16><CRC16> Druhý znak: ] - příkaz pro zapsání hodnoty proměnné. -> Příkaz ] zadá hodnotu proměnné jako string. Podporované typy: STRING Následuje úplný název proměnné Následuje oddělovací znak, Následuje hodnota proměnné Následuje MODBUS CRC 16 Poznámka: 3. Odpovědí na příkaz ] je! v případě úspěšného zapsání čísla. V jiném případě se zápis hodnoty nezdařil. Příkaz je case-sensitive. Proto název úlohy i název proměnné je třeba psát s důrazem na velká a malá písmena v názvu. 6