আমার কাছে পুরানো হিউলেট প্যাকার্ড 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()
ফাংশন রয়েছে (আমি আমার প্রশ্নটি সম্পাদনা করেছি, আপনাকে ধন্যবাদ)।