با سلام و احترام
لطفا در مورد نحوه چسباندن 2 آرایه [] w و تبدیل به float توضیح دهید
با تشکر
نحوه چسباندن 2 آرایه [] w و تبدیل به float
- mahdi.faani
- مدیر انجمن
- پست: 99
- تاریخ عضویت: 14 می 2023, 14:39
- محل اقامت: Tehran
- تماس:
Re: نحوه چسباندن 2 آرایه [] w و تبدیل به float
عرض ادب و احترام
به طور کلی طبق توصیه استاندارد iec 61131-3 پی ال سی ها نباید حافظه داینامیک را در اختیار کاربر قرار دهند. این به معنی هست که شما نمیتوانید دو آرایه را درون برنامه به هم بچسبانید و یک آرایه جدید بسازید. دلیل این محدودیت این هست که برنامه کاربر در حالت ایمن و پایدار ( deterministic ) بماند و تمام آرایه ها با اندازه ثابت ساخته شوند تا مدیریت حافظه سیستم عامل درون پی ال سی با مشکلات ناشی از ایجاد حافظه های داینامیک روبرو نشود.
برای حل مشکل شما باید یک آرایه با سایز کافی به عنوان بافر بسازید و هرجا درون برنامه نیاز داشتید دو آرایه را در کنار هم قرار دهید، با استفاده از حلقه ها این کار را انجام دهید
دقت داشته باشید در صورتی که یک آرایه را بخواید به یک آرایه دیگر با همان ساختار و سایز منتقل کنید نیازی به حلقه نیست و میتوانید با استفاده از اینستراکشن BLK_MOVE این کار را به سادگی انجام دهید.
به طور کلی طبق توصیه استاندارد iec 61131-3 پی ال سی ها نباید حافظه داینامیک را در اختیار کاربر قرار دهند. این به معنی هست که شما نمیتوانید دو آرایه را درون برنامه به هم بچسبانید و یک آرایه جدید بسازید. دلیل این محدودیت این هست که برنامه کاربر در حالت ایمن و پایدار ( deterministic ) بماند و تمام آرایه ها با اندازه ثابت ساخته شوند تا مدیریت حافظه سیستم عامل درون پی ال سی با مشکلات ناشی از ایجاد حافظه های داینامیک روبرو نشود.
برای حل مشکل شما باید یک آرایه با سایز کافی به عنوان بافر بسازید و هرجا درون برنامه نیاز داشتید دو آرایه را در کنار هم قرار دهید، با استفاده از حلقه ها این کار را انجام دهید
دقت داشته باشید در صورتی که یک آرایه را بخواید به یک آرایه دیگر با همان ساختار و سایز منتقل کنید نیازی به حلقه نیست و میتوانید با استفاده از اینستراکشن BLK_MOVE این کار را به سادگی انجام دهید.