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

OPC-UA Server aktualisierungszeit

$
0
0
Hallo zusammen

Ich habe hier eine Anwendung in der alle 100ms die Daten aus der SPS gelesen werden und via OPC-UA an die Visualisierung weitergeben werden müssen. Wir brauchen normalerweise die dataFeed OPC Suite von Softing aber ich weis nicht ob die so schnell ist. Hat da schon jemand Erfahrung damit? Die Steuerung ist eine 1515er von Siemens.

Das ganze Netzwerk ist im Schaltschrank, geht also nicht über ein Firmen Netz.

Danke schonmal

Aktion in Ablaufsprache Bosch IndraWorks / IndraLogic implementieren

$
0
0
Hallo,

ich habe eine ziemlich einfache Frage zur Ablaufsprache in Indraworks/ IndraLogic:

Wenn ich ein neues Programm oder Funktionsblock in AS programmiere, dann kann ich zwar neue Schritte und Transitionen hinzufügen. Es passiert aber nichts, wenn ich einen Doppelklick auf die Schritte mache. Laut Handbuch soll man dann die Aktion zu dem Schritt programmieren können. Das Menü Extras > Zoom Aktion/Transition bleibt auch grau. Weiß jemand warum?


IndraLogic Version: 1.80.23940


Viele Grüße
Bastian

Mischanlage

$
0
0
Guten Tag liebe Gemeinschaft,

mein Name ist Theo bin 24 Jahre alt und gehe zur Technikerschule. Die Sommerferien nahen und unser Lehrer will uns etwas guten tun.
Es geht um eine Mischanlage, welche nach 61131-3 programmiert werden soll.
Die ganze Thematik ist komplett theoretischer Natur. Das heißt, wir nutzen keine Software/Hardware.

Natürlich habe ich die Aufgabe schon so weit wie möglich bearbeitet, verstehe aber nicht wie ich an Aufgabe 5 heran gehen soll.
Hier hatte ich überlegt mit einem XOR zu starten, aber irgendwie bin ich verwirrt.

Wäre super wenn mal jemand etwas genauer über die anderen Aufgaben schauen kann...

Aufgabenstellung:

1. Erstellen Sie eine Funktionstabelle mit den Ausgangssignalen OK, Warnung und Fehler für die Verknüpfung der drei Füllstandgeber je Tank.

2. Programmieren Sie einen Funktionsbaustein in KOP entsprechend der Funktionstabelle aus TEilaufgabe 1 für die Füllstandsüberwachung eines Tanks. Ermitteln Sie dazu die sich aus der Funktionstabelle ergebene Verknüpfungsfunktion mithillfe der DNF. Geben Sie explizit die Schnittstelle der Funktionsbausteins (VAR_INPUT, VAR_OUTPUT)an.

3. Bilden Sie im Hauptprogramm Instanzen der drei Funktionsbausteine für die Füllstandsüberwachung, um für die drei Tanks entsprechende Füllstände zu erhalten. Programmieren Sie die Aufrufe der Funktionsbausteine in FBS.

4. Erstellen Sie einen Funktionsbaustein in AS, der den Produktionsablauf der zwei möglichen Rührprodukte steuert. Geben Sie explizit die Schnittstelle des Funktionsbausteins (VAR_INPUT, VAR_OUTPUT) an.

5. Ergänzen Sie Ihr Hauptprogramm um den Aufruf des Produktionsablaufs (Skizze zusätzlicher Funktionsbausteine ist ausreichend).

Vielen Dank im Voraus!
Angehängte Dateien

TIA Control Server für ActiveX Elemente in TIA

$
0
0
Guten Morgen,

