資源簡介
C#通過OPC連接PLC讀寫數據源碼
C#通過OPC服務器連接PLC讀寫數據.doc
OPC客戶端演示.avi
軟件界面截圖.png
OPC_Client 源碼

代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.Collections;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Windows.Forms;
using?OPCAutomation;
using?System.Diagnostics;
namespace?OPC_Client
{
????public?partial?class?Form1?:?Form
????{
????????OPCServer?objServer;
????????OPCGroups?objGroups;
????????OPCGroup?objGroup;
????????OPCItems?objItems;
????????Array?strItemIDs;
????????Array?lClientHandles;
????????Array?lserverhandles;
????????Array?lErrors;
??????//??int?ltransID_Rd?=?1;
???????//?int?lCancelID_Rd;
???????object?RequestedDataTypes?=?null;
????????object?AccessPaths?=?null;
?????//???Array?lerrors_Rd;
????????Array?lErrors_Wt;
????????int?lTransID_Wt?=?2;
????????int?lCancelID_Wt;
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????//連接opc?server
????????private?void?button1_Click(object?sender?EventArgs?e)
????????{
????????????//(1)創建opc?server對象
????????????objServer?=?new?OPCServer();
????????????//連接opc?server
????????????objServer.Connect(“KEPware.KEPServerEx.V4“?null);
????????????//(2)建立一個opc組集合
????????????objGroups?=?objServer.OPCGroups;
????????????//(3)建立一個opc組
????????????objGroup?=?objGroups.Add(null);?//Group組名字可有可無
????????????//(4)添加opc標簽
????????????objGroup.IsActive?=?true;?//設置該組為活動狀態,連接PLC時,設置為非活動狀態也一樣
????????????objGroup.IsSubscribed?=?true;?//設置異步通知
????????????objGroup.UpdateRate?=?250;
????????????objServer.OPCGroups.DefaultGroupDeadband?=?0;
????????????objGroup.DataChange?+=?new?DIOPCGroupEvent_DataChangeEventHandler(KepGroup_DataChange);
???????????//?objGroup.AsyncReadComplete?+=?new?DIOPCGroupEvent_AsyncReadCompleteEventHandler(AsyncReadComplete);
????????????objGroup.AsyncWriteComplete?+=?new?DIOPCGroupEvent_AsyncWriteCompleteEventHandler(AsyncWriteComplete);
????????????objItems?=?objGroup.OPCItems;?//建立opc標簽集合
????????????string[]?tmpIDs?=?new?string[7];
????????????int[]?tmpCHandles?=?new?int[7];
????????????for?(int?i?=?1;?i?7;?i++)
????????????{
????????????????tmpCHandles[i]?=?i;
????????????}
????????????tmpIDs[1]?=?“西門子S7-300.PLC.系統啟動開關“;
????????????tmpIDs[2]?=?“西門子S7-300.PLC.機械手啟動開關“;
????????????tmpIDs[3]?=?“西門子S7-300.PLC.M1電動機“;
????????????tmpIDs[4]?=?“西門子S7-300.PLC.機械手“;
????????????tmpIDs[5]?=?“西門子S7-300.PLC.溫度“;
????????????tmpIDs[6]?=?“西門子S7-300.PLC.濕度“;
????????????strItemIDs?=?(Array)tmpIDs;//必須轉成Array型,否則不能調用AddItems方法
????????????lClientHandles?=?(Array)tmpCHandles;
????????????//?添加opc標簽
????????????objItems.AddItems(6?ref?strItemIDs?ref?lClientHandles?out?lserverhandles?out?lErrors?RequestedDataTypes?AccessPaths);
????????}
????????//結束并斷開opc?server
????????private?void?button4_Click(object?sender?EventArgs?e)
????????{
????????????objServer.Disconnect();
????????????//關閉kepserver進程,這個跟OPC操作無關
????????????/*
????????????foreach?(?Process?oneProcess?in?Process.GetPr
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????1267200??2014-07-08?21:22??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\C#通過OPC服務器連接PLC讀寫數據.doc
?????文件??????18432??2014-05-28?21:33??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\bin\Debug\OPC_Client.exe
?????文件??????28160??2014-05-28?21:33??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\bin\Debug\OPC_Client.pdb
?????文件??????11600??2014-05-28?21:38??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\bin\Debug\OPC_Client.vshost.exe
?????文件????????490??2010-03-17?22:39??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\bin\Debug\OPC_Client.vshost.exe.manifest
?????文件??????????1??2014-05-28?18:37??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\ClassDiagram1.cd
?????文件???????7052??2014-05-28?21:33??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\Form1.cs
?????文件??????13202??2014-05-28?21:19??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\Form1.Designer.cs
?????文件???????5817??2014-05-28?21:19??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\Form1.resx
?????文件???????6570??2014-05-28?21:33??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache
?????文件????????376??2014-05-28?21:19??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\obj\x86\Debug\GenerateResource.read.1.tlog
?????文件????????862??2014-05-28?21:19??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\obj\x86\Debug\GenerateResource.write.1.tlog
?????文件??????28672??2014-05-28?19:24??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\obj\x86\Debug\Interop.OPCAutomation.dll
?????文件???????1337??2014-05-28?21:38??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\obj\x86\Debug\OPC_Client.csproj.FileListAbsolute.txt
?????文件????????723??2014-05-28?19:24??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\obj\x86\Debug\OPC_Client.csproj.ResolveComReference.cache
?????文件??????18432??2014-05-28?21:33??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\obj\x86\Debug\OPC_Client.exe
?????文件????????180??2014-05-28?21:19??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\obj\x86\Debug\OPC_Client.Form1.resources
?????文件??????28160??2014-05-28?21:33??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\obj\x86\Debug\OPC_Client.pdb
?????文件????????180??2014-05-28?19:27??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\obj\x86\Debug\OPC_Client.Properties.Resources.resources
?????文件???????4099??2014-05-28?19:27??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\OPC_Client.csproj
?????文件????????491??2014-05-28?18:36??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\Program.cs
?????文件???????1360??2014-05-28?18:36??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\Properties\AssemblyInfo.cs
?????文件???????2870??2014-05-28?18:36??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\Properties\Resources.Designer.cs
?????文件???????5612??2014-05-28?18:36??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\Properties\Resources.resx
?????文件???????1095??2014-05-28?18:36??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\Properties\Settings.Designer.cs
?????文件????????249??2014-05-28?18:36??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client\Properties\Settings.settings
?????文件????????872??2014-05-28?18:36??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client.sln
????..A..H.?????26112??2014-05-28?21:38??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC_Client\OPC_Client.suo
?????文件?????706486??2014-05-28?21:38??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\OPC客戶端演示.avi
????..A..H.???????162??2019-11-12?21:50??0237?C#通過OPC連接PLC讀寫數據源碼\C#通過OPC連接PLC讀寫數據\~$通過OPC服務器連接PLC讀寫數據.doc
............此處省略15個文件信息
評論
共有 條評論