Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Modbus master TCP Siemens s7-1200

neo_dc 12 Wrz 2017 13:53 213 4
  • #1 12 Wrz 2017 13:53
    neo_dc
    Poziom 32  

    Cześć

    Dopiero zaczynam uczyć się programować PLC i zabrnąłem w ślepą uliczkę....

    Mam do napisania pewien prosty program w języku LAD - i tutaj nie będzie problemu, to kilka zależności on-off.
    Niemniej, do wywołania pewnego ciągu zdarzeń potrzebuję sygnału z komputera, który komunikuje się ze sterownikiem po modbus TCP.

    Umieściłem blok MB_SERVER_DB w Main.

    Tutaj zaczyna się problem...

    Chciałbym, żeby np. zapis do sterownika za pomocą funkcji holding_reg (np. pod adresem 1 ) zmieniał status jakiegoś bitu w pamięci, a ja sobie go wykorzystam i dalej z górki. Pod adresem 2 i 3 mogłyby być do podejrzenia wejścia/wyjścia sterownika.
    Niestety sam nie wiem co wpisać w MB_HOLD_REG w bloku MB_SERVER_DB, a różne tutoriale mówią zupełnie o czym innym i niektórzy tworzą jakieś tablice, niektórzy używają wskaźników... pogubiłem się zupełnie.

    Mógłby mi ktoś to jakoś objaśnić ?

    CPU 1211C, TIA Portal V14

  • Pomocny post
    #2 12 Wrz 2017 14:14
    kornik280
    Poziom 16  

    Holding registers ( instrukcja 6 lub 16 do zapisu) tyczy się rejestrów 16 bitowych, czyli w tym przypadku wpisujesz liczbę do rejestru i ją możesz sprawdzić za pomocą operatorów porównania.
    Oczywiści możesz wpisać 1 i sprawdzać pierwszy bit słowa 16 bitowego, ale to nie ma sensu
    Do MB_HOLD_REG wpisujesz wskaźnik do tablicy word, czyli musisz stworzyć data block (optymalizacja musi być odznaczona) w nim stworzyć tablice word

  • #3 13 Wrz 2017 13:14
    neo_dc
    Poziom 32  

    OK, mniej więcej rozumiem, ale tym razem mam następną zagwozdkę...

    Utworzyłem sobie nowy projekt, dodałem MB_Server_db i....
    no właśnie, wygląda inaczej niż poprzednio.

    Doszedł parametr CONNECT po lewej stronie, nie ma PORT... jest mi ktoś w stanie wydłumaczyć jakie parametry tam muszę powpisywać w to CONNECT ?

    Nie znalazłem niczego, co by mi pomogło..

    Cytat:
    Pointer to the structure of the connection description

    The following structures (SDTs) can be used:

    TCON_IP_v4: Includes all address parameters that are required for establishing a programmed connection. The default address is 0.0.0.0 (any IP address), but you can enter a specific IP address so that the server only responds to requests from this address. When using TCON_IP_v4, the connection is established when calling the "MB_SERVER" instruction.

    TCON_Configured: Includes the address parameters of a configured connection. When using TCON_Configured, the connection is established by the CPU after download of the hardware configuration.



    Nie wiem, o co chodzi, poprzednio nie wymagało takich parametrów...

  • #5 13 Wrz 2017 23:12
    neo_dc
    Poziom 32  

    kornik280 napisał:



    Strzał w 10 :)

    Dla potomnych - jeśli film wygaśnie - trzeba utworzyć DB z parametrami połączenia i do niego odnosić się przy podawaniu parametrów do MB_server.

    Dzięki :)

 
Promocja -20%
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
tme