Subversion Repositories DMV.werkorder

Rev

Rev 44 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download

createdAt: "2019-09-20T10:05:59.473Z"
updatedAt: "2019-11-05T15:19:03.025Z"
type: "MARKDOWN_NOTE"
folder: "d1cc296b3fd7fc164332"
title: "T01C1 Parameters verloren na herstart FL"
tags: []
content: '''
  # T01C1 Parameters verloren na herstart FL
  Order 200302994
  
  Inhoud:
  [TOC]
  
  ## Teruglezen instellingen T10P2 (PLC6) --> FL
  Instellingen, parameters worden bij opstart niet terug gelezen.
  
  IML procedure voor teruglezen setpoints uit PLC bij opstart en na communicatie fout.
  Voor vaststellen van communicatie fout wordt de dataset gebruikt voor lezen actuele instellingen in PLC. Indien deze DS een fout geeft bij lezen, worden nadat communicatie hersteld is de instellingen eenmalig teruggelezen.
  Teruglezen is voltooid bij actief worden van readcmpl dataset 15, en status van deze actie is nul.
  
  ``` flowchart
  st=>start: Start: File setp.prg
  Proc = sp_read6 
  IML trigger readcmpl[6][10]
  e=>end: Einde
  op1=>operation: Communicatie fout gevonden
  Geef teruglezen setpoints vrij
  _glb_sp_plc[6] = 0
  op2=>operation: Trigger teruglezen SP
  ccr_lvl2_change_sp[6] == 1
  sub1=>subroutine: My Subroutine
  cond1=>condition: Read completion status
  Dec_status_ds[6][10] = 0?
  cond2=>condition: Teruglezen SP actief, 
  _gbl_sp_plc[6] != 0 ?
  io=>inputoutput: catch something…
  st->cond1
  cond1(yes)->cond2
  cond1(no)->op1(right)->e
  cond2(no,right)->e
  cond2(yes)->op2->e
  ```
  Afhandeling in IML weergegeven als flowchart:
  
  ``` flowchart
  st=>start: Start: File setp.prg
  Proc = sp_read6 
  IML trigger readcmpl[6][15]
  e=>end: Einde
  op1=>operation: Teruglezen setpoints voltooid:
  _glb_sp_plc[6] = -1
  cond1=>condition: Read completion status
  Dec_status_ds[6][15] = 0?
  st->cond1
  cond1(yes)->op1->e
  cond1(no)->e
  ```
  Bestand IML: setp.prg
  
  ```php
  # standaard     Flecs
  # funktie       Afhandeling van teruglezen setpoints bij opstart
  #               en/of communicatie fouten.               
  # versie        1.0
  # Auteur        Marcel Jordaan
  
  #Globale IML variabelen
  DECLARE SHORT _glb_sp_plc[20]
  DECLARE PROC sp_read( SHORT)
  DECLARE PROC sp_compl( SHORT)
  
  #Declaratie procedure
  PROC setp
  BEGIN
  END
  
  #Setpoints T10P2 (PLC6)
  #===============================
  PROC sp_read6
  BEGIN
  
    CALL sp_read(6)
  END
  
  PROC sp_compl6
  BEGIN
  
    CALL sp_compl(6)
  END
  #===============================
  
  
  #Bepalen of setpoints terug gelezen dienen te worden van PLC6.
  PROC sp_read( SHORT _plc)
  #Trigger = readcmpl[_plc][10]
  BEGIN
  
    IF Dec_status_ds[_plc][10] = 0 THEN
    
      IF _glb_sp_plc[_plc] = 0 THEN
          
            ccr_lvl2_change_sp[_plc] == 1
          ENDIF
    ELSE
    
      _glb_sp_plc[_plc] = 0
    ENDIF
  END
  
  #Teruglezen setpoints voltooid en zonder fouten.
  PROC sp_compl( SHORT _plc)
  #Trigger = readcmpl[_plc][15]
  BEGIN
  
    IF Dec_status_ds[_plc][15] = 0 THEN
    
      _glb_sp_plc[_plc] = -1
    ENDIF
  END
  ```
  
  IML trigger tabel
  
  ![200302994-01.png](:storage\\3def0606-d341-479d-a614-bab268c7d9d0\\99431893.png)
  
  !!! caution Let op IOxlator
  In de IOxlator dataset tabel dient de read completion voor DS15 van een PLC nog ingevuld te worden.
  Voor PLC6 is dit bijvoorbeeld: readcmpl[6][15].
  !!!
  
  ## Persistence setpoints
  Om de laatst ingevulde waarde van een setpoint te herstellen bij (her)start van FactoryLink zijn de setpoint tags standaard opgenomen in de Persistence taak van FL. 
  Voor setpoint tags kan gebruik gemaakt worden van de Persistence instelling die voor een domain ingesteld is: Bewarten op exception, en herstellen met change bits OFF, zie onderstaande figuur.
  Het betreft hier tags waarvan de waarde naar de PLC gestuurd wordt, en deze bevinden zich allen in het shared domain.
  
  ![200302994-02.png](:storage\\3def0606-d341-479d-a614-bab268c7d9d0\\c12f3974.png)
  
  In de IOX tag-table 15, zoals bijvoorbeeld H1_DS[6][15] voor PLC T10P2 dient voor alle tags te gelden dat de Persistence is ingesteld.
  Hiertoe dient iedere setpoint-tag in deze table afzonderlijk bekeken te worden.
  Voorbeeld van een correct ingestelde tag:
  
  ![200302994-03.png](:storage\\3def0606-d341-479d-a614-bab268c7d9d0\\63aa787d.png)
  
  Persistence is hier voor gedefinieerd, volgens domain setting.
  
  Indien voor een setpoint tag in deze IOX tabel de persistence niet is activeerd, dient deze ingesteld te worden:
  
  ![200302994-04.png](:storage\\3def0606-d341-479d-a614-bab268c7d9d0\\963b6c0e.png)
  
  Bevestigen met OK en naar de volgende setpoint tag!
  !!! note Persistence
  Persistence hoeft alleen voor setpoints ingesteld te worden, en ook alleen voor de setpoints die op een scherm getoond worden.
  !!!
  
  ## Setpoints bewaren/lezen van andere PLC's
  Voor andere PLC's dan T10P2 (PLC6) gelden vergelijkbare wijzigingen als hierboven beschreven.
'''
linesHighlighted: []
isStarred: false
isTrashed: false