48V Web-IO Digital 4.0
“
Impormasyon sa Produkto
Mga detalye:
- Ngalan sa Produkto: Web-IO Digital 4.0
- Pagpagawas nga Bersyon: 1.71
- Petsa sa Pagpagawas: 05/2024
Mga Instruksyon sa Paggamit sa Produkto
Pag-access gikan sa Imong Kaugalingong Aplikasyon
Dugang pa sa daghang standard nga mga posibilidad sa pag-access, ang
Web-IO nagtanyag usab sa kapilian sa pag-access niini gikan sa imong kaugalingon
mga aplikasyon gamit ang mga pamaagi sama sa ASCII, BINARY, REST,
JavaScript/AJAX. Programming examples sa lain-laing mga pinulongan mahimong
makita sa manufacturer's website.
Modbus TCP - Standardized nga Pag-access
Ang Web-IO nagsuporta MODBUS-TCP alang sa standardized access. Mga Detalye
sa mga function code ug mga adres sa pagrehistro nga gigamit sa Web-IO mao
gihatag alang niini nga dalan sa komunikasyon.
TCP/IP Sockets – Commandstrings
Mahimo nimong ibaylo ang yano nga mga linya sa command aron mabasa ang mga input,
mga counter, ug itakda ang mga output gamit ang Web-IO naglihok isip TCP server
o UDP peer. Pagbayloay sa datos tali sa aplikasyon ug Web-IO
mahitabo gamit ang simple nga command strings.
HTTP-Paghangyo
Ang mga hangyo sa HTTP mahimong magamit aron makig-uban sa Web-IO para sa mga buluhaton
sama sa mga pagbag-o sa estado, mga counter operation, ug mga clearing output.
Ang JavaScript ug AJAX mahimong magamit aron mabag-o ang sulud sa dinamikong paagi
on web mga panid.
FAQ
P: Asa nako makit-an ang programming examples para sa Web-IO
Digital?
A: Programming examples sa lain-laing mga pinulongan makita sa
http://wut.de in the Web-IO Digital section under the Tools link
ug Programming examples tab.
P: Unsaon nako pag-access sa Web-IO gikan sa akong kaugalingong aplikasyon?
A: Mahimo nimong ma-access ang Web-IO gikan sa imong kaugalingong aplikasyon gamit
mga pamaagi sama sa ASCII, BINARY, REST, JavaScript/AJAX. Siguradoha nga
tan-awa ang manwal ug programming examples para sa detalyado
mga instruksyon.
“`
Reference nga manwal
Pagprograma ug mga protocol
Web-IO Digital 4.0 Web-IO Analog 4.0 Web- Thermometer Web- Thermo-Hygrometer Web-Thermo-Hygrobarometer
Gipagawas 1.71 05/2024
© 04/2011 ni Wiesemann ug Theis GmbH
Ang Microsoft, MS-DOS, Windows, Winsock ug Visual Basic kay mga rehistradong marka sa pamatigayon sa Microsoft Corporation Subject sa kasaypanan ug pag-usab: Tungod kay posible nga masayop kami, kinahanglan nga dili nimo gamiton ang bisan unsa sa among mga pahayag nga walay pag-verify. Palihug, ipahibalo kanamo ang bisan unsang sayup o dili pagsinabtanay nga imong mahitabo, aron mahibal-an namon ug mawagtang kini sa labing madali.
Buhata ang imong trabaho sa o uban sa mga produkto sa W&T kutob ra nga kini gihulagway dinhi ug pagkahuman nimo hingpit nga nabasa ug nasabtan ang manwal o giya. Dili kami manubag sa dili awtorisado nga pag-ayo o tampering
Inhalt
Kontento
Tapos naview ………………………………………………………………….6
Pag-access gikan sa imong kaugalingong aplikasyon……………………………………………………………… 6 Modbus TCP – standardized access…………………………………………………… …………………… 6
TCP/IP-Sockets Command strings…………………………………………..7
TCP Server ………………………………………………………………………………………. 12 UDP Peer ………………………………………………………………………………………………… 12 Komunikasyon tali sa Web-IO ug aplikasyon………………………………………….. 13 Pagpangutana sa mga output………………………………………………………………………… ………………… 16 Pagbalhin sa mga output…………………………………………………………………………………….. 16 Pagpangutana sa mga counter … ……………………………………………………………………………. 18 Paglimpyo sa mga counter…………………………………………………………………………………… 19 Sa hoc nga pagbasa sa mga input, output ug mga counter ……… …………………………………………….. 20 Komunikasyon tali sa Web-IO Analogue ug Aplikasyon …………….. 20 Pagpangutana sa IO channels …………………………………………………………………………… .. 20 Itakda ang kasamtangan/voltage bili sa usa ka output…………………………………………………………………… 22 Web-IO Klima, VOC ug Aplikasyon ………………………………………………………. 22 Pagpangutana sa mga channel sa IO …………………………………………………………………………….. 22 Pagpangutana ug pagtakda sa petsa ug oras…………………… …………………………………………….. 23 Petsa ug oras sa pagpangutana………………………………………………………………… ……………………… 23 Pagtakda sa petsa ug oras…………………………………………………………………………………… 23 Pagbasa sa sayop memorya…………………………………………………………………………. 24
TCP/IP Sockets – Binary ……………………………………………………….. 28
TCP server ……………………………………………………………………………. 28 TCP client ………………………………………………………………………………………………….. 29 UDP peer …………… …………………………………………………………………………… 29 BINARY Ang mga istruktura sa IO ………………………………… ………………………………….. 29 Depinisyon sa mga istruktura…………………………………………………………………………………… 30 Giprotektahan sa password nga pag-access ………………………………………………………………….. 32 Dili awtorisado nga pagsulay sa pag-access…………………………………………… …………………………………. 32 Ang estruktura nga Gikinahanglan ……………………………………………………………………………………….. 32 Pamaagi sa pag-login ……………………… ……………………………………………………….. 32 Ang istruktura KeyRequest ……………………………………………………… ………………………. 33
3
Kontento
Ang yawe sa istruktura ……………………………………………………………………………………… 33 Ang istruktura Pag-login…………………… ………………………………………………………………… 34 Ang istruktura AuthOK …………………………………………… ………………………………….. 34 Ang istruktura AuthFail…………………………………………………………………………………… . 35 Digital IO-Access nga adunay Binary Structures ……………………………………………………….. 35 Ang istruktura ReadRegister…………………………………………… ………………………………….. 35 Ang istruktura sa WriteRegister ……………………………………………………………………………. 35 Ang istruktura SetBit ……………………………………………………………………………………….. 36 Ang istruktura RegisterRequest ……………………… …………………………………………….. 37 Ang estruktura RegisterState ……………………………………………………… ……………. 37 Ang istruktura sa Send Mode ……………………………………………………………………………………….. 38 Ang istruktura ReadCounter ……………………… …………………………………………….. 38 Ang istruktura ReadClearCounter ……………………………………………………… …….. 39 Ang istruktura nga Counter…………………………………………………………………………………….. 39 Ang istruktura ReadAllCounter………… ………………………………………………………. 40 Ang Structure ReadClearAllCounter…………………………………………………………………………. 40 Ang istruktura nga AllCounter……………………………………………………………………………………. 41 Ang istruktura ClearCounter …………………………………………………………………………….. 41 Ang istruktura nga mga Opsyon ………………………………… ………………………………………………………. 42 IO structures para sa pagbasa sa logger content (#57756)……………………………….. 43 Ang istruktura LOGGER_REQUEST…………………………………………………… ………………… 43 Ang istruktura LOGGER_ NOACCESS ………………………………………………………………….. 43 Ang istruktura LOGGER_CHECK ………………… ………………………………………………………. 44 Ang istruktura LOGGER_DATAREQUEST ………………………………………………………………….. 45 Ang istruktura LOGGER_DATASET …………………………………………… ……………………… 45 Analog I/O access nga adunay binary structures ………………………………………………………. 48 Ang istruktura ReadRegister………………………………………………………………………….. 48 Ang istruktura sa IO AnalogRegisterState……………………………… ………………………………… 48 Ang istruktura AnalogSingleRegister………………………………………………………………… 49 Ang istruktura sa IO Send Mode… …………………………………………………………………. 50 Ang IO structure nga mga Opsyon……………………………………………………………………………………. 51 Ang kahimtang sa aparato pinaagi sa binary nga istruktura……………………………………………………………… 52 Ang istruktura ReadDiagnosis…………………………………………………… ………………………………….. 52 Ang Estruktura Diagnosis ……………………………………………………………………………. 52 Ang istruktura ClearDiagnosis …………………………………………………………………. 53 Mga bahin sa aparato pinaagi sa binary nga istruktura ………………………………………………………. 54 Ang istruktura InventoryRequest …………………………………………………………………………… 54
4
Kontento
HTTP-Paghangyo…………………………………………………… 56
Gisuportahan nga mga hangyo (mga sugo)………………………………………………………….. 56 Usa ka exampalang sa paggamit sa HTTP nga mga hangyo ………………………………………………………. 61 HTML – istruktura sa usa ka static web panid……………………………………………………….. 61 JavaScript ug AJAX – Pag-usab sa sulod sa dinamikong paagi ……………………………………………. .63 CORS – Cross Origin Resource Sharing………………………………………………………. 66 Paggamit sa W&T Tags ……………………………………………………………………………………… 68 HTTP hangyo sa gawas sa browser ………………………………… …………………………………. 70
REST – Representasyonal nga Pagbalhin sa Estado…………………………. 72
JSON …………………………………………………………………………………………………. 72 Basaha ang access ………………………………………………………………………………………………….. 72 Pag-ilis sa access…………………… ……………………………………………………………………………. 75 XML …………………………………………………………………………………………………. 77 Pag-access sa pagbasa ……………………………………………………………………………………… 77 Pag-ilis sa access…………………… …………………………………………………………………. 78 Teksto …………………………………………………………………………………………………. 79 Pag-access sa pagbasa ……………………………………………………………………………………… 79
Modbus TCP – standardized nga pag-access………………………………. 80
Komunikasyon sa Modbus TCP………………………………………………………………………… 80 Function Code 0x01 Read Coils …………………………………………… ………………………. 83 Function Code 0x02 Read Discrete Inputs……………………………………………………………….. 85 Function Code 0x03 Read Holding Registers ………………………………… ………………… 85 Function Code 0x04 Read Input Registers……………………………………………………….. 87 Function Code 0x05 Write Single Coil……………… ……………………………………………. 88 Function Code 0x06 Isulat ang Usa ka Rehistro ………………………………………………………………….. 89 Function Code 0x0F Pagsulat og Daghang Coils………………………………………… ……………………….. 90 Function Code 0x10 Pagsulat og Daghang Register…………………………………………………… 92 Function Code 0x07 Basaha ang Exception State …………… …………………………………. 93 Sayop nga master nga mga hangyo ……………………………………………………………………………………….. 94 Modbus address ranges alang sa Web-IO Digital ……………………………………………. 95 Modbus memory layout…………………………………………………………………………………….. 97 Modbus address ranges para sa Web-IO Analog…………………………………………………… 99 Ang mga adres sa Modbus alang sa Web-Thermometer ……………………………………………103 Mga virtual nga rehistro para sa interaksyon sa browser……………………………………………………………….. 105
5
Tapos naview
Tapos naview
Pag-access gikan sa imong kaugalingon nga aplikasyon
Dugang pa sa daghang standard nga mga posibilidad sa pag-access, ang Web-IO nagtanyag usab kanimo ang kapilian sa pag-access niini gikan sa usa sa imong kaugalingon nga mga aplikasyon.
Mahimo kini gamit ang TCP/IP nga mga socket gikan sa komon nga taas nga lebel nga mga pinulongan apan posible usab nga gamiton ang pamilyar Web mga teknolohiya sama sa AJAX o PHO aron makigkomunikar sa Web-IO.
Ang Web-IO nagtanyag daghang mga pamaagi alang sa indibidwal nga pag-access:
· Command string · Binary nga istruktura · HTTP-Requests · HTTP-Requests
ASCII BINARY REST JavaScript/AJAX
Daghang programming examples sa nagkalain-laing programming language makita sa http://wut.de sa Web-IO Digital nga seksyon. Ubos sa Dugang nga impormasyon bahin niini nga grupo sa produkto sunda ang link sa Tools ug didto i-klik ang Programming examples general nga tab.
Modbus TCP - standardized nga pag-access
Bisan kung ang MODBUS-TCP dili kasagaran gigamit ingon usa ka agianan sa komunikasyon gikan sa sulod sa imong kaugalingon nga aplikasyon, gusto namon nga hataganview sa mga function code ug mga adres sa rehistro nga gigamit sa Web IO niining puntoha.
6
TCP/IP-Sockets – Commandstrings
TCP/IP-Sockets Command strings
Pinaagi sa pagbayloay sa yano nga mga kuwerdas sa mando mahimo nimong basahon ang mga input ug mga counter ug itakda ang mga output.
Depende sa configuration ang WebAng -IO naglihok niini nga mode isip TCP server o isip UDP peer.
Ang data exchange tali sa aplikasyon ug Web-IO mahitabo gamit ang yano nga command string.
· Ang command string naglangkob sa · Ang prefatory sequence: GET / · Ang aktuwal nga command:
· Ang delimiter: ? · ug usa o daghan pa nga mga parameter:
&<…
Ang han-ay sa mga parametro gireseta ug dili mahimong gawasnon nga mapili.
Ang tanang command strings kanunay nagtapos sa &
Ang mga command string kay case-sensitive.
Walay CR LF (0x0d 0x0a) ang mahimong idugang sa katapusan sa linya.
Ang tubag gikan sa Web-IO naglangkob sa usa ka identifier nga nagpakita kung unsa ang gipadala, gibulag sa usa ka semicolon, ug ang mga kantidad, nga gibulag usab sa usa ka semicolon. Sa katapusan usa ka null byte ang gidugang (0x00).
; [; ; ]+(2x0)
Kung ang Web-IO gi-configure ingon usa ka server alang sa mga socket sa TCP, ang IP address ug ngalan sa aparato mahimong ipadala sa wala pa ang tinuud nga tubag pinaagi sa pagbutang sa kapilian nga Prefix header.
; ; ; [; ; ]+(2x0)
Dugang pa, ang tubag gisal-ut sa usa ka HTTP frame ug ipadala lamang pinaagi sa pagbutang sa opsyon Reply HTTP conformal.
7
TCP/IP-Sockets – Commandstrings
Ang mosunod nga listahan naglangkob sa usa ka overview sa tanan nga gisuportahan nga mga sugo uban sa ilang kaubang mga parameter.
Web-IO Digital nga mga Sugo
GET / inputx
GET / counterx
GET / counter GET / outputx
Parameter
?PW=password& Ang tagdumala o user password kinahanglang gamiton inay password. Kung walay password nga gihatag, ang PW=& gisulod. (magamit sa tanan nga mga sugo!)
?PW=password&
?PW=password&
?PW=password&
Deskripsyon
Ang hangyo sa kahimtang sa pag-input x opsyonal nga nagtino sa no. sa input ug mahimong tali sa 0 ug 16 depende sa modelo. Ang feedback sa Web Ang IO usa ka hilo nga nagsugod sa inputx; gisundan sa status sa input: ON = signal sa input ug OFF = walay signal sa input Kung ang x hingpit nga wala iapil, ang Web Nagbalik ang IO og gamay nga pattern nga katumbas sa input signal sa hexadecimal notation.
Counter value request x mahimong value tali sa 0-11 ug nagpaila sa input. Ang feedback gikan sa Web Ang IO usa ka string nga nagsugod sa counterx;. Ang counter value sa pinili nga counter gidugang sa decimal notation.
Paghangyo sa tanang counter values Ang feedback sa Web Ang IO usa ka string nga nagsugod sa counter;. Ang counter values gidugang sa decimal notation nga gibulag sa mga semicolon.
Ang hangyo sa status sa output x opsyonal nga nagtino sa No. sa output ug mahimong tali sa 0 ug 16 depende sa modelo. Ang feedback gikan sa Web Ang IO usa ka hilo nga nagsugod sa outputx; gisundan sa output status: ON = signal sa output ug OFF = walay signal sa output Kung ang x hingpit nga wala iapil, ang Web Gibalik sa IO ang gamay nga pattern nga katumbas sa mga signal sa output sa hexadecimal notation.
8
TCP/IP-Sockets – Commandstrings
Mga sugo
GET/outputaccessx
GET / counterclearx
GET / allout
GET / oras GET / settime GET / diagnosis
Parameter
Deskripsyon
?PW=password& [Mask=XXXX&] State=ON/OFF/YYYY& [NA=ON&] ON: Output = 1, OFF: Output = 0, TOGGLE: Pagbag-o sa estado XXXX: Hex value tali sa 0000 ug 0FFF sumala sa mga bits nga itakda YYYY: Hex value tali sa 0000 ug 0FFF sumala sa output bit pattern.
Itakda ang usa o daghang mga output nga x mahimong usa ka kantidad tali sa 0-11 ug spec-
nagtino sa output nga itakda. Ang feedback sa Web Ang IO usa ka string nga nagsugod sa ,,output;" gisundan sa gamay nga pattern nga katumbas sa mga signal sa output sa hexadecimal notation.
Ang detalye sa Mask kay opsyonal. Kung ang Mask dili ipadala, ang outputaccess command magamit sa tanan nga mga output. Uban sa NA=ON kini opsyonal nga makab-ot nga walay tubag sa outputaccess nga sugo gipadala sa Web IO.
?PW=password& [Set=value&] value: Counter preset, value tali sa 0 ug 2 billion
Nagtakda sa counter value sa usa ka counter. Kung ang Set parameter wala ipadala, ang default mao ang 0. x mahimong usa ka bili tali sa 0-11 ug nagtino sa input kansang counter kay i-reset. Ang tubag sa Web Ang IO usa ka string nga nagsugod sa counterx;. Ang bag-ong ihap sa gipili nga counter gidugang sa decimal notation. Kung ang x wala gitakda, ang tanan nga mga counter gitakda.
?PW=password&
Kolektibong hangyo sa input, output states ug tanang counter values. Ang Web Ang IO mitubag sa usa ka hilo sa mosunod nga istruktura:
input;0xxx;output;0xxx;counter;n0;n1;n2,… 0xxx katumbas sa kahimtang sa mga input o output sa hexadecimal notation. n0,n1 ug uban pa naglangkob sa counter states sa decimal notation.
?PW=password&
Ibalik ang oras sa sistema sa Web IO. Format: DD.MM.YYYY,hh:mm:ss D=Araw, M=Bulan, Y=Tuig, h=Oras, m=Minuto, s=Ikaduha
?PW=password& time=DD.MM.YYYY,
hh:mm:ss&
Nagtakda sa oras sa sistema sa Web IO sa kantidad nga gipasa sa oras.
?PW=password&
Nangayo sa status sa diagnostic memory. Ang Web IO mibalik:
diagnosis;0000;00000000; 00000000;00000000 ang upat ka digit nga kantidad nagpakita sa gidaghanon sa gitipigan nga mga mensahe. Uban sa tulo ka walo ka digit nga hexadecimal values, ang matag set bit nagrepresentar sa usa sa 92 ka posibleng mensahe.
9
TCP/IP-Sockets – Commandstrings
Mga sugo
GET / diagnosisx
Parameter
?PW=password&
GET /diaglistx
GET / diagclear GET / errorclear
?PW=password&
?PW=password& ?PW=password&
Deskripsyon
Uban sa x, ang indeks sa usa sa mga mensahe nga gitipigan karon gipiho. Ang Web Ang IO nagpadala sa katugbang nga mensahe nga text isip usa ka pagbalik. x kinahanglan dili mas dako pa kay sa gidaghanon sa kasamtangan nga mga mensahe.
Ibalik ang mga mensahe alang sa tagsa-tagsa nga mga tipik sa mensahe (max. 92)
Gilimpyohan ang memorya sa mensahe
Nagtangtang sa mga sayup sa pagkarga ug nagpagawas sa naapektuhan nga mga output.
Web-IO Analog Commands
GET /singlex
Parameter
wala
GET / outputx
wala
GET/outputaccessx
?PW=password&
Estado=N,NNN&N,NNN: Strom- bzw. Spannungswert der am entsprechenden output eingestellt werden soll
GET / oras GET / settime
?PW=password&
?PW=password& time=DD.MM.YYYY, hh:mm:ss&
Deskripsyon
Paghangyo alang sa kasamtangan nga kasamtangan o voltage values sa mA o V. x opsyonal nga nagpakita sa no. sa IO channel ug mahimong 1 o 2. Ang feedback sa Web-IO usa ka string nga nagpakita sa bili nga adunay tulo ka desimal nga mga dapit ug yunit [N]N.NNN mA o [N] N.NNN V Kon ang x hingpit nga laktawan, ang Web Gibalik sa IO ang mga kantidad sa duha ka channel nga gibulag sa mga semicolon.
naghatag sa parehas nga resulta sama sa GET / singlelex (bisan kung ang mga channel sa IO nagtrabaho isip input)
Ang pagbutang sa usa ka output x mahimong 1 o 2 ug nagpakita sa output nga itakda. Ang feedback sa Web Ang IO usa ka hilo sa pormat [N]N.NNN mA o [N] N.NNN V. ug nagpaila sa kasamtangang bili. Palihug timan-i nga ang Web Ang IO nanginahanglan pipila ka ms aron mabutang ang gusto nga kantidad. Busa, ang bili dili katumbas sa gitinguha nga bili.
Ibalik ang oras sa sistema sa Web IO. Format: DD.MM.YYYY,hh:mm:ss D=Araw, M=Bulan, Y=Tuig, h=Oras, m=Minuto, s=Ikaduha
Nagtakda sa oras sa sistema sa Web IO sa kantidad nga gipasa sa oras.
10
TCP/IP-Sockets – Commandstrings
Mga sugo
GET/diagnosis
Parameter
?PW=password&
GET / diagnosisx
?PW=password&
GET /diaglistx GET /diagclear
?PW=password& ?PW=password&
Deskripsyon
Nangayo sa status sa diagnostic memory. Ang Web IO pagbalik: diagnosis;0000;00000000; 00000000;00000000 ang upat ka digit nga kantidad nagpakita sa gidaghanon sa gitipigan nga mga mensahe. Uban sa tulo ka walo ka digit nga hexadecimal values, ang matag set bit nagrepresentar sa usa sa 92 ka posibleng mensahe.
Uban sa x, ang indeks sa usa sa mga mensahe nga gitipigan karon gipiho. Ang Web Ang IO nagpadala sa katugbang nga mensahe nga text isip usa ka pagbalik. x kinahanglan dili mas dako pa kay sa gidaghanon sa kasamtangan nga mga mensahe.
Ibalik ang mga mensahe alang sa tagsa-tagsa nga mga tipik sa mensahe (max. 92)
Gilimpyohan ang memorya sa mensahe
Web-IO Klima (Web-Thermometer, …) ug VOC
Mga sugo
Parameter
Deskripsyon
GET /singlex
wala
Ang hangyo alang sa kasamtangan nga datos sa klima x opsyonal nga nagpakita sa no. sa sensor. Ang feedback sa Web-thermometer kay usa ka string nga nagpakita sa bili nga adunay usa ka decimal nga digit ug unit
24,0°C Kung ang x hingpit nga laktawan, ang Web Gibalik sa IO ang mga kantidad sa duha ka channel nga gibulag sa mga semicolon.
GET / oras
?PW=password&
Ibalik ang oras sa sistema sa Web IO. Format: DD.MM.YYYY,hh:mm:ss D=Araw, M=Bulan, Y=Tuig, h=Oras, m=Minuto, s=Ikaduha
GET/settime
?PW=password& time=DD.MM.YYYY,
hh:mm:ss&
Nagtakda sa oras sa sistema sa Web IO sa kantidad nga gipasa sa oras.
GET/diagnosis
?PW=password&
Nangayo sa status sa diagnostic memory. Ang Web IO mibalik:
diagnosis;0000;00000000; 00000000;00000000 ang upat ka digit nga kantidad nagpakita sa gidaghanon sa gitipigan nga mga mensahe. Uban sa tulo ka walo ka digit nga hexadecimal values, ang matag set bit nagrepresentar sa usa sa 92 ka posibleng mensahe.
11
TCP/IP-Sockets – Commandstrings
Mga sugo
GET / diagnosisx
Parameter
?PW=password&
GET /diaglistx GET /diagclear
?PW=password& ?PW=password&
Deskripsyon
Uban sa x, ang indeks sa usa sa mga mensahe nga gitipigan karon gipiho. Ang Web Ang IO nagpadala sa katugbang nga mensahe nga text isip usa ka pagbalik. x kinahanglan dili mas dako pa kay sa gidaghanon sa kasamtangan nga mga mensahe.
Ibalik ang mga mensahe alang sa tagsa-tagsa nga mga tipik sa mensahe (max. 92)
Gilimpyohan ang memorya sa mensahe
TCP Server
Aron ma-access ang Web-IO isip TCP server pinaagi sa ASCII sockets, mahimo ang TCP ASCII-Sockets ubos sa Communication paths >> Socket API. Tinoa kung unsang TCP-Port ang angay gamiton aron makadawat Web-IO koneksyon. Ang Web-IO makahatag ug hangtod sa walo ka TCP nga koneksyon sa samang higayon sa espesipikong pantalan (7 lang kon UDP-ASCII access gigamit usab), ug bisan unsa nga dugang nga koneksyon pagsulay gisalikway.
Kung ang Web-IO dili makadawat sa usa ka balido nga sugo sulod sa 30 segundos human sa koneksyon giablihan, kini nagsira sa koneksyon ug makahimo sa access pag-usab. Ang Web-IO naggawi sa sama nga paagi kon ang usa ka sayop o wala mailhi nga sugo madawat.
Aron makahimo sa pagbalhin sa mga output gamit ang ASCII sockets, Enable outputs para sa ASCII-Sockets kinahanglang susihon.
UDP Peer
Sukwahi sa TCP, walay fixed nga koneksyon tali sa Web-IO ug ang uban pang kauban sa komunikasyon kung gamiton ang protocol sa UDP. Ang datos gibaylo pinaagi sa datagmga laking karnero.
Aron ma-access ang Web-IO isip usa ka UDP peer pinaagi sa ASCII sockets, makahimo sa UDP ASCII-Sockets ubos sa Communication paths >> Socket API. Tinoa kung unsang UDP-Port ang angay gamiton para sa Web-IO sa pagdawat sa UDP dataglaking karnero ubos sa Lokal nga UDP Port.
Sa normal nga mga sitwasyon ang usa ka 0 kinahanglan nga isulod isip Remote UDP Port aron ang Web-IO nagpadala reply datagmga laking karnero ngadto sa pantalan sa UDP diin gi-isyu ang hangyo. Alternately usa ka fixed port diin ang Web-IO nagpadala sa tanan datagAng mga laking karnero mahimong matino ubos sa Remote UDP Port.
12
TCP/IP-Sockets – Commandstrings
Ang komunikasyon sa UDP kanunay mahitabo pinaagi sa polling. Kini nagpasabot nga ang aplikasyon naggamit sa mga command string aron sa paghangyo sa gitinguha nga mga bili ug pagtakda sa mga output. Aron makahimo sa pagbalhin sa mga output gamit ang UDP ASCII sockets, Enable outputs para sa UDP-Sockets kinahanglang susihon.
Komunikasyon tali sa Web-IO ug aplikasyon
Pagpangutana sa mga input Ang mga input kasagarang basahon gamit ang polling. Kini nagpasabot nga ang aplikasyon sa kliyente naggamit sa mga command string aron sa paghangyo sa gitinguha nga mga bili. Mahimong pangutan-on ang kahimtang sa usa ka partikular nga input o ang tanan nga mga input gipangutana. Aron mangutana usa lang ka input, idugang ang keyword input sa input number. Aron mapangutana ang tanan nga mga input, laktawan lang ang indikasyon. Kung ang Web-IO giprotektahan ang password, ang password gidugtong sa ? isip usa ka separator nga adunay pahayag nga PW Ang command string natapos sa & Kung walay password nga gi-assign, ang & nagsunod direkta sa luyo sa PW= Example alang sa pagpangutana sa Input1 gamit ang password nga "asul" nga set:
GET /input1?PW=blue&
Ang Web-IO unya mibalik:
input1;ON+(0x00)
kung ang usa ka balido nga signal gipadala sa input, o:
input1;OFF+(0x00)
Kung walay signal. Tanan nga tubag gikan sa Web-IO nagtapos sa usa ka null byte (0x00). Sa pagpangutana sa tanan nga mga input ang sugo mao ang:
GET /input?PW=blue& 13
TCP/IP-Sockets – Commandstrings
Ang Web-IO mga tubag sa keyword input ug usa o upat ka karakter hex nga numero. Ang hex nga numero katumbas sa bit pattern nga resulta gikan sa set o dili-set inputs
Example para sa Web-IO 2xIn,2xOut nga adunay Input 1 = ON:
input;2+(0x00)
Ang bili gikalkulo sumala sa mosunod nga kalkulasyon:
2
hexadecimal
gamay 3 gamay 2 gamay (Intput) 1 gamay (Intput) 0
0010
doble / binary
0 x 20 = 0 x 1 = 0
1 x 21 = 1 x 2 = 2
0 x 22 = 0 x 4 = 0
0 x 23 = 0 x 8 = 0
kinatibuk-an
2 =^ hex 2
Example para sa Web-IO 12xIn, 12xOut nga adunay mga Input 1,5,6,8,10 ug 11 = ON:
input;0D62 +(0x00)
Ang bili gikalkulo sumala sa mosunod nga kalkulasyon:
14
TCP/IP-Sockets – Commandstrings
Taas nga byte
0
D
Alang sa Web-IO 12xDigital kanunay 0
Ubos nga byte
6
2
hexadecimal
gamay 15 bit 14 bit 13 bit 12 bit (output) 11 bit (output) 10 bit (output) 9 bit (output) 8 bit (output) 7 bit (output) 6 bit (output) 5 bit (output) 4 bit ( output) 3 bit (output) 2 bit (output) 1 bit (output) 0
0000110101100010
doble / binary
0 x 20 = 0 x 1 = 0
1 x 21 = 1 x 2 = 2
0 x 22 = 0 x 4 = 0
0 x 23 = 0 x 8 = 0
kinatibuk-an
2 =^ hex 2
0 x 20 = 0 x 1 = 0
1 x 21 = 1 x 2 = 2
1 x 22 = 1 x 4 = 4
0 x 23 = 0 x 8 = 0
kinatibuk-an
6 =^ hex 6
1 x 20 = 1 x 1 = 1
0 x 21 = 0 x 2 = 0
1 x 22 = 1 x 4 = 4
1 x 23 = 1 x 8 = 8
kinatibuk-an
13 =^ hex D
0 x 20 = 0 x 1 = 0
0 x 21 = 0 x 2 = 0
0 x 22 = 0 x 4 = 0
0 x 23 = 0 x 8 = 0
kinatibuk-an
0 =^ hex 0
Event-driven messaging (TCP lang) Ang ubang mga aplikasyon nanginahanglan nga ang mga pagbag-o sa pipila ka mga output awtomatik nga gitaho sa kasamtangan nga koneksyon sa TCP.
Ang usa ka hinungdan mahimong makunhuran ang pagkarga sa datos sa network. Kung ang mga input gipangutana usa ka cyclical interval, adunay padayon nga pagkarga sa datos. Adunay usab ang risgo nga ang mga pagbag-o sa mga input tali sa duha ka mga siklo mahimong dili mailhan.
Aron makabaton sa WebAwtomatikong ipadala sa IO ang mga pagbag-o sa signal sa mga input, susiha ang katugbang nga Input Trigger sa ilawom sa mga agianan sa Komunikasyon >> Socket access.
Ang mga mensahe gikan sa Web-IO adunay parehas nga istruktura sama sa mga tubag kung gipangutana ang tanan nga mga input
15
TCP/IP-Sockets – Commandstrings
Pagpangutana sa mga output
Ang pag-access sa pagbasa sa mga output gihimo sa parehas nga paagi sama sa pagpangutana sa mga input, gawas nga ang input sa keyword gipulihan sa output
Pagbalhin sa mga output
Aron mabalhin ang mga output gamita ang command outputaccess.
Bisan usa ka output, ang tanan nga mga output sa parehas nga oras, o pipila nga mga output mahimong mabalhin.
Pagbalhin sa usa ka output Sama sa pagbasa, ang output gipiho. Ang gidaghanon sa output nga ibalhin gidugang sa keyword outputaccess
Dugang pa, gigamit ang parameter nga Estado, diin sa kini nga kaso adunay tulo nga posible nga mga kantidad:
· ON · OFF · TOGGLE (kausaban sa estado)
Example:
GET /outputaccess1?PW=blue&State=ON&
ibalhin ang Output 1 ngadto sa ON. Als Antwort sendet das Web-IO zB
output;0EAC +(0x00)
diin ang aktuwal nga gibalik nga kantidad nagdepende kung unsang estado ang naa sa ubang mga output sa wala pa magbalhin.
Inisyal nga kahimtang sa mga output: Output 1:
Estado pagkahuman sa pagbalhin:
bitwise nga representasyon 0000 1110 1010 0100
1 0000 1110 1010 0110
hexadecimal
output; 0EA4 Estado=ON
output; 0EAC
16
TCP/IP-Sockets – Commandstrings
Dungan nga pagbalhin sa tanan nga mga output Aron ibalhin ang tanan nga mga output sa parehas nga oras, wala’y gitakda nga output ug gigamit ang parameter sa Estado aron ipadala ang numero sa hex alang sa gusto nga bit pattern sa mga output.
Kung para sa exampKung gusto nimo nga ibalhin ang mga output 1, 6 ug 11 sa ON ug ang tanan nga uban pa sa OFF, ang mando ingon sa mosunod:
GET /outputaccess?PW=blue&State=0842&
sa tubag sa Web-IO nagpadala
output;0842 +(0x00)
Inisyal nga kahimtang sa mga output: Estado:
Estado pagkahuman sa pagbalhin:
bitwise nga representasyon
0000 1110 1010 0100 0000 1000 0100 0010 0000 1000 0100 0010
hexadecimal
output; 0EA4 Estado=0842
output; 0842
Dungan nga pagbalhin sa pinili nga mga output Aron ibalhin lamang ang pipila sa mga output, ang sama nga command structure sama sa pagbalhin sa tanang output gigamit. Ang kalainan mao nga ang Mask parameter nag-una sa State parameter. Ang parameter sa Mask nagtino kung unsang mga output ang kinahanglan ibalhin, ug ang Estado nagtino kung unsang estado.
Kay example aron ibalhin ang mga output 1, 6 ug 11 ngadto sa ON ug ang mga output 5 ug 10 ngadto sa OFF, ang command tan-awon sama sa mosunod:
GET /outputaccess?PW=blue&Mask=0C62&State=0842&
sa tubag sa Web-IO nagpadala
output;0AC6 +(0x00)
diin ang aktuwal nga gibalik nga kantidad nagdepende kung unsang estado ang naa sa ubang mga output sa wala pa magbalhin.
Inisyal nga kahimtang sa mga output: Mask: Estado:
Estado pagkahuman sa pagbalhin:
bitwise nga representasyon
0000 1110 1010 0100 0000 1100 0110 0010 0000 1000 0100 0010 0000 1010
hexadecimal nga output; 0EA4
Maskara=0C62 Estado=0842 output; 0AC6
17
TCP/IP-Sockets – Commandstrings
Pagpangutana sa mga counter
Ang Web-IO input naglakip sa usa ka counter nga incremented sa usa sa matag pagtaas sa kilid, ie usa ka kausaban gikan sa OFF ngadto sa ON.
Ang mga counter gipangutana gamit ang command counter. Sama sa mga input ug output, ang mga kantidad alang sa tanan nga mga counter o usa ra ka counter mahimong mapangutana.
Kung ang usa ka counter state nga 2147483648 maabot kini mahimong 0
Pagpangutana sa usa ka counter Ang counter number sa input kansang counter kinahanglan pangutan-on gidugang sa keyword counter.
Example para sa pagpangutana Counter 0:
GET /counter0?PW=blue&
sa tubag sa Web-IO nagpadala eg
counter;3974 +(0x00)
Ang counter value gibalik sa decimal format, gibulag sa usa ka semicolon, luyo sa keyword counter.
Pagpangutana sa tanan nga mga counter Kung ang mando sa counter gipadala sa Web-IO nga walay pagtino sa gidaghanon sa usa ka input, ang Web-IO nagbalik sa counter states sa tanang inputs nga gibulag sa mga semicolon.
Example para sa pagpangutana sa tanan nga mga counter sa a Web-IO nga adunay 12 nga mga input:
GET /counter?PW=blue&
sa tubag sa Web-IO nagpadala eg
counter;3974;453;99;0;0;984;712;4;334;1076;0;6543 +(0x00)
Ang counter value gibalik sa decimal nga pormat ug semicolon gibulag luyo sa keyword counter.
18
TCP/IP-Sockets – Commandstrings
Paglimpyo sa mga counter
Ang command counterclear mahimong gamiton sa paghawan sa usa ka espesipiko o sa tanan nga mga counter ngadto sa 0 o kung gikinahanglan aron ibutang kini/sila ngadto sa laing bili.
Paglimpyo sa usa ka counter Example para sa paglimpyo sa Counter 0:
GET /counterclear0?PW=blue&
sa tubag sa Web-IO nagpadala
counter0;0 +(0x00)
Pag-preset sa usa ka counter Aron i-preset ang usa ka counter sa usa ka partikular nga kantidad, ang opsyonal nga parameter Set= & gidugang.
Example para sa pagtakda sa Counter 0 ngadto sa 12345:
GET /counterclear0?PW=blue&Set=12345&
sa tubag sa Web-IO nagpadala
counter0;12345 +(0x00)
Paglimpyo sa tanang counter Example para sa paghawan sa tanang mga counter para sa a Web-IO nga adunay 12 nga mga input:
GET /counterclear?PW=blue&
sa tubag sa Web-IO nagpadala
counter0;0;0;0;0;0;0;0;0;0;0;0;0 +(0x00)
Pag-preset sa tanan nga mga counter Aron i-preset ang tanan nga mga counter sa usa ka partikular nga kantidad, ang opsyonal nga parameter Set= & gidugang usab. Dili mahimo nga i-preset ang tanan nga mga counter sa indibidwal nga mga estado sa counter sa usa ka mando.
Example alang sa pagbutang sa tanan nga mga counter sa kantidad nga 12345 alang sa a Web-IO nga adunay 12 nga mga input:
19
TCP/IP-Sockets – Commandstrings
GET /counterclear?PW=blue&Set=12345&
sa tubag sa Web-IO nagpadala
counter0;12345;12345;12345;12345;12345;12345; 12345;12345;12345;12345;12345;12345 +(0x00)
Sa hoc nga pagbasa sa mga input, output ug counter
Pinaagi sa paggamit sa command allout mahimo nimong pangutana ang kompleto nga mapa sa proseso sa Web-IO.
Example:
GET / allout?PW=blue&
sa tubag sa Web-IO nga adunay 12 Inputs ug 12 Outputs nagpadala alang sa example
input;0C3B;output0842counter;3974;453;99;0;0;984; 712;4;334;1076;0;6543 +(0x00)
Komunikasyon tali sa Web-IO Analogue ug Aplikasyon
Pagpangutana sa mga channel sa IO
Ang pagbasa sa mga channel sa IO kasagarang gihimo sa polling mode. Kini nagpasabut: ang aplikasyon sa kliyente nangayo sa gitinguha nga mga kantidad sa tabang sa katugbang nga linya sa mando.
Mahimong hangyoon ang kahimtang sa usa ka piho nga channel sa IO o mahimo ang usa ka hangyo alang sa parehas nga mga channel sa IO.
Kung usa ra ka channel sa IO ang pangutan-on, ang numero sa channel sa IO idugang sa usa ka keyword. Alang sa pangutana sa tanan nga mga kanal, ang pag-indeks dili ibaliwala. Sukwahi sa digital Web IOs, ang pag-indeks sa mga channel sa IO sa analogue Web Ang IO dili magsugod sa 0 apan sa 1.
Agig tubag, ang Web Gipadala balik sa IO ang kasamtangan o voltage value nga adunay tulo ka desimal nga mga dapit nga gisundan sa usa ka luna ug ang yunit. Kung ang duha nga mga kantidad sa IO gipangutana, kini gibalik nga gibulag sa usa ka semicolon.
20
TCP/IP-Sockets – Commandstrings
Example sa polling IO channel2 sa 7.5 mA kasamtangan nga agos:
GET /single2&
Ang Web IO unya nagpadala balik:
7,500 mA+(0x00)
Example sa pagboto sa duha ka IO channels sa 15.340 mA ug 7.5 mA nga kasamtangan nga agos:
GET /single&
Ang Web IO unya nagpadala balik:
15,340 mA ;7,500 mA+(0x00)
Isip alternatibo sa usa ka command, ang output command mahimo usab nga gamiton sa pagbasa sa status sa IO channels (bisan kung ang mga channel gi-configure isip mga input). Ang output command gigamit sa samang paagi sama sa single. Apan, ang Web Gi-prefix sa IO ang tubag sa pulong nga output ug, kung gihangyo ang usa ka channel, nga adunay katugbang nga indeks nga gibulag sa usa ka semicolon. Example sa polling IO channel2 sa 7.5 mA kasamtangan nga agos:
GET / output2&
Ang Web IO unya nagpadala balik:
output2;7,500 mA+(0x00)
Example sa pagboto sa duha ka IO channels sa 15.340 mA ug 7.5 mA nga kasamtangan nga agos:
GET / output&
Ang Web IO unya nagpadala balik:
output;15,340 mA ;7,500 mA+(0x00)
21
TCP/IP-Sockets – Commandstrings
Itakda ang kasamtangan/voltage bili sa usa ka output
Sama sa pag-access sa pagbasa, gigamit ang pag-indeks. Ang gidaghanon sa output nga itakda gidugang sa keyword outputaccess.
Dugang pa, ang parameter nga PW= gigamit aron ipasa ang password ug ang parameter State= aron mapasa ang kantidad. Ang parameter nga Estado gibalhin nga adunay labing taas nga tulo ka mga decimal nga lugar ug wala’y yunit.
Ang set sa parameter gibulag gikan sa sugo pinaagi sa ? ug ang matag parameter matapos sa &.
Example:
GET /outputaccess1?PW=blau&State=15,340&
nagtakda sa output 1 ngadto sa 15.340 mA.
Isip tubag, ang Web Nagpadala ang IO eg
GET /outputaccess1?PW=blau&State=15,340& +(0x00)
Web-IO Klima, VOC ug Aplikasyon
Pagpangutana sa mga channel sa IO
Ang pagbasa sa mga bili sa klima kasagarang gihimo sa polling mode. Kini nagpasabut: ang aplikasyon sa kliyente nangayo sa gitinguha nga mga kantidad sa tabang sa katugbang nga linya sa mando.
Mahimong hangyoon ang kantidad sa usa ka piho nga channel o ang usa ka hangyo gihimo alang sa tanan nga mga naa na nga mga channel.
Kung usa ra ka channel ang pangutan-on, ang gidaghanon sa channel idugang sa keyword nga single. Kung ang tanan nga mga channel kinahanglan pangutan-on, ang pag-indeks dili iapil. Dili sama sa digital Web IOs, ang pag-indeks sa mga channel sa Web Ang IO Climate dili magsugod sa 0 apan sa 1.
Isip tubag, ang Web Gipabalik sa IO ang kasamtangang temperatura, humidity, presyur sa hangin o bili sa kalidad sa hangin nga adunay tulo ka desimal nga mga dapit nga gisundan sa usa ka luna ug sa yunit. Kung gihangyo ang tanan nga mga kantidad, kini ibalik nga gibulag sa usa ka semicolon.
Example para sa pangutana sa channel 2 (humidity) sa a web thermo-hygrobarometer:
22
GET /single2&
TCP/IP-Sockets – Commandstrings
Ang Web Ang Thermo-Hygrobarometer dayon nagpadala og balik:
28,6% +(0x00)
Example para sa pangutana sa tanang channel:
GET /single&
Ang Web Ang Thermo-Hygrobarometer dayon nagpadala og balik:
23,6°C;28,5%;988,8hPa+(0x00)
Pangutana ug itakda ang petsa ug oras
Pagpangutana sa petsa ug oras
Gamita ang command time sa pagpangutana sa gitakdang petsa ug oras sa Web-IO. Ang hangyo
GET /time?PW=blue&
hinungdan sa Web-IO sa pagtubag uban sa
01.08.2016,15:14:59
Pagtakda sa petsa ug oras
Ang panahon sa sistema sa Web-IO mahimong itakda gamit ang command settime. Ang oras sa parameter gigamit aron ipadala ang gusto nga mga setting nga gi-format
oras=DD.MM.YYYY,hh:mm:ss
Example:
GET /settime?PW= blue&time= 01.08.2016,15:14:59
ang Web- Nagtubag ang IO sa
23
TCP/IP-Sockets – Commandstrings
01.08.2016,15:14:59
Pagbasa sa memorya sa sayup
Sa dihang ang Web-IO nakamatikod sa usa o daghan nga mga sayop samtang pagproseso sa usa sa iyang mga buluhaton, kini gitipigan ug mahimo viewed ubos sa Diagnostics sa navigation tree. Sa pipila ka mga aplikasyon kini mao ang tilinguhaon sa pagdumala sa sayop nga pagdumala dili sa kamut pinaagi sa viewing a website, apan sa pagtimbang-timbang sa mga sayup sa awtomatiko nga paagi sa usa ka programa. Alang niini ang Web-IO naghatag ug pipila ka command strings nga mahimong gamiton sa TCP o UDP. Paghimo og listahan sa posibleng mga mensahe sa sayop Ang Web-IO makahimo sa pagdumala sa usa ka maximum sa 127 lain-laing mga matang sa sayop. Ang aktuwal nga numero mahimong magkalainlain hangtod sa kini nga limitasyon depende sa bersyon sa firmware. Para makadawat ug overview sa posibleng mga sayop, mahimo nimong ipadala ang sugo
GET /diaglistx?PW=password&
ngadto sa Web-IO. Sa dapit sa xa nga kantidad sa taliwala sa 0 ug 127 gigamit. Imbes nga password isulod ang administrator o operator password. Ang Web-IO motubag sa hangyo uban sa katugbang nga mensahe sa sayop.
diaglistx;errortext
Example: Kung ang aplikasyon nagpadala (password = "asul")
GET /diaglist2?PW=blue&
ang Web- Nagtubag ang IO sa
diaglist2;Formatfehler sa der DNS Anfrage
24
TCP/IP-Sockets – Commandstrings
Mahimo nimong gamiton ang command sa diaglist nga adunay usa ka para sa sunod nga loop aron mabasa ang tanan nga posible nga mga mensahe sa sayup ug itago kini ingon usa ka static nga lista. Sa binary mode alang sa example mahimo ra nimo mahibal-an kung pila ang mga sayup nga naa karon. Dugang pa, ang mga kaubang numero sa sayup gipasa. Ang paggamit sa static nga lista sa sayup usa ka mabasa nga sayup mahimo’g ma-output.
Direkta nga ebalwasyon sa kasamtangan nga mga sayop Aron makuha ang kasamtangan nga kahimtang sa sayop sa Web-IO mahimo nimong gamiton ang mando
GET /diagnosis?PW=password&
Ang Web-IO motubag uban sa
diagnosis;iiii;zzzzzzzz;yyyyyyyyy;xxxxxxxx
Sa iiii ang Web-IO mibalik sa gidaghanon sa kasamtangan nga mga sayop sa 4-lugar hex format.
zzzzzzzz;yyyyyyy; Ang xxxxxxxxx mahimong ibaliwala alang sa normal, standard nga mga aplikasyon.
Para sa mga eksperto nga programmer: zzzzzzzz; yyyyyyyyy; Ang xxxxxxxx maoy tulo ka 32-bit values, matag usa sa 8-place hex format. Ang resulta nga 64 bits nga kapuli sa 64 nga posible nga mga tipo sa sayup. Pinaagi sa paggamit sa static nga lista sa sayup (tan-awa ang GET / diaglist…) ang indibidwal nga mga bit mahimong ma-decode. Ang LSB makita sa tuo sa x range ug ang MSB sa wala sa y range.
Aron makuha ang kasamtangan nga mga sayup ingon usa ka teksto sa sayup, ang Web-IO naghatag sa sugo
GET /diagnosisx?PW=&
Dinhi ang x mao ang indeks alang sa sayup sa format nga desimal nga nagsugod sa 1.
Ang tubag gikan sa Web-IO unya tan-awon sama sa mosunod:
diagnosisx; sayop nga teksto
Sukwahi sa mga sayop nga teksto nga gibasa gikan sa Web-IO gamit ang diaglist, ang sayop nga teksto alang sa diagnosis mahimo usab nga adunay mga dinamikong elemento sama sa mga IP address o mga numero sa port.
Example:
25
TCP/IP-Sockets – Commandstrings
Ang aplikasyon nagpadala:
GET /diagnosis?PW=blue&
Ang Web- Nagtubag ang IO:
diagnosis;0005;00400040;008A0000;00000000
Ang aplikasyon nagpadala:
GET /diagnosis1?PW=blue&
Ang Web- Nagtubag ang IO:
diagnosis1;Mail Server antwortet nicht.
Ang aplikasyon nagpadala:
GET /diagnosis2?PW=blue&
Ang Web- Nagtubag ang IO:
diagnosis2;Das Versenden der Mail wurde abgebrochen und wird wiederholt.
Ang aplikasyon nagpadala:
GET /diagnosis3?PW=blue&
Ang Web- Nagtubag ang IO:
diagnosis3;Siel IP-Addresse wala gipahibalo: 172.16.232.8.
Ang aplikasyon nagpadala:
GET /diagnosis4?PW=blue&
Ang Web- Nagtubag ang IO:
diagnosis4;Watchdog Timer abgelaufen!
Ang aplikasyon nagpadala:
26
GET /diagnosis5?PW=blue&
TCP/IP-Sockets – Commandstrings
Ang Web- Nagtubag ang IO:
diagnosis5; TCP Client Alarm: Server nicht erreicht.
Paglimpyo sa memorya sa sayop Ang listahan sa mga sayop nga nahitabo sa panahon sa runtime nagpabilin nga gitipigan sa Web-IO, bisan kung ang sayup wala na sa panahon sa pangutana. Aron malimpyohan ang memorya sa sayup, gamita ang command
GET /diagclear?PW=password&
Ang Web-IO motubag uban sa
diagnosis;0000;00000000;00000000;00000000
kung wala’y mga kasaypanan karon.
27
TCP/IP-Sockets – Binary
TCP/IP Sockets – Binary
Dugang sa pag-access gamit ang command string, ang WebNaghatag usab ang IO og upat ka mga socket access alang sa binary data exchange.
Ang tanan nga upat ka mga pag-access nagtrabaho nga independente sa usag usa. Ubos sa mga dalan sa Komunikasyon >> Socket-API mahimo nimong palihokon ang binary accesses ug ipiho nga kung gamiton ang tulo ka mosunud nga mga mode:
· TCP server · TCP client · UDP peer Para sa lain-laing mga gimbuhaton sama sa pagbasa sa mga input, pag-set sa mga output ug uban pa ang Web-IO naghubit sa binary nga mga istruktura. Ang pag-access pinaagi lamang sa pagbaylo niini nga mga istruktura.
TCP server
Ubos sa mga dalan sa Komunikasyon >> Socket-API sa gusto nga binary area pilia ang BINARYx TCP-Server isip Socket-Type ug ipiho kung unsang lokal nga Port ang gamiton alang sa pagdawat sa koneksyon.
Dili sama sa TCP Server mode alang sa command strings diin hangtod sa 8 ka mga kliyente makakonektar sa komon nga server port, ang Web-IO nagtugot lamang sa usa ka koneksyon alang sa tagsa-tagsa nga binary access. Ang tanan nga dugang nga mga pagsulay sa koneksyon gisalikway basta ang usa ka kliyente konektado.
Ang binary nga pag-access mahimong maprotektahan sa password kung gusto.
Kung ang pag-set sa input trigger ug adunay kasamtangan nga koneksyon, ang Web-IO awtomatik nga nagpahibalo sa aplikasyon sa mga pagbag-o sa pinili nga mga input.
Aron mabalhin ang mga output pinaagi usab sa binary nga pag-access, kinahanglan nga susihon kini sa ilawom sa Enable outputs para sa Binaryx-Sockets.
28
TCP/IP-Sockets – Binary
TCP nga kliyente
Kung gipili ang BINARYx TCP-Client isip Socket-Type, ang Web-IO nagbukas ug koneksyon sa usa ka aplikasyon sa TCP server kung adunay pagbag-o sa usa sa mga input nga gipili ubos sa Input/Trigger.
Ubos sa Server-IP isulod ang IP address o host name sa destinasyon nga server ug ubos sa BINARYx Server Port ipiho kung asa nga TCP port ang koneksyon kinahanglang ablihan.
Sa normal nga mga sitwasyon ang BINARYx lokal nga Port kinahanglang i-configure para sa AUTO. Kini nagpasabot nga ang sender port nag-uswag sa dinamikong paagi sa matag koneksyon, nga makatabang sa pag-atubang sa mga firewall. Sa laing paagi mahimo ka usab mogamit usa ka random nga gipili, naayos nga pantalan sa nagpadala.
Ubos sa Dili Aktibo nga Timeout mahimo nimong itakda kung pila ka oras nga wala’y kalihokan sa mga input kinahanglan nga sirado ang koneksyon. Ang bili sa 0 nagpasabot nga ang koneksyon magpabiling bukas hangtod ang kaatbang nga endpoint mosira niini.
Aron mabalhin ang mga output pinaagi usab sa binary nga pag-access, kinahanglan nga susihon kini sa ilawom sa Enable outputs para sa Binaryx-Sockets.
UDP nga kauban
Kung gipili ang BINARYx UDP-Peer isip Socket-Type, ang Web-IO nag-abli ug koneksyon sa UDP port nga gibutang ubos sa UDP lokal nga pantalan para sa pagdawat sa UDP datagmga laking karnero.
Tanan datagmga laking karnero nga gipadala sa Web-IO adto sa IP address nga gisulod ubos sa RemotePeer-IP sa UDP port nga gi-configure isip UDP remote port.
Kung adunay pagbag-o sa mga input nga gihubit ingon Input-Trigger, katumbas nga datagAng mga laking karnero gipadala ngadto sa gi-configure nga hilit nga kaubanan.
Aron mabalhin ang mga output pinaagi usab sa binary nga pag-access, kinahanglan nga susihon kini sa ilawom sa Enable outputs para sa Binaryx-Sockets.
BINARY Ang mga istruktura sa IO
Bisan unsa nga BINARY Socket Type ang gipili, adunay usa ka tin-aw nga gidaghanon sa binary structures (variable fields) alang sa komunikasyon tali sa aplikasyon ug sa Web-IO.
29
TCP/IP-Sockets – Binary
Ang ingon nga mga istruktura gihatag alang sa mosunod nga mga gimbuhaton:
· Pag-aghat ug pagpadala sa password · Pagbasa sa mga input · Pagbasa sa mga input ug output · Pag-set sa mga output · Pagbasa sa mga counter · Pag-reset sa mga counter · Pag-configure sa cyclical ug
usa ka pagbag-o sa estado
awtomatiko
pagmensahe
kanus-a
didto
Ang programa sa user naggamit sa sayon nga socket interface (Windows: WinSock, UNIX, Linux: Berkley Sockets) alang sa pagbayloay sa datos sa porma niining mga istruktura sa IO uban sa Web-IO ug sa network pinaagi sa TCP/IP.
Kahubitan sa mga istruktura
Aron dili klaro nga mailhan ug matimbangtimbang ang sulud sa usa ka pakete, sa BINARY mode ang tanan nga datos kinahanglan ipadala sa Web-IO sa porma niining mga istruktura sa IO.
Ang tanan nga mga istruktura nagsugod sa parehas nga header, nga gilangkuban sa mosunod nga 4 WORDS (16-bit_Integer):
15 14 13 12 11 10 9 8 7 6 5 4 3 2
taas nga byte 2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
taas nga byte 4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
taas nga byte 6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
taas nga byte 8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
Ang Start_1, Start_2 Start_1 ug Start_2 anaa alang sa mga hinungdan sa pagkaangay sa mga naunang modelo, apan wala kini gigamit. Ang duha nga mga kantidad kanunay nga 0.
StruktTyp Ang bili nga struct_typ nagpaila sa istruktura. Ang PC application ug ang WebGigamit sa IO ang kantidad nga struct_typ kung madawat ang datos aron mahibal-an kung giunsa pagtimbang-timbang ang istruktura.
30
TCP/IP-Sockets – Binary
StructLength gitas-on nagpakita sa kinatibuk-ang gitas-on sa istruktura sa bytes, ie naglakip sa unang 4 ka mga PULONG.
1Note: Ang mosunod magamit sa tanang IO structures:
Ang usa ka pulong katumbas sa 16bit nga integer. Ang usa ka char katumbas sa usa ka byte (8bits) Ang usa ka taas katumbas sa usa ka 32bit nga integer
Hexadecimal format 0x atubangan sa bili
1Alang sa pagpadala ug pagdawat sa variable nga Low-Byte una nga magamit sa tanan nga mga variable sa istruktura.
Pagsugod_1
Pagsugod_2
StructType
StructLength
7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9
00 00 00 00 01 00 08 00 ubos nga byte
1. byte sa istruktura
taas nga byte 2. byte sa istruktura
ubos nga byte 3. byte sa istruktura
taas nga byte 4. byte sa istruktura
ubos nga byte 5. byte sa istruktura
taas nga byte 6. byte sa istruktura
ubos nga byte 7. byte sa istruktura
taas nga byte 8. byte sa istruktura
es.l
Sa examples tanan nga mga numero anaa sa hex format!
31
TCP/IP-Sockets – Binary
Pag-access nga giprotektahan sa password
Sa TCP Server mode binary access mahimong mapanalipdan gikan sa dili awtorisado nga mga pagsulay gamit ang usa ka password nga proteksyon.
Kung ang access nga giprotektahan sa password gisusi ubos sa Mga agianan sa komunikasyon >> Pag-access sa socket > TCP/UDP Sockets BINARY-Mode sa BINARYx TCP-Server area, gikinahanglan ang multi-step login procedure.
Dili awtorisado nga pagsulay sa pag-access
Kung ang aplikasyon sa kliyente mosulay sa pagsugod sa komunikasyon sa Web-IO gamit ang password giprotektahan binary access, ang Web-IO nagpadala sa istruktura AuthRequired.
Ang gambalay nga gikinahanglan
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
80 04 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
Kung madawat ang istruktura nga AuthRequired, ang aplikasyon sa kliyente kinahanglan magsugod sa pamaagi sa pag-login.
Pamaagi sa pag-login
Aron makakuha og access sa mga IO nga adunay proteksyon sa password, ang aplikasyon sa kliyente kinahanglan mag-aghat sa usa ka yawe. Gihimo kini pinaagi sa pagpadala sa istruktura sa KeyRequest.
32
TCP/IP-Sockets – Binary
Ang istruktura nga KeyRequest
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
80 02 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
Kung ang istruktura sa KeyRequest nadawat ang Web-IO nagmugna sa usa ka maximum 64byte taas nga yawe sa Web-IO nga gisukip sa yawe nga istruktura.
Ang yawe sa istruktura
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
80 03 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 4C taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
00 00 00 XX 12. byte sa istruktura
11. byte sa istruktura
10. byte sa istruktura
9. byte sa istruktura
32 bit nga kantidad
76543210
XX 13. byte sa istruktura
1 byte
76543210
XX 14. byte sa istruktura
1 byte
76543210
XX 75. byte sa istruktura
1 byte 76543210
XX 76. byte sa istruktura
1 byte
Pagsugod_1
Pulong kanunay = 0
Pagsugod_2
Pulong kanunay = 0
StructType
Uri sa Word Structure
StructLength
Ang gitas-on sa pulong sa bytes
KeyLength
Taas nga Numero sa KeyBytes
gigamit gyud
KeyBytes
Ang taas nga byte array kanunay nga 64 bytes, bisan kung ang aktuwal nga yawe mas mubo
Pila ka bytes ang gitas-on sa yawe nga aktuwal nga gipakita sa variable KeyLength.
33
TCP/IP-Sockets – Binary
Ang istruktura Login
Ang aplikasyon sa kliyente kinahanglan na nga maghimo usa ka MD5 hash gikan sa password nga gi-assign para sa Web-IO ug ang nadawat nga yawe.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
80 01 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 28 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
76543210
XX 9. byte sa istruktura
1 byte
76543210
XX 10. byte sa istruktura
1 byte
Pagsugod_1
Pulong kanunay = 0
Pagsugod_2
Pulong kanunay = 0
StructType
Uri sa Word Structure
StructLength
Gitas-on sa Pulong
in
bytes
MD5-Hash
Long byte array 32 bytes MD5 hash sa password + key
76543210
XX 39. byte sa istruktura
1 byte 76543210
XX 40. byte sa istruktura
1 byte
Ang MD5 hash sum gipadala sa Web-IO gamit ang Login structure. Kung ang WebGidawat sa IO ang pag-login, gipadala niini ang istruktura sa AuthOK sa aplikasyon sa kliyente ug mahimo’g magsugod ang normal nga pagbinayloay sa datos.
Ang istruktura nga AuthOK
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
80 05 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
34
TCP/IP-Sockets – Binary
Ang istruktura nga AuthFail
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
80 06 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
Kung ang pag-login dili husto ang Web-IO nagpadala sa AuthFail structure ug nagsira sa TCP connection.
Digital IO-Access nga adunay Binary Structures
Ang istruktura ReadRegister
Nagpadala niini nga istruktura sa Web-IO hinungdan nga ipadala niini ang kahimtang sa mga Input 0 - 11 sa programa sa aplikasyon. Ang pakete naglangkob lamang niining upat ka mga PULONG. Kini nga istruktura gigamit sa programa sa gumagamit ug sa Web-IO kanunay motubag pinaagi sa pagpadala sa WriteRegister gambalay.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 01 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
Ang istruktura sa WriteRegister
Kini nga istruktura gigamit sa pagpadala sa kahimtang sa mga input o output alang sa Web-IO 12xDigital. Kung ang programa sa aplikasyon nagpadala niini nga istruktura sa Web-IO, ang WebGitakda sa IO ang mga output nga katumbas sa kantidad nga gipasa sa kantidad.
Kung ang Web-IO nagpadala niini nga istruktura ngadto sa user nga programa, ang bili adunay bili nga katumbas sa input estado.
35
TCP/IP-Sockets – Binary
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 0C taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 01 taas nga byte
10. byte sa istruktura
ubos nga byte 9. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX XX taas nga byte
12. byte sa istruktura
ubos nga byte 11. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength Amount Value
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes Word always = 1 Word Binary nga katumbas sa input status
Alang sa Web Ang mga IO nga adunay mga output sa relay, usa ka paghunong sa labing menos 200ms kinahanglan nga maobserbahan tali sa duha nga mga proseso sa pagbalhin sa usa ka output!
Ang istruktura nga SetBit
Kini nga istruktura makahimo sa pagpahimutang sa mga indibidwal nga mga output sa Web IO. Kung, alang sa exampUg, ang tibuok nga kahimtang sa proseso wala ma-map sa user program, ang indibidwal nga mga output mahimong itakda nga walay pagbag-o sa bili sa uban. Ang mga bits 0..11 sa set_bits ug ang bili katumbas sa katugbang nga mga output. Kini nga istruktura gigamit lamang sa programa sa tiggamit.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 09 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 0C taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX XX taas nga byte
10. byte sa istruktura
ubos nga byte 9. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX XX taas nga byte
12. byte sa istruktura
ubos nga byte 11. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength Mask Value
Pulong kanunay = 0
Pulong kanunay = 0
Uri sa Word Structure
Ang gitas-on sa Pulong sa mga byte Word Bits nga usbon = 1 Word Binary nga katumbas sa output status
Beispiel.:
set_bits = 0x0124 / bili = 0x0104 36
TCP/IP-Sockets – Binary
Ang Output 2 ug Output 8 (nag-ihap sa Output0..1) gibutang sa ON ug ang Output 5 gibutang sa OFF. Ang tanan nga ubang mga output wala mausab.
Ang istruktura RegisterRequest
Ang programa sa tiggamit nagpadala niini nga istruktura sa Web IO aron makabasa sa mga sulod sa mga input ug output sa ibabawview. Ang Web Ang IO kanunay motubag sa RegisterStateert I/O structure.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 21 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
Ang istruktura RegisterState
Ang Web Gigamit sa IO kini nga istruktura aron ipadala ang sulud sa mga input ug output. Kini nga istruktura gipadala lamang kung ang aplikasyon sa gumagamit nagpadala sa istruktura sa Paghangyo sa Pagrehistro sa Web IO.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 31 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 0E taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 02 taas nga byte
10. byte sa istruktura
ubos nga byte 9. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX XX taas nga byte
12. byte sa istruktura
ubos nga byte 11. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX XX taas nga byte
14. byte sa istruktura
ubos nga byte 13. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength DriverID InputValue OutputValue
Pulong kanunay = 0
Pulong kanunay = 0
Uri sa Word Structure
Ang gitas-on sa Pulong sa mga byte Pulong kanunay = 2 Word Binary nga katumbas sa input status Word Binary nga katumbas sa Output status
37
TCP/IP-Sockets – Binary
Ang istruktura sa Send Mode
Kini nga istruktura gigamit sa pagtino sa mga kondisyon sa pag-trigger sa Web-IO 12xDigital naggamit aron ipadala ang kahimtang sa mga input sa programa sa user. Sa panguna adunay tulo ka mga posibilidad, apan mahimo kini nga kombinasyon sa usag usa:
1. Ang programa sa gumagamit nag-poll sa Web-IO pinaagi sa pagpadala sa READ structure 2. Ang Web-IO nagpadala sa WriteRegister - istruktura nga adunay kahimtang sa mga input sa
usa ka configurable interval 3. Ang Web-IO nagpadala sa WriteRegister - istruktura nga adunay kahimtang sa mga input
pagkahuman sa pagbag-o sa estado sa mga na-configure nga input
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 0C taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 01 taas nga byte
10. byte sa istruktura
ubos nga byte 9. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX XX taas nga byte
12. byte sa istruktura
ubos nga byte 11. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength Amount Value
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes Word always = 1 Word Binary nga katumbas sa input status
Ang istruktura nga ReadCounter
Ang programa sa tiggamit nagpadala niini nga istruktura sa Web-IO aron hangyoon ang counter state sa usa ka input counter. Unsang input ang gituyo ipadala sa variable counter_index. Ang Web-IO kanunay motubag sa Counter gambalay.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 B0 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 0A taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 XX taas nga byte
10. byte sa istruktura
ubos nga byte 9. byte sa istruktura
16 bit nga kantidad
38
Start_1 Start_2 StructType StructLength Counterindex
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure matang Word Length sa bytes Pulong Input numero
TCP/IP-Sockets – Binary
Ang istruktura ReadClearCounter
Ang programa sa aplikasyon nagpadala niini nga istruktura sa Web-IO aron sa paghangyo sa counter status sa usa ka partikular nga input counter ug dayon ibutang sa counter ngadto sa 0. Unsang input nga nalangkit niini gipasa sa variable counter_index. Ang WebAng IO kanunay nga nagtubag sa istruktura nga Counter.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 C0 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 0A taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 XX taas nga byte
10. byte sa istruktura
ubos nga byte 9. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength Counterindex
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure matang Word Length sa bytes Pulong Input numero
Kontra sa istruktura
Uban niini nga istruktura ang Web-IO nagpadala sa counter state sa input counter nga gipiho sa counter_index.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 B4 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 0E taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 XX taas nga byte
10. byte sa istruktura
ubos nga byte 9. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 14. byte sa istruktura
13. byte sa istruktura
12. byte sa istruktura
11. byte sa istruktura
32 bit nga kantidad
Start_1 Start_2 StructType StructLength CounterIndex CounterValue
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Ang Pulong Gitas-on sa bytes Pulong Nummer des Inputs Long Zählerwert
39
TCP/IP-Sockets – Binary
Ang istruktura nga ReadAllCounter
Ang programa sa tiggamit nagpadala niini nga istruktura sa Web-IO aron hangyoon ang counter states sa tanang inputs sa usa ka data packet. Ang Web-IO kanunay nga nagtubag sa istruktura nga AllCounter.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 B1 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
Ang Structure ReadClearAllCounter
Ang programa sa aplikasyon nagpadala niini nga istruktura sa Web-IO aron makapangayo sa counter states sa tanang inputs sa data packet ug dayon i-set ang mga counter ngadto sa 0. Ang Web-IO kanunay nga nagtubag sa istruktura nga AllCounter.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 C1 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
40
TCP/IP-Sockets – Binary
Ang istruktura nga AllCounter
Ang WebAng -IO naggamit niini nga istruktura aron ipadala ang mga counter state sa tanan nga mga input sa usa ka higayon.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 B5 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 0E taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 XX taas nga byte
10. byte sa istruktura
ubos nga byte 9. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 14. byte sa istruktura
13. byte sa istruktura
12. byte sa istruktura
11. byte sa istruktura
32 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 18. byte sa istruktura
17. byte sa istruktura
16. byte sa istruktura
15. byte sa istruktura
32 bit nga kantidad
Start_1 Start_2 StructType StructLength CounterNoOf CounterValue1 CounterValue2
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length in bytes Word Numner of Counter Long Counter value 1 Long Counter value 2
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX XX. byte sa istruktura
XX. byte sa istruktura
XX. byte sa istruktura
XX. byte sa istruktura
32 bit nga kantidad
CounterValuen
Long Counter nga bili n
Ang istruktura nga ClearCounter
Ang programa sa tiggamit nagpadala niini nga istruktura sa Web-IO aron i-reset ang counter state sa usa ka input counter ngadto sa 0. Unsang input ang gituyo ipadala sa variable counter_index
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 B2 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
41
TCP/IP-Sockets – Binary
Ang mga Opsyon sa istruktura
Kini nga istruktura gigamit sa pagtakda sa pipila ka mga kapilian sa Web IO. Alang niini nga katuyoan, ang 32 bits anaa sa mga kapilian nga kapilian.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
01 F0 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 10 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
00 00 00 01 12. byte sa istruktura
11. byte sa istruktura
10. byte sa istruktura
9. byte sa istruktura
32 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 16. byte sa istruktura
15. byte sa istruktura
14. byte sa istruktura
13. byte sa istruktura
32 bit nga kantidad
Start_1 Start_2 StructType StructLength nga mga Opsyon sa Bersyon
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
Dugay Sa pagkakaron 1 Long Binary coding
Sa karon nga bersyon sa Web IO, gamay ra nga 0 sa mga kapilian nga variable ang gigamit.
· Bit 0 = 1 //ang Web Gibalik sa IO ang istruktura sa RegisterState kung gitakda ang usa ka output. · Bit 0 = 0 //ang Web Ang IO wala maghatag bisan unsang feedback kung ang usa ka output gitakda.
Aron masaligan nga madawat ang status pagkahuman sa pag-set sa (mga) output sa feedback, kinahanglan adunay oras nga labing menos 50ms taliwala sa duha nga nagbag-o nga output nga mga pag-access.
42
TCP/IP-Sockets – Binary
Mga istruktura sa IO alang sa pagbasa sa sulud sa logger (#57756)
Ang mga rekord sa datos nga gitipigan sa Web-IO 4.0 Digital Logger mahimo usab nga basahon pinaagi sa paggamit sa binary istruktura.
Bisan kung dili nimo gusto nga ma-access ang mga input o output, apan gusto lang basahon ang logger, ang Binary1 kinahanglan nga ma-aktibo sa Web-IO menu ubos sa mga dalan sa Komunikasyon >> Socket API >> Binary1.
Ang istruktura LOGGER_REQUEST
Ang LOGGER_REQUEST nga estraktura kay gigamit sa una nga pagbalhin sa yugto sa panahon alang sa gusto nga mga rekord sa datos ngadto sa Web-IO Digital Logger.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 High-Byte
2. Byte sa istruktura
Ubos-Byte 1. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 High-Byte
4. Byte sa istruktura
Ubos-Byte 3. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
01 E0 Hataas-Byte
6. Byte sa istruktura
Ubos-Byte 5. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 14 High-Byte
8. Byte sa istruktura
Ubos-Byte 7. Byte sa istruktura
16 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 12. Byte sa istruktura
11. Byte sa istruktura
10. Byte sa istruktura
9. Byte sa istruktura
32 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 16. Byte sa istruktura
15. Byte sa istruktura
14. Byte sa istruktura
13. Byte sa istruktura
32 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
0X XX High-Byte
18. Byte sa istruktura
Ubos-Byte 17. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
0X XX High-Byte
20. Byte sa istruktura
Ubos-Byte 19. Byte sa istruktura
16 Bit Variable
Start_1 Start_2 StructType StructLength StartTime StopTime StartTime ms StopTime ms
Integer Always = 0 Integer Always = 0 Integer Struktur type Integer Length in bytes Long (Second) gikan sa 01.01.1970 Long (Second) gikan sa 01.01.1970 Integer Milliseconds Integer Milliseconds
Ang mga oras sa pagsugod ug paghunong gitakda sa mga segundo gikan sa 01.01.1970 00:00:00. Dugang pa, ang ms (sa mga lakang sa usa ka gatos) hangtod sa sunod nga bug-os nga segundo mahimong ipiho sa duha ka higayon.
Ang istruktura LOGGER_ NOACCESS
Ang sulod sa data logger mabasa lang sa usa ka higayon matag higayon. Kung ang laing operasyon sa pagbasa aktibo na, ang Web-IO Digital Logger motubag sa LOGGER_NOACCESS nga istruktura.
43
TCP/IP-Sockets – Binary
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 High-Byte
2. Byte sa istruktura
Ubos-Byte 1. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 High-Byte
4. Byte sa istruktura
Ubos-Byte 3. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
01 E3 Hataas-Byte
6. Byte sa istruktura
Ubos-Byte 5. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 High-Byte
8. Byte sa istruktura
Ubos-Byte 7. Byte sa istruktura
16 Bit Variable
Start_1 Start_2 StructType StructLength
Integer Kanunay = 0 Integer Kanunay = 0 Integer Struktur type Integer Length sa Bytes
Sa kini nga kaso, ang koneksyon kinahanglan nga tapuson ug ang pag-access sa logger kinahanglan nga sulayan pag-usab sa ulahi nga panahon.
Ang istruktura LOGGER_CHECK
Kung ang pag-access sa logger wala gi-assign, ang istruktura nga LOGGER_REQUEST gitubag sa Web-IO Digital Logger nga adunay istruktura nga LOGGER_CHECK.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 High-Byte
2. Byte sa istruktura
Ubos-Byte 1. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 High-Byte
4. Byte sa istruktura
Ubos-Byte 3. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
01 E1 Hataas-Byte
6. Byte sa istruktura
Ubos-Byte 5. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 14 High-Byte
8. Byte sa istruktura
Ubos-Byte 7. Byte sa istruktura
16 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 12. Byte sa istruktura
11. Byte sa istruktura
10. Byte sa istruktura
9. Byte sa istruktura
32 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 16. Byte sa istruktura
15. Byte sa istruktura
14. Byte sa istruktura
13. Byte sa istruktura
32 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 20. Byte sa istruktura
19. Byte sa istruktura
18. Byte sa istruktura
17. Byte sa istruktura
32 Bit Variable
Start_1 Start_2 StructType StructLength LoggerState MemSize Memprogress
Integer Always = 0 Integer Always = 0 Integer Struktur Integer Length in Bytes Long Check state Long Memory size Long Search progress
Ang Web-IO Digital Logger kinahanglan una nga susihon kung pila ang mga rekord sa datos nga gitipigan alang sa gitinguha nga yugto sa panahon. Mahimong magdugay kini depende sa paggamit sa memorya ug ang gidak-on sa yugto sa panahon. Aron ipahibalo ang aplikasyon bahin sa karon nga kahimtang sa pagpangita sa set sa datos, ang Web-IO Digital Logger mibalik sa katugbang nga impormasyon sa LOGGER_CHECK structure.
· Adunay 4 ka estado para sa LoggerState:
0 = Walay pagpangita nga aktibo (sa pa)
44
TCP/IP-Sockets – Binary
1 = Pagsugod sa proseso sa pagpangita 2 = Pag-load sa usa ka lugar sa panumduman nga pangitaon 3 = Pag-ila sa mga rekord sa datos 4 = Pag-evaluate nahuman
· Sa MemSize ang Web-IO Digital Logger mibalik sa kinatibuk-ang gidak-on sa memorya nga ma-scan sa bytes.
· Ang parameter sa MemProgress nagpakita kung unsa ka layo ang pag-uswag sa pagpangita.
Hangtud nga ang pagbalik nga kantidad alang sa logger_state dili katumbas sa 4, ang aplikasyon kinahanglan nga motubag sa istruktura sa LOGGER_CHECK, diin ang LoggerState, MemSize ug MemProgress gibutang sa 0.
Ang mga istruktura sa LOGGER_CHECK gibaylo hangtod ang LoggerState adunay kantidad nga 4.
Ang istruktura LOGGER_DATAREQUEST
Human madawat ang istruktura sa LOGGER_CHECK sa LoggerState = 4, ang mga rekord sa datos mahimong hangyoon.
Gihimo kini pinaagi sa pagpadala sa usa ka istruktura sa EADriver nga adunay tipo nga istruktura 0x01E2 gikan sa aplikasyon hangtod sa Web-IO Digital Logger.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 High-Byte
2. Byte sa istruktura
Ubos-Byte 1. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 High-Byte
4. Byte sa istruktura
Ubos-Byte 3. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
01 E2 Hataas-Byte
6. Byte sa istruktura
Ubos-Byte 5. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 High-Byte
8. Byte sa istruktura
Ubos-Byte 7. Byte sa istruktura
16 Bit Variable
Start_1 Start_2 StructType StructLength
Integer Kanunay = 0 Integer Kanunay = 0 Integer Struktur type Integer Length sa Bytes
Ang istruktura LOGGER_DATASET
Ang Web-IO Digital Logger nagsugod sa pagpadala sa mga data set human madawat ang LOGER_ DATAREQUEST structure. Ang matag indibidwal nga set sa datos nga magamit alang sa gitinguha nga yugto sa panahon gipadala sulod sa usa ka LOGGER_DATASET nga istruktura.
45
TCP/IP-Sockets – Binary
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 High-Byte
2. Byte sa istruktura
Ubos-Byte 1. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 High-Byte
4. Byte sa istruktura
Ubos-Byte 3. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
01 E2 Hataas-Byte
6. Byte sa istruktura
Ubos-Byte 5. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 88 High-Byte
8. Byte sa istruktura
Ubos-Byte 7. Byte sa istruktura
16 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 12. Byte sa istruktura
11. Byte sa istruktura
10. Byte sa istruktura
9. Byte sa istruktura
32 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 16. Byte sa istruktura
15. Byte sa istruktura
14. Byte sa istruktura
13. Byte sa istruktura
32 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 20. Byte sa istruktura
19. Byte sa istruktura
18. Byte sa istruktura
17. Byte sa istruktura
32 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 24. Byte sa istruktura
23. Byte sa istruktura
22. Byte sa istruktura
21. Byte sa istruktura
32 Bit Variable 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX Hataas-Byte
26. Byte sa istruktura
Ubos-Byte 25. Byte sa istruktura
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX XX Hataas-Byte
28. Byte sa istruktura
Ubos-Byte 27. Byte sa istruktura
16 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 32. Byte sa istruktura
31. Byte sa istruktura
30. Byte sa istruktura
29. Byte sa istruktura
32 Bit Variable 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 36. Byte sa istruktura
35. Byte sa istruktura
34. Byte sa istruktura
33. Byte sa istruktura
32 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 48. Byte sa istruktura
47. Byte sa istruktura
46. Byte sa istruktura
45. Byte sa istruktura
32 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 52. Byte sa istruktura
51. Byte sa istruktura
50. Byte sa istruktura
49. Byte sa istruktura
32 Bit Variable
………………………
Start_1 Start_2 StructType StructLength MaxCount ProcessCount TimeStamp Ang TimeStamp ms Outputs Inputs Reserve Alarms1-30 Counter0 Counter1
Integer Kanunay = 0 Integer Kanunay = 0 Integer Struktur type Integer Length sa Bytes Long Qty. of Datasets Long Current Datasets Long (Secs) ab 01.01.1970 Long + Milliseconds Integer Output bit pattern Integer Input bit pattern Dugay nga wala gigamit Long Alarm bit pattern Long Counter value Long Counter value
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 104. Byte d. Struktur
103. Byte d. Struktur
102. Byte d. Struktur
101. Byte d. Struktur
32 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 108. Byte d. Struktur
107. Byte d. Struktur
106. Byte d. Struktur
105. Byte d. Struktur
32 Bit Variable
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 112. Byte d. Struktur
111. Byte d. Struktur
110. Byte d. Struktur
109. Byte d. Struktur
32 Bit Variable
………………………
Counter14 Counter15 ErrorCounter0
Long Counter value Long Counter value Long Bidirectional Counting errors
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 138. Byte d. Struktur
137. Byte d. Struktur
136. Byte d. Struktur
135. Byte d. Struktur
32 Bit Variable
ErrorCounter7
Taas nga Bidirectional Pag-ihap nga mga sayup
· Ang MaxCount parameter nagpakita sa kinatibuk-ang gidaghanon sa mga rekord sa datos, samtang ang ProcessCount nagpakita kung unsang data record ang gibalhin karon.
· Ang matag data record naglangkob sa tukma nga oras stamp uban sa TimeStamp (segundo gikan sa 01.01.1970 00:00:00) ug TimeStamp ms (milliseconds).
· Ang binary nga kahimtang sa mga input ug output gibalhin sa mga natad sa Inputs ug Outputs.
46
TCP/IP-Sockets – Binary
· Ang kahimtang sa alarma gisenyasan sa una nga katugbang nga mga piraso sa mga Alarm. · Ang istruktura naglangkob sa 16 ka pilo nga counter array para sa counter reading. · Sa panghitabo nga ang bidirectional counter mode gigamit ug direksyon detection
Dili klaro nga posible, ang mga sayup sa pag-ihap gidugangan sa 8-pilo nga ErrorCounter array. · Ang Web-IO Digital Logger nagpadala sa tanan nga mga rekord sa datos alang sa pinili nga yugto sa panahon nga walay bag-ong hangyo gikan sa bahin sa aplikasyon. Kini nga proseso dili mahunong.
Ang eksaktong pamaagi sa pagbasa sa logger klaro nga gihulagway sa mosunod nga flow chart.
Sumpaysumpaya ang logger
Ipadala sa logger: LOGGER_REQUEST
Pagdawat istruktura gikan sa Logger
Ipadala sa logger: LOGGER_DATASET
Pagdawat istruktura gikan sa Logger
oo
Nadawat nga istruktura
LOGGER_NOACCESS?
dili
Ipadala sa logger: LOGGER_CHECK
Dawata gikan sa Logger LOGGER_CHECK
Nadawat nga istruktura
dili
LOGGER_DATASET?
(1 sa n)
oo
LOGGER_DATASET 2 sa n nadawat
walay LoggerState = 4?
oo
LOGGER_DATASET ug gikan sa empfangen
Verbindung zum Logger trennen
47
TCP/IP-Sockets – Binary
Analog I/O access uban sa binary nga mga istruktura
Ang istruktura ReadRegister
Nagpadala niini nga istruktura sa Web-IO hinungdan nga ipadala niini ang kahimtang sa mga pantalan sa programa sa gumagamit.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 01 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
Ang pakete naglangkob lamang niining upat ka mga PULONG. Kini nga istruktura gigamit lamang sa programa sa gumagamit ug sa Web-IO kanunay nga reaksyon pinaagi sa pagpadala sa istruktura AnalogRegisterState.
Ang istruktura sa IO AnalogRegisterState
Ang Web-IO Analog-In/Out nagpadala sa kahimtang sa duha ka pantalan uban niini nga istruktura. Gipadala kini nga istruktura kung ang programa sa gumagamit nagpadala sa istruktura sa ReadRegister sa Web-IO, o kung ang usa ka kantidad sa output gitakda sa kini nga istruktura.
Kini nga istruktura nagsilbi usab nga ipadala ang mga kantidad sa output sa mga pantalan nga itakda. Kung ang programa sa gumagamit nagpadala niini nga istruktura sa Web-IO, ang Web-IO nagtakda sa mga output sumala sa bili nga gibalhin sa Port 1 ug Port 2.
Dinhi ang kantidad wala ipadala sa gi-configure nga yunit, apan kanunay sa 1/100,000 sa labing kataas nga kantidad. Ang usa ka kantidad sa output nga 15.4mA kinahanglan nga ipadala ingon 77000 o 0x012CC8.
Kung ang Web-IO nagpadala niini nga istruktura ngadto sa user nga programa, ang port 1 ug port 2 adunay bili nga katumbas sa input status.
48
TCP/IP-Sockets – Binary
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
01 B8 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 14 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
00 00 00 02 12. byte sa istruktura
11. byte sa istruktura
10. byte sa istruktura
9. byte sa istruktura
32 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
00 0X XX XX 16. byte sa istruktura
15. byte sa istruktura
14. byte sa istruktura
13. byte sa istruktura
32 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
00 0X XX XX 20. byte sa istruktura
19. byte sa istruktura
18. byte sa istruktura
17. byte sa istruktura
32 bit nga kantidad
Start_1 Start_2 StructType StructLength Gidaghanon Port1Value Port2Value
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes Long always 2 Long Value sa 1/100.000 Long Value sa 1/100.000
Ang istruktura AnalogSingleRegister
Kini nga istruktura gigamit sa pagpadala sa output nga kantidad sa usa ka port sa Web-IO Analog-In/Out (Port 1 = 0, Port 2 = 1). Ang pamaagi parehas sa AnalogRegisterState.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
01 BB taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 14 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
00 00 00 01 12. byte sa istruktura
11. byte sa istruktura
10. byte sa istruktura
9. byte sa istruktura
32 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
00 00 00 0X 16. byte sa istruktura
15. byte sa istruktura
14. byte sa istruktura
13. byte sa istruktura
32 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
00 0X XX XX 20. byte sa istruktura
19. byte sa istruktura
18. byte sa istruktura
17. byte sa istruktura
32 bit nga kantidad
Start_1 Start_2 StructType StructLength Gidaghanon sa Channel PortValue
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
Long kanunay 1 Long Chanel no. (0 / 1) Long Value sa 1/100.000
49
TCP/IP-Sockets – Binary
Ang IO structure Send Mode
Kini nga istruktura naghubit sa mga kondisyon sa pag-trigger diin ang Web-IO Analog-In/Out nagpadala sa kahimtang sa mga pantalan ngadto sa user nga programa. Ang gatilyo mahimong ma-configure alang sa mga pagbag-o sa kahimtang sa duha nga mga pantalan. Ang tagsa-tagsa nga hysteresis alang sa gatilyo kinahanglang ibutang sa web configuration.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 10 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 0C taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 0X taas nga byte
10. byte sa istruktura
ubos nga byte 9. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX XX taas nga byte
12. byte sa istruktura
ubos nga byte 11. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength Mask Interval
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes Word Bits para sa input trigger = 1 Word Interval sa 100ms para sa Transmission sa
Ang mosunod nga mga kombinasyon mahimong ma-configure isip variable mask:
0x0000 0x0001 0x0002 0x0003
Port 1
off on off on
Port 2
off on on
50
TCP/IP-Sockets – Binary
Ang IO structure nga mga Opsyon
Kini nga istruktura gigamit sa pagtakda sa pipila ka mga kapilian sa Web-IO. Alang niini nga katuyoan ang 32 ka mga bits magamit sa mga kapilian nga kapilian.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 High-Byte
2. Byte der Struktur
Ubos-Byte 1. Byte der Struktur
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 High-Byte
4. Byte der Struktur
Ubos-Byte 3. Byte der Struktur
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
01 F0 Taas nga Byte
6. Byte der Struktur
Ubos-Byte 5. Byte der Struktur
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 10 High-Byte
8. Byte der Struktur
Ubos-Byte 7. Byte der Struktur
16 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
00 00 00 01 12. Byte der Struktur
11. Byte der Struktur
10. Byte der Struktur
9. Byte der Struktur
32 Bit Variable
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 16. Byte der Struktur
15. Byte der Struktur
14. Byte der Struktur
13. Byte der Struktur
32 Bit Variable
Start_1 Start_2 StructType StructLength nga mga Opsyon sa Bersyon
Integer Immer = 0 Integer Immer = 0 Integer Strukturtype Integer Länge sa Bytes Long Version z.Zt. 1 Long Binäre Kodierung
In der vorliegenden Version des Web-IO wird nur das Bit 0 der Variablen mga kapilian verwendet.
· Bit 0 = 1 //das Web-IO sendet mamatay AnalogRegisterState Struktur zurück, sa dihang Output gesetzt wird.
· Bit 0 = 0 //das Web-IO gibt bei Setzen eines Output keine Rückmeldung.
Um in der Rückmeldung zuverlässig den Zustand nach Setzen des/der Output(s) zu bekommen, sollte zwischen zwei Output-verändernden Zugriffen min. eine Zeit 50ms liegen.
51
TCP/IP-Sockets – Binary
Ang kahimtang sa aparato pinaagi sa binary nga mga istruktura
Ang istruktura ReadDiagnosis
Kung ang Web-IO nagtino nga adunay usa ka komunikasyon o sistema nga sayop, ang ulahi gilista sa HTML page diag ug mabasa gamit ang browser. Tungod kay ang pagdumala sa sayup pinaagi sa browser alang sa mga aplikasyon nga kontrolado sa programa dili kanunay magamit, ang kahimtang sa sayup sa Web-IO mahimong pangutana gamit ang istruktura ReadDiagnosis
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 D1 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
Ang Web-IO mga tubag nga adunay usa ka istruktura nga tipo sa Diagnosis.
Diagnosis sa istruktura
Ang Web-IO tubag sa ReadDiagnosis structure nga adunay Diagnosis type structure.
52
TCP/IP-Sockets – Binary
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 D0 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 1C taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
00 00 00 04 12. byte sa istruktura
11. byte sa istruktura
10. byte sa istruktura
9. byte sa istruktura
32 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
00 00 00 XX 16. byte sa istruktura
15. byte sa istruktura
14. byte sa istruktura
13. byte sa istruktura
32 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 20. byte sa istruktura
19. byte sa istruktura
18. byte sa istruktura
17. byte sa istruktura
32 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 24. byte sa istruktura
23. byte sa istruktura
22. byte sa istruktura
21. byte sa istruktura
32 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
XX XX XX XX 28. byte sa istruktura
27. byte sa istruktura
26. byte sa istruktura
25. byte sa istruktura
32 bit nga kantidad
Pagsugod_1
Pulong kanunay = 0
Pagsugod_2
Pulong kanunay = 0
StructType
Uri sa Word Structure
StructLength
Ang gitas-on sa pulong sa bytes
Bersyon
Dugay karon = 4
ErrorCount Errorbits1
Taas nga kasamtangan nga numero sa sayup Taas nga binary error coding
Errorbits2 Errorbits3
Long binary error coding Long binary error coding
Ang variable nga diag_error_count nagbalik kung pila ang lainlaing mga sayup nga naa karon sa memorya sa sayup. Ang Web-IO nagpalahi sa kinatibuk-an nga hangtod sa 64 ka lain-laing mga error sate, diin ang matag set bit sa duha ka variables diag_errrorbits0 ug diag_errorbits1 nagpasabot sa usa ka error type.
Ang eksaktong deskripsyon sa teksto mahimong makuha sa TCP Port 80. Alang sa mas detalyado nga paghulagway, tan-awa ang seksyon sa socket programming nga adunay mga command string.
Ang istruktura nga ClearDiagnosis
Kini nga istruktura nagtangtang sa sayup nga panumduman sa Web-IO.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 D2 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
53
TCP/IP-Sockets – Binary
Mga bahin sa aparato pinaagi sa binary nga istruktura
Ang istruktura nga InventoryRequest
Sa pagpangutana sa kagamitan sa IO sa Web IO, ang istruktura sa InventoryRequest gipadala sa Web IO.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 F1 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 08 taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
Start_1 Start_2 StructType StructLength
Pulong kanunay = 0 Pulong kanunay = 0 Word Structure type Word Length sa bytes
Imbentaryo sa istruktura
Kung ang Web Gidawat sa IO ang istruktura sa InventoryRequest, gitubag niini ang istruktura sa Imbentaryo.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
2. byte sa istruktura
ubos nga byte 1. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 00 taas nga byte
4. byte sa istruktura
ubos nga byte 3. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 F2 taas nga byte
6. byte sa istruktura
ubos nga byte 5. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 XX taas nga byte
8. byte sa istruktura
ubos nga byte 7. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 XX taas nga byte
10. byte sa istruktura
ubos nga byte 9. byte sa istruktura
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 XX taas nga byte
12. byte sa istruktura
ubos nga byte 11. byte sa istruktura
16 bit nga kantidad
Pagsugod_1
Pulong kanunay = 0
Pagsugod_2
Pulong kanunay = 0
StructType
Uri sa Word Structure
StructLength
Ang gitas-on sa pulong sa bytes
kantidad
Pulong Numero sa IO mode entries
IO-Mode
Pulong nga taas nga byte = IO chanel no. ubos nga byte = IO chanel mode
15 14 13 12 11 10 9 8 7 6 5 4 3 XNUMX
taas nga byte 12+n*2 Byte
XX ubos nga byte 11+n*2 byte sa
16 bit nga kantidad
210
XX
Sa variable nga kantidad, ang Web Gitino sa IO kung pila ang mga entry sa mode sa IO sa istruktura.
54
TCP/IP-Sockets – Binary
Ang matag entry naglangkob sa channel number isip taas nga byte ug ang available nga IO mode isip low byte. Kung labaw pa sa usa ka kantidad o estado ang makuha gikan sa usa ka channel sa IO, adunay usa ka entry alang sa matag makuha nga parameter (pananglitan alang sa digital input, usa ka entry alang sa input state ug lain alang sa counter value). IO chanel mode Ang mga IO mode gi-numero sama sa mosunod: 1 analogue input (4..20mA o 0..10V) 2 digital input 3 digital output (read and write access) 4 counter 5 digital output (read access only) 6 analog output IO chanel no Ang numero sa channel sa IO katumbas sa pag-indeks sa indibidwal nga mga input o output. Depende sa klase sa IO, ang pag-indeks mahimong magsugod sa 0 (pananglitan sa digital Web IOs) o 1 (pananglitan alang sa analogue Web IOs)
55
HTTP-Paghangyo
HTTP-Paghangyo
Dugang pa sa classic socket access, ang Web-IO mahimo usab nga matubag direkta pinaagi sa HTTP access pinaagi sa HTTP hangyo
Kini nga pag-access gipugngan sa mga default sa pabrika ug kinahanglan nga ma-aktibo sa punoan sa menu sa Mga agianan sa komunikasyon >> Web-API.
Dugang pa, ang Web-IO nagtanyag sa kapilian sa pag-upload ug sa pagluwas sa imong kaugalingon, sa kaugalingon nga programa website ubos sa visualizations >> My website. Ang imong kaugalingon website mahimong ma-access pinaagi sa menu tree ubos sa My Website o ang ngalan nga imong gihatag. Apan adunay usab direkta nga tawag pinaagi sa URL posible:
http: // Web-IO> / tiggamit
Gisuportahan nga mga hangyo (mga sugo)
Ang mosunod nga listahan nagpakita sa tanang gisuportahan nga HTTP nga mga hangyo
Dugang nga mga detalye sa paggamit sa pag-access web Ang mga teknik sama sa AJAX o PHP makita sa mosunod nga mga panid.
Web-IO Digital Kommandos
/inputx
Parameter
?PW=password& Ang tagdumala o user password kinahanglang gamiton inay password. Kung walay password nga gihatag, ang PW=& gisulod. (magamit sa tanan nga mga sugo!)
Beschreibung
Ang hangyo sa kahimtang sa pag-input x opsyonal nga nagtino sa no. sa input ug mahimong tali sa 0 ug 16 depende sa modelo. Ang feedback sa Web Ang IO usa ka hilo nga nagsugod sa inputx; gisundan sa status sa input: ON = signal sa input ug OFF = walay signal sa input Kung ang x hingpit nga wala iapil, ang Web Nagbalik ang IO og gamay nga pattern nga katumbas sa input signal sa hexadecimal notation.
56
Kommandos
/counterx /counter /outputx
/outputaccessx
/counterclearx
HTTP-Paghangyo
Parameter
Beschreibung
?PW=password&
Counter value request x mahimong value tali sa 0-11 ug nagpaila sa input. Ang feedback gikan sa Web Ang IO usa ka string nga nagsugod sa counterx;. Ang counter value sa pinili nga counter gidugang sa decimal notation.
?PW=password&
Paghangyo sa tanang counter values Ang feedback sa Web Ang IO usa ka string nga nagsugod sa counter;. Ang counter values gidugang sa decimal notation nga gibulag sa mga semicolon.
?PW=password&
Gipangayo nga status sa output
x opsyonal nga nagtino sa Numero sa output ug mahimong tali sa 0 ug 16 depende sa modelo. Ang feedback gikan sa Web Ang IO usa ka hilo nga nagsugod sa outputx; gisundan sa output status: ON = signal sa output ug OFF = walay signal sa output Kung ang x hingpit nga wala iapil, ang Web Gibalik sa IO ang gamay nga pattern nga katumbas sa mga signal sa output sa hexadecimal notation.
?PW=password& [Mask=XXXX&] State=ON/OFF/YYYY& [NA=ON&] ON: Output = 1, OFF: Output = 0, TOGGLE: Pagbag-o sa estado XXXX: Hex value tali sa 0000 ug 0FFF sumala sa mga bits nga itakda YYYY: Hex value tali sa 0000 ug 0FFF sumala sa output bit pattern.
Itakda ang usa o daghang mga output nga x mahimong usa ka kantidad tali sa 0-11 ug spec-
nagtino sa output nga itakda. Ang feedback sa Web Ang IO usa ka string nga nagsugod sa ,,output;" gisundan sa gamay nga pattern nga katumbas sa mga signal sa output sa hexadecimal notation.
Ang detalye sa Mask kay opsyonal. Kung ang Mask dili ipadala, ang outputaccess command magamit sa tanan nga mga output. Uban sa NA=ON kini opsyonal nga makab-ot nga walay tubag sa outputaccess nga sugo gipadala sa Web IO.
?PW=password& [Set=value&] value: Counter preset, value tali sa 0 ug 2 billion
Nagtakda sa counter value sa usa ka counter. Kung ang Set parameter wala ipadala, ang default mao ang 0. x mahimong usa ka bili tali sa 0-11 ug nagtino sa input kansang counter kay i-reset. Ang tubag sa Web Ang IO usa ka string nga nagsugod sa counterx;. Ang bag-ong ihap sa gipili nga counter gidugang sa decimal notation. Kung ang x wala gitakda, ang tanan nga mga counter gitakda.
57
HTTP-Paghangyo
Kommandos
/ allout
/oras /settime /diagnosis
/diagnosisx
/diaglistx/diagclear/errorclear
Parameter
?PW=password&
?PW=password& ?PW=password& time=DD.MM.YYYY, hh:mm:ss& ?PW=password&
?PW=password&
?PW=password& ?PW=password& ?PW=password&
Beschreibung
Kolektibong hangyo sa input, output states ug tanang counter values. Ang Web Ang IO motubag gamit ang usa ka string sa mosunod nga istruktura: input;0xxx;output;0xxx;counter;n0;n1;n2,… 0xxx katumbas sa kahimtang sa mga input o output sa hexadecimal notation. n0,n1 ug uban pa naglangkob sa counter states sa decimal notation.
Ibalik ang oras sa sistema sa Web IO. Format: DD.MM.YYYY,hh:mm:ss D=Araw, M=Bulan, Y=Tuig, h=Oras, m=Minuto, s=Ikaduha
Nagtakda sa oras sa sistema sa Web IO sa kantidad nga gipasa sa oras.
Nangayo sa status sa diagnostic memory. Ang Web IO pagbalik: diagnosis;0000;00000000; 00000000;00000000 ang upat ka digit nga kantidad nagpakita sa gidaghanon sa gitipigan nga mga mensahe. Uban sa tulo ka walo ka digit nga hexadecimal values, ang matag set bit nagrepresentar sa usa sa 92 ka posibleng mensahe.
Uban sa x, ang indeks sa usa sa mga mensahe nga gitipigan karon gipiho. Ang Web Ang IO nagpadala sa katugbang nga mensahe nga text isip usa ka pagbalik. x kinahanglan dili mas dako pa kay sa gidaghanon sa kasamtangan nga mga mensahe.
Ibalik ang mga mensahe alang sa tagsa-tagsa nga mga tipik sa mensahe (max. 92)
Gilimpyohan ang memorya sa mensahe
Nagtangtang sa mga sayup sa pagkarga ug nagpagawas sa naapektuhan nga mga output.
58
HTTP-Paghangyo
Web-IO Analog Kommandos
/singlex
/outputx /outputaccessx
/oras /settime /diagnosis
/diagnosisx /diaglistx /diagclear
Parameter
keine
keine ?PW=password& Estado=N,NNN& N,NNN: Strom- bzw. Spannungswert der am entsprechenden output eingestellt werden soll
?PW=password&
?PW=password& time=DD.MM.YYYY, hh:mm:ss& ?PW=password&
?PW=password&
?PW=password& ?PW=password&
Beschreibung
Paghangyo alang sa kasamtangan nga kasamtangan o voltage values sa mA o V. x opsyonal nga nagpakita sa no. sa IO channel ug mahimong 1 o 2. Ang feedback sa Web-IO usa ka string nga nagpakita sa bili nga adunay tulo ka desimal nga mga dapit ug yunit [N]N.NNN mA o [N] N.NNN V Kon ang x hingpit nga laktawan, ang Web Gibalik sa IO ang mga kantidad sa duha ka channel nga gibulag sa mga semicolon.
naghatag sa parehas nga resulta sama sa GET / singlelex (bisan kung ang mga channel sa IO nagtrabaho isip input)
Ang pagbutang sa usa ka output x mahimong 1 o 2 ug nagpakita sa output nga itakda. Ang feedback sa Web Ang IO usa ka hilo sa pormat [N]N.NNN mA o [N] N.NNN V. ug nagpaila sa kasamtangang bili. Palihug timan-i nga ang Web Ang IO nanginahanglan pipila ka ms aron mabutang ang gusto nga kantidad. Busa, ang bili dili katumbas sa gitinguha nga bili.
Ibalik ang oras sa sistema sa Web IO. Format: DD.MM.YYYY,hh:mm:ss D=Araw, M=Bulan, Y=Tuig, h=Oras, m=Minuto, s=Ikaduha
Nagtakda sa oras sa sistema sa Web IO sa kantidad nga gipasa sa oras.
Nangayo sa status sa diagnostic memory. Ang Web IO pagbalik: diagnosis;0000;00000000; 00000000;00000000 ang upat ka digit nga kantidad nagpakita sa gidaghanon sa gitipigan nga mga mensahe. Uban sa tulo ka walo ka digit nga hexadecimal values, ang matag set bit nagrepresentar sa usa sa 92 ka posibleng mensahe.
Uban sa x, ang indeks sa usa sa mga mensahe nga gitipigan karon gipiho. Ang Web Ang IO nagpadala sa katugbang nga mensahe nga text isip usa ka pagbalik. x kinahanglan dili mas dako pa kay sa gidaghanon sa kasamtangan nga mga mensahe.
Ibalik ang mga mensahe alang sa tagsa-tagsa nga mga tipik sa mensahe (max. 92)
Gilimpyohan ang memorya sa mensahe
59
HTTP-Paghangyo
Web-IO Klima (Web-Thermometer, …) ug VOC
Kommandos
Parameter
Beschreibung
/singlex
keine
Ang hangyo alang sa kasamtangan nga datos sa klima x opsyonal nga nagpakita sa no. sa sensor. Ang feedback sa Web-thermometer kay usa ka string nga nagpakita sa bili nga adunay usa ka decimal nga digit ug unit
24,0°C Kung ang x hingpit nga laktawan, ang Web Gibalik sa IO ang mga kantidad sa duha ka channel nga gibulag sa mga semicolon.
/panahon
?PW=password&
Ibalik ang oras sa sistema sa Web IO. Format: DD.MM.YYYY,hh:mm:ss D=Araw, M=Bulan, Y=Tuig, h=Oras, m=Minuto, s=Ikaduha
/settime
?PW=password& time=DD.MM.YYYY,
hh:mm:ss&
Nagtakda sa oras sa sistema sa Web IO sa kantidad nga gipasa sa oras.
/diagnosis
?PW=password&
Nangayo sa status sa diagnostic memory. Ang Web IO mibalik:
diagnosis;0000;00000000; 00000000;00000000 ang upat ka digit nga kantidad nagpakita sa gidaghanon sa gitipigan nga mga mensahe. Uban sa tulo ka walo ka digit nga hexadecimal values, ang matag set bit nagrepresentar sa usa sa 92 ka posibleng mensahe.
/diagnosisx
?PW=password&
Uban sa x, ang indeks alang sa usa sa karon
gipiho ang gitipigan nga mga mensahe. Ang Web Ang IO nagpadala sa katugbang nga mensahe nga text isip usa ka pagbalik. x kinahanglan dili mas dako pa kay sa gidaghanon sa kasamtangan nga mga mensahe.
/diaglistx
?PW=password&
Ibalik ang mga mensahe alang sa tagsa-tagsa nga mga tipik sa mensahe (max. 92)
/diagclear
?PW=password&
Gilimpyohan ang memorya sa mensahe
60
HTTP-Paghangyo
Usa ka example alang sa paggamit sa mga hangyo sa HTTP
Ang mosunod nga exampGipakita sa le kung giunsa nimo paghimo ang usa ka makapalagsik sa kaugalingon Web panid para sa Web-IO gamit ang JavaScript ug
HTML – istruktura sa usa ka static web panid
Mga hangyo sa HTTP (AJAX). Una ang puro nga HTML nga seksyon sa Web panid, nga nagsilbi sa esensya ingon usa ka pundasyon sa pagpakita alang sa AJAX:
Web-IO Digital, Gumagamit
* { font-family:arial; } lamesa { font-size:14px; } .borderLeft { border-left:1px solid #000000; } .button { gidak-on sa font:9px; gilapdon:40px; } .ce {text-align:center; } .paghulagway { font-size:18px; text-align:center; } .info { gidak-on sa font:10px; text-align:center; } .italic { font-style:italic; } .ngalan { font-size:20px; font-weight: bold; text-align:center } .sideSpace { padding-left:5px; padding-sa tuo: 5px; } .lamesa { background-color:#d6e8ff; border-collapse:collapse;
utlanan:1px solid #000000; } .whiteBack {kolor sa background:#ffffff; }
kini sa tinuod mao ang JavaScript nga seksyon sa panid, nga gihulagway sa mas detalyado sa ubos.
tags=pangalan_device>tags=device_text>
password:
Mga input
61
HTTP-Paghangyo
Estado Kontra Klaro Mga output Estado Pagbalhintags=input0> - -
tags=output0> -
tags=input1> - -
tags=outpu1> -
Ania kung giunsa kini tan-awon sa browser:
62
HTTP-Paghangyo
JavaScript ug AJAX - Usba ang sulud sa dinamikong paagi
Ang mga gimbuhaton nga gipakita sa ubos gibase sa duha ka batakang teknik:
· Pag-ila ug pag-usab sa ulahi sa usa ka HTML nga butang gamit ang usa ka talagsaon nga ID · Komunikasyon sa server (Web-IO) human makarga ang Web panid gamit
Mga hangyo sa HTTP
Ang JavaScript nga kabahin sa Web Ang panid naggamit niining mga teknik.
Ang una nga maxi ug maxo gigamit aron mahibal-an kung pila ang mga input ug output nga suportahan. Ang usa ka variable nga lakang sa aplikasyon gihubit alang sa lainlaing mga lakang sa programa. Ang 500ms gipiho isip agwat sa hangyo, ug usa ka variable ang gisulod alang sa password.
var maxi = 2; var maxo = 2; var applicationstep = 0; var interval = 500; var iopassword = ,`;
Ang HextoInt function nagkalkula sa hexadecimal strings ngadto sa decimal values.
function HexToInt(HexStr) { var TempVal;
var HexVal=0; kay(var i=0; i 57)
{TempVal = HexStr.charCodeAt(i) – 55; } lain pa {TempVal = HexStr.charCodeAt(i) – 48; } HexVal=HexVal+TempVal*Math.pow(16, HexStr.length-i-1); } ibalik ang HexVal; }
Ang function CommandLoop naghiusa sa mga hangyo sa HTTP ug gipadala kini sa DataRequest function.
function CommandLoop() {var commandstring =”;
lakang sa aplikasyon++; switch(applicationstep) {kaso 1:
commandstring = `input?PW=' + iopassword + `&'; guba; kaso 2:
commandstring = `output?PW=' + iopassword + `&';
63
HTTP-Paghangyo
guba; kaso 3:
commandstring = `counter?PW=' + iopassword + `&'; lakang sa aplikasyon = 0; guba; } DataRequest(commandstring); maintimer = setTimeout("CommandLoop()", interval); }
Ang DataRequest function mao ang kasingkasing niini nga JavaScript. Gidawat niini ang hangyo sa HTTP ug gipadala kini sa server (Web-IO). Ang DataRequest function nakadawat usab sa tubag gikan sa Web-IO ug ipadala kini sa function sa updateDisplay.
function DataRequest(SendString)
{var xmlHttp;
kon(wind.ActiveXObject )
// Internet Explorer
{ xmlHttp = bag-ong ActiveXObject( Microsoft.XMLHTTP” );
}
else if(window.XMLHttpRequest ) // Mozilla, Opera ug Safari
{xmlHttp = bag-ong XMLHttpRequest();
}
kung (xmlHttp)
{xmlHttp.onreadystatechange = function()
{kon (xmlHttp.readyState == 4)
{kon (xmlHttp.status == 200)
{ kon (xmlHttp.responseText.length > 0)
{ updateDisplay(xmlHttp.responseText);
}
xmlHttp=null;
}
}
}
xmlHttp.open("GET", SendString, tinuod);
xmlHttp.setRequestHeader("Koneksyon", "close");
xmlHttp.setRequestHeader("Kon-Modified-Sukad", "Huwebes, 1 Ene 1970
00:00:00 GMT”);
xmlHttp.send(null);
}
}
Ang updateDisplay function nagtimbang-timbang sa tubag gikan sa Web-IO ug katugbang nga pag-adjust sa display sa browser. Ang usa ka pagsusi gihimo kung ang Web-IO nga tubag nagtumong sa mga input, output o counter. Gigamit sa JavaScript ang document.getElementById(ID) aron mahibal-an ang mga butang alang sa pagbag-o ug pag-adjust sa ilang mga kabtangan sa aktuwal nga kahimtang sa IO
function updateDisplay(ReceiveStr) {var HexVal;
estado sa var; var ReceiveData = ReceiveStr.split(`;') // Ipakita ang Intput state kon (ReceiveData[ReceiveData.length – 2].substring(0, 1) == `i') {HexVal = HexToInt(ReceiveData[ReceiveData.length – 1]);
64
HTTP-Paghangyo
kay (var i = 0; i < 2; i++)
{estado = bakak;
kon ((HexVal & Math.pow(2, i)) == Math.pow(2, i))
{estado = tinuod;
}
document.getElementById(`input'+i).firstChild.data =( !estado ) ?
`OFF':'ON';
document.getElementById(`input'+i).style.color
= ( !estado ) ? `#000000′ : `#006600′;
document.getElementById(`input'+i).style.fontWeight
= ( !estado ) ? `normal' : `maisog';
}
}
// Ipakita ang kahimtang sa Output
kon (ReceiveData[ReceiveData.length – 2].substring(0, 1) == `o')
{ HexVal = HexToInt(ReceiveData[ReceiveData.length – 1]);
kay (var i = 0; i < 2; i++)
{estado = bakak;
kon ((HexVal & Math.pow(2, i)) == Math.pow(2, i))
{estado = tinuod;
}
document.getElementById(`output'+i).firstChild.data = ( !estado ) ?
`OFF' : `ON';
document.getElementById(`output'+i).style.color
= ( !estado ) ? `#000000′ : `#006600′;
document.getElementById(`output'+i).style.fontWeight
= ( !estado ) ? `normal' : `maisog';
}
}
//Display Counter
kung (ReceiveData.length – maxi – 1 >= 0)
{ kon (ReceiveData[ReceiveData.length – maxi – 1].substring(0, 1) == `c')
{ kay (var i = 0; i <maxi; i++)
{ document.getElementById(`counter' + i).innerHTML
= ReceiveData[ReceiveData.length – maxi + i]
}
}
}
//Display ang gitangtang nga Counter
kon (ReceiveData[ReceiveData.length – 2].substring(0, 1) == `c')
{ document.getElementById(`counter'
+ ReceiveData[ReceiveData.length – 2].substring(7,
ReceiveData[ReceiveData.length –
2].gitas-on)).innerHTML =
ReceiveData[ReceiveData.length – 1];
}
}
Ang setOutput function nagpadala sa katugbang nga sugo alang sa toggling sa pinili nga output ngadto sa DataRequest function.
function setOutput(iNr) { var commandstring = `outputaccess'+iNr+'?PW='+iopassword+'&State=TOGGLE&';
DataRequest(commandstring); }
Ang clearCounter function nagpadala sa katugbang nga sugo alang sa paghawan sa
65
HTTP-Paghangyo
counter state sa pinili nga counter sa DataRequest function.
function clearCounter(iNr) { DataRequest(`counterclear'+iNr+'?PW='+iopassword+'&'); }
Gikuha sa setPassword ang gisulod nga password ug gisulat kini sa variable sa iopassword, nga usa ka bahin sa command string.
function setPassword() {iopassword = document.getElementById(`pw').value;
document.getElementById(`pw').value = `'; }
Ang teknik sa AJAX nga gipakita dinhi, nga gibase sa mga hangyo sa HTTP, magamit lamang kung ang web Ang panid magamit ra kung ang web Ang panid gikarga direkta gikan sa Web IO. Alang sa mga hinungdan sa seguridad, ang labing kasagaran nga mga browser nagpugong sa mga hangyo sa HTTP nga gipadala pagkahuman gikan sa ubang mga server kaysa sa usa nga gigikanan sa orihinal. web gikarga ang panid gikarga. Kini nga teknik gitawag nga Same Origin Policy (SOP).
Usa ka mahukmanon nga disadvantage sa niini nga SOP pagdili mao nga ang normal nga AJAX teknolohiya dili motugot sa usa ka komon web panid aron ipakita, pananglitanample, ang estado sa duha ka managlahi web IOs.
CORS – Cross Origin Resource Sharing
Aron malikayan ang SOP restriction, gigamit ang cross-origin resource sharing. pagpaambit. Aron makahimo sa paggamit niini nga teknik sa Web Ang IO, Cross Origin kinahanglang ma-activate ubos sa Communication Routes >> Web API sa Advanced Settings nga dapit, Cross Origin kinahanglan nga activate.
Ang URL sa server diin ang orihinal web Ang panid nga gikarga kinahanglang isulod isip ang URL sa nangayo, diin gikan ang orihinal web gikarga ang panid.
Kung ang web Ang panid direkta nga gikarga gikan sa hard disk sa lokal nga PC, ,,*” kinahanglan isulod ingon nga URL sa nangayo. ,,*” susama sa tanan URLs gitugotan.
66
HTTP-Paghangyo
Sa bahin sa JavaScript, ang DataRequest function sa partikular kinahanglan nga gambalay sa lain-laing mga.
function DataRequest(device, SendString) {var cor;
kon(window.XDomainRequest) {cor = bag-ong XDomainRequest(); } lain {cor = bag-ong XMLHttpRequest(); } kon (cor) {cor.onreadystatechange = function()
{kon(cor.readyState == 4) {updateDisplay(cor.responseText); }
} cor.open(`GET', `http://'+device+'/'+SendString); cor.send(); } lain { alert(`Ang imong Browser wala mosuporta sa Cross Origin Request'); }}
Sukwahi sa orihinal nga function, ang gipalapdan nga pamaagi sa paghangyo XDomainRe-
67
HTTP-Paghangyo
quest() o XMLHttpRequest() gigamit. Sa pagporma sa hangyo, ang kompleto URL lakip ang IP address o ang host name kinahanglang ipasa (variable device).var device = `10.40.22.242′;
Ang mga gimbuhaton nga nagtawag sa DataRequest kinahanglan nga ipasibo sumala niana.
function CommandLoop() {var commandstring =”;
lakang sa aplikasyon++; switch(applicationstep) {kaso 1:
commandstring = `input?PW=' + iopassword + `&'; guba; kaso 2:
commandstring = `output?PW=' + iopassword + `&'; guba; kaso 3:
commandstring = `counter?PW=' + iopassword + `&'; lakang sa aplikasyon = 0; guba; } DataRequest(device, commandstring); maintimer = setTimeout("CommandLoop()", interval); }
function setOutput(iNr) { var commandstring=outputaccess'+iNr+'?PW='+iopassword+'&State=TOGGLE&';
DataRequest(device, commandstring); }
function clearCounter(iNr) { DataRequest(device, `counterclear'+iNr+'?PW='+iopassword+'&');
Paggamit sa W&T Tags
Sama sa gihulagway sa seksyon ,,5.1.4 Pag-label ug mga teksto” ang Web-IO mismo mahimong gamiton sa gawasnong pagngalan ug pag-label sa mga input, output ug counter.
Ang katugbang nga pagpakita sa browser mahimo pinaagi sa paggamit sa W&T tags. W&T tags mao ang mga placeholder nga gipulihan sa Web-IO kung ipadala ang Web panid sa browser gamit ang gitipigan nga mga ngalan. Kini naghimo niini nga posible alang sa usa ug sa mao gihapon nga Web panid aron adunay lahi nga hitsura sa lainlain Web- mga IO.
Kini tags naglangkob satags= ug ang aktuwal nga function invocation.
tags=oras>
kay exampGipakita sa le ang karon nga oras sa sistema ug ang petsa sa browser.
68
HTTP-Paghangyo
Adunay usa ka espesyal nga bahin sa W&T tags nga nagpakita sa status sa mga output ug sa counter states sa input counters.
tags=ox> ugtags=cx>
Kung adunay usa ka administrator o operator login ang gipakita nga mga sulod (ON/OFF o counter state) adunay hyperlink. Ang pag-klik niini nga link nagbag-o sa kahimtang sa mga output o nagtakda sa counter sa 0.
Aron ang nabag-o nga kahimtang ipakita dayon, ang browser awtomatikong i-reload ang Web panid.
Ang mosunod nga W&T tags anaa:
W&T-Tag tags=pangalan_ device>tags=device_ text>tags=lokasyon>
tags= kontak>
tags= inputx>
Beschreibung/Funktion Isal-ot ang ngalan nga gihatag para sa Web-IO sa web site.
Gisukip ang deskripsyon nga gihubit alang sa Web-IO sa web site. Gisal-ot ang lokasyon nga gi-assign para sa Web-IO sa web site. Gisal-ot ang kontak nga gi-assign para sa Web-IO sa web site.
Isal-ot ang ngalan nga gipiho para sa input no. x.
tags=ix>tags=cx>tags= outputx>
Ang x mahimong usa ka numero tali sa 0-11 ug nagpaila kung unsang input ang gipasabut sa invoke. Kini magamit usab sa output ug counter invokes nga gihulagway sa ubos.
Nagpakita sa estado (ON/OFF) sa input nga katumbas sa x.
Fügt den Zählerstand des Counter für Input x sa die Webseite ein.
Gisal-ot ang ngalan nga gitakda alang sa Output x
69
HTTP-Paghangyo
W&T-Tag tags=baka>
tags=oras>
Beschreibung/Funktion
Nagpakita sa estado (ON/OFF) sa output nga katumbas sa x. Kung nag-log in gamit ang mga katungod sa Operator o Administrator, ang indikasyon sa estado gihatagan usa ka hyperlink. Ang pag-klik niini nga link nagbag-o sa kahimtang sa katumbas nga output ug nag-refresh sa web site
Gisal-ot ang oras sa sistema ug datos sa Web-IO sa Web site.
Mga hangyo sa HTTP sa gawas sa browser
Ang mga hangyo sa HTTP nga gipakita dinhi mahimo usab nga magamit sa uban web mga teknik sama sa PHP.
Ang web Ang mga IO mahimo usab nga kontrolon pinaagi sa mga hangyo sa HTTP gamit ang mga himan sama sa cURL.
Sa pagtawag cURL, ang URL kinahanglan nga ibutang sa balit-ad nga mga koma kung ipasa ang mga parameter:
Example:
curl “http://10.40.22.242/outputaccess1?PW=&State=TOGGLE&”
Usa ka kombinasyon sa cURL ug PHP mahimo usab:
<?php
$URL = 'http://10.40.22.242/outputaccess1?PW=&State=TOGGLE&';
$ch = curl_init();
$opsyon = laray(
CURLOPT_URL
=> $URL,
CURLOPT_RETURNTRANSFER => tinuod,
CURLOPT_HEADER
=> bakak,
CURLOPT_ENCODING
=> "",
CURLOPT_USERAGENT
=> “webio",
CURLOPT_CONNECTTIMEOUT => 20,
CURLOPT_TIMEOUT
=> 20,
CURLOPT_MAXREDIRS
=> 1,
CURLOPT_SSL_VERIFYHOST => bakak,
CURLOPT_SSL_VERIFYPEER => bakak);
curl_setopt_array( $ch, $options );
$data = curl_exec($ch);
kung ($data == bakak)
{ mamatay('ERROR '.$URL); }
lain
{ $http_status = curl_getinfo ($ch, CURLINFO_HTTP_CODE);
kung ($http_status==200)
70
{echo $data; } lain { mamatay('Wala makit-an '.$URL); } } curl_close($ch);
?>
HTTP-Paghangyo
71
REST – Pagbalhin sa Representasyon sa Estado
REST – Pagbalhin sa Representasyon sa Estado
Uban sa REST (Representational State Transfer), ang Web Ang mga IO naghatag ug lain webbase sa komunikasyon channel.
Ang komunikasyon mahitabo pinaagi sa Web IO piho nga mga hangyo sa HTTP pinaagi sa HTTP o HTTPS port nga gisulod ubos sa Basic Settings >> Network >> Access for Web Mga serbisyo.
Aron makahimo sa pagbaylo sa REST data, ang access kinahanglan una nga ma-activate pinaagi sa Communication Paths >> Rest.
Kung ang pag-access sa REST mapanalipdan batok sa dili awtorisado nga pag-access, adunay ka kapilian nga i-aktibo ang pag-authenticate sa digest. Ang mga hangyo kinahanglang himoon isip user "admin" uban sa administrator password o isip user "operator" uban sa user password.
Alang sa Web-IO Digital ug Analogue nga mga yunit, mahimo usab nga matino kung ang mga output mahimong mabag-o pinaagi sa REST.
Para sa read access, ang REST naggamit sa HTTP command GET.
Ang Web Gisuportahan sa IO ang tulo ka mga format alang sa mga tubag sa mga hangyo sa REST:
· JSON · XML · Teksto
JSON
Pag-access sa pagbasa
Para sa read access REST naggamit sa HTTP command GET.
Ang Web-IO nagsuporta sa tulo ka mga format alang sa mga tubag sa REST hangyo:
Ang pormat nga gigamit alang sa mga tubag mahimong matino gamit ang hangyo. Paggamit
http://<ip-adresse>/rest/json
72
REST – Pagbalhin sa Representasyon sa Estado
kay example abli sa tibuok proseso larawan sa Web-IO sa JSON format. Ang pag-
ply unya tan-awon sama sa mosunod:
{ “info” : { “hangyo” : ” / rest / json”, “oras” : “2016 – 09 – 09, 09 : 42 : 54”, “ip” : “10.40.22.227”, “ngalan sa device” : “WEBIO – CAFE27” }, “iostate” : { “input” : [ { “number” : 0, “state” : 0 }, { “number” : 1, “state” : 0 } ], “output” : [ { “number” : 0, “state” : 0 }, { “number” : 1, “state” : 0 } ], “counter” : [ { “number” : 0, “state” : 0 }, { “ numero” : 1, “estado” : 0 } ] }, “sistema” : { “oras” : { “oras” : “2016 – 09 – 09, 09: 42: 54” }, “diagnosis” : [ { “ oras” : “06.09.2016 09 : 42 : 54”, “msg” : “Gerätestatus : OK” } ], “diagarchive” : [
73
REST – Pagbalhin sa Representasyon sa Estado
{ “oras” : “06.09.2016 09 : 42 : 54”, “msg” : “Gerätestatus : OK”
} ] } }
Uban sa Web-IO Analogue, ang tubag ma-istruktura sama sa mosunod:
{ “info”: { “hangyo”: “/rest/json”, “oras”: “2020-01-27,10:37:23”, “ip”: “10.40.22.13”, “ngalan sa device”: “WEBIO-0873E3” }, “iostate”: { “output”: [{ “name”: “kanal 1”, “number”: 0, “unit”: “mA”, “value”: 3.8 }, { “name ”: “Kanal 2”, “numero”: 1, “unit”: “mA”, “bili”: 16.8 }] }, “sistema”: { “oras”: “2020-01-27,10:37: 23”, “diagnosis”: [{ “oras”: “27.01.2020 10:37:23”, “msg”: “Gerätestatus: OK” }], “diagarchive”: [{ “oras”: “27.01.2020 10:37:23”, “msg”: “Gerätestatus: OK” }] }
}
Sa pagpangutana lamang sa indibidwal nga mga lugar o mga punto, ang pangutana mahimong maporma sa mas detalyado. Dinhi, alang sa example, ang pangutana sa mga input sa a Web-IO Digital:
http://<ip-adresse>/rest/json/iostate/input
Kini maoy hinungdan sa Web IO aron ibalik ang kahimtang sa tanan nga mga input:
{ “iostate” : { “input” : [ { “number” : 0,
74
REST – Pagbalhin sa Representasyon sa Estado
"estado": 0 }, {
“numero” : 1, “estado” : 0 } ] } }
Uban sa
http://<ip-adresse>/rest/json/iostate/input/0
ang kahimtang sa input 0 mahimong piho nga pangutana.
{ “iostate” : { “input” : [ { “number” : 0, “state” : 0 } ] }
}
Pag-ilis sa access
Alang sa mga pag-access nga nagbag-o sa kahimtang sa pagbalhin sa mga output o pagtangtang sa mga counter, gigamit ang POST.
Kay example, aron i-set ang Output 1 ngadto sa ON, usa ka POST ang ipadala sa mosunod URL:
http://<ip-adresse>/rest/json/iostate/output/1
Ang mosunud nga mga parameter gipasa sa payload:
Set=ON
Ang Web Ang IO mitubag sa
{ “iostate” : { “output” : [ { “number” : 1, 75
REST – Pagbalhin sa Representasyon sa Estado
"estado": 1 } ] } }
Ang Web Ang IO mitubag sa
Ang output mahimong i-off pinaagi sa parehas URL uban ang parameter Set=OFF. Ang pagtangtang, pananglitan sa Counter1, gihimo pinaagi sa POST sa mosunod URL:
http://<ip-adresse>/rest/json/iostate/counterclear/1
Ang Web Ang IO mitubag sa
{ “iostate” : { “counter” : [ { “number” : 1, “state” : 0 } ] }
}
Aron makuha ang mga tubag sa usa sa ubang mga format, ilisan lang ang keyword nga json sa xml o teksto.
76
REST – Pagbalhin sa Representasyon sa Estado
XML
Pag-access sa pagbasa
Uban sa
http://<ip-adresse>/rest/xml
ang tibuok proseso nga hulagway sa Web Ang IO mahimong makuha sa XML format. Ang tubag unya ingon niini:
<webio>
/pahulay/xml 2017-04-04,13:32:39 10.40.22.236WEBIO-CAFE36
0 1
1 0 0 0 1 0 0 13136 1 2127 2017-04-04,13:32:39 18.04.2017 13:32:39 Gerätestatus: OK 18.04.2017 13:32:39 Gerätestatus: OK
77
REST – Pagbalhin sa Representasyon sa Estado
</webio>
Sa pagpangutana lamang sa indibidwal nga mga lugar o mga punto, ang hangyo mahimong maporma sa mas detalyado:
http://<ip-adresse>/rest/xml/iostate/input
Kini maoy hinungdan sa Web IO aron ibalik ang kahimtang sa tanan nga mga input:
<webio>
0 1 1 0
</webio>
Pag-ilis sa access
Ang POST gigamit alang sa mga pag-access nga nagbag-o sa kahimtang sa pagbalhin sa mga output o pagtangtang sa mga counter.
Kay example, aron ibutang ang output 1 ngadto sa ON, usa ka POST ang ipadala sa mosunod URL:
http://<ip-adresse>/rest/xml/iostate/output/1
Ang mosunod nga mga parameter gibalhin isip payload:
Set=ON
Ang Web Ang IO mitubag sa
<webio>
1 1
</webio>
78
REST – Pagbalhin sa Representasyon sa Estado
Ang output mahimong i-off pinaagi sa parehas URL uban ang parameter Set=OFF.
Ang pagtangtang, pananglitan sa Counter1, gihimo pinaagi sa POST sa mosunod URL:
http://<ip-adresse>/rest/xml/iostate/counterclear/1
Ang Web Ang IO mitubag sa
<webio>
1 0
</webio>
Text
Pag-access sa pagbasa
Mit
http://<ip-adresse>/rest/text
ang tibuok proseso nga hulagway sa Web Ang IO mahimong makuha sa Text format. Ang tubag unya ingon niini:
"info":"hangyo":"/rest/text";
“time”:”2017-04-04,13:43:01″;
“ip”:”10.40.22.236″; "ngalan sa aparato":"WEBIO-CAFE36″;”iostate”: : “numero”:0;
"estado":0; : “numero”:0; "estado":0; “numero”:1; "estado":0; : “numero”:0;
“estado”:13612; “numero”:1; “estado”:2604; "sistema": "oras":"2017-04-
04,13:43:01″; : “oras”:”18.04.2017 13:43:01″; “msg”:”Gerätestatus: OK”; :
“oras”:”18.04.2017 13:43:01″; “msg”:”Gerätestatus: OK”;
Sa pagpangutana lamang sa indibidwal nga mga lugar o mga punto, ang hangyo mahimong maporma sa mas detalyado:
http://<ip-adresse>/rest/text/iostate/input
Kini maoy hinungdan sa Web IO aron ibalik ang kahimtang sa tanan nga mga input:
"iostate":: "numero": 0; "estado":0; “numero”:1; "estado":0;
79
Modbus TCP
Modbus TCP - standardized nga pag-access
Ang Modbus TCP usa ka software interface alang sa address-based nga access sa pagproseso sa datos. Ang W&T Web-IOs sa diha nga tukma nga configured molihok ingon nga Modbus server nga mahimong kontrolado sa Modbus controllers (kliyente o agalon).
Programmierer, die den Modbus-Zugang in eigenen Applikationen nutzen möchten, finden hier eine detaillierte Beschreibung zu den vom Web-IO unterstützten Register ug Funktionscodes.
Gamit ang Modbus TCP access mahimo nimong mabasa ang kahimtang sa mga output, input ug counter. Posible usab ang estado ug sistema sa pagboto. Dugang pa nga ang mga output mahimong ibalhin pinaagi sa Modbus TCP ug ang mga counter cleared.
Ang Web-IO naghatag og 64 16-bit nga mga rehistro nga libre nga isulat ug nga ma-access gikan sa browser.
Unter Kommunikationswege >> Modbus-TCP kann der Modbus-Zugang des WebIO aktiviert werden. Von Hause aus ist der lokale TCP-Port, wie für Modbus-TCP üblich auf 502 voreingestellt.
Ang mga output mamatay über Modbus-TCP gesteuert werden sollen, können über Outputs für Modbus/TCP freigeben aktiviert werden.
Modbus TCP komunikasyon
Ang Modbus TCP usa ka pamaagi sa agalon/ulipon diin ang usa ka agalon sa Modbus nagpadala usa ka hangyo sa ulipon (Web-IO) ug ang ulipon (Web-IO) mga tubag nga adunay tubag.
Pagbayloay sa datos tali sa kliyente sa Modbus ug sa Web-IO mahitabo gamit ang Modbus TCP packets.
Ang Web-IO adunay usa ka panumduman diin ang Modbus master makabasa o diin kini makasulat. Kini nga memorya gibahin ngadto sa mga dapit nga nagrepresentar sa pipila ka mga kinaiya sa Web-IO.
Adunay mga lugar alang sa kahimtang sa mga input, output ug mga counter. Ang ubang mga lugar nagpaila sa kahimtang sa sistema o may kalabotan sa mga alarma.
80
Modbus TCP
Usa ka espesyal nga bahin sa Web-IO mao ang usa ka memorya nga dapit nga sa usa ka bahin mahimong gawasnon nga basahon o isulat pinaagi sa Modbus access ug sa laing bahin mahimong tawagan pinaagi sa Web interface. Uban sa angay Web pagprograma sa panid ang usa ka sistema sa Modbus mahimong magamit alang sa paghanduraw sa datos sa proseso sa browser.
Laing espesyal nga function sa Web-IO mao nga ang usa ka alarma mahimong ma-trigger pinaagi sa pagsulat sa usa ka partikular nga lugar sa memorya.
Ang usa ka lista nga adunay eksaktong organisasyon sa memorya mosunod sa ulahi niini nga seksyon.
Ang Modbus data packets kanunay naglangkob sa usa ka header, ang function code, ang start address ug uban pang mga parameter ug mga rehistro.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX taas nga byte
1. byte
ubos nga byte 2. byte
16 gamay nga kantidad / Pulong
XX
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 taas nga byte
3. byte
00 ubos nga byte 4. byte
16 gamay nga kantidad / Pulong
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 taas nga byte
5. byte
ubos nga byte 6. byte
16 gamay nga kantidad / Pulong
XX
76543210
7. byte
01
8 bit / 1 byte
76543210
XX 8. byte
8 bit / 1 byte
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX taas nga byte
9. byte
XX ubos nga byte
10. byte
16 gamay nga kantidad / Pulong
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX taas nga byte
11. byte
XX ubos nga byte
12. byte
16 gamay nga kantidad / Pulong
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX taas nga byte
n. byte
XX ubos nga byte
n+1. byte
16 gamay nga kantidad / Pulong
Transaction ID Protocol ID Length Unit ID Function Code Start Address
Ang 16 bit gidugangan sa 1 kada hangyo sa 16 bit kanunay = 0x0000 16 bit Gidaghanon sa mga byte nga nagsunod niini nga field 8 bit kanunay = 0x0001 8 bit Gitino ang katuyoan sa hangyo 16 bit Address sa mga rehistro nga basahon/isulat
Dugang nga mga Parameter o pagrehistro
8 bit, 16 bit, 32 bit
Transaction Identifier Gigamit sa pagklasipikar sa tubag gikan sa Web-IO sa hangyo sa kliyente. Ang kliyente kasagarang magdugang sa ID sa 1 sa matag pagpadala sa datos. Ang Web-IO kanunay nagbalik sa nadawat nga kantidad 1:1.
Ang Protocol Identifier Walay kahulogan alang sa komunikasyon sa Web-IO ug kanunay 0x0000
81
Modbus TCP
Gitas-on Gidaghanon sa mga byte nga gipadala pinaagi sa Gitas-on (tibuok nga gidaghanon sa mga byte nga gipadala – 6).
Unit identifier Kanunay 0x01 alang sa Modbus TCP
Function Code Ang Function Code nagtino kung giunsa ang panumduman sa Modbus sa Web-IO na-access:
. Sa gamay . Pinaagi sa rehistro (16-bits)
ug unsa ang katuyoan sa hangyo:
. 0x01 Read Coils - basaha ang indibidwal nga mga piraso. 0x02 Read Discrete Inputs – basaha ang tagsa-tagsa nga mga tipik. 0x03 Basaha ang Holding Registers- basaha ang daghang mga rehistro. 0x04 Basaha ang Input Register - basaha ang daghang mga rehistro sa input. . 0x05 Pagsulat og Single Coil – pagsulat og gamay . 0x06 Pagsulat og Usa ka Rehistro – pagsulat lamang og usa ka rehistro. 0x07 Basaha ang Exception State - basaha ang kahimtang sa sayup. 0x0F Pagsulat Daghang Coils - pagsulat daghang mga piraso. 0x10 Pagsulat Daghang Rehistro - pagsulat daghang mga rehistro
Ang Start Address Ang Start Address nagtino kung asa nga lugar sa Modbus memory sa Web-IO ma-access. Gitino usab niini kung unsang mga kinaiya ang ma-access (mga input, output, counter, alarm, ...).
Ang usa ka lista nga adunay eksaktong organisasyon sa memorya makita sa ulahi niini nga seksyon.
1Pareho ang Function Code ug Start Address nagtino kung unsa ang ipadala nga hangyo aron ma-trigger ang Web-IO.
Ubang mga parametro ug mga rehistro Depende kung asa nga Function Code gigamit ang ubang mga parameter ug mga rehistro mahimong mosunod.
82
Modbus TCP
Function Code 0x01 Read Coils
Ang Function Code 0x01 gituyo alang sa binary nga pagbasa sa kahimtang sa Web- Mga output sa IO.
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX taas nga byte
1. byte
XX ubos nga byte 2. byte
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 taas nga byte
3. byte
00 ubos nga byte 4. byte
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 taas nga byte
5. byte
06 ubos nga byte 6. byte
16 bit nga kantidad
76543210
7. byte
01
8 bit / 1 byte
76543210
8. byte
01
8 bit / 1 byte
15 14 13 12 11 10 9 8 7 6 5 4 3 2
10 taas nga byte
9. byte
20 ubos nga byte
10. byte
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX taas nga byte
11. byte 16 gamay nga bili
XX ubos nga byte
12. byte
Transaction ID
Protocol ID
Gitas-on
Unit ID
Function Code
8 bit 0x01 Basaha ang Coil
Pagsugod sa Address 16 bit Address sa mga rehistro nga basahon
Gidaghanon sa mga Output
16 bit Gidaghanon sa mga input nga basahon
Pagsugod sa Address Nagtino nga magsugod kung asa nga mga address bit (mga output) kinahanglan basahon.
Gidaghanon sa mga Output Dinhi ang gidaghanon sa mga bits (outputs) nga pagabasahon gipasa.
Pinaagi sa pagpadala ug data packet nga adunay FC 0x01 usa o daghan pang Boolean values (output states, ie 0/1 o ON/OFF) mahimong hangyoon.
Ang Web-IO tubag ingon sa mosunod:
83
Modbus TCP
15 14 13 12 11 10 9 8 7 6 5 4 3 2
XX taas nga byte
1. byte
XX ubos nga byte 2. byte
16 bit nga kantidad
15 14 13 12 11 10 9 8 7 6 5 4 3 2
00 h
Mga Dokumento / Mga Kapanguhaan
![]() |
W ug T 48V Web-IO Digital 4.0 [pdf] Mga instruksiyon 48V Web-IO Digital 4.0, 48V, Web-IO Digital 4.0, Digital 4.0, 4.0 |




