Witamy, Gość. Zaloguj się lub zarejestruj.
Aktualności:
Forum Sterowniki PLC Inteligentny dom > Systemy zarządzania >

Super prosty program SCADA - IQarium

Strony: [1] 2
Drukuj
Autor Wątek: Super prosty program SCADA - IQarium  (Przeczytany 10919 razy)
doozersmagic
Jr. Member
**
Wiadomości: 16


Super prosty program SCADA - IQarium
: Styczeń 07, 2014, 16:13:58 pm »

Witam Forumowiczów,
kilka dni temu napisałem i udostępniłem bardzo prosty program na Androida do sterowania PLC w moim domu. Program wykorzystuje MODBUS-TCP do komunikacji z sterownikiem i wyśmienicie działa z FATEK'iem. Obecnie program robi to co ma robić w mojej instalacji, ale tak mi się spodobało programowanie pod Androidem iż chętnie bym go rozwijał, chciałbym jednak aby użytkownicy tacy jak Wy skazali kierunek rozwoju.
Inaczej, wyobraźcie sobie że nie macie żadnych ograniczeń technologicznych - to co chcielibyście mieć w takim programie. Prośba o sugestie, chętnie je zaimplementuję.
Uprzedzając pytania - program jest darmowy, koduję go w wolnym czasie wyłącznie dla fun'u, nie planuję na nim zarabiać pieniędzy, program nie odczytuje ani nie wysyła żadnych poufnych informacji w sieć.
Zdaje sobie sprawę że program ma jeszcze pewnie kilka niedociągnięć, ale wszystko jest do poprawienia - chętnie porozmawiam z Wami na ten temat

program jest dostępny w Play: https://play.google.com/store/apps/details?id=eu.kleniu.modbus.modbusMobGUI

pozdrawiam

dm

arturs
Sr. Member
****
Wiadomości: 225



Super prosty program SCADA - IQarium
#1 : Styczeń 08, 2014, 20:55:24 pm »

jak się to konfiguruje?

doozersmagic
Jr. Member
**
Wiadomości: 16


Super prosty program SCADA - IQarium
#2 : Styczeń 09, 2014, 11:45:17 am »

Witaj,
konfiguruje się całkiem prosto poprzez zmianę pliku XML o nazwie /mb/default.xml. Plik tej jest tworzony automatycznie przy pierwszym uruchomieniu programu, stąd modyfikując go dowolnym edytorem tekstowym jesteś w stanie zmienić:
- adres IP swojego sterownika PLC - domyślnie jest ustawiony 192.168.2.50 (znacznik <controllerip>)
- port TCP na jakim nasłuchuje PLC - domyslnie 502 (znacznik <controllerport>)
- adres startowy wyjść binarnych, (tzw coils) jakie mają być cyklicznie odpytywane przez program w celu odczytania aktualnego statusu - domyślnie 0 (znacznik <startaddress>)
Uwaga! Jest to małe odstępstwo od standardu MODBUS-TCP, gdyż zgodnie z standardem numeracja wyjść startuje od 1 - ja, lubię liczyć od "0"
- ilość wyjść binarnych jakie mają być cyklicznie odpytywane przez program - domyślnie 4 (znacznik <quantity>)
Uwaga! na razie jest to maksymalna liczba wyjść jakie program może obsłużyć, tak to zakodowałem - napiszcie proszę jaka ilość wyjść Was interesuje to przerobię
- interwał w [ms] co jaki ma być cyklicznie odczytywany stan wyjść określonych w poprzednich znacznikach - domyślnie 500 (znacznik <refresh>)
Uwaga! najmniejsza akceptowalna wartość to 250ms - to jest moje ograniczenie jakie zakodowałem w programie, a nie ograniczenie protokołu MODBUS-TCP

