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 funkcji złożonych

Poniżej przedstawiam opis złożonych funkcji dostępnych w jQuery.e-dom.2.0.js.  Oto link do pliku z przykładami.

.MakeReadField()

.MakeWriteButton()

.MakeTapButton()

 

.MakeReadField(options)

Przygotowuje element do odświeżania (cykliczne - inicjowane przez StartRefreshing(), jednorazowe - wywołane funkcją .RefreshIt()).  Pozwala w uproszczony sposób decydować, co powinno dziać się z danymi odczytanymi z PLC

 

Parametry:

  • read - adres do komunikacji podany jako string.
  • refresh – opcjonalnie, domyślnie TRUE.  Decyduje, czy element ma uczestniczyć w cyklicznym odświeżaniu.
  • refreshtype – opcjonalnie, domyślnie ‘value’, określa zachowanie po odczytaniu danych:

    value’ – dane odczytane z PLC umieszczane są w danym elemencie (Uwaga! Usuwana jest cała wcześniejsza zawartość elementu!) ,

    status’ – jeśli wartość odczytywana z PLC różni się od statusu (0 lub 1) danego elementu, wykonywana jest funkcja FlipIt(),

    slider’ – zakłada że dany element jest ‘suwakiem’ (jQuery UI slider) i aktualizuję wartość zgodnie z danymi uzyskanymi z PLC.
  • valuetype – opcjonalnie, domyślnie ‘text’.  Aktywne dla refreshtype=’value’.  Decyduje, czy dane odczytane z PLC wpisać w dane element bez obróbki, lub zamienić na temperaturę (valuetype=’temp’).
  • image – opcjonalnie, id obrazka jako string. Aktywne dla refreshtype=’status’.  Określa jaki obrazek ma podlegać zamianie po odczytaniu danych z plc.

 

Przykład 1 (w ramach $(window).load):

$('#ReadField1').MakeReadField({
	read: 'QX0.5'
});

Po wywołaniu funkcji StartRefreshing() cyklicznie odczytywane będą dane z adresu QX0.5, odczytane dane wpisane zostaną w element od id ‘ReadField1’,

Przykład2:

$('#ReadField2').MakeReadField({
	'IW0',
	valuetype: ‘temp’
});

Po wywołaniu funkcji StartRefreshing() cyklicznie odczytywane będą dane z adresu IW0, odczytane dane wpisane zostaną w element od id ‘ReadField2’ po konwersji na temperaturę (podzielone przez 10, z oznaczeniem jednostek)

Przykład 3:

$('#ReadField3').MakeReadField({
	read:'QX0.5',
	refreshtype: 'status',
	image: 'ReadField3_Image'
});

Po wywołaniu funkcji StartRefreshing() cyklicznie odczytywane będą dane z adresu QX0.5, odczytane dane zostaną przeanalizowane pod kątem konieczności zmiany statusu elementu ReadField3 (przypisania/usunięcia klasy ‘flipped’ i zmiany obrazka o id ‘ReadField3_Image’)

 

.MakWriteButton(options)

Zamienia dany element w przycisk wysyłający przy kliknięciu wskazane dane do PLC.  Po wysłaniu danych opcjonalnie może uruchomić odświeżanie innego elementu.

 

Parametry:

  • write - adres do komunikacji podany jako string.
  • staticvalue – wartość wysyłana do PLC określona ‘na sztywno’, np. 30,
  • dynamicvalue – wartość wysyłana do PLC określona dynamicznie jako wartość zawarta w innym elemencie. Parametr jest ignorowany, jeśli określony jest parametr staticvalue. Dopuszczana jest wartość przechowywana w:

    elemencie typu <div> odczytywana funkcją jQuery .text()

    elemencie tylu <input>  odczytywana funkcją jQuery .val()

    elemencie tylu Slider (z jQuery UI), rozpoznawanym jako posiadacz klasy ‘ui-slider’
  • refreshonwrite – opcjonalnie, id elementu, który powinien być odświeżony po skutecznym wysłaniu danych

 

Przykład 1 (w ramach $(window).load):

$('#Button1').MakeWriteButton({
	write:'MB11',
	staticvalue: 1
});

Po kliknięciu Button1, do PLC pod adres MB11 wysłana jest wartość 1.  Nic więcej się nie dzieje.

 

Przykład 2:

$('#Button2').MakeWriteButton({
	write: 'MB11',
	dynamicvalue: 'datafield1'
});

Po kliknięciu Button2, do PLC pod adres MB11 wysłana jest wartość przechowywana w elemencie o id ‘datafield1’.  

$('#Button3').MakeWriteButton({
	write: 'MB11',
	staticvalue: 1,
	refreshonwrite: 'ButtonHolder'
});

Po kliknięciu Button3, do PLC pod adres MB11 wysłana jest wartość 1. Po skutecznym wysłaniu odświeżany jest element o id ‘ButtonHolder’

 

.MakeTapButton(options)

Jest kombinacją funkcji .MakeReadField() i .MakeWriteButton.

Zmienia dany element w przycisk, który po kliknięciu wysyła do PLC wartość 1 i 0 (tzw. ‘tap’).  Ponadto przygotowuje dany element do cyklicznie odczytywania wskazanego adresu i aktualizowania Stanu elementu zgodnie z odczytanymi danymi.

Parametry:

  • write - adres do zapisywania podany jako string
  • read – adres do odczytywania stanu podany jako string
  • refresh – opcjonalnie, domyślnie TRUE.  Decyduje, czy element ma uczestniczyć w cyklicznym odświeżaniu.
  • image – opcjonalnie. Id obrazka, który ma być zmieniany przy zmianie stanu
  • tapduration –opcjonalnie, domyślnie 0, określa trwanie ‘tapu’, tj. odstęp czasowy między wysłaniem 0 po wysłaniu 1 (tylko, gdy przed wysłaniem status przycisku był 0).  Przydatny do sterowania blokami funkcyjnymi sterującymi roletami

 

Przykład 1 (w ramach $(window).load):

$('#Button1').MakeTapButton({ 
	write: 'MB11',
	read: 'QX0.5'
});

Button1 stanie się przyciskiem ‘tap-ującym’ zmienną pod adresem MB11 i zmieniającym stan wg danych odczytanych z QX0.5

$('#Button2').MakeTapButton({ 
	write: 'MB11',
	read: 'QX0.5',
	image: 'Button2_Image',
	tapduration: 1000
});

Podobnie jak w przykładzie 1, jednakże tap przy stanie przycisku 0 będzie trwał ponad 1 sec.  Ponadto obrazek o id ‘Button2_Image’ będzie zmieniany w zależności od stanu przycisku.