测控系统网络化技术及应用 于洋 第5章新_第1页
测控系统网络化技术及应用 于洋 第5章新_第2页
测控系统网络化技术及应用 于洋 第5章新_第3页
测控系统网络化技术及应用 于洋 第5章新_第4页
测控系统网络化技术及应用 于洋 第5章新_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网8/14/20221第5章 典型网络化工控产品应用技术 本章主要内容 5.1嵌入式控制器BL2000 5.2 Dynamic C语言 5.3 BL2000以太网接口技术应用实例 5.4 牛顿-7000工控模块介绍 5.5牛顿-7000系统主要组网技术5.6 基于牛顿模块的电加热炉温度控制实例8/14/202225.1嵌入式控制器BL2000 本节主要内容 5.1.1 BL2000概述 5.1.2 BL2000系统的特点 5.1.3 BL2000子系统 5.1.4 BL2000的性能指标8/14/202235.1.1 BL2000概述 B

2、L2000是Wildcat公司生产的一个功能强大的开放的实时嵌入式系统,其Rabbit Core RCM 2000模块内含Rabbit 2000微处理器、大容量Flash及SRAM、内置以太网接口,可直接通过网络实时监控;具备RS232/RS485接口,可是各种串行设备快速进行网络连接;内置A/D、D/A转换器,可快速有效的实现A/D、D/A转换。 8/14/202245.1.2 BL2000系统的特点 BL2000系统的特点介绍如下:具有RJ-45插口的10Base-T以太网接口简便的连通性快速的22.1MHz时钟多达28个数字I/O通道可方便实现A/D和D/A,具有4个串口内含128KB的

3、SRAM和256KB的Flash(可扩展的)BL2000单板电路中具有在板继电器带有后备电池的时间/日期时钟8/14/202255.1.3 BL2000子系统BL2000的结构原理图 8/14/202265.1.3 BL2000子系统BL2000的引脚结构图 8/14/202275.1.4 BL2000的性能指标 BL2000系列是一款低成本、高性能的集成一体化单板控制器,适合使用在设备控制,生产线过程监控等方面。具有极高的I/O密度,体积小巧,具有独立采集、测控能力、方便组网等功能。 BL2000的性能指标见附录图表8/14/202285.2 Dynamic C语言 本节主要内容5.2.1

4、Dynamic C语言概述5.2.2 Dynamic C的设置5.2.3 基于B/S的Dynamic C程序设计基本步骤5.2.4 嵌入式基本输入输出程序的编写方法5.2.5 编写简单的TCP/IP程序5.2.6 嵌入式系统多任务的处理5.2.7 编写简单的CGI程序5.2.8 Dynamic C同网页之间的连接8/14/202295.2.1 Dynamic C语言概述1 Dynamic C语言的特点 集编辑、编译、连接、下载、调试等功能为一体。 支持汇编语言 具有很强的调试能力 提供了C语言的扩展以支持实际的嵌入式系统开发,支持协作式和抢先式的多任务进程 提供了许多函数库源代码 直接对存储器

5、进行编译 作为应用程序运行于PC机上,可以在无预安装程序的情况下冷启动基于Rabbit微处理器的目标系统。 8/14/2022105.2.1 Dynamic C语言概述2 Dynamic C的几点创新函数链(Function chaining)。 协语句(Costatements)。 协函数(Cofunction)。 Slice语句。 Interrupt关键字。 Dynamic C具有一系列的特性允许编程者最大限度的利用扩展存储器。8/14/2022115.2.1 Dynamic C语言概述3 Dynamic C设计规范使用标准的编程电缆。至少扩展32K静态RAM。用允许列表内的闪存。用32.

6、768KHz频率的振荡器驱动备用电池时钟。用614KHz或1.8432MHz的倍频的振荡器驱动主处理器时钟。8/14/2022125.2.2 Dynamic C的设置Dynamic C的开发环境 8/14/2022135.2.2 Dynamic C的设置设置OptionsCompiler选项:如图所示需要更改下面两个选项,使得程序保存在Flash中,以便在掉电后不丢失,默认的情况是保存在RAM中。 8/14/2022145.2.2 Dynamic C的设置设置OptionsCommunications选项:通讯参数如图,需要注意要把处理其验证的选项取消掉,否则连接不上。8/14/2022155

