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

S7 1200 modbus przez CM1241

grabek_radek 18 Sep 2017 18:45 882 4
  • #1
    grabek_radek
    Level 21  
    Witam serdecznie
    Potrzebuje pomocy w komunikacji s7 1200
    Posiadam s7 1212 i CM 1241, próbuję pobrać dane z urządzenia podłączonego do procesora komunikacyjnego, adres slave 2, prędkość 9600, bez parzystości, długość 8 bitów stop 1, użyte piny w CM 1241 pin 8 -A pin 3 -B brak terminacji w chwili obecnej długość przewodu ok 1 m, rejestr z którego chcę odebrać z slave to 202 ...
    testowałem w programie i jest ok
    https://drive.google.com/open?id=0B5bu8iMzZxEwSE1rTzJZRF9kVmc
    jednak komunikacja CPU nie działa prawidłowo - w MB_master po odłączeniu przewodu między slave nie zgłasza błędu error = 0, status =0
    zamieszczam 2 filmy, jeden z odczytem 16 bitów do 1 słowa oraz 2 film 1 słowo zapis do word.
    https://drive.google.com/open?id=0B5bu8iMzZxEwMXRVWFFjczZhSzg
    https://drive.google.com/open?id=0B5bu8iMzZxEwSlJ5VWxydk1CWWM

    może poproszę o jakąś wskazówkę?
  • #2
    kornik280
    Level 18  
    Podepnij zmienne pod wyjścia error, status bloku MB_COMM_LOAD i zobacz czy inicjalizacja poszła ok
  • #3
    grabek_radek
    Level 21  
    na filmie nie ma ale sprawdzałem brak error. Tylko teraz się zastanawiam czy jeśli odczepię fizycznie przewód od slave to czy tam coś się pojawi ?

    Dodano po 14 [minuty]:

    kornik280 czy patrzyłeś na 2 filmy, czy dobrze postępuję jeśli pobieram 16 bitów to wpisuje w DATA_ADDR 202 DATA_LEN=16, w moim przypadku rejestr 202, a jeśli pobieram całe słowo to w DATA_ LEN =1 i w DATA_ADRES (40001+202) = 40203 ?
  • #4
    kornik280
    Level 18  
    Wydaje się tak. Można spróbować wpisać do DATA_PTR zamiast słowa MW20 wskaźnik do tablicy word
    Czyli stworzyć blok danych z odznaczoną optymalizacją a w bloku tablice word