Ich habe mal wieder ein ganz verrücktes Problem. Ich verwende TIA V14 Prof und WinCC V14 Advanced. Mein Ziel ist es ein ActiveX Objekt auf einem meiner Bilder anzulegen. Leider klappt es nicht, ich bekomme eine Fehlermeldung, dass der Control Server für ActiveX Elemente nicht verfügbar ist. Bei dem Siemens-Service Man, welcher vor einiger Zeit bei mir war hat es super geklappt. Es hieß dann, dass ich irgendeine Software auf dem Rechner habe, welche den Prozess behindert. Jetzt habe ich eins sauberes Windows 7Prof Betriebssystem nur mit der Siemens Software und es klappt immer noch nicht. DerActiveX Dienst in der Computerverwaltung aktiviert. Aber wie es ausschaut benötigt man noch einen Control Server. Hat Jemand eine Idee?
Vielen Dank im Voraus!

XML lesen Baustein in Funktion ausführen - TwinCat 3

$
0
0
Hallo zusammen,
Ich versuche einen Funktionsbaustein (FB_XMLSrvRead) in einer Function auszuführen.

FUNCTION F_CheckXML : BOOL
VAR_INPUT
sStation : T_MaxString;
pt: POINTER TO ST_Station;
END_VAR
VAR
value1 : ST_Station;
fbXmlSrvRead : FB_XmlSrvRead;
sFilePath : T_MaxString := 'C:\stations.xml'; //disable for CE
//sFilePath : T_MaxString := '\Hard Disk\Test.xml'; //enable for CE
sXPath : T_MaxString;


bExecute : BOOL := TRUE;


END_VAR


-------------------------------------------------------------

sXPath := CONCAT('/station/' , sStation);

fbXmlSrvRead(
pSymAddr := ADR(value1),
cbSymSize := SIZEOF(value1),
sFilePath := sFilePath,
sXPath := sXPath,
bExecute := bExecute
);

pt^ := value1;


Also eigentlich wie in dem Beispiel. In einem PRG funktioniert das ganze auch, als FUN leider nicht.
Ich habe versucht es zu debuggen. Das Progamm geht auch in die Funktion, führt fbXMLSrvRead aus, aber schreibt keine Werte in value1.
Ich vermute, dass es mit dem bExecute Eingang zu tun hat. Dieser reagiert auf steigende Flanken.

Baustein:
https://infosys.beckhoff.com/index.p...99518053714500

habt ihr eine Idee, woran das liegt?

TIA TIA CM 1242-5 Profibus Slave

$
0
0
Hallo Zusammen,

ich habe ein Projekt mit einer CPU 1211C DC/DC/DC und einem CM 1242-5 Profibus Slave.
Die DP-Schnittstelle I-Slave Kommunkiation habe ich mit einem Ausgangswort und einem Eingangswort kofiguriert (siehe Bild)
In meinem Projekt selber habe ich keinen Master, kann meiner Schnittestelle diesen auch nicht zuordnen.
Nach laden in die CPU habe ich folgende Fehlermeldungen in der Diagnose.
Diagnose Status:
Baugruppe vorhanden.
fehlerhaft
Fehler-LED (SF)

DiagnosePuffer:
CPU-Fehler: Neuer Peripherie-Zugriffsfehler bei Prozessabbildaktualisierung
Ausgang 1 (2 Bytes) wird vorläufig nicht mehr aktualisiert als Teil des TPA 0

Transferbereich_1 UND Transferbereich_2

Außerdem wird mr die CM 1242-5 als "Nicht zugeordnetes Gerät angezeigt.
Der Diaganose Status von der CM 1242-5
Baugruppe vorhanden
OK


Kann eingeltich nicht so schwer sein einen Profibus Slave einzurichten.
KANN JEMAND HELFEN?
Angehängte Grafiken

Entwickler Leitungssatz & E/E-Architektur im Motorsport (m/w)

$
0
0
Arbeiten bei der HWA AG bringt eine unglaubliche Motivation mit sich, die Sie anderswo selten finden:
Ein Team, welches sich den größten motorsportlichen Herausforderungen stellt, sie gemeinsam meistert und Siege auf
legendären Rennstrecken in aller Welt feiert – in der DTM, der Formel 3 und für das Kundensportprogramm der
Mercedes-AMG GmbH.

