استفاده از داده های 32 بیتی تقریبا مشابه حافظه های 16 بیتی است .
ولی تعداد بیت های اشغال شده توسط آنها دو برابر حالت 16 بیتی است .
مثلا وقتی شما از حافظه D0 استفاده می کنید برای حافظه ی بعدی از D2 استفاده خواهید کرد .
این عدد برای حالت 32 بیتی ، D4 خواهد شد .
بیشتر دستورات نیز تغییری زیادی در ساختار نخواهند داشت .
مثلا شما وقتی قصد دارید یک حافظه ی Word را منتقل کنید از دستور Move استفاده می کنید .
برای حالت Doble Word یا 32 بیتی این دستور به صورت DMove استفاده می شود .
با تشکر از توضیح خوبتون
اعداد مورد استفاده من در جدول recipe همه در رنج 0 تا 120 هستند ولی بدلیل زیاد بودن تعدادشون مجبورم از recipe های 32 بیتی استفاده کنم اگرچه محدودیت حداکثر 50 مگ فایل اونهم مشکل سازه.
میخوام بدونم که با اینکه اعداد من همه کمتر از 128 هستند وقتی از نوع 32 بیتی استفاده میکنم باز هم 4 تا از حافظه D استفاده میشه ؟
در مورد روش انتقال اطلاعات recipe از HMI به حافظه plc هم توضیح بفرمایین ممنون میشم.
17-12-2014، 01:41 AM (آخرین تغییر در ارسال: 17-12-2014، 02:32 PM توسط admin.)
اگر شما برای انتقال از دستورات 32 بیتی یا دابل استفاده کنید بله ، 2 تا D اشغال خواهد شد ، ولی ممکن است تعدادی از آنها خالی باشد .
چون مثلا ما هم در 16 بیتی عدد یک داریم و هم در 32 بیتی عدد یک داریم .
از نظر مقدار این دو با هم برابرند . ولی از نظر حافظه خیر .
شما وقتی از طریق HMI یک مقدار 32 بیتی را در یک حافظه مثلا D0 می ریزید . کافیست در PLC ان مقدار را DMOV کنید در یک حافظه ی دیگر .
باید در نظر داشته باشید که تا یک شماره D پس از آن را باید خالی بگذارید . وگرنه مقادیر شما به هم خواهد خورد .
17-12-2014، 03:02 PM (آخرین تغییر در ارسال: 17-12-2014، 03:34 PM توسط admin.)
بله درست است . اشتباه شد .
هر عدد 32 بیتی در دو D جای میگیرد که می شود 4 بایت . از آنجایی که هر D خود شامل دو باید است . پس می شود دو شماره D .
شما لازم نیست عدد را در دو حافظه پشت سر هم بریزید . اینکه عدد 32 بیتی رو در یک حافظه می ریزید . نصب عدد خود به خود در حافظه بعدی ریخته می شود .
این حالت در یکی از حافظه های تصویر زیر رعایت نشده است و کاملا قابل مشاهده است .
مهندس جان من چک کردم . متاسفانه دستوری در این زمینه پیدا نکردم .
دستورات همگی برای حافظه D که 16 بیتی است تعریف شده .
البته دستور است که مثلا یه تعداد بیت را ذخیره کند .
ولی نمی توان به ان حافظه D را داد .
(17-12-2014، 03:02 PM)admin نوشته: بله درست است . اشتباه شد .
هر عدد 32 بیتی در دو D جای میگیرد که می شود 4 بایت . از آنجایی که هر D خود شامل دو باید است . پس می شود دو شماره D .
شما لازم نیست عدد را در دو حافظه پشت سر هم بریزید . اینکه عدد 32 بیتی رو در یک حافظه می ریزید . نصب عدد خود به خود در حافظه بعدی ریخته می شود .
این حالت در یکی از حافظه های تصویر زیر رعایت نشده است و کاملا قابل مشاهده است .
سلام پس اگر خانه های حافظه رو درست هماهنگ نکنیم با این ارور منفی -2066... مواجه میشیم که نشون از اشکال کار میده دیگه درست متوجه شدم؟
یعنی درست ارنج نکردیم ؟