Protokol Antcas TCP je potpuno otvoreno dokumentiran. Komunikacija se vrši preko TCP.
Komunikacija se vrši preko TCP sa otvorenom vezom od Antcas Control. Server može biti povezan samo sa jednim klijentom po interfejsu. Port se može slobodno odabrati. Standardni port je 5'252. Maksimalna veličina paketa je ograničena na 3'000 bajtova. Može se prenijeti nekoliko paketa jedan za drugim. Interfejs ima tajmaut. Ako nakon određenog vremena nije dobiven odgovor, proces počinje ponovo.
Napomena: Simboli kao što su umlaute i posebni znakovi definiraju se u ISO-8859-1 formatu.
Sve korištene varijable su osjetljive na velika i mala slova, što znači da se razlikuje između velikih i malih slova. Evo primjera kako može izgledati jednostavna prenos:
ANTCAS_TCP
OK:3000
TL:x:1:Licht/1. OG/EIN
TL:ui:1:Licht/1. OG/DIM
START
x:1:TRUE
OK
KA
RE
Čim se uspostavi veza, Antcas Control šalje handshake klijentu. Ovaj može opcionalno sadržavati maksimalnu veličinu bafera u bajtovima, tako da Antcas Control ograničava svako telegrama prilikom slanja, dok ne bude vraćena potvrda. Veličina MAX_BUFFER_SIZE ne bi trebala biti previše mala kako bi se održala visoka brzina interfejsa.
Antcas Control -> Klijent:
ANTCAS_TCP\n
Antcas Control <- Klijent:
OK[:MAX_BUFFER_SIZE=3000]\n
Inicijalizacija se vrši nakon handshakea. Sve vrijednosti tačaka podataka šalju se od klijenta ka Antcas Control-u. Vidi Prenos vrijednosti. Kada je prenos završen, pokreće se naredba start. Nakon toga Antcas Control šalje svoje vrijednosti. Ove se nakon inicijalizacije filtriraju. Stoga se ne prenosi tačka podataka koja ne postoji.
Antcas Control <- Klijent:
START\n
Osim toga, može se prenijeti tablica prevoda. Ovo poboljšava performanse kada ima mnogo tačaka podataka. Prevod mora biti izvršen odmah nakon handshakea. Varijable mogu biti i dvostruko definisane. Na primjer, temperatura tipa INT i REAL. Tačke podataka se potpuno odvojeno tretiraju.
Antcas Control <- Klijent:
TL:x:1:Licht/1. OG/EIN\n
Ovdje se Licht/1. OG/EIN prevodi u x:1 za komunikaciju. Server umjesto imena šalje samo x:1.
Da bi veza ostala otvorena, koristi se ciklični watchdog. Ovaj nadgleda klijenta i server. Tajmaut nastupa nakon otprilike 6s bez odgovora. Klijent može prekinuti vezu nakon 10 sekundi bez odgovora od servera. Ovaj se koristi samo ako se ne prenose podaci.
Antcas Control -> Klijent:
KA\n
Antcas Control <- Klijent:
RE\n
Svi podaci se prenose kao string. Tip podataka se definira kao prefiks vrijednosti. Tačka podataka smije se pojaviti samo jednom, čak i ako ima više tipova podataka. Tačka podataka može sadržavati i putanju. Na primjer:
x:Licht/1. OG/EIN:TRUE\n
ili sa tablicom prevoda:
x:1:TRUE\n
Nakon što je string prenesen, mora se izvršiti potvrda, tek tada se prenosi sljedeća vrijednost:
OK\n
Antcas Control <-> Klijent:
x:Datenpunkt:FALSE/TRUE\n
Antcas Control <-> Klijent:
ui:Datenpunkt:[0..65536]\n
Napomena: Ostale vrijednosti moraju se prenijeti kao niz znakova.
Antcas Control <-> Klijent:
i:Datenpunkt:[-32768..32767]\n
Antcas Control <-> Klijent:
r:Datenpunkt:[3.402823E-38..1.175 495E+38]\n
Antcas Control <-> Klijent:
d:Datenpunkt:D#YYYY-MM-DD\n
Antcas Control <-> Klijent:
t:Datenpunkt:T#5d4h3m2s1ms\n
Antcas Control <-> Klijent:
dt:Datenpunkt:DT#YYYY-MM-DD[-HH:II:SS]\n
Antcas Control <-> Klijent:
s:Datenpunkt:String[max. 64 Zeichen]\n
Pažnja: Slanje line feeda (\n) nije dozvoljeno.
Ovaj tip podataka komunicira uvijek samo prije razmjene podataka i šalje sva nadolazeća događaja vremenske prekidačke ure. Implementacija na nivou PLC-a u Antcas Control-u nije moguća. Međutim, kalendar se može manipulirati u PLC-u.
Prije naredbe start zatraži se broj željenih događaja. Opseg vrijednosti je između 0..255. Osim toga, vraća se trenutno vrijeme u UTC. Ovo služi trenutno samo analizi grešaka. Vrijednost je međutim potrebna.
Antcas Control <- Klijent (prije START):
ts:Datenpunkt:s;MAX_USINT;ACTUAL_TIME\n
Prvo vrijeme definira trenutak za uključivanje, a drugo za isključivanje. Može doći i do preklapanja. Da ne bi previše opteretili memoriju, koristi se prstenasti bafer. To znači da se jedna vrijednost zamjenjuje, a sve ostale vrijednosti ne pomiču se. Stoga moraju se uzeti u obzir sve vrijednosti. Nakon primanja šalje se potvrda serveru. Vrijednost može biti i identična onoj gore kako bi se program lakše izgradio.
Antcas Control -> Klijent:
ts:Datenpunkt:USINT;DT#YYYY-MM-DD-HH:II:SS;DT#YYYY-MM-DD-HH:II:SS\n
Da bi se spriječilo pokretanje događaja prilikom prekinute komunikacije, svi neaktivni unosi se deaktiviraju. Ovo je slučaj kada su stanje uključivanja i isključivanja identična. Minimalno vrijeme za prekidanje time iznosi jednu sekundu.
Antcas Control -> Klijent:
ts:Datenpunkt:USINT;DT#1970-01-01-00:00:00;DT#1970-01-01-00:00:00\n