<address id="fzhbr"><delect id="fzhbr"></delect></address>
        <track id="fzhbr"><delect id="fzhbr"></delect></track>
        <strike id="fzhbr"></strike>

              <track id="fzhbr"></track>
                 
                設為首頁 加入收藏
                首 頁 企業簡介 項目案例 軟件定制 行業軟件 解決方案 企業資訊 服務專區 客服中心
                服務項目
                案例展示 更多 >>
                ·生產流程監控 2020/11/26
                ·上位機軟件定制開發 2020/9/29
                ·手機端公眾號集成開發 2020/6/5
                ·業務技能培訓學習軟件 2020/6/5
                ·潤宇司法行政管理綜合平… 2010/12/6
                ·連鎖店管理系統軟件 2010/7/31
                ·醫院管理系統軟件 2010/7/27
                ·駕校查詢系統軟件 2010/7/15
                ·生產管理系統軟件 2010/1/30
                ·人事管理系統軟件 2010/1/30
                聯系人:李先生
                電  話:029-87878512
                手  機:13468700578
                地  址:西安市絲路國際創意夢工廠4號樓
                在線咨詢:  762176615
                Email:junsoft@126.com
                 
                當前的位置 >> 返回首頁 >> 解決方案
                西安軟件外包讀寫PLC數據
                發布者:西安軟件公司   發布時間:2022/8/19   閱讀:次

                西安軟件外包采用讀寫PLC數據
                using S7.Net;
                using System;
                using System.Collections.Generic;
                using System.ComponentModel;
                using System.Data;
                using System.Drawing;
                using System.Linq;
                using System.Text;
                using System.Threading.Tasks;
                using System.Windows.Forms;
                namespace 讀寫PLC數據
                {
                    public partial class Form1 : Form
                    {
                        public Form1()
                        {
                            InitializeComponent();
                        }
                       
                        public Plc plc = new Plc(CpuType.S71200, "127.0.0.1", 0, 1);  //定義新的PLC對象  
                        private void Button1_Click(object sender, EventArgs e)
                        {
                            plc.Open();//連接PLC
                            if (plc.IsConnected)
                            {
                                MessageBox.Show("連接成功!", "連接提示", MessageBoxButtons.OK);
                            }
                            else
                            {
                                MessageBox.Show("連接失!", "連接提示", MessageBoxButtons.OK);
                            }
                        }
                        private void Btn_disconnect_Click(object sender, EventArgs e)
                        {
                            plc.Close();//斷開PLC
                        }
                        #region 讀PLC數據
                        private void Btn_read_Click(object sender, EventArgs e)
                        {
                            if (plc.IsConnected == false)
                            {
                                MessageBox.Show("未連接PLC!", "連接提示", MessageBoxButtons.OK);//檢查PLC是否連接;               
                            }
                            else
                            {
                                try
                                {
                                    string[] arr = (txt_read_addr.Text.ToUpper()).Split(’.’);//將txt_read_addr文本框中的數據轉為大寫字母,并用“.”拆分后存放到arr數組中
                                    string valuetype = arr[1].Substring(0, 3);//取數組中的第二個元素的前三位,用以確認讀取的PLC數據類型
                                                                              //PLC數據類型:DBX(位,bool)DBB(字節,byte)DBW(字,word)DBD(雙字,dword)
                                                                              //以下是按不同的數據類型,對PLC數據進行讀取
                                    if (valuetype == "DBX")
                                    {
                                        bool test1 = (bool)plc.Read(txt_read_addr.Text.ToUpper());
                                        ShowMsg(txt_read_addr.Text + ":" + test1.ToString());
                                    }
                                    else if (valuetype == "DBW")
                                    {
                                        short test3 = ((ushort)plc.Read(txt_read_addr.Text.ToUpper())).ConvertToShort();
                                        ShowMsg(txt_read_addr.Text + ":" + test3.ToString());
                                    }
                                    else if (valuetype == "DBD")
                                    {
                                        double test5 = ((uint)plc.Read(txt_read_addr.Text.ToUpper())).ConvertToFloat();
                                        ShowMsg(txt_read_addr.Text + ":" + test5.ToString());
                                    }
                                    else
                                    {
                                        MessageBox.Show("請檢查地址是否輸入錯誤!", "輸入提示", MessageBoxButtons.OK);
                                    }
                                }
                                catch (Exception Ex)
                                {
                                    MessageBox.Show("請檢查地址是否輸入錯誤!", "輸入提示", MessageBoxButtons.OK);
                                }
                            }
                        }
                        #endregion

                        #region  將數據寫入PLC
                        private void Btn_write_Click(object sender, EventArgs e)
                        {
                            if (plc.IsConnected == false)
                            {
                                MessageBox.Show("未連接PLC!", "連接提示", MessageBoxButtons.OK);
                            }
                            else
                            {
                                try
                                {
                                    string[] arr = (txt_write_addr.Text.ToUpper()).Split(’.’);
                                    string valuetype = arr[1].Substring(0, 3);
                                    if (valuetype == "DBX")
                                    {
                                        plc.Write(txt_write_addr.Text.ToUpper(), Convert.ToBoolean(txt_value.Text));
                                    }
                                    else if (valuetype == "DBW")
                                    {
                                        var value = short.Parse(txt_value.Text);
                                        plc.Write(txt_write_addr.Text.ToUpper(), value);
                                    }
                                    else if (valuetype == "DBD")
                                    {
                                        double value = double.Parse(txt_value.Text);
                                        plc.Write(txt_write_addr.Text.ToUpper(), value);
                                    }
                                    else
                                    {
                                        MessageBox.Show("請檢查地址是否輸入錯誤!", "輸入提示", MessageBoxButtons.OK);
                                    }
                                }
                                catch (Exception Ex)
                                {
                                    MessageBox.Show("請檢查輸入的“地址”或“值”是否錯誤!", "輸入提示", MessageBoxButtons.OK);
                                }
                            }

                        }
                        #endregion
                        private void Btn_clear_Click(object sender, EventArgs e)
                        {
                            txt_result.Text = null;//清空“結果”文本框
                        }
                        private void ShowMsg(string v)
                        {
                            txt_result.AppendText(v + "\r\n");//將讀取的PLC數據追加到“結果”文本框中
                        }
                        private void Txt_result_TextChanged(object sender, EventArgs e)
                        {
                        }
                    }
                }

                網站首頁 | 關于我們 | 售后服務 | 網站地圖 | 查看留言 | 在線留言 | 客服中心
                © 版權所有:西安潤宇軟件科技有限公司 
                公司地址:西安市絲路國際創意夢工廠4號樓 聯系電話:029-87878512 手機:13468700578 聯系人:李先生
                Copyright ® 2011-2023 Xbwbw.com Inc. All Rights Reserved 
                技術支持:西安潤宇軟件科技有限公司  陜ICP備11000720號
                日韩Av美女精品福利,自拍 制服 无码 日韩,超碰亚洲AV日韩AV无码,日韩亚州另类无码