Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: Zu viele E/A´s in die Simulation bzw. echte CPU???

  1. #1
    Registriert seit
    29.10.2010
    Beiträge
    134
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo zusammen,

    ich hab hier ein etwas größe Anlage.

    Anlagenbeschreibung:

    CPU 315-2DP / PN
    E/A´s direkt auf der CPU über Erweiterungkarten:
    24 AI
    32 DI
    32 DO

    Über Janiza UMG 96 S
    EW 256-319
    AW 256

    Antriebsteilnehmer
    Über Darwin-Gateway Feld1:
    E0.0 - E37.7
    A0.0 - A37.7
    Über Darwin-Gateway Feld2:
    E40.0 - E93.7
    A40.0 - A93.7
    Über Darwin-Gateway Feld3:
    E94.0 - E127.7
    A94.0 - A127.7
    Über Darwin-Gateway Feld4:
    E128.0 - E177.7
    A128.0 - A177.7
    Über Darwin-Gateway Feld5:
    E178.0 - E209.7
    A178.0 - A209.7

    29 Freuenzumrichter
    EW 256 - 544
    AW 256 - 544

    Möchte gerne mit PLCSIM das ganz simulieren, aber bei EB128 ist schluss. Kann die Simulation nicht mehr?

    Reicht meine CPU überhaupt für das Vorhaben aus?
    Zitieren Zitieren Zu viele E/A´s in die Simulation bzw. echte CPU???  

  2. #2
    Registriert seit
    27.10.2005
    Beiträge
    47
    Danke
    1
    Erhielt 7 Danke für 7 Beiträge

    Standard

    PLCSIM geht bei mir bis EB16383.

    Die CPU 315-2DP / PN hat einen Adressbereich von 2048 Byte.

    Das Prozessabbild der Ein- und Ausgänge ist voreingestellt
    auf 128 Byte.

  3. #3
    Katrin1982 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.10.2010
    Beiträge
    134
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Wie kann ich das Abbild ändern?
    HW-Konfig -> CPU -> Eigenschaften -> Zyklus/Taktmerker

    Ich lese direkt meine EB ein, brauch das als Statusmeldung für den Farbumschlag auf meinem Panel.
    Geändert von Katrin1982 (17.04.2011 um 12:35 Uhr)

  4. #4
    Registriert seit
    12.03.2011
    Ort
    Erzgebirge
    Beiträge
    250
    Danke
    77
    Erhielt 29 Danke für 27 Beiträge

    Lächeln

    Ich glaube bei den 315ern geht das Prozessabbild nicht zu vergrößern (bei den 317ern geht es).

    Lies doch diese Bytes direkt z.B. so:

    L PEB 129

  5. #5
    Registriert seit
    27.10.2005
    Beiträge
    47
    Danke
    1
    Erhielt 7 Danke für 7 Beiträge

    Standard

    Das funktioniert nicht bei jeder CPU.

    z.B.: 6ES7 315-2EH13-0AB0

    Geändert von - chris - (17.04.2011 um 13:01 Uhr)

  6. #6
    Registriert seit
    23.02.2007
    Ort
    Hamburg
    Beiträge
    695
    Danke
    198
    Erhielt 84 Danke für 74 Beiträge

    Standard

    Zitat Zitat von holgero Beitrag anzeigen
    Ich glaube bei den 315ern geht das Prozessabbild nicht zu vergrößern (bei den 317ern geht es).
    Bei der 315-2 PN/DP geht es, bei der 315-2 DP gehts es nicht.
    Siemens: Step7, WinCC Flexible, Logo
    Schneider: PL7, Unity Pro, Vijeo Look, Vijeo Designer, XBTL1000, Premium, M340, Twido, Zelio
    Moeller: Galileo, EASY
    B&R: Automation Studio 3.0

  7. #7
    Katrin1982 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.10.2010
    Beiträge
    134
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Perfekt, so einfach kann es gehen.

    Danke

    Hab jetzt aber noch eine Frage.
    Möchte mir gerne einen FB schreiben, wo ich das EB des Antriebs und das EB das Antriebs davor abfrage, an meinen Baustein möchte ich dann wirklich nur EB0 und EB1 dran schreiben müssen, brauch die Bits aber im Baustein selber aufgelöst, wir bekomm ich das denn hin?

  8. #8
    Registriert seit
    03.04.2008
    Beiträge
    6.200
    Danke
    237
    Erhielt 815 Danke für 689 Beiträge

    Standard

    Zitat Zitat von Katrin1982 Beitrag anzeigen
    Perfekt, so einfach kann es gehen.

    Danke

    Hab jetzt aber noch eine Frage.
    Möchte mir gerne einen FB schreiben, wo ich das EB des Antriebs und das EB das Antriebs davor abfrage, an meinen Baustein möchte ich dann wirklich nur EB0 und EB1 dran schreiben müssen, brauch die Bits aber im Baustein selber aufgelöst, wir bekomm ich das denn hin?
    Das geht wenn du den Eingangsparameter(EB oder EW) als Struct of bool innerhalb des FB deklarierst.


    bike

  9. #9
    Registriert seit
    27.10.2005
    Beiträge
    47
    Danke
    1
    Erhielt 7 Danke für 7 Beiträge

    Standard

    Ich würde das ganze so machen intern mit Pointer
    auf die EB's zugreifen.

    Hier der ganze Code als Quelle:

    Code:
    FUNCTION_BLOCK FB 1
    TITLE =
    VERSION : 0.1
    
    
    VAR_INPUT
      EB_1 : BYTE ;    
      EB_2 : BYTE ;    
    END_VAR
    VAR
      EB1_0 : BOOL ;    
      EB1_1 : BOOL ;    
      EB1_2 : BOOL ;    
      EB1_3 : BOOL ;    
      EB1_4 : BOOL ;    
      EB1_5 : BOOL ;    
      EB1_6 : BOOL ;    
      EB1_7 : BOOL ;    
      EB2_0 : BOOL ;    
      EB2_1 : BOOL ;    
      EB2_2 : BOOL ;    
      EB2_3 : BOOL ;    
      EB2_4 : BOOL ;    
      EB2_5 : BOOL ;    
      EB2_6 : BOOL ;    
      EB2_7 : BOOL ;    
    END_VAR
    BEGIN
    NETWORK
    TITLE =EB_1
    
          L     P##EB_1; 
          LAR1  ; 
          U      [AR1,P#0.0]; 
          =     #EB1_0; 
          U      [AR1,P#0.1]; 
          =     #EB1_1; 
          U      [AR1,P#0.2]; 
          =     #EB1_2; 
          U      [AR1,P#0.3]; 
          =     #EB1_3; 
          U      [AR1,P#0.4]; 
          =     #EB1_4; 
          U      [AR1,P#0.5]; 
          =     #EB1_5; 
          U      [AR1,P#0.6]; 
          =     #EB1_6; 
          U      [AR1,P#0.7]; 
          =     #EB1_7; 
    
    NETWORK
    TITLE =EB_2
    
          L     P##EB_2; 
          LAR1  ; 
          U      [AR1,P#0.0]; 
          =     #EB2_0; 
          U      [AR1,P#0.1]; 
          =     #EB2_1; 
          U      [AR1,P#0.2]; 
          =     #EB2_2; 
          U      [AR1,P#0.3]; 
          =     #EB2_3; 
          U      [AR1,P#0.4]; 
          =     #EB2_4; 
          U      [AR1,P#0.5]; 
          =     #EB2_5; 
          U      [AR1,P#0.6]; 
          =     #EB2_6; 
          U      [AR1,P#0.7]; 
          =     #EB2_7; 
    
    END_FUNCTION_BLOCK
    
    DATA_BLOCK DB 1
    TITLE =
    VERSION : 0.0
    
     FB 1
    BEGIN
       EB_1 := B#16#0; 
       EB_2 := B#16#0; 
       EB1_0 := FALSE; 
       EB1_1 := FALSE; 
       EB1_2 := FALSE; 
       EB1_3 := FALSE; 
       EB1_4 := FALSE; 
       EB1_5 := FALSE; 
       EB1_6 := FALSE; 
       EB1_7 := FALSE; 
       EB2_0 := FALSE; 
       EB2_1 := FALSE; 
       EB2_2 := FALSE; 
       EB2_3 := FALSE; 
       EB2_4 := FALSE; 
       EB2_5 := FALSE; 
       EB2_6 := FALSE; 
       EB2_7 := FALSE; 
    END_DATA_BLOCK
    
    ORGANIZATION_BLOCK OB 1
    TITLE = "Main Program Sweep (Cycle)"
    VERSION : 0.1
    
    
    VAR_TEMP
      OB1_EV_CLASS : BYTE ;    //Bits 0-3 = 1 (Coming event), Bits 4-7 = 1 (Event class 1)
      OB1_SCAN_1 : BYTE ;    //1 (Cold restart scan 1 of OB 1), 3 (Scan 2-n of OB 1)
      OB1_PRIORITY : BYTE ;    //Priority of OB Execution
      OB1_OB_NUMBR : BYTE ;    //1 (Organization block 1, OB1)
      OB1_RESERVED_1 : BYTE ;    //Reserved for system
      OB1_RESERVED_2 : BYTE ;    //Reserved for system
      OB1_PREV_CYCLE : INT ;    //Cycle time of previous OB1 scan (milliseconds)
      OB1_MIN_CYCLE : INT ;    //Minimum cycle time of OB1 (milliseconds)
      OB1_MAX_CYCLE : INT ;    //Maximum cycle time of OB1 (milliseconds)
      OB1_DATE_TIME : DATE_AND_TIME ;    //Date and time OB1 started
    END_VAR
    BEGIN
    NETWORK
    TITLE =
    
          CALL FB     1 , DB     1 (
               EB_1                     := EB     0,
               EB_2                     := EB     1);
          NOP   0; 
    END_ORGANIZATION_BLOCK

    Oder mit Schmiermerkern:

    Code:
     L     #EB_1
     T     MB   250
    
     L     #EB_2
     T     MB   251
    Geändert von - chris - (18.04.2011 um 20:07 Uhr)

  10. #10
    Katrin1982 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.10.2010
    Beiträge
    134
    Danke
    3
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    OK, und wie kann ich dann mit den einzelnen Bits arbeiten?

    Ich mein, kann das Struct ja nicht direkt an ein UND/ODER Gatter anlegen.

Ähnliche Themen

  1. [B] Viele SPS und zubehör
    Von Da_Grinch im Forum Suche - Biete
    Antworten: 0
    Letzter Beitrag: 08.03.2011, 16:11
  2. Antworten: 10
    Letzter Beitrag: 24.02.2011, 23:44
  3. Trysim, die kostenlose 3-D Simulation und S7-Simulation
    Von Josef Scholz im Forum PC- und Netzwerktechnik
    Antworten: 7
    Letzter Beitrag: 04.02.2011, 16:01
  4. Echte Serielle Schnittstelle an Dell Latitude C840
    Von progi12 im Forum PC- und Netzwerktechnik
    Antworten: 1
    Letzter Beitrag: 06.02.2006, 09:10
  5. Warum so viele OB´s ???
    Von margral2 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 23.11.2004, 01:08

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •