资源简介
使用 C# 实现与TWINCAT PLC control变量的通讯 ,实现上位机对倍福PLC的控制。
包括说明文档,示例程序。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
using TwinCAT.Ads;
using System.IO;
using System.Timers;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private int hbool1;
private int hint1;
private int hstr1;
private int hlreal1;
private TcAdsClient adsClient;
private ArrayList notificationHandles;
private int hcomplexStruct;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender EventArgs e)
{
try
{
//read by handle
//the second parameter specifies the type of the variable
textBox1.Text = adsClient.ReadAny(hbool1 typeof(Boolean)).ToString();
textBox2.Text = adsClient.ReadAny(hint1 typeof(int)).ToString();
textBox4.Text = adsClient.ReadAny(hlreal1 typeof(Double)).ToString();
textBox3.Text = adsClient.ReadAny(hstr1 typeof(String) new int[] { 5 }).ToString();
FillStructControls((ComplexStruct)adsClient.ReadAny(hcomplexStruct typeof(ComplexStruct)));
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void Form1_Load(object sender EventArgs e)
{
adsClient = new TcAdsClient();
notificationHandles = new ArrayList();
try
{
adsClient.AdsNotificationEx += new AdsNotificationExEventHandler(adsClient_AdsNotificationEx);
button4.Enabled = false;
button6.Enabled = false;
adsClient.Connect(801);
hbool1 = adsClient.CreateVariableHandle(“MAIN.bool1“);
hint1 = adsClient.CreateVariableHandle(“MAIN.int1“);
hstr1 = adsClient.CreateVariableHandle(“MAIN.str1“);
hlreal1 = adsClient.CreateVariableHandle(“MAIN.lreal1“);
hcomplexStruct = adsClient.CreateVariableHandle(“MAIN.ComplexStruct1“);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void TimeEvent(object source ElapsedEventArgs e)
{
}
private void adsClient_AdsNotificationEx(object sender AdsNotificationExEventArgs e)
{
TextBox textBox = (TextBox)e.UserData;
Type type = e.Value.GetType();
if (type == typeof(string) || type.IsPrimitive)
textBox.Text = e.Value.ToString();
else if (type == typeof(ComplexStruct)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1118924 2012-08-06 14:30 ADS通讯(c#)\ADS通讯(c#).docx
..A..H. 31744 2017-07-13 12:07 ADS通讯(c#)\C#源程序\.vs\WindowsFormsApplication1\v14\.suo
文件 8275 2012-08-06 12:39 ADS通讯(c#)\C#源程序\Backup\Form1.cs
文件 9214 2012-08-06 12:18 ADS通讯(c#)\C#源程序\Backup\Form1.Designer.cs
文件 6181 2012-08-06 12:18 ADS通讯(c#)\C#源程序\Backup\Form1.resx
文件 505 2012-07-30 09:17 ADS通讯(c#)\C#源程序\Backup\Program.cs
文件 1404 2012-07-30 09:17 ADS通讯(c#)\C#源程序\Backup\Properties\AssemblyInfo.cs
文件 2899 2012-07-30 09:17 ADS通讯(c#)\C#源程序\Backup\Properties\Resources.Designer.cs
文件 5612 2012-07-30 09:17 ADS通讯(c#)\C#源程序\Backup\Properties\Resources.resx
文件 1109 2012-07-30 09:17 ADS通讯(c#)\C#源程序\Backup\Properties\Settings.Designer.cs
文件 249 2012-07-30 09:17 ADS通讯(c#)\C#源程序\Backup\Properties\Settings.settings
文件 4013 2012-08-03 10:55 ADS通讯(c#)\C#源程序\Backup\WindowsFormsApplication1.csproj
文件 74 2012-07-30 10:09 ADS通讯(c#)\C#源程序\Backup\WindowsFormsApplication1.csproj.user
文件 941 2012-07-30 17:26 ADS通讯(c#)\C#源程序\Backup\WindowsFormsApplication1.sln
文件 38400 2012-08-06 12:39 ADS通讯(c#)\C#源程序\bin\Debug\WindowsFormsApplication1.pdb
文件 21680 2017-07-11 16:16 ADS通讯(c#)\C#源程序\bin\Debug\WindowsFormsApplication1.vshost.exe
文件 490 2015-11-13 10:24 ADS通讯(c#)\C#源程序\bin\Debug\WindowsFormsApplication1.vshost.exe.manifest
文件 8275 2012-08-06 12:39 ADS通讯(c#)\C#源程序\Form1.cs
文件 9214 2012-08-06 12:18 ADS通讯(c#)\C#源程序\Form1.Designer.cs
文件 6181 2012-08-06 12:18 ADS通讯(c#)\C#源程序\Form1.resx
文件 6951 2017-07-11 16:16 ADS通讯(c#)\C#源程序\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 9005 2012-07-30 16:36 ADS通讯(c#)\C#源程序\obj\Debug\ResolveAssemblyReference.cache
文件 3584 2017-07-11 15:54 ADS通讯(c#)\C#源程序\obj\Debug\TempPE\Properties.Resources.Designer.cs.dll
文件 5951 2017-07-11 16:16 ADS通讯(c#)\C#源程序\obj\Debug\WindowsFormsApplication1.csproj.FileListAbsolute.txt
文件 847 2012-08-06 12:18 ADS通讯(c#)\C#源程序\obj\Debug\WindowsFormsApplication1.csproj.GenerateResource.Cache
文件 180 2012-08-06 12:18 ADS通讯(c#)\C#源程序\obj\Debug\WindowsFormsApplication1.Form1.resources
文件 38400 2012-08-06 12:39 ADS通讯(c#)\C#源程序\obj\Debug\WindowsFormsApplication1.pdb
文件 180 2012-08-03 10:56 ADS通讯(c#)\C#源程序\obj\Debug\WindowsFormsApplication1.Properties.Resources.resources
文件 505 2012-07-30 09:17 ADS通讯(c#)\C#源程序\Program.cs
文件 1404 2012-07-30 09:17 ADS通讯(c#)\C#源程序\Properties\AssemblyInfo.cs
............此处省略32个文件信息
- 上一篇:c#简易二维码制作工具
- 下一篇:c#txt电子书阅读器
相关资源
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
- 有史以来最简单的三层(C#)
- vb调用c#编写的串口DLL文件(vb源码
评论
共有 条评论