sharp7讀寫PLC資料

2021-10-23 21:32:45 字數 2957 閱讀 6718

下面是plc中的資料,根據一下型別進行資料的讀寫練習,以及多值的讀寫練習。

1、首先進行plc的連線

//plc的連線 

private void connectbtn_click(object sender, eventargs e) // 連線plc

else messagebox.show("連線plc失敗!");

}

2、從plc中讀取值,單值與多值的讀取

private void button2_click(object sender, eventargs e)

else

//read int

string intvalue1 = convert.tostring(sharp7.s7.getintat(intbuffer,0)); //有符號的256進製

string intvalue2 = convert.tostring(sharp7.s7.getintat(intbuffer, 2));

string intvalue3 = convert.tostring(sharp7.s7.getintat(intbuffer, 4));

//read real

string realvalue4 = convert.tostring(sharp7.s7.getrealat(intbuffer, 6));

string realvalue5 = convert.tostring(sharp7.s7.getrealat(intbuffer, 10));

string realvalue6 = convert.tostring(sharp7.s7.getrealat(intbuffer, 14));

//read byte

string bytevalue7 = convert.tostring(sharp7.s7.getbyteat(intbuffer, 18));

string bytevalue8 = convert.tostring(sharp7.s7.getbyteat(intbuffer, 19));

string bytevalue9 = convert.tostring(sharp7.s7.getbyteat(intbuffer, 20));

//read bool

string boolvalue10 = convert.tostring(sharp7.s7.getbitat(intbuffer, 21,0));

string boolvalue11 = convert.tostring(sharp7.s7.getbitat(intbuffer, 21,1));

string boolvalue12 = convert.tostring(sharp7.s7.getbitat(intbuffer, 21,2));

//read char

string charvalue = sharp7.s7.getcharsat(intbuffer, 22, 2); //2為讀兩個字元

string charvalue1 = sharp7.s7.getcharsat(intbuffer, 22, 1);

string charvalue2 = sharp7.s7.getcharsat(intbuffer, 23, 1);

//read string

string strin**alue12 = s7.getstringat(intbuffer, 24).tostring();

string strin**alue13 = s7.getstringat(intbuffer, 536).tostring();

}private void button4_click(object sender, eventargs e)

texterror.text = "error" + resultmul;

}int db1dbw1 = s7.getintat(db1, 0);

int db1dbw2 = s7.getintat(db1, 2);

int db1dbw3 = s7.getintat(db1, 4);

float f1 = s7.getrealat(db1, 6);

float f2 = s7.getrealat(db1, 10);

float f3 = s7.getrealat(db1, 14);

byte b1 = s7.getbyteat(db1, 18);

byte b2 = s7.getbyteat(db1, 19);

byte b3 = s7.getbyteat(db1, 20);

bool bo0 = s7.getbitat(db2, 0, 0);

bool bo1 = s7.getbitat(db2, 0, 1);

bool bo2 = s7.getbitat(db2, 0, 2);

string c1 = s7.getcharsat(db2, 1, 1);

string c2 = s7.getcharsat(db2, 2, 1);

string s1 = s7.getstringat(db2, 3).tostring();

string s2 = s7.getstringat(db3, 0).tostring();

//string s3 = s7.getstringat(db2, 512).tostring();

}

3、寫入plc資料,單值寫入與多值寫入

//寫資料

private void button3_click(object sender, eventargs e)

else

}private void button5_click(object sender, eventargs e)

}

C 使用Sharp7連線並讀寫PLC

sharp7的功能是很強大的,除了可以讀寫plc的資料之外,還可以獲取cpu的硬體資訊,控制cpu執行,停止等。這個只介紹讀寫。對於讀資料來說,一般是先呼叫sharp7提供的方法從plc中獲取資料儲存到byte型別的陣列中,然後呼叫sharp7提供的資料型別轉換方法將原始資料轉為目標型別的資料。對於...

(7)Python 異常處理,檔案的讀寫

異常處理 print 異常出現前 l try print c l 10 1 hello print 10 0 except nameerror 如果except後不跟任何的內容,則此時它會捕獲到所有的異常 如果在except後跟著乙個異常的型別,那麼此時它只會捕獲該型別的異常 print 出現 na...

JUC個人學習筆記7 讀寫鎖

根據b站up主狂神說juc課程所寫的個人學習筆記 讀的時候可以多執行緒讀,寫的時候只能乙個寫 獨佔鎖 寫鎖 共享鎖 讀鎖 1.讀 讀 可以共存2.讀 寫 不能共存3.寫 寫 不能共存 public class readwritelockdemo string.valueof i start 讀取 f...