Reszta wpisów do definicja tego co ma pokazać się na ekranie w postaci listy wierszy (tzw ListView). Każdy wiersz jest zdefiniowany znacznikiem <item>.
Jak definiujemy wiersze:
a) znacznik <type> określa czy wiersz ma być nagłówkiem (wpisujemy wtedy słowo: group), czy zwykłym wierszem reprezentującym konkretne wyjście binarne sterownika PLC (wpisujemy wtedy słowo: row)
b) znacznik <title> określa tytuł wiersza
c) znacznik <description> określa tekst jaki ma się pojawić w wierszu
pozostałe znaczniki są istotne wyłącznie dla typu wiersza "row"
1) <icon_on> jaką ikonkę, zdefiniowaną w zasobach programu chcemy zastosować gdy wyjście ma stan aktywny
2) <icon_off> analogicznie dla wyjścia gdy jego stan jest nieaktywny
3) <coil> numer wyjścia binarnego w PLC skojarzonego z danym wierszem, naciśnięcie na ekranie wiersza spowoduje zmianę stanu wyjścia w PLC na przeciwny

i to wszystko - jeżeli masz jakieś dodatkowe pytania proszę zadawaj - chętnie na nie odpowiem

pozdrawiam

dm

seru1983
Jr. Member
**
Wiadomości: 10


Super prosty program SCADA - IQarium
#3 : Styczeń 09, 2014, 13:23:02 pm »

Wygląda OK. Jeszcze nie miałem możliwości sprawdzenia. Jak dla mnie to brakuje sterowania roletami. No i nie wiem jak wygląda ekran startowy, ale dla mnie idealną sytuacją by było na pierwszym ekranie wybrać interesującą nas strefę np. Sypialnia a potem na ekran by wyrzuciło urządzenia z tego pomieszczenia (oświetlenie, roleta, temperatura). Nie wyobrażam sobie sterować 35-obwodami oświetleniowymi z poziomu jednego ekranu . Jakie dokładnie funkcje modbusa wspiera i dlaczego tylko 4 obwody

doozersmagic
Jr. Member
**
Wiadomości: 16


Super prosty program SCADA - IQarium
#4 : Styczeń 09, 2014, 14:21:58 pm »

Dzięki za uwagi

będę monitorował i dodawał funkcjonalność sukcesywnie - na razie mam do zaimplementowania 2 feature'y, komentujcie, głosujcie

F1 - eliminacja konieczności przewijania dużej ilość wierszy, aby włączyć obwód ostatni na liście
chciałbym się kierować tutaj 2 zasadami - ma być efektownie i ma być jak najmniej klikania

a) propozycja seru1982: ekran startowy z możliwością wyboru stref, a następnie lista z urządzeniami w strefie (+'sy proste, mało klikania  -'sy prawie wszyscy tak mają )
b) propozycja moja nr1: wyświetlenie prostego modelu 3D zrobionego w ScetchUp'ie do selekcji strefy, a następnie lista z urządzeniami w strefie (+'sy super efekt -'sy trudniejsze, więcej klikania typu zoom obrót itd )
c) propozycja moja nr2: wyświetlenie od razu listy wszystkich urządzeń ale pogrupowanych, gdzie każdą z grup możemy zwijać i rozwijać, przy starcie wszystkie są zwinięte (+'sy akceptowalny efekt, proste, super mało klikania -'sy nie widzę)

na razie zapisuje wynik głosowania na: (a)2:(b)0:(c) - seru1982 - prowadzisz

F2 - implementacja sterowania roletmi
i tutaj sposób implementacji jest uzależniony od sposobu sterowania roletami. Wyobrażam sobie dwie możliwości:
1) bezpośrednio zapis 2 wyjść binarnych z sterownika PLC: góra, dół. Logiką sterowania silnikiem zarządza sterownik eliminujący problem włączenia sygnału góra i dół jednocześnie
2) bezpośrednio zapis 1 Holding Register z sterownika PLC: wartość 0 oznacza roleta w górze, wartość 100 roleta w dole. Logiką sterowania silnikiem za pomocą dwóch wyjść binarnych zaimplementowana w PLC - jestem przekonany że da się zrobić na drabince

