سنکرون کردن دستگاه ها با استفاده از شبکه RS485

سنکرون کردن دستگاه ها با استفاده از شبکه RS485

کی از موارد مهمی که قطعا لازم است در کاربری سیستم از آن اطلاع داشته باشیم، چگونگی ارتباط دستگاه ها در شبکه می باشد .

می دانید که استفاده از شبکه برای جابجایی داده ها، چه با روش Polling  و استفاده از Data Transaction  و چه با استفاده از توابع Read PAC , Write PAC ، به صورت آسنکرون انجام می شود .

یعنی همواره یک فریم داده در شبکه از Master  به سمت یک Slave  جابجا می شود. بنابراین اطلاعات و داده ها در یک زمان به دو سیستم انتقال داده نمی شوند و همین امر باعث می شود، دستگاه ها به صورت آسنکرون داده ها را دریافت نمایند .

اما اگر در زمانی نیاز باشد که همه Slave ها، به یکباره و کاملا سنکرون عملی را انجام دهند چه باید کنیم؟

مثلا اگر شما نیاز داشته باشید تعدادی خروجی را در یک زمان با هم فرمان دهید، یا اینکه یک پروسه مشخص را در تمامی دستگاه ها به یکباره و بدون درنگ استارت کرده و راه اندازی نمایید، نیازمند این هستید که دیتا را به صورت سنکرون انتقال دهید .

برای این منظور نمی توانید از روشهای معمول Data Transaction  استفاده نمایید .

 

در مثال زیر، با استفاده از شبکه RS485  و تنظیم پروتکل شبکه به مد ” None” ، توانسته ایم داده های ۸۰ خروجی را کاملا سنکرون بر روی ۵ دستگاه PAC 5110  قرار دهیم .

شرح مثال 

برای انجام این منظور از شبکه RS485  و مرتبط کردن دستگاه ها به شکل زیر استفاده می کنیم .

در این مثال مستر ، یعنی فرستنده اطلاعات، یک دستگاه PAC 7070 می  باشد و داده های مورد نظر را در پنج word   و در یک فضای حافظه مشخص به صورت پشت سر هم قرار می دهیم.

در هر ۱۰۰ میلی ثانیه یکبار، پس از اطمینان از آزاد بودن پورت با استفاده از تابع  ،” Get Port Status” اطلاعات این  پنج word  را بر روی پورت سریال ارسال می کنیم .

برای ایجاد امنیت هر پبشتر داده ها و پرهیز از اشتباه، جمع کل این پنج word را هم به صورت یک Word  دیگر در انتهای فریم ارسال می کنیم، تا در مقصد برای چک کردن صحت و سقم داده های دریافتی مورد استفاده قرار گیرد .

این یکی از ساده ترین روش های رمز گذاری بر روی داده ها است. شما می توانید از روش های پیچیده تر نیز استفاده نمایید .

می دانید که اطلاعات منتقل شده بر روی شبکه برای همه Slave ها ارسال می شود و آنها همزمان با هم اطلاعات را دریافت می کنند .

برنامه داخل Slave ها بگونه ای می باشد که هر کدام آنچه را که از شبکه دریافت کرده اند، در حافظه خود قرار می دهند و پس از جمع کردن پنج Word  اول و مقایسه با Word  انتهایی که جمع همان داده ها توسط Master  است، از صحت و درستی داده ها اطمینان حاصل می کنند .

البته طول فریم دریافتی را هم  که قاعدتا باید ۱۲ بایت باشد، برای اطمینان بیشتر چک می کنند .

سپس هر کدام Word  مورد نظر خود را دریافت و در خروجی های خود قرار می دهند .

————————————————————————————————————————-
** این برنامه با ویرایش ۲٫۴۵ و برای دستگاه PAC 7070 و PAC 5110 نوشته شده است.
** لطفا نظرات خود را در مورد این مثال به ایمیل شرکت (info@fararopaya.com) ارسال نمایید.
** در ضمن می توانید سوالات خود را در تالار گفتگو مطرح کنید.