আরএস 232 এর মাধ্যমে এইচপি 33120 এ এসসিপিআই কীভাবে ব্যবহার করবেন?


9

আমার কাছে পুরানো হিউলেট প্যাকার্ড 33120A ফাংশন জেনারেটর রয়েছে (এটি Agilent 33120A এর মতো হওয়া উচিত ) এবং আমি এটি এমসিইউ (এটিএমটাগা) দিয়ে নিয়ন্ত্রণ করতে চাই। জেনারেটরের আরএস 232 রয়েছে এবং এসসিপিআই কমান্ড ব্যবহার করুন।

আমি কেবলমাত্র আরএক্স এবং টিএক্স লাইনের সাহায্যে MAX232 দিয়ে টিটিএল রূপান্তরকারীকে সাধারণ আরএস 232 তৈরি করেছি। ব্যবহারকারীর গাইড অনুসারে (অধ্যায় ৪, বিভাগ ডিটিআর / ডিএসআর হ্যান্ডশেক প্রোটোকল) আমি ডিএসআরকে যুক্তিযুক্ত সত্য (নেতিবাচক ভোল্টেজ) এর সাথে বেঁধে রেখেছি এবং ডিটিআর সংযুক্ত নেই। এই কনফিগারেশনের দ্বারা হার্ডওয়্যার হ্যান্ডশেক অক্ষম করা উচিত।

এখন, আমি এমসিইউ বা কম্পিউটারে রূপান্তরকারী সংযোগ করতে পারি। আমার প্রথম পরীক্ষার জন্য আমি কম্পিউটার এবং এই পাইথন স্ক্রিপ্টটি ব্যবহার করেছি:

import serial, sys, time

if __name__ == '__main__':
        if len(sys.argv) < 2:
                print 'Usage: %s <serial_port>' % sys.argv[0]
                sys.exit(1)

        s = serial.Serial(port=sys.argv[1], baudrate=2400, bytesize=8, parity='N', stopbits=2, timeout=None, xonxoff=0, rtscts=0)

        time.sleep(0.5)
        s.write('\n*CLS\n')
        time.sleep(0.5)
        s.write('SYST:REM\n')
        time.sleep(0.5)
        s.write('APPL:SIN 30E+3, 0.1\n')


        s.close()

এটি কোনও সমস্যা ছাড়াই কাজ করে। জেনারেটর তার আউটপুটটি আশানুরূপভাবে 30kHz এ সেট করে। সমস্যাটি হল, যখন আমি জেনারেটর থেকে কিছু প্রতিক্রিয়া পড়ার চেষ্টা করি। উদাহরণস্বরূপ, এটি ডিভাইসের নামটি ফিরিয়ে আনবে:

        s.write('*IDN?\n')
        print s.realine()

আমি পুরোপুরি নিশ্চিত যে প্রতিক্রিয়া জেনারেটরের আউটপুট বাফারে সঞ্চিত আছে তবে কোনও ডেটা আসলে সংক্রমণিত নয়।

বাফার থেকে ডেটা ট্রান্সমিশন করার জন্য কোনও আদেশ আছে কি? বা আমার কি হার্ডওয়ার হ্যান্ডশেক সক্ষম করতে হবে?

এই জেনারেটর আছে এমন কেউ আছে? আপনি কি এটি আরএস 232 এবং এসসিপিআই দিয়ে ব্যবহার করেন?


আমি এই প্রশ্নের উত্তর দিতে পারি না তবে আমি উত্তরগুলিতে আগ্রহী তাই আপনি আমার আপ-ভোট পেয়েছেন
অ্যান্ডি ওরফে

আপনি কীভাবে জানেন যে এটি সংক্রমণ করছে না? এটি পড়ার জন্য আপনার কাছে কোনও কোড নেই। আপনি কি টার্মিনাল প্রোগ্রাম বা সিরিয়াল বন্দর মনিটরের চেষ্টা করেছেন? নাকি একটি অসিলোস্কোপ?
জিনে পিন্ডার