Die HWA AG ist mit ihren rund 300 Mitarbeitern eine angesehene, hoch*spezialisierte Ingenieurs- und Motorsportfirma
in der Automotive Industry und bietet eine Vielzahl an faszinierenden Möglichkeiten mit hervorragenden Entwicklungs-
perspektiven.

Wir suchen Sie für unser Team als

Entwickler Leitungssatz & E/E-Architektur im Motorsport (m/w)

AUFGABEN
  • Konzeptentwicklung der Verkabelung und Systemauslegung von Gesamtfahrzeuge
  • Auslegung und Dokumentation E/E-System, Leistungssätze und Komponenten
  • Schaltplanerstellung sowie Bauplanerstellung E/E-System
  • Materialwirtschaft und Stücklistenpflege
  • Fehlersuche und –Behebung in Leitungssätze, E/E-Komponenten und dem E/E-System Gesamtfahrzeug
  • Lieferanten-Kommunikation und Angebotsprüfung

QUALIFIKATION
  • abgeschlossenes Studium der Fachrichtung Elektrotechnik oder eine ver*gleich*bare Ausbildung
  • mind. 3 Jahre Berufserfahrung in der Entwicklung von Leitungssätzen, E/E Architektur und Sensorik/ Aktorik
  • gute Kenntnisse in E3-Series und CATIA V5 sind erforderlich
  • Umgang mit MS-Office und SAP
  • Teamfähigkeit, Flexibilität und Organisationsstärke zeichnen Sie aus
  • selbstständige Arbeitsweise und Eigeninitiative
  • Beherrschen der englischen Sprache in Wort und Schrift (min. Level B1)

Wann verstärken Sie unser Team?

Bewerben Sie sich online unter:
www.hwaag.com/karriere

Entwickler Leitungssatz.pdf
Angehängte Dateien

TIA Problem FOR Schleife TP700 / TIA V14

$
0
0
Guten Morgen,

ich habe ein Problem mit einer For Schleife, welche ich in einem Skript in TIA V14 für ein TP700 geschrieben habe.

Im Endeffekt ist alles recht einfach,

Code:

DIM i

FOR i = 0 TO 63 STEP 1
    Smarttags("Zielvariable")(i) = (Smarttags("Quellvariable")(i) + 100)
End For

Nach dieser FOR Schleife frage ich die ERR.NUMBER <> 0 ab und es kommt immer wieder die "6" dabei heraus.

Laut der VBA Fehlerliste bedeutet "6" => "Überlauf".

Smarttags(Zielvariable) ist ein Array 0..63 OF INT ( in WinCC und in der SPS )
Quellvariable ebenso. Die Startadressen dieser beiden Variablen passen.

WinCC habe ich schon Gesamtübersetzt ( mehrfach ). Die Variablen in dem Skript stehen alle auf "Zyklisch fortlaufend" + "100ms".


Auch noch interessant ist, wenn ich die Schleife von 0 TO 63 auf 0 TO 56 runtersetze, kommt der Fehler nicht immer, aber er kommt noch.



Vielleicht hat noch jemand eine Idee.

Drucker im Straßenbau

$
0
0
Hallo,

ich suche einen Drucker zum Ausdrucken von Baustellenprotokollen.
Im Moment verwenden wir einen kleinen Nadeldrucker von Star, ca. 160mm Blattbreite von der Rolle.
Die Vorteile sind die Ansteuerung über RS232, er ist leicht in einem Klemmkasten unterzubringen, Versorgungsspannung 12VDC und er ist äußerst robust.
Nachteile sind die umständliche Erstellung der Druckprotokolle, gerade bei mehrsprachigen Maschinen.
Ich würde gerne auch pdfs oder bmp ausdrucken, dass geht aber mit diesem Drucker natürlich nicht.

Kennt ihr einen kleinen DinA4 oder DinA5 Laserdrucker, der möglichst mit 24VDC/12VDC läuft und gut in einem Schaltschrank unterzubringen ist?
Würde auch einen kleinen IPC dazwischenhängen, dann wäre die Ansteuerung kein Problem.

Danke,

