modbus協(xié)議單片機解析 基于51單片機的modbus RTU協(xié)議解析
標(biāo)簽: modbus
上傳時間: 2015-04-24
上傳用戶:啊乖乖啊
modbus rtu單片機通訊編程方法,內(nèi)有詳解,可以快速的了解這種通信方式。
標(biāo)簽: modbus rtu 通信
上傳時間: 2015-05-15
上傳用戶:不凍流星
Modbus 可編程控制器之間可相互通訊,也可與不同網(wǎng)絡(luò)上的其他設(shè)備進行通訊,支撐網(wǎng)絡(luò)有 Modicon 的 Modbus 和Modbus+工業(yè)網(wǎng)絡(luò)。網(wǎng)絡(luò)信息存取可由控制器內(nèi)置的端口,網(wǎng)絡(luò)適配器以及Modicon提供的模塊選件和網(wǎng)關(guān)等設(shè)備實現(xiàn),對 OEM(機械設(shè)備制造商)來說, Modicon可為合作伙伴提供現(xiàn)有的程序,可使Modbus+網(wǎng)絡(luò)緊密地集成到他們的產(chǎn)品設(shè)計中去。
標(biāo)簽: MODBUS協(xié)議中文版
上傳時間: 2015-07-05
上傳用戶:Yvonne1013
可用于工業(yè)環(huán)境的modbus網(wǎng)絡(luò)通訊源代碼.
標(biāo)簽: modbus源碼
上傳時間: 2015-12-20
上傳用戶:WIJDVJ
學(xué)習(xí)PLC入門的文檔
上傳時間: 2016-07-11
上傳用戶:sasasasa
1. 制作自己的 GUI用戶界面,實現(xiàn)圖像的傅里葉變換,并驗證傅里葉變換的“平移不變性”、“旋轉(zhuǎn)一致性”; 2. 在GUI中,實現(xiàn)圖像的灰度拉伸,要求有靈活的(a,a’)點、(b,b’)點的選擇。 (提高題)圖像的灰度拉伸,用曲線控件完成。
標(biāo)簽: 數(shù)字圖像 處理技術(shù) 圖像 變換
上傳時間: 2017-05-10
上傳用戶:mouroutao
plc單片機的學(xué)習(xí)資料,包括觸摸屏顯示電路
標(biāo)簽: plc 單片機學(xué)習(xí)板電路圖和PCB
上傳時間: 2018-04-23
上傳用戶:qqq801
#include "iostream" using namespace std; class Matrix { private: double** A; //矩陣A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //為向量b分配空間并初始化為0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //為向量A分配空間并初始化為0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析構(gòu)中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"請輸入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"請輸入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"個:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分別求得U,L的第一行與第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分別求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"計算U得:"<<endl; U.Disp(); cout<<"計算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; }
標(biāo)簽: 道理特分解法
上傳時間: 2018-05-20
上傳用戶:Aa123456789
#include<stdio.h> #include<windows.h> int xuanxiang; int studentcount; int banjihao[100]; int xueqihao[100][10]; char xm[100][100]; int xuehao[100][10]; int score[100][3]; int yuwen; int shuxue[000]; int yingyu[100]; int c[100]; int p; char x[1000][100]="",y[100][100]="";/*x學(xué)院 y專業(yè) z班級*/ int z[100]; main() { void input(); void inputsc(); void alter(); void scbybannji(); printf("--------學(xué)生成績管理-----\n"); printf("請按相應(yīng)數(shù)字鍵來實現(xiàn)相應(yīng)功能\n"); printf("1.錄入學(xué)生信息 2.錄入學(xué)生成績 3.修改學(xué)生成績\n"); printf("4.查詢學(xué)生成績 5.不及格科目及名單 6.按班級輸出學(xué)生成績單\n"); printf("請輸入你要實現(xiàn)的功能所對應(yīng)的數(shù)字:"); scanf("%d",&xuanxiang); system("cls"); getchar(); switch (xuanxiang) { case 1:input(); case 2:inputsc(); case 3:alter(); /*case 4:select score(); case 5:bujigekemujimingdan();*/ case 6:scbybanji; } } void input() { int i; printf("請輸入你的學(xué)院名稱:"); gets(x); printf("請輸入你的專業(yè)名稱:"); gets(y); printf("請輸入你的班級號:"); scanf("%d",&z); printf("請輸入你們一個班有幾個人:"); scanf("%d",&p); system("cls"); for(i=0;i<p;i++) { printf("請輸入第%d個學(xué)生的學(xué)號:",i+1); scanf("%d",xuehao[i]); getchar(); printf("請輸入第%d個學(xué)生的姓名:",i+1); gets(xm[i]); system("cls"); } printf("您已經(jīng)錄入完畢您的班級所有學(xué)生的信息!\n"); printf("您的班級為%s%s%s\n",x,y,z); /*alter(p);*/ } void inputsc() { int i; for(i=0;i<p;i++) { printf("\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t錄入學(xué)生的成績\n\n\n"); printf("--------------------------------------------------------------------------------\n\n"); printf("\t\t\t\t%s\n",xm[i]); printf("\n"); printf("\t\t\t\t數(shù)學(xué):"); scanf("%d",&shuxue[i]); printf("\n"); getchar(); printf("\t\t\t\t英語:"); scanf("%d",&yingyu[i]); printf("\n"); getchar(); printf("\t\t\t\tc語言:"); scanf("%d",&c[i]); system("cls"); } } void alter() { int i;/*循環(huán)變量*/ int m[10000];/*要查詢的學(xué)號*/ int b;/*修改后的成績*/ char kemu[20]=""; printf("請輸入你要修改的學(xué)生的學(xué)號"); scanf("%d",&m); for (i=0;i<p;i++) { if (m==xuehao[i]) { printf("%s的數(shù)學(xué)成績?yōu)?d,英語成績?yōu)?d,c語言成績?yōu)?d,xm[i],shuxue[i],yingyu[i],c[i]"); printf("請輸入你想修改的科目");} } gets(kemu); getchar(); if (kemu=="數(shù)學(xué)"); { scanf("%d",&b); shuxue[i]=b;} if (kemu=="英語"); { scanf("%d",&b); yingyu[i]=b;} if (kemu=="c語言"); { scanf("%d",&b); c[i]=b; } printf("%s的數(shù)學(xué)成績?yōu)?d,英語成績?yōu)?d,c語言成績?yōu)?d,xm[i],shuxue[i],yingyu[i],c[i]"); } void scbybannji() { int i; char zyname[20]; int bjnumber; printf("請輸入你的專業(yè)名稱"); scanf("%s",&zyname); printf("請輸入你的班級號"); scanf("%d",&bjnumber); for (i=0;i<p;i++) { if (zyname==y[i]); if (bjnumber==z[i]); printf("專業(yè)名稱%s班級號%d數(shù)學(xué)成績%d英語成績%dc語言成績%d,y[i],z[i],shuxue[i],yingyu[i],c[i]"); } }
標(biāo)簽: c語言
上傳時間: 2018-06-08
上傳用戶:2369043090
非常好用的modbus調(diào)試精靈 注意 地址是八進制 數(shù)據(jù)是十六進制
標(biāo)簽: MODBUS 調(diào)試精靈
上傳時間: 2018-08-13
上傳用戶:SANJIE
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1