Próbuję ugryźć Modbusa TCP w sterowniku 750-880 (pobieranie i zapisywanie danych do sterownika przez aplikację zewnętrzną - konkretnie OpenHab).
Testowe połączenie nawiązałem, pobieram rejestry. Pytanie mam o zmienne.
Jeżeli adresuję zmienną w ten sposób:
test_var AT %MB0 : BOOL;
to rozumiem, że kompilator uwzględnia moje deklaracje i pomija wskazane w deklaracjach zakresy pamięci? Moje deklaracje mają priorytet, a cała reszta zmiennych "dostosuje się" ze swoją lokalizacją? Czy nie ma ryzyka nadpisania innych zmiennych?
Jaki charakter mają te zmienne - czy jest to odpowiednik VAR RETAIN PERSISTENT?
Jeżeli zmienna z kolei jest zadeklarowana zwyczajnie:
test_var : BOOL;
To czy jest w jakiś sposób dostępna przez modbusa? Wiadomo, jej adres może "pływać" między kompilacjami ale czy pobierając adres zmiennej z wizualizacji mogę go jakoś wykorzystać z modbusem?
Kolejna sprawa to wejścia i wyjścia cyfrowe. Czy dobrze to rozumiem, jeżeli czytam np. 7 bit to zawsze będzie to 7 z kolei wejście fizyczne na sterowniku? Jeżeli dodam/usunę karty ze sterownika to muszę na nowo przejrzeć co gdzie jest podłączone i odpowiednio do zmian czytać rejestry?