مقدمة
تقوم KELLER بتصنيع أجهزة استشعار عالية الدقة بإخراج رقمي ، وهي متصلة ببرنامج خاص لعرض وتراكم القراءات. في كثير من الأحيان ، يحتاج المستخدم إلى دمج أجهزة الاستشعار في أنظمة المراقبة والتحكم الخاصة بهم. في هذا العمل ، باستخدام جهاز استشعار الضغط العالي الدقة PR-33X كمثال ، نظهر توصيل أجهزة استشعار KELLER ببيئة MATLAB المتكاملة ، التي تم تطويرها في الأصل لتحليل وتوليف أنظمة التحكم ، التي لديها أدوات قوية لمعالجة وعرض بيانات الإشارة.
مواصفات وجيزة من الارسال الضغط KELLER PR 33X
نطاق الضغط القياسي (VPI) ، شريط 30
دقة قياس الضغط ، المجموع (10 ... 40 درجة مئوية) 0.025 ٪ من VPI
RS 485 الإخراج
معدل باود 9600 أو 115200 باود
امدادات التيار الكهربائي (U) 8 ... 28 V
خدمة الحياة 10 مليون دورة 0 ... 100 ٪ VPI
يتضمن جهاز إرسال الضغط أيضًا مستشعرًا متكاملًا لدرجة الحرارة.
واجهة
جميع منتجات KELLER ذات الفهرس X لها واجهة رقمية (RS485 نصف مزدوجة) تدعم بروتوكولات MODBUS RTU و Keller Bus.
يتم الاتصال بجهاز الكمبيوتر باستخدام محول RS485-USB. للحصول على أفضل توافق ، توصي الشركة باستخدام محول Keller K-114.
البرمجيات
لتكوين قراءات المستشعر وتسجيلها ، يتم استخدام برنامج CCS30 المجاني ، حيث تظهر الواجهة في الشكل 1.
الشكل 1. تراكم وعرض البيانات الرسومية والجداول بواسطة برنامج CCS30 [3].اتصال الكمبيوتر
يتم توصيل مستشعر الضغط PR-33X بجهاز كمبيوتر باستخدام منفذ USB لتحويل RS-232/422/485 MOXA USB التسلسلي وفقًا للرسم البياني في الشكل 2.
الشكل 2. مخطط اتصال جهاز إرسال الضغط PR-33X بجهاز كمبيوتر ومزود طاقة 12 فولت.عندما يتم تشغيله أقل من 5.69 فولت (حتى 4.95 فولت) ، تزداد قراءات المستشعر. عند تشغيله دون 4.95 فولت ، لا يتم نقل البيانات (لا يعمل المستشعر).
بعد تثبيت برنامج التشغيل وإرفاق محول MOXA بجهاز الكمبيوتر ، يظهر منفذ COM في قائمة مدير الجهاز

ومحول

. في علامة التبويب (الشكل 3) من الجهاز الأخير لإصدارنا ، يتم تحديد واجهة RS-485 مع نظام اتصال من سلكين.
الشكل 3. تكوين محول MOXA لواجهة RS-485 2W.تنسيقات الإرسال
يتم تبادل البيانات بين جهاز الكمبيوتر (جهاز التحكم) والمستشعر (جهاز الرقيق) وفقًا لرسائل بروتوكول Modbus التي تحتوي على الحقول التالية [2].

أولاً ، يرسل الكمبيوتر رسالة طلب إلى المستشعر ، ثم يرسل المستشعر استجابةً رسالته الخاصة مع الاختباري الخاص به عندما ينجح الإجراء المطلوب ، أو يرسل وظيفة برمز 1 في حالة حدوث خطأ (وظيفة غير صالحة أو عنوان بيانات ، وما إلى ذلك).
لا تصدر استجابة (استجابة) المستشعر إلا بعد تلقي طلب من جهاز التحكم.
تحتوي الرسالة المرسلة إلى المستشعر على أحد رموز الوظائف التالية.

الشكل 4. تنسيق الرسائل المرسلة والمستلمة وفقًا لمعيار Modbus RTU [1].عناوين سجلات أجهزة الاستشعار المستخدمة PR-33X

أمثلة على رسائل Modbus (قراءة مستشعر الضغط ودرجة الحرارة المدمج) [2]

