Quantcast
Channel: SPS-Forum - Automatisierung und Elektrotechnik
Viewing all 49253 articles
Browse latest View live

TIA Misteriösitäten im Bausteinkopf eines FC bei Temp-Variable

$
0
0
Habe eine 1515-F CPU
in der befindet sich ein FC mit Temp-Variablen.
Habe folgendes Problem, die Bool-Variable mit dem Offset 10.2 im Kopf ist auf True gesetzt ohne dass im Programm diese Variable bearbeitet wird, den es gibt gar kein Code in diesem FC.
Frage, wer setzt diese Variable, und wie kann ich das ausfindig machen?
Kann man nicht irgendwie Generell durch einen Befehl alle Temp-Werte auf Null setzen bevor man in den FC einsteigt ?
Ich könnte sicherlich per Hand jeden Wert Null-setzen !
Danke
Angehängte Grafiken

TIA Softwaresynchronisierung

$
0
0
Hallo,

ich frage mich seit geraumer Zeit was es mit dieser "Softwaresynchronisierung" auf sich hat. Mir ist nicht klar wodurch diese Fehlermeldung erzeugt wird.

Manchmal ist die "Synchronisierung" möglich und das andere mal muss man "Ohne Synchronisierung fortfahren"..einen unterschied hat es bei mir bisher noch nicht gemacht.

Jetzt versuche ich mich gerade an einem Baustein und wollte den "WRIT_DBL" (Speicher DB Daten aus dem RAM speicher in den MMC speicher, so dass bei einem Reset die eingestellten Daten erhalten bleiben) nutzen was auch soweit gut funkioniert. Nur bekomme ich jetzt jedesmal diese Meldung, wenn ich den Baustein ausführe. Kann mir einer sagen, was es damit auf sich hat? Und wie ich das umgehen kann?:confused:

Danke!

Softwaresynchronisierung.jpg
Angehängte Grafiken

TIA Bibliothek

$
0
0
Hallo,

