Kommunikation med gränssnitt

Kommunikationen med gränssnitten sker via variablerna in.COM och out.COM. Där kan COM få vilket namn som helst. Därefter kan du på höger sida av redigeraren under Kommunikation välja gränssnittet. Där listas alla gränssnitt som tillhör projektet. I listan under rullgardinsmenyn kan telegrammen definieras. Till skillnad från andra system kan du här ange flera datapunkter per variabel. Det är också möjligt att koppla variabeln via Drag&Drop direkt från gränssnittet under Installation.

Då måste du korrekt ange datatypen. Till skillnad från standarden för bussystemet KNX används här en universell typ och inte DPT/EIS-typerna.

Uppbyggnad av redigeraren

Dialogrutan i redigeraren möjliggör koppling av gränssnitt, utan att detta påverkar programmeringen av elementet.

I det ovan visade exemplet har en SONOS högtalare styrts med en KNX-knapp. Dessutom har ett analogt värde kopplats till ett status.

Kommunikationsvariabeln status skickar till gruppadressen 1/0/5 och reagerar då på ändringar från 1/0/5 och 1/7/5. Frågetecknet frågar vid initialiseringen status för 1/7/5.

För värdena Tr_UP och Tr_DW har skickandet inaktiverats genom att kryssrutan avmarkerades.

De röd markerade värdena (Tr_Play och Tr_Stop) hittades inte i SPS och ignoreras därför. Om programmet har testats framgångsrikt kan dessa värden raderas utan att det påverkar applikationen.

Tips: Klicka med höger musknapp på en kommunikationsvariabel för att hitta dess förekomst i SPS.

Utlösare

Ingångssignalerna filtreras. Upprepade värden ignoreras. För detta ändamål finns datatypen trig, trig_p osv. Dessa genererar en flank när ett telegram ankommer. Vid flera gatewayar på samma gränssnitt genereras endast en impuls via aktuell gateway. Detta förhindrar flera impulser i följd.

Koppling av värden

Du kan koppla kommunikationsobjekt direkt till ett element från strukturen via Drag&Drop. Därför kan i installationen alla objekt med följande symboler dras.

Symbol Beskrivning
Objektet kan läsas.
Objektet kan läsas och skrivas.
Detta är en konstant. Detta värde kan inte läsas eller skrivas.

Det motsvarande gränssnittet väljs automatiskt. Det betyder att du inte behöver välja gränssnittet i förväg. Att dra över räcker. Du behöver heller inte ta hänsyn till om gränssnittet är korrekt. Om till exempel ett KNX-objekt dras in i en SPS, kommer variabeln att korrekt kopplas. Observera dock att endast den första posten i en kommunikationsvariabel kan skickas.

Tips: Under de enskilda objekten i Installation visas referensen till de respektive elementen under objekten. Detta är användbart när fel söks.

Skicka värden

Endast den första datapunkten skickar till bussen om kryssrutan på höger sida aktiveras. Alla andra objekt anger statusen. Ett exempel för KNX-bussen: Om du tittar på en brytare i ETS, finns där vanligtvis två kommunikationsobjekt. Ett för att styra aktorn och ett statusobjekt (kan också ingå i brytarobjektet). Optimalt kan du lägga till varje gruppadress som datapunkt i gränssnittskonfigurationen. På så sätt visas statusen omedelbart på visualiseringen. Och inte först när aktorn styrs.

Endast ändringar av en variabel överförs till gränssnittet. Ändringen återställs vid mottagning till samma variabel. Det betyder att vid mottagning av en ändring på in.COM skickas utgången out.COM inte. Detta kräver särskild uppmärksamhet när värden fördröjs.

Observera alltid antalet telegram som ett gränssnitt skickar. För många telegram blockerar BUS. Detta kan endast förbättras genom en ytterligare separat linje. Om en variabel skickar snabba impulser kan detta leda till att bufferten skrivs över och därmed raderas telegrammen från variabeln. På så sätt kan detta leda till oönskade effekter. Sänk därför alltid hastigheten på variabeln.

Upprepad skickning av samma värde

Ett specialfall är skickandet av samma värde. Detta kan realiseras genom flera sätt.

Om värdet är ett booleskt värde, kan trig_p eller trig_n användas direkt som datatyp. trig_n skickar då FALSE och trig_p TRUE, så snart en positiv flank genereras på utgången out.COM.

En annan metod är att sätta NULL. Detta kan programmeras med flera möjligheter. Den enklaste metoden är att använda funktionsblocket SEL.

Initialisering efter omstart

Vid start av servern eller vid nya telegram initialiseras dessa, om ett ? utan mellanslag står före telegrammet. Till exempel ?1/4/22.

Varning: Om den första gruppadressen för brytaren i ETS är en central order kan detta orsaka en central på eller av vid läsning. Därför alltid definiera brytaradressen som skickande.