Hirdetés
- iPhone topik
- Google Pixel topik
- Xiaomi 14 Ultra - Leica hercegnő
- Samsung Galaxy A56 - megbízható középszerűség
- Visszatérnek a Samsung tervezte CPU-magok és GPU az Exynos 2800-ban?
- Samsung Galaxy A54 - türelemjáték
- OnePlus 15 - van plusz energia
- CES 2026: Érintőceruzát támogató komolyabb Motorola várható
- One mobilszolgáltatások
- Fotók, videók mobillal
Új hozzászólás Aktív témák
-
Bazs87
tag
Sziasztok!
TIA V13 SP1-ben "érdekes" problémára bukkantam.
Ha egy nem optimalizált db-ben van egy structom, amiben adott számú char van, és ezeket szeretném egy optimalizált DB azonos hosszúságú char array-be másolni, akkor egy lépésből jelen tudásom szerint nem tudom megoldani.
Array-Array ill Array-opt Array, Struct-Array megy, de ez az egy párosítás nem akarja a jót.
Nincs erre valakinek egy elegáns megoldása? (blkmove, blk_move,blk_move_variant, char2str-str2char volt eddig tesztelve, ezekkel jutottam erre az eredményre)Köszönettel:
Bazs87 -
Bazs87
tag
-
Bazs87
tag
Sziasztok!
TIA V13-as kérdésem lenne.
Össze szeretnék hasonlítani 2 projektet. (a cellák közel azonosak, a szoftverben minimális eltérések vannak maximum) Miután 1x véletlen teljes fordításra nyomtam azóta a fordítási dátumból kiindulva mindent eltérőnek ítél. (1 projektben van a vizu is, azt pedig mindig fordítgatni kell, hogy működjön)
Beállítás nincs, hogy mire figyeljen, ellenben az elődjével.
Offline/Offline compare-el próbálkoztam.
Ez tényleg ekkora sz*r?
-
Bazs87
tag
szia
van 1 inted másodpercben, ameddig a folyamat tart->taktmerkerből pluse-t csinálsz flaggel (igy masodpercenkent van 1 egy ciklus hosszu szignálod) ->es pl így:
u p_1Hz
spbn aa
l szamlalo
l 1
-I
t szamlaloa szamlalot irathatod is ki.
Vagy fogod es az idozitod akt erteket "megforditod". teljes idő = 100, letelt 70(ami épp fut)->30 van hátra
ergo teljes ido-letelt = ami neked kell
-
Bazs87
tag
a ciklikus olvasás beállítás megválaszolta a 0 kiement kérdésem.
A program, igaz statikus 200 soros meghívással, de működik.A nagyobb gond úgy néz ki olvasásnál van.
Perpill ez a kód:Sub SpuelPrg_Import(ByRef StNr, ByRef PNr)
'Declarations
Dim Fn
Dim fso
Dim arc
Dim tmp
Dim var
Dim valu
Dim list
If SmartTags("M 595.7") Then
Fn = "D:\testscript\" + CStr(StNr) + "_" + CStr(PNr) + ".csv"
Set fso = CreateObject( "Scripting.FileSystemObject" )
Set list = CreateObject( "System.Collections.ArrayList" )
If Not fso.FileExists(Fn) Then
ShowSystemAlarm Fn + " not exists"
Exit Sub
End If
Set arc = fso.OpenTextFile( Fn , 1 )
Do
tmp = arc.ReadLine
'var = Left ( tmp, InStr( tmp , ";" ) - 1 )
'valu = Right ( tmp, Len( tmp ) - InStr( tmp , ";" ) - 1 )
list.add Right ( tmp, Len( tmp ) - InStr( tmp , ";" ) - 1 )
On Error Resume Next
' SmartTags(""&var&"")= valu
SmartTags("DB 150 DBD 0")=list(0) --> a din megoldás kommentezve, ezt próbálom
If Err.Number <> 0 Then
ShowSystemAlarm "Error in write process"
Exit Sub
End If
On Error GoTo 0
Loop Until arc.AtEndOfStream
arc.Close
Set arc = Nothing
Set fso = Nothing
SmartTags("M 595.7") = False
End If
End Suba bemeneti adat 1 sora:
DB 150 DBD 0;555A stringvágás vbs-ben működött, előbb ott teszteltem. Csak utána ültettem át tiába.
2 komolyabb gondom van perpill:
- a "kisebb", hogy a notin amint rányitok az import scriptre a tia összeomlik és bezár
- a nagyobbik az, h "error write process" hibával elszáll a script és nem ír semmit vissza a DB-bevalszeg a konvertálással van a gond, mert ugye a beolvasott változó string, az vagdosva is lett ráadásul, majd nekem DWord-be kellene konvertálnom.
Itt jön be, hogy siemensék integere <> vbs integer, ezáltal hibáa akarok én cInt-et v cDbl-t használni a végeredmény ugyanez. Igaz, konvertálgatási próbálkozásaim alatt konvertálási hibát is kiírt. Ha nem konvertálok akkor azt nem sérelmezi, csak írni nem tudom...
A dinamikus problémát még meg tudom oldani a léhűtő kívül generál és bemásol témával, de az írási problémámra az sem jelent megoldást.
a változó is már folyamatosan meghívódik. Mi lehet még?
(visszatérve az exportra vagyok olyan perverz, hogy az általad javasolt megoldással is futok egy kört, mert sokkal igényebess az általad leírt)
továbbá újratelepítek egy tiát, de sztem előtte csinálok egy videót és elküldöm egy cirkusznak, mert ez már kritikán aluli....a kódra úgy tekintsetek, hogy egy megírt de változtatott logika, még nincs tisztázva, a teszt közepén áll.
-
Bazs87
tag
800/4=200*, igen
A symbolok is automatán lettek létrehozva, amire hivatkozom, nincsen elütési hiba sem ebből kifolyólag.
A vicc, hogy nem dob hibát, hanem 0-val jön vissza a smarttags.
(statikusan 200 sorban működik csak, dinamizálni nem tudom, pedig szeretném, mert ez így igen ótvar) -
Bazs87
tag
Sziasztok!
TIA V13 SP1 UPD9 Visu script-es témám van, amiben ismét a hozzáértők tanácsát szeretném kérni.
33x800 byte-ot kell importálnom/exportálnom.
A megoldás egy lépéslánc blockmove-val, ami a mintadb-ből a db150be pakolja a plc meghívására az adott területet. Eztán startol egy scriptet:Sub SpuelPrg_Export(ByRef StNr, ByRef PNr)
'Declarations
Dim Fn
Dim fso
Dim arc
Dim varname
Dim offs
Dim strt
Dim i
If SmartTags("M 597.7") = True Then
Fn = CStr(StNr) + "_" + CStr(PNr) + ".csv"
Set fso = CreateObject( "Scripting.FileSystemObject" )
Set arc = fso.CreateTextFile( Fn , True )
varname= "DB 150 DBD "
For i = 0 To 799 Step 4
arc.WriteLine varname + CStr(i) + ";" + cStr(SmartTags(varname))
Next
arc.Close
Set arc = Nothing
Set fso = Nothing
SmartTags("M 597.7") = False
End If
End SubA gondom, hogy a SmartTags úgy néz ki nem kezel dinamikus nevet. (hiba nincs, minden értéknek nullát ad meg)
Valaki futott már bele hasonló történetbe? Hogyan tudom esetlegesen kikerülni?
Persze be tudom írni a 200 dbd statikus meghívását, de az nem túl elegáns. Sajnos lassan már tényleg csak ezt a lehetőséget látom. -
Bazs87
tag
végül mérgemben visszamentem s7-es felületre és megnéztem mi a baj a logikámmal (pa pedig már ott voltam Szirty régi any-s mintájából visszafelé generáltam dinamikusan 2 pointert, ami sfc20-szal működik, de az viszonylag helyigényes, ezért nem kopizom be):
FOR i:=0 TO 10 DO
j:= i*4;
WORD_TO_BLOCK_DB(DB_No2).DD[j] := WORD_TO_BLOCK_DB(DB_No1).DD[j];
END_FOR;A tiás megoldás pedig így néz ki (tesztelve):
#tmp_Offs := #i_PrgNr * 800 + 800;
for #i:=0 to 199 do
#j := 4 * #i;
#state := PEEK_DWORD (area:=16#84, dbNumber:=#i_DBNr, byteOffset:=#j+#tmp_Offs);
POKE (area:=16#84, dbNumber:=150, byteOffset:=#j, value:=#state);
end_for;(a szintax érdekes, nem a konkrét címzés, az előbbi 1 teszt, az utóbbi a feladat 1 részfeladatára lett írva)
-
Bazs87
tag
a feltevés tökéletes. Ez volt az első irány. A gond, a 32 prog az nekem ugyanúgy struct. (s7 standard migrálása után valami túlfutott a tiá-s kereteket, ezért vissza kellett állnunk struct típusokra)
Így array-ekkel nem tudok dolgozni.Vagy favágok 2*32 move tologatást amit semmiképp sem szeretnék, vagy dinamikus pointert építek, amiben további változó a kezdeti offset és a db szám + valami tiás sfc20(blk move), vagy scl-ben dinamikus megoldással áttologatom egy for ciklussal a paramétereket, a "szép" a dologban, hogy a siemens megint remekelt V13-ban és az egyszerű megoldást sikerült bonyolítania. [link]
A paraméter beolvasása stringből valszeg már nem az a kategória, amit a tia tudhat.
Persze a dbd-k ciklikus írogatása stl-ben is mehetne, de akkor már inkább scl...már ha megy egyáltalán.
Példám szerint így lehet egy egyszerű feladatból nagy szívást kanyarintani

-
Bazs87
tag
Sziasztok!
TIA SCL programozásbeli kérdésem lenne.
Adott 2 DB, aminek saját UDT változói vannak több szinten egymás alatt.
A db150-ben szerepel 1 program udt, a forrás db101-ben pedig ugyanez az udt 0...32-ig.
Dinamikus funkciót szeretnék ahhoz építeni, hogy tudjam mindkét irányban másolgatni azt a durván prog udt-nként 800 byte-ot. (Adatbank van felépítve a db-ben, amiknek a csv exportját és importját kell megoldanom, sajnos csak scriptből nem tudom, mert ha DW-ben szeretném ciklikusan kopizni akkor 6600 változó kell, és nekem nem csak db101-em van, hanem 102,103,104)Első körben a blockmove irányába mentem el, de ahhoz pedig dinamikusan kellene pointert építenem, ami tud onnan ki-be pakolni. Ezt Szirty írásaiból láttam, hogy nem egyszerű, noha ennek ő nagymestere. Én nem:/
Második körben arra gondoltam, hogy a vbs-ből ismert eval() (vagy delphi getparameter) funkcióval szeretnék dolgozni. Ergo stringként karakterekből felépítem a változó nevét, és utána set-get párossal írok bele, vagy veszem ki az értékeit.
Ez már eléggé felsőbb nyelves megoldás, továbbá nem tudom, hogy tud-e ilyet a tia scl-je.
Maradék megoldásnak még STL vagy scl megoldásként egy ciklust, ami abszolút adresszálással lemásolgatja a 800 byte-ot, de az meg gondolom nem lesz jó hatással a ciklusidőre.
Ha érthető volt a kérdésem várom tanácsaitokat a megoldást illetően!Köszönöm előre is!
Szép napot (még ha hétfő is)!
Bazs87 -
Bazs87
tag
nincs valakinek tapasztalata ABB robotokkal az irc5-ös előtti időkből?
-
Bazs87
tag
jogos, gondolatindítónak szántam...
a másik opció a program start funkció tia vizuban, onnan pedig bat fájllal ftp műveleteket végezni.
A wince bat is elég korlátolt, talán tudja még ezt is.Onnan már csak a textmanipulálás/beolvasás-szétvágás marad, de azt tiában lehet már blokkban is.
-
Bazs87
tag
én anno a fw update-tel szívtam (24 megás tia sd kellett hozzá, szerencsémre a cégnél véletlenül pont 1 ilyet rendeltek egy 1500-ashoz tesztnek)
ha jól emlékszem az 1200as 2 megáig támogat tia sd-t, nem kell siemenst venned minden áron, Helmholz is van pl, meg gondolom még 1 rakás "utángyártó" valamivel kedvezőbb áron. Már ezen is elfér párezer sor a csv-n, főleg ha ciklikusan "körbe" íratod. Pl 5000 adatot mentesz és a legutolsót mindig kidobod, a többit pedig eltolod és az újat pedig legelőre illeszted(mint az Audit Trail).Esetleg a Tia vizu Archive funkciója nem lenne használható?
Onnan már csak azt kéne megszülni, hogy script nélkül lehet-e továbbcopyzni szerverre fájlt. (scriptbebn megoldható, de fontos korlátozás, hogy WinCe-be nem latsz bele, csak te tudsz onnan kiírni, így megosztott mappás lehetőség sajnos nem játszik, ezzel már én is szívtam)Nekem az nem teljesen tiszta, hogy adott az 1200-nál vmennyi programmemória és "ram", aztán adott valamennyi "tárhely", ami kártyával bővíthető valameddig.
Oda tudsz menteni csv-t, amit a webserver oldalán is le tudsz tölteni.
PLC-n az ilyen irányú korlátozott tudásomből fakadóan nem biztos, hogy belkezdenék saját szakállra. Inkább pc-vel vagy pc-plc kombóval oldanám meg, persze ha van erre lehetőség.Ha van mellette egy folyamatosan vagy ciklikusan PC-n futó program le lehetne tölteni csv-ben a fájlt automatizáltan, majd a program felrakja ftp-re (vbs v bármi jo lenne ra).
Korrekciót, véleményt szívesen veszek
-
Bazs87
tag
mi számít komplexnek?
Első olvasásra már a te kódodra is azt mondanám, mert valahol a határokat súrolgatod ftp-vel és rfid loginnal.
Nekem csak kis cellákkal van tapasztalatom (forgóasztal + 1-2 robot), de mi min 315 pn/dp-t vagy 15xxasokat használunk(a tia most indul be, enyém az egyik első full tiás projekt, ezért nem tudom még a kiváltó típust).Kis plc-khez eddig nem kerültem közel, de tervezem, mert érdekelne, ezért is kérdeztem a basic tia-ban rejlő lehetőségeket.
-
Bazs87
tag
válasz
n0rbert0
#6750
üzenetére
sajnos nem.
Ugye step7-ben tudtál tetszőlegesen váltogatni kop-fup-awl (bocsi, a német megfelelő megy fejből) nézetet.
A siemens viszont az awl-t ki akarja hajítani az abszolút címzéssel együtt.Ezért van az 1200asban már csak scl awl nélkül, megyünk a rendes programozás irányába.
Jelen pillanatban a kop és fup kompatibilis, lehet is váltogatni, továbbá 1500asnál befúzhetsz a kop/fup blokkokhoz awl "netzwerk"-et, de egymással nem kompatibilisek, külön fordítójuk van már.Ez azért tűnt fel, mert awl-ben dolgoztunk, amit úgy írtunk meg h FUP-ba forgatható legyen s7 alatt. (gyors írás, könnyű tesztelés a vizuális kód miatt) Ez a lehetőség elveszett, de legalább tudunk drag/droppal változókat behúzogatni...:p
-
Bazs87
tag
ez a költség azért kigazdálkodható még talán privát használatra is. Igaz, egyszer megveszi az ember, utána még a verziófrissítés is fizetős gondolom a basicnél is.
Van tapasztalatod arról hol lehet a vége egy 1200-asnak? Milyen komplex cella kell ahhoz, hogy azt mondja az ember ez már kevés?
a scriptes linken megtaláltad amit kerestél?
általános kérdés:
PLC-nél "kifizetődő" egyáltalán scl-ben programozni? Le tudja futtatni, de ha jól láttam a mérete azonos funkciónál kicsit nagyobb, mint 1 funkcióblokkos megoldásnak. A futtatási időnél esetleg lehetnek még eltérések?
Egy nálam jóval tapasztaltabb programozó javasolta anno, hogy a plc nem erre való.Ti mit gondoltok?
-
Bazs87
tag
válasz
Psanyi42
#6728
üzenetére
adott 1 standard, ami le van tesztelve és elemek szintjén működik, viszont rengeteg a "favágó" munka. Be kell csépelni 1 rakás "felesleges" dolgot, ami rengeteg időt vesz el és mire elérsz a lényeghez már a teleszalad a hócipőd az egész bohóckodással. Mivel a standard adott és módosítási javaslataim folyamatosan a kukában landolnak szeretném megelőzni a dolgot és scripttel automatizálni az egyértelmű műveleteket. (pl UN in_
biztositek = out_hibaBiztositek)Ugye erre 2 lehetőség van (step7-ben), az 1ik, hogy scl-ben dolgozol, ahova csak az automatikusan generált kódokat belapátolod(crtl+c crtl+v), a másik pedig hogy az adott FC-kből soure gen-en keresztül txt-ben értelmezhető kódot generálsz, amit aztán tudsz manipulálni a szintax szabályok betartásával. A generálás után a szükséges modulokat importálod, és megkapod a kész "favágott" modult.
Értelemszerűen ez az egész munkát nem váltja ki, de az egyszerűbb logikai műveletek is megoldhatók lennének a segítségével, továbbá átnézni - főleg az elején - mindenképp érdemes.
A nehézségem, hogy hamarosan vált mindenki TIÁ-ra, amiben csak az scl-es lehetőség marad nyitva. No meg persze drag&droppal húzogathatjuk be egyenként a változókat

A kérdésem az lett volna, hogy foglalkozik-e valaki hasonlókkal, vagy ismer-e netán más kerülőutat amivel a hasonló "gyakornok" melók megoldhatóak.
-
Bazs87
tag
Sziasztok!
TIA-val kapcsolatban érdeklődnék. Próbált már valaki itt kódot "kívülről" automatizáltan előállítani (source/quelle s7-ben) és importálni? SCL-hez találtam ilyen import lehetőséget, azt könnyedén lehet mozgatni, de sok feladatra ugye nem optimális, meg ha a vevő is rá akar látni a kódra, akkor....ez általában már a fekete mágia kategória.
Ismertek más utat, mint s7-ben source-ot importálni és felmigrálni?
A migrálás is ugye olyan, hogy működik, csak 1000 kritériumnak kell teljesülnie, amit kezzel kell összekalapálni.
Köszi!
Balázs -
Bazs87
tag
válasz
moseras
#6708
üzenetére
csak a kérdésed 1 részére válaszoltam az upgrade licensszel.
Jól írtam. A win10hez nem tudok hozzászólni. Igyekszem úgy kezelni a témát, hogy az ipari szoftverek túlnyomó többsége az aktuális win verzióhoz képest kb 5 év elcsúszásban van. Kb. 2 éve még xp-t használtunk, igaz virtuális gépként.Kérdés:
TIA - a vizuban szeretnék egy lehetőleg DataTime változót megjeleníteni a kezdőképen, amin látom a fordítási/feltöltési időt. Ez érdekelne engem nagyon. (de tőlem lehet bármilyen megoldás bármilyen változótípussal és objekttel, lényeg h működjön)
Persze valahogy a rendszerből kivezetni, kézzel töltögetni nem szeretném
-
Bazs87
tag
válasz
moseras
#6698
üzenetére
Szia!
Megerősíteném az előttem szólókat. Én pár hete frissítettem V14-re és plusz licensz kellett hozzá.
Az installkor nem volt dll problémám (win7 64 bit).
A további nehézség, hogy a V13-ról v14-es migráció sem ment hibamentesen. Aktuálisan futó, teljes fordításkor hibát nem jelző projektet nem tudtam migrálni. A téma megjárta a Siemenset is, azt írták titokzatosan, hogy valamilyen ütközés/hiba volt a projektben (?!
) ezért nem ment, de pár nap után átküldték a sikeresen migrált verziót (de felelősséget nem vállalnak arra, hogy maga a projekt működni is fog !!! ). A hiba okáról szakszerű leírást nem kaptunk.
Én úgy sejtem, hogy ez nem egyedi eset volt... -
Bazs87
tag
úgy hallottam a kollégáktól, hogy a következő verziók egyikében belepreparálnak még 1 rakás modult, ami eddig más szoftverekben volt. Így már tényleg az egy lépést előre 2-t hátra elv érvényesül.
Próbálkozott már valaki virtuális gépen TIÁ-t futtatni?
A céges gépeken úgy ahogy mennek virt gép nélkül, jó lassúak így is (ha jól sejtem ez inkább a komplex szoftver vs "gyors" fejlesztési idő/rengeteg hiba miatt van, a hw-val nagy gond nem lehet.)
Virtuális gépen viszont még rettenetesebb a helyzet. Egyfolytában fagy és a windowst is kiakasztja nem egyszer. Pedig hagytam neki 8 giga ramot. A színes blokkok miatt meg csak nem kell neki quadro videokártya

Valaki vetemedett már TIA-val virtuálgépre? (am akitől kaptam ők azzal dolgoznak, ezért se értem, jelentős eltérés nincs a gépek közt sem hardveresen)
A script szerkesztővel kapcsolatban pedig, igaz a WinCC scriptelőjével csak párszor volt kontaktom, de nincsenek emlékeim ugrásszerű változásról. (ergo ugyanolyan silány, vagy nem?) (tudom...ezt nem erre találták ki amúgy sem, húzzunk be gombot, kösszünk rá egy változót és minden jó)
-
Bazs87
tag
Win és WinCE közt valóban van különbség, én anno rászántam pár órát és összekalapáltam mindkettőt(Siemens TIA-s opkre).
Ami kellemetlenebb, hogy a szintax checkolója sem teljeskörű. Hiába fordítja hiba nélkül a scriptet, az nem jelenti azt, hogy a, fel tudod tölteni az op-re hiba nélkül b, működik is.
Persze az is lehet, hogy én nem használom professzionális szinten ezt a felületet.
Ha lehet inkább *.bat-ot hívok meg vagy *.vbs-t(win-nél másolásos feladatokra). Ott sincs sokkal több segítség, de legalább le tudod tesztelni.Ti mit gondoltok a script editorról tiában? Nálam a hiba?
-
Bazs87
tag
válasz
molntomi
#6687
üzenetére
Szia!
Az excelbe kiírást mi visu scripttel oldjuk meg. Gyakorlatilag felépítünk egy *.csv fájlt sima text manipulálással és appenddel. Utána már csak az opről kellene "letölteni".
A kimentéshez sok egyéb lehetőség is van, a fő kérdés, hogy pontosan mi a feladat és milyen eszközök állnak rendelkezésedre.
(a TIA-s cpuknak mint ha lenne csv mentési funkciója, amit a kártyára ment el, de 400asnál nem tudom mi a helyzet.)
-
Bazs87
tag
NTP szerver S7 300/400/1200/1500:
eddig 300ason teszteltem, be kell húzni a libből kb 10 objektet (néhány sfc, udt, fb).
Eztán a leírásnak megfelelően felparaméterezni az fb1000-ret és amint billen a startjel gyönyörűen működik.
(tesztelve egyenlőre python3.4 ntp libbel [link] és egy erre használható ingyenes tool-lal [link] hasonló szintax-szal reagál, mint a pool.ntp.org, ebből gondolom, hogy menni kell)Remélem valakinek hasznos lesz az infó.
Üdv!
Bazs87 -
Bazs87
tag
Köszönöm a linket, ezt még nem láttam. Amint előkotrom a régi siemenses jelszavaimat letöltögetem a csatolmányaikat és megnézem mit tud.
Másik kérdés:
Ti csináltatok már Siemens 300-as v 1500-as plckből NTP servert?ABB robi és plc/vizu óraszinkronizálása miatt kellene, hogy az esetleges logolt hibák felderítésekor lássuk mi milyen sorrendben történt.
Ezt találtam hozzá: [link]
Valakinek volt már hasonló gondja/megoldása/feladata?
-
Bazs87
tag
Ezt a videót már láttam. A gond, hogy egy teljes lib van mögötte, amit megmutat ugyan, de ha csak 1 kis része is kimarad, akkor mit sem ér az egész. Valszeg nem fogom tudni önállóan "befejezni".Ezt tartogatom utolsó mentsvárnak.
A webservert miért tartottad fontosnak megemlíteni? Egy közepes vizun és némi belső adaton kívül sok mindent nem lehet vele kezdeni, vagy rosszul gondolom?
-
Bazs87
tag
-
Bazs87
tag
Köszönöm a tippet, én ezt használom: [link]
a gond ezzel az, hogy kell mellé 1 PC, amin a kód fut, ami a CPU-ból kiolvassa az adatokat, majd továbbítja a szervernek.
(Arduino vonalon játszik még ez [link], de kérdés, hogy mit kezd a vezérlő azza, ha ráengedünk 2 libet, ill mennyire stabil - ez nem professzionális megoldás)A PC-t szeretném kikerülni és (ingyenes, no meg) direkt kommunikációt felépíteni.
-
Bazs87
tag
Sziasztok!
S7 1200-assal szeretnék MySQL-lel kommunikálni. Tudtok ajánlani ehhez valamilyen ingyenes működő libet? Esetleg standard siemens funkciót?
Ahhoz, hogy ezt magamnak megírjam attól tartok kevés a tudásom.Köszi!
Bazs87 -
Bazs87
tag
Csinált már valaki közületek 2 1500-as cpu közt "unspezifizierte verbindung"-ot?
2 CPU közt db adatcserét. Régen Get_S és Put_S blokkokkal ment, de hála a "javításnak"/frissítésnek a felmigrált programmal nem kompatibilis az új vas.
Még az S7 NetPro TIA-s megfelelőjét sem sikerült megtalálnom. -
Bazs87
tag
válasz
Psanyi42
#6573
üzenetére
Olyan, hogy a mappa üres, elvileg nem fordulhat elő. Az elvi lehetőség adott, de ezt levédeni exists "parancsok" nélkül elég nehézkes.
A ciklust full offline-ban írtam, wince-t meg nem latott.
Amennyire én tudom a VB-ben nem csak for, while ciklusokkal lehet operálni, hanem vannak "speciális" megoldásai is erre:
14. oldal
a do-loop párosból until és while segítségével lehet csinálni elöl és hátultesztelőset, illetve addig menjen amig a benntartó feltétel igaz(while), vagy addig amíg nem igaz a kilépési(until) feltétel. Attól függően, hogy előre v hátulra rakod a feltételt.
Ha netán eltévedtem, vagy nem helyes a megállapítás a korrekciókat szívesen veszem.
a dir() témában érdemben nyilatkozni nem tudok, ha marad a (), akkor nem tudom hogyan adom meg, hogy melyik mappa tartalma érdekel. Gyökérmappa ugye a wincc*.exe helye, az meg nem klappolna.
-
Bazs87
tag
válasz
plutokas
#6571
üzenetére
Egyik kolléga vitt bele a konkröt problémába. Winre volt kulcsrakész megoldásom, erre nem.
A dires témát mindenképp letesztelem, perpill egy sima bat-tal van megoldva, ami vizuból van meghívva.Mivel én itt csak alkalmazott vagyok így modulok megvételének eldöntésére nincs lehetőségem, viszont ha van egy kihívás tudok fejlődni a megoldásával

-
Bazs87
tag
válasz
Psanyi42
#6569
üzenetére
Szia Psanyi42!
Köszönöm szépen a gyors reakciót! A dirt én is megtaláltam, hegesztettem is hozzá egy előzetes, egyenlőre teszteletlen kódot.
Dim file
Dim trgt
Dim Result
Dim o1
Dim o2
' sample
' https://www.sps-forum.de/faq/41723-wincc-flex-vbscript-wince-move-bzw-dateien-kopieren.html
set file = CreateObject("FileCtl.FileSystem")
trgt = "\Storage Card SD\logs"
Result = file.Dir(trgt + "\*.csv")
do until Result = ""
o1 = trgt + "\" + Result
o2 = "\Storage Card USB\logs" + "\" + Result
file.FileCopy o1 , o2
Result = file.Dir(trgt + "\*.csv")
loop
set file = nothingmár csak az a kérdéses, h mit reagál majd rá a rendszer. Amint lesz végleges verzióm szívesen feldobom ha valakit érdekel.
Nektek van valamilyen okosított fejlesztési folyamatotok/programotok/tesztkörnyezetetek erre, vagy ti is csak lépegettek arra, amerre a siemens/wince labirintus éppen enged? Win panelnél nem téma, *.vbs, de wince-nél kezdődnek a gondok nálam mindig.
-
Bazs87
tag
Sziasztok!
Egy Tia Vizu WINCE scriptnehézségben szeretném az esetleges segítségeteket kérni.
Egy mappába generálunk termelési adatokkal minden nap 1 *.csv fájlt, ha nincs generálunk és töltjük, ha van csak append.
Win környezetben tökéletesen működik az FSO.CopyFolder utasítás. Wince-ben viszont csak FileCopy van.
[link]A gond, hogy a fájlok mennyiségét és nevét közvetlenül nem ismerem.
A kérdésem nem a feladat megoldásának a hogyanja.Script területen nagyjából képben vagyok, de a TIA fapadossága és a wince csökentett utasításkészlete sincs a segítségemre. (könyvtárbejáró script algoritmust pedig magamtól nem tudok írni, főleg nem wince-re)
A fent említett fapadosság miatt a fájlok neveit nem szeretném külön menteni, hogy meg tudjam hívni, mert a programot elbonyolítaná, az pedig köbösen növelné az esetleges hibakeresést.
Esetleg valami eldugott rendszerfunkció v működőképes *.bat fájl meghívása?Volt már valakinek dolga ezzel?
Köszi!
Balázs -
Bazs87
tag
Sziasztok!
Lenne egy kérdésem CodeSyssel kapcsolatban. Létrehoztam egy funkcióblokkot. Ahhoz példányosítottam egy nevet/memóriaterületet (ez lehet valamiféle DB a Siemens világból kiindulva). Ezt le is duplikáltam 4x, persze más példányosított nevekkel. Működött is csodaszépen.
A napokban belenyúltam a blokk működésébe-egy out nem kellett már. Átírtam az ST hivatkozásokat (ezt szántam afféle meghívás aktualizálásának). Gyönyörűen lefordul, de szimulált módban nem indul el. Kiüti az egész rendszert. Ha kikommentezem a módosított részt megy.Volt már valakinek hasonló gondja? (a var táblában nem vesz fel a változó true v false értéket, hanem piros invalid: 16#D8-at ír ki pl és nem fut a program, noha nincs szintaktikai hiba)
én a példányosított db-nél érzem a bajt. Nem tudjátok hogyan lehet aktualizálni vhogy a meghívásokat? Netán lenne valami specialitása a codesys fblock-nak?
Köszi!
Bazs87 -
Bazs87
tag
@Joci9:
Ha mást nem azért megnézem, mert eddig PLC oldalról csak Siemensben van gyakorlatom, szeretném tágítani a horizontjaim. Ez legalább ad hozzá egy kis motivációt.
Ami érdekes számomra, hogy az elején elmondják mi mindent tud, aztán a komm protokollok libjei további pénzbe kerülnek.
Egyenlőre belekezdek a 0 forintos történetbe (2 óráig megy aztán lekapcsolja magát demo módban).
@And:
teljesen igazad van. A kérdőjeles rész általában a felhasználó programozási ismerete, továbbá a rendszer stabilsága. A programozási ismereteimet nem tudom objektíven osztályozni, de a leírásaid alapján te jóval mélyebben benne vagy a témában. A rendszer (arduino) inkompatibilitásába pedig már egy ilyen kis projekttel is beleütköztem (a hivatalos ardu ethernet lib nem stabil, továbbá további libekkel is ütik egymást).
Alapvetően egy stabil megoldás lenne a célom, C-ben libezek, mivel olyan mélységig nem vagyok benne, hogy mindent alapjairól magamnak megírjak, így csak az az irány marad, ami minimalizálja a stabilitási problémákat és csak a működésre kell koncentrálni. Egy codesys ST tökéletes a feladatra, mivel elvileg magának lekezeli a hardverproblémákat, nekem csak a logikával kellene kb foglalkoznom, mint kb egy vb scriptben. (értsd úgy, hogy pl profinetnél nem kell tudnom alapjaiban hogyan épül fel a kommunikáció, behúzom a hw konfigba a gsd fájlt és már látom is az io-kat. Nem elegáns, de célravezető megoldás.)
A mikroC-s témához tudnál nekem linkelni esetleg egy általad javasolt hardver tanulókitet? Felkeltetted az érdeklődésemet vele.
-
Bazs87
tag
Szia!
Köszönöm a válaszod!
Az ethernetes arduino téma elvileg megoldható, másik gyártó másik hardverét másik libbel használva. Viszont mielőtt át kell gyúrnom az egész kódot megnézem az alternatívákat.
A raspi tud ezzel a codesys okosítással modbust is.
Ami előnye lenne, hogy nem drága és kis túlzással kb 1 óra programozással meg lehetne oldani a "hatalmas" problémát. A gond, hogy vagy modbusos hőmérő kellene, vagy valamilyen speciális megoldás, amihez nem kell analóg bemenet vagy plusz buszmodul kártyákkal.
A soros port/i2c-nél pedig a kábelezhető távolság ami gondot okoz.
1wire lehetne még esetleg jó, de nem tudom mennyi zavart szedne össze, ezért kizártam a próbálkozásból.ti hogyan mennétek neki a problémának?
a plcs téma vonz a felfedezés öröméért, eleganciájáért, meg a raspi korlátainak megismerése miatt.
A C-ben még mindig jobban otthon vagyok és mindenre van minta a neten, viszont mire minden összeáll 1000 soros kód felett vagyok összességében, amiben azért van hibalehetőség.
A kérdés a befeketetett pénz és órák előtt, hogy vajon a hőmérés megoldható-e költséghatékonyan.vagy az öszvér megoldások, némi elektronikus hack:
[link]vagy "modbus modul" arduinobol:
[link]valaki van itt aki codesysben otthon van? (pl ilyent hogy raksz bele a hw konfigba?
) -
Bazs87
tag
Sziasztok!
valaki foglalkozott már olyan elképzeléssel, hogy raspberry pi-ből codesys "plc"-t csinál?
[link]Házautomatizáláshoz készítettem arduinoval egy fűtésvezérlést, de sajnos a hivatalos ethernet lib nem elég stabil hozzá. (perpill minden szobában egy vezérlő hőmérséklet szenzorral, azok küldik a masternek az adatokat ciklikusan tcp/ip-n, a master pedig logol, webserveren vizualizal, illetve a kül. fűtőköröket kapcsolgatja a kívánt és az aktuális hőmérséklet függvényében)
Az ára ugyan verhetetlen (mindennel együtt 100 eur), de a rá fordított idő és a megbízhatatlanság miatt eléggé kérdőjelessé vált a megoldás.
A fentebb linkelt szoftverrel és némi youtube segítséggel mindenféle plusz elem nélkül lehet egy 5V tápfeszülségű kis "plc". A gond, h nincs neki hardveresen analóg lába.
Létezik olcsó megoldás a hőmérsékletek kinyerésére 5 Volton, netán modbuson(azt is tudja)?
Wago vagy másmilyen modbus modult nem vennék, perpill 40 eur raspi + 35 eur codesys image a felállás (a szoftvert még nem vettem meg, de 30 napos probaverziója van)nem ipari projektről van szó, inkább otthoni "berhelés"
Várom tanácsaitokat, ötleteiteket!
Előre is köszönöm! -
Bazs87
tag
Sziasztok!
2 kérdésem lenne:
@Szirty: az oldaladon anno készítettél egy liftszimulációs példát. Odáig skeresen eljutottam, hogy küldöm a liftet ahova akarom, de a makroszintű vezérlést nem sikerült tökéletesen elkészítenem. Esetleg van egy megoldásod hozzá? A felrakott példáidból sokat tanultam, érdekelne hogyan oldottad meg.
2. TIA ... kaptam egy Backupot, amiben egy tanfolyami mintaanyag van. Amint próbálom kibontani egyből kiugrik, hogy SINAMICS Startdrive licenszet akar, nekem pedig nincs olyan.
Nem is a sinamics része érdekel, hanem a többi modul.
Perpill meg sem tudom nyitni. Ismerősöm ránézett, de szerinte semmilyen sinamics-es modul nincs definiálva, nem érti miért nem engedi a megnyitását.
Van lehetőség arra, hogy valahogy meg tudjam nézni?Köszi!
Bazs87 -
Bazs87
tag
válasz
creation
#6051
üzenetére
Szia!
Ha van Siemens OP-d, akkor most rögtön tudok küldeni egy scriptet ami kimenti neked a dolgokat, akar halozatra is. Kerdes, hogy segít-e.
A mySQL-hez én is csak PC oldalról tudok hozzászólni, OPC-vel lényegesen egyszerűbb a dolog, azt tudom.
MySQL-hez vagy veszel egy libet, vagy szépen socket kommunikációval küldözgetheted a stringből felépített parancsokat. (a rövidtávú terveim közt szerepel egy ilyen megírása)Ami nagyon szép megoldás lehet az a Libnodave vagy a Snap7. Ezek olyan libek, amik direktbe belenyúlnak a siemens-es DB-kbe. Így kiüthetsz mindenféle adatbázist, vagy saját kommunikációs protokoll írását soros porton vagy etherneten. (ez a másik ami nagyon mozgat és mielőbb le szeretném tesztelni)
Ha valamelyik infó esetleg nem helytálló kérném a tapasztaltabb tagoktól a javítását, remélem az elindulásban tudtam segíteni.
-
Bazs87
tag
update: lokál hálózaton tudok menteni wince-ről a pc engedélyezett mappájába, talán a portforwardingolt elérési út túl komplex?
-
Bazs87
tag
Sziasztok!
Egy TIA Vizu/it hálózatos kérdéssel fordulok hozzátok. Abban bízom, hogy esetleg csinált már valaki ilyet és meg tudja mondani merrefelé indulhatok el.
A feladat:
*.csv fájlok kimentése a belső hálózatunkról a vevő szerveréreA probléma:
van egy TIA OP-m (TP900 Comfort), amin egy scriptből *.csv adatokat mentek ki egyenlőre SD-re. Ez működik is problémamentesen.
Az OP a hálózaton egy MBNet routerhez/távelérés modulhoz csatlakozik. Mivel a belső hálózatom (192.168.0.*) és a külső (192.168.19.*) eltér, ezért portforwardingot kell használnom. PC-vel teszteltem, pingelni, meghívni meg tudom.
Ezután a PC ip-jét megkapta az OP(WinCE!!) (ami a routerbe forwardingolva van) és itt is tudom pingelni a 19-es tartományban lévő címet.
A gond, hogy akár \\192.168.111.147-tel, akár \\PC147-tel próbálkozom, már explorerben is egyfolytában kidobja, hogy hiba van az elérési útban.
Ergo sciptből se tudom meghívni ezt. Találkoztatok már ilyennel? Megoldható ez a feladat egyáltalán egy WinCE-vel?Köszönöm előre is!
-
Bazs87
tag
szia
az 1200-asnak van vmennyi belső memóriája, ezért nem kell bele tiás SD, max ha bővíteni szeretném max 1 megáig. A gondom, hogy ha még bővíteném is 1 megára, akkor is 24 megás kártyát írtak elő az fw update-hez. (a siemens-től letöltött fw 2.2 tömörítve 4,4 mega)
Az összes általam ismert megoldás (online diag - funkctions - fw update, ill webserver aktiválás) le van tiltva az 1.0.1-es firmware-nél. Csak az SD-s megoldás marad, ameddig eljutottam vele.
Ha van esetleg ötletetek, hogy milyen lehetőségek vannak a fent említett hármon kívül tiában, vagy van vkinek 24 megás fekete Tia SD kártyája és egy fw udgrade erejéig ideje/segítő szándéka kérem írjon rám.Köszi előre is!
-
Bazs87
tag
hobby alatt azt értettem, hogy a tia olyan részeit fedezem fel amitől a vevők elzárkóznak. Pl scl, új string vagdosó funkciók, továbbá esetleges magán munkákhoz egy kis standard előkészítése, persze apróbb állomásoknak.
kérnék én kölcsön szívesen, de nem nagyon van kitől. Németországban vagyok, cégnél a 2 gb a legkisebb kártya:S
-
Bazs87
tag
teljesen igazat adok neked.
A probléma az, hogy a plc kerül 200 euróba, a kártya meg 300-ba.
Nem is értem miért van minden lezárva egy low-cost plc-ben. A firmware frissítés mindig alapfunkció.
3 perc melóért nem tudok/akarok kártyát venni.Nem tudtok esetleg más megoldást?
2 gb-s kártyával nem lehet érdemes megpróbálni?ha ez az 1200as ekkora gagyi, akkor asszem a hobby plc-s időknek leáldoztak. Marad munkának és visszatérek a mikrokontrollerekhez, ez így egy rossz vicc sajnos...

-
Bazs87
tag
köszönöm az infókat, sikerült megoldanom a problémát!
Új kérdésem lenne:
Van egy CPU 1212C (6ES7 212-1AD30-0XB0), aminek az fw verziója 1.0.1
Mivel így se webserver se scl nem sok értelme van.A gondom a következő:
TIA-ban szeretnek egy FW update-t eszközölni.Az online diagnózisnál sajnos az funkciók alatt nem ajánlja fel az fw update lehetőségét, illetve a másik lehetőség a webserver lenne, de az sem kapcsolható az adott firmware-ből. (ha újabb verziószámot adok meg, akkor meg nem tudom a programot feltölteni, nem olyan mint az OP-k, h akkor automatikusan frissít)
Új SD kártyából csak 2 gigásunk van itt a cégnél (kicsit vékonyabb fekete siemens SD), a cpu viszont csak 1 megát fogadna be.Ha jól látom utolsó megoldásom az SD fw update lenne, de ahhoz meg kicsi SD kellene.
Ha bárki tudna ebben tanácsot adni nagy segítség lenne!Köszönettel:
Bazs87 -
Bazs87
tag
Sziasztok!
Egy WinCE-s OP-ról szeretnék egy TIA scripttel *.csv fájlt készíteni és azt másolni egy szerverre.
A scriptes része és a meghívása nagy nehezen sikerült, de attól tartok a kimásolás maga és a WinCE beállítása sem lesz könnyű falat.Ugyanez lenne sima Win PC-vel is, ha minden igaz ott a megírt wince-s scriptjeimet is módosítani kell.
Van már valakinek hasonlóban tapasztalata?
-
Bazs87
tag
Sziasztok!
Van egy Festo FEC FC30-as PLC-m. Nincs valakinek hozzá programozókábele? Sajnos a FC20-asé nem jó hozzá. Esetleg bekötési rajz a programozókábelről?

Köszi előre is!
-
Bazs87
tag
-
Bazs87
tag
Sziasztok!
Tiában lenne egy kérdésem.
Sima windowsos PC-n megoldottuk, hogy egy gomb lenyomására csináljon egy screen shot-ot, amit lement és ha lát USB-t, akkor rámásolja. (oldal nyomtatása a gomb funkciók közt, az az alapértelmezetten kiválasztott virtuális nyomtatónak adja a képet, aminek az alap elérési újta az usb)
Ez ingyenes és egyszerű megoldás volt.
A nehézség ott kezdődik, hogy ugyanerre lenne szükség Win CE-n is. Mivel elér redukált a környezet és a win babrálásához nem sok szoftver áll rendelkezésre nem sikerült összehozni(TP900-as panelek amúgy).
Tudnátok tanácsot adni hogyan?
Köszi előre is!Szirty:
az oldaladról sokat tanultam, köszönhetően a gyakorlati leírásoknak és feladatoknak.Üdv!
Bazs87
Új hozzászólás Aktív témák
- Új és régi konzolok Okosítása és Szoftveres szintű javítása - Már 12.52 FW-s PS4-ek is!
- GYÖNYÖRŰ iPhone 12 Mini 128GB Purple-1 ÉV GARANCIA - Kártyafüggetlen, MS3630
- Telefon felvásárlás!! Xiaomi Redmi Note 10, Xiaomi Redmi Note 10s, Xiaomi Redmi Note 10 Pro
- Apple iPhone 15 Pro Max 256GB,Átlagos,Dobozaval,12 hónap garanciával
- Apple iPhone 7 / 128GB / Kártyafüggetlen / 12Hó Garancia / akku :84%
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


) ezért nem ment, de pár nap után átküldték a sikeresen migrált verziót (de felelősséget nem vállalnak arra, hogy maga a projekt működni is fog !!! ). A hiba okáról szakszerű leírást nem kaptunk.
)



