Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Czy można stworzyć tablicę dynamiczną przechowującą współrzędne nowego punktu?

simatics7300 18 Jan 2016 16:07 1557 7
SterControl
  • #1
    simatics7300
    Level 7  
    Witam. Chciałbym się dowiedzieć czy istenieje możliwość stworzenia tablicy dynamicznej, w któej zapisywałbym nowo zadeklarowane współrzędne punktu. Jesli tak to w jakim języku.

    Pozdrawiam. :D
  • SterControl
  • #2
    mihalik
    Level 10  
    Co masz na myśli mówiąc o zadeklarowaniu punktu jest to wpisanie go z palca czy wyliczenie z jakiś wartości, i czy kolejne wartości punktu służyły by do określenia trajektorii czy do informacji o ruchach jakie zostały wykonane? w stepie można by było stworzyć blok danych db do których można by pisać poprzez adresowanie pośrednie w języku stl.
  • SterControl
  • #3
    simatics7300
    Level 7  
    Nie tyle chodzi mi o rozwiązanie problemu w STL-u, bo takie rozwiązanie już zaprogramowałem. Jest Blok i umieszczam w nim dane na bieżąco za pomocą wskaźników. Chciałbym zrobić coś co by działało jak tablice dynamiczne w c++. I zastanawiam się czy jest taka możliwość w stepie albo moze w winCC
  • #4
    Rariusz
    Automation specialist
    Witam,

    Z tego co pamiętam można w step7 tworzyć bloki danych podczas działania programu jak usuwać bloki danych. Konkretnie SFC 22 "CREAT_DB"
    oraz SFC 23 "DEL_DB"

    Pozdrawiam,
  • #5
    simatics7300
    Level 7  
    Wiem, że da się tworzyć bloki danych na za pomocą tych funkcji, ale działając w ten spób za każym razem tworzę nowy blok. Nie jest to wygodne rozwiązanie. Chciałym mieć skupione dane parametry w jednym bloku i móc dodawać nowe w nieskończoność :)

    Pozdrawiam.
  • #6
    rollinstone
    Automation specialist
    Wydaje mi się, że to niemożliwe, z tego względu, że żeby odwoływać się do konkretnych zmiennych DB, należy wcześniej zdefiniować w nim jego wielkość (w sensie - jeżeli odwołujemy się do db300.dbx721.0 a struktura którą w nim zdefiniowalismy jest mniejsza - sterownik rzuci błędem), więc jego dynamiczne rozszerzanie nie jest raczej możliwe (lub jest możliwe ale nie do nieskończoności a do jego maksymalnej zdefiniowanej przez producenta wielkości)

    Maksymalna wielkosc DB w s7-315 z tego, co kojarzę to bodajże 64Kb
  • #7
    simatics7300
    Level 7  
    Tak włąsnie myślałem.
  • #8
    djwatoo
    Level 20  
    Myśle ze tablice dynamiczna da się zrobić tylko musisz z góry określić jej maksymalną wartość a reszta to już tylko odpowiednia konstrukcja danych typu array[0..x[of struct