常用设备串口通信协议及其应用_第1页
常用设备串口通信协议及其应用_第2页
常用设备串口通信协议及其应用_第3页
常用设备串口通信协议及其应用_第4页
常用设备串口通信协议及其应用_第5页
已阅读5页,还剩14页未读, 继续免费阅读

下载本文档

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

文档简介

1、修改稿收到日期:20110309。第一作者李煊,男,1964年生,1986年毕业于武汉大学光学专业,获学士学位,高级工程师;主要从事分析仪器、自控技术方面的研究。常用设备串口通信协议及其应用Serial Communication Protocols of Commonly Used Equipment and Their Applications李煊丁为(中石化上海石油化工研究院,上海201208摘要:介绍了研究院常用设备的几种串口通信协议及其在软件设计中的应用。说明了各通信协议的协议内容、通信格式以及根据各通信协议所开发的VB 程序。对几种串口通信协议在实际应用中遇到的问题进行了分析,并给

2、出了解决方案。实践证明,根据这些协议所设计的程序均能够达到控制要求,使设备稳定、可靠地运行。关键词:实验装置通信协议控制指令VB中图分类号:TP29文献标志码:AAbstract :Several serial communication protocols for commonly used equipment in institutes and their application in software design are intro-ducedThe contents and communication format of each communication protocol and

3、 the VB program developed in accordance with the protocol are describedThe problems existing in practical application of several serial communication protocols are analyzed ,and the solutions are givenThe practice verifies that all the programs designed in accordance with these protocols can meet co

4、ntrol requirement and make the equip-ment operate stably and reliablyKeywords :Experimental equipmentCommunication protocolControlInstructionVB0引言上海石油化工研究院所用的实验装置具有点数少、设备多样化等特点。一套典型的小试装置,控制点一般少于100个。这种规模的装置用分布式控制系统(distributed control system ,DCS 显然不够经济(集中评价部门除外。因此,目前设计的微反、小试、中试装置中,多使用“智能仪表+PLC ”模式,

5、其模拟量的测量控制(AI 、AO 由智能仪表完成,开关量(DI 、DO 的控制由PLC 及相关电路完成。近年来,这种模式得到了上海石油化工研究院研究、管理部门的认可。对于这种模式的监控、操作、记录平台的实现,工控机和串口编程技术成为了核心。本文列举了几种日常工作中常用设备的通信协议,并介绍了这些通信协议的应用。1AIBUS 通信协议AIBUS 是厦门宇电自动化科技有限公司为AI 系列显示控制仪表开发的通信协议,其使用异步串行通信接口,接口电平符合RS-232C 或RS-485标准中的规定1。采用RS-485通信方式时,能通过简单的指令实现仪表的全功能操作,并提供比其他常用协议(如Modbus

6、更快的速率。在9600bit /s 下,一般上位机访问一台70版仪表的平均时间约80ms ,但若采用AIBUS ,一次性访问56个通道只需12s ,平均访问时间在20ms 左右。11AIBUS 通信指令AI 仪表采用16进制数据格式来表示各种指令代码及数据,其软件通信指令经过优化设计,只有读、写两条指令,从而使得上位机软件的编写更容易,且能够100%地对仪表进行操作。标准的读写指令如下。读:地址代号+52H (82+要读的参数代号+0+0+校验码。写:地址代号+43H (67+要写的参数代号+写入数低字节+写入数高字节+校验码。参数代号是指在使用RS-485通信方式时,为在一个通信接口上连接多

7、台AI 仪表,需要为每台AI 仪表编一个互不相同的通信地址,有效的地址为0 80。校验码采用16位求和校验方式,其中读指令的校验码计算方法为要读参数的代号256+82+Addr 。写指令的校验码计算方法为以下公式作16位二进制加法计算得出的余数(溢出部分不处理:要写的参数代号256+67+要写的参数值+Addr ,余数为2个字节,其低字节在前,高字节在后。公式中Addr 为仪表地址参数值,范围为0 80。要写的参数值用16位二进制整数表示。无论是读还是写,仪表都返回以下10个字节数据,即测量值PV +给定值SV +输出值MV 及报警状态+所读/写参数值+校验码。其中,PV 、SV 及所读参数值

8、均各占2个字节、MV 占1个字节、状态位占1个字节、校验码占2个字节,共10个字节。12读表程序的逻辑框图正常情况下,一台仪表的通信时间不会超过100ms 。若在1s 内不能完成通信,则认为本次通信失败,连续5次通信失败则判断为仪表通信故障;若在1s 内完成通信且校验码正确,则认为仪表通信成功。在实际测试中,没有发现校验码错误例子。写表程序类似,不再赘述。设计的读表程序逻辑框图如图1所示。 图1读表程序逻辑框图Fig1Logical diagram of communication programme for computer s reading 13VB 环境下的编程实例根据AIBUS 协议

9、,在我们的监控软件中,读表程序主要部分描述如下。其中,out 定义为字节型数组。MSComm1Portopen =True /打开通信口For add =1To 27/总共27个仪表通道out (0=128+add /地址代号,下同out (1=128+add out (2=82/读指令标志out (3=0out (4=0out (5=0crc =82+add crch =Int (crc /256/校验码高位计算crcl =crc crch *256/校验码低位计算out (6=crcl out (7=crchMSComm1Output =out /输出读表申请Do DoEventsLoop

10、 Until MSComm1InBufferCount =10/返回值完毕判断Income =MSComm1Input/取出返回值/将返回值按协议解码得到测量值、给定值、输出值及报警状态、所读参数值、校验码。验证校验码后,证明本次通信成功。Next add14应用情况在实际工作中,通过使用AIBUS 协议所编写的程序,用户可以在上位机上实现目标值(多段控制值的输入、控制参数的修改和实时值(测量值、给定值、输出值及报警状态采集。以返回接收缓冲器的字节数等于10作为输入结束的判断,没有发现过异常或者乱码,AIBUS 协议被认为是目前所用各类通信协议中较为友好、稳定的协议。2FX2N 系列PLC 通

11、信协议FX2N 系列PLC 与计算机间的通信类型有NN 网络、并行链接、计算机链接(用专用协议进行数据传送,RS-485/422和无协议通信(用RS 指令进行数据传输等2。考虑到系统点数少和工控机监控的特点,本文采用计算机链接通信。21计算机链接指令计算机链接指令如表1所示,由此可以对PLC 进行全方位操作。表1计算机链接指令表Tab1The table of computer linking instructions指令描述BR 位软元件以1点为单元进行读WR 位软元件以16点为单元进行读,或字软元件以1位单元进行读BW 位软元件以1为点单元进行写WW位软元件以16点为单元进行写,或字软元件

12、以1位单元进行写BT 位软元件以1为点单元制定设置/复位(强制开/关WT 位软元件以16为点单元制定设置/复位(强制开/关,或字软元件以1点为单元指定写数据RR PLC 由远程控制启动RC PLC 由远程控制停止PC 读PLC 类型控制代码GW 开/关所有连接的PLC 的全局信号接通要求功能(从PLC 发出发送请求,没有命令TT从计算机接收到的字符被直接返回到计算机22相关指令介绍常用的指令包括位软元件成批读指令(BR 和位软元件成批写指令(BW 。221位软元件成批读(BR 指令BR 指令协议格式为ENQ +站号+PC 号+BR +等待时间+元件号+元件数+校验码。其中,“ENQ ”表示计算

13、机查询,其值为05H ;“站号”表示如有N 台PLC ,站号为00H (N 1,十六进制;“PC 号”表示对于FX 系列PLC ,该号取值为FFH ;“BR ”表示批读指令;“等待时间”的值根据需要设置;“元件号”表示一组位软元件及其编号;“元件数”表示本次要同时读的元件个数。PLC 接受指令后的反馈值为STX +站号+PC 号+指定元件数据+EXT +校验码。其中,“STX ”表示文本起点,其值为02H ;“EXT ”表示文本终点,其值为03H ;“指定元件数据”取值为“0”或“1”,“0”代表“关”,“1”代表“开”。222位软元件成批写(BW 指令BW 指令协议格式为ENQ +站号+PC

14、 号+BW +等待时间+元件号+元件数+校验码。除了指令字符为BW 外,其他定义同221节。PLC 接受指令后的反馈值为STX +站号+PC 号。23PLC 编程实例在研究院的各项试验中,工作程序往往是变化的,特别是某一工段的时间设置。对于这种工作状态,让试验人员不断地修改PLC 程序并不现实,自控人员也没有时间和精力经常去做这件事。为此,在PLC 编程中,编制了两套程序,分别用于2种工作状态。PLC 控制状态,适用于按照预先规定好的常规工作程序操作,此时计算机可以启动/关闭现场设备和试验数据记录。计算机控制状态,适用于不断变化的工作程序。而这两种状态的切换,由计算机改变PLC 中的辅助继电器

15、实现。当计算机处于控制状态时,PLC 仅充当DI 、DO 功能,并保留安全连锁功能。按照上述思想编制的部分PLC 程序梯形图如图2所示 。图2PLC 程序梯形图(部分Fig2Ladder diagram of PLC ladder program (partial 图2中,M20为状态切换的辅助继电器,缺省值为PLC 控制,X0003为连锁保护输入点,在两个状态下都适用,Y0005为控制目标输出端,T0、T4为PLC 的时间继电器,分别代表开始、结束时间,M5为计算机控制所使用的辅助继电器,其开关状态由计算机规定,由此实现任意时间的设置。24功能的实现指令改变M20,由PLC 控制并切换成计算

16、机控制的指令为:MSComm 2Output =Chr ¥(5+"00FFBW 0M002001156"闭合M5,使Y0005动作的指令为:MSComm 2Output =Chr ¥(5+"00FFBW 0M000501159"读取Y0000 0007状态的指令为:MSComm2Output =Chr ¥(5+"00FFBR0Y00000831"通过这些指令,可灵活地根据实际需要,使用计算机控制PLC 的开关状态,达到计算机控制目的。25实际应用情况按上述思路设计的实验装置和自行开发的程序,自2003年开始使用至今,除了电动机联动限位

17、开关长期使用损坏过外,其他控制部分没有出过任何问题。PLC 接受指令后的反馈值,作为通信成功的判定。其中通信故障判断方法类似12节,不再赘述。3PL-L 系列电子天平31部分MT-SICS 指令发送至天平的指令包含一个或多个ASCII 码组,因此,必须注意以下几点3。只能使用大写字母输入指令;指令中的参数必须在指令名中以空格的形式分开;文字的输入可以是8位ASCII 字符集从字符32到255(十进制所构成的一组字符串;每组指令必须以CRLF 结束(ASCII 十进制代码13,10;例如,指令“SI ”+CRLF 为要求天平发送当前稳定的净称量值,天平返回值为“S S10000g ”。同时,天平

18、可能返回其他信息,如“S I ”,表示无法执行指令(天平正执行其他指令,如去皮或因未达到稳定值指令已超时;返回“S +”时,表示天平过载,“S ”时,表示天平欠载。32实际应用情况上海石油化工研究院装置中的电子天平(秤一般都用于监视原料(产物的减少(增加,其属于一个动态过程,故平时只使用该天平指令中的“SI ”指令(立即发送称量值,即MSComm3Output =“SI ”+vbCr +vbLf 。指令发出后,即可得到相应值,按位数取出重量值及单位即可。但实际应用中存在的问题是该天平的通信时间不稳定。根据实测记录,从指令发出到返回值接收,所用的时间是随机变化的,从小于200ms 到大于2s 都

19、有可能,这对故障判断非常不利。在实际编程中,若连续10次通信时间超过2s,则判断该天平通信故障或者没有上电,在发出故障通报后,停止对该天平的监控。4Mark天平/Q系列41RS-232C接口参数Mark天平/Q系列电子天平可以通过标准RS-232C接口,由计算机运行各种功能4。天平操作按键与计算机指令对应表如表2所示。表2按键与指令对应表Tab2Pushbuttons vscomputer instructions 代码第一功能(单次按键第二功能(长时间按键“T”=H54“C”=H43“E”=H45“M”=H4D “O”=H4F “t”=H74“c”=H63“e”=H65“m”=H6D “o”

20、=H6F皮重校准插入菜单电源开/关皮重校准插入菜单电源开/关对于计算机通信设置,该系列天平提供了PC Cout (连续模式和PC Cmd(指令模式两种选项。这两种模式的返回格式如表3所示。表3返回值格式表Tab3Format(sof the returned value(s含义符号重量值重量单位稳定性CR CF字节数12 910 1213141542实际应用情况连续模式不需要指令,天平会连续不断地发送当前的称量值。由于没有上下位机的协调动作,计算机首先取到的往往是乱码。而指令模式仅能在称重物质量稳定的情况下使用,否则会出现通信错误的提示。经过分析,决定在连续模式下进行“去伪存真”处理:将输入数

21、据缓冲区的长度定在50,约是输入数据长度(15的3倍;然后在大于一个数据段长度的第11位开始,找到重量单位“g”,再倒退11位,分析每一位是否为0 9的数字,并分析小数点和正负符号位的正确性,若满足,则认为这一段是有效值,否则再从下一个数据段进行查找;若整个数据段都是乱码,则放弃,重新取数。若重新取数5次,还没有拿到正常数据,则发出通信错误通报。根据实测情况,约每10组数中有一组乱码,而且乱码都出现在前几个字符,这样基本上保证了上述对策的有效性。经过长时间的运行,该对策经受住考验,使得计算机能够按要求获得相关数据。5Lab alliance II型计量泵51通信指令简介Lab alliance

22、 II型计量泵配置了一个RS-232C通信接口,接口使用的是RJ-11接头,与计算机上的9针串口的对应关系如表4所示5。上位机可以对该泵进行流量设置和启停操作。表4计量泵与RS-232C引脚的接线对照Tab4Connections between metering pump and RS-232C pins 泵(RJ-11功能计算机(DB96接地52DSR(输入到泵43RXD(输入到泵34TXD(从泵中输出25DTR(从泵中输出6Lab alliance II型计量泵常用的通信指令有3条:FL,xxx表示设置流量为xxx mL/min的指令,设置范围由泵头类型决定,如001到009,01到39

23、9等;RU表示设置泵运行指令;ST表示设置泵停止指令。52实际使用情况VB指令MSComm7Output=“FL,”+Text7Text+vbCr+vbLf表示将指定的流量送入计量泵, MSComm7Output=“RU”+vbCr+vbLf表示发出运行指令,MSComm7Output=“ST”+vbCr+vbLf 表示发出停止指令泵在接收以上指令后,会反馈一个“OK”字符,表示通信成功。经过多年的使用,该泵的通信较为稳定,没有出现过问题,但存在以下几个缺点。接口使用的是RJ-11,需要专用卡钳制作。没有流量读取指令,当用户在现场手动改变流量后,计算机不能获得信息,此时若需要记录,只能到计算机

24、界面上修改(不下传。6Valco公司八通阀整套八通阀由阀体、控制器、手操器、24V直流电源以及相关连接电缆组成6。控制器通过RS-232C (RS-485可选电缆与电脑连接。当多台阀与计算机相连时,可以使用该公司提供的并联线,将多台阀全部并联后,接入计算机的一个串口。本项目使用了6台(最多10台。阀之间通信的区分通过给每台阀设置不同的ID号实现。61常用指令介绍常用的指令有:VR,为显示部件号和出厂日期; GOnn,为阀按照最短路径走到nn位;CP,为显示当前通道数;IDn,为设置ID号,从0 97。62使用中遇到的问题类似上述恒流泵,许多指令如GOnn是没有应答的,这是因为计算机无法得知指令

25、是否被完整执行。与供货商讨论的结果是在GOnn指令后,再加上一条CP指令,以读取当前的实际通道数,用两条指令满足实际控制的要求。从表面上看,该逻辑是成立的,但在实际调试中,发现GOnn指令的完整执行需要较长时间,例如阀从1号位到4号位接近1s,在阀还没有转动到位时,CP已经返回目标值,而不是实际到位信息。这种现象在单个阀控制时不会出现问题,若多阀联动且共用一条通信线时,则会造成通信上的堵塞。从控制器返回的信息可以发现,许多正常的指令,在一定状态下特别是通信繁忙的情况下,会被阀控制器判断为无效指令。因此,在实际应用中,只能在用户可接受的范围内放慢运行速度,以保证每个阀的转动确实到位。7结束语工控

26、机及串口编程技术是中石化上海石油化工研究院装置自控部分设计的核心,上述几种串口通信协议及程序设计方法在装置设计中均得到了较好的应用。在实际的程序设计中,需要仔细分析各串口通信协议的内容,根据各协议的不同特点,灵活地调整设计方案,必要时还需要与生产商进行沟通。参考文献1张磊AIBUS现场通讯总线的PLC工控设计方案JMM现代制造,2006(92王芹,滕今朝可编程控制器技术及应用M天津:天津大学出版社,20083Mettler-Toledo Pac Rim AGPL-L line of classic light balancesEB/OL20070806http:/wwwmtcom/classi

27、c4BEL Engineering S R LAnalytical and top loading“Q”seriesMARK balancesEB/OL20091015http:/wwwbe-lengineeringcom/chi/menu_downloadsasp5Scientic Systems,IncSeries II pump users guideEB/OL20090709http:/wwwlaballiancecom/Pdf/active/pumps/Series_IIpdf6Valco Instruments CoIncTechnical note415:multi-position micro-electric valve actuatorsEB-OL20110702http:wenku

温馨提示

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

评论

0/150

提交评论