PDA

View Full Version : ارسال داده ها به صورت اسکی



Z_Programming
دوشنبه 15 شهریور 1389, 08:34 صبح
سلام
دوستان من می خوام یه داده رو به شکل String برای یه دستگاه ارسال کنم
با تابع کار تبدیلش رو انجام دادم.داده ها پشت سرهم به کدتبدیل می شن.حالا من می خوام بدونم بین هر کاراکتر باید جداکننده قرار بگیره؟
فرضا:
H|F
H:72 |:124 F:70

7212470

حالا از کجا تشخیص می ده که 2 کاراکتری بخونه یا 3 کاراکتری

و :
داده ها به چه شکلی با ComDataPacket ارسال می شوند





ممنون

tdkhakpur
دوشنبه 15 شهریور 1389, 19:52 عصر
دوستان من می خوام یه داده رو به شکل String برای یه دستگاه ارسال کنم


یه چند روزی همه اسنیفی شدن چه خبره؟!!
حالا دستگاه چی هست؟


حالا من می خوام بدونم بین هر کاراکتر باید جداکننده قرار بگیره؟


خب بستکی به طرحی داره که شما بسته را به اون شکل طراحی میکنید ولی اصولا ارسال دیتا به دستگاهها برای خروج از تصادم داده های کنترلی به کد hex تبدیل میشه یا از کلید برای تشخیص استفاده میشه همانطور که شما از جدا کننده ازش نام میبرید.
ولی در پاسخ شما میتوانید از دو جدا کننده استفاده کنید یکی در ابتدای داده و دیگری در انتهای داده.


حالا از کجا تشخیص می ده که 2 کاراکتری بخونه یا 3 کاراکتری

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


داده ها به چه شکلی با ComDataPacket ارسال می شوند


قبلا فکر کنم بسته ای به اسم cport برای دلفی ارسال شده میتوانید از دموی موجود آن استفاده کنید.

مهران رسا
دوشنبه 15 شهریور 1389, 21:08 عصر
استفاده از Hex معقول تر هست.


http://en.wikipedia.org/wiki/Hexadecimal

Z_Programming
سه شنبه 16 شهریور 1389, 09:47 صبح
شاید سوالمو خوب نپرسیدم یا این که من متوجه منظور شما نشدم ببینید فرضا من می خوام یه رشته رو برای دستگاه ارسال کنم که این یه بخشی از اونه (به صورت دسیمال نه هگزا):

PSWD
فرض کنید بعد از تبدیل چنین چیزی به دست بیاد:
232555342
وفرض کنید که کد یکی از حروف 3 رقمیه.حالا من می خوام بدونم این کلمه رو برای تشخیص دستگاه باید تفکیک شده بفرستم؟
مثلا این طوری:
23:255:53:42
اگه هگز باشه بینشون Space قرار می گیره؟ یعنی:
23002550053004200


ممنون

مهران رسا
سه شنبه 16 شهریور 1389, 11:09 صبح
شاید سوالمو خوب نپرسیدم یا این که من متوجه منظور شما نشدم ببینید فرضا من می خوام یه رشته رو برای دستگاه ارسال کنم که این یه بخشی از اونه (به صورت دسیمال نه هگزا):

PSWD
فرض کنید بعد از تبدیل چنین چیزی به دست بیاد:
232555342
وفرض کنید که کد یکی از حروف 3 رقمیه.حالا من می خوام بدونم این کلمه رو برای تشخیص دستگاه باید تفکیک شده بفرستم؟
مثلا این طوری:
23:255:53:42
اگه هگز باشه بینشون Space قرار می گیره؟ یعنی:
23002550053004200


ممنون

دوست عزیز اگه بخوای از ASCII استفاده کنی ، بدون Separator (جداکننده) امکان تفکیک کد ها وجود نداره . ضمن اینکه استفاده از جداکننده نهایتاً حجم داده ی ارسالی رو هم بالا میبره . من نمیدونم این اطلاعات به چه دستگاهی قراره ارسال بشه و آیا لزوماً داده ها به صورت اسکی باید ارسال بشند ؟ کد اون دستگاه رو هم خودتون نوشتید یا از قبل برنامه ریزی شده هست ؟

Z_Programming
سه شنبه 16 شهریور 1389, 11:44 صبح
نه من به کد دستگاه دسترسی ندارم.باید داده هارو طوری براش بفرستم که طبق فرمت اون باشه.به هگزا هم براش می فرستم اما می خوام دسیمال رو هم امتحان کنم.تایین اینکه از چه جداکننده ای استفاده کنم با خودمه یا استاندارد خاصی داره؟
البته فکر می کنم برای هگزا نیاز نباشه چون خودش 2 تا 2 تا می خونه و نیازی به جداکننده نداشته باشه

ویک سوال دیگه :
نحوه محاسبهCheckSum درFrame
ممنون

مهران رسا
سه شنبه 16 شهریور 1389, 14:45 عصر
از چه جداکننده ای استفاده کنم با خودمه یا استاندارد خاصی داره؟
نگفتید دستگاه چیه ؟ ما از کجا بدونیم دستگاه شما چه استاندارد هایی داره ؟

Z_Programming
چهارشنبه 17 شهریور 1389, 10:40 صبح
دستگاه Sysmex هستش.مربوط به آزمایشگاه.برای اتصال دستگاههای آزمایشگاهی به برنامه استانداردخاصی وجود داره. که توش گفته داده ها باید به صورت اسکی کد بشن و به دستگاه ارسال بشن.دستگاه هم داده ها رو به صورت اسکی وکد شده برای برنامه ارسال می کنه.
من اطلاعات رو کدکردم(اسکی هگزادسیمال) وارسال کردم برای دستگاه.همون طوری که گفتم .بینشون هم هیچ جداکننده ای اضافه نکردم.دستگاه هیچ جوابی به درخواست من نداد ،شاید داده ها درست کد نشدن.اما دستگاه یه کد برام ارسال کرد که قابل فهم نبود.کاراکترهای عجیب غریب.به نظرتون من در دریافتم مشکل داشتم؟ با سیستم معمولی درست ارسال ودریافت می کرد
من خیلی به کمک نیاز دارم:افسرده:
ممنون