收藏 分享(赏)

WAGO750模块与PC机之间的通讯.pdf

上传人:精品资料 文档编号:9845855 上传时间:2019-09-10 格式:PDF 页数:5 大小:327.09KB
下载 相关 举报
WAGO750模块与PC机之间的通讯.pdf_第1页
第1页 / 共5页
WAGO750模块与PC机之间的通讯.pdf_第2页
第2页 / 共5页
WAGO750模块与PC机之间的通讯.pdf_第3页
第3页 / 共5页
WAGO750模块与PC机之间的通讯.pdf_第4页
第4页 / 共5页
WAGO750模块与PC机之间的通讯.pdf_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、第26卷第8期增刊 仪器仪表学报 2005年8月WAG0750模块与PC机之间的通讯+郭 威孟宪伟 王晓辉(中国科学院沈阳自动化研究所沈阳 110016)摘要 介绍了一种用于WAG0750842以太网节点及系列模块与PC机之间的一种通用而又简便的通讯方法,该方法能够使PC机与WAG0750系列模块方便地进行数据交换,从而达到计算机对控制对象进行信息采集和控制输出的目的。该方法已在载人潜水器控制系统中得到成功应用,效果良好。关键词 载人潜水器WAG0750通讯Communication among WAG0750 Modules and PCGuo Wei Meng Xianwei Wang X

2、iaohui(Shenyang Institute of Automation,Chinese Academy of Sciences,Shenyang 110016,China)Abstract A general and easy communication method among WAG0750842 field bus controller modules and PCis introducedThis method makes the data exchange easily among WAG0750 modules and PC,and makes thecomputer ge

3、t information acquisition and output control signalThis method has been applied in our control systern of manned submarine vehicle,and the performance and results are excellentKey words Manned submarine vehicle WAG0750842 Communication块之间的通讯,从而实现信号采集和控制输出的目的。1 引 言2系统的构成WAG0750842节点及系列模块为基于工业以太网的现场采集

4、及输出模块,该种现场总线节点及模块是德国WAGO公司开发的,具有结构紧凑、体积小、模块类型齐全,可根据现场变化的需要灵活方便地组态。载人潜水器上要采集和输出控制的量很多,若采用传统的集中式控制,将会使连线多,同时也降低了系统的可靠性,而WAG0750842节点为基于工业以太网的通讯方式,因此控制系统可以采用分布式控制方案,这样减少了导线的数量,从而也降低了潜水器的总重量。WAG0750842节点与PC机之间的通讯可采用ModbusTCP等方式,而节点与模块之间的通讯为Modbus协议,因此要想完成上位PC机直接对各节点中模块的操作,就需要建立一种PC机与WAG0750-842节点和模块之间的通

5、讯方法,来实现PC机与各模-国家“十五”863重大专项课题(2003AA401003)。在载人潜水器控制系统中共设置两个节点,一个在载人舱内,另一个在载人舱外的计算机罐内,这两个节点及模块与整个系统现场层的传感器和执行器相连,用于信号的采集和控制输出,该层直接与系统中的硬件打交道。在系统的控制层采用研华的一体化小工控机,它负责将现场层采集到的信息进行分析和运算,并把控制输出传到现场层的节点和模块,从而控制潜水器上的执行器动作,实现潜水器的各种控制。具体如图1所示。在载人潜水器中信号数量和类型较多,因此所使用的模块类型也较多,模块所使用的类型主要为数字量输入输出模块、模拟量输入输出模块、终端模块

6、,以及热电阻模块、脉冲采集模块等特殊类型的模块,这些模块根据信号数量进行组态,并与WAG0750-842万方数据512 仪器仪表学报 第2 6卷节点控制器构成整个控制系统的现场层。图l 数据通讯和控制系统的硬件体系结构3通讯方法31信号量的表示无论是模拟量模块还是数字量模块以及特殊类型的模块,它们在节点的映射区的输入输出信号排列只体现两种类型:一类是数字量型,即按位来排列,每一位代表具体设备的开关状态;另一类为模拟量型,即按字节或字来排列,特殊类型模块也按模拟量信号来处理进行排列,当采集到以字节或字表示的信号量以后,每一模块都有信号转换函数:rR(x);X为以字节或字表示的信号量,r为真实模拟