Bernhard

TIA Modbus Kommunikation über ET200S Profibus

$
0
0
Hallo,
Ich fange grade erst mit Tia Portal V14 an und soll Daten von einem Energiezähler, der seine Daten über RS 485 ausgibt und an einer seriellen Schnittstelle (6ES7138-4DF11-0AB0) angesclossen ist, über die ET200 S (IM 151-1 Standard) in meine CPU einlesen. Die dezentralisierte Peripherie ist mit der CPU über Profibus verbunden. Jetzt weiß ich nicht wie ich die Daten ausgelesen bekomme bzw welche Bausteine genau benötigt werden um dies zu bewerkstelligen.


Danke schon mal im voraus.

WinCC Simulation HMI

$
0
0
Hallo
follgendes,
habe eine simuliertes HMI (Basic TP700) über WinCC (V14 Advanced) und eine SPS in PLC Sim (S7 1511C)
jetzt würde ich gerne die Bilder über SPS Variablen umschalten
dies mache ich mit einer Variable (Bool) die bei Änderung den int Wert (Bild Nummer des Ziel Bildes) aus einer anderen Variable liest.
Außerdem lese ich noch aus dem HMI die Nummer des aktuellen Bildes über die Bereichszeiger.
Das funktioniert aber aus irgend einem Grund nicht, nicht einmal die 5 Variablen des Bereichszeigers reagieren auf einen Wechsel der Bilder.
liegt es an der Simulation oder bin ich zu blöde?

Enocean Problem Codesys 2.3

$
0
0
Hallo Zusammen,

ich habe den Controller 750-880 und die Enocean Modul 750-642.
Programmiert habe ich mit der Lib Enocean06.

Nun das Problem:
Ich habe 4 PTM 210 Taster. Der FbShow_ID_ByClick zeigt auch von allen 4 Tastern die korrekte ID an.

Aber leider werden nur 2 Taster im Programm korrekt weitergegeben.
Ich nutze dann FbF602xx_RockerSwitch_2_Rocker und habe am Eingang dwID die ID eingetragen.
Dann bin ich mit den Ausgangen xButton_AO und xButton_AI weiter auf meinen FbJalousie gegangen.

Vielleicht hat jemand noch einen Tipp für mich.

WinCC Flex Datensicehrung OP27 mit ProSave

$
0
0
Hallo miteinander,

ich steh mal wieder auf dem Schlauch.
Wollte bei mehreren OP 27 eine Datensicherung durchführen.
Beim ersten hat's problemlos mit dem seriellen Kabel geklappt.
Bei den weiteren beiden lief der Download zum PG mit ProSave 7.4 eine Weile und ist dann abgebrochen.
Bei Wiederholung wieder an der selben Stelle abgebrochen.
Bei dem Versuch mit den unterschiedlichen Geschwindigkeiten, nach Neustart aller Gerätschaften (PG und/oder OP27) immer das gleiche, Abbruch beim Download an einer bestimmten Stelle.
Beim nächsten Gerät ebenfalls Abbruch und das Selbe, nur an einer anderen Adresse.
Beim Download konnte beobachtet werden, dass die Sicherungsdatei geschrieben wurde. Beim Abbruch wurde diese "unvollständige Datei" sofort gelöscht.

Normalerweise habe ich meist am Anfang ein Problem und es stellt sich als Einstellungsfehler oder falsche Adresse heraus. Doch diesmal....?

Bei einem Fehler der Schnittstelle oder des zugehörigen "Netzteils", könnte ich mir vorstellen dass ein Abbruch erfolgt, aber nicht immer an der gleichen Adresse oder bei der gleichen Datenmenge...

Hat jemand der Cracks eine hilfreiche Idee?

Gruß

SUZI

MODBUS Variable anlegen

$
0
0
Hallo zusammen,

wie kann ich in CoDeSys (genauer SoMachine 4.3) eine MODBUS Variable deklarieren?

Ist:
M241 Steuerung mit HMISTO705 über MODBUS RS232.

