modscan64 / Модуль Advantys OTB1S0DM9LP - Форум АСУТП

Modscan64

modscan64

ТРМ-138-ModBus RTU. Не могу считать показания с термопары на втором канале

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Windows.Forms;usingSystem.IO;usingSystem.IO.Ports;     namespace ТРМ_138 {         publicpartialclass Form1 : Form     {         public Form1()         {             InitializeComponent();             serialPort1.Open();         }                   privatevoid button1_Click(object sender, EventArgs e)         {                serialPort1.Write(ReadHoldingRegister(16, 04, 0007, 0001), 0, 8);             textBox1.Text= serialPort1.ReadByte().ToString();                     }           privatevoid Form1_Load(object sender, EventArgs e)         {             //чтение портов доступных в системе             string[] ports = SerialPort.GetPortNames();             //Очистка содержимого бокса             comboBox1.Items.Clear();             //Добавление найденных портов в бокс             comboBox1.Items.AddRange(ports);         }           publicstaticbyte[] ReadHoldingRegister(byte id, byte command, byte startAddress, byte length)         {             byte[] data =newbyte[8];             byte High, Low;             data[0]= Convert.ToByte(16);             data[1]= Convert.ToByte(4);             byte[] _adr = BitConverter.GetBytes(startAddress);             data[2]=07;             data[3]=00;             byte[] _length = BitConverter.GetBytes(length);             data[4]= 01;             data[5]= 00;            myCRC(data, 6, out High, out Low);             data[6]= Low;             data[7]= High;             //MessageBox.Show(data[6].ToString());             //MessageBox.Show(data[7].ToString());             return data;         }           publicstaticvoid myCRC(byte[] message, int length, outbyte CRCHigh, outbyte CRCLow)         {             ushort CRCFull = 0xFFFF;             for(int i =0; i < length; i++)             {                 CRCFull =(ushort)(CRCFull ^ message[i]);                 for(int j =0; j <8; j++)                 {                     if((CRCFull & 0x0001)==0)                         CRCFull =(ushort)(CRCFull >>1);                     else                     {                         CRCFull =(ushort)((CRCFull >>1)^ 0xA001);                     }                 }             }             CRCHigh =(byte)((CRCFull >>8)& 0xFFFF);             CRCLow =(byte)(CRCFull & 0xFFFF);           // MessageBox.Show(CRCLow.ToString());           // MessageBox.Show(CRCHigh.ToString());         }             privatevoid textBox1_TextChanged(object sender, EventArgs e)         {                     }           privatevoid serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)         {            // TextBox textBox1 = new TextBox();             //textBox1.Text = serialPort1.ReadExisting().ToString();         }     }}
Активный форум: "Эл. устройства" (89%)
Откуда: Россия, Волгодонск
написано 26.04.2017 10:39

sol-2008
Протокольный смысл интервалов t1,5 и t3,5 в том, что мы не знаем, в какой момент очнётся slave.
Слэйв тут не причём - сама идеология подразумевает передачу мастером запроса конкретному слэйву - по его адресу, который в системе индивидуален. Следовательно, никаких посторонних передач не должно быть, каждый слэйв, принимая запрос мастера, будет молчать в тряпочку, если адрес не его. Поэтому интервал от 3.5 символов - только маркер конца кадра. Кстати и 10 можно, и 100, в общем пока мастер не решит, что таймаут закончился, и такого слейва не существует, по какой-либо причине. Потому что протокол предполагает, что получив запрос мастера, исправный слэйв в любом случае должен ответить что-то. Либо то, что требуют, либо "не понял - ошибка", либо "я занят, отвечу позже", либо "ну не могу я такого сделать" и т.п.

нет ли какого HAL или чего-то типа того
Дык есть. Но это опять готовые библиотеки, с возможными ошибками, как в той для авр что ты сейчас ковыряешь. Лучше самому, ручками, как Nixto советует. Не так просто, как в кубике, читать больше (зато английский растёт ), но, имхо надёжней, когда понимаешь полностью что и как работает, чего можно ожидать.

nest...

çamaşır makinesi ses çıkarması topuz modelleri kapalı huawei hoparlör cızırtı hususi otomobil fiat doblo kurbağalıdere parkı ecele sitem melih gokcek jelibon 9 sınıf 2 dönem 2 yazılı almanca 150 rakı fiyatı 2020 parkour 2d en iyi uçlu kalem markası hangisi doğduğun gün ayın görüntüsü hey ram vasundhara das istanbul anadolu 20 icra dairesi iletişim silifke anamur otobüs grinin 50 tonu türkçe altyazılı bir peri masalı 6. bölüm izle sarayönü imsakiye hamile birinin ruyada bebek emzirdigini gormek eşkiya dünyaya hükümdar olmaz 29 bölüm atv emirgan sahili bordo bereli vs sat akbulut inşaat pendik satılık daire atlas park avm mağazalar bursa erenler hava durumu galleria avm kuaför bandırma edirne arası kaç km prof dr ali akyüz kimdir venom zehirli öfke türkçe dublaj izle 2018 indir a101 cafex kahve beyazlatıcı rize 3 asliye hukuk mahkemesi münazara hakkında bilgi 120 milyon doz diyanet mahrem açıklaması honda cr v modifiye aksesuarları ören örtur evleri iyi akşamlar elle abiye ayakkabı ekmek paparası nasıl yapılır tekirdağ çerkezköy 3 zırhlı tugay dört elle sarılmak anlamı sarayhan çiftehan otel bolu ocakbaşı iletişim kumaş ne ile yapışır başak kar maydonoz destesiyem mp3 indir eklips 3 in 1 fırça seti prof cüneyt özek istanbul kütahya yol güzergahı aski memnu soundtrack selçuk psikoloji taban puanları senfonilerle ilahiler adana mut otobüs gülben ergen hürrem rüyada sakız görmek diyanet pupui petek dinçöz mat ruj tenvin harfleri istanbul kocaeli haritası kolay starbucks kurabiyesi 10 sınıf polinom test pdf arçelik tezgah üstü su arıtma cihazı fiyatları şafi mezhebi cuma namazı nasıl kılınır ruhsal bozukluk için dua pvc iç kapı fiyatları işcep kartsız para çekme vga scart çevirici duyarsızlık sözleri samsung whatsapp konuşarak yazma palio şanzıman arızası