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

Step 7 S7-300/S7-400 Verbindungsressourcen über S7-Treiber auslesen

$
0
0
Hallo,

ich wüsste gerne, ob man mit übers Netzwerk die maximale Anzahl der Verbindungsressourcen und die Anzahl der nicht belegten Verbindungen auslesen kann.
Das müsste doch irgendwo in einer SZL stehen, oder? Welcher Treiber kann das?





Danke für Informationen!

Schöne Grüße
funkey

TIA WinCC Advanced V15, HMI-Variablen

$
0
0
Kann man für internen Variablen die Eingeschaft nichtfüchtiger oder fllüchtiger wahlen?

WinCC Bildschirmschoner erstellen für TP (Firmenlogo fliegt umher) How to?

$
0
0
Hallo,
ich würde gern einen einfachen Bildschirmschoner erstellen,
das heisst wenn zb. 1 Stunde kein Neustart der Maschine erfolgt ist wird ein Bild in der HMI aufgerufen in dem das Firmenlogo kreuz und quer im Bild hin her wandert oder an versch. ein und ausblendet...

Habt ihr dafür eine Idee zur Umsetzung?
wenn sich das Logo zufällig hin und her bewegt oder ein und ausblendet wäre das toll,
aber auch eine regelmässige gleiche Bewegung / Einblenden an verschiedenen Stellen wäre schon toll.

Vielleicht hat ja jemand sowas auch schon umgesetzt (Script?) und möchte mir helfen.

danke

Exception nach Framework wechsel

$
0
0
Hallo zusammen,

ich habe aktuell ein Problem auf Arbeit mit dem ich nicht wirklich weiter komme. Habe ein Projekt vom Kollegen übernommen in dem ich mit einem MQTT-Server kommunizieren soll.

Zu dem Problem:

Die MQTT Bibliothek läuft nur ab Framework 4.5.2 und das Projekt lief bis jetzt nur unter Framework 3.5. Ich habe also die Framwork-Version hoch gesetzt und kann jetzt das Programm nicht mehr mit VS 2017 debuggen und auch die .exe nicht mehr öffnen.

Hier mal der Code-Ausschnitt von dem Abschnitt, in dem die Exeption auftritt:

Code:

   
'öffentliche Variablen OPC
    Public Itemhandle_Visu As Array
    Public WithEvents ServerObj As OPCServer
    Public WithEvents GroupObjvisu As OPCGroup
    Public WithEvents GroupsObjvisu As OPCGroups
    Public WithEvents GroupData As OPCGroup
    Public WithEvents GroupsData As OPCGroups
    Public ItemData As OPCItem
    Public Itemhandle_Data As Object

Public Sub Schreibe_OPC_ID(ByVal OPC_Wert As Object, ByVal OPC_ID As Object)

        Dim Dims() As Integer = New Integer() {1}
        Dim Bounds() As Integer = New Integer() {1}
        Dim Serverhandles As Array = Array.CreateInstance(GetType(Integer), Dims, Bounds)
        Dim MyErrors As Array = Array.CreateInstance(GetType(Integer), Dims, Bounds)
        Dim MyValues As Array = Array.CreateInstance(GetType(Object), Dims, Bounds)

        Try

            ' Initialize
            Serverhandles.SetValue(Itemhandle_Visu(OPC_ID), 1)
            MyErrors.SetValue(0, 1)
            MyValues.SetValue(OPC_Wert, 1)

            GroupObjvisu.SyncWrite(1, Serverhandles, MyValues, MyErrors)
            'Edit_WriteRes.Text = ServerObj.GetErrorString(MyErrors(1))

            Exit Sub

            'ErrorHandler:
            '            MsgBox(Err.Description & Chr(13), MsgBoxStyle.Critical, "ERROR")

        Catch

            MsgBox("Kommunikationsfehler" & Chr(13) & "ID " & OPC_ID, MsgBoxStyle.Critical, "Fehler Schreibe ID")

        End Try

    End Sub

Der Inhalt der Exception lautet:

Code:

