با سلام دوستان بنده میخوام یه پروژه با میکرو ببندم که با پروتکل مدباسrtu با plc در ارتباط باشه کسی کتابخونه یا مثالی برای کدویژن ، بسکام یا keil نداره راجبش؟
ممنون
سلام
متاسفانه لینک مستقیمش رو نمی تونم کپی کنم
اما توی Google جستجو کن :PROTOCOL DELTA PLC
ممنون دوست عزیز
دانلودشون کردم و راجب کدهایی که مستر میفرسته توضیح داده ولی متاسفانه مشکل من اینجاست که چطور کدها رو دریافت کنم ، تحلیلشون کنم و برای مستر پاسخ بفرستم
سلام
متوجه سوال و مشکلت نمیشم
فرض کن شما یه plc رو به میکرو وصل کردی(شماره پینه ها رو دقت کن)
توی برنامه اینتراپت مربوط به پورت سریال هر دفعه چک میکنی که چی دریافت می کنی
باز فرض کن که چنین متنی (PLC→PC “:01 01 05 CD 6B B2 0E 1B E5 CR LF&rdquoرو از پورت دریافت می کنی
حال مرحله به مرحله طبق اون پروتکل دلتا چک کن که چی دریافت کری
اوکی
حالا می خای به PLC دستور بدی ، همونطوری که پروتکل گفته اول رشته رو بساز بعد ارسال کن؟؟
به همین راحتی
من با برنامه لب ویو و دلفی با همین پروتکل دلتا با plc ارتباط برقرار کردم
باز درخدمتم
سلام
متوجه سوال و مشکلت نمیشم
فرض کن شما یه plc رو به میکرو وصل کردی(شماره پینه ها رو دقت کن)
توی برنامه اینتراپت مربوط به پورت سریال هر دفعه چک میکنی که چی دریافت می کنی
باز فرض کن که چنین متنی (PLC→PC “:01 01 05 CD 6B B2 0E 1B E5 CR LF&rdquoرو از پورت دریافت می کنی
حال مرحله به مرحله طبق اون پروتکل دلتا چک کن که چی دریافت کری
اوکی
حالا می خای به PLC دستور بدی ، همونطوری که پروتکل گفته اول رشته رو بساز بعد ارسال کن؟؟
به همین راحتی
من با برنامه لب ویو و دلفی با همین پروتکل دلتا با plc ارتباط برقرار کردم
باز درخدمتم
ممنون دوست عزیز
تقریبا یه هفتست دارم روی همین پروژه کار میکنم تا رسیدم به اینجا که تونستم کد رو دریافت کنم و crc_16 رو مجاسبه کنم فقط الان در اخرین مرحله موندم
وقتی اطلاعات رو میفرستم مستر میگه crc اشتباه محاسبه شده :cry2: ، با اینکه با همون روش قبل محاسبه میکنم
بنظر شما مشکل از کجاست؟
:wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow:
اخرش تونستم مد باس رو راه اندازی کنم اونم با بسکام :nerd:
راستش میخواستم با arm کار کنم ولی به مشکل خوردم :cry2:
پاسخ : پاسخ : ارتباط میکرو با plc با پروتکل مد باس
نوشته اصلی توسط hamidrezam2
:wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow: :wow:
اخرش تونستم مد باس رو راه اندازی کنم اونم با بسکام :nerd:
راستش میخواستم با arm کار کنم ولی به مشکل خوردم :cry2:
سلام. دقیقا چطوری تونستی؟؟ یعنی توسط میکرو از طریق مودباس برای plc کد فرستادی؟؟؟ چون من هم چند وقتیه که دارم تحقیق میکنم تا بتونم با میکرو و از طریق پروتکل مودباس(rs485) به plc کد بدم و دریافت کنم و دروغ نگم توی مرحله ی فرستادن کد گیجم به کل :"((
پاسخ : پاسخ : ارتباط میکرو با plc با پروتکل مد باس
نوشته اصلی توسط mmolah
سلام. دقیقا چطوری تونستی؟؟ یعنی توسط میکرو از طریق مودباس برای plc کد فرستادی؟؟؟ چون من هم چند وقتیه که دارم تحقیق میکنم تا بتونم با میکرو و از طریق پروتکل مودباس(rs485) به plc کد بدم و دریافت کنم و دروغ نگم توی مرحله ی فرستادن کد گیجم به کل :"((
به سختی
اره قبول دارم خیلی سخته و دوهفته شبو روز روش کار کردم تا بالاخره به جواب رسیدم
فقط باید الگوریتم کار رو پیدا کنی و به بعد برنامه نوشتن کاری نداره
هر جا سوالی دارشتی بپرس خودم یا اساتید کمکت میکنیم
پاسخ : پاسخ : ارتباط میکرو با plc با پروتکل مد باس
نوشته اصلی توسط hamidrezam2
به سختی
اره قبول دارم خیلی سخته و دوهفته شبو روز روش کار کردم تا بالاخره به جواب رسیدم
فقط باید الگوریتم کار رو پیدا کنی و به بعد برنامه نوشتن کاری نداره
هر جا سوالی دارشتی بپرس خودم یا اساتید کمکت میکنیم
)) لطف میکنی.. ببین حقیقتش مشکل من شروع کاره :(( نمیدونم اصلا الگوریتمش چجوری میشه و اینکه میگن بیت(یا بایت) استارت و ادرس و فانکشن و ... یعنی من چجوری اینارو بچینم و کد موردنظرمو به دستگاه PLC (اینورتر دلتا سری B) بفرستم .. یعنی کد رو باید توی یه متغیر که خودم تعریف کردم بریزم و بفرستم به اینورتر و ....؟؟؟؟
سلام
متوجه سوال و مشکلت نمیشم
فرض کن شما یه plc رو به میکرو وصل کردی(شماره پینه ها رو دقت کن)
توی برنامه اینتراپت مربوط به پورت سریال هر دفعه چک میکنی که چی دریافت می کنی
باز فرض کن که چنین متنی (PLC→PC “:01 01 05 CD 6B B2 0E 1B E5 CR LF&rdquoرو از پورت دریافت می کنی
حال مرحله به مرحله طبق اون پروتکل دلتا چک کن که چی دریافت کری
اوکی
حالا می خای به PLC دستور بدی ، همونطوری که پروتکل گفته اول رشته رو بساز بعد ارسال کن؟؟
به همین راحتی
من با برنامه لب ویو و دلفی با همین پروتکل دلتا با plc ارتباط برقرار کردم
باز درخدمتم
میشه یکم توضیح بدید در موردش.من فکر میکردم وقتی میخواد اطلاعات بفرسته به صورت 0 و1 میفرسته و ما باید تو گیرنده این 0 و1 هارو شیفت بدیم تو یک متغیر تا عدد مورد نظر به دست میاد.
ولی انگار اینطور که شما میکی از طریق ارتباط سریال یک متن میفرسته .درسته؟؟؟؟؟؟
ولی انگار اینطور که شما میکی از طریق ارتباط سریال یک متن میفرسته .درسته؟؟؟؟؟؟
مد باس یه پروتکل .. یعنی یه روش ارتباطی .. ولی کار با همون uart میکرو انجام میشه ( سریال )
در واقع چیزی چز فرستادن و گرفتن چندین بایت ساده نیست
ولی با فرمت مخصوص یا همون پروتکل مدباس .. که برای خودش ساختاری داره
حالا ما برای این ارتباط باید بدونیم که چجور دیتا ها مونو بفرستیم یا بگیریم .. که معمولا ما برای این کار یک رشته دریافت یا ارسال میکنیم و اون رشته دریافتی رو چک میکنیم
مثال : اولین بایت دریافتی مربوط به ادرس slaw ها
دومین بایت تعداد بایت های دریافتی
سومین بایت ادرس دیتای مربوطه ست ... که این مهم که وقتی دارید با اون دستگاه ارتباط برقرار میکنید این ادرس ها رو باید بشناسید که مختص به اون دستگاه و ادرس ریجستر های که ارسال میکنه
اینجاست که دوستان میگن الگوریتم
که برای ارتباط با اون دستگاه باید داشته باشید تا بدونید باید چی دریافت کنید یا ارسال کنید
در کل این ارتباط چیزی جز ارسال و دریافت چند بایت با uart نیست .. همین
rs485 هم یه سخت افزار برای همین uart و کار خاصی نمیکنه .. بلکه فقط همین دیتا های uart رو به صورت تفاضلی ارسال و دریافت میکنه که باعث میشه کمتر مورد نویز قرار بگیرن
پس اول شما باید بدونید پکیج ارسالی دریافتی در مدباس چگونه ست یعنی همون بایت اول ادرس بایت دوم ادرس ریجستر فراخوان شده و تعداد بایت های ارسالی وووووو
همین
من این کارو عملی انجام ندادم در همین حد میدونم
کسی نخارد پشت شما را جز ناخن انگشت شما ها ...
پاسخ : پاسخ : ارتباط میکرو با plc با پروتکل مد باس
نوشته اصلی توسط mmolah
)) لطف میکنی.. ببین حقیقتش مشکل من شروع کاره :(( نمیدونم اصلا الگوریتمش چجوری میشه و اینکه میگن بیت(یا بایت) استارت و ادرس و فانکشن و ... یعنی من چجوری اینارو بچینم و کد موردنظرمو به دستگاه PLC (اینورتر دلتا سری B) بفرستم .. یعنی کد رو باید توی یه متغیر که خودم تعریف کردم بریزم و بفرستم به اینورتر و ....؟؟؟؟
راجب استارت و استپ که منظور بیت های شروع و پایان دیتا هستند نیازی به نوشتن توی برنامه نیست چون خود میکرو ارسال میکنه
در اینن پروتکل شما تا 255 دستگاه(اسلیو)رو میتونی به (مستر)متصل کنی .هر کدوم از این اسلیو ها ادرس به خصوص خودشون رو دارن که زمانی که مستر میخواد از یکی اسلیو ها دیتا بگیره اون رو صدا میکنه با ادرس خودش و تمام اسلیو ها این رو دریافت میکنن و در نهایت اون اسلیو جواب میده و بقیه ساکت میشن
در رابطه با فانکشن کد هم که دوتا فانکشن پر کاربرد هست (6و3) که 3 برای خواندن دیتا از اسلیو ها به کار میره و 6 برای فرستادن دیتا به اسلیو استفاده میشه
و برای تمام این قضایای فرستادن و دریافت از پورت سریال استفاده میشه
از چه کامپایلری استفاده میکنی؟
پاسخ : پاسخ : ارتباط میکرو با plc با پروتکل مد باس
نوشته اصلی توسط hamidrezam2
راجب استارت و استپ که منظور بیت های شروع و پایان دیتا هستند نیازی به نوشتن توی برنامه نیست چون خود میکرو ارسال میکنه
در اینن پروتکل شما تا 255 دستگاه(اسلیو)رو میتونی به (مستر)متصل کنی .هر کدوم از این اسلیو ها ادرس به خصوص خودشون رو دارن که زمانی که مستر میخواد از یکی اسلیو ها دیتا بگیره اون رو صدا میکنه با ادرس خودش و تمام اسلیو ها این رو دریافت میکنن و در نهایت اون اسلیو جواب میده و بقیه ساکت میشن
در رابطه با فانکشن کد هم که دوتا فانکشن پر کاربرد هست (6و3) که 3 برای خواندن دیتا از اسلیو ها به کار میره و 6 برای فرستادن دیتا به اسلیو استفاده میشه
و برای تمام این قضایای فرستادن و دریافت از پورت سریال استفاده میشه
از چه کامپایلری استفاده میکنی؟
خیلی ممنون. با بسکام کار می کنم. من تو قسمت فرستادن کد مشکلی ندارم ولی مشکل من اینه که با توجه به عکسی که پ کردم میخوام بدونم چجوری باید کد بفرستم؟
پاسخ : پاسخ : ارتباط میکرو با plc با پروتکل مد باس
نوشته اصلی توسط mmolah
خیلی ممنون. با بسکام کار می کنم. من تو قسمت فرستادن کد مشکلی ندارم ولی مشکل من اینه که با توجه به عکسی که پ کردم میخوام بدونم چجوری باید کد بفرستم؟
راستش چیزی نفهمیدم از این عکس
من متوجه مشکل دقیق شما نمیشم.منظورتون ازینکه چطور کد رو بفرستم چیه؟
یه پیکره بندی و ترتیب ارسال بایت ها رو داریم که مربوط به مدباس هستش
یه بخش انتقال کد از میکرو به دستگاه داریم که مربوط به uart و لایه فیزیکی هستش که تمام اینها به میکرو و برنامه ی شما مرتبط میشه
به این سایت هم سری بزنید یه پروژه مد باس هستش که البته با کامپایلر iar نوشته شده ولی توضیحاتش بدردتون میخوره
فقط مد باس رو داخل سایت سرچ کنید چون لینک دقیقشو ندارم
knowledgeplus.ir
دیدگاه