ce事件驱动方式cc_ce事件驱动方式访问_第1页
ce事件驱动方式cc_ce事件驱动方式访问_第2页
ce事件驱动方式cc_ce事件驱动方式访问_第3页
ce事件驱动方式cc_ce事件驱动方式访问_第4页
ce事件驱动方式cc_ce事件驱动方式访问_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、使用 C#编写 CE 下的 ADS 通讯程序(变量名方式)基本配置部分首先我们启动 Visual Studio 2008,创建一个项目。点击左上的 文件 新建 项目 。出现窗口如下图所示。我们选择 Visual C# 智能设备 智能设备项目。输入项目名称(我们这里起名为: Samples)与保存目录后点击确定。(如图 1 所示)图 1进入的下一个界面我们在”目标平台” 选择 Windows CE,”.NETCompact Framework版本” 根据需要进行选择。最后我们在 ”模版” 这里,选择 设备应用程序 。单击目建立完成,如图 2 所示。确定 项图 2此时我们需要向项目中添加.dll

2、文件,在左侧的 Samples 处右击,选择 添加引用。此时弹出添加引用对话框,选择 浏览 ,找到 TwinCAT.Ads.dll (默认路径为 C:TwinCATADS Api CompactFrameworkv2.0),如下图所示。单击确定,添加引用完成。(如图 3 所示)图 3还需要添加头文件,在左侧的Form1.cs 处单击右键,选择查看代码如图 4 所示。图 4出现进入图 5 所示的画面,我们添加:using System.IO; using TwinCAT.Ads;两条语句头文件的添加完成。图 5此时我们进行 Windows CE 设备的连接设置(这里使用的是网络连接方式,来完成程

3、序的部署)。点击菜单栏中的 工具 选项 进入子菜单。左侧的菜单中选择设备工具设备如图 6进行设置。都选择 Windows CE 的选项。图 6点击右侧的属性,在 传输 处选择 TCP 连接传输。点击 配置 选择 使用指定的 IP 地址,并输入我们需要 CE 设备的 IP 地址。点击确定,CE 设备的配置完成。如图 7 所示。图 7程序编写部分1、 初始化部分初始化部分,主要的工作包括:ADS 对象的声明,建立;局数据的定义。部分程序如下:的建立;其他全 private TcAdsClient TcAds; private string tcNetID; private int tcPort;

4、private int hConnect; private AdsStream dataStream; private BinaryReader binRead; public Form1() InitializeComponent(); TcAds = new TcAdsClient(); dataStream = new AdsStream(30); binRead = new BinaryReader(dataStream, System.Text.Encoding.ASCII); tcNetID = 52.1.1; TcAds.Connect(801); try

5、 /驱动注册 hConnect = new int6; hConnect0 = TcAds.AddDeviceNotification(MAIN.data_byte, dataStream, 0, 1, AdsTransMode.OnChange, 100, 0, Rbyte); /Rbyte 参数用不到 hConnect1 = TcAds.AddDeviceNotification(MAIN.data_int, dataStream, 1, 2, AdsTransMode.OnChange, 100, 0, Rint); hConnect2 = TcAds.AddDeviceNotifica

6、tion(MAIN.data_string, dataStream, 3, 16,AdsTransMode.OnChange, 100, 0, Rstring); hConnect3 = TcAds.AddDeviceNotification(MAIN.data_array1, dataStream, 20, 2,AdsTransMode.OnChange, 100, 0, Rarray1); hConnect4 = TcAds.AddDeviceNotification(MAIN.data_array2, dataStream, 22, 2,AdsTransMode.OnChange, 10

7、0, 0, Rarray2); hConnect5 = TcAds.AddDeviceNotification(MAIN.data_array3, dataStream, 24, 2,AdsTransMode.OnChange, 100, 0, Rarray3); catch (System.Exception ex) MessageBox.Show(初始化出错); TcAds.AdsNotification += new AdsNotificationEventHandler(OnNotification); /将驱动 添加到界面当中 2、 驱动响应程序 建立一个驱动响应的函数,根据不同来执

8、行不同的任务。 private void OnNotification(object sender, AdsNotificationEventArgs e) DateTime time = DateTime.FromFileTime(e.TimeStamp); e.DataStream.Position = e.Offset; string strValue = ,strTemp =; try if (e.NotificationHandle = hConnect0) Rbyte.Text = binRead.ReadByte().ToString(); strTemp = String.Fo

9、rmat(InputBool: 0,1ms, time, time.Millisecond); else if (e.NotificationHandle = hConnect1) Rint.Text = binRead.ReadInt16().ToString(); strTemp = String.Format(InputByte: 0,1ms, time, time.Millisecond); else if (e.NotificationHandle = hConnect2) strValue = new String(binRead.ReadChars(255); Rstring.T

10、ext = strValue; strTemp = String.Format(InpuInt: 0,1ms, time, time.Millisecond); else if (e.NotificationHandle = hConnect3) Rarray1.Text = binRead.ReadInt16().ToString(); strTemp = String.Format(InpuDInt: 0,1ms, time, time.Millisecond); else if (e.NotificationHandle = hConnect4) Rarray2.Text = binRe

11、ad.ReadInt16().ToString(); strTemp = String.Format(InpuDInt: 0,1ms, time, time.Millisecond); else if (e.NotificationHandle = hConnect5) Rarray3.Text = binRead.ReadInt16().ToString(); strTemp = String.Format(InpuDInt: 0,1ms, time, time.Millisecond); TimeShow.Text = strTemp; / 显 示 3、 关闭部分 在关闭过程中,我们需要将 连接 释放,并删除 try for (int i = 0; i 6; i+) 驱动的时间 。部分程序如下: TcAds.DeleteDeviceNotification(hConnecti);/删除 catch (Exception err) MessageBox.Show(err.Message); TcAds.Dispose(); CE 设备设置部分我们需要对 CE 设备进行一定的设置,我们要实现远程的布置需要在 CE 下安装 VS2008 的组件,默认路径为 C:Program FilesCommon Fi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论