视频二区制服丝袜人妻欧美,亚洲欧美日韩中文高清WWW777 ,丰满少妇女人A毛片视频,国产成人精品日本亚洲11,亚洲国产成人手机在线电影 ,午夜福利一区二区,中文字幕乱码一区二区免费,国产精品高清一区二区不卡

      從簡單案例了解PLC編程與上位機(jī)程序開發(fā)調(diào)試

      2021/3/22 11:34:43 人評論 次瀏覽 分類:PLC應(yīng)用  文章地址:http://www.fg316.com/tech/3660.html

      自動化行業(yè),正在慢慢往軟件行業(yè)靠近。

      很多PLC工程師也開始慢慢意識到,掌握一門編程語言,變得越來越重要。


      那么PLC工程師學(xué)會PLC編程之后,會是一種什么樣的體驗(yàn)?
      很多人最直接的體驗(yàn)就是:原理性的東西懂得更多,技術(shù)棧更全面,可以自己獨(dú)立完成項目評估、制圖、選型、PLC程序開發(fā)調(diào)試,到上位機(jī)開發(fā),甚至于更上層的WEB端、移動端。

      言歸正傳,昌暉儀表在本文分享一個工業(yè)現(xiàn)場常用的運(yùn)動控制案例,從硬件選型到程序設(shè)計,再從本地調(diào)試到上位機(jī)開發(fā)調(diào)試。
      這個案例算是一個比較簡單的案例,但是可以有效地將PLC與上位機(jī)結(jié)合起來,對于初學(xué)者來說,是一個比較適合的練手項目。

      1、硬件選型

      控制器:西門子200Smart PLC,型號為ST20(DC-DC-DC)
      驅(qū)動器:步進(jìn)驅(qū)動器
      電機(jī):42mm步進(jìn)電機(jī)
      限位:3個限位開關(guān),分別對應(yīng)原點(diǎn)、左限位、右限位
      平臺:單軸模組
      按鈕指示燈:啟動、停止、運(yùn)行狀態(tài)、3個行程開關(guān)(模擬完成信號)

      2、硬件接線圖

      硬件接線圖

      3、PLC程序開發(fā)

      S7-200 Smart PLC運(yùn)動控制需要使用運(yùn)動控制向?qū)韺?shí)現(xiàn),核心程序如下:
      S7-200 Smart PLC程序



      4、上位機(jī)程序開發(fā)

      ①I/O表:PLC程序編程中,會預(yù)留上位機(jī)接口,上位機(jī)I/O表如下所示:
      上位機(jī)I/O表

      ②界面設(shè)計:上位機(jī)UI界面設(shè)計

      上位機(jī)UI界面

      ③功能實(shí)現(xiàn):上位機(jī)主要包含實(shí)時狀態(tài)與數(shù)據(jù)監(jiān)控、速度及位置參數(shù)設(shè)置、系統(tǒng)日志顯示、通信參數(shù)設(shè)置。

      ◆實(shí)時狀態(tài)與數(shù)據(jù)監(jiān)控
      本案例與西門子PLC之間的通信方式采用S7通信,使用開源通信庫s7.net來實(shí)現(xiàn),基于多線程實(shí)現(xiàn)數(shù)據(jù)的實(shí)時采集,并結(jié)合實(shí)際I/O進(jìn)行數(shù)據(jù)解析。
      private void PLCCommunication()
      {
          while (!cts.IsCancellationRequested)
         {
             byte[] result = plc.ReadBytes(StoreType.DataBlock, 1, 0, 23);
             if (result != null && result.Length == 23)
             {
                this.BeginInvoke(new Action(() =>
                {
                    //這里進(jìn)行實(shí)時狀態(tài)更新
                    }));
                    Thread.Sleep(10);
                    }
          }
      }

      ◆速度及位置參數(shù)設(shè)置

      參數(shù)設(shè)置采用獨(dú)立的設(shè)置界面,通過窗體傳值來實(shí)現(xiàn)。
      速度及位置參數(shù)設(shè)置界面
      代碼如下所示:

      /// <summary>
      /// 設(shè)定值
      /// </summary>
      public string setValue = string.Empty;
      private void btn_Set_Click(object sender, EventArgs e)
      {
          this.setValue = this.txt_SetValue.Text;
          this.DialogResult = DialogResult.OK;
          this.Close();
      }

      ◆系統(tǒng)日志顯示

      系統(tǒng)日志基于ListView控件開發(fā),實(shí)現(xiàn)日志、報警、警告三種不同狀態(tài)區(qū)別顯示,可同時存儲至數(shù)據(jù)庫,便于后續(xù)追溯。
      private string CurrentTime
      {
          get { return DateTime.Now.ToString("HH:mm:ss"); }
      }
      //寫入日志
      private void AddLog(int index, string log)
      {
          if (this.lstInfo.InvokeRequired)
          {
             this.lstInfo.Invoke(new Action(() =>
             {
                 ListViewItem lst = new ListViewItem("    " + CurrentTime, index);
                 lst.SubItems.Add(log);
                 this.lstInfo.Items.Insert(0, lst);
             }));
           }
           else
           {
               ListViewItem lst = new ListViewItem("    " + CurrentTime, index);
               lst.SubItems.Add(log);
               this.lstInfo.Items.Insert(0, lst);
            }
      }

      ◆通信參數(shù)設(shè)置

      通信參數(shù)為系統(tǒng)參數(shù),采用Winform的Settings來進(jìn)行配置存儲,簡單快捷。界面設(shè)計如下所示:
      通信參數(shù)設(shè)置界面
      代碼如下所示:

      public SaveDefaultSettingDelegate SaveDefaultSetting;
      private void btn_Set_Click(object sender, EventArgs e)
      {
           CommSet set = new CommSet();
           try
           {
               set.IPAddress = this.txt_IPAddress.Text;
               set.CPUType = this.cmb_CPUType.Text;
               set.StoreTime = Convert.ToInt32(this.txt_StoreTime.Text);
               set.AutoStore = this.chk_AutoStore.Checked;
            }
           catch (Exception)
           {
              MessageBox.Show("請檢查數(shù)據(jù)格式是否正確","格式錯誤");
              return;
            }
            SaveDefaultSetting(set);
            MessageBox.Show("配置成功,立即生效", "配置成功");
            this.Close();                                                 
      }

      5、寫在后面

      近幾年, 隨著越來越多的設(shè)備開始加入IIoT 網(wǎng)絡(luò)(Industrial Internet of Things,工業(yè)物聯(lián)網(wǎng)簡稱IIoT),IT與OT之間的界限將逐漸消失,直到成為一個或相同的系統(tǒng)為止。

      共有訪客發(fā)表了評論 網(wǎng)友評論

        客戶姓名:
      郵箱或QQ:
      驗(yàn)證碼: 看不清楚?