<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Protokół Modbus w modułach pomiarowych ADAM</title>
<meta name="keywords" content="Moduły pomiarowe kontrolno-pomiarowe moduł pomiarowy kontrolno-pomiarowy ADAM USB I/O Advantech">
<meta name="description" content="Moduły pomiarowe kontrolno-pomiarowe moduł pomiarowy kontrolno-pomiarowy ADAM USB I/O Advantech">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
<meta name="author" content="Jacek Bonecki - Elmark Automatyka Sp. z o.o. - http://www.elmark.com.pl">
<meta name="verify-v1" content="dFPC/7SMwqEjaoI9PbBxgMy61Tm7deLBY7wDvMEdY3E=">
<style type="text/css">
<!--
a:HOVER{TEXT-DECORATION:UNDERLINE;}
a {TEXT-DECORATION:none}
.vlrbt {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-BOTTOM-WIDTH:1px;BORDER-BOTTOM-STYLE:solid;BORDER-BOTTOM-COLOR:#C0C0C0;BORDER-RIGHT-WIDTH:1px;BORDER-RIGHT-STYLE:solid;BORDER-RIGHT-COLOR:#C0C0C0;BORDER-LEFT-WIDTH:1px;BORDER-LEFT-STYLE:solid;BORDER-LEFT-COLOR:#C0C0C0;BORDER-TOP-WIDTH:1px;BORDER-TOP-STYLE:solid;BORDER-TOP-COLOR:#C0C0C0;}
.vrbt {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-BOTTOM-WIDTH:1px;BORDER-BOTTOM-STYLE:solid;BORDER-BOTTOM-COLOR:#C0C0C0;BORDER-RIGHT-WIDTH:1px;BORDER-RIGHT-STYLE:solid;BORDER-RIGHT-COLOR:#C0C0C0;BORDER-TOP-WIDTH:1px;BORDER-TOP-STYLE:solid;BORDER-TOP-COLOR:#C0C0C0;}
.vlbt {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-BOTTOM-WIDTH:1px;BORDER-BOTTOM-STYLE:solid;BORDER-BOTTOM-COLOR:#C0C0C0;BORDER-LEFT-WIDTH:1px;BORDER-LEFT-STYLE:solid;BORDER-LEFT-COLOR:#C0C0C0;BORDER-TOP-WIDTH:1px;BORDER-TOP-STYLE:solid;BORDER-TOP-COLOR:#C0C0C0;}
.vlrt {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-TOP-WIDTH:1px;BORDER-TOP-STYLE:solid;BORDER-TOP-COLOR:#C0C0C0;BORDER-RIGHT-WIDTH:1px;BORDER-RIGHT-STYLE:solid;BORDER-RIGHT-COLOR:#C0C0C0;BORDER-LEFT-WIDTH:1px;BORDER-LEFT-STYLE:solid;BORDER-LEFT-COLOR:#C0C0C0;}
.vlrb {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-BOTTOM-WIDTH:1px;BORDER-BOTTOM-STYLE:solid;BORDER-BOTTOM-COLOR:#C0C0C0;BORDER-RIGHT-WIDTH:1px;BORDER-RIGHT-STYLE:solid;BORDER-RIGHT-COLOR:#C0C0C0;BORDER-LEFT-WIDTH:1px;BORDER-LEFT-STYLE:solid;BORDER-LEFT-COLOR:#C0C0C0;}
.vlr {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-RIGHT-WIDTH:1px;BORDER-RIGHT-STYLE:solid;BORDER-RIGHT-COLOR:#C0C0C0;BORDER-LEFT-WIDTH:1px;BORDER-LEFT-STYLE:solid;BORDER-LEFT-COLOR:#C0C0C0;}
.vbt {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-BOTTOM-WIDTH:1px;BORDER-BOTTOM-STYLE:solid;BORDER-BOTTOM-COLOR:#C0C0C0;BORDER-TOP-WIDTH:1px;BORDER-TOP-STYLE:solid;BORDER-TOP-COLOR:#C0C0C0;}
.vrb {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-BOTTOM-WIDTH:1px;BORDER-BOTTOM-STYLE:solid;BORDER-BOTTOM-COLOR:#C0C0C0;BORDER-RIGHT-WIDTH:1px;BORDER-RIGHT-STYLE:solid;BORDER-RIGHT-COLOR:#C0C0C0;}
.vrt {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-RIGHT-WIDTH:1px;BORDER-RIGHT-STYLE:solid;BORDER-RIGHT-COLOR:#C0C0C0;BORDER-TOP-WIDTH:1px;BORDER-TOP-STYLE:solid;BORDER-TOP-COLOR:#C0C0C0;}
.vlb {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-BOTTOM-WIDTH:1px;BORDER-BOTTOM-STYLE:solid;BORDER-BOTTOM-COLOR:#C0C0C0;BORDER-LEFT-WIDTH:1px;BORDER-LEFT-STYLE:solid;BORDER-LEFT-COLOR:#C0C0C0;}
.vlt {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-LEFT-WIDTH:1px;BORDER-LEFT-STYLE:solid;BORDER-LEFT-COLOR:#C0C0C0;BORDER-TOP-WIDTH:1px;BORDER-TOP-STYLE:solid;BORDER-TOP-COLOR:#C0C0C0;}
.vl {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-LEFT-WIDTH:1px;BORDER-LEFT-STYLE:solid;BORDER-LEFT-COLOR:#C0C0C0;}
.vr {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-RIGHT-WIDTH:1px;BORDER-RIGHT-STYLE:solid;BORDER-RIGHT-COLOR:#C0C0C0;}
.vb {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-BOTTOM-WIDTH:1px;BORDER-BOTTOM-STYLE:solid;BORDER-BOTTOM-COLOR:#C0C0C0;}
.vt {FONT-FAMILY:Tahoma;FONT-SIZE:10px;BORDER-TOP-WIDTH:1px;BORDER-TOP-STYLE:solid;BORDER-TOP-COLOR:#C0C0C0;}
.v {FONT-FAMILY:Tahoma;FONT-SIZE:10px;}
.myframe {FONT-FAMILY:Tahoma;FONT-SIZE:10px;PADDING-RIGHT:10px;PADDING-LEFT:10px;PADDING-BOTTOM:0px;PADDING-TOP:0px;}
.myframe SPAN.CTOP {MARGIN:0px -10px}
.myframe SPAN.CBOT {MARGIN:0px -10px}
SPAN.CTOP {DISPLAY:BLOCK;FONT-SIZE:1px;LINE-HEIGHT:1px;BACKGROUND-REPEAT:no-repeat;HEIGHT:5px}
SPAN.CBOT {DISPLAY:BLOCK;FONT-SIZE:1px;LINE-HEIGHT:1px;BACKGROUND-REPEAT:no-repeat;HEIGHT:5px}
SPAN.CTOP SPAN {DISPLAY:BLOCK;FONT-SIZE:1px;LINE-HEIGHT:1px;BACKGROUND-REPEAT:no-repeat;HEIGHT:5px}
SPAN.CBOT SPAN {DISPLAY:BLOCK;FONT-SIZE:1px;LINE-HEIGHT:1px;BACKGROUND-REPEAT:no-repeat;HEIGHT:5px}
SPAN.CTOP {BACKGROUND-POSITION:0px 0px;BACKGROUND-IMAGE:none;MARGIN:0px -5px}
SPAN.CTOP SPAN {BACKGROUND-POSITION:100% 0px;BACKGROUND-IMAGE:none}
SPAN.CBOT {CLEAR:both;BACKGROUND-POSITION:0px 100%;BACKGROUND-IMAGE:none;MARGIN:0px -5px}
SPAN.CBOT SPAN {BACKGROUND-POSITION:100% 100%;BACKGROUND-IMAGE:none}
SPAN.CTOP {BACKGROUND-IMAGE:URL(IMG/C1.PNG)}
SPAN.CTOP SPAN {BACKGROUND-IMAGE:URL(IMG/C2.PNG)}
SPAN.CBOT {BACKGROUND-IMAGE:URL(IMG/C3.PNG)}
SPAN.CBOT SPAN {BACKGROUND-IMAGE:URL(IMG/C4.PNG)}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#000080" vlink="#000080" alink="#000080" leftmargin="10" topmargin="10">
<table align=center width=1000 bgcolor=#000080 cellpadding=0 cellspacing=0 border=0><tr><td align=left><a href=/><img src=img/top.jpg border=0 width=800 height=65></a></td></tr></table>
<table align=center width=1000 border=0 cellpadding=5 cellspacing=0 style="font-family:tahoma;font-size:10px;"><tr>
<td width=1 valign=top align=center class=vlrbt>
<a target=_blank href=http://www.elmark.com.pl/products/advantech/grupa.php?grupa=1><img src=img/elmark.gif width=200 height=66 border=0 alt="Elmark Automatyka Sp. z o.o."></a><br>
<img src=img/blank.gif width=200 height=5><table cellpadding=3 cellspacing=0 width=200 style="font-family:tahoma;font-size:10px;">
<tr><td bgcolor=#000080><b><font color=#FFFFFF>Menu...</font></b></td></tr>
</table>
<table cellpadding=3 cellspacing=0 width=200 class=vlrb>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=0>Strona główna</a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=1>O nas: Elmark Automatyka Sp. z o.o.</a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=http://www.elmark.com.pl/forum/ target=_blank>Nasze forum</a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=2>Inne/ciekawe strony www</a></td></tr>
</table>
<img src=img/blank.gif width=200 height=5><table cellpadding=3 cellspacing=0 width=200 style="font-family:tahoma;font-size:10px;">
<tr><td bgcolor=#000080><b><font color=#FFFFFF>Artykuły...</font></b></td></tr>
</table>
<table cellpadding=3 cellspacing=0 width=200 class=vlrb>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=101>P2P i GCL w serii ADAM-6000</a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=102>Seria EKI-122X - konwertery Modbus</a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=103>WIRE-CHIP, JAZZ i moduły ADAM</a></td></tr>
</table>
<img src=img/blank.gif width=200 height=5><table cellpadding=3 cellspacing=0 width=200 style="font-family:tahoma;font-size:10px;">
<tr><td bgcolor=#000080><b><font color=#FFFFFF>O czym warto wiedzieć...</font></b></td></tr>
</table>
<table cellpadding=3 cellspacing=0 width=200 class=vlrb>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=201>Protokół ADAM-ASCII</a></td></tr>
<tr><td bgcolor=#FFFF9F>Protokół Modbus</td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=203>Implementacja Modbus/RTU</a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=204>Implementacja Modbus/TCP</a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=205>Wyjścia przekaźnikowe</a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=206>Seria ADAM-6000 i język PHP</a></td></tr>
</table>
<img src=img/blank.gif width=200 height=5><table cellpadding=3 cellspacing=0 width=200 style="font-family:tahoma;font-size:10px;">
<tr><td bgcolor=#000080><b><font color=#FFFFFF>Najpopularniejsze modele...</font></b></td></tr>
</table>
<table cellpadding=3 cellspacing=0 width=200 class=vlrb>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=301>ADAM-4520<font color=#BBBBBB> Optoizolowany<br>konwerter RS-232/422/485</font></a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=302>ADAM-4017+<br><font color=#BBBBBB>Wejścia analogowe (RS-485)</font></a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=303>ADAM-4055<br><font color=#BBBBBB>We/wy cyfrowe (RS-485)</font></a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=304>ADAM-5000/TCP<br><font color=#BBBBBB>Kaseta Modbus/TCP</font></a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=305>ADAM-6017<br><font color=#BBBBBB>Wejścia analogowe</font></a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=306>ADAM-6060<br><font color=#BBBBBB>We/wy cyfrowe (przekaźnikowe)</font></a></td></tr>
<tr><td bgcolor=#F4F4F4 onmouseover="this.style.backgroundColor='#CADCEB'" onmouseout="this.style.backgroundColor='#F4F4F4'"><a href=307>USB-4711A<font color=#BBBBBB> Uniwersalny<br>moduł pomiarowy AI/AO/DI/DO</font></a></td></tr>
</table>
</td>
<td valign=top align=center class=vrbt>
<table width=100% cellpadding=20 cellspacing=0 border=0 style="font-family:tahoma;font-size:12px;">
	<tr>
	<td> 
	<div class="myframe" style="FONT-SIZE:14px;BACKGROUND-COLOR:#EBF3F8;COLOR:#000080;">
	<span class="ctop"><span></span></span>
	<b>Protokół Modbus</b><br>Czyli standaryzacja modułów ADAM
	<span class="cbot"><span></span></span>
	</div>
	<p align=justify>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	Zastosowanie w danym <b>sprzęcie pomiarowym</b> specjalizowanego protokołu, dedykowanego (opracowanego) tylko
	dla danej grupy produktów (np. własny protokół opracowany przez producenta i stosowany tylko w przypadku jego produktów),
	wiąże się często z ograniczonymi możliwościami zastosowania tegoż sprzętu.
	Budując/projektując nasz system automatyki i/lub pomiarów od samego początku możemy oczywiście wstępnie założyć konieczność
	zaimplementowania takiego protokołu komunikacyjnego w naszej aplikacji, lecz niestety nie zawsze istnieje taka możliwość.
	W zależności od rodzaju i stopnia elastyczności (całości czy nawet tylko pewnej części) naszego układu automatyki możemy bowiem napotkać
	ograniczenia w postaci <b>zamkniętej</b> listy możliwych do wykorzystania protokołów komunikacyjnych (np. w przypadku
	oprogramowania SCADA, wybranej przez nas rodziny sterowników programowalnych, osprzętu komunikacyjnego itp.), bez
	jakiejkolwiek możliwości jej rozszerzenia!
	<p align=justify>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	W przypadku większości oprogramowania klasy SCADA/HMI bardzo często pomocnym staje się tu standard wymiany danych <b>OPC</b>.
	Oczywiście tylko w przypadku, gdy także producent sprzętu przewidział wykorzystanie tegoż standardu do wymiany
	danych z urządzeniem i wraz ze sprzętem dostarcza dedykowany serwer OPC. Nie zawsze jest to jednak rozwiązanie optymalne.
	Natomiast w przypadku samego sprzętu (np. sterowników programowalnych, osprzętu komunikacyjnego itp., który chcemy
	&quot;połączyć&quot; z naszym sprzętem pomiarowym) uniwersalnego rozwiązania często po prostu nie ma.
	Przy projektowaniu naszego układu od podstaw jesteśmy oczywiście w stanie wystrzec się tego
	typu problemów poprzez odpowiedni dobór kompatybilnych ze sobą wszystkich podzespołów - bez tego oczywiście nie ruszymy.
	Jednakże przy projektowaniu takiego układu zobowiązani jesteśmy zazwyczaj (i jest to często warunek konieczny) także do zapewnienia
	możliwości rozbudowy czy pewnej jego rekonfiguracji. Zatem, by uniknąć w przyszłości tego typu problemów, już na samym początku
	powinniśmy iść w kierunku standardów - będzie to na pewno najbezpieczniejsze rozwiązanie.
	<p align=justify>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	Zgodnie z tym założeniem protokół <b>Modbus</b> zaimplementowano także w modułach pomiarowych (i sterujących) serii <b>ADAM-4k/5k/6k</b>,
	co oczywiście znacznie poszerza spektrum ich zastosowań. W zależności od wykorzystywanego medium transmisyjnego (komunikacja
	szeregowa / interfejs sieciowy) skorzystać więc możemy z:<br>
	<br>
	<table width=100% cellpadding=5 cellspacing=0>
	<tr align=middle style="BACKGROUND-COLOR:#FFFF9F;COLOR:#000000;FONT-WEIGHT:bold;">
	<td class=vlrbt>Typ</font></td>
	<td class=vrbt>Seria</td>
	<td class=vrbt>Grupa</td>
	<td class=vrbt>Przykłady</td>
	</tr>
	<tr>
	<td rowspan=3 class=vlrb bgcolor=#DDDDDD><b>Modbus/RTU</b></td>
	<td class=vrb bgcolor=#F0F0F0>Seria ADAM-4000</td>
	<td class=vrb>Wybrane moduły I/O</td>
	<td class=vrb>ADAM-4017+/4055/4068 ...</td>
	</tr>
	<tr>
	<td rowspan=2 class=vrb bgcolor=#F0F0F0>Seria ADAM-5000</td>
	<td class=vrb>Kasety komunikacyjne</td>
	<td class=vrb>ADAM-5000E ...</td>
	</tr>
	<tr>
	<td class=vrb>Kasety programowalne</td>
	<td class=vrb>ADAM-5510/EKWTP, ADAM-5550 ...</td>
	</tr>
	<tr>
	<td rowspan=3 class=vlrb bgcolor=#DDDDDD><b>Modbus/TCP</b></td>
	<td rowspan=2 class=vrb bgcolor=#F0F0F0>Seria ADAM-5000</td>
	<td class=vrb>Kasety komunikacyjne</td>
	<td class=vrb>ADAM-5000/TCP ...</td>
	</tr>
	<tr>
	<td class=vrb>Kasety programowalne</td>
	<td class=vrb>ADAM-5510/EKWTP, ADAM-5550 ...</td>
	</tr>
	<tr>
	<td class=vrb bgcolor=#F0F0F0>Seria ADAM-6000</td>
	<td class=vrb>Wszystkie moduły I/O</td>
	<td class=vrb>ADAM-6017/6050/6060 ...</td>
	</tr>
	</table>
	<p align=justify>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	Dodatkowo: zaprojektowano także kilka urządzeń pracujących w trybie &quot;<b>Modbus Data Gateway</b>&quot;, czyli - najprościej ujmując -
	pozwalających na współpracę między poszczególnymi odmianami protokołu Modbus (np. ADAM-4572, kaseta ADAM-5000/TCP, moduły serii EKI-122X).
	<p align=justify>
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
	Protokół ten (we wszystkich stosowanych obecnie implementacjach <b>ASCII/RTU/TCP</b>) wykorzystywany jest powszechnie
	do komunikacji pomiędzy poszczególnymi urządzeniami systemów automatyki oraz aplikacjami nadzoru i/lub sterowania
	pracującymi na komputerach PC z urządzeniami pomiarowymi i wykonawczymi. Opracowany pierwotnie przez firmę Modicon
	stał się standardem przyjętym przez większość znanych producentów sterowników przemysłowych i sprzętu pomiarowego.
	Należy on do rodziny protokołów typu <b>master-slave</b>, w których tylko jedno urządzenie (jednostka nadrzędna - master)
	może inicjować transakcje, a pozostałe (jednostki podrzędne -  slave) odpowiadają jedynie na zdalne zapytania mastera.
	Transakcja składa się z polecenia (<b>query</b>) wysyłanego z jednostki master do slave oraz odpowiedzi (<b>response</b>) przesyłanej
	zwrotnie, zawierającej żądane dane lub potwierdzenie realizacji polecenia (wyjątkiem są wiadomości rozgłoszeniowe
	broadcast przeznaczone dla wszystkich jednostek podrzędnych w sieci, na które jednostki slave nie przesyłają żadnej
	odpowiedzi).<br>
	<br>
	<div class="myframe" style="WIDTH:120px;FONT-SIZE:12px;BACKGROUND-COLOR:#EBF3F8;">
	<span class="ctop"><span></span></span>
	<a href=203><b>Ciąg dalszy...</b></a>
	<span class="cbot"><span></span></span>
	</div>
	</td>
	</tr>
</table><br><div align=left class="myframe" style="WIDTH:738px;FONT-SIZE:11px;BACKGROUND-COLOR:#EBF3F8;COLOR:#000080;">
<span class="ctop"><span></span></span>
<b>Jeśli masz jakieś uwagi - możesz dodać swój komentarz do tej strony.</b><br>
<font color=#9EC5DE>Możesz go dopisać anonimowo - ale oczywiście lepiej by było, gdyby czytający wiedzieli kto jest jego autorem.
W przypadku wykrycia treści niedozwolonych lub nic konkretnego do tematu nie wnoszących, wpis może być w późniejszym czasie usunięty (ocenzurowany) przez administratora.</font><br>
<br><table cellpadding=2 cellspacing=0 border=0><form name=fn1 method=post>
<input type=hidden name=fv0 value="202">
<input type=hidden name=fv5 value="85c4608d9a5ad4e62498372abc123b53">
<tr valign=middle><td class=v width=90><b>Autor:</b></td><td>&nbsp;&nbsp;&nbsp;<input maxlength=30 class=vlrbt type=text name=fv1 value="" style="width:200px;BACKGROUND-COLOR:#FFFFFF;"></td><td rowspan=2>&nbsp;</td><td rowspan=2><img src=img/sesssecimg.php width=140 height=35 style="BORDER-WIDTH:1px;BORDER-STYLE:dotted;BORDER-COLOR:#C0C0C0;"></td></tr>
<tr valign=middle><td class=v><b>Firma:</b></td><td>&nbsp;&nbsp;&nbsp;<input maxlength=30 class=vlrbt type=text name=fv2 value="" style="width:200px;BACKGROUND-COLOR:#FFFFFF;"></td></tr>
<tr valign=middle><td class=v><b>Twój e-mail:</b></td><td>&nbsp;&nbsp;&nbsp;<input maxlength=30 class=vlrbt type=text name=fv3 value="" style="width:200px;BACKGROUND-COLOR:#FFFFFF;"></td><td class=v width=90><b>Kod z obrazka</b>:</td><td><input maxlength=8 class=vlrbt type=text name=fv6 style="width:100px;BACKGROUND-COLOR:#FFFFFF;"></td></tr>
<tr valign=top><td class=v><b>Komentarz:</b></td><td colspan=3>&nbsp;&nbsp;&nbsp;<textarea maxlength=30 class=vlrbt name=fv4 style="width:620px;height:100px;BACKGROUND-COLOR:#FFFFFF;"></textarea></td></tr>
<tr valign=top><td class=v colspan=4><input class=vlrbt type=button onClick="javascript:WriteComment()"value=Wyślij style="WIDTH:70px;"></td></tr>
</form>
</table><span class="cbot"><span></span></span>
</div><table cellpadding=0 cellspacing=0><tr><td><img src=img/blank.gif width=10 height=3 border=0></tr></td></table>
<script language="JavaScript" type="text/javascript">
<!--
function WriteComment()
{
if (document.fn1.fv6.value.length!=8) {alert('Przepisz kod zabezpieczający - w postaci ośmiocyfrowej liczby - z umieszczonego w formularzu obrazka.');return;};
if (isNaN(document.fn1.fv6.value)) {alert('Kod zabezpieczający jest ośmiocyfrową liczbą - więc może się składać tylko z cyfr.');return;};
if (document.fn1.fv6.value<0) {alert('Kod zabezpieczający jest ośmiocyfrową liczbą większą od 0.');return;};
if (document.fn1.fv4.value.length<15) {alert('Jakiś komentarz wpisać musisz - przyjmijmy, że będzie to minimum 15 znaków.');return;};
if (document.fn1.fv4.value.length>1024) {alert('Długość komentarza nie może przekaczać 1024 znaków!');return;};
document.fn1.submit();
}
// -->
</script>
</td>
</tr></table><br><br>
</body>
</html>

