请教serialport实现modbus协议的问题

请教serialport实现modbus协议的问题,第1张

using System;

using SystemCollectionsGeneric;

using SystemComponentModel;

using SystemData;

using SystemDrawing;

using SystemLinq;

using SystemText;

using SystemWindowsForms;

using SystemIOPorts;

using SystemThreading;

using SystemTimers;

public DataShow()

{

InitializeComponent();

m_cworkPara = new CWorkPara();

m_objEvent = new AutoResetEvent(false);

m_objSaturatingRadEvent = new AutoResetEvent(false);

serialPortPortName = m_cworkParas_portName;

serialPortDataBits = m_cworkParai_dataBits;

serialPortReadBufferSize = 1024;

serialPortReadTimeout = 1;

serialPortBaudRate = m_cworkParai_bandRate;

serialPortRtsEnable = true;//设置RTS有效

serialPortDtrEnable = true;//设置DTR有效

serialPortDiscardNull = false;

serialPortOpen();

}

private void btn_ManualStart_Click(object sender, EventArgs e)//手动开始测量

{

serialPortDataReceived += new SerialDataReceivedEventHandler(SerialPort_DataReceived);

}

private void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)//MODBUS读取寄存器的触发函数

{

int i_InNum;//输入缓冲区中字节数

i_InNum = serialPortBytesToRead;

byte[] mb_rsp_pdu = new byte[i_InNum];

byte[] crc_Data = new byte[i_InNum];

float f_InterFloat;

serialPortRead(mb_rsp_pdu, 0, i_InNum);//将串口缓冲区数据保存到数组中

serialPortDiscardOutBuffer();

if (i_InNum != 9)

{

MessageBoxShow("receive err");

return;

}

else

{

if (mb_rsp_pdu[0] != 1 || mb_rsp_pdu[1] != 3)

{

return;

}

else

{

crc_Data = mb_rsp_pdu;

ConCRC16(crc_Data, i_InNum);//CRC校验

if (crc_Data[i_InNum - 1] == mb_rsp_pdu[i_InNum - 1] && crc_Data[i_InNum - 2] == mb_rsp_pdu[i_InNum - 2])

{

if (i_InNum != 9)

return;

int n = i_InNum - 5;

byte[] b_ToFloat = new byte[n];//将串口读取的四个字节转换成单精度浮点型

for (int i = 3; i < i_InNum - 2; i++)

{

queue_resultEnqueue(mb_rsp_pdu[i]);//读取串口MODBUS数据,添加到QUERE<byte[]>

b_ToFloat[i - 3] = mb_rsp_pdu[i];

}

f_InterFloat = BitConverterToSingle(mb_rsp_pdu, 3);

float_resultEnqueue(f_InterFloat);

if (b_IsMeasuringRadNeeded)//判断标志位,如果为true,将采集的数据保存

{

for (int i = 2; i < i_InNum - 2; i++)

{

MeasuringRadDataEnqueue(mb_rsp_pdu[i]);

}

b_IsMeasuringRadNeeded = false;

}

if (b_IsSaturatingRadNeed)//判断标志位,如果为true,将采集的数据保存

{

for (int i = 2; i < i_InNum - 2; i++)

{

SaturatingRadDataEnqueue(mb_rsp_pdu[i]);

}

b_IsMeasuringRadNeeded = false;

}

}

else

{

return;

}

}

}

//serialPortDiscardInBuffer();

MethodInvoker In = new MethodInvoker(draw);//使用实例函数跨线程更新窗口

thisBeginInvoke(In);

if (!serialPortIsOpen)

MessageBoxShow("err");

}

要英文的 没找到~ 路过~

This is for (this is for)

Los Latinos (los Latinos)

En camino para los estados unidos (U-S-A)

Buscando la oportunidad

Y el sueño Americano de verdad (the american dream)x2

Lagrimas, sudor y sangre

Esto es para los Mexicanos que estan crusando El Rio Grande

Esto es para los Dominicanos tirandose al canal de La Mona

Esto es para los Cubanos nadando noventa millas para llegar a La Yuma

Dios dale ayuda

This is for

Los latinos

En camino para los estados unidos

Buscando la oportunidad

Y el sueño Americano de verdadx2

Oye mi gente

Ya vemos que un latino puede ser presidents

Los ilegales que estan fajados tratando de ser residentes

Los que tienen el numero de social security todo inventado

Como dice doctora Ana Maria Polo "caso serado"

This is for

Los latinos

En camino para los estados unidos

Buscando la oportunidad

Y el sueño Americano de verdad x2

Libertad (we don't die)

Libertad (we multiply) x4

This is for (Puerto Rico)

Los latinos (Costa Rica)

En camino (Panama) para los Estados Unidos (Nicaragua)

Buscando la oportunidad

(El Salvador, Honduras, Guatemala, Peru, Brazil)

Y el sueño Americano de verdad

(Colombia, Chile, Argentina, Uruguay)

This is for (Paraguay, Bolivia)

Los latinos (Ecuador, Venezuela)

En camino para los estados unidos

(Para todos venezolanos entrando por la frontera con los pies mojados)

Buscando la oportunidad (Cuba, La Republican Dominicana)

Y el sueño Americano de verdad (Mexico)

Esto es para todos los latinos en el mundo

Pa'lante y pa'rriba

Que se preparen y se paren

Que el mundo entero es pa' nosotros

Pa'que lo sepan haha dale

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/liwu/8102895.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-09-07
下一篇2023-09-07

发表评论

登录后才能评论

评论列表(0条)

    保存