VisualStudio2010-C 跟西門子1200(Sharp7)-簡單上位機界面-參數

2020-12-09 老王工控筆記

VisualStudio2010-C#跟西門子1200(Sharp7)-簡單上位機界面-參數

上期回顧(上期主要是對IO監控的輸入輸出做了調試,基本上都能達到要求)如下圖:

本期要在補充說一個參數修改,這是作為PLC上位機也經常用的一個,你要是看了之前的文章,還是比較簡單的

1.0 這裡簡單的複製下,上面的IO監控注釋條,如下圖,基本上不用怎麼改,記住這個名字就行了,當然最好改一個你對應的參數名字,這樣會方便後期讀

2.0 這裡要設置個響應程序,就是當Text內容被修改後,這個響應程序會執行,label1_Click,如下圖,給這個複製的控制項設置一個響應程序

3.0 然後切換到代碼界面,原始碼如下,先建立通訊,建立緩存區,這裡我們要寫如一個PLC的UDint32位的數據,就是四個字節的緩存區

private void label1_Click(object sender, EventArgs e)

{

try

{

var client = new S7Client();//建立通訊

client.ConnectTo(IP, 0, 1);//接受來次通訊的結果

var writeBuffer = new byte[4];//新建一個字節的writeBuffer輸出緩衝區,

4.0 把輸入的在Text的數據,轉換為C#的int變量(32位),然後在寫入到緩存區中

int aa = int.Parse(textBox29.Text);

S7.SetDIntAt( writeBuffer,0,aa);

//輸出給PLC的DB數據塊1,從地址0開始的,一個字節的傳輸

5.0 最後把這個字符數組傳送到PLC對應的DB數據塊1,從地址16開始寫入

int writeReswlt = client.DBWrite(1, 16, writeBuffer.Length, writeBuffer);

client.Disconnect();//斷開

}

catch (Exception err)

{

//return false;

}

}

6.0 最後你會看到C#這邊的界面就是這樣的,當寫入334後傳送給PLC,然後又讀取出來到OK_COUNT

#北京入汛最強降雨究竟有多大#