wie ist es möglich FB´s und FC`s in den Bibliotheken als Typen abzuspeichern.
Im Moment kann ich diese nur in den Kopiervorlagen ablegen.

Die Bausteine enthalten nur lokale Variablen es sind keine EA´s parametriert.

Danke für eine Lösung. ;)

TIA Blockmove für S7 1200 Alternative

$
0
0
Hallo Leute,

ich scheitere gerade kläglich daran, den Blockmove-Befehl in der 1200er CPU, genauer gesagt in eienr 1214 DC/DC/Rly einzusetzen. Den Alten BLKMOV gibt es in der Form ja nicht mehr und ich möchte mit einem Pointer auf meine Rezeptliste in einem Array zugreifen und diese verschiedenen Parameter in mein Struct verschieben, je nachdem, welches Rezept angewählt wurde.

Zuerst habe ich dies mit "MOVE_BLK" versucht, dort kann ich allerdings keinen Pointer einsetzen, es heißt, dass der aktuelle Datentyps des Arrays bzw des Struct nicht zum Datentyp des Parameters IN passt.

Nun habe ich den Baustein "MOVE_BLK_VARIANT" im Einsatz, hieran kann ich meinen Pointer schon einmal ohne Fehlermeldungen einsetzen, jedoch bekomme ich an der Return_Value entweder den Fehler:
Der Wert am Parameter SRC_INDEX befindet sich außerhalb der Grenzwerte des VARIANT. (8382)

Im ersten Screenshot sieht man oben das Array [0..9] of Struct und diese Structures sollen in die Structure in Zeile 25 verschoben werden, also je nachdem, welche ausgewählt wurde.

Was habe ich an der Beschaltung von dem MOVE_BLK_VARIANT" denn falsch gemacht?

Über Hilfe wäre ich sehr erfreut :smile:

Gruß Andre.
Angehängte Grafiken

TIA "Komplexe" Datenstruktur mittels UDP von S7-1500 lesen

$
0
0
Guten Tag miteinander,

Mein Name ist Mark und ich versuche mich gerade am UDP-Protokoll mittels S7-1500. Meine Aufgabe ist es ein -leider nicht änderbares- Datenpaket mittels UDP auszulesen. Dazu möchte ich eine S7-1516-3PN/DP verwenden. Ich denke, dass ich den Empfang mittels TRCV_C-Baustein hinbekomme. Mein Problem ist eher die "Datenstruktur" welche ich lesen möchte. Mir ist leider nicht bekannt, wie ich der SPS diese Struktur beibringe, sei es in einem globalen DB oder einem Array-DB oder wie auch immer. Ziel ist nun mal, dass die Daten die gesendet werden auch geordnet ankommen und weiter verarbeitet werden können. Das Paket sieht wie folgt aus:

Code:

struct UDPPacket
{
    float m_time;

    float m_lapTime;
    float m_lapDistance;
    float m_totalDistance;
    float m_x;                // World space position
    float m_y;                // World space position
    float m_z;                // World space position
    float m_speed;                // Speed of car in MPH
    float m_xv;                // Velocity in world space
    float m_yv;                // Velocity in world space
    float m_zv;                // Velocity in world space
    float m_xr;                // World space right direction
    float m_yr;                // World space right direction
    float m_zr;                // World space right direction
    float m_xd;                // World space forward direction
    float m_yd;                // World space forward direction
    float m_zd;                // World space forward direction
    float m_susp_pos[4];    // Note: All wheel arrays have the order:
    float m_susp_vel[4];            // RL, RR, FL, FR
    float m_wheel_speed[4];
    float m_throttle;
    float m_steer;
    float m_brake;
    float m_clutch;
    float m_gear;
    float m_gforce_lat;
    float m_gforce_lon;
    float m_lap;
    float m_engineRate;
    float m_sli_pro_native_support;    // SLI Pro support
    float m_car_position;            // car race position
    float m_kers_level;            // kers energy left
    float m_kers_max_level;        // kers maximum energy
    float m_drs;            // 0 = off, 1 = on
    float m_traction_control;        // 0 (off) - 2 (high)
    float m_anti_lock_brakes;        // 0 (off) - 1 (on)
    float m_fuel_in_tank;        // current fuel mass
    float m_fuel_capacity;        // fuel capacity
    float m_in_pits;            // 0 = none, 1 = pitting, 2 = in pit area
    float m_sector;            // 0 = sector1, 1 = sector2, 2 = sector3
    float m_sector1_time;        // time of sector1 (or 0)
    float m_sector2_time;        // time of sector2 (or 0)
    float m_brakes_temp[4];        // brakes temperature (centigrade)
    float m_tyres_pressure[4];        // tyres pressure PSI
    float m_team_info;            // team ID
    float m_total_laps;            // total number of laps in this race
    float m_track_size;            // track size meters
    float m_last_lap_time;        // last lap time
    float m_max_rpm;            // cars max RPM, at which point the rev limiter will kick in
    float m_idle_rpm;            // cars idle RPM
    float m_max_gears;            // maximum number of gears
    float m_sessionType;        // 0 = unknown, 1 = practice, 2 = qualifying, 3 = race
    float m_drsAllowed;            // 0 = not allowed, 1 = allowed, -1 = invalid / unknown
    float m_track_number;        // -1 for unknown, 0-21 for tracks
    float m_vehicleFIAFlags;        // -1 = invalid/unknown, 0 = none, 1 = green, 2 = blue, 3 = yellow, 4 = red
    float m_era;                        // era, 2017 (modern) or 1980 (classic)
    float m_engine_temperature;      // engine temperature (centigrade)
    float m_gforce_vert;        // vertical g-force component
    float m_ang_vel_x;            // angular velocity x-component
    float m_ang_vel_y;            // angular velocity y-component
    float m_ang_vel_z;            // angular velocity z-component
    byte  m_tyres_temperature[4];    // tyres temperature (centigrade)
    byte  m_tyres_wear[4];        // tyre wear percentage
    byte  m_tyre_compound;        // compound of tyre – 0 = ultra soft, 1 =  super soft, 2 = soft, 3 = medium, 4 = hard, 5 = inter, 6 = wet
    byte  m_front_brake_bias;            // front brake bias (percentage)
    byte  m_fuel_mix;                    // fuel mix - 0 = lean, 1 = standard, 2 = rich, 3 = max
    byte  m_currentLapInvalid;        // current lap invalid - 0 = valid, 1 = invalid
    byte  m_tyres_damage[4];        // tyre damage (percentage)
    byte  m_front_left_wing_damage;    // front left wing damage (percentage)
    byte  m_front_right_wing_damage;    // front right wing damage (percentage)
    byte  m_rear_wing_damage;        // rear wing damage (percentage)
    byte  m_engine_damage;        // engine damage (percentage)
    byte  m_gear_box_damage;        // gear box damage (percentage)
    byte  m_exhaust_damage;        // exhaust damage (percentage)
    byte  m_pit_limiter_status;        // pit limiter status – 0 = off, 1 = on
    byte  m_pit_speed_limit;        // pit speed limit in mph
    float m_session_time_left;  // NEW: time left in session in seconds
    byte  m_rev_lights_percent;  // NEW: rev lights indicator (percentage)
    byte  m_is_spectating;  // NEW: whether the player is spectating
    byte  m_spectator_car_index;  // NEW: index of the car being spectated


    // Car data
    byte  m_num_cars;                  // number of cars in data
    byte  m_player_car_index;            // index of player's car in the array
    CarUDPData  m_car_data[20];      // data for all cars on track
};


struct CarUDPData
{
    float m_worldPosition[3];    // world co-ordinates of vehicle
    float m_lastLapTime;
    float m_currentLapTime;
    float m_bestLapTime;
    float m_sector1Time;
    float m_sector2Time;
    float m_lapDistance;
    byte  m_driverId;
    byte  m_teamId;
    byte  m_carPosition;    // UPDATED: track positions of vehicle

    byte  m_currentLapNum;
    byte  m_tyreCompound;    // compound of tyre – 0 = ultra soft, 1 = super  soft, 2 = soft, 3 = medium, 4 = hard, 5 = inter, 6 = wet
    byte  m_inPits;              // 0 = none, 1 = pitting, 2 = in pit area
    byte  m_sector;              // 0 = sector1, 1 = sector2, 2 = sector3
    byte  m_currentLapInvalid;    // current lap invalid - 0 = valid, 1 = invalid

    byte  m_penalties;  // NEW: accumulated time penalties in seconds to be added

};

Meine Frage an die Profis unter euch: Geht das überhaupt?
Über Antworten freue ich mich riesig :)!
Mit freundlichen Grüßen,
Mark

ADS .NET-DLL mit Powershell Nutzen und Variable aus SPS lesen

$
0
0
Servus zusammen,

ich möchte gerne über die .Net TwinCAT.Ads.dll Variablen in der SPS lesen und schreiben.

Das ganze möchte ich gerne über ein Powershell Script machen.

Ich kann die dll in Powershell bereits nutzen und ein Variablen Handle erstellen. Beim Lesen und Schreiben hakt es allerdings noch.

Das habe ich bisher:

//Dll einbinden:
[Reflection.Assebly]::LoadFile("Pfad\TwinCat.Ads.dll")

//Verbindungsaufbau:
$client = New-Object TwinCat.Ads.TcAdsClient
$client.connect("amsNetId", port)

//Handle erzeugen
$hvar = $client.CreateVariableHandle("Main.Var1")

Wäre sehr dankbar, wenn mir jemand helfen kann den Befehl zum Lesen/Schreiben richtig aufzubauen.

Danke für jeden Tipp!

Maximal erlaubte Kupferschienentemperatur ?

$
0
0
Wir haben ein Projekt wo ein Unterlieferant ein Gebläse mit zuhörender Steuerschrank geliefert hat.

Nun hat der Endkunde alle Steuerschränke mit ein IR-Kamera fotografiert, und festgestellt das die Kupferschienen in der Steuerschrank von unser Unterlieferant ein Temperatur 102°C beträgt.
Der Kunde meint es ist zu hoch.
Ich fühle auch es ist ein bisschen hoch, aber ist es tatsächlich zu hoch ?

Den einsigste Standard die ich finden kann ist DIN43671, wovon ich zitiere:
Für einen sicheren Betrieb mit thermischer Reserve ist es erstrebenswert, die Sammelschienentemperatur auf maximal 85°C zu begrenzen.
Maßgebend ist jedoch die niedrigste zulässige Dauertemperatur der Komponenten, die das Sammelschienensystem direkt berühren (Reiterelemente, abgehende Leitungen etc.).

Ich finde auch Dimesionierungstabellen und Kurven wobei die Tabellen und Kurven bis 110°C gehen.

Weis jemand ob es gibt Standards zu diesen Thema ?
Den maximalen Temperatur von isolierte Leitungen und Kabeln ist häufig 70°C, aber Kupferschienen ist wohl ein Sonderfall, da sie ja nicht isoliert sind.

Step 7 Bits im DB nach Flanken prüfen und zählen

$
0
0
Hallo,

wie die Überschrift schon sagt, möchte ich die Bits in einem DB nach positiven Flanken abfragen. Bei einer positiven Flanke soll in einem anderen DB gezählt werden.
Ein Bit soll dabei einem Byte zugewiesen werden:

DB1.DBX 0.0 -> DB2.DBB 0
DB1.DBX 0.1 -> DB2.DBB 1
DB1.DBX 0.2 -> DB2.DBB 2 usw.

Bei keiner Flanke oder negativen Flanke sollen alle anderen Bits überprüft werden und das Gleiche wieder von vorne.

Ich habe bereits etwas geschrieben, aber ich habe wohl etwas übersehen oder vielleicht ist es auch ganz falsch:

Code:

      L    #start_address     
      T    #adr
      L    #DB_Nr1                    // DB1 load
      T    #DB_1
      L    #DB_Nr2                    // DB2 load
      T    #DB_2
      L    #Number_DBX


M001: T    #Loop
      AUF  DB [#DB_1]
      FP    DBX [#adr]
      SPB  M002
      L    #adr
      L    1
      +D   
      T    #adr
      CLR 
      L    #Loop
      LOOP  M001
      BEA 
M002: AUF  DB [#DB_2]
      L    DBB [#adr]
      +    1
      T    DBB [#adr]

Orientiert habe ich mich hieran, da AWL für mich Neuland ist.
Kann mir da jemand weiterhelfen?

Die Aufgabe ist, eine Statistik zu den Störmeldungen zu erstellen. Die Störmeldungen liegen alle in einem Baustein. Da es sehr viele Meldungen sind und ich nicht an jeder Meldung einen Zähler dran hängen will, ist die Idee oben entstanden. Ist meine Idee oben vielleicht komplett falsch und jemand hat eine bessere Idee?

Vielen Dank im Voraus!

Step 5 Problem beim Übertragen von geänderten FB auf S5 115u

$
0
0
Hallo zusammen,

ich habe heute versucht einen geänderten FB auf unsere Siemens S5 115u zu übertragen und bekam folgende Fehlermeldung " Der Baustein FB136 ist im Eprom oder Betriebssystem der SPS und kann nicht überschrieben werden"( Bild)

Ich benutze die Software von IBH Softec.

Hat jemand von Euch eine Ahnung was das Problem sein könnte?

Vielen Dank!!!


20170828_141425.jpg
Angehängte Grafiken

TIA Word to Bit

$
0
0
Nabend,

sind noch neu in der TIA Thematik und bräuchten eure Hilfe.
Wir benutzen einen Datenbaustein mit 16 Bits (Word), nun müssten wir um einen Ausgang zu setzen auf ein Bit des DB's(Word) zugreifen/zuweisen.
Nur wie?

Bob

Step 7 Strings vergleichen mit EQ_STRNG

$
0
0
Hallo Zusammen,
hab mich erst gerade bei Euch eingefunden wiel ich auf mein Problem nichts praktisches gefunden habe.
Folgendes möchte ich realisieren:
In einem FC möchte ich in einer Schleife (0..15) einen String mit einem String in einem DB vergleichen.
Im DB ist der Soll String in einem Array untergebracht.
"DB_TRAYS".Set[0].Code[0] // es dreht sich um BarCodes.

Wie kann ich den IEC Aufruf für EQ_STRNG gestalten damit ich die Codes 0-15 mit einer Schleife vergleichen kann?

Ich habs schon mit Pointer und ANY probiert - komm da aber nicht wirklich weiter!

vorab Danke!

Step 7 FB mit Globalem DB adressieren geht nicht ??

$
0
0
Hallo zusammen,

ich brauche eure Hilfe um einen Anfänger ein bisschen voran zu bringen :)

Ich habe einen DB400, da sind Daten für die Kommunikation mit der HMI

Dann habe ich einen FB10, den ich im übergeordneten FB20* 21 mal als Multiinstanz aufrufe.

Jetzt würde ich gerne die 21 FB10 mit den Daten aus DB400 adressieren.*


Bei mir funktioniert das aber nicht.

Gibt es da einen besonderen Trick?


Ich *hoffe ihr konntet mir folgen ;)

TIA S7-1200 T_CONFIG "hängt sich auf"

$
0
0
Hallo,

wir bauen Serienmaschinen mit CPU 1214 DC/DC/DC. Ein Teil der Maschinen wird beim Kunden in das jeweilige Firmennetzwerk eingebunden, dazu muss natürlich die IP-Adresse geändert werden. Um das ohne Serviceeinsatz möglich zu machen, verwenden wir den T_CONFIG. Das Projekt wird über eine Memory Card auf die CPU übertragen. Dort ist der Haken bei "Anpassen der IP-Adresse direkt am Gerät erlauben" selbstverständlich gesetzt, der Haken ist auch online gesetzt, die CPU im Memory-Card-Projekt enthält keine IP-Adresse. Im OB100 löst eine bestimmte Tasterkombination einen Aufruf des T_CONFIG mit Default-Werten aus, über den die Maschine ihre Werks-IP-Einstellung bekommt. Das wird bei jeder Maschine für die Erstinbetriebnahme genutzt und funktioniert einwandfrei. Zusätzlich haben wir auf einem TP700 eine selbst geschriebene C# .NET CF Anwendung laufen, die dem Kunden ermöglicht, über das Panel die IP-Adresse zu ändern. Diese Anwendung arbeitet mit dem selben T_CONFIG-Aufruf mit den selben Datenquellen.

Hoch sporadisch kommt es vor, dass sich der T_CONFIG aufhängt.
Bei steigender Flanke an T_CONFIG.Req ergibt sich dann folgendes Bild:

  • Es werden keine IP-Adressdaten geändert
  • T_CONFIG.Error wird für einen Zyklus TRUE
  • T_CONFIG.Status wird für einen Zyklus 16#C080_9000
  • T_CONFIG.Err_Loc bleibt 16#0000_0000

Diese Kombination aus Status und Err_Loc ist nicht in der Hilfe aufgeführt.
Status 16#C080_9000 bedeutet in Kombination mit einem anderen Err_Loc, dass die Daten fehlerhaft sind, allerdings können auch die Werks-IP-Einstellungen (die eindeutig gültige Daten enthalten) über die Tasterkombination nicht mehr geladen werden. Jede steigende Flanke an "Req" ergibt dann das oben genannte Fehlerbild.
Der Fehler konnte bisher nur bei Firmware 4.0 festgestellt werden.

Nachdem die CPU einmal vollständig urgelöscht und das Projekt neu übertragen wurde, funktioniert der T_CONFIG wieder einwandfrei.

Kennt eventuell jemand dieses Fehlerbild und weiß, woher es kommt und wie man es ohne Urlöschen beheben kann?

Anforderungen an normgerechte Dokumentation des PL-Nachweises

$
0
0
Guten Morgen!

Ich bin am überlegen, welche Dokumente für einen Sicherheitsnachweis nach DIN EN ISO 13849-1 gefordert werden. Entsprechend der Norm in Kapitel 10 "Technische Dokumentation" werden die Dokumente zu sicherheitsbezogenen Teilen gefordert, es wird jedoch nichts von Dokumenten zum Nachweis ganzer Sicherheitsfunktionen erwähnt (z.B. Funktionsbeschreibung, Sicherheitsbezogenes Blockdiagramm, Software, Konstruktive Merkmale, Risikobeurteilung, etc.)

Wie würdet ihr also eine Dokumentation für die normgerechte Umsetzung durchführen?

Grüße
Safety_Simon

TIA Vorlage für BITSUM für beliebige (nicht optimierte)DB als SCL Quelle

$
0
0
Hallo liebes Forum,

Die letzte Zeit war ich nur stille Mit-Leser.
Arbeit ohne Ende gehabt.

Jetzt hab ich was Zeit um Rest-AWL programmteilen um zu schreiben nach SCL.
Wir hatten in AWL eine Bitsumme für DB's. Nach online Suche hab ich gesehen das solche Funktionen es nicht Standard in de Bibliothek und SCL gibt und Mann sich selbst etwas ausdenken (oder zusammenreimen) muss.

Für derjenigen die es mal braucht:
Bei diese meine Quelle zum BITSUM auf Basis von ATTR_DB und FOR Schleife.

Code:

  FUNCTION_BLOCK "BITSUM"
TITLE = BITSUM
{ S7_Optimized_Access := 'TRUE' }
AUTHOR : 'v.Berkel'
VERSION : 0.1
  VAR_INPUT
      DB_IN { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : DB_ANY;
  END_VAR
  VAR_OUTPUT
      "Bits > 0" { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : Bool;
      Anzahl_Bits { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : Int;
  END_VAR
  VAR
      Attrib { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : Byte;
      DB_Länge { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : UDInt;
      Retval { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : Int;
      Zählwert { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : Int;
      Zählwert_start { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : Int;
      Zählwert_ende { ExternalAccessible := 'False'; ExternalVisible := 'False'; ExternalWritable := 'False'} : Int;
  END_VAR

BEGIN
 #Retval := ATTR_DB(REQ := true, DB_NUMBER := #DB_IN, DB_LENGTH => #DB_Länge, ATTRIB => #Attrib);
 
 #Anzahl_Bits := 0;
 #Zählwert_start := 0;
 #Zählwert_ende  := (UDINT_TO_INT(#DB_Länge) - 1);
 
 FOR #Zählwert := #Zählwert_start TO #Zählwert_ende DO
    #Anzahl_Bits := #Anzahl_Bits + BITSUM(BYTE_TO_DWORD(PEEK(area := 16#84, dbNumber := #DB_IN, byteOffset := #Zählwert)));
 END_FOR;
 
 #"Bits > 0" := #Anzahl_Bits > 0;
END_FUNCTION_BLOCK

Bram

Step 7 Hardware Config Export-file (.cfg) Parameter erklärt

$
0
0
Hallo SPS-Gemeinde:
Ich schlage mich schon eine ganze Weile mit Export-files aus der HW-Config unterschiedlicher Projekte herum.
Leider ist für mich nicht nachvollziehbar was die Parameter die bei E/A Modulen angegeben sind bedeuten.
zB:
......
NORMMODULE_REFERENCE "-1"
CREATOR ""
COMMENT ""
LOCAL_IN_ADDRESSES
ADDRESS 60, 0, 3, 0, 2, 0 (<------ Was bedeuten diese Parameter??????)
SYMBOL I , 0, "e_lebensz_lsb", "Lebenszeichen von Liniensteuerbus"
SYMBOL I , 1, "e_verk_n_ausl_ein_lsb", "Verkettung nach Auslaufband läuft"
.......

(1/6) ist klarerweise das Start-Byte
die (3/6) bezieht sich auf die Anzahl der Bytes (oder manchmal auch auf Anzahl Bits??)
Ich hoffe jemand hier hatte schon damit zu tun und kann mich aufklärern :confused:
Grüße aus Salzburg

Probleme bei libnodave mit CP-1243-1 / S7 1215C

$
0
0
Hallo zusammen,

ich kommuniziere mit einem selbstgeschriebenen Serverprozessin der Sprache C mit der der neuesten Version der Bibliothek libnodave.0.8.5 mit einer S7 1215C.

Die Kommunikation funktioniert stabil und ohne Fehler wenndas Netzwerkkabel direkt auf der CPU eingesteckt ist.

Sobald ich aber eine zusätzliche CP-Baugruppe (CP 1243-1) verwende, funktioniert die Kommunikation nach ca. 2-3 Tagen nicht mehr!
Die S7antwortet dann nicht mehr.
Libnodave liefert einen Timeout (Code -1025).


Anschließend muss mein Programm neu gestartet werden undfunktioniert dann meistens wieder.
Manchmal muss aber sogar die S7 durchgestartet werdendamit die Kommunikation wieder funktioniert.



Mein Serverprozess baut nur 1x die Verbindung zur S7 auf undhält diese ewig.

Die Verbindungsparameter sind in beiden Fällen (also mit und ohne CP):
Protokoll: daveProtoISOTCP
Port: 102
MPI: 2(spielt aber keine Rolle bei daveProtoISOTCP ?)
Rack: 0
Slot: 1

Hat mir jemand einen Tipp wo das Problem liegen könnte?
Ich vermute dass es an der CP liegen muss!
Die Anzahl an offenen Verbindungen ist auch im Fehlerfall 1von möglichen 8 (Anzahl S7 Verbindungen).

Opc ua

$
0
0
Guten Morgen :-)
ich habe eine externe Anwendung, die als Schnittstelle einen OPC UA-Server (DataAccess genügt) erwartet.
Aktuell setze ich einen AXC1050 ein, ist dieser bereits Server oder benötige ich dafür eine extra Lösung?

Schonmal vielen Dank,
Fakrae

STO für FU direkt vom Sicherheitsrelay?

$
0
0
Hallo,

ist es zulässig das STO Signal direkt von 2 sicheren Ausgängen (STO A und STO B) an den FU weiterzuleiten, oder muss noch ein Koppelschütz dazwischen?

Vielen Dank!

Gruß Mathias

TIA Abfrage des Bit- und Byteoffsets eines digitalen Eingangs

$
0
0
Hallo Forum,

ist es möglich von einem digitalen Eingang (bspw. %E1.6) den Byte- (1) und den Bitoffset (6) zu extrahieren und die jeweilige Zahl in eine eigens dafür angelegte Variable zu schreiben?
Viewing all 49253 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>