a) propozycja moja: wprowadzę nowy typ wiersza <row-register>, który po naciśnięciu i przytrzymaniu umożliwi wykrycie przesunięcia palucha w lewo lub w prawo, co spowoduje zapis do Holding register albo 0 albo 100 (+'sy łatwo na tej samej zasadzie obsłużyć ściemniacze -'sy nie wiem jeszcze jak zaimplementować to w PLC)

na razie zapisuje wynik głosowania na: (a)1 - ja prowadzę

ZAPRASZAM do dyskusji - pamiętacie co napisałem w pierwszym mailu - wyobraźmy sobie że nie mamy ograniczeń technologicznych.

pozdrawiam

dm

p.s. mam własną bibliotekę do komunikacji po modbus-tcp napisaną w java gdzie zaimplementowałem na razie dwie funkcje:
0x01   Read Coils   1-bit
0x05   Write Single Coil 1-bit
ale jako że to moja własna biblioteka, to dorobić pozostałe to sama przyjemność

p.s.2 gdyż mam u siebie tylko 4 obwody (ale za kilka godzin będę miał osiem Spoko ) i nikogo kto byłby skłonny potestować z większą ilością obwodów w ramach beta-testów. Poza tym proste sprawdzanie składni i odczytanie pliku XML robię w głównym wątku UI, co generalnie jest słabym rozwiązaniem i właśnie pracuję nad przeniesieniem tej funkcji do osobnego AsyncTask'u. Jeżeli jesteś chętny na beta'testowanie i masz konto na Google+, to chętnie dopiszę Ciebie do betatesterów i zdejmę ograniczenie na 4 wyjścia - rozumiem że chcesz 35 ?

« Ostatnia zmiana: Styczeń 09, 2014, 14:24:39 pm wysłane przez doozersmagic »

kerok
Jr. Member
**
Wiadomości: 6


Super prosty program SCADA - IQarium
#5 : Styczeń 10, 2014, 14:34:49 pm »

Witam fajny pomysł, ale przydałoby się też sterowanie wejściami przydatne w scenach świetlnych i przy paru innych rzeczach.

arturs
Sr. Member
****
Wiadomości: 225



Super prosty program SCADA - IQarium
#6 : Styczeń 10, 2014, 15:22:21 pm »

dzieki za info.. potestuję jutro.. mam około 100 wyjść więc próby mogą być owocne.. nie wiem czy jest to już zaimplementowane takie żeczy jak znaczki typu stopień, procent, itp. do tego powinna być możliwość definiowania ilości cyfr po przecinku - chodzi o to że np. ada po modbusie podaje temperaturę w wartościach typu 2345 to 23.45, dodatkowo może być signed. żeby temperatura czy wilgotność podawane były w odpowiedni sposób..

seru1983
Jr. Member
**
Wiadomości: 10


Super prosty program SCADA - IQarium
#7 : Styczeń 10, 2014, 18:35:03 pm »