System.AccessViolationException:  "Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben.  Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt  ist."
Die verwendeten Bibliothelen sind Interop.OPCAutomation.dll und Interop.OPCSiemensDAAutomation.

Kann es sein das diese Bibiliotheken das neue Framework nicht unterstützen? Wäre für Hilfe dankbar.


Ps. Ja ich weiß das in diesem Projekt VB6 & VB.Net gemischt sind. Habe allerdings keine Zeit das komplett neu zu schreiben und bitte euch daher nicht so kritisch zu sein

EDIT:

Ich habe jetzt folgende Codezeilen online gefunden welche ich in die app.config eingefügt habe und damit habe ich den Fehler nicht mehr, doch leider habe ich nicht verstanden was diese bedeuten ;/

Code:

  <runtime>
    <legacyCorruptedStateExceptionsPolicy enabled="true"/>
  </runtime>

Codesys 2 (TwinCAT 2) FB_ReadAdsSymByName und globale Variablen

$
0
0
Hallo allerseits


Ich versuche mit einer Beckhoff CX8091 via FB_ReadAdsSymByName Daten von einer CX9010 zu lesen. Dazu habe ich ein Testprogramm auf beiden Seiten geschrieben (siehe unten). Lese ich nun eine Variable aus dem Main Programm, also in meinem Fall MAIN.iMainCount, funktioniert das bestens. Versuche ich aber eine globale Variable zu lesen, geht das nicht. Was mache ich falsch? Wie ist der Syntax um globale Variablen zu lesen? Global_Variables.iGlobalCount funktioniert leider nicht. Beim Lesen der globalen Variable erhalte ich die ErrorId 1808 (symbol not found).

Danke für Eure Hilfe!

BitShift


CX9010 **************************************************
MAIN (PRG)
10ms Task
**************************************

PROGRAM MAIN
VAR
iMainCount: INT := 0;
END_VAR


IF iMainCount <= 32767 AND iMainCount >= 0 THEN
iMainCount := iMainCount + 3;
ELSE
iMainCount := 0;
END_IF


IF iGlobalCount <= 32767 AND iGlobalCount >= 0 THEN
iGlobalCount := iGlobalCount + 7;
ELSE
iGlobalCount := 0;
END_IF


Global_Variables *****************************************

VAR_GLOBAL
iGlobalCount: INT := 0;
END_VAR


CX8091 *************************************************
MAIN (PRG) 10ms Task *************************************

PROGRAM MAIN
VAR
iReadMainCount: INT;
iReadGlobalCount: INT;
fbReadMain: FB_ReadAdsSymByName;
fbReadGlobal: FB_ReadAdsSymByName;
bReadPuls: BOOL;
END_VAR


IF bReadPuls THEN
bReadPuls := 0;
ELSE
bReadPuls := 1;
END_IF


fbReadMain.bRead := bReadPuls;
fbReadMain.sNetId := '10.102.123.121.1.1';
fbReadMain.nPort := 801;
fbReadMain.sVarName := 'MAIN.iMainCount';
fbReadMain.nDestAddr := ADR(iReadMainCount);
fbReadMain.nLen := 2;
fbReadMain.eComMode := 0;
fbReadMain();


fbReadGlobal.bRead := bReadPuls;
fbReadGlobal.sNetId := '10.102.123.121.1.1';
fbReadGlobal.nPort := 801;
fbReadGlobal.sVarName := 'iGlobalCount';
fbReadGlobal.nDestAddr := ADR(iReadGlobalCount);
fbReadGlobal.nLen := 2;
fbReadGlobal.eComMode := 0;
fbReadGlobal();
Angehängte Grafiken

Allen Bradley Rockwell Servo Achssteuerung

$
0
0
Hallo zusammen,
ich habe die folgende Situation:
ich nutze zum Bewegen einer Servo-Achse die MAM Funktion; sie bewegt sich auch und kommt auch zum stehen wenn die Bedingung davor nicht mehr wahr ist. Das Ergebnis ist eigentlich gut, nur dass manchmal eine Nachregelung stattfindet (stört aber nur wie gesagt manchmal).
Jetzt wüsste ich gern wie dies unterbinden kann. Danke
Welche Infos braucht ihr und mir da weiter helfen zu können?
System:
Rslogix 5000, 1756-L61 ControlLogix5561
MAM: Profile-->Trapezoidal; Decel Jerk--> 100; Merge-->Disabled; Siehe sonst Bild
Angehängte Grafiken