আমার কাছে স্লেই লজিক বিশ্লেষক আরএক্স / টিএক্স পিনের সাথে এবং পাইথন স্ক্রিপ্টে আছে, সেখানে s.readline()ফাংশন রয়েছে (আমি আমার প্রশ্নটি সম্পাদনা করেছি, আপনাকে ধন্যবাদ)।
ভাস্কো

সম্ভবত একটি সম্পর্কিত প্রশ্ন: stackoverflow.com/questions/1093598/...
Szymon Bęczkowski

আপনার কম্পিউটারে, সিরিয়াল বাফারিং বন্ধ করুন এবং সিরিয়াল বাফার আকারটি শূন্যে সেট করুন। রিডলাইনটি কি অনির্দিষ্টকালের জন্য অবরুদ্ধ হচ্ছে? (এটি আপনার বর্ণনার থেকে হওয়া উচিত)
ডেভিড

উত্তর:


3

আরএস -232 এর মাধ্যমে এসসিপিআই ডিবাগ করার সহজতম উপায় হ'ল আপনার বিদ্যমান সিরিয়াল ইন্টারফেসের সাথে টার্মিনাল প্রোগ্রামটি ব্যবহার করা। কমান্ডটি টাইপ করুন এবং দেখুন কী ফিরে আসে। টার্মিনালটি আপনাকে মাঝখানে কিছু অজানা সিরিয়াল যোগাযোগ লাইব্রেরির উপর নির্ভর না করে বাউড রেট, হ্যান্ডশেকিং, প্রতিধ্বনি এবং সমাপ্তি অক্ষরের সাথে মোটামুটি সহজেই বিস্ফোরিত হতে দেয় (আপনি যা যা টাইপ করেন তা যা আপনি প্রেরণ করেন তা যা প্রাপ্ত তা দেখানো হয়)।

* আইডিএন? প্রতিক্রিয়ার জন্য কোনও বিশেষ ট্রিগার বা প্রম্পটের দরকার নেই। যদি কমান্ডটি সমর্থন করা হয় (ম্যানুয়াল অনুসারে এটি হয়), যদি সমাপ্তি অক্ষরটি সঠিক হয় (যা এটি মনে হয়, যেহেতু আপনার পূর্ববর্তী পাইথনের কাজটিতে কিছুটা সাফল্য ছিল) এবং যদি হ্যান্ডশেকিং সঠিক হয় তবে যন্ত্রটি সাথে সাথে প্রতিক্রিয়া জানাতে হবে সনাক্তকরণ স্ট্রিং।

একবার আপনি যন্ত্রটি কী প্রত্যাশা করে এবং কী প্রত্যাবর্তন করে তা ঠিকঠাক পরে, আপনি তারপরে সহজেই আপনার পাইথন স্ক্রিপ্টটি তৈরি করতে পারেন।


1
মিস্টার গুরুমন +1 আমার জন্য দরকারী তথ্য। ওপি-র কি হয়েছে?
অ্যান্ডি ওরফে

1

এটি পরে কিন্তু ...

ডিএসআরকে পজিটিভ ভোল্টেজে বেঁধে দেওয়ার চেষ্টা করুন। আমার 33120A কেবল তখনই প্রতিক্রিয়া জানায় যদি আমি তা নেতিবাচক ভোল্টেজের সাথে আবদ্ধ জায়গায় করি।

আমি একটি এফটিডিআইআই ইউএসবি-আরএস 232 কনভার্টারের সাথে রিয়েলটার্ম ব্যবহার করি এবং সিটিএস (পিসি) সাথে ডিএসআর (33120 এ) সংযুক্ত করি তবে যোগাযোগের সময় রিয়েলটাইমের মাধ্যমে সিটিএসের ভোল্টেজ পরিচালনা (এবং হোল্ডিং) করি (প্রোগ্রামটিতে এটি করার বিকল্প রয়েছে)।

শুভেচ্ছা।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.