標(biāo)題:
51單片機(jī)modbus rtu通訊程序 與MCGS組態(tài)王通訊
[打印本頁(yè)]
作者:
changhuiren
時(shí)間:
2023-4-9 16:36
標(biāo)題:
51單片機(jī)modbus rtu通訊程序 與MCGS組態(tài)王通訊
51單片機(jī)與MCGS通訊
Modbus RTU 示范程序
適用于微嵌51單片機(jī)最小系統(tǒng)板
在AT89S52和STC89C52單片機(jī)上測(cè)試通過(guò),可以移植到其他51系列單片機(jī)
通訊設(shè)置:
波特率:9600
數(shù)據(jù)位:8
停止位:1
檢驗(yàn)位:無(wú)
程序默認(rèn)地址:1 (可以通過(guò)修改localAddr變量改變地址)
工程編譯環(huán)境:KeilC V4.74a
、
source_for_PC:
里面是上位機(jī)配置好的工程文件,具體配置看文件
單片機(jī)源程序如下:
/*********************************************************************************
* 【說(shuō) 明】: 此程序?yàn)?1單片機(jī)與MCGS組態(tài)王軟件Modbus RTU通訊下位機(jī)程序,
此程序在STC89C52RC單片機(jī)上測(cè)試通過(guò),可以移植到其他51系列單片機(jī)!
* 【函數(shù)功能】: 51單片機(jī)與MCGS組態(tài)王軟件Modbus RTU通訊主程序
* 【修 改】: DREAKER Bluster
**********************************************************************************/
#include "Project.h"
// unsigned char code led[]={63,6,91,79,102,109,125,7,127,111,};//十進(jìn)制
// unsinged char code led[]={0x3F,0x6,0x5B,0x4F,0x66,0x6D,0x7D,0x7,0x7F,0x6F,};//16進(jìn)制:
void main(void)
{
UINT nCounter = 0;
UCHAR ucLedIndex = 0;
SYSTEM_DISABLE_INTERRUPT();
TimerInit();
UartInit(9600, 1);
SYSTEM_ENABLE_INTERRUPT();
P1=0x7f;
while(1) {
timerProc();
checkComm0Modbus();//檢測(cè)modbus幀
}
}
復(fù)制代碼
/*********************************************************************************
* 【說(shuō) 明】: 此程序?yàn)?1單片機(jī)與MCGS組態(tài)王軟件Modbus RTU通訊下位機(jī)程序,
此程序在STC89C52RC單片機(jī)上測(cè)試通過(guò),可以移植到其他51系列單片機(jī)!
* 【函數(shù)功能】: 51單片機(jī)與MCGS組態(tài)王軟件Modbus RTU通訊主程序
* 【修 改】: DREAKER Bluster
**********************************************************************************/
#include "Project.h"
sbit LED0 = P1^0; // 對(duì)應(yīng)線圈0
sbit LED1 = P1^1; // 對(duì)應(yīng)線圈1
sbit LED2 = P1^2; // 對(duì)應(yīng)線圈2
sbit LED3 = P1^3; // 對(duì)應(yīng)線圈3
sbit LED4 = P1^4; // 對(duì)應(yīng)線圈4
sbit LED5 = P1^5; // 對(duì)應(yīng)線圈5
sbit LED6 = P1^6; // 對(duì)應(yīng)線圈6
sbit LED7 = P1^7; // 對(duì)應(yīng)線圈7
sbit KEY0 = P3^2;
sbit KEY1 = P3^3;
sbit KEY2 = P3^4;
sbit KEY3 = P3^5;
//字地址 0 - 255 (只取低8位)
//位地址 0 - 255 (只取低8位)
/* CRC 高位字節(jié)值表 */
const UINT8 code auchCRCHi[] = {
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40,
0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1,
0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0,
0x80, 0x41, 0x00, 0xC1, 0x81, 0x40
} ;
復(fù)制代碼
代碼51hei附件下載:
51-MODBUS-master.zip
(132.19 KB, 下載次數(shù): 87)
2023-4-9 16:36 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
woyaodwn
時(shí)間:
2023-4-29 22:34
MCGS組態(tài)王是什么版本號(hào)的啊
作者:
新昌小徐
時(shí)間:
2023-4-30 21:41
woyaodwn 發(fā)表于 2023-4-29 22:34
MCGS組態(tài)王是什么版本號(hào)的啊
那是昆侖通泰觸摸屏,自帶有485或是232串口,一般都是485,有的還帶有網(wǎng)口,里面系統(tǒng)集成很多的通訊驅(qū)動(dòng),可以與各品牌的PLC通訊,如與西門(mén)子的S7-200可以采用PPI通訊,PLC端不需要編寫(xiě)通訊程序。當(dāng)然也可以用MODBUS與絕大多數(shù)設(shè)備通訊,只要支持MODBUS就行,如變頻器,PLC。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1