Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Modbus master TCP Siemens s7-1200

neo_dc 12 Sep 2017 13:53 2001 4
SterControl
  • #1
    neo_dc
    Level 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
  • SterControl
  • Helpful post
    #2
    kornik280
    Level 18  
    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
  • SterControl
  • #3
    neo_dc
    Level 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..

    Quote:
    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
    neo_dc
    Level 32  
    kornik280 wrote:



    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 :)