Coś nie bardzo mi działa. ..
zmieniłem IP na IP sterownika (192.168.0.101)
port zostawiłem 502
adres startowy 32768 (od takiego 0x8000 sterownik trzyma coil'e)
Dalej już nic nie zmieniałem. Nie jestem tylko pewien jednej rzeczy. Edytor tekstowy na androida którym edytuje xml pokazuje mi sciezke tego pliku jako "/mnt/sdcard/mb/default.xml" ale wpisanie takiej sciezki w IQarium powoduje powstanie bledu "file is not accesible"
Generalnie klikanie na ekranie nie powoduje zmiany stanów. Podczas gdy inne aplikacje np QModMaster zapisuje i odczytuje ze sterownika bez problemu.

PS. Chętnie betapotestuje. Aplikacja wygląda obiecująco i szkoda by było gdyby umarła Konto na Google+ jest takie samo jak moj nick: seru1983

arturs
Sr. Member
****
Wiadomości: 225



Super prosty program SCADA - IQarium
#8 : Styczeń 10, 2014, 21:04:53 pm »

skąd się wziął ten 3768?
po modbusie z fateka czytamy normalnie od 40001 ( jedno zero więcej niż w standardzie)

doozersmagic
Jr. Member
**
Wiadomości: 16


Super prosty program SCADA - IQarium
#9 : Styczeń 11, 2014, 11:02:18 am »

Cytat: seru1983  Styczeń 10, 2014, 18:35:03 pm
zmieniłem IP na IP sterownika (192.168.0.101)
port zostawiłem 502

dobrze

Cytat: seru1983  Styczeń 10, 2014, 18:35:03 pm
adres startowy 32768 (od takiego 0x8000 sterownik trzyma coil'e)

napisz proszę, z jakiego sterownika PLC korzystasz. Jeżeli jest to możliwe, podaj proszę źródło informacji mówiącej o adresach wyjść (coils) udostępnianych po modbusie od adresu 0x8000 - wystarczy mi jakiś link do strony, pdf.
Super że działa to z OModMasterem. Troszeczkę Googlałem i nie byłem w stanie nic znaleźć o tym programie - podrzuć jakiegoś linka proszę, bo program też by mi się przydał

Cytat: seru1983  Styczeń 10, 2014, 18:35:03 pm
Dalej już nic nie zmieniałem.

i podejrzewam, że tutaj jest pies pogrzebany. Trzeba zmienić też zawartość znacznika <coil> dla każdego wiersza. Jeżeli chcesz to przygotuje Tobie plik XML, jeżeli tylko podasz mi adresy 4 dowolnych wyjść binarnych jakie chciałbyś wysterować.

Cytat: seru1983  Styczeń 10, 2014, 18:35:03 pm
Nie jestem tylko pewien jednej rzeczy. Edytor tekstowy na androida którym edytuje xml pokazuje mi sciezke tego pliku jako "/mnt/sdcard/mb/default.xml" ale wpisanie takiej sciezki w IQarium powoduje powstanie bledu "file is not accesible"

Nie wiem na ile interesują Cie bebechy Androida, jeżeli raczej nie to następnym razem nie będę tak głęboko zagłębiał w tłumaczenie bitów bajtów. Proszę, nie odbieraj tego jako kozaczenie (nie lubię się wymądrzać, ale lubię jak ludzie dzielą się swoją wiedzą), Android, jak i inne systemy mobilne to moje hobby i pasja
Więc przedrostek /mnt/sdcard to tak zwany "Primary External Storage Directory". Zwykły śmiertelnik, nie powinien wiedzieć że taki katalog istnieje. Wie tylko, że istnieje coś co nazywa się "External Storage", a gdzie w strukturze katalogów siedzi on w Androidzie to nie ma znaczenia. W dokumentach argumentują to stwierdzeniem:

"Applications should not directly use this top-level directory, in order to avoid polluting the user's root namespace."

Stąd, w IQarium też to ukryłem i katalog gdzie siedzi plik XML zaczyna się domyślnie od /mb. Następnie, sam w kodzie doklejam /mnt/sdcard (w Twoim przypadku)
I tutaj zgadzam się z Tobą, może być to mylące dla dociekliwych (i spostrzegawczych) osób, gdyż samo /mb sugeruje że plik że będzie zapisywany na root'cie, a to jest przestępstwo karane banicją. Stąd, czapka z głowy, dzięki za trafne spostrzeżenie. Poprawie to tak: w dialogu gdzie zmienia się katalog i nazwę pliku konfiguracyjnego XML dodam info, że dotyczy to miejsca "Primary External Storage Directory" o nazwie - w Twoim przypadku - /mnt/sdcard pole to nie będzie edytowalne, w imię zasad i dobrych praktyk, aby np. nie znalazł się haker który wykorzystywałby IQarium do zapychania fs root'a.

Cytat: seru1983  Styczeń 10, 2014, 18:35:03 pm
Generalnie klikanie na ekranie nie powoduje zmiany stanów. Podczas gdy inne aplikacje np QModMaster zapisuje i odczytuje ze sterownika bez problemu.

To jest, prawdopodobnie, pokłosie pozostawienia domyślnych wartości w znacznikach <coil>

Cytat: seru1983  Styczeń 10, 2014, 18:35:03 pm
PS. Chętnie betapotestuje. Aplikacja wygląda obiecująco i szkoda by było gdyby umarła Konto na Google+ jest takie samo jak moj nick: seru1983

Ale się cieszę - z góry dziękuję. Już teraz zachęcam innych czytających ten wątek do przyłączenia się . W zamian dostarczam:
- możliwość wpływania na rozwój programu - przykładowo, pomysł seru1983, patrz poprzedni mój post feature F1 będzie zaimplementowany wkrótce
- za Waszą zgodą, umieszczę nick'i w credits'ach - będzie zabawa

seru1983 - za niedługo dostaniesz maila z zaproszeniem do dołączenia do kręgu betatesterów od doozersmagic. Krąg będzie zamknięty w tym sensie że nie jest udostępniany w search'arkach, uwagi i bugi będzie można omawiać już bezpośrednio tam

pozdrowienia

dm


doozersmagic
Jr. Member
**
Wiadomości: 16


Super prosty program SCADA - IQarium
#10 : Styczeń 11, 2014, 11:52:18 am »

kerok, arturs

dzięki za uwagi  Chichot

Cytat: kerok  Styczeń 10, 2014, 14:34:49 pm
Witam fajny pomysł, ale przydałoby się też sterowanie wejściami przydatne w scenach świetlnych i przy paru innych rzeczach.

Myślałem o tym i oczywiście się zgadzam - obsługa scen świetlnych to podstawa.
Przy implementacji skłaniam się do tego, aby włączanie/wyłączanie kilku obwodów na raz lub sekwencji włączania/wyłączania kilku obwodów realizować już na schemacie drabinkowym (ladder diagram) w samym PLC. Wyobrażam sobie to tak, że IQarium zapisywałoby jakąś zdefiniowaną wartość po modbusie do wybranego rejestru, a PLC cyklicznie odczytując ten rejestr, gdy wykryje naszą wartość i wykona to co zaprogramowaliśmy w drabince.
Dlaczego właśnie tak ? Otóż wydaje mi się cała logika powinna być zaimplementowana w PLC, a IQarium lub podobne powinny być tylko interfejsem - takim rodzajem cienkiego klienta. Nie wiem czy jasno się wypowiadam, ale chyba rozumiesz o co mi chodzi.  Jest tylko jeden minus takiego podejścia, gdy chcemy używać "mniej inteligentnych" urządzeń niż PLC i bezpośrednio sterować je z IQaium pod MODBUS-TCP to wtedy logikę trzeba byłoby zaimplementować w IQarium. Osobiście oceniam jednak że większość z nas ma PLC, stąd dlaczego nie wykorzystać jego potencjału.
à propos, jakiego sterownika używasz/planujesz użyć w swojej instalacji kerok ?

Cytat: arturs  Styczeń 10, 2014, 15:22:21 pm
mam około 100 wyjść więc próby mogą być owocne..
niestety, jak pisałem wcześniej, aktualnie obsługuję 4 wyjścia - patrz poprzednie moje wpisy. Ale, właśnie pracuję nad optymalizacją i będzie ich więcej, rozumiem że Ciebie interesuje 100 wyjść binarnych ?

Cytat: arturs  Styczeń 10, 2014, 15:22:21 pm
nie wiem czy jest to już zaimplementowane takie żeczy jak znaczki typu stopień, procent,
nie jeszcze nie mam obsługi innych wyjść/rejestrów poza wyjściami binarnymi (on/off), ale to będzie w następnej kolejności implementowane

Cytat: arturs  Styczeń 10, 2014, 15:22:21 pm
itp. do tego powinna być możliwość definiowania ilości cyfr po przecinku - chodzi o to że np. ada po modbusie podaje temperaturę w wartościach typu 2345 to 23.45, dodatkowo może być signed. żeby temperatura czy wilgotność podawane były w odpowiedni sposób..

o i to jest bardzo cenna uwaga. Ponownie skłaniam się do tego aby całą logikę - w tym przypadku "formatowania" do jednej spójnej postaci przenieść na PLC. Inaczej mówiąc, to PLC komunikuje się z urządzeniami jak ADA, następnie przekształca do jednego spójnego uzgodnionego formatu, a IQarium zawsze odczytuje już jeden format danych. Ponownie jak poprzednio, daje nam to olbrzymi plus, mianowicie każdy majsterkowicz  może sobie taką logikę w drabince zrobić (może nie każdy, bo ja nie potrafię, jeszcze) na dowolnym typie PLC - wystarczyłoby tylko opisać "format" danych jakie może poprawnie interpretować IQarium i po sprawie. Rozwiązanie staje się wtedy jakieś bardziej czyste, co sądzisz ?
No i wykorzystujemy moc PLC, za którą zapłaciliśmy więc należy wykorzystać. Myślę że takim formatem danych może być to co podaje ADA na swoich czujkach, ale nie wiem czy to jest legalne, a chciałbym grać fair, choćby dlatego że, jak widzę cel-mar robi bardzo fajne urządzenia.
Arturs, jaki PLC masz u siebie, domyślam się że FATEK'a, ale jaki model ? A może dostajesz się bezpośrednio do czujek ADA przez jakiś konwerter RS<->Eth  

« Ostatnia zmiana: Styczeń 11, 2014, 11:54:56 am wysłane przez doozersmagic »

arturs
Sr. Member
****
Wiadomości: 225



Super prosty program SCADA - IQarium
#11 : Styczeń 11, 2014, 15:32:19 pm »

mam fbs32 z modułami rs232,485.cbeh, i kilkoma 24ex i 24ey..
z adą gadam po rs485,
co do scen świetlnych i filozofii to zgadzam sie w 100%.. wszystko w plc a tu na cienkim kliencie jeden znacznik on/off
co do formatowania to chyba musisz zrobić to po swojej stronie.. po modbusie nie przekazesz liczby zmiennoprzecinkowej czy chociaz ulamka.. ale to od strony programu chyba nie problem rozbic ciąg na części i wstawić przecinek czy kropkę..
co ma być kegalne w stosunku do ADA? to tylko interfejs z 1wire na modbus po rs485.. i podaje temperaturę tak jak napisałem
16bitów signed, czyli dziesiętnie 0345 to będzie 3.45 stopnia, 2398 to 23.89 stopnia, ujemne podobnie tylko pierwszy bit jako znak.. więc tu nie ma mowy o jakims naruszeniu praw autorskich.. to normalny modbus więc nie ma tu filozofii..

seru1983
Jr. Member
**
Wiadomości: 10


Super prosty program SCADA - IQarium
#12 : Styczeń 11, 2014, 18:27:54 pm »

Cytat: doozersmagic  Styczeń 11, 2014, 11:02:18 am

napisz proszę, z jakiego sterownika PLC korzystasz. Jeżeli jest to możliwe, podaj proszę źródło informacji mówiącej o adresach wyjść (coils) udostępnianych po modbusie od adresu 0x8000 - wystarczy mi jakiś link do strony, pdf.
Super że działa to z OModMasterem. Troszeczkę Googlałem i nie byłem w stanie nic znaleźć o tym programie - podrzuć jakiegoś linka proszę, bo program też by mi się przydał

Sterownik to Beckhoff CX9020, tutaj jest domyślne mapowanie zmiennych:
http://infosys.beckhoff.com/content/1033/tcmodbussrv/html/TcModbusSrv_Mapping.htm
Program to QModMaster http://sourceforge.net/projects/qmodmaster/ wersja skompilowana jest w zakładce "files"

Cytat: doozersmagic  Styczeń 11, 2014, 11:02:18 am

i podejrzewam, że tutaj jest pies pogrzebany. Trzeba zmienić też zawartość znacznika <coil> dla każdego wiersza. Jeżeli chcesz to przygotuje Tobie plik XML, jeżeli tylko podasz mi adresy 4 dowolnych wyjść binarnych jakie chciałbyś wysterować.

Yyy... ale domyślnie są wpisane 0, 1, 2, 3. Takie mi odpowiadają dlatego nie zmianiałem.

Cytat: doozersmagic  Styczeń 11, 2014, 11:02:18 am

Wyobrażam sobie to tak, że IQarium zapisywałoby jakąś zdefiniowaną wartość po modbusie do wybranego rejestru, a PLC cyklicznie odczytując ten rejestr, gdy wykryje naszą wartość i wykona to co zaprogramowaliśmy w drabince.

Dokładnie... po co programować HMI i PLC skoro wystarczy samo PLC

kerok
Jr. Member
**
Wiadomości: 6


Super prosty program SCADA - IQarium
#13 : Styczeń 11, 2014, 19:30:12 pm »

moją instalację oparłem na sterowniku Fatek FBs-24MC z CBE,FBs-60XYJ,FBs-CM55 budowa na ukończeniu wiec na razie
uruchomione jest tylko oświetlenie brak czasu na zabawę w inne systemy ale instalacja jest przygotowana na inne
funkcjonalności na pewno ada wiec im więcej danych zaimplementujesz do odczytu tym lepiej.

doozersmagic
Jr. Member
**
Wiadomości: 16


Super prosty program SCADA - IQarium
#14 : Styczeń 11, 2014, 20:57:57 pm »

Cytat: seru1983  Styczeń 11, 2014, 18:27:54 pm
Yyy... ale domyślnie są wpisane 0, 1, 2, 3. Takie mi odpowiadają dlatego nie zmianiałem.
I tutaj przyznaje, że też można źle zinterpretować znacznik <coil>
<coil> (w zamyśle autora czyli mnie ) to adres a nie indeks w liście/tablicy wyjść - zmienię znacznik <coil> na <coiladdress> i będzie bardziej przejrzyście.

stąd, po przeczytaniu manuala do TwinCAT'a, aby wysterować pierwsze cztery wyjścia binarne Twojego sterownika, to plik XML powinien mieć postać:

Kod:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<version>1</version>
<mode>demo</mode>
<controllerip>192.168.0.101</controllerip>
<controllerport>502</controllerport>
<startaddress>32768</startaddress>
<quantity>4</quantity>
<refresh>500</refresh>
<screen>
<name>Cokolwiek, bo na razie nie wykorzystywane</name>
<item>
<type>group</type>
<title>1</title>
<description>Grupa pierwszych trzech wyjść</description>
</item>
<item>
<type>row</type>
<title>Pierwsze wyjście</title>
<description>Pewnie coś ciężkiego w salonie</description>
<iconon>ic_bulb_on</iconon>
<iconoff>ic_bulb_off</iconoff>
<coil>32768</coil>
</item>
<item>
<type>row</type>
<title>Drugie wyjście</title>
<description>Pewnie coś lekkiego na ścianie</description>
<iconon>ic_bulb_on</iconon>
<iconoff>ic_bulb_off</iconoff>
<coil>32769</coil>
</item>
<item>
<type>row</type>
<title>Trzecie wyjście</title>
<description>Pewnie coś na piętrze</description>
<iconon>ic_bulb_on</iconon>
<iconoff>ic_bulb_off</iconoff>
<coil>32770</coil>
</item>
<item>
<type>group</type>
<title>2</title>
<description>Grupa jednoelementowa</description>
</item>
<item>
<type>row</type>
<title>Czwarte wyjście</title>
<description>Coś jasnego</description>
<iconon>ic_bulb_on</iconon>
<iconoff>ic_bulb_off</iconoff>
<coil>32771</coil>
</item>
</screen>
</config>

daj znać czy zadziałało

Strony: [1] 2
Drukuj
Skocz do: