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

JavaScript + TIA Portal

VPS Starter Arubacloud
+1 głos
97 wizyt
pytanie zadane 25 kwietnia w JavaScript przez tubylec01 Obywatel (1,500 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 (255,800 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,500 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,248 wizyt
pytanie zadane 21 września 2015 w JavaScript przez Michał_J Nowicjusz (160 p.)
0 głosów
1 odpowiedź 180 wizyt
0 głosów
1 odpowiedź 198 wizyt
pytanie zadane 18 lipca 2019 w Inne języki przez Tholin Nowicjusz (160 p.)

92,980 zapytań

141,943 odpowiedzi

321,189 komentarzy

62,309 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...