Im HMI habe ich einen MODBUS-Slave Treiber nach Anleitung eingebunden => jetzt kann ich hier nur Merkerbits und Merkerworte definieren.
In SoMachine habe ich auf Seriell 1 (RJ45) den Modbus-Manager angelegt, da ich beim Modbus IO-Scanner nur IOs anlegen kann.

Die Schnittstelle steht auf beiden Seiten gleich auf:
Baud: 19200
Parität: gleich
Stopp: 1
Daten: 8

Wenn ich Variablen deklarieren will, mache ich das ja im allgemeinen so:

VAR

VAR1:BOOL;
VAR2:WORD;

END_VAR

Jetzt habe ich ja keine Zuweisung, dass diese beiden Variablen auf den MODBUS führen ... z.B.: %M0, %MW1
Wie definiere ich das? Ich habe versucht, sowohl im POU als auch in der GVL:

VAR

VAR1 AT%M0:BOOL;
VAR2 AT%MW1:WORD;

END_VAR
(Hab ich so im WWW gefunden)

Global wird das ohne Meldung übersetzt, führt aber beim hochladen auf die M241 zu einem Systemabsturz. Im POU wird das nicht mal übersetzt.
Ist meine Syntax überhaupt korrekt?

Über Eure Hilfe wäre ich sehr erfreut

Danke und bis bald!
Steffen

B&R USINT Daten Auslesen und seperat speichern

$
0
0
Hallo zusammen,
ich befasse mich gerade mit dem B&R Automation Studio und einer X20CP1301 Steuerung. Dort wollte ich über die RS232 Schnittstelle Daten versenden und Daten zurückbekommen. Das funktioniert auch ganz gut, allerdings habe ich meinem Empfangsdaten in USINT[0..253] und diese sind durch ein "Komma" getrennt. Außerdem brauche ich die ersten 7 Array nicht (Antwort Kürzel
). Die Anderen Daten (ASCII) sollen zwischen den Kommas zusammengefügt werden und als Integer abgespeichert werden. Die Datenlängen zwischen den Kommas ist von Übertragung zu Übertagung unterschiedlich( zwischen 1 und 5 Byte groß je nach Zahlengröße). Da Strukturierter Test Neuland für mich ist bräuchte ich dringendst Hilfe.
Empfangsdaten.jpg

Gruß Tola-Emma
Angehängte Grafiken

Step 7 KEB S6 Servodrive an S7-300 (DS402)

$
0
0
Hi ...

hat jemand schon mal einen KEB S6 mit Profinet in Betrieb genommen bzw. an einer S7-300 zum laufen gebracht ?
gibt's dazu irgendwelche Bausteinbeispiele ?

Danke
nekron

e!Cockpit Modbus-TCP

$
0
0
Hallo,

ich bin neu hier und versuche seit einiger Zeit mit einer Wago PFC200 eine elektronische Last anzusteuern. Zur Kommunikation dient ein zusätzliches Modul an der Last. Dieses erlaubt die Kommunikation via Modbus TCP (auf dem Port 502) und Modbus RTU (auf dem Standard-Port 5025 und allen anderen). Die Daten selbst werden über ein Patchkabel übertragen.
Ich arbeite in e!Cockpit mit dem Baustein FbMbMasterTcp, um mit Modbus TCP die Last anzusteuern, was soweit auch ganz gut funktioniert. Nun möchte ich ein Programm (ModbusTCP_1), das sich um die wiederkehrenden Standardanfragen kümmert. Dieses wird regelmäßig von PLC_PRG aufgerufen und bekommt nur die Daten mit, die übergeben werden. Die Register sind schon im Programm deklariert. In PLC_PRG werden die Daten verarbeitet bzw. weitergeleitet, was auch klappt.


Nun habe ich zwei Probleme, die ich nicht gelöst bekomme:

Problem 1: Ich kann einzelne Register nicht auslesen. Konkret geht es hier um die aktuellen Messwerte der Last. Ich empfange das Echo, welches besagt, dass ich die Register auslesen möchte, awData bleibt jedoch leer (0).

