বিল্ডিং অটোমেশন eHouse – একটি উইন্ডোস সফ্টওয়্যার এবং কাস্টম প্রতিস্থাপক আলগোরিদিম নির্মাণ

হোম অটোমেশন পিসি সফ্টওয়্যার সঙ্গে eHouse আপনি বিল্ডিং স্বয়ংক্রিয়তা সিস্টেমের জন্য প্রতিস্থাপক তৈরি করা যাবে .
এই আপনার নিজের তৈরি করা যাবে , ব্যক্তিগত আলগোরিদিম , ফার্মওয়্যার বা যে ড্রাইভার সফ্টওয়্যার সিরিয়াল নিয়ন্ত্রণ প্রয়োগ করা হয় না হোম অটোমেশন eHouse .
এই শেষ , আমরা সফ্টওয়্যারের সোর্স কোড ব্যবহারকারীদের প্রদান করে (ডেল্ফী 5) . তারা ডেল্ফী নতুন সংস্করণে সঙ্গে কম্পাইল করা বা অন্য প্রোগ্রামিং ভাষার জন্য ব্যবহৃত হতে পারে .
আমরা সচেতনভাবে এই প্রাচীন সংস্করণ বেছে হিসাবে তারা ইতিমধ্যে বিনামূল্যে জন্য অপেশাদার প্রোগ্রামের জন্য .
তারা Windows XP এর কাজ শুধু হিসাবে নির্ভরযোগ্যভাবে , বীথি , Windows 7 এর উভয় 32 এবং 64 বিট .
এই সফ্টওয়্যার eHouseLogAnalizer এবং এইসব লগ ফর্মা অ্যাপ্লিকেশনের যে আপ টেক্সট ফাইল পড়া তারিখ থেকে বলা হয় .
এটা পরিচালিত অ্যাপ্লিকেশন KillWdt করা যাবে ও monitor . exe .
আবেদনের মূল বৈশিষ্ট্য:

  • পড়া সব ড্রাইভারের অবস্থা এবং নামগুলি আউট
  • অবস্থা এবং পড়ুন সকল ড্রাইভারের নাম লিখুন
  • সব পরিমাপ ইনপুট পরিমাপ ড্রাইভার এবং নামগুলি পড়ুন
  • অভ্যন্তরীণ মেমরি প্রোগ্রাম সমস্ত ডেটা লোড করুন , যার ফলে একটি আবেদন করা যাবে প্রক্রিয়া

আবেদন টেক্সট ফাইল একটি ডিরেক্টরির মধ্যে নির্মিত ফাইল অবস্থা ব্যবহার করে ‘ লগগুলি / অবস্থা / ‘ সম্প্রসার ‘ . অবস্থা ‘ .
ফাইল পরিবর্তন শুধুমাত্র প্রয়োগ eHouse ইভেন্টটি মধ্যে পড়তে হয় . exe .

তথ্য কন্ট্রোলার নিম্নলিখিত দৃষ্টান্ত রেকর্ডস মধ্যে লোড করা হয় ” ehouse_rm_em_hm ” অ্যারে RM তালিকাভুক্ত .