7、量。因此,按照信号类型及排列,找出其中的规律,形成PC机对节点及模块进行访问的两种类型的函数。这样PC机对各模块的访问,都可以通过调用这两个函数进行。32通讯协议和通讯函数PC机和WAG0750之间通过lOMbps以太网连接,它们之间的通讯协议为ModbusTCP:ModbusTCP是一种改进的Modbus协议,能够在工业过程控制中提供稳定、可靠的数据流传输。可以通过BootP协议方式为WAG0750配置IP地址,PC机通过固定的端口号502与其进行数据通讯和命令控制。ModbusTCP协议的头部定义如图2所示。Byte: O 1 2 3 4 5 6 7 8n数据 协议 数据 监 函 数据标识

8、 标识 长度 元 数标识 代号 信息幽2 Mo(Ibus7ICI头郎wAGO公司提供了11个函数(见表1)用来和PC机进行数据通讯。开放的ModbusTCP规范中的Modbus通讯函数,应用在WAG0以太网现场总线的控制层中:以下为对WAGO现场总线节点中的模拟量和数字量进行读取的函数。表1几个通用Modbus通讯函数函数代号 函数名 描述FCl:Ox01 Read coilsFC2:0x02 Read input discretesFC3:0x03 Read multiple registersFC4:Ox04 Read input registersFC5:0x05 Write coilF

9、C6:Ox06 Write signle registerFC7:0x07 Read exception statusFC 1 5:0x0F Force multiple coilsFCl6:0x10 Write multiple registers读多个数字量输入读多个数字量输入读多个模拟量输入读多个模拟量输入写一个数字量输出写一个模拟量输出读取前8个输入位写多个数字量输出写多个模拟量输入要执行一个具体的函数,需指定相对应的函数代码和选择的输入或输出通道的地址。WAGO公司建议在进行数据存取尽量用coil函数和register函数。4通讯编程41通讯的基本原理在控制层,操作系统采用Windo

10、ws CENET,应用软件的开发平台采用EVC,如前所述:PC机和WAG0750-842节点之间以ModbusTCP进行数据通讯的,首先需要PC机和WAG0750-842节点之间要建立TCP连接。在EVC开发平台下可以用socket编程,通过节点控制器的IP地址与端口号502与节点控制器建立TCP连接,建立连接以后,PC机和WAGO模块之间就可以进行数据交换了。进行数据交换时,PC机要根据ModbusTCP协议向WAG0750842发送如图2所示的数据包。下面以Write multiple registers函数为例说明控制PC如何向wAG0写模拟量数据的。其函数的伪代码如下所示:WriteR

11、egisters (int skt, WORD Startaddress,BYTE+P WriteBuffer,int Write Num)配置PC机发送数据包writeBuffer;send(skt,WriteBuffer);receive(skt,ReceiveBuffer);异常处理;)PC机向现场总线控制器发送数据包(见表2),如果写成功,则0x1234和0x5678两个数值(由模块信号转换函数:rR(x)的反函数求得)就分别写在了按顺序排列的寄存器0和寄存器1里。万方数据第8期增刊 WAG0750模域与PC机之间的通讯 513表2 Modbus通讯函数发送数据包由以上程序可知:WAG

12、0750一842在处理完写数据以后要向PC机回执一个数据包。若写成功,则返回数据包(见表3):表3 Modbus通讯函数回执数据包若发送错误则返回如下数据包(见表4):表4 Modbus通讯函数回执异常数据包例外代码范围为:OxOlOx04,分别代表4种不同的错误例外,发生错误以后启动异常处理代码,如果系统能够自动修复错误,则程序继续进行;但是如果发生不可修复错误,则向驾驶员发送错误警报。其它函数的操作与此函数类似,PC机可以通过Read coils,Force multiple coils,Read multiple registers和Write multiple registers4个函

13、数对所有的模拟量和数字量进行读、写操作。42潜水器控制PC和WAGO模块的通讯由图1所示硬件体系结构可知载人潜水器控制PC和WAGO模块之间通讯控制的软件结构如图3所示。图3中WAGO和控制PC之间的通讯大体上主要有3部分组成:第1部分为面板开关模块扫描进程负责监视是否有驾驶员的手动控制命令发出,如果有控制命令,则启动信号发送中断服务线程,把命令发送给潜器的执行器。如果执行器接收到命令,则发送指示灯信号,表示驾驶员能够明确任务执行状态。第2部分为潜水器航行控制计算进程,由潜水器控制PC将运算结果发送到螺旋桨电机。第3部分为异常处理例程,主要是监视各种信号(例如,漏水监测、设备供电等等)是否在正