Problem 2 (ist vermutlich simpler): Ich möchte in drei unterschiedliche Register nacheinander verschiedene Werte schreiben und anschließend drei weitere Register auslesen. Das Ganze soll noch mit einer IF-Bedingung kombiniert werden, sodass die nächste Anfrage nur gesendet wird, wenn die Anfrage, die zuletzt gesendet wurde, in utResponse zu finden ist. Eigentlich dachte ich, ich könnte das recht einfach lösen, aber alle Versuche und auch ein Lösungsvorschlag mit einer Joblist, aus einem anderen Beitrag hier, haben bei mir nur zu Fehlern geführt (zumal ich die Register nicht auslesen kann, siehe erstes Problem).

Die Variablen hätte ich wie folgt deklariert:
Code:

PROGRAM ModbusTCP_1
VAR_INPUT
    // Sollwerte von U I und P  werden übergeben und sollen nacheinander gesendet werden.
    // Wurde ein Wert gesendet soll erst die Antwort (ein Echo) überprüft werden
    // im Anschluss werden die Werte gemessen und zurück ans Hauptprogramm gegebenausgegeben.
   
    wertU:        WORD;
    wertI:        WORD;
    wertP:        WORD;
    // Istwert Strom lesen: (regNr:=16#03, readAdd:= 16#01FB, readQua:=1, writAdd:=0, writQua:=0);
    // Istwert Spannung lesen: (regNr:=16#03, readAdd:= 16#01FC, readQua:=1, writAdd:=0, writQua:=0);
    // Istwert Leistung lesen: (regNr:=16#03, readAdd:= 16#01FD, readQua:=1, writAdd:=0, writQua:=0);
END_VAR
VAR_OUTPUT
    messWertU:        WORD;
    messWertI:        WORD;
    messWertP:        WORD;
