Visual Studio 2010--C#跟西門子1200(Sharp7)窗體控制②--啟動按鈕
上期回顧(上期主要是新建窗體應用程式,添加sharp7的類庫並引用,建立一個button按鈕):
本期將開始代碼的編程及測試,首先我們要按鈕按下的時候輸出給PLC一個BOOL變量置位
1.0 雙擊上次新建的啟動按鈕,生成按鈕代碼
private void button1_Click(object sender, EventArgs e)
{
}
2.0 首先要建立通訊(測試了幾次讀取寫入好像都要寫這個,不知道誰有更好的辦法。。),建立通訊就2行,對應PLC的IP,機架,插槽別弄錯了應該就沒問題
private void button1_Click(object sender, EventArgs e)
{
var client = new S7Client();//建立通訊
int comectionResult = client.ConnectTo("192.168.0.1", 0, 1);//接受來次通訊的結果
}
3.0 建立通訊後,要達到寫入的要求,先要建立數據寫入的緩衝區,這裡建立了一個字節的緩衝區writeBuffer,先給這個字節的0位輸入一個true,然後寫入相對應的PLC區域,這裡寫入的是DB1的0.0,PLC監控到的數據應該是這樣的,如下圖
private void button1_Click(object sender, EventArgs e)
{
var client = new S7Client();//建立通訊
int comectionResult = client.ConnectTo("192.168.0.1", 0, 1);//接受來次通訊的結果
var writeBuffer = new byte[1];//新建一個字節的writeBuffer輸出緩衝區,
S7.SetBitAt(ref writeBuffer, 0, 0, true);
//S7.SetBitAt(ref writeBuffer, 0, 1, true);
//S7.SetBitAt(ref writeBuffer, 0, 2, false);
//S7.SetBitAt(ref writeBuffer, 0, 3, true);
//S7.SetBitAt(ref writeBuffer, 0, 4, false);
//S7.SetBitAt(ref writeBuffer, 0, 5, true);
//輸出給PLC的DB數據塊1,從地址0開始的,一個字節的傳輸
int writeReswlt = client.DBWrite(1, 0, writeBuffer.Length, writeBuffer);
}
#CESA社會責任工作委員會#