14、常范围之内。进程优先权、时间片设置与进程同步面板开关模1 l航行控制块扫描进程l l计算进程蕴磊喜乒j:孟否为享濯l是 Y石信号发送中f f信弓发送一十1断服务线程l I断服务线程wc,oN号监测进程图3 PC和WAG()模块之间通讯控制的软件结构信号发送中断服务线程流程如图4所示。图4信号发送中断服务线程WAG0和PC的通讯程序是在Windows CENET操作系统下,基于消息传递和事件驱动的方式而编写的,该方案已在我们的载人潜水器控制系统中得到成功应用。5 结束语旨在给出一种用EVC编程语言实现PC机与WAG0750-842节点及模块之间数据通讯的技术及软硬件实现方案,合理充分利用系统的资

15、源及特点,提高通讯效率。对同类系统的设计与实现有一定的启发和帮助。 (下转第515页)叭夕是爵稚嘉燃万方数据第8期增刊 公交车自动收费机无线采集技术研究纠l 坫于二蓝牙的收费机数据无线方案撞壹USBUSBP+ 控接 制口 塾堡 器长远看,选USB接口更好,USB接口速度快和支持PnP。此处采用USB,则汇总机与蓝牙模块的连接如图2所示,由于此应用不需要传送语音,故只有数据和控制信息。如果采用PC标准串行口,则要用MAX232进行电平转换。软件设计:开发软件简单的方法使用现有的协议产品。收费机软件主要在89C52上用汇编语言编程,实现单片机和蓝牙模块之间的数据传输。单片机串口采用方式1,通过对蓝

16、牙串口写入HCI指令完成蓝牙设备的初始化、ACL连接等,最后将收费机上数据打包成ACL数据包传输给汇总机上的蓝牙模块。汇总机软件实现蓝牙硬件的指令软控制、接收和发送数据的后台处理、图形化显示。整个程序可以采用Visual C+在PC上实现,通过有效的会话机制实现双方通信。特点分析:无线传输的安全性是至关重要的。传输双方都必须保证发送和接收数据时对基带物理链路已经进行了加密。所以必须用蓝牙链接对用户进行鉴权,不能完成连接将被禁止传输数据业务。本方案有下列优点:采集速度快;无线接口不会被污染;自动操作;不需要充电;不会出现因内存不足导致采集失败。上述方法适用于信息家电的开发,也适用于无线桌面应用模

17、式。参考文献1 http:|喇w嘲zhyidacom2 http:|嘲wwericssoncombluetoothourtechnolcomponents3 Nathan JMullerBluetooth demystified周正,等译北京:人民邮电出版社,2001(上接第513页)参考文献1郭威,王晓辉,肖琼林,祝普强载人潜水器数据采集与监控系统仪器仪表学报(增刊),2004,25(4):212213,2薛庆吉实现WINDOWS上下位机与PLC网络之间的数据通讯电气自动化,2001(4):4142万方数据WAGO750模块与PC机之间的通讯作者: 郭威, 孟宪伟, 王晓辉, Guo Wei

18、, Meng Xianwei, Wang Xiaohui作者单位: 中国科学院沈阳自动化研究所,沈阳,110016刊名: 仪器仪表学报英文刊名: CHINESE JOURNAL OF SCIENTIFIC INSTRUMENT年,卷(期): 2005,26(z1)被引用次数: 1次参考文献(2条)1.薛庆吉 实现WINDOWS上下位机与PLC网络之间的数据通讯期刊论文-电气自动化 2001(04)2.郭威;王晓辉;肖琼林;祝普强 载人潜水器数据采集与监控系统期刊论文-仪器仪表学报 2004(zk)引证文献(1条)1.刘锦剑.罗红霞.董伟亮 WAGO蓝牙技术在舞台机械设备中的应用期刊论文-机电工程 2010(2)本文链接:http:/

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报