โปรโทคอล Antcas TCP ถูกเอกสารไว้อย่างเปิดเผยทั้งหมด การสื่อสารเกิดขึ้นผ่าน TCP.
การสื่อสารเกิดขึ้นผ่าน TCP ด้วยการเชื่อมต่อเปิดจาก Antcas Control เซิร์ฟเวอร์สามารถเชื่อมต่อกับไคลเอนต์เพียงหนึ่งตัวต่ออินเตอร์เฟซได้ ในพอร์ตสามารถเลือกได้อย่างเสรี พอร์ตที่ใช้โดยปกติคือ 5'252 ขนาดแพ็กเก็ตสูงสุดถูกจำกัดไว้ที่ 3'000 ไบต์ สามารถส่งแพ็กเก็ตหลายๆ แพ็กเก็ตต่อกันได้ อินเตอร์เฟซมีการตั้งเวลาหมดอายุ ถ้าหากไม่ได้รับการตอบกลับภายในระยะเวลาหนึ่งกระบวนการจะเริ่มต้นใหม่
หมายเหตุ: ตัวอักษรเช่นตัวสะกดพิเศษและเครื่องหมายพิเศษถูกกำหนดในรูปแบบ ISO-8859-1.
ทุกตัวแปรที่ใช้เป็น Case Sensitive ซึ่งหมายความว่าต้องแยกความแตกต่างระหว่างตัวอักษรใหญ่และเล็ก ดังนี้เป็นตัวอย่างการส่งข้อมูลอย่างง่าย:
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
เมื่อมีการเชื่อมต่อแล้ว Antcas Control จะส่ง Handshake ไปยังไคลเอนต์ ซึ่งสามารถระบุขนาดบัฟเฟอร์สูงสุดในไบต์ได้อย่างเลือกเพื่อให้ Antcas Control สามารถจำกัดข้อความที่ส่งออกได้จนกว่าจะได้รับการยืนยันกลับมา ขนาดของ MAX_BUFFER_SIZE ไม่ควรเลือกให้เล็กเกินไป เพื่อให้อินเตอร์เฟซสามารถทำงานได้เร็วที่สุด
Antcas Control -> Client:
ANTCAS_TCP\n
Antcas Control <- Client:
OK[:MAX_BUFFER_SIZE=3000]\n
การเริ่มต้นใช้งานเกิดขึ้นหลังจาก Handshake ทุกค่าของข้อมูลที่ส่งมาจากไคลเอนต์ไปยัง Antcas Control ดูที่การส่งค่า ถ้าการส่งข้อมูลเสร็จสิ้น คำสั่งเริ่มต้นจะถูกกระตุ้น หลังจากนั้น Antcas Control จะส่งค่าของตัวเอง การกรองจะเกิดขึ้นหลังจากการเริ่มต้นใช้งาน ดังนั้นข้อมูลที่ไม่มีอยู่จะไม่ถูกส่ง
Antcas Control <- Client:
START\n
นอกจากนี้ยังสามารถส่งตารางแปลได้ เพื่อเพิ่มประสิทธิภาพในการทำงานกับข้อมูลจำนวนมาก การแปลต้องเกิดขึ้นทันทีหลังจาก Handshake ตัวแปรสามารถถูกกำหนดซ้ำได้ เช่น ค่าอุณหภูมิของชนิด INT และ REAL ข้อมูลจะถูกจัดการอย่างเป็นอิสระ
Antcas Control <- Client:
TL:x:1:Licht/1. OG/EIN\n
ในที่นี้ Licht/1. OG/EIN ถูกแปลเป็น x:1 สำหรับการสื่อสาร เซิร์ฟเวอร์จะส่งเฉพาะ x:1 แทนชื่อ
เพื่อให้เชื่อมต่ออยู่เปิด Watchdog ที่ซ้ำไปซ้ำมาได้ถูกใช้ เพื่อตรวจสอบไคลเอนต์และเซิร์ฟเวอร์ การหมดอายุเกิดขึ้นหลังจากประมาณ 6 วินาทีที่ไม่มีการตอบกลับ ไคลเอนต์สามารถตัดเชื่อมต่อหลังจาก 10 วินาทีที่ไม่ได้รับการตอบกลับจากเซิร์ฟเวอร์ การใช้งานนี้จะเกิดขึ้นเฉพาะเมื่อไม่มีข้อมูลที่ถูกส่ง
Antcas Control -> Client:
KA\n
Antcas Control <- Client:
RE\n
ทุกข้อมูลถูกส่งในรูปแบบสตริง ชนิดของข้อมูลจะถูกกำหนดเป็นส่วนหน้าของค่าข้อมูลหนึ่งๆ ไม่สามารถมีอยู่มากกว่าหนึ่งครั้งแม้ว่าจะมีหลายชนิดของข้อมูลได้ ข้อมูลสามารถมีเส้นทางได้ เช่น:
x:Licht/1. OG/EIN:TRUE\n
หรือด้วยตารางแปล:
x:1:TRUE\n
หลังจากส่งสตริงแล้ว ต้องมีการยืนยันก่อนที่จะส่งค่าต่อไป:
OK\n
Antcas Control <-> Client:
x:Datenpunkt:FALSE/TRUE\n
Antcas Control <-> Client:
ui:Datenpunkt:[0..65536]\n
หมายเหตุ: ค่าอื่นต้องถูกส่งในรูปแบบสตริง
Antcas Control <-> Client:
i:Datenpunkt:[-32768..32767]\n
Antcas Control <-> Client:
r:Datenpunkt:[3.402823E-38..1.175 495E+38]\n
Antcas Control <-> Client:
d:Datenpunkt:D#YYYY-MM-DD\n
Antcas Control <-> Client:
t:Datenpunkt:T#5d4h3m2s1ms\n
Antcas Control <-> Client:
dt:Datenpunkt:DT#YYYY-MM-DD[-HH:II:SS]\n
Antcas Control <-> Client:
s:Datenpunkt:String[max. 64 Zeichen]\n
ความระวัง: การส่ง Linefeed (\n) ไม่ได้รับอนุญาต
ชนิดข้อมูลนี้สื่อสารเฉพาะก่อนการแลกเปลี่ยนข้อมูลและส่งทุกเหตุการณ์ที่จะเกิดขึ้นของตัวตั้งเวลา การใช้งานในระดับ SPS ใน Antcas Control ไม่เป็นไปได้ แต่ปฏิทินสามารถถูกแก้ไขใน SPS ได้
ก่อนคำสั่งเริ่มต้น จำนวนเหตุการณ์ที่ต้องการจะถูกค้นหา ค่าที่ใช้ได้อยู่ระหว่าง 0..255 นอกจากนี้เวลาปัจจุบันใน UTC จะถูกส่งกลับมา ซึ่งใช้เพื่อการวิเคราะห์ข้อผิดพลาดเท่านั้น แต่ค่านี้เป็นสิ่งจำเป็น
Antcas Control <- Client (ก่อน START):
ts:Datenpunkt:s;MAX_USINT;ACTUAL_TIME\n
เวลาแรกกำหนดเวลาที่จะเปิดและเวลาที่สองใช้สำหรับการปิด สามารถมีการทับซ้อนกันได้ เพื่อไม่ให้ใช้พื้นที่ในหน่วยความจำมากเกินไป จึงใช้หน่วยความจำแบบวงกลม ซึ่งหมายความว่าค่าหนึ่งจะถูกแทนที่และค่าทั้งหมดจะไม่เลื่อนลง ดังนั้นค่าทุกตัวต้องถูกพิจารณา หลังจากการรับส่ง คำยืนยันจะถูกส่งกลับไปยังเซิร์ฟเวอร์ ค่าได้เป็นอย่างเดียวกับที่อยู่ด้านบนเพื่อให้โปรแกรมง่ายขึ้น
Antcas Control -> Client:
ts:Datenpunkt:USINT;DT#YYYY-MM-DD-HH:II:SS;DT#YYYY-MM-DD-HH:II:SS\n
เพื่อให้เหตุการณ์ไม่เกิดขึ้นเมื่อมีการสื่อสารที่ถูกตัดขาด ทุกรายการที่ไม่ได้ใช้งานจะถูกปิดใช้งาน ซึ่งเป็นกรณีที่สถานะเปิดและปิดเหมือนกัน เวลาสลับน้อยที่สุดอยู่ที่หนึ่งวินาที
Antcas Control -> Client:
ts:Datenpunkt:USINT;DT#1970-01-01-00:00:00;DT#1970-01-01-00:00:00\n