時間:2008-12-10 11:36:47來源:ronggang

圖(一)數據流示意圖[/align]
2.上位機通訊程序
利用DELPHI7.0的Server/Client Socket控件來實現上位機數據的發送與接收,由于上位機既要接收數據也要發送數據,因此既要作為服務器也要做為客戶端。Server Socket的屬性、方法及事件設置如下:
ServerSocket1.Port:=5000;
//偵聽端口號5000
ServerSocket1.Active:=true;
//打開服務器
ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
Begin
//偵聽5000號端口,接收GSM/GPRS Modem傳來的數據。并調用相應的procedure和function完成對接收數據的處理及顯示。
end;
ClientSocket的屬性、方法及事件設置如下:
Procedure TForm5.initButClick(Sender: TObject);
begin
ClientSocket1.Host:=218.195.248.91;
//服務器的IP地址
form1.ClientSocket1.Port:=5000;
form1.ClientSocket1.Open;
//打開客戶端
end;
利用ClientSocket1.Socket.SendText();發送命令數據幀。
//CRC校驗碼求解
procedure TForm1.GetCRC(Data:array of byte;Nums:integer;var CRCH, CRCL: byte);
var
i,j:integer;
CRC:integer;
begin
CRC:=$FFFF;
for i:=0 to Nums-1 do
begin
CRC:=CRC xor ord(Data[i]);
for j:=0 to 7 do
begin
if (CRC mod 2=1) then
begin
CRC:= CRC div 2;
CRC:=$A001 xor CRC
end
else begin
CRC:= CRC div 2;
end;
end;
end;
CRCH := crc mod 256;
CRCL := crc div 256;
end;
3.GSM/GPRS Modem 設置
設置GPRS 短信模塊為透傳模式,本研究中用的是北京嘉復欣科技的DTU模塊,利用它提供的配置工具(或者串口調試助手)完成,DTU模塊的設置如串口設置,服務器IP及端口,如圖(二)所示。
[align=center]
圖(二)GPRS模塊設置[/align]
4.下位機程序
下位機采用C8051F020單片機完成與MODBUS相關的協議轉換, C8051F020提供了兩個串口UART0和 UART1,本研究中采用了4片C8051F020制成4個協議轉換模塊,其中三個與被控對象連接,UART1與被控對象的RS485總線相連接,UART0通過RS485與第4個協議轉換模塊UART1連接。第四個協議轉換模塊的UART0與GSM/GPRS Modem相連。
下位機部分程序代碼:
void UART0_Init (void)
{ //UART0_Init初始化
PCON |= 0x90;
SCON0 = 0xd0;
// SCON0:方式1 enable RX
CKCON |= 0x20;
T2CON = 0x30;
//定時器2作為UART0波特率發生器
RCAP2=65536-(SYSCLK/BAUDRATE0/32);
T2=RCAP2; // 定時器24的計數初值
TR2 = 1;}
void UART1_Init (void)
{// UART10_Init初始化
SCON1 = 0x50;
CKCON |= 0x40;
T4CON = 0x30; //定時器4作為UART0波特率發生器
RCAP4 =65536-(SYSCLK/BAUDRATE/32);
T4 = RCAP4; // 定時器4的計數初值
T4CON |= 0x04;}
下位機采用查表的方式求解CRC校驗碼。
[align=center]
圖(三)上位機控制子界面[/align]
5.結論
本研究以MODBUS協議對不同通訊格式數據幀的封裝,實現對不同被控裝置的分散控制、集中管理。
參考文獻
[1]鮑可進.C8051F單片機原理及應用[M].北京:中國電力出版社,2006.
[2] 趙蘭濤, 蘇彥華.Delphi 串口通信技術與工程實踐[M]. 北京:人民郵電出版社,2004.
標簽:
傳動網版權與免責聲明:凡本網注明[來源:傳動網]的所有文字、圖片、音視和視頻文件,版權均為傳動網(www.cdcst56.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-09-08
華為昇騰Atlas800iA2 910B服務器Deepsee...
2025-09-04
2025-08-06
2025-07-08
2025-06-30
2025-06-16