تحويل قراءات المستشعر إلى تنسيق النقطة العائمة IEEE754
يوضح الشكل 5. الإجراء الموصى به لتحويل وحدات البايت الأربعة المستقبلة لقراءات المستشعر إلى رقم الفاصلة العائمة. يستخدم المثال البيانات [2] الموضحة في الجدول أعلاه.
الشكل 5. قواعد لتحويل قراءات الاستشعار أربعة بايت إلى رقم الفاصلة العائمة.برنامج MATLAB لقراءة وعرض مجسات الضغط ودرجة الحرارة PR-33X
يتضمن برنامج قراءة وعرض المستشعر PR-33X وحدة رئيسية وثلاثة برامج فرعية. يعمل المحول في 115200 باود. تتم قراءة بيانات الضغط ودرجة الحرارة عند الطلب.
بيانات إدخال البرنامج هي عنوان منفذ COM الخاص بجهازك (Com_Port = variable) وعنوان محولك. إذا كان محول واحد فقط متصلاً ، كقاعدة عامة ، Device_Addr = 1.
يتم تعيين عدد القراءات بواسطة ثابت حلقة (في المثال ، حلقة = 1000 ؛).
الوحدة الرئيسية:
clear all;
طلب Modbus RTU إنشاء روتين
function RTU_request = RTU_code(Device_Addr,Function,Data_First_Address,Address_Range) % Device_Addr == Device Address 8 bit: 1..255 % Function == % 3 or 4 is read; 6 is write in one register; 16 - write in two registers, % Data_First_Address == Address of first register data (2 bytes) % Addrress_Range == Range of Addreses; % Data_First_Address_Bytes = [floor(Data_First_Address/256) rem(Data_First_Address,256)]; Address_Range_Bytes = [floor(Address_Range/256) rem(Address_Range,256)]; % Master's Tx data without Check sum Code = [Device_Addr Function Data_First_Address_Bytes Address_Range_Bytes]; Code_Char = dec2hex(Code); if size(Code_Char,2)==1 Code_Char(:,2)=Code_Char(:,1); Code_Char(:,1)='0'; end Code_Char_line = []; for I = 1:length(Code) Code_Char_line = [Code_Char_line Code_Char(I,1:2)]; end % Check sum calculation Check_Sum = crc_calculator(Code_Char_line); % Master's Tx data with Check sum RTU_request = [Code hex2dec(Check_Sum(1:2)) hex2dec(Check_Sum(3:4))]; % End of m file
مودبوس RTU تسلسل اختباري روتين حساب
function output_hex_string = crc_calculator (Input_hex); %Input_hex = 'F70302640008'; % <= 2 * 16 Char F = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]; xor_constant = [1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1]; for i = 1 : length (Input_hex) / 2; A = [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; if ~(i > length (Input_hex)/2) A_hex = Input_hex ((i-1)*2+1:i*2); % Two HEX bytes A_bin = dec2bin (hex2dec (A_hex)); length_A_bin = length (A_bin); for j = 0 : length_A_bin - 1 A (16 - j) = str2num(A_bin (length_A_bin - j)); end end F = xor (F,A); for ii = 1 : 8 if F(16) ==1 if xor_constant (1) == 0 F_shift (1) = 0; else F_shift (1) = 1; end for j = 2 : 16; if xor_constant (j) == F (j-1); F_shift (j) = 0; else F_shift (j) = 1; end end else F_shift = circshift(F',1)'; end F = F_shift; end end h = num2str(F); h = h(1:3:length(h)); output_hex_string = num2str([dec2hex(bin2dec(h(9:12))) dec2hex(bin2dec(h(13:16))) dec2hex(bin2dec(h(1:4))) dec2hex(bin2dec(h(5:8)))]); % End of m file
روتين فرعي لتحويل أربع بايتات من قراءات المستشعر إلى نقطة عائمة
يوضح الشكل 6 أمثلة لرسومات الضغط ودرجة الحرارة PR-33X التي قرأها البرنامج أعلاه.
الشكل 6. ناتج محول PR-33X الذي تلقاه البرنامج المطور في MATLAB. يقرأ البرنامج 1000 قراءات ضغط في 115200 باود في 9 ثوان. يقرأ البرنامج 1000 قراءات الضغط و 1000 قراءات درجة الحرارة (بشكل منفصل) في 115200 باود في 17 ثانية.برنامج MATLAB تبديل سرعة نقل البيانات للمحول
للتبديل إلى تردد جديد ، من الضروري في البرنامج تعيين عنوان منفذ COM الخاص بجهازك (Com_Port = variable) والتردد المطلوب للمحول (BR_Rate = 9600 ؛ أو BR_Rate = 115200 ؛)
الاهتمام للتبديل إلى تردد جديد لنقل البيانات بعد تعيين صفر بت من سجل محول UART ، من الضروري إيقاف تشغيل (إلغاء تنشيط) ، ثم تشغيل محول مرة أخرى.
قائمة المراجع
- دكتور بوب دافيدوف. التواصل مع أجهزة الشبكات الصناعية. portalnp.ru/wp-content/uploads/2013/08/12.02_Discrete-IO-unit_-MK110-_RS-485-ModBus-RTU-_-ASCII-DCON-OVEN__Ed3.pdf
- وصف بروتوكولات الاتصال. لأجهزة إرسال سلسلة الضغط من KELLER 30 و 40. Class.Group = 5.20 Class.Group = 5.21. الإصدار 3.2 (باللغة الروسية). www.izmerkon.ru .
- سلسلة مركز التحكم 30. دليل المستخدم. FUR CCS30 الإصدار 1.1. www.izmerkon.ru
- دكتور بوب دافيدوف. تقنيات التحكم في الكمبيوتر في النظم التقنية portalnp.ru/author/bobdavidov