উপরন্তু , তথ্য HeatManager নিম্নলিখিত ভেরিয়েবলগুলি রাখা হয়:
bonfire_status: স্ট্রিং ; / অগ্ন্যুত্সব সারাংশ / HeatManager জন্য স্থিতি – স্থিতি অগ্নিকুণ্ড গরম প্যানেল eHouse . exe
boiler_status: স্ট্রিং ; / বয়লারের মধ্যে / এইচএম জন্য স্থিতি – বয়লার গরম প্যানেল eHouse অবস্থা . exe
Solar_status: স্ট্রিং ; / সৌর সিস্টেমের / স্থিতি – গরম সৌর প্যানেল eHouse অবস্থা . exe
recuperator_status: স্ট্রিং ; / আরোগ্য সারাংশ / স্থিতি , বায়ুচলাচল , বায়ু গরম – গরম বাতাস চলাচলের ব্যবস্থা এবং তাপ পুনরুদ্ধারের অবস্থা
HADC: অ্যারে [0 . . ডবল 15] ; / / তাপ তাপমাত্রা পরিচালক – তাপমাত্রা পরিমাপ HeatManager
/ / তাপ HADC অ্যারের সরাসরি এক্সেস জন্য পরিচালক ইনডেক্সসমূহ – কনস্ট্যান্ট তাপমাত্রা HeatManager সরাসরি পড়ার জন্য তাপমাত্রা সূচকগুলি
CONST HM_GWC = 3 ; / / GWC – গ্রাউন্ড তাপ Exchanger
HM_KOM1 = 4 ; / / অগ্নিকুণ্ড Coat 1 – অগ্ন্যুত্সব জল জ্যাকেট 1
HM_KOMKONV = 5 ; / / অগ্নিকুণ্ড konvekcyjne – পরিচলন অগ্ন্যুত্সব
HM_KOM2 = 6 ; / / ফায়ার প্লেন 2 – অগ্ন্যুত্সব জল জ্যাকেট 2 (ব্যাকআপ)
HM_TWEWN = 7 ; / / অভ্যন্তরীণ কক্ষ তাপমাত্রা – অভ্যন্তরীণ কক্ষ তাপমাত্রা
HM_SOLAR = 9 ; / / সংগ্রাহকের সূর্য – সৌরমণ্ডল
HM_ZEWNPN = 8 ; / / বাহ্যিক তাপমাত্রা উত্তর – বাইরের তাপমাত্রা উত্তর
HM_ZEWNPD = 1 ; এর দক্ষিণে / / বাহ্যিক তাপমাত্রা – বাইরের তাপমাত্রা দক্ষিণ
HM_KOC = 10 ; / / তাপমাত্রা বয়লার – বয়লার তাপমাত্রা
HM_BANDOL = 11 ; / / CO / গরম পানির ট্যাংক ধ্বংস – গরম watter নীচে বাফার
HM_REQIN = 12 ; / / ক্লিন বায়ু পুনরূদ্ধারকারক ইনপুট – আরোগ্য পরিষ্কার বায়ু ইনপুট
= 13 HM_REQOUT ; / / আউটপুট পুনরূদ্ধারকারক হোম – heaten আরোগ্য তাজা রুমে ঘা বায়ু – তাপমাত্রা
= 14 HM_NAG ; / / তিন তাপমাত্রা নিয়ন্ত্রণ – গরম করার জন্য এবং জন্য রেডিয়েটার উপায় ভালভ – তিনটি ওয়াটার হিটার বা অন্যান্য গরম করার সিস্টেমের জন্য উপায় কর্তক পরে তাপমাত্রা
HM_REQWYC = 15 ; / / হোম পুনরূদ্ধারকারক নিষ্কর্ষ মলিন – বাড়ির ময়লা নিষ্কাশন temp থেকে আরোগ্য
HM_BANGORA = 2 ; / / তাপীকরণ / গরম পানির ট্যাংক Gora – গরম জল বাফার শীর্ষ
HM_BANSRO = 0 ; / / তাপীকরণ / গরম জলের ট্যাংক সঞ্চয়ের উপায় – MIDDLE গরম জল বাফার
var HADCNames: অ্যারে [0 . . স্ট্রিং 15] ; / / সেন্সর নামগুলি (ইনপুট পরিমাপ) HeatManagera
বেসিক ফাংশন EhouseLogAnalizer:
পদ্ধতি init_heat_temperature_names ; / / এবং আরম্ভ / অথবা তাপমাত্রা সেন্সর এইচএম নামগুলি পড়া
পদ্ধতি loadnames_rm ; / / লোড RoomManagerĂłw নাম (eHouse 1)
পদ্ধতি readethernetdevs ; / / ইথারনেট ড্রাইভার নাম (eHouse 2) পাঠ্য
get_index_rm ফাংশন (str: স্ট্রিং): পূর্ণসংখ্যা ; / / দিতে বাধ্য টেবিলের ফাইল নামের অবস্থা দ্বারা roomManagerami অনুসন্ধান সঙ্গে সূচক
ফাংশন GB (chr: গৃহস্থালি): বুলিয়ান ; / / জন্য একটি বুলিয়ান মান পড়া অবস্থা হাসিনা
adc_hm পদ্ধতি (str: স্ট্রিং ; ইনডেক্স: পূর্ণসংখ্যা) ; / / পঠিত অবস্থা HeatManagera রেকর্ড তাপমাত্রা সঙ্গে স্ট্রিং রূপান্তর
adc_rm পদ্ধতি (str: স্ট্রিং ; ইনডেক্স: পূর্ণসংখ্যা) ; / / এনালগ পরিমাপের স্ট্রিং রূপান্তর যখন অবস্থা RoomManagerĂłw পড়া
gbs ফাংশন (খ: বুলিয়ান): স্ট্রিং ; / / টেক্সট ফর্ম (0 বুলিয়ান লিখুন , 1)
RMDeviceIndexByName ফাংশন (str: স্ট্রিং): পূর্ণসংখ্যা ; / / দিতে বাধ্য টেবিলের নাম ড্রাইভার দ্বারা RoomManagerami অনুসন্ধান সঙ্গে সূচক
RMGetOutputStateNr ফাংশন (ইনডেক্স: পূর্ণসংখ্যা ; OutputNr: পূর্ণসংখ্যা): বুলিয়ান ; / / আউটপুট রাষ্ট্র RM ফিরুন [সূচক] এবং আউটপুট নম্বর OutputNR
RMGetOutputState ফাংশন (ইনডেক্স: পূর্ণসংখ্যা ; OutputName: স্ট্রিং): বুলিয়ান ; / / আউটপুট দিতে বাধ্য রাষ্ট্র RM [সূচক] এবং বলা OutputName আউট
RMGetInputStateNr ফাংশন (ইনডেক্স: পূর্ণসংখ্যা ; InputNr: পূর্ণসংখ্যা): বুলিয়ান ; / / ইনপুট দিতে বাধ্য RM অবস্থা [সূচক] এবং এন্ট্রি InputNr সংখ্যা
RMGetInputState ফাংশন (ইনডেক্স: পূর্ণসংখ্যা ; InputName: স্ট্রিং): বুলিয়ান ; / / ইনপুট দিতে বাধ্য RM অবস্থা [সূচক] এবং এন্ট্রি InputName নাম
RMGetTempNr ফাংশন (ইনডেক্স: পূর্ণসংখ্যা ; InputNr: পূর্ণসংখ্যা): ডবল ; / / RM তাপমাত্রা হাসিনা [সূচক] এবং এন্ট্রি InputNr সংখ্যা
RMGetTemp ফাংশন (ইনডেক্স: পূর্ণসংখ্যা ; InputName: স্ট্রিং): ডবল ; / / RM তাপমাত্রা হাসিনা [সূচক] এবং এন্ট্রি InputName নাম
RMGetInvPercent ফাংশন (ইনডেক্স: পূর্ণসংখ্যা ; InputName: স্ট্রিং): ডবল ; / / একটি জাতির বিপরীত 100 শতাংশ পরিমাপ % – এক্স RM [সূচক] এবং এন্ট্রি InputName নামের (এ সরবরাহ ভোল্টেজ নিয়ামক সম্পর্ক)
RMGetInvPercentNr ফাংশন (ইনডেক্স: পূর্ণসংখ্যা ; InputNr: পূর্ণসংখ্যা): ডবল ; / / একটি জাতির বিপরীত 100 শতাংশ পরিমাপ % – এক্স RM [সূচক] এবং এন্ট্রি InputNr সংখ্যা (মধ্যে সরবরাহ ভোল্টেজ নিয়ামক সম্পর্ক)
RMGetPercent ফাংশন (ইনডেক্স: পূর্ণসংখ্যা ; InputName: স্ট্রিং): ডবল ; / / একটি জাতির RM [সূচক] শতাংশ পরিমাপ এবং এন্ট্রি InputName নামের (এ সরবরাহ ভোল্টেজ নিয়ামক সম্পর্ক)
RMGetPercentNr ফাংশন (ইনডেক্স: পূর্ণসংখ্যা ; InputNr: পূর্ণসংখ্যা): ডবল ; / / একটি জাতির বিপরীত 100 শতাংশ পরিমাপ % – এক্স RM [সূচক] এবং এন্ট্রি InputNr নামের (এ সরবরাহ ভোল্টেজ নিয়ামক সম্পর্ক)
RMGetDeviceOutputState ফাংশন (Devname: স্ট্রিং ; OutputName: স্ট্রিং): বুলিয়ান ; / / আউটপুট দিতে বাধ্য ড্রাইভার নামক Devname রাজ্যের এবং বলা OutputName আউট
RMGetDeviceInputState ফাংশন (Devname: স্ট্রিং ; InputName: স্ট্রিং): বুলিয়ান ; / / ইনপুট ড্রাইভার জাতির অবস্থা এবং নাম এন্ট্রি Devname InputName নাম
HMGetTemp ফাংশন (InputName: স্ট্রিং): ডবল ; মাপ ইনপুট HeatManagera InputName জন্য যাকে / / ফিরে তাপমাত্রা
HMGetTempNr ফাংশন (InputNr: পূর্ণসংখ্যা): ডবল ; মাপ HeatManagera InputNr জন্য ইনপুট নম্বর (1 / / ফিরে তাপমাত্রা . . 16)
chk_int ফাংশন (ম: স্ট্রিং): পূর্ণসংখ্যা ; / / নিরাপদ একটি পূর্ণসংখ্যা স্ট্রিং এর রূপান্তর
পদ্ধতি update_status ; / / সমস্ত টেবিলের ড্রাইভারের অবস্থা আপডেট করুন (পর্যায়ক্রমে সঞ্চালন করা আবশ্যক)
পদ্ধতি Test_save ; / / টেস্ট প্রক্রিয়া সহজ করার জন্য একটি টেক্সট ফাইলে ফলাফল লিখুন
ড্রাইভার এবং আরম্ভ করা সকল নামের একবার আবেদন শুরু হয় (FormCreate) হয়
পদ্ধতি TForm1 . FormCreate (প্রেরকের: TObject) ;
লাগা
পাথ: = getcurrentdir () ; / / পান প্রোগ্রাম বর্তমান ডিরেক্টরির পাথ হবে? % eHouse_DIR % \ Bin \
পাথ: = stringreplace (পাথ , ‘ \ বিন ‘ , ‘ \ ‘ , [Rfignorecase]) ; / / আবেদন eHouse পথ পান – আবেদন পাথ eHouse সেট
loadnames_rm ; / / লোড নিয়ামক নাম ehouse1 – লোড ড্রাইভার নামের eHouse 1
init_heat_temperature_names ; / / লোড সেন্সর heatManagera নাম
readethernetdevs ; / / ইথারনেট কন্ট্রোলার লোড eHouse নাম সমূহ – ডিভাইসের নামের eHouse 2 পড়া
timer1 . ব্যবধান: = 3000 ; / / সেট, মিলিসেকেন্ডে ব্যক্ত আবর্তনশীল টাস্ক ব্যবধান – সাইক্লিক ডেটা পরীক্ষা শুরু সময় ছবি
timer1 . সক্ষম: = সত্য ; / / স্বয়ংক্রিয় কর্ম (অবস্থা আপডেট শুরু – তথ্য নিয়মিত পরীক্ষা অন্তর্ভুক্ত
update_status ; / / প্রথম অবস্থা পাঠ্য
শেষ ;
আবর্তনশীল তথ্য সনাক্তকরণের ফাংশন Timer1 হয় সময় অন্তরে পরামিতি Timer1 মধ্যে সেট মধ্যে (Timer1Timer) রান . ব্যবধান (মিলিসেকেন্ডে মধ্যে) .
পদ্ধতি TForm1 . Timer1Timer (প্রেরকের: TObject) ;
var tf: textfile ;
লাগা
update_status ; / / ড্রাইভারের অবস্থা রূপান্তর
Test_save ; / পরীক্ষার জন্য / একটি টেক্সট ফাইলে সমস্ত ফলাফল লিখেছেন
/ / চেষ্টা একটি অ্যাপ্লিকেশনের জন্য মার্কার ফাইল তৈরি KillExec . exe যা করতে পারেন ” ঘড়ি ” ক্র্যাশ করার পূর্বে আবেদন
AssignFile (tf , পাথ ' ‘ লগগুলি \ লগ – analizer . stp ‘ ) ;
/ / WDT যে সঠিকভাবে আবেদন stampfile কাজ ব্যবহার সূচিত করুন ” \ লগ ইন – analizer . stp ”
(tf) পুনর্লিখন ;
writeln (tf , ‘ 1 ‘ ) ;
পরিশেষে ;
closefile (tf) ;
শেষ ;
শেষ ;