c#与西门子smart200联合使用

本文介绍了如何使用200Smart PLC替代1200PLC,并通过C#程序进行自动化项目的控制。详细步骤包括200Smart的设置,如IP配置和安全设置,以及C#程序中使用xktComm动态库与PLC的连接、读写操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

近期使用200smart替代1200plc联合c#进行自动化项目,1200plc使用博图而200smart使用的是STEP 7-MicroWIN SMART。c#中使用的动态库还是xktComm,没有太大变化。对于微型的自动化工程使用200smart即可。


提示:以下是本篇文章正文内容,下面案例可供参考

一、smart200设置

1.smart200下载后是这样的图标:
在这里插入图片描述
2.打开软件在主要栏中选择CPU ST20双击打开
在这里插入图片描述
3.系统块设置IP
在这里插入图片描述
4.IP设置完毕后进行安全设置,访问限制不可以勾选否则无法对输入输出或中间进行访问
在这里插入图片描述

二、c#程序

c#程序无法对输入的 I 进行读写,可以加M,对M进行读写即可。

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 xktComm;
using xktComm.Common;
using xktComm.PLC;
using System.Text.RegularExpressions;
namespace 西门子plc连接
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        xktComm.SiemensS7 ss = new SiemensS7();//实例化
        public bool a;
        public bool b;//西门子链接


        private void btncon_Click(object sender, EventArgs e)
        {
            bool blnTest;
            Regex regex = new Regex("^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$");
            blnTest = regex.IsMatch(txtIP.Text);
            if (blnTest)
            {
                string[] strTemp = this.txtIP.Text.Split(new char[] { '.' });
                for (int i = 0; i < strTemp.Length; i++)
                {
                    if (Convert.ToInt32(strTemp[i]) > 255)
                    { //大于255则提示,不符合IP格式
                        MessageBox.Show("不符合IP格式");
                        return;
                    }
                }
            }
            else
            {
                //输入非数字则提示,不符合IP格式
                MessageBox.Show("不符合IP格式");
                return;
            }



            string address = txtIP.Text;
            //CPU_Type cpu = CPU_Type.S71200;
            CPU_Type cpu = CPU_Type.S7200SMART;

            b = ss.Connect(address, cpu, 0, 1);
           
            if (b)
            {
               
                MessageBox.Show("链接成功");
            }
            else
            {
                MessageBox.Show("链接失败");
            }
        }

        private void btnread_Click(object sender, EventArgs e)
        {
            textBox2.Text = ss.Read(textBox1.Text, 0).ToString();
        }

        private void btnwrite_Click(object sender, EventArgs e)
        {
            ss.Write(textBox3.Text, Convert.ToBoolean(textBox4.Text));
        }
    }
}

在这里插入图片描述

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锋利成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值