Pulsegen in TIA V15.1 richtig beschalten

$
0
0
Hallo SPS-Gemeinde,

aktuell setze ich mich mit dem Pulsgenerator-Baustein von Siemens für die S7-1500 Steuerung auseinander.
Da ich aus dem Informationsseiten von TIA zu diesem Baustein nicht ganz schlau werde, schildere ich hier mal mein Anliegen.

Ich möchte bei einem INV-Wert von 0-100% einen Pulstakt am QPOS_P erzeugen. Dieser Takt soll entsprechend des INV-Wertes =1 und den Rest der Periodendauer PER_TM =0 sein.

Bsp.:

INV-Wert = 25.0%
PER_TM = T#1M
QPOS_P 15sec =1 dann 45sec = 0

Wenn ich das so programmiere und alle anderen Eingänge des Bausteins auf den Standardwerten belasse ist der QPOS_P-Ausgang etwa 12sec = 1 und etwa 12sec = 0.

Kann mir jemand erklären, woran das liegt und wie ich die restlichen Eingänge richtig verschalte, dass der Baustein das tut, was ich erwarte?


Beste Grüße
Caterina

Logo 8 Zustandsbits Taktwechsel weitergeben

$
0
0
Hallo Forengemeinde,
ich habe folgendes Problem. Über ein Förderrad wird Material mit einer Variablen Geschwindigkeit transportiert Ein Messsystem wertet den Zustand des Materials (Gut oder Schlecht) aus. Einige Stationen (Takte) weiter. Soll dann ein auswerfen der „Gut“ Stücke erfolgen. Ich muss also die Zustandsbits Taktweise weiterschalten und an der Auswurfstation auswerten. Nach dem Auswurf kann das Zustandsbit verfallen. Hat jemand eine Idee wie Das zu lösen ist. Bei einer SPS klappt das ja ganz gut mit Datenwörtern als Variable. Aber bei der Logo habe ich noch keinen Schimmer.

Vielen Dank schon mal für eure Rückmeldungen

Wago Building 01 mit e! cockpit, FB_Sunshade_Aktuator

$
0
0
Hallo in die Runde, eine Hilfe wird benötigt.
Für den FB_Sunshade_Aktuator bin ich auf der Suche nach einem Programmierbeispiel.
Was geht: Wetterstation angeschlossen, Signale stehen zur Verfügung, die Beschattungsfunktion wird angefahren über WagoAppBuilding.FbSunshadeAutomaticSolarControl je Raffstore der Himmelsrichtung, Handbetrieb läuft, mit FbSunshadeAutomaticTwilightControl_Allgemein konnte auch schon ein Verdunkelung am Abend erreicht werden.

Was geht nicht, ich habe keine Ahnung was bei den FB-Blöcken im Hintergrund so abläuft und bräuchte dazu mal eine einfache Dokumentation/Erklärung über die Zusammenhänge der Funktionen und was sich der Entwickler dabei gedacht hat. Die WagoDoku liegt mir vor, nur ich bin zu blöd die Logik zu durchdringen. Das Programm macht nicht das, was ich denke/wünsche was es tun soll.

Wer kann mir weiterhelfen oder wo kann ich umfassende und einfache Hinweise zu dem Zusammenspiel der Funktionsblöcke finden?

Gruß Knut1967

Codesys 2.3.9.55 Constante verändert sich