7、.2.2 Dynamic C的设置设置OptionsConfigure选项:根据用户实际使用的主板选择相应的处理器,这里选了BL2000。8/14/2022165.2.3 基于B/S的Dynamic C程序设计基本步骤 对于一个初级用户来说需要学会以下五个步骤:第一步:完成输入输出,能够同外部的现场 设备实现检测和控制。第二步:学会基本的网络编程。第三步:学会多任务处理过程。第四步:学会简单的CGI程序设计。第五步:将网页和用户编写的C程序连接起来。 8/14/2022175.2.4 嵌入式基本输入输出程序的编写方法 使用Dynamic完成系统的输入和输出非常简单,按照C语言的基本编程方法,适

8、当调用相应的函数既可以完成功能,常见的输入输出函数如下表 8/14/2022185.2.5 编写简单的TCP/IP程序第一步:需要包含以下两个库(使用静态连接该库)。#use dcrtcp.lib#use .lib第二步:将需要的网页文件装入到下位机。#ximport F:网络测控/bl2000/pages/IOTest.SHTML index_html第三步:设置使用文件的类型。const HttpType _types = .shtml, text/html, shtml_handler, / ssi .html, text/html, NULL, / html .cgi, , NULL,

9、 / cgi .gif, image/gif, NULL, .jpg, image/jpg, NULL;第四步:定义使用的IP地址以及使用的网关。#define MY_GATEWAY#define MY_IP_ADDRESS80#define MY_NETMASK第五步:利用函数完成通讯功能。sock_init();/初始化socket _init();/初始化 HTTP服务器tcp_reserveport(80);/ 初始化监听的端口while(1) _handler();/理用户连接,需要不断地重复调用8/14/2022195.2.6 嵌入式系统多任务的处理它的语法结构如下:Whileco

