Lokierte Merker
Es stehen 4 kByte an lokierten Merkern zur Verfügung. Diese können genutzt werden, um unterschiedliche Variabelentypen auf die gleiche Adresse zu legen, zum Beispiel um aus Strings Bytes zu machen. Weiter können Daten hinterlegt werden, die per ADS von der Steuerung gelesen und/oder geschrieben werden können.
Lokierte Variablen sind keine remanenten Daten Bei den Busklemmen-Controller der BX-Serie und den BCxx50 werden die lokierten Variablen nicht als remanente Daten gespeichert. |
Read / Write lokierter Merker per ADS
Die Merker können auch über die Steuerung per ADS ausgelesen werden. Bei PROFIBUS werden dazu die DPV-1 Dienste genutzt, bei CANopen die SDO Kommunikation.
Die AmsNetId ist aus dem System Manager zu entnehmen oder man kann Sie sich in dem Menü des Busklemmen-Controllers Anzeigen lassen.
Die Port Nummer ist 800 für die PLC.
Index Group | Bedeutung | Index Offset (Wertebereich) |
---|---|---|
0x4020 | Merker (nur BXxxx0) | 0..4096 |
Beispiel
BX Programm
VAR
Flag_01 AT %MB0: WORD;
END_VAR
TwinCAT PC/CX Master Programm
VAR
fbADRSREAD: ADSREAD;
Flag_M: WORD;
END_VAR
fbADRSREAD(
NETID:='172.16.3.0.2.3' , (* AMSNetId BX *)
PORT:=800 , (* 800 - PLC *)
IDXGRP:=16#4020 , (* 0x4020hex falgs *)
IDXOFFS:=0 , (* byte offset *)
LEN:=2 , (* Lenght byte *)
DESTADDR:=ADR(Merker) ,
READ:=TRUE ,
TMOUT:=t#1s );
IF NOT fbADRSREAD.BUSY THEN
fbADRSREAD(READ:=FALSE);
END_IF