Dag,

als ik mijn programma wil simuleren dan komt er op het scherm "the interface of the block was changed. After Save/load, this results in an interface conflict with the blocks that reference it. When this blovk is loaded, The CPU can go into stop mode"
en zo kan ik het dus niet testen.
ik heb wel bij mn interfaces de ingangen en uitgangen benoemd(name) zodat je in het programma je ingangen niet I0.0 moet geven maar gewoon bv. "start"
Hoe kan ik dit probleem oplossen?

Ik heb nu net zelfs gemerkt dat ik niet kan simuleren in FB, in OB wel.
Hoe komt dat of is dit normaal?

Als je je FB-interface veranderd, moet je in de bouwsteen waar je deze FB aanroept even met rechts klikken op de FB.
Kies dan update blockcall.

Dan moet het goed gaan.

ja het gaat inderdaad maar ik heb nog problemen met mijn timers!
ik weet dat er hier verder uitleg over staat maar ik snap ze niet echt, ik ben namelijk niet zo sterk in dit vak.
Kan jij mij helpen wat ik juist moet doen met mn timers?

Ik kan morgen wel even een voorbeeldje maken(heb op deze pc even geen Siemens spul meer)
Dan post ik de source wel hier.

ah da zou super zijn...alvast bedankt!
Ik dacht dat ik de timer als uitgang moest gebruiken dus zette ik bij Resources, output "T1" maar het lukt niet om hem in werking te laten treden. Nochtans wanneer ik gewoon in OB werk (zonder een fc) dan werkt de timer zonder problemen

Dat klopt, en in een FC zal het ook werken als je deze maar 1 keer aanroept, pas als je de FC meerdere keren aanroept gaat het fout omdat je dan steeds dezelfde timer gebruikt.
Je moet een ingang maken met het datatype s5timer en dan bij de aanroep daar een getal neerzetten

Is dit om het even welk getal of is dat S5T#10s dat er moet geplaatst worden?
Dus gewoon in FC bij ingang bij naam "s5timer" plaatsen (op dezelfde plaats waar bv. start en zo staat) en in OB de FC updaten en daar dan een getal plaatsen, juist?
Moet ik die ingang dan ergens in de schakeling van FC gebruiken?

Ik heb daarnet het geprobeerd om in OB bij S5timer het getal "10" te plaatsen en ook "S5T#10s" maar het ging allebei niet

Morgen maak ik wel even een voorbeeldje, kan nu niets opzoeken en roep dus alles uit mijn hoofd en daarin vallen nog wel eens bitjes om :-)

haha, das mogelijk:)
Hopelijks werkt het dan morgen want ik zit er wat mee in, liefst niet de moeilijkste methode aub want kwestie dat ik er niet zo goed in ben. Toch bedankt al voor de vele hulp!

Ik heb nog eens goed bekeken wat je op een andere topic hebt gezegd (http://www.circuitsonline.net/forum/view/33958/1/ontdubbelen)
ik heb dus bij de ingangen bij Datatype "timer" gekozen, en deze timer1 genoemd, ik vul dit dan overal in waar T1 stond; opslaan en dan ga ik naar OB en wat moet ik daar dan invullen bij Timer?

nog eens ik:) ik heb in OB timer1 benoemd als T1 (bij I0.0 en zo) en da gaat maar als ik wil simuleren laat mijn timer het nog altijd afweten
wat doe ik mis?

Hierbij een source, kun je zo importeren.


         FUNCTION FC1 : VOID
TITLE =
VERSION : 0.1


VAR_INPUT
  timernr : TIMER ;	
  nr : INT ;	
  s : BOOL ;	
  tv : S5TIME ;	
  r : BOOL ;	
  start : BOOL ;	
  stop : BOOL ;	
  leeg : BOOL ;	
  vol : BOOL ;	
END_VAR
VAR_OUTPUT
  q : BOOL ;	
  alarm : BOOL ;	
  klep_open : BOOL ;	
  klep_dicht : BOOL ;	
  tijd : WORD ;	
END_VAR
BEGIN
NETWORK TITLE =



      A     #s; 
      L     #tv; 
      SD    #timernr; 
      A     #r; 
      R     #timernr; 
      L     #timernr; 
      T     #tijd; 
      NOP   0; 
      A     #timernr; 
      =     #q; 
END_FUNCTION


ORGANIZATION_BLOCK "Cycle Execution"
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 =

      A     M     11.1; 
      =     L     20.0; 
      BLD   103; 
      A     I     11.2; 
      =     L     20.1; 
      BLD   103; 
      A     I      1.0; 
      =     L     20.2; 
      BLD   103; 
      A     I      1.1; 
      =     L     20.3; 
      BLD   103; 
      A     I      1.2; 
      =     L     20.4; 
      BLD   103; 
      A     I      1.3; 
      =     L     20.5; 
      BLD   103; 
      CALL FC1 (
           timernr                  := T     49,
           nr                       := 2,
           s                        := L     20.0,
           tv                       := S5T#2M,
           r                        := L     20.1,
           start                    := L     20.2,
           stop                     := L     20.3,
           leeg                     := L     20.4,
           vol                      := L     20.5,
           q                        := Q      4.3,
           alarm                    := Q      4.4,
           klep_open                := Q      4.5,
           klep_dicht               := Q      4.6,
           tijd                     := MW    20);
      NOP   0; 
      

NETWORK TITLE =

      A     M     12.0; 
      =     L     20.0; 
      BLD   103; 
      A     I     12.1; 
      =     L     20.1; 
      BLD   103; 
      A     I      2.1; 
      =     L     20.2; 
      BLD   103; 
      A     I      2.2; 
      =     L     20.3; 
      BLD   103; 
      A     I      3.3; 
      =     L     20.4; 
      BLD   103; 
      A     I      3.4; 
      =     L     20.5; 
      BLD   103; 
      CALL FC1 (
           timernr                  := T     50,
           nr                       := 1,
           s                        := L     20.0,
           tv                       := S5T#3M30S,
           r                        := L     20.1,
           start                    := L     20.2,
           stop                     := L     20.3,
           leeg                     := L     20.4,
           vol                      := L     20.5,
           q                        := Q      4.1,
           alarm                    := Q      5.1,
           klep_open                := Q      5.2,
           klep_dicht               := Q      5.3,
           tijd                     := MW    40);
      NOP   0; 
END_ORGANIZATION_BLOCK

edit: project zit ook in je mailbox

maar het is mij zo al gelukt eigenlijk, ik had 2x T1 geplaatst terwijl ik T1 bij de 1ste oef en T2 bij de 2de oef moest zetten

kheb nog een vraagje ivm ingangen... ik heb gekozen voor 16ingangen maar ik moet dus 2 identieke schakelingen maken (1 schakeling bevat 13 ingangen), wilt dit dan zeggen dat ik 2x 16ingangen moet kiezen?
ook hetzelfde voor de uitgangen?

super bedankt voor de vele hulp, heb erg veel bijgeleerd

Inderdaad 2 X 16 inputs en ook 2 X het aantal uitgangen per installatie

ja begon da plots te denken dat da ook zo moet :)
Hopelijks zal mijn oefening wat goed zijn, alles werkt maar ze zijn erg streng ivm veiligheid dus moet ik zorgen dat het een erg veilige schakeling is