10、state做第一件事情waitfor(DelayMs(lmixtime);做第三件事情costate做第二件事情8/14/2022205.2.7 编写简单的CGI程序最简单的CGI程序的编写方法 :第一步:要使用CGI程序必须在对TCP/IP协议编程(5.2.5小节中介绍的方法)中的第三步中必须包含.cgi才能够使用。第二步:定义CGI程序同函数的映射关系。这样嵌入式的函数就同网页联系起来了。const HttpSpec _flashspec = * HTTPSPEC_FUNCTION, /led0tog.cgi, 0, led0toggle, 0, NULL, NULL, *;第三步:实现上

11、面定义的映射成为CGI的程序。第四步:在网页中可以直接将CGI作为一个页面直接调用。例如:8/14/2022215.2.8 Dynamic C同网页之间的连接 对于网页的设计,可以借助Fontpage 或者Dreamwave等工具进行设计,但最简单的方法是利用现成的网页,改动网页的源代码,即可得到满意的网页。此外还可以添加一些动画,达到更好的效果。这里需要注意的是客户使用的变量是如何同服务器的变量进行交互的。 下面的例子演示了交互过程。 在Dynamic C中定义内部变量input0,通过下面的语句同网页中的变量进行映射。const HttpSpec _flashspec = * HTTPSP

12、EC_VARIABLE, input0, 0, inl0, PTR16, %s, NULL,*;8/14/2022225.3 BL2000以太网接口技术应用实例 本节主要内容5.3.1 头定义(宏定义)5.3.2 函数与公共变量的定义5.3.3 CGI映射函数5.3.4 配置装入Flash中的的文件和变量5.3.5 主程序8/14/2022235.3.1头定义(宏定义)#class auto /定义为动态变量/* * 配置字节 * * * * 更改网关以及IP地址适应自己的网络 */#define MY_GATEWAY /定义默认网关#define MY_IP_ADDRESS 25/定义BL2

13、000的IP地址#define MY_NETMASK/定义子网掩码#define TCP_BUF_SIZE 2048/定义网络的缓存/* WEB服务的配置字节*/#define HTTP_MAXSERVERS 2 /定义为最大服务两个用户#define MAX_TCP_SOCKET_BUFFERS 2#define REDIRECTHOSTMY_IP_ADDRESS#define REDIRECTTO :/iotest.htm/定义默认登陆网页#memmap xmem #use dcrtcp.lib /分别使用TCP基本库和HTTP库#use .lib#ximport C:试验设备整理版基本I

14、O试验/pages/iotest.htm index_html。#ximport C:试验设备整理版基本IO试验/pages/oc.jpg oc_jpg/定义倒入网页资源并且给该资源附一个唯一个名称/格式 #ximport “文件名称包含路径” 唯一名称/*定义可以使用的文件类型 */const HttpType _types = .shtml, text/html, shtml_handler, / ssi (Server Side Includes) .html, text/html, NULL, / html .cgi, , NULL, / cgi .gif, image/gif, NU

15、LL, .jpg, image/jpg, NULL;8/14/2022245.3.2函数与公共变量的定义void update_display();char led015; /开关量输入显示图片的文件名。float fda1; /模拟量采集的数值8/14/2022255.3.3 CGI映射函数 根据当前的开关状态实现按钮功能的翻转,led0是一个字符串变量,保存的是当前显示按钮的图片的名称,当有按钮按下的时候翻转状态,同时输出。int led0toggle(HttpState* state) if (strcmp(led0,oo.jpg)=0)/如果是开状态则转为关状态outbuffer0=0

16、; elseoutbuffer0=1; update_display();/更新输出显示 cgi_redirectto(state,REDIRECTTO); /根据用户输入重新定向网页,完成自动刷新 return 0; 。模拟量输出映射的CGI函数int submit(HttpState* state)auto int i;。return 0;8/14/2022265.3.4配置装入Flash中的的文件和变量/需要注意led0tog.cgi并不是真正存在的文件,是指的上面定义的函数。/这个同前面定义的函数声明并不矛盾,编译器是根据下面的列表定义的文件决定/将什么资源文件写入FLASH。cons

17、t HttpSpec _flashspec = HTTPSPEC_FILE, /, index_html, NULL, 0, NULL, NULL, HTTPSPEC_FILE, /iotest.htm, index_html, NULL, 0, NULL, NULL,。 HTTPSPEC_FILE, /oo.jpg, oo_jpg, NULL, 0, NULL, NULL, HTTPSPEC_FILE, /oc.jpg, oc_jpg, NULL, 0, NULL, NULL, HTTPSPEC_VARIABLE, input0, 0, inl0, PTR16, %s, NULL,。 HTT

18、PSPEC_FUNCTION, /led0tog.cgi, 0, led0toggle, 1, NULL, NULL,。 HTTPSPEC_FUNCTION,/submit.cgi, 0, submit, 0, NULL, NULL ; 8/14/2022275.3.5主程序void main() int iloop; FORMS = da0;/初始化变量 FORMS = da1; 。 strcpy(da1,0.00);/输出为0。 strcpy(inl7, :/22/试验项目图片ic.jpg);/开始的时候都是处于关闭状态 。 sock_init(); /

19、 初始化 TCP/IP 服务 _init(); / 初始化web 服务 brdInit(); /初始化BL2000硬件系统 tcp_reserveport(80); /监听HTTP80端口 while (1) update_outputs();/更新数字量输出 Update_AD();/更新模拟量输入Update_DA();/更新模拟量输出 Update_DIn();/更新数字量输入update_display();/更新数字量的显示 _handler(); /处理网络服务 8/14/2022285.4 牛顿-7000工控模块介绍 本节主要内容 5.4.1 牛顿-7000模块简介 5.4.2

20、牛顿-7000系统网络结构8/14/2022295.4.1 牛顿-7000模块简介 牛顿-7000系列产品是通用传感器到计算机的便携式接口模块,模块外壳为工业级塑料,内涂防静电涂层,增强抗电磁干扰性,模块可以独立提供智能信号调理、模拟量I/O、数字量I/O、脉冲、热电偶、热电阻、数据显示、RS-485通信能力,所有模块通过RS-485网络与上位机通信,实现数据上传与控制信号下传。8/14/2022305.4.1 牛顿-7000模块简介 牛顿-7000系列模块具有如下特点:(1)产品规格齐全。 (2)模拟量I/O模块在存取多种类型及多种范围模拟量输入方面具有显著的优点。(3)灵活的网络配置。(4

21、)大部分I/O模块带有3000V隔离功能,可带电热插拔。 (5)RS-485通信波特率为1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200。(6)供电电源为+10V+30V DC;电源具有反向保护,过压保护。(7)抗干扰方面,内置双看门狗,用户可定义加电初值和安全值。(8)使用环境:温度为-10到70;贮存温度:-25到80;相对湿度为5到95%,无凝露。8/14/2022315.4.2 牛顿-7000系统网络结构后图为牛顿-7000系统网络结构,其工作原理介绍如下:(1) 主机通过COM1 口送出指令。(2) 牛顿-7520把RS-232信

22、号转换成RS-485信号。(3) 所有连接到RS-485, RS-485以及RS-485网络的模块将同时收到这个指令,然后,模块开始把指令中包含的地址代码与模块自身的地址相比较。(4) 比较结果相同的那个模块将执行这条指令,其他模块忽略这条指令。(5) 执行完指令后,该模块将把执行结果送到RS-485网络,主机获取结果。8/14/2022325.4.2 牛顿-7000系统网络结构8/14/2022335.4.2 牛顿-7000系统网络结构牛顿-7000系统网络通信具有如下特点: (1)多种波特率 (2)多种数据格式 (3)主机送出和接收任何数据格式指令 8/14/2022345.5牛顿-700

23、0系统主要组网技术 本节主要内容 5.5.1 牛顿-7520和7510模块介绍 5.5.2 无线Modem模块介绍 5.5.3 牛顿-7000系统的RS-485网络8/14/2022355.5.1 牛顿-7520和7510模块介绍1牛顿-7520模块 牛顿-7520:模块是RS-232到RS-485双向转换器,主要特性如下:(1)协议:两线RS-485, (D+,D-)。(2)接线端子:可插拔式螺丝紧固子(3)速率:内置“自调适”功能,自动切换波特率,从300到115. 2KBPS。(4)不使用加长器(7510),一个络中最多同时挂接256个模块;如使用加长器(7510),则一个网络中最多可达

24、到2048个模块。(5)隔离电压:3000V。(6)隔离端:RS-232(7)需要加长器情况:超过1.2km或超过256个模块。(8)供电:供电电压:+10V到+30VDC(9)功耗:2.2W(最大)8/14/2022365.5.1 牛顿-7520和7510模块介绍2牛顿-7510模块 牛顿-7510模块是RS-485网络加长器模块,其作用是提高网络的驱动能力及信号隔离,其主要特性如下:(1)输入:两线RS-485协议。(2)输出:两线RS-485协议。(3)速率:内置“自调适”功能自动切换。(4)波特率:从300到115200 BPS。(5)隔离电压:3000V。(6)接线端子:可插拔式螺理

25、紧固端子。(7) 供电:+10V到+30VDC。(8) 功耗:2.2W(最大)。8/14/2022375.5.2 无线Modem模块介绍 原理框图 8/14/2022385.5.3 牛顿-7000系统的RS-485网络1标准RS-485网络(下图)8/14/2022395.5.3 牛顿-7000系统的RS-485网络2隔离型RS-485网络 使用牛顿-7000隔离 RS-485网络方案如图:8/14/2022405.6 基于牛顿模块的电加热炉温度控制实例 本节主要内容 5.6.1牛顿-7021和7012模块介绍 5.6.2 电加热炉无线远程温度控制实例8/14/2022415.6.1牛顿-7021和7012模块介绍1. 牛顿-7021模块 牛顿-7021模块是12位分辨率的DA模块(见5.4.1)。其主要性能如下:通道数:1输出类型:mA,V输出范围:0到20mA,4到20mA和0到10V精度:0.1% of FSR回读精度:最大量程的0.1%分辨率:最大量程的0.02%零点漂移:30V/电压输出:0.2A/满量程温

温馨提示

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

评论

0/150

提交评论