Write Bit - Kết nối C# với PLC S7-1200 bằng thư viện S7.Net - Communication C# with PLC S7-1200

Bài viết này hướng dẫn các bạn kết nối C# với PLC S7-1200 sử dụng thư viện S7.Net ở chế độ "write bit".
Các bạn có thể tham khảo thêm chế độ:

Giao diện:

Communication C# with PLC S7-1200
Giao diện WinForm C#

Source Code Example:


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;
using S7.Net;

namespace WRITE_BIT_S7_1200
{
    public partial class Form1 : Form
    {
        Plc plc_s7_1200;
        CpuType Cpu_Type = CpuType.S71200;
        string Ip = "192.168.0.1";
        short Rack = 0;
        short Slot = 1;
        public Form1()
        {
            InitializeComponent();
        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {
            plc_s7_1200 = new Plc( Cpu_Type ,Ip, Rack, Slot);
            plc_s7_1200.Open();

            if (plc_s7_1200.IsConnected)
                progressBar1.Value = 100;
            else
                progressBar1.Value = 0;
        }

        private void ChB_Q0_0_CheckedChanged(object sender, EventArgs e)
        {
            if (plc_s7_1200.IsConnected)
            {
                if (ChB_Q0_0.CheckState == CheckState.Checked)
                    plc_s7_1200.WriteBit(DataType.Output, 0, 0, 0, true);
                else
                    plc_s7_1200.WriteBit(DataType.Output, 0, 0, 0, false);
            }
        }

        private void ChB_Q0_1_CheckedChanged(object sender, EventArgs e)
        {
            if (plc_s7_1200.IsConnected)
            {
                if (ChB_Q0_1.CheckState == CheckState.Checked)
                    plc_s7_1200.WriteBit(DataType.Output, 0, 0, 1, true);
                else
                    plc_s7_1200.WriteBit(DataType.Output, 0, 0, 1, false);
            }
        }

        private void ChB_Q0_2_CheckedChanged(object sender, EventArgs e)
        {
            if (plc_s7_1200.IsConnected)
            {
                if (ChB_Q0_2.CheckState == CheckState.Checked)
                    plc_s7_1200.WriteBit(DataType.Output, 0, 0, 2, true);
                else
                    plc_s7_1200.WriteBit(DataType.Output, 0, 0, 2, false);
            }
        }

        private void ChB_Q0_3_CheckedChanged(object sender, EventArgs e)
        {
            if (plc_s7_1200.IsConnected)
            {
                if (ChB_Q0_3.CheckState == CheckState.Checked)
                    plc_s7_1200.WriteBit(DataType.Output, 0, 0, 3, true);
                else
                    plc_s7_1200.WriteBit(DataType.Output, 0, 0, 3, false);
            }
        }

        private void ChB_Q0_4_CheckedChanged(object sender, EventArgs e)
        {
            if (plc_s7_1200.IsConnected)
            {
                if (ChB_Q0_4.CheckState == CheckState.Checked)
                    plc_s7_1200.WriteBit(DataType.Output, 0, 0, 4, true);
                else
                    plc_s7_1200.WriteBit(DataType.Output, 0, 0, 4, false);
            }
        }

        private void ChB_Q1_0_CheckedChanged(object sender, EventArgs e)
        {
            if (plc_s7_1200.IsConnected)
            {
                if (ChB_Q1_0.CheckState == CheckState.Checked)
                    plc_s7_1200.WriteBit(DataType.Output, 0, 1, 0, true);
                else
                    plc_s7_1200.WriteBit(DataType.Output, 0, 1, 0, false);
            }
        }

        private void ChB_Q1_1_CheckedChanged(object sender, EventArgs e)
        {
            if (plc_s7_1200.IsConnected)
            {
                if (ChB_Q1_1.CheckState == CheckState.Checked)
                    plc_s7_1200.WriteBit(DataType.Output, 0, 1, 1, true);
                else
                    plc_s7_1200.WriteBit(DataType.Output, 0, 1, 1, false);
            }
        }

        private void ChB_Q1_2_CheckedChanged(object sender, EventArgs e)
        {
            if (plc_s7_1200.IsConnected)
            {
                if (ChB_Q1_2.CheckState == CheckState.Checked)
                    plc_s7_1200.WriteBit(DataType.Output, 0, 1, 2, true);
                else
                    plc_s7_1200.WriteBit(DataType.Output, 0, 1, 2, false);
            }
        }

        private void ChB_Q1_3_CheckedChanged(object sender, EventArgs e)
        {
            if (plc_s7_1200.IsConnected)
            {
                if (ChB_Q1_3.CheckState == CheckState.Checked)
                    plc_s7_1200.WriteBit(DataType.Output, 0, 1, 3, true);
                else
                    plc_s7_1200.WriteBit(DataType.Output, 0, 1, 3, false);
            }
        }

        private void ChB_Q1_4_CheckedChanged(object sender, EventArgs e)
        {
            if (plc_s7_1200.IsConnected)
            {
                if (ChB_Q1_4.CheckState == CheckState.Checked)
                    plc_s7_1200.WriteBit(DataType.Output, 0, 1, 4, true);
                else
                    plc_s7_1200.WriteBit(DataType.Output, 0, 1, 4, false);
            }
        }
    }
}



Các bạn có thể download source code bằng link phía dưới:
Link Source: Download
Link S7.Net Library: Download

Video hướng dẫn:




Chúc các bạn thành công!


No comments:

Post a Comment