weegcellen via siwarexU

De Modulaire PLC die vrijwel alles kan.

Moderator: GJ_

Plaats reactie
JImmy
Berichten: 145
Lid geworden op: 02-10-2009 14:30:42
Locatie: herzele

weegcellen via siwarexU

Bericht door JImmy » 23-05-2017 18:13:33

Beste(n),

Ik heb volgend probleem:

Op dit moment hebben we 3 verschillende wegers. Deze werden uitgelezen via een weegindicator die communiceerde met de sturingspc via rs232...
Nu is deze pc defect, fabrikant is failliet, op de weegindicatoren vind ik niets meer terug behalve snr: R300-501-302

Nu heb ik 2 mogelijkheden, veronderstel ik, nl ofwel deze uitlezen via een rs232 module. ik verwacht dat dit de duurste oplossing zal zijn aangezien ik 1 me dan 3 modules moet aanschaffen? Ook zal dit niet lukken als ik geen info over de weegindicatoren terug vind?

2de oplossing, via siwarexU modules. Ik heb er al 1 in mijn bezit waar er 2 kunnen worden op aangesloten. Maar ik heb geen ervaring om deze te programmeren. Ik weet al dat ik een aparte kabel en software nodig heb...kan er iemand me hiermee al op weg helpen hoe deze dan in de hw te zetten en hoe deze dienen te worden geprogrammeerd?

Alvast bedankt!

Jimmy.

JoopB
Berichten: 974
Lid geworden op: 30-11-2006 20:42:15
Locatie: Weert

Re: weegcellen via siwarexU

Bericht door JoopB » 25-05-2017 21:14:14

Als je even google op "siwarex_u_getting_started_s7" dan kun je een compleet voorbeeld laden bij Siemens als je nog niet aangemeld ben moet je je eerst aanmelden en dan krijg je na een paar dagen een email ter bevestiging. Dit heeft te maken met export beperkingen. Daarom voeg ik ik dat bestand ook niet als bijlage toe.
Je moet in ieder geval een CD kopen met daarop de Software voor de Siwarex U. Op die Cd staat dan ook de HW van de Siwarex-U kaarten, er staan 2 verschillende type nrs bij een voor de oude versie en een voor de nieuwe versie. Deze files moet je in je HW importeren en dan kun je de Siwarex ook invoegen in je HWconfig. Je kunt dan ook wat instellen.
Volgens mij is de Siwarex-U en de Siwarex-CS alleen geschikt voor interne wegingen, ik denk dat je ze niet voor handels toepassingen mag gebruiken. Daar heb je duurdere modellen voor nodig, in een ver verleden heb ik een keer een Siwarex-M gebruikt en deze was wel ijk waardig. In onze oudere installaties zitten nog wat Siwarex-U maar bij een uitbreiding of een vervanging van een losse weegprocessor die via analoge ingangen met de plc zijn verbonden zetten we de Siwarex CS in. Deze zijn een stuk kleiner en ook goedkoper, je heb alleen een ET200S kopstation nodig en profibus of profinet.
In de getting started file zit een voorbeeld programma met een touch panel en ook nog handboeken en een uitleg van het programma.
Hieronder een printscreen van de HW config.
Gr,
Joop
Bijlagen
HW Siwarex.JPG
HW Siwarex.JPG (138.09 KiB) 37425 keer bekeken

JImmy
Berichten: 145
Lid geworden op: 02-10-2009 14:30:42
Locatie: herzele

Re: weegcellen via siwarexU

Bericht door JImmy » 11-07-2017 19:15:59

Ok, Joop, bedankt!

Ik ga nu de hw proberen in orde te krijgen, daarna eens zien of ik deze 3 weegmodules dan kan programmeren om uit te lezen...bedoeling is om te wegen (intern gebruik) en te kunnen resetten op 0 kg...

Ik heb 2 weegmodules, 1 met 2 kanalen, 1 met 1 kanaal...

Zoals ik begrijp uit het vb, moet ik dus per module de FB45 "SIWA_U" oproepen, en hieraan een DB koppelen. Ook een Scale DB per module moet ik koppelen.
In deze kan ik dan het gewicht aflezen...

Bedoeling is het gewicht uit te kunnen lezen en op 0 te kunnen zetten...bvb als er een restgewicht is van bvb 12kg, moet ik de keuze hebben om deze bij opstart op 0 te kunnen zetten...heb ik daarvoor de FC30 "execute commands" nodig of kan ik gewoon op de fp van de drukknop het commando koppelen?

Ik test eerstdaags al wat en plaats dan wat ik heb...alvast bedankt!

JoopB
Berichten: 974
Lid geworden op: 30-11-2006 20:42:15
Locatie: Weert

Re: weegcellen via siwarexU

Bericht door JoopB » 20-07-2017 23:58:08

Jimmy.
Ik heb op dit moment mijn pc niet bij de hand. wat de bouwsteen en de DB's is het zoals je schrijft.
Het gewicht op nul zetten heb ik altijd software matig gedaan. Gewoon het gewicht wat siwarexj uitgeeft in een MW of een DBW opslaan en dit van de actuele waarde aftrekken.. Word het correctie gewicht te groot dan kun je nog een melding uitgeven dat de weegschaal gecontroleerd moet worden.

Als je ook de beelden van het voorbeeld programma gebruikt dan moet je niet vergeten om de inhoud van OB35 in je plc te zetten . (in een OB3x met een interval time van ongeveer 100 ms) Doe je dit niet dan zie je geen gewicht en werken sommige andere dingen ook niet.

JImmy
Berichten: 145
Lid geworden op: 02-10-2009 14:30:42
Locatie: herzele

Re: weegcellen via siwarexU

Bericht door JImmy » 31-07-2017 21:13:48

Beste Joop,

Ik heb dus 2 modules, de ene met 2 kanalen, de andere met 1 kanaal...

Voor elke module heb ik dus de FB45 opgeroepen, alsook een Vector_DB (die voor beide modules dezelfde is als ik het goed begrepen heb), en een Scale_DB per module (DB's heb ik gekopieerd uit het voorbeeld programma)...
Capturea.PNG
Capturea.PNG (28.72 KiB) 37182 keer bekeken
Captureb.PNG
Captureb.PNG (27.48 KiB) 37182 keer bekeken
Ik gebruik NIET de beelden uit het programma, en het resetten v/h gewicht ga ik doen zoals u eerder voorstelde, nl. waarde laden in een MW en berekenen...

Is het dan zo dat dit alles is wat ik moet programmeren voor het uitlezen van het gewicht?
En dan nog een vraagje, waar kan ik het gewicht uitlezen? Voor de eerste module, is dat dan op regel DBW12 (kanaal 1) en DBW20 (kanaal 2)?
Capturec.PNG
Capturec.PNG (24.2 KiB) 37179 keer bekeken
Of is dat op de volgende regels, nl DBW100 (kanaal 1) en DBW110 (kanaal 2) in de Scale_DB?
Ik zie dat in het voorbeeld programma ze deze laatste gebruiken om het gewicht terug te geven...?


Al de rest heb ik dus niet nodig (vb FC30 "Execute commands°,......?

Mvg., Jimmy.

JoopB
Berichten: 974
Lid geworden op: 30-11-2006 20:42:15
Locatie: Weert

Re: weegcellen via siwarexU

Bericht door JoopB » 01-08-2017 12:21:05

Het gewicht lees je via DW100 en DW110 uit.
Ik weet niet zeker of je zonder FC30 kunt, ik heb hem wel in het programma staan maar ik heb op een TP600 basic ook de mogelijkheid om de gewichten uit te lezen en eventueel de weegschaal te calibreren.
In een OB3x (intervaltijd +/-100 ms in mijn geval is dit OB33) moet je dan ook nog wat code zetten. Zie printscreens.
Zonder de code in de OB werkt in ieder geval de communicatie met het panel niet. Hier worden de triggers en opdrachten op et panel aangestuurd. In de PLC in dit voor beeld zit maar 1 dubbele Siwarex U in een ander installatie heb ik 2 siwarex U kaarten met 1 kanaal
ktp600.JPG
Touchpanel
ktp600.JPG (74.38 KiB) 37172 keer bekeken
Bijlagen
FC702.JPG
Oproep Siwarex FC's
FC702.JPG (151.67 KiB) 37172 keer bekeken
ob33.JPG
OB 100ms
ob33.JPG (53.43 KiB) 37172 keer bekeken

JoopB
Berichten: 974
Lid geworden op: 30-11-2006 20:42:15
Locatie: Weert

Re: weegcellen via siwarexU

Bericht door JoopB » 01-08-2017 12:35:30

Bij de installatie met 2 enkele Siwarex U kaarten, wordt alleen DB71 gebruikt en SFC 59 om het gewicht en de status uit te lezen, hier is geen calibratie mogelijkheid e.d. op een display.
Code van DB71 is:

Code: Selecteer alles

DATA_BLOCK DB 71
VERSION : 0.1


  STRUCT 	
   DR0_DIAGNOSE_PARAMETERS : STRUCT 	
    BYTE0 : BYTE ;	
    BYTE1 : BYTE ;	
    BYTE2 : BYTE ;	
    BYTE3 : BYTE ;	
   END_STRUCT ;	
   DR1_DIAGNOSE_PARAMETERS : STRUCT 	
    BYTE0 : BYTE ;	
    BYTE1 : BYTE ;	
    BYTE2 : BYTE ;	
    BYTE3 : BYTE ;	
    BYTE4 : BYTE ;	
    BYTE5 : BYTE ;	
    BYTE6 : BYTE ;	
    BYTE7 : BYTE ;	
    BYTE8 : BYTE ;	
    BYTE9 : BYTE ;	
    BYTE10 : BYTE ;	
    BYTE11 : BYTE ;	
    BYTE12 : BYTE ;	
    BYTE13 : BYTE ;	
    BYTE14 : BYTE ;	
    BYTE15 : BYTE ;	
   END_STRUCT ;	
   DR3_IJKING_CHAN1 : STRUCT 	//input/output
    ZERO_SETTING : WORD ;	//voor verlopen nulpunt
    INSTELLING : WORD ;	//bits 0-1, 2-4, 5-8, 9, 10
    A_D_PUNT_0 : WORD ;	//waarde A/D-omzetting indien leeg
    A_D_PUNT_1 : WORD ;	//waarde A/D-omzetting in ijkpunt
    GEWICHT_PUNT_1 : INT ;	//gewicht in ijkpunt
   END_STRUCT ;	
   DR4_IJKING_CHAN2 : STRUCT 	//input/output
    ZERO_SETTING : WORD ;	//voor verlopen nulpunt
    INSTELLING : WORD ;	//bits 0-1, 2-4, 5-8, 9, 10
    A_D_PUNT_0 : WORD ;	//waarde A/D-omzetting indien leeg
    A_D_PUNT_1 : WORD ;	//waarde A/D-omzetting in ijkpunt
    GEWICHT_PUNT_1 : INT ;	//gewicht in ijkpunt
   END_STRUCT ;	
   DR5_ALGEMEEN : STRUCT 	//input/output
    BYTE0 : BYTE ;	
    BYTE1 : BYTE ;	
    BYTE2 : BYTE ;	
    GEBRUIK_LED1 : BYTE ;	//gebruik LED 1
    GEBRUIK_LED2 : BYTE ;	//gebruik LED 2
    BYTE5 : BYTE ;	
   END_STRUCT ;	
   DR6_AFSTAND : STRUCT 	//input/output
    BYTE0 : BYTE ;	
    BYTE1 : BYTE ;	
    BYTE2 : BYTE ;	
    BYTE3 : BYTE ;	
   END_STRUCT ;	
   DR11_BEVEL_CHAN1 : STRUCT 	//input
    BEVEL : INT ;	//set as zero = 1, adjust = 2; nulpunt verlopen = 3; fabrieksinstelling = 5
   END_STRUCT ;	
   DR12_BEVEL_CHAN2 : STRUCT 	//input
    BEVEL : INT ;	//set as zero = 1, adjust = 2; nulpunt verlopen = 3; fabrieksinstelling = 5
   END_STRUCT ;	
   DR21_LIMIETEN_CHAN1 : STRUCT 	//input/output
    LIMIET_1_AAN : INT ;	//gewicht inschakelen limiet 1
    LIMIET_1_UIT : INT ;	//gewicht uitschakelen limiet 1
    LIMIET_2_AAN : INT ;	//gewicht inschakelen limiet 2
    LIMIET_2_UIT : INT ;	//gewicht uitschakelen limiet 2
   END_STRUCT ;	
   DR22_LIMIETEN_CHAN2 : STRUCT 	//input/output
    LIMIET_1_AAN : INT ;	//gewicht inschakelen limiet 1
    LIMIET_1_UIT : INT ;	//gewicht uitschakelen limiet 1
    LIMIET_2_AAN : INT ;	//gewicht inschakelen limiet 2
    LIMIET_2_UIT : INT ;	//gewicht uitschakelen limiet 2
   END_STRUCT ;	
   DR31_WEGING_CHAN1 : STRUCT 	//output
    GEWICHT : WORD ;	//gewicht
    STATUS : BYTE ;	//bit 2 : limiet 1; bit 3 : limiet 2; bit 4 : adjusted
    BYTE3 : BYTE ;	
    A_D_UITGANG : INT ;	//waarde A/D-omzetting
    DIAGNOSE : WORD ;	//bits 0, 1, 2, 3, 4, 5, 6, 7 
    FOUTEN : WORD ;	//bits 0, 1, 2, 3, 5, 6, 7
   END_STRUCT ;	
   DR32_WEGING_CHAN2 : STRUCT 	//output
    GEWICHT : WORD ;	//gewicht
    STATUS : BYTE ;	//bit 2 : limiet 1; bit 3 : limiet 2; bit 4 : adjusted
    BYTE3 : BYTE ;	
    A_D_UITGANG : INT ;	//waarde A/D-omzetting
    DIAGNOSE : WORD ;	//bits 0, 1, 2, 3, 4, 5, 6, 7 
    FOUTEN : WORD ;	//bits 0, 1, 2, 3, 5, 6, 7
   END_STRUCT ;	
   DR40_VERSIE : STRUCT 	//output
    BYTE0 : BYTE ;	
    BYTE1 : BYTE ;	
    BYTE2 : BYTE ;	
    BYTE3 : BYTE ;	
    BYTE4 : BYTE ;	
    BYTE5 : BYTE ;	
    BYTE6 : BYTE ;	
    BYTE7 : BYTE ;	
   END_STRUCT ;	
   RD_WR_ERROR : STRUCT 	
    READ : INT ;	//opslaan fout bij lezen SFC 59
    WRITE : INT ;	//opslaan fout bij schrijven SFC 58
   END_STRUCT ;	
  END_STRUCT ;	
BEGIN
   DR0_DIAGNOSE_PARAMETERS.BYTE0 := B#16#0; 
   DR0_DIAGNOSE_PARAMETERS.BYTE1 := B#16#0; 
   DR0_DIAGNOSE_PARAMETERS.BYTE2 := B#16#0; 
   DR0_DIAGNOSE_PARAMETERS.BYTE3 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE0 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE1 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE2 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE3 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE4 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE5 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE6 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE7 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE8 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE9 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE10 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE11 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE12 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE13 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE14 := B#16#0; 
   DR1_DIAGNOSE_PARAMETERS.BYTE15 := B#16#0; 
   DR3_IJKING_CHAN1.ZERO_SETTING := W#16#0; 
   DR3_IJKING_CHAN1.INSTELLING := W#16#0; 
   DR3_IJKING_CHAN1.A_D_PUNT_0 := W#16#0; 
   DR3_IJKING_CHAN1.A_D_PUNT_1 := W#16#0; 
   DR3_IJKING_CHAN1.GEWICHT_PUNT_1 := 0; 
   DR4_IJKING_CHAN2.ZERO_SETTING := W#16#0; 
   DR4_IJKING_CHAN2.INSTELLING := W#16#0; 
   DR4_IJKING_CHAN2.A_D_PUNT_0 := W#16#0; 
   DR4_IJKING_CHAN2.A_D_PUNT_1 := W#16#0; 
   DR4_IJKING_CHAN2.GEWICHT_PUNT_1 := 0; 
   DR5_ALGEMEEN.BYTE0 := B#16#0; 
   DR5_ALGEMEEN.BYTE1 := B#16#0; 
   DR5_ALGEMEEN.BYTE2 := B#16#0; 
   DR5_ALGEMEEN.GEBRUIK_LED1 := B#16#0; 
   DR5_ALGEMEEN.GEBRUIK_LED2 := B#16#0; 
   DR5_ALGEMEEN.BYTE5 := B#16#0; 
   DR6_AFSTAND.BYTE0 := B#16#0; 
   DR6_AFSTAND.BYTE1 := B#16#0; 
   DR6_AFSTAND.BYTE2 := B#16#0; 
   DR6_AFSTAND.BYTE3 := B#16#0; 
   DR11_BEVEL_CHAN1.BEVEL := 0; 
   DR12_BEVEL_CHAN2.BEVEL := 0; 
   DR21_LIMIETEN_CHAN1.LIMIET_1_AAN := 0; 
   DR21_LIMIETEN_CHAN1.LIMIET_1_UIT := 0; 
   DR21_LIMIETEN_CHAN1.LIMIET_2_AAN := 0; 
   DR21_LIMIETEN_CHAN1.LIMIET_2_UIT := 0; 
   DR22_LIMIETEN_CHAN2.LIMIET_1_AAN := 0; 
   DR22_LIMIETEN_CHAN2.LIMIET_1_UIT := 0; 
   DR22_LIMIETEN_CHAN2.LIMIET_2_AAN := 0; 
   DR22_LIMIETEN_CHAN2.LIMIET_2_UIT := 0; 
   DR31_WEGING_CHAN1.GEWICHT := W#16#C; 
   DR31_WEGING_CHAN1.STATUS := B#16#38; 
   DR31_WEGING_CHAN1.BYTE3 := B#16#EF; 
   DR31_WEGING_CHAN1.A_D_UITGANG := 0; 
   DR31_WEGING_CHAN1.DIAGNOSE := W#16#0; 
   DR31_WEGING_CHAN1.FOUTEN := W#16#0; 
   DR32_WEGING_CHAN2.GEWICHT := W#16#10; 
   DR32_WEGING_CHAN2.STATUS := B#16#18; 
   DR32_WEGING_CHAN2.BYTE3 := B#16#18; 
   DR32_WEGING_CHAN2.A_D_UITGANG := 0; 
   DR32_WEGING_CHAN2.DIAGNOSE := W#16#0; 
   DR32_WEGING_CHAN2.FOUTEN := W#16#0; 
   DR40_VERSIE.BYTE0 := B#16#0; 
   DR40_VERSIE.BYTE1 := B#16#0; 
   DR40_VERSIE.BYTE2 := B#16#0; 
   DR40_VERSIE.BYTE3 := B#16#0; 
   DR40_VERSIE.BYTE4 := B#16#0; 
   DR40_VERSIE.BYTE5 := B#16#0; 
   DR40_VERSIE.BYTE6 := B#16#0; 
   DR40_VERSIE.BYTE7 := B#16#0; 
   RD_WR_ERROR.READ := 0; 
   RD_WR_ERROR.WRITE := 0; 
END_DATA_BLOCK
Bij enkele modules het adress van elke kaart als hex getal invullen en bij RECNR 1F (31) invullen bij een dubbele kaart voor het 2e block hetzelfde adress als het eerste maar bij RECNR 20 (32) invullen.
Groeten,
Joop
Bijlagen
Siwarex U.JPG
Hier een voorbeeld van 2 losse modulus uitlezen
Siwarex U.JPG (109.19 KiB) 37172 keer bekeken

JImmy
Berichten: 145
Lid geworden op: 02-10-2009 14:30:42
Locatie: herzele

Re: weegcellen via siwarexU

Bericht door JImmy » 02-08-2017 14:46:28

Beste Joop, alvast bedankt voor je hulp...

Wss ga ik het eerst eens proberen met de FB45......maar ik heb toch een vraagje over die andere mogelijkheid....

De DB71, die hebt u zelf opgesteld wss?

Zoals ik het begrijp, als ik de SIWA wil uitlezen met de SFC59, dan heb ik eigenlijk maar 2 DBW's nodig? Zoals ik het zie haalt de SFC zijn info direct uit de module, en schrijft 2 gegevens in de DB (zoals in uw vb dus RECORD:= P#DB71.DBX70.0 BYTE 4)?

Het eerste weggeschreven woord is dan het gewicht, het tweede de status van de module...?

Al de rest in DB71 is hier niet van toepassing?

Mvg., Jimmy.

JoopB
Berichten: 974
Lid geworden op: 30-11-2006 20:42:15
Locatie: Weert

Re: weegcellen via siwarexU

Bericht door JoopB » 05-08-2017 14:51:15

Die DB 71 heb ik niet zelf geschreven. Die is er door de machine leverancier ingezet. Ik denk dát dit een oude Siemens voorbeeld DB is. In het hele programma is dit het enige wat er met deze DB gedaan wordt.

JImmy
Berichten: 145
Lid geworden op: 02-10-2009 14:30:42
Locatie: herzele

Re: weegcellen via siwarexU

Bericht door JImmy » 14-08-2017 19:15:10

Een klein probleempje nog...ik heb de FB45 proberen te downloaden in de plc, maar ik krijg de melding dat ik deze niet kan copiëren...het betreft een ouder model van de 315 reeks. Is er ergens een mogelijkheid om te zien of de betreffende plc deze blok ondersteund?

Jimmy.

JoopB
Berichten: 974
Lid geworden op: 30-11-2006 20:42:15
Locatie: Weert

Re: weegcellen via siwarexU

Bericht door JoopB » 18-08-2017 15:07:39

Jimmy,

Ik heb even een test gemaakt met een oude 314IFM Bouwjaar ergens in de jaren 90 , in deze PLC kan ik het de FB ook niet in kopiëren. De oorzaak is dat de SFB 52 en 53 niet in de PLC aanwezig zijn. Je kunt dit testen door via de manager op Ctrl + D te drukken op het tabblad 'Leitingsdaten' (bij Duitse taal instelling van Step7) kun je kijken of deze SFB's in de plc aanwezig zijn. Ik denk dat dit de oorzaak is waarom je de FB niet kunt downloaden .
Hier nog een paar plaatjes van de toestand van mijn 314IFM (online via MPI uit het voorbeeld programma van de Siwarex U) , ik heb nog wel een oud voorbeeld project waarbij je deze SFB's niet nodig heb, deze werkt met SFC 58 en 59 en deze zijn in mijn oude 314IFM wel aanwezig. Met dit programma kun je in ieder geval het bruto gewicht uitlezen.
Siwa_u_1.zip
Hier het voorbeeld bestand zonder de SFB's
(117.76 KiB) 658 keer gedownload
Bijlagen
Pic 1.JPG
Pic 1.JPG (93.25 KiB) 37020 keer bekeken
Pic 2.JPG
Pic 2.JPG (79.38 KiB) 37020 keer bekeken

Plaats reactie

Terug naar “S7-300”