PRO-FACE串口编程.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PRO-FACE串口编程

PRO-FACE人机界面应用技巧[第3讲]——轻轻松松学会串口通讯编程 提供:普洛菲斯国际贸易(上海)有限公司 作者:PRO-FACE  浏览次数:5520   Pro-face的GP2000系列(除GP2301,2501,2401H和2301H)触摸屏有一个扩展串行接口(COM2) ,这个扩展串口通过D脚本程序的编写可以方便的实现GP与一些特殊设备间的通讯(RS232) 。    下面是一个扩展串口通讯的实例。这里我们进行通讯的设备是GP-2500S与CHK-8D型电池巡检仪(以下简称巡检仪)。   1.通讯要求    我们的目的是通过触摸屏读出巡检仪检测到的电池电压信息。   2.通讯设置    巡检仪有一个RS-485口,支持多种波特率。它的通讯格式为异步,一位起始码,八位数据位,一位停止位,无校验,半双工方式。首先,我们在GP的扩展SIO设置中选择和巡检仪的通讯设置一样的参数。设置方法如下:同时按住GP的任意三个角,进入OFFLINE状态,依次进入INITIALIZE,SETUP I/O,SETUP SIO,这里有GP的通讯设置,把它们设置成与巡检仪相应的格式即可。   3.报文交换格式(代码各项均为1字节HEX码)    上位机下发命令:    EB 90 EB 90 巡检仪机号 上位机号 03 00 C1 00 00 90 EB    巡检仪回复:    EB 90 EB 90 上位机号 巡检仪机号 报文长度(L)报文长度(H) C2    电池组电压(1)电池组电压(2)1#电池电压(1) 1#电池电压(2)    2#电池电压(1)2#电池电压(2) …………N#电池电压(1)    N#电池电压(2)代码和(L) 代码和(H) 90 EB    巡检仪机号: 即机器的地址编号,在CHK-8D型巡检仪上设定,我们这里把它设为1号    电池的节数N: 根据实际的电池节数,在CHK-8D型巡检仪上设定,我们这里设为103节   4.D脚本语句说明   4.1 接收功能    下面的命令被用于读从扩展口接收到的数据   格式 IO_READ([p:EXT_SIO], LS Storage Address, Transer Byte)   例子 IO_READ([p:EXT_SIO],[w:LS0100], 10)   [p:EXT_SIO]表示接收数据   [w:LS0100]这是存放接收数据的起始地址,接收数据的大小存放在LS0100,接收的数据从LS0101开始存,10表示有10个字节存放在LS区(最大传送字节是6095)。   4.2 发送功能    下面的命令表示把要发送的数据写到扩展口   格式 IO_WRITE_EX([p:EXT_SIO], LS Storage Address, Transer Byte)   例子 IO_WRITE_EX([p:EXT_SIO], [w:LS0100], 10)   [w:LS0100]是要发送的数据开始地址,10表示要发送10个数据。   *注意:每一个传送的是字节,也就是说传送的是每一个字的低八位,同样接收的数据也是一样的。   4.3 控制    增加控制变量去清除发送和接收缓存器以及错误状态,这个变量的属性是只能写的。   格式    位 [c:EXT_SIO_CTRL**] **:00到15    字 [c:EXT_SIO_CTRL]   例如:控制字的内容    位 [c:EXT_SIO_CTRL00]=1    字 [c:EXT_SIO_CTRL]=0x0007   当控制字的内容被确定以后,它的处理过程按照这样的次序来完成的,先清除错误状态,然后清除接收缓存,再清除发送缓存。         4.4 状态    增加[EXT_eSIO_ISTAT]作为状态变量,这个变量的属性是只读的。   格式    位 [s:EXT_SIO_STAT**] **:00到15    字 [s:EXT_SIO_STAT]   例如    位 if([s:EXT_SIO_STAT00]==1)    字 if(([s:EXT_SIO_STAT]0x0000)0)   字的内容描述如下            4.5 接收数据的大小    这个属性也是只读的。   格式 [r:EXT_SIO_RECV]   例如 if([r:EXT_SIO_RECV]=10)   5.通讯实现   5.1 硬件连接    由于巡检仪的通讯口是RS485,这里我们需要一个485/232的转换器。9针的COM2口的管脚定义如下:      5.2 软件设计       首先

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档