سنکرون کردن دستگاه ها با استفاده از شبکه 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 مورد نظر خود را دریافت و در خروجی های خود قرار می دهند .