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 FLOrder 200302994Inhoud:[TOC]## Teruglezen instellingen T10P2 (PLC6) --> FLInstellingen, 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.``` flowchartst=>start: Start: File setp.prgProc = sp_read6IML trigger readcmpl[6][10]e=>end: Eindeop1=>operation: Communicatie fout gevondenGeef teruglezen setpoints vrij_glb_sp_plc[6] = 0op2=>operation: Trigger teruglezen SPccr_lvl2_change_sp[6] == 1sub1=>subroutine: My Subroutinecond1=>condition: Read completion statusDec_status_ds[6][10] = 0?cond2=>condition: Teruglezen SP actief,_gbl_sp_plc[6] != 0 ?io=>inputoutput: catch something…st->cond1cond1(yes)->cond2cond1(no)->op1(right)->econd2(no,right)->econd2(yes)->op2->e```Afhandeling in IML weergegeven als flowchart:``` flowchartst=>start: Start: File setp.prgProc = sp_read6IML trigger readcmpl[6][15]e=>end: Eindeop1=>operation: Teruglezen setpoints voltooid:_glb_sp_plc[6] = -1cond1=>condition: Read completion statusDec_status_ds[6][15] = 0?st->cond1cond1(yes)->op1->econd1(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 variabelenDECLARE SHORT _glb_sp_plc[20]DECLARE PROC sp_read( SHORT)DECLARE PROC sp_compl( SHORT)#Declaratie procedurePROC setpBEGINEND#Setpoints T10P2 (PLC6)#===============================PROC sp_read6BEGINCALL sp_read(6)ENDPROC sp_compl6BEGINCALL sp_compl(6)END#===============================#Bepalen of setpoints terug gelezen dienen te worden van PLC6.PROC sp_read( SHORT _plc)#Trigger = readcmpl[_plc][10]BEGINIF Dec_status_ds[_plc][10] = 0 THENIF _glb_sp_plc[_plc] = 0 THENccr_lvl2_change_sp[_plc] == 1ENDIFELSE_glb_sp_plc[_plc] = 0ENDIFEND#Teruglezen setpoints voltooid en zonder fouten.PROC sp_compl( SHORT _plc)#Trigger = readcmpl[_plc][15]BEGINIF Dec_status_ds[_plc][15] = 0 THEN_glb_sp_plc[_plc] = -1ENDIFEND```IML trigger tabel!!! caution Let op IOxlatorIn 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 setpointsOm 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.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: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:Bevestigen met OK en naar de volgende setpoint tag!!!! note PersistencePersistence 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'sVoor andere PLC's dan T10P2 (PLC6) gelden vergelijkbare wijzigingen als hierboven beschreven.'''linesHighlighted: []isStarred: falseisTrashed: false