相關焦點

  • VisualStudio2010-C 跟西門子1200(Sharp7)-簡單上位機界面⑦-IO
    VisualStudio2010-C#跟西門子1200(Sharp7)-簡單上位機界面⑦-IO上期回顧(上期主要是對PLC的輸入輸出的監控,進行界面的框架的編輯,如下圖)本期將對IO監控的畫面,賦予其靈魂,編寫代碼,讓其能夠讀取PLC的狀態
  • VisualStudio2010-C#跟西門子1200(Sharp7)簡單上位機界面④-數據
    VisualStudio2010-C#跟西門子1200(Sharp7)-簡單上位機界面④-數據上期回顧(上期主要是對啟動,停止,復位,清零等按鈕複雜的代碼進行縮編,簡化代碼方便閱覽)TextAlign = MiddleCenterBorderStyle = None2.0 數據讀取框的設置,跟標識文本的設置有點區別
  • VisualStudio2010-C#跟西門子1200(Sharp7)-簡單上位機界面⑩-IO
    VisualStudio2010-C界面能夠手動控制PLC的各種輸出1.0 切換到窗口界面,左上角的工具箱,選擇button添加一個,然後修改參數,(Name) = Q0_0_ENSize = 75,23Text = 打開/關閉像這樣的依次做8個,按鈕名稱對應需要控制的輸出點,這樣容易看清楚
  • VisualStudio2010-C#跟西門子1200(Sharp7)簡單上位機界面⑫-參數
    VisualStudio2010-C的int變量(32位),然後在寫入到緩存區中 int aa = int.Parse(textBox29.Text); S7.SetDIntAt( writeBuffer,0,aa); //輸出給PLC的DB數據塊1,從地址0開始的,一個字節的傳輸5.0 最後把這個字符數組傳送到PLC對應的DB數據塊1,
  • VisualStudio2010-C#跟西門子1200(Sharp7)簡單上位機界面⑥-數據
    VisualStudio2010-C上顯示,書寫了代碼,並且調試OK)本期將接下去講IO監控的界面,怎麼去批量監控PLC的輸入輸出,然後再去強制輸出1.0 剛開始都一樣,先搭框架界面,切換到窗體界面,選擇工具欄--公共控制項,找到TextBox,雙擊,然後修改屬性如下Text = I0.0TextAlign = Centar
  • VisualStudio2010-C#跟西門子1200(Sharp7)簡單上位機界面⑤-數據
    VisualStudio2010-C上顯示,上期主要是做了界面)本期將對上次做的界面控制項,賦予生命,寫代碼********** var buffer3 = new byte[8]; //讀取DB1的從地址16開始的8個字節的數據,讀到buffer client.DBRead(1,16, buffer3.Length, buffer3); //PLC的輸出讀取//把緩衝區前4個字節,顯示到OK控制項文本上 int db1da16 = S7.
  • VisualStudio2010-C#跟西門子1200(Sharp7)-簡單上位機界面⑨-IO
    region PLC輸入監控 var buffer = new byte[4];//建立4個字節的讀取緩存區 //讀取輸入的從地址0開始的4個字節的數據,讀到buffer client.EBRead(0, buffer.Length, buffer); //PLC的輸入讀取 bool db1dbx00 = S7.
  • Visual Studio 2010-C 跟西門子1200(Sharp7)窗體控制①-立項框架
    Visual Studio 2010--C#跟西門子1200(Sharp7)窗體控制①--立項框架1.0 跟之前一樣,新建--項目--這裡選擇窗體應用程式,名稱改為FormControl2.0 後面就跟之前講過的一樣,文件--添加--項目(2010版本的是這樣,2015
  • VisualStudio2010-C#跟西門子1200(Sharp7)-簡單上位機界面⑪-IO
    VisualStudio2010-C界面能夠手動控制PLC的輸出)本期將對代碼進行調試,並且補充說下PLC的設置
  • VisualStudio2010-C#跟西門子1200(Sharp7)-簡單上位機界面⑦-IO
    client.EBRead(0, buffer.Length, buffer); //PLC的輸入讀取5.0 新建一個局部變量bool類型的代1dbx00,來接受讀取到緩衝區的,buffer0.0這個位的數據,相當於PLC的I0.0,然後判斷這個變量的值,如果為0則為白色,如果為1則為綠色,這樣就實現了,輸入狀態監控,同理可以做其他的輸入也是一樣的 bool db1dbx00 = S7.
  • VisualStudio2010-C#跟西門子1200(Sharp7)-簡單上位機界面⑧-IO
    buffer2.Length, buffer2); //PLC的輸出讀取5.0 新建一個局部變量bool類型的代1dby00,來接受讀取到緩衝區的,buffer20.0這個位的數據,相當於PLC的I0.0,然後判斷這個變量的值,如果為0則為白色,如果為1則為綠色,這樣就實現了,輸入狀態監控,同理可以做其他的輸入也是一樣的 bool db1dby00 = S7.
  • VisualStudio2010-C#跟西門子1200(Sharp7)簡單上位機界面③-按鈕
    VisualStudio2010-C34;192.168.0.1", 0, 1);//接受來次通訊的結果 var writeBuffer = new byte[1];//新建一個字節的writeBuffer輸出緩衝區, S7.SetBitAt(ref writeBuffer, 0, bit_num, vale); //輸出給PLC的DB數據塊1
  • 西門子PLC1200組態王跟Access資料庫-⑦組態王界面
    西門子PLC1200,組態王跟Access資料庫--⑦組態王界面組態王界面及測試補充下前面說的變量設置,這裡要注意整型實數都是DB塊加地址,但是字符串的格式應該是DBx.y.z,x為DB塊,y為開始字符串開始地址,z為字符串長度,如果不寫字符串長度也不會報錯,但是讀寫會失敗
  • 「C#上位機」西門子1200PLC實用定位控制程序案例
    項目開發平臺採用西門子TIA Portal V15編程軟體編寫運動控制程序,實現PLC(S7-1200系列:CPU1214C DC/DC/DC )對步進電機的控制,再通過編寫ModbusTCP程序,將控制地址進行映射,從而方便上位機
  • S7-1200PLC與上位機ModbusTCP通信
    西門子PLC作為市場佔有率非常高的一款PLC,支持Profinet、Profibus、S7、Modbus、TCP等多種通信協議,本案例以S7-1200 PLC為例,主要講述使用西門子PLC作為ModbusTCP伺服器,上位機作為ModbusTCP客戶端的應用場景。
  • Visual Studio 2010——C 跟西門子1200通訊(Sharp7)③——通訊連接
    Visual Studio 2010--C#跟西門子1200通訊(Sharp7)③--通訊創建連接上期回顧(上期主要是對Visual Studio項目的框架配置):本期將要進行通訊代碼的編寫及測試1.0 先在Program.cs的頭部,加入sharp7
  • 西門子PLC1200組態王跟Access資料庫-⑧組態王測試
    西門子PLC1200-組態王跟Access資料庫--⑧組態王測試組態王界面及測試1.0 應用程式命令語言設置,雙擊打開,會看到啟動時,運行時,停止時,啟動時就是當程序啟動的時候,啟動命令語言,運行時就是運行過程中觸發,停止就是停止組態王的時候觸發
  • 西門子1200PLC,組態王與資料庫通訊-⑤設置PLC設備
    西門子1200PLC,組態王與Access資料庫通訊--⑤設置PLC設備設置PLC設備1.0 打開組態王軟體,打開工程,會看到如下界面,點擊COM22.0 可以看到新建,點擊新建設備,現在我們要連的是西門子系列的1200,所有選擇西門子--S7-1200--TCP,下一步
  • Visual Studio 2010-C 跟西門子1200(Sharp7)窗體控制⑤-循環讀取
    Visual Studio 2010--C#跟西門子1200(Sharp7)窗體控制⑤--循環讀取上期回顧(上期主要是對準備讀取PLC的統計數據,先在VS上建了4個Lable用來顯示,做了一個定時器用來循環讀取):本期開始寫定時器怎麼定時讀取PLC的數據呢
  • Visual Studio 2010-C 跟西門子1200(Sharp7)窗體控制②-啟動按鈕
    Visual Studio 2010--C#跟西門子1200(Sharp7)窗體控制②--啟動按鈕上期回顧(上期主要是新建窗體應用程式,添加sharp7的類庫並引用,建立一個button按鈕):本期將開始代碼的編程及測試,首先我們要按鈕按下的時候輸出給PLC一個BOOL變量置位1.0 雙擊上次新建的啟動按鈕,生成按鈕代碼