首页 modbus协议_PC实现

modbus协议_PC实现

举报
开通vip

modbus协议_PC实现编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载modbus协议_PC实现甲方:___________________乙方:___________________日期:___________________说明:本合同资料适用于约定双方经过谈判、协商而共同承认、共同遵守的责任与义务,同时阐述确定的时间内达成约定的承诺结果。文档可直接下载或修改,使用时请详细阅读内容。我使用C++Builder6.0调用Win32API实现的。首先开一个线程。void__fastcallTFo...

modbus协议_PC实现
编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载modbus 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 _PC实现甲方:___________________乙方:___________________日期:___________________说明:本合同资料适用于约定双方经过谈判、协商而共同承认、共同遵守的责任与义务,同时阐述确定的时间内达成约定的承诺结果。文档可直接下载或修改,使用时请详细阅读内容。我使用C++Builder6.0调用Win32API实现的。首先开一个线程。void__fastcallTForm1::FormCreate(TObject*Sender){ReadComm=newTRead232(true);ReadComm->FreeOnTerminate=true;}通过一个按钮实现打开/关闭串口void__fastcallTForm1::Button1Click(TObject*Sender){if(Button1->Caption=="打开通讯端口")〃按钮名称是"打开通讯端口"?{char*ComNo;DCBdcb;StringTemp;Temp="COM"+IntToStr(rdCom->ItemIndex+1);//TRadioGroup*rdCom;定义要选择的串口ComNo=Temp.c_str();hComm=CreateFile(ComNo,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0);if(hComm==INVALID_HANDLE_VALUE){MessageBox(0,'打开串口失败!!”,"SetError”,MB_OK);return;}GetCommState(hComm,&dcb);dcb.BaudRate=CBR_9600;dcb.ByteSize=8;dcb.Parity=NOPARITY;dcb.StopBits=ONESTOPBIT;if(!SetCommState(hComm,&dcb)){MessageBox(0,'打通讯端口设置错误!!”,"SetError”,MB_OK);CloseHandle(hComm);return;}Timer1->Enabled=True;Button1->Caption="关闭串口";Shape1->Brush->Color=clRed;//启动接收线程ReadComm->Resume();}else(Button1->Caption="打开通讯端口";CloseHandle(hComm);Shape1->Brush->Color=clBlack;Timer1->Enabled=False;ReadComm->Terminate();}}接收由线程TRead232完成void__fastcallTRead232::Execute()(SetName();//----Placethreadcodehere----if(!Terminated)Synchronize(ReadData);}//void__fastcallTRead232::ReadData()(Form1->Caption="Updatedinathread";StringTemp;charinbuff[1024];DWORDnBytesRead,dwEvent,dwError;COMSTATcs;if(hComm==INVALID_HANDLE_VALUE)(MessageBox(0,"串口失败!!”,"SetError”,MB_OK);return;}ClearCommError(hComm,&dwError,&cs);Form1->Edit1->Text=cs.cbInQue;if(cs.cbInQue>sizeof(inbuff))(PurgeComm(hComm,PURGE_RXCLEAR);return;}ReadFile(hComm,inbuff,cs.cbInQue,&nBytesRead,NULL);inbuff[cs.cbInQue]='\0';Form1->Memo1->Text=Form1->Memo1->Text+inbuff;}发送是定时器TIMER1触发,定时发送的。void__fastcallTForm1::Timer1Timer(TObject*Sender)(charSendData[20];bytech;inti;unsignedlonglrc,BS;if(hComm==0)return;SendData[0]=0x41;SendData[1]=0x03;SendData[2]=0x00;SendData[3]=0x01;SendData[4]=0x00;SendData[5]=0x04;SendData[6]=0x1b;SendData[7]=0x09;SendData[8]='\0';//BS=8;//StrLen(SendData);for(i=0;i<=7;i++)(ch=SendData[i];WriteFile(hComm,&ch,1,&lrc,NULL);}}原来想一起发的,发现不成功,还是一个一个发就没有问题了。
本文档为【modbus协议_PC实现】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥17.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
花果山庄乐园
暂无简介~
格式:doc
大小:38KB
软件:Word
页数:4
分类:
上传时间:2022-01-08
浏览量:6