سلام دوستان
با توجه به سوال چندی از دوستان درباره ارتباط میکروکنترلر و HMI ، مراحل کاری که انجام دادم رو خلاصه توضیح میدم:
نکته: فرض ب این است که HMI به عنوان Master و میکرو به عنوان Slave تعریف شده است (حالت مرسوم)
نکته: ارتباط غالب HMI ها تحت پروتکل نرم افزاری Modbus RTU میباشد.
1- پورت سریال میکرو به درایور RS485 (مثلا ADM485) وصل میشود. به ترتیب زیر:
micro RX --> ADM485-Pin1
micro TX --> ADM485-Pin4
micro DIR (another pin) --> ADM485-Pin2,Pin3
2- ابتدا میکرو باید دیتا را از HMI دریافت کند پس جدای از تنظیمات پرت سریال برای دریافت، پین DIR رو 0 میکنیم
3- پس از دریافت آخرین بایت از دیتای HMI دستورات modbus رو پردازش میکنیم
4- جهت ارسال دیتا به HMI ، پین DIR رو 1 میکنیم
5- دیتا رو از طریق پورت سریال میکرو میفرستیم
6- بعد از یه تاخیر کوچک (درحد 1 میلی ثانیه) ، پین DIR رو مجددا 0 میکنیم و مرحله 3 رو مجددا تکرار میکنیم
این هم مرجع پروتکل Modbus
مهمان عزیز شما حق دیدن لینک ها را ندارید
عضویت
اگه میخواید سردرگم نشید فقط دستورات زیر رو دنبال کنید و بقیه اش رو نمیخواد استفاده کنید:
صفحه 15 : Read Holding Register
صفحه 18 : Preset Single Register
صفحه 25 : Preset Multiple Registers
برای همه دوستان عزیز آرزوی موفقیت دارم :bye