14.3-rasm. Modbus PLC belgilari sxemasi
Sinxronlashtirish. Ishonchli aloqani ta'minlash uchun xabarni uzatish bilan qabul qilishni sinxronlash kerak. Boshqacha qilib aytganda, qabul qiluvchi qurilma yangi xabarni boshlanishini aniqlashi kerak. Modbus RTU protokolida sinxronizatsiya xabar freymidagi ketma-ket belgilar orasidagi bo‘sh vaqtni cheklash orqali o‘rnatiladi. Agar qabul qiluvchini ma‘lum vaqt ichida yangi belgini topf olmasa (taxminan uch millisekunda uchta belgi), kutilayotgan xabar tashlab yuboriladi (reset). Keyingi bayt yangi xabar sifatida talqin etiladi.
Xotira belgisi. Xotira belgisi to‘rt xil ma’lumot turini ishlatish imkonini beradi: Coil, diskret kirish, registr kirishi va saqlash registrlari. Registrl o‘zgaruvchilari ikki baytdan iborat bo‘lib, coil va diskret kirish bitta bitni tashkil qiladi. Har bir funktsiya faqat bitta ma’lumot turiga murojat qiladi.
10.9-jadvalda ushbu to‘rt turdagi ma’lumotlarning addresslari va har biriga tegishli bo‘lgan funktsiya kodlari berilgan.
Funksional kod. Har bir so‘rov funksional kodga ega bo‘lib, PLC uchun ma’lun bir ishni belgilaydi. So‘rov ma’lumot maydonining qiymati funksional kodga bog‘liq bo‘ladi. Quyidagi bo‘limlarda eng kerakli funksional kodlar vazifasi ko‘rsatilgan.
Coil yoki raqamli chiqish holatini o‘qish (Funksional kod 01). Ushbu xususiyat maqsad qurilmaning ON/OFF bir yoki bir necha mantiqiy g‘altakni boshqara olish uchun imkoniyat beradi.
Kadr ichidagi bayt va gal’taklar o‘z ichiga ma’lumotlar oladi. Ma’lumot baytlari har bir g‘altak ketma-ketligi uchun bir bit bilan to‘ldiriladi (1 = ON, 0 = OFF).
14.9-jadval
Modicon adresslash va funksional kodlari
Ma’lumot-lar turi
|
Absolyut adreslar
|
Nisbiy
adreslar
|
Funksional kodlar
|
Tavsif
|
Coils
|
00001 dan 09999 gacha
|
0 dan 9998 gacha
|
01
|
Coils holatini o‘qish
|
Coils
|
00001 dan 09999 gacha
|
0 dan 9998 gacha
|
05
|
Coils registerini kuchlanishi
|
Coils
|
00001 dan 09999 gacha
|
0 dan 9998 gacha
|
15
|
Coils registerlarini kuchlanishi
|
Discrete Input
|
10001 dan 19999 gacha
|
0 dan 9998 gacha
|
02
|
Kirish holatini o‘qish
|
Input Register
|
30001 dan 39999 gacha
|
0 dan 9998 gacha
|
04
|
Register kirishini o‘qish
|
Holding Register
|
40001 dan 49999 gacha
|
0 dan 9998 gacha
|
03
|
Holding Registers holatini o‘qish
|
Holding Register
|
40001 dan 49999 gacha
|
0 dan 9998 gacha
|
06
|
Birlik registerini oldindan urnatish
|
Holding Register
|
40001 dan 49999 gacha
|
0 dan 9998 gacha
|
16
|
Registerlarni oldindan urnatish
|
-
|
-
|
-
|
07
|
Istisno holatlarini o‘qish
|
-
|
-
|
-
|
08
|
Teskari aloqa diagnostic testi
|
Birinchi ga’takdagi ma’lumot baytining eng kichik biti holatni bildiradi, birinchi g‘altakdagi ma’lumotni o‘qiydi. Agar g‘altakdagi ma’lumot soni sakkizning bir nechtasi bo‘lmasa, unda oxirgi ma’lumotlar yuqori sonda nolga ega bo‘ladi. Agar javobida dastlabki ma’lumot baytining so‘ralgan eng kichik bitining bir nechta ma’lumot baytlari bo‘lsa. misolda kompyuter 000A (kasr 00011) va 000B (00012) holatini so‘raydi . qurilmaning javobi har ikkala g‘altak yoqilganda ham ishlaydi.
Bu funksiya asosiy qurilmaga bir yoki bir nechta diskret kirishlaro‘qish imkoyatini beradi So‘rov ramkasining ma’lumot maydoni dastlabki diskretga nisbatan address va keyin o‘qilishi kerak bo‘lgan diskret kirishlar sonidan iborat. Kadrning ma’lumotlar maydoni alohida yozish uchun ma’lumotlari baytini, keyin alohida kirish ma’lumotlari sifatida yozish kerak. Diskret kirish ma’lumotlari baytlari har bir ketma-ket alohida kirish uchun bir bit bilan to‘ldiriladi (1=ON, 0=OFF). Birinchi diskretli kirish ma’lumot baytlarining eng kichik biti birinchi kirish holatini o‘zgartiradi.
14.10- jadval
Raqamli kirishda Coil ma’lumotini o‘qish
Xabarlar surovini
Adres
|
Funksiya kodi
|
Coil dastlabki o‘zgarishi
|
Nuqta nomeri
|
CRC
|
Hi Lo
|
Hi Lo
|
01
|
01
|
00 0A
|
00 02
|
9D CD
|
Freym javobi
Adres
|
Funksiya kodi
|
Baytni sanash
|
Coil ma’lumoti
|
CRC
|
01
|
01
|
01
|
03
|
11 89
|
Agar diskretli kirishlar soni sakkizdan ko‘p bo‘lsa ham o‘qilmasa, oxirgi ma’lumotlar byte nolga ega bo‘ladi. javobning birinchi baytining past darajadagi biti birinchi address raqamli kiritishni o‘z ichiga oladi. Quyidagi misolda asosiy kompyuter ofsetning 0000 va 0001 (ya'ni, kasr 10001 va 10002) diskret yozuvlari holatini so‘raydi. qurilmadan javob, 10001 raqamli kirish va 10002 yoqilganligini ko‘rsatadi.
14.11- jadval
Kirish holatini o‘qishga namuna.
Xabarlar surovini
Adres
|
Funksiya kodi
|
Coil dastlabki o‘zgarishi
|
Nuqta nomeri
|
CRC
|
Hi Lo
|
Hi Lo
|
01
|
02
|
00 00
|
00 02
|
F9 CB
|
Freym javobi
Adres
|
Funksiya kodi
|
Baytni sanash
|
Coil ma’lumoti
|
CRC
|
01
|
02
|
01
|
02
|
20 49
|
Do'stlaringiz bilan baham: |