电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

C#通过OPC连接PLC读写功能案例VIP免费

C#通过OPC连接PLC读写功能案例_第1页
1/10
C#通过OPC连接PLC读写功能案例_第2页
2/10
C#通过OPC连接PLC读写功能案例_第3页
3/10
C#通过OPC连接PLC读写功能案例最简单、最有效的PLC连接程序,里面包含了各种类型的读写功能,绝对是拷贝过去,直接把地址替换就可以使用。功能简介:本程序主要是针对PLC发送请求信号,收到信号执行调用,例如:由PLC发送请求信号1,程序自动去调用,当调用结束,信号恢复为0,直到下一次变为1,再次进行调用;1、手工下载一个Interop.OPCAutomation.dll2、手工创建一个类PublicOPC_PLC3、直接调用即可,调用方法:PublicOPC_PLCPlc=newPublicOPC_PLC();Plc.InitConnect();Plc.CH160CreateGroup("PLC地址");//此处的PLC地址必须为PLC中DB块对应的BOOL型的地址例如:C1.[S7].DB35.DBX544.0usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingOPCAutomation;usingSystem.Net;usingSystem.Threading;namespaceOPCService{publicclassPublicOPC_PLC{#region私有变量//////OPCServerObject///publicstaticOPCServerMyServer;//////OPCGroupsObject///publicstaticOPCGroupsMyGroups;//////OPCGroupObject///publicstaticOPCGroupMyGroupMA;publicstaticOPCGroupMyGroupMA2;//////OPCItemsObject///OPCItemsMyItemsMA;//////OPCItemObject///OPCItem[]MyItemMA;//////主机IP///publicstaticstringstrHostIP="";//////主机名称///publicstaticstringstrHostName="";//////连接状态///publicstaticboolopc_connected=false;//////客户端句柄///intitmHandleClient=0;//////服务端句柄///intitmHandleServer=0;publicOPCGroupGroupMA{get{returnMyGroupMA;}}#endregion//////初始化连接对应的状态,包括连接服务器,需要读取的初始值///publicvoidInitConnect(){//初始化OPC服务配置GetLocalServer();ConnectRemoteServer();//连接OPC服务器MyGroups=MyServer.OPCGroups;}//枚举本地OPC服务器publicvoidGetLocalServer(){//获取本地计算机IP,计算机名称strHostName=Dns.GetHostName();//或者通过局域网内计算机名称//获取本地计算机IP,计算机名称IPHostEntryIPHost=Dns.Resolve(Environment.MachineName);if(IPHost.AddressList.Length>0){IPHostEntryipHostEntry=Dns.GetHostByAddress(IPHost.AddressList[0].ToString());strHostName=ipHostEntry.HostName.ToString();}//获取本地计算机上的OPCServerNametry{MyServer=newOPCServer();objectserverList=MyServer.GetOPCServers(strHostName);foreach(stringserverin(Array)serverList){//cmbServerName.Items.Add(turn);Console.WriteLine("本地OPC服务器:{0}",server);}}catch(Exceptionerr){Console.WriteLine("枚举本地OPC服务器出错:{0}",err.Message);}}//连接OPC服务器///OPCServerIP///OPCServer名称publicboolConnectRemoteServer(){try{stringremoteServerIP="",remoteServerName="KEPware.KEPServerEx.V4";MyServer.Connect(remoteServerName,remoteServerIP);//连接本地服务器:服务器名+主机名或IPif(MyServer.ServerState==(int)OPCServerState.OPCRunning){////MessageBox.Show("已连接到:{0}",MyServer.ServerName);//WriteLog_Station("网络连接成功");}else{//这里你可以根据返回的状态来自定义显示信息,请查看自动化接口API文档////MessageBox.Show("状态:{0}",MyServer.ServerState.ToString());//WriteLog_Station("网络连接失败");}MyServer.ServerShutDown+=ServerShutDown;//服务器断开事件}catch(Exceptionerr){//MessageBox.Show("连接远程服务器出现错误:{0}"+err.Message);returnfalse;}returntrue;}publicvoidServerShutDown(stringReason)//服务器先行断开{//WriteLog_Station("服务器已经先行断开!");MyServer.Disconnect();}publicvoidRemoveGroup(stringNa...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

C#通过OPC连接PLC读写功能案例

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部