$
0
0
Hallo,
es tritt das Problem auf, dass sich eine in VAR_GLOBAL CONSTANT gesetzte Konstante verändert, sobald das Programm gestartet wird. Im Programmablauf verändert sie sich dann erneut, auf einen reproduzierbaren Wert, die aber nicht logisch ist, also nicht im Code oder als Ausdruck vorkommen.
Es wird an vielen Stellen auf die Konstante zugegriffen, so dass ich nicht leicht die Codestellen auskommentieren kann, die in Frage kommen. Alle Zugriffe sind natürlich ohnehin nur lesend, Schreibzugriff auf eine Konstante sollte ja auch hoffentlich einen Fehler werfen.
Die veränderte Konstante führt im weitern Programmablauf dann zu Fehlern, sie wird als Index für Arrayzugriffe verwendet, was dann natürlich einen out of bounds Fehler wirft - aber das ist ja nur ein Symptom.
Zur Verdeutlichung hier mal Screenshots:
FehlerConstante.jpg
Hat jemand von euch eine Idee, woran das liegen könnte? Eine Constante sollte sich doch eigentlich nie ändern, oder?

Viele Grüße
Welded
Angehängte Grafiken

TIA Proxy CPU bei verschiedenen Netzen PN/DP

$
0
0
Habe eine CPU 314C-2 PN/DP die auf Profibus läuft, in S7 classic programmiert.
Kann ich ein KP300 (Tia) über Profinet einbinden, Proxy server cpu ?

Ich habe schon mal ein KP300 mit DP Schnittstelle über Proxy-Server CPU eingebunden aber bei verschiedenen Netzen weis ich nicht ob das geht.

Gruß und Danke für nützliche Tipps

Sonstiges Know How Schutz - Simotion

$
0
0
Sehr geehrte Forum-Mitglieder,

ist es dem Kunden möglich aus der Simotion das komplette Projekt,
bestehend aus Konfigurationsdaten und Programmen auszulesen wenn in der Simotion kein explizite Know-how Schutz aktiviert ist?

WinCC Flex Keine Projektierung der Verbindung möglich - WinCC flexible 2008 SP5 Update 1

$
0
0
Hallo,

ich habe große Probleme nach der Installation des Update 1 für WinCC flexible 2008 SP5. Es lassen sich einfach keine Verbindungen zu einer Steuerung projektieren. Das WinCC flex Projekt ist in ein STEP 7 Projekt integriert. Zudem öffnen sich über STEP 7 V5.6 eingefügte HMI's nicht in WinCC flex. Die Fortschrittsanzeige bleibt einfach stehen. Dieses Verhalten konnte ich zuerst unter Windows 7 in einer virtuellen Maschine beobachten. Daher habe ich es zunächst für einen Fehler auf Grund der Virtualisierung gehalten. Auf einem neuen FIELD PG M6 unter Windows 10 tritt jedoch genau der gleiche Fehler auf. Es lässt sich keine Verbindung projektieren.

Noch kurz die technischen Daten:

  • STEP 7 V5.6 SP1
  • WinCC flexible 2008 SP5 Upd1 (Advanced)
  • MultiPanel MP370 12" Touch
  • S7-300 CPU 315-2 DP



Kennt jemand die Problematik? Hier im Forum oder auch durch die Google Suche bin ich auf keine Beiträge dazu gestoßen.


Gruß
Oliver

Logo 12/24V Eingänge per Fremdspeisung?

$
0
0
Hallo Schwarmintelligenz!
Ich habe eine Logo 0BA4 al 12/24V Version und will unsere Garagen technisch etwas "aufhübschen" mithilfe einer Logo-Lichtsteuerung gesteurt über Dämerungsschalter und über die Kontakte der Torantriebe. Bei den Torantrieben handelt es sich um die Steinau E60-3, diese haben einen 0V/24V Relaisausgang zum Anschluss eines Relais (Steinau PR 1) zum anschließen einer zusätzlichen Lampe. Da ich ja aber über die Logo gehe, war mein Plan, direkt an den 24V Abgang des Antriebs zu gehen und damit den Eingang I1 o.ä. zu speisen. Jetzt habe ich mir alles nochmal in Ruhe angeguckt und stelle mir doch die Frage, ob die Logo diese 24V, die von der Steuerungselektronik des Torantriebs kommen, nicht doch eine schädliche Fremdspannung für die Logo ist und ich doch auf das Relais zurückgreifen muss, denn das hat potenzialfreie Ausgänge, an die ich meine 24V vom Trafo anklemmen kann und somit die Eingänge schalten kann.
Ich wäre euch dankbar, wenn ihr mir dabei helfen könntet, denn sonst wird mein Knoten im Kopf noch größer :confused:

Grüße

liste erstellen mit WebVisit

$
0
0
Hallo,

ich möchte eine Liste (5 Spalten 35 Zeilen) mit dynamische Zeilenanzahl und !!

Könnten mir jemand bitte verraten, wie ich die erstelle ??

ich hab diesen Code schon geschrieben aber iwie komme ich nicht mehr weiter:eek::
Code:

TYPE        UDT_USER :
        STRUCT
                iNumber                : int;
                strName                : STRING;
                strPhone        : STRING;
                strEmail        : STRING;
                iAge                : int;
        END_STRUCT;
END_TYPE


TYPE
        ARR_USER : ARRAY [1..35] OF UDT_USER;
END_TYPE




Danke im Voraus

Normen / Richtlinien CT-Anlagen f. QS

$
0
0
Moin Zusammen,

gibt es spezielle Normen / Richtlinien für CT-Anlagen, mit denen Teile (zB Motorblöcke) "durchleuchtet" werden, zu QS-Zwecken?

Ich habe bislang (da ein motorbetriebener Kreuztisch integriert ist) nur die Maschinenrichtlinie heran gezogen, und Normen habe ich dazu auch nicht finden können.

TIA Soft SPS vs. CPU 1518

$
0
0
Hallo,
wollte Fragen sind die SoftSPSen denn schneller als eine CPU1518?
Mit welchem Faktor kann man da rechnen?
(Kommt natürlich auf den PC an, oder?)

liste erstellen mit WebVisit

$
0
0
Unbenannt.gifHallo,

ich möchte eine Liste (5 Spalten 35 Zeilen) mit dynamische Zeilenanzahl und !! (siehe Bild)

Könnten mir jemand bitte verraten, wie ich die erstelle ??

ich hab diesen Code schon geschrieben aber iwie komme ich nicht mehr weiter:eek::
Code:

TYPE    UDT_USER :
    STRUCT
        iNumber        : int;
        strName        : STRING;
        strPhone    : STRING;
        strEmail    : STRING;
        iAge        : int;
    END_STRUCT;
END_TYPE


TYPE
    ARR_USER : ARRAY [1..35] OF UDT_USER;
END_TYPE




Danke im Voraus
Angehängte Grafiken

Step 7 Dokumentation 313er-CPU (6ES7313-1AD03-0AB0)

$
0
0
Hallo,

gibt es einen Server, auf dem alte Handbücher von Siemens zu finden sind?

Ich habe hier eine 313er-CPU (6ES7313-1AD03-0AB0), von der ich mal ein Handbuch brauche, um diverse Dinge nachzulesen.
Beispielsweise müsste ich da wissen, welche Speicherkarte dafür nutzbar ist? Laut Siemens (https://support.industry.siemens.com...dl=de&lc=de-DE) kann ich da zwar bis zu 4 MB reinpacken, aber mit welcher Artikelnummer? Würde eine 64k-Karte (6ES7 951-0KF00-0AA0) funktionieren?


Gruß
Buschmann

Als Freelancer weltweit auf Baustelle???

$
0
0
Hallo,

ich habe mal eine Frage an euch. Ich möchte raus aus dem Angestelltenverhältnis in welche mich bin gerade befinde und am liebsten im Ausland weltweit auf Baustellen arbeiten.

Das ganze am liebsten als Freelancer und nicht in einem Angstellenverhältnis. Hab ihr einen Tipp für mich, welche Portale oder Werbeflächen geeignet sind um hier Kontakt zu
potentiellen Kunden zu bekommen?

Zusatz, ich sich am liebsten Baustellen, welche sich über mindestens ein Jahr oder länger erstrecken.
Viewing all 49305 articles
Browse latest View live


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