END_VAR
VAR
    // Spannung   
    regNrU:        BYTE := 16#06;
    writAddU:    WORD := 16#01F4;
    writQuaU:    WORD := 1;
    // Strom
    regNrI:        BYTE := 16#06;
    writAddI:    WORD := 16#01F5;
    writQuaI:    WORD := 1;
    // Leistung
    regNrP:        BYTE := 16#06;
    writAddP:    WORD := 16#01F6;
    writQuaP:    WORD := 1;
       
    myTcpMaster    : FbMbMasterTcp :=  (  xConnect        := TRUE,
                                          sHost        := '192.168.1.6',    // IP of the remote server
                                          wPort        := 502,                // port at the remote server

                                            utKeepAlive    := (    xEnable      := TRUE, // use keep alive
                                                                tMaxIdleTime := T#5S, //  Maximum time of inactivity
                                                                tInterval    := T#2S, //  Interval between two successive KA-Packets
                                                                udiProbes    := 5    //  Number of KA retry before giving up
                                                            ),
                                                           
                                            eFrameType  := eMbFrameType.ETHERNET,
                                            tTimeOut    := T#30MS
                                        );

    utQuery        : typMbQuery := (  bUnitId        := 0,            // Slaveaddress
                                        bFunctionCode  := 0,            // write input registers
                                        uiReadAddress  := 0,            // Startaddress
                                        uiReadQuantity  := 0,            // Quantity of wanted registers
                                        uiWriteAddress  := 0,            // Startadresse
                                        uiWriteQuantity := 0,            // Quantity of wanted registers
                                        awWriteData        := [124(0)]        // array to write
                                    );

    xTxTrigger      : BOOL;            (* Set this variable once for start a job. This variable will be automaticly reset by the master if the job is done.*)
    utResponse      : typMbResponse;    (* After the job is done you can find at this structure the result.*)
    tonDelay        : TON := (PT := T#30MS); // This is the silence time between two requests
END_VAR

Im Programm wollte ich bFuctionCode bis awWriteData immer mit den passenden Informationen überschreiben.

Ich muss dazu sagen, ich hatte mit Wago und Modbus noch nie etwas am Hut und bin, was das angeht, absoluter Anfänger. Verschiedene Dokus und das ein oder andere Video hatten mich bei meinen Problemen leider nicht groß weitergebracht.
Bin für jeden Tipp dankbar.


Viele Dank.

TC3: BUSY bei SendData wird nicht TRUE und bei Länge > 11 kommt Fehlermeldung

$
0
0
Hallo,
ich kämpfe gerade mit Kommunikationsproblemen. Ich sende die gigantische Menge von 6 Byte über eine EL6021 und empfange auch 6 Bytes, wobei am RS485 nur ein Teilnehmer angeschlossen ist. Ich habe am Bus jetzt ein anderes Gerät hängen bei dem das Senden/Empfangen nicht funktioniert und ich analisiere das gerade. Hier mal der entsprechende Schritt:
Code:

        DATA.en_ServoInitLastStep := TEN_ServoInitSteps.ReqProportionalGain;
        IF DATA.st_RxBuffer.Count > 0 THEN
            DATA.fb_Clear_Com_Buffer(Buffer := DATA.st_RxBuffer);
        END_IF
        DATA.ab8_SndDataBuffer[1] := 16#E7;
        DATA.ab8_SndDataBuffer[2] := CFG.b8_ActuatorID;
        DATA.ab8_SndDataBuffer[3] := 16#21;
        DATA.ab8_SndDataBuffer[4] := 16#21;
        DATA.ui16_TempChecksum := FC_CalculateChecksum(DATA.ab8_SndDataBuffer, 4);
        DATA.ab8_SndDataBuffer[5] := UINT_TO_BYTE(SHR(DATA.ui16_TempChecksum, 8));
        DATA.ab8_SndDataBuffer[6] := UINT_TO_BYTE(DATA.ui16_TempChecksum);
        DATA.fb_SendData(    pSendData := ADR(DATA.ab8_SndDataBuffer),
                            Length := 6,
                            TXbuffer := DATA.st_TxBuffer);
        IF DATA.fb_SendData.Error <> 0 THEN
            DATA.en_ErrorState := TEN_ErrorStates.SendCommunication;
            DATA.en_ServoInitStep := TEN_ServoInitSteps.OnError;           
        ELSIF DATA.fb_SendData.Busy THEN
            DATA.en_ServoInitStep := DATA.en_ServoInitStep;           
//        ELSIF NOT DATA.fb_SendData.Busy THEN
//            DATA.en_ServoInitStep := TEN_ServoInitSteps.RcvProportionalGain;           
//            DATA.en_ServoInitStep := 99;           
        END_IF

Ich wollte eigentlich kurz testen, ob bei fb_SendData BUSY TRUE wird, was seltsamerweise nicht der Fall ist. Bei einer zu übertragenden Länge von > 11 führt er den Schritt so 20mal aus bevor der Baustein eine Fehlermeldung (COMERROR_TXBUFFOVERRUN) ausgibt. Was mich jetzt halt wundert ist, warum der Baustein (außer im Fehlerfall) nie BUSY wird und warum bei einer Länge von <12 Bytes keine Fehlermeldung generiert wird. Darf der Baustein nur einmal aufgerufen werden und meldet sofort einen Fehler zurück?

Step 7 das formieren von G150

$
0
0
Guten Tag,


Ich habe ein G150 umrichter der laenger als 2 jahre ausser betrieb war


Ich moechte gerne G150 umrichter ueber profibus in betrieb nehmen


Gibt es ein fertiger baustein dafuer von siemens und wie geht es mit fromieren



Vielen Dank im Voraus

Codesys V3 und Modbus Slave + Master

$
0
0
Moin,

ich bin gerade etwas am Grübeln...

Warum kostet der Modbus Slave/Master nun Geld bei Codesys? Oder ist das diese Integradtion als (Modbus)Geräte?

Kann man eigenlich auch ganz normal Modbus RTU TCP Master Slave als Lib nutzen? also als Baustein? Evtl sogar die V2?
Viewing all 49442 articles
Browse latest View live


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