c#通过OPC server与西门子S7-200 smart实现通信示范代码txwtech

本文主要是介绍c#通过OPC server与西门子S7-200 smart实现通信示范代码txwtech,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

c#通过OPC server与西门子S7-200 smart实现通信示范代码txwtech

  public bool ConnetOPC()//连接OPC并创建组{int i = 0;try{string hostname = Dns.GetHostName();object serverList = opcServer.GetOPCServers(hostname);opcServer.Connect("S7200SMART.OPCServer", "192.168.10.2");//连接OPC,输入本地网口IP地址if (opcServer.ServerState == (int)OPCServerState.OPCRunning)//连接成功{Console.WriteLine("连接OPC成功");opcGroup = opcServer.OPCGroups.Add();//创建组Console.WriteLine("创建组完成");SetGroupProperty();for (i = 0; i < strItemIDs.Length; i++)//创建组里的项{//创建每个项,并为每个项分配编号,范围:1~strItemIDs.Length//因此每个项的编号为它在数组strItemIDs中的索引值+1。opcItems[i] = opcGroup.OPCItems.AddItem("MWSMART.PLC." + strItemIDs[i], i + 1);}Console.WriteLine("创建组里的项完成");SyncReadWriteThread.Start();Console.WriteLine("启动读PLC线程");return true;}else{Console.WriteLine("连接OPC失败" + opcServer.ServerState);return false;}}catch (Exception e){//Console.WriteLine("ConnetOPC函数catch到异常!" + e.Message + " " + i);MessageBox.Show("ConnetOPC函数catch到异常!" + e.Message + "\r\n" + "创建第" + i + "项时发生异常!");return false;}}

连接代码:

  private void ToolStripMenuItem_ConnectPLC_Click(object sender, EventArgs e) //菜单栏连接PLC{bool result = false;OPCServer = new COPCServer();result = OPCServer.ConnetOPC();//连接OPCif (result){ConnectPLC_ToolStripMenuItem.BackColor = Color.Green;ConnectPLC_ToolStripMenuItem.Text = "PLC已连接!";ConnectPLC_ToolStripMenuItem.Enabled = false;if (ConnectRobot_ToolStripMenuItem.BackColor == Color.Green) toolStripMenuItem_通讯口设置.BackColor = Color.Green;}else{ConnectPLC_ToolStripMenuItem.BackColor = Color.Red;ConnectPLC_ToolStripMenuItem.Text = "PLC未连接!";ConnectPLC_ToolStripMenuItem.Enabled = true;toolStripMenuItem_通讯口设置.BackColor = Color.Red;}}

源代码这里找: s7-200smart通信项目实例c#.rar

https://blog.csdn.net/txwtech/article/details/96737086

 

这篇关于c#通过OPC server与西门子S7-200 smart实现通信示范代码txwtech的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/947812

相关文章

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时

SQL Server 中的 WITH (NOLOCK) 示例详解

《SQLServer中的WITH(NOLOCK)示例详解》SQLServer中的WITH(NOLOCK)是一种表提示,等同于READUNCOMMITTED隔离级别,允许查询在不获取共享锁的情... 目录SQL Server 中的 WITH (NOLOCK) 详解一、WITH (NOLOCK) 的本质二、工作

C# $字符串插值的使用

《C#$字符串插值的使用》本文介绍了C#中的字符串插值功能,详细介绍了使用$符号的实现方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录$ 字符使用方式创建内插字符串包含不同的数据类型控制内插表达式的格式控制内插表达式的对齐方式内插表达式中使用转义序列内插表达式中使用

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库