下面是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...