Używamy plików cookies (tzw. ciasteczka) by spersonalizować treść i ogłoszenia oraz by analizować ruch na stronie.  W sposób automatyczny dzielimy się informacjami o Twoim użyciu tego portalu z dostawcami ogłoszeń, którzy mogą połączyć te informacje z informacjami, które im udzieliłaś/łeś lub, które sami zebrali. Korzystanie z witryny bez zmiany ustawień dotyczących cookies oznacza, że będą one zamieszczane w Państwa urządzeniu końcowym.  Możecie Państwo dokonać w każdym czasie zmiany ustawień dotyczących cookies zmieniając opcje przeglądarki.

Opis podstawowych funkcji i parametrów

Poniżej przedstawiam opis prostych funkcji zawartych w jQuery.e-dom.2.0.js.  Oto link do paczki z przykładami.

ServerName
.WriteValue()
.ReadValue()
.AddButtonCover()
.ShowButtonCover()
.HideButtonCover()
.RefreshIt()
.FlipIt()
StartRefreshing()
StopRefreshing()
RefreshData()

 

ServerName

Pierwszą rzeczą, którą należy umieści w kodzie jest definicja zmiennej ServerName, która przechowuje adres sterownika PLC.

Przykład:

ServerName =  ‘http://192.168.1.1’;

 

.WriteValue(options)

Wysyła do sterownika PLC podaną wartość pod podany adres.  Po skutecznym wysłaniu danych uruchamia zdarzenie .OnWriteSuccess(). 

Parametry:

  • address – adres do komunikacji podany jako string.
  • value – wartość, która ma zostać przesłana.  Typ nie jest weryfikowany
  • format – opcjonalnie, domyślnie „%d”.  W większości zastosowań nie trzeba modyfikować
  • terminateprevious – opcjonalnie, domyślnie TRUE.  Decyduje, czy  w przypadku znalezienia niezakończej dyspozycji zapisu przypisanej do danego elementu, ma je anulować.
  • successfn – opcjonalnie, funkcja, która powinna zostać wykonana po skutecznym wysłaniu danych do sterownika.  Jeśli zostanie zdefiniowana przez użytkownika, .OnWriteSuccess() nie zostanie wykonane.

Przykłady 1 (w ramach funkcji ‘$(window).load’ )

$(‘#Button1’).WriteValue({
	address:  ‘MB1’,
	value: 23
});

Wysłanie danych zostanie wykonane 1 raz po wczytaniu strony.  Aby powiązać wysyłanie danych z kliknięciem na przycisk należy:

$(‘#Button1’).click(function(){
	$(this).WriteValue({
		address:  ‘MB1’,
		value: 23
	});
});

Przykład 2. Po wysłaniu danych pojawi się alert ‘Success!’

$(‘#Button1’).click(function(){
	$(this).WriteValue({
		address:  ‘MB1’,
		value: 23,
		successfn: function() {
		alert(‘Success!’);
		}
	});
});

Alternatywnie:

$(‘#Button1’).click(function(){
	$(this).WriteValue({
		address:  ‘MB1’,
		value: 23
	});
});

i zdefinowanie zdarzenia ‘OnWriteSuccess’ uruchamianego domyślnie po skutecznym wysłaniu danych:

$(‘#Button1’).bind(‘OnWriteSuccess’, function(){
	alert(‘Success!’);
	return false;
});

 

.ReadValue(options)

Odczytuje dane ze sterownika z wskazanego adresu.  Po skutecznym odczytaniu domyślnie uruchamia zdarzenie .OnReadSuccess()

Parametry:

  • address – adres do komunikacji podany jako string.
  • format - opcjonalnie, domyślnie „%d”.  W większości zastosowań nie trzeba modyfikować
  • terminateprevious –opcjonalnie, domyślnie TRUE.  Decyduje, czy  w przypadku znalezienia niezakończej dyspozycji odczytu przypisanej do danego elementu, ma je anulować.
  • terminatependingwrite - opcjonalnie, domyślnie FALSE. Decyduje, czy  w przypadku znalezienia niezakończej dyspozycji zapisu przypisanej do danego elementu, ma je anulować. Domyślnie, jeśli funkcja znajdzie niezakończony zapis, zakończy działanie bez odczytywania danych z PLC
  • timeout – opcjonalnie, domyślnie  5000. Określa czas w ms timeoutu dla zapytań odczytu
  • successfn – opcjonalnie, funkcja, która powinna zostać wykonana po skutecznym wysłaniu danych do sterownika.  Jeśli zostanie zdefiniowana przez użytkownika, .OnWriteSuccess() nie zostanie wykonane.

 

Przykłady 1 (w ramach funkcji ‘$(window).load’ )

$(‘#Field1’).ReadValue({
	address:  ‘MB1’
});

Odczytanie danych zostanie wykonane 1 raz po wczytaniu strony.  Zazwyczaj jednak chcemy zrobić coś z uzyskanymi danymi.  Definiujemy .OnReadSuccess():

$(‘#Field1).bind(‘OnReadSuccess’, function(event, data) {
	alert(data);
});

Szczegółowych przykładów różnych zastosowań funkcji .ReadValue() nie będę zamieszczał, jako że funkcja .MakeReadField(), posługująca się .ReadValue() pozwala pominąć opisywanie zdarzeń i działań krok po kroku.

 

.AddButtonCover(options)

Dodaje do elementu warstwę o id = „NazwaWarstwy_Cover” klasy ‘ButtonCover’ i zIndexie 9999 (na wierzchu).  Opcjonalnie w centrum warstwy dodaje obrazek ‘loading’.

 

Parametry:

  • addimage – opcjonalnie, domyślnie TRUE.  Decyduje, czy dodawany będzie obrazek ‘loading’
  • imagefile – opcjonalnie, domyślnie 'css/loading.gif'. Ścieżka do obrazku ‘loading’

 

Przykład:

$(‘#Button1’).AddButtonCover({
	imagefile: ‘css/alternativeloading.gif’
});

 

.ShowButtonCover(options)

Pokazuje warstwę zakrywającą z zadanym opóźnieniem a w przypadku elementu typu slider, dodatkowo deaktywuje go.

 

Parametry:

  • coverdelay – opcjonalnie, domyślnie 500.  Czas w ms opóźnienia pokazania warstwy zakrywającej

 

Przykład:

$(‘#Button1’).ShowButtonCover({
	coverdelay: 1000
});

 

.HideButtonCover()

Chowa warstwę zakrywającą a w przypadku elementu typu slider, dodatkowo aktywuje go.

 

Przykład:

$(‘#Button1’).HideButtonCover();

 

.RefreshIt()

Uruchamia funkcję .ReadValue() podając parametry zapisane w danym elemencie pod:

data-read i data-readtimeout (o ile jest zdefiniowane)

 

Przykład:

$(‘#Button1’).RefreshIt();

 

.FlipIt()

Zmienia (z 0 na 1; z 1 na 0) wartość zmiennej ‘Stauts’ przypisanej do danego elementu,

Jeśli do elementu przypisana jest zmienna ‘ImageToFlip’ zamienia obraz wg następującej formuły:

XXXXX0.YYY zamienia na XXXXX1.YYY

XXXXX1.YYY zamienia na XXXXX0.YYY

Dodaje lub usuwa przypisanie klasy ‘flipped’.

 

Przykład:

$(‘#Button1’).FlipIt();

 

StartRefreshing(options)

Uruchamia odświeżanie wszystkich elementów o parametrze data-refresh=true z zadanym interwałem (technicznie – okresowe wywołanie funkcji RefreshData() ).

 

Parametry:

  • refreshrate – częstotliwość odświeżania w ms, domyślnie 5 000, tj. 5 sec.

 

Przykład:

StartRefreshing({
	refreshrate: 3000
});

 

StopRefreshing()

zatrzymuje okresowe odświeżanie.

 

RefreshData()

Jednorazowo odświeża stany/wartości wszystkich przycisków o parametrze data-refresh=true (technicznie na każdym znalezionym elemencie uruchamia funkcję RefreshIt() )