• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

JavaScript + TIA Portal

Object Storage Arubacloud
+1 głos
53 wizyt
pytanie zadane 25 kwietnia w JavaScript przez tubylec01 Obywatel (1,350 p.)

Cześć,

Chciałbym odczytać ze sterownika różne zmienne z poziomu web serwera za pomocą JavaScript.
Obecnie mam takie coś:

Fragment pliku .js:

let test_value;

$(document).ready(function(){
    $.ajaxSetup({ cache: false });

    setInterval(actuall_time, 1000)
    setInterval(function() {

        $.get("PLC_com_state.htm", function(result){
            test_value = result;
        });

    },2000);
});

 

Plik "PLC_com_state.htm":

:="test":

 

Tag na sterowniku:

 

Teraz tak, jak wezmę w komentarz fragment:

$.get("PLC_com_state.htm", function(result){
            test_value = result;
        });

.. to strona użytkownika działa ok ale jak usunę komentarz (fragment jest aktywny) zrywa mi połączenie z PLC, nie można go znaleźć w sieci i jedyne co zostaje to restart sterownika.

Nie wiem co może być przyczyną ani jakie dodatkowe informacje są potrzebne, sterownik na jakim pracuję: 6es7510-1sk03-0ab0 [CPU 1510SP F-1 PN].

Czy ktoś wie o co chodzi, jest w stanie pomóc, Jeśli są potrzebne dodatkowe informację to chętnie udzielę.

1
komentarz 25 kwietnia przez VBService Ekspert (254,260 p.)
edycja 25 kwietnia przez VBService

AFAIK sterowniki takie posiadają możliwość po bezpośrednim podłączeniu się do nich po sieci LAN (z poziomu przeglądarki stron), aby przejrzeć logi, może w logach znajdziesz przyczynę błędu. Prawdopodobnie TIA m. in. pozwala na takie połączenia i przeglądanie logów danego sterownika (na 100% nie jestem pewien jeszcze nie miałem styczności z tym oprogramowaniem - ale zakładam, że programiści z Siemens-a mieli i to na uwadze).

Spróbuj jeszcze taki zapis może pokaże się jakiś sensowny komunikat błędu

  setInterval(function() {
    $.get("PLC_com_state.htm", function(result) {
      test_value = result;
    })
     .fail(function(jqXHR, textStatus, errorThrown) {
      console.warn("Wystąpił błąd podczas żądania AJAX dla pliku PLC_com_state.htm");
      console.error(textStatus, errorThrown)
    });
  }, 2000);

 

lub tak, zamiast "zasypywać" sterownik kolejnymi żądaniami get (setInterval) wywołaj kolejne żądanie po zakończeniu obecnego np.

let test_value;

$(document).ready(function(){
  $.ajaxSetup({ cache: false });

  setInterval(actuall_time, 1000);

  plcComState__Request();
  function plcComState__Request() {
    $.get("PLC_com_state.htm", function(result) {
      test_value = result;
    })
     .fail(function(jqXHR, textStatus, errorThrown) {
       console.warn("Wystąpił błąd podczas żądania AJAX dla pliku PLC_com_state.htm");
       console.error(textStatus, errorThrown);
    })
     .always(function() {
       setTimeout(plcComState__Request, 2000);
    });
  }
});

 

 

BTW, sprawdź też:  Siemens TIA Portal software, the SIMATIC Automation Tool 

Automation Tool operations:

  • Scan a PROFINET/Ethernet network and identify all devices connected to the network
  • Flash device LEDs or HMI screens to physically locate a device
  • Create a table that maps the accessible devices on the network
  • Assign addresses (IP, subnet, gateway) and station name (PROFINET device)
  • Set the time in a CPU to the current time in your PG/PC
  • Download a program to a CPU and HMI panels
  • Put a CPU in RUN or STOP mode
  • Perform a CPU Memory reset

  • Backup/Restore CPU or HMI data to/from a backup file
  • Upload service data from a CPU
  • Upload of service data from ET200 devices
  • Read the diagnostics buffer from a CPU
  • Reset a CPU to factory default settings
  • Update firmware in a CPU and attached modules
  • Ability to load firmware update files on devices and activate the new firmware later
  • Support for CPUs connected through a CM (Communications Module) or CP (Communications Processor)
  • Upload, download, or delete Recipe data (stored at SMC) from a CPU
  • Upload or delete Data log data (stored at SMC) from a CPU
  • Information in Device table for CPUs: TIA Portal version and configured CPU version
  • Document and save your network information
    • In a standard text .csv file or
    • An encrypted & password protected .sat file
  • Use the API to create custom .NET applications based on the functionality available in the SIMATIC Automation Tool
  • Advanced features:
    • Up to 10 concurrent connections.
    • Scheduler for scheduling device operations on a time and frequency of your choosing
    • Card browser for working with files and folders on SIMATIC memory cards in your CPUs
    • Archiving capabilities for SAT projects and associated file data
    • Ability to insert multiple devices in one operation
    • Support for devices behind a NAT router
komentarz 25 kwietnia przez tubylec01 Obywatel (1,350 p.)

Dzięki za zainteresowanie tematem, na razie nic nie działa.
Aktualizacja z mojej strony:
 

W pliku HTM zapis ':="test":' dział i daje poprawny wynik.

<div class="inside_frame">
                    <h3><span style="color: #eb7a58;"> nic:</span></h3>
                    <h3>:="test":</h3>
                    <h3>al402s</h3>
                </div>

Jeśli w pliku PLC_com_state.htm wpiszę po prosty '1' to mi też to zwraca odpowiednia wartość...

Podsumowując:
Czyli jak w pliku głównym index.htm odpytam o  ':="test":' to dostaję zwrotkę, jeśli odpytam o to samo przez JavaScript i plik pomocniczy 'PLC_com_state.htm' to już nie działa i zrywa połączenie...

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 1,225 wizyt
pytanie zadane 21 września 2015 w JavaScript przez Michał_J Nowicjusz (160 p.)
0 głosów
1 odpowiedź 103 wizyt
0 głosów
1 odpowiedź 188 wizyt
pytanie zadane 18 lipca 2019 w Inne języki przez Tholin Nowicjusz (160 p.)

92,620 zapytań

141,471 odpowiedzi

319,794 komentarzy

62,002 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...