Új hozzászólás Aktív témák
-
regenyid
tag
válasz
regenyid #8135 üzenetére
Közben sikerült megoldani.
Ott rontottam el, hogy az LSB címet nem szoroztam fel 8-al.
Tehát a megoldás:
#GeoLogData.Slots_geoLog."Read Data_WADDRESS":= INT_TO_WORD((#GeoLogData.Slots_geoLog."Read Data 128Byte_1" + 8)*8);// //Create any pointer for ReadData source
#pAny.S7Code := 16#10;
#pAny.DataType := 16#02;
#pAny.Length := 128;
#pAny.DBNumber := 0;
#pAny.MemoryArea := 16#81;
#pAny.ByteAddressMSB := 0;
#pAny.ByteAddressLSB := #GeoLogData.Slots_geoLog."Read Data_WADDRESS";Köszönöm!
-
regenyid
tag
válasz
spkkill #8134 üzenetére
Az SFC14/15 hibára fut, illetve ha jól tudom max 64 bytetot tud egyszerre kiolvasni.
Lényegében egy Keyence SR2000 szkennerről volna szó aminek az olvasott területe egy 128 byte hosszú tömb.
Ezt DPRD, és DPWR blockal nem sikerült kiolvasnom. Ezért választottam a BLKMOV-ot mert azzal működik. Ehhez viszont nem direkt címzést szeretnék használni, hanem ANY-t.+1:
Erre gondoltam én is, csak kissé fapadosnak érzem. Még ami eszembe jutott, hogy egy másik FB-ben STL-ben kiolvasom amit multiinstantként behívok, de lehet egyszerűbb megadni külső paraméterként.
-
regenyid
tag
Sziasztok,
Egy Profinetes eszközhöz írok egy FB-t SCL-ben.
Szükségem lenne az ANY pointer használatára. Lenne egy pAnySource és egy pAnyDestination pointer aminek a következő a paraméterei:pSC:
pAnySource: P#I292.0 byte 128
#pAny.S7Code := 16#10;
#pAny.DataType := 16#02;
#pAny.Length := 128;
#pAny.DBNumber := 220;
#pAny.MemoryArea := 16#81;
#pAny.ByteAddressMSB := 0;
#pAny.ByteAddressLSB := 16#124;pDT:
pAnyDestination: P#DB220.dbx1152.0 byte 128
#pAny_1.S7Code := 16#10;
#pAny_1.DataType := 16#02;
#pAny_1.Length := 128;
#pAny_1.DBNumber := 220;
#pAny_1.MemoryArea := 16#85;
#pAny_1.ByteAddressMSB := 0;
#pAny_1.ByteAddressLSB := 16#2400;#BLK_RETVAL := BLKMOV(SRCBLK := pSC, DSTBLK => #pDT);
A második pointert sikerül összerakni viszont az elsővel valami baj van, mert a BLKMOV hibára fut. Monitorozáskor pedig látszik, hogy valószínű hibásan van paraméterezve az Any csak sajnos nem jövök rá mit rontok el.
+1 joker kérdés:
Hogy tudom kiolvasni SCL-ben az IDB numbert? Az STL-ben használatos DINO nem működik. Ezzel még nem sokat foglalkoztam, de az Any.DBNumber paraméterhez jó lenne változóban megadni az aktuális IDB számot.Tud ebben valaki segíteni?
Előre is köszönöm! -
regenyid
tag
válasz
molntomi #7542 üzenetére
Szia,
Szirtynek igaza van.
Először is határozd meg a PLC interfészt, hogy MPI vagy DP-t szeretnél használni, majd eszerint állítsd be a HMI kommunikációt is, majd ezt követően a "Set PG/PC interface"-en belül állítsd át a PG adatperét annak megfelelően amit megadtál a PLC és a HMI esetében.. Ha ez megtörtént, monitorozz rá a BUS-ra az "Accassible Device" ikonnal, és ott már látni fogod hogy mit lát a PG-d a Profibus-on vagy épp az MPI-on. -
regenyid
tag
-
regenyid
tag
Igen, csak pont ezt szerettem volna elkerülni
.
Ha mondjuk egy készletnyílvántartásban gondolkodunk, ahol 1 tételhez ( áru ) csak 5 adatot szeretnék megadni, amiből 4 adat komment ( beszállító, megjegyzés stb.. ), és mondjuk van 200 árucikkem, akkor ezt a block másolgatós dolgot elég nyügös leprogramozni. SCL-ben sajnos még nem programoztam :/.Kösz,
-
regenyid
tag
Sziasztok,
Step7-ben, hogy tudok indirekt címzést alkalmazni String adattípusokra?
Konkrétum a feladatom megértéséhez:
Szeretnék egy legördülő listához rendelt megjegyzés rovatot. Ez a megjegyzés rovat lenne egy String[75].
A bitpozícióig eljutok, de a végén nemtudom, hogy tudnám az adott bitcímen lévő stringemet bemásolni egy fix helyre ( másik DB).L "TP_data".termek_tipus_kiválasztas // TP legördülő lista INT
L 75 // 75 byte ból álló string
*I
SLD 3
T #PTR_String // Kapott pointer
OPN "Komment" / Megjegyzés rovat DB nyitás
L DBW [ #PTR_String] // pointerem betöltése
??Hogyan tovább? :/. Egy integer adattípusnál könnyű a befejezés mert T .. és mehet a cél terület.
Próbáltam BLK_MOV-al de sajnos azzal nem működött.Előre is köszönöm a segítséget!
Üdv,
regenyid
Új hozzászólás Aktív témák
- Apple Watch Series 9 45mm GPS 2026.04.19.-ig Garancia!
- iPhone 16 Pro Max 256GB Fekete Titanium használt, gyárilag független, csere nem érdekel.
- HP Z32 31.5-inch 4K UHD Display - karcok a képen de így is gyönyörű!
- Dell 27" 2K 2db kisebb karc a képen! P2723D 27" IPS panel 2560x1440 QHD Pivot HDMI
- Samsung Odyssey G6 S27BG650EU - 27" QHD 2K 240Hz Ivelt - Gaming monitor - 1,5 év Gyári garancia
- Csere-Beszámítás! RTX Számítógép játékra! I7 6700 / RTX 2060 6GB / 32GB DDR4 / 250SSD+500HDD
- LG 65" C1 OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready!
- ÁRGARANCIA!Épített KomPhone i5 14600KF 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- LG 27GR95UM - 27" MiniLED - UHD 4K - 160Hz 1ms - NVIDIA G-Sync - FreeSync Premium PRO - HDR 1000
- LG 32GQ850-B - 32" NANO IPS ATW / 2560x1440 / 260Hz 1ms / NVIDIA G-Sync / AMD FreeSync / HDR 600
Állásajánlatok
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest