VC环境下三菱PLC与微机的串行通信seo

上传人:工**** 文档编号:558295124 上传时间:2023-09-07 格式:DOCX 页数:10 大小:113.85KB
返回 下载 相关 举报
VC环境下三菱PLC与微机的串行通信seo_第1页
第1页 / 共10页
VC环境下三菱PLC与微机的串行通信seo_第2页
第2页 / 共10页
VC环境下三菱PLC与微机的串行通信seo_第3页
第3页 / 共10页
VC环境下三菱PLC与微机的串行通信seo_第4页
第4页 / 共10页
VC环境下三菱PLC与微机的串行通信seo_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《VC环境下三菱PLC与微机的串行通信seo》由会员分享,可在线阅读,更多相关《VC环境下三菱PLC与微机的串行通信seo(10页珍藏版)》请在金锄头文库上搜索。

1、VC环境境下三菱菱PLCC与微机机的串行行通信周万里 曾文文火(江苏科科技大学学 机械械与动力力工程学学院,江江苏 镇镇江 22120003)摘 要要:主要要介绍三三菱FXX系列PPLC与与上位机机之间的的通讯协协议,并并采用CCSerriall类来实实现串行行通信,本本文给出出了程序序设计方方法和部部分源代代码。关键字:串行通通信 PLCC CCSerriall0 引言可编程控控制器(PPLC)是是集计算算机技术术、自动动控制技技术、通通信技术术为一体体的新型型自动控控制装置置。由于于体积小小、可靠靠性高以以及组态态灵活等等优点,PPLC在在工业控控制领域域得到了了广泛的的应用。将将PC机机

2、与可编编程控制制器组合合起来,充充分利用用PC机机强大的的人机接接口功能能、丰富富的应用用软件和和低廉的的价格来来共同实实现管理理、控制制一体化化成为一一个新的的发展趋趋势。本本文重点点介绍在在Winndowws 220000环境下下如何利利用VCC来实现现PC机机与三菱菱PLCC之间的的串行通通讯。1 三菱PLLC与计计算机之之间通信信协议FX2系系列PLLC与计计算机之之间的通通信采用用RS-2322标准,其其传输速速率固定定为96600bbps,奇奇偶校验验位采用用偶校验验。数据据格式如如表1所示示。数据据以帧为为单位发发送和接接收。一一个多字字符帧由由图1所示示的五部部分组成成,其中中

3、和校验验值是将将命令码码STXXETTX之间间的字符符的ASSCIII码(十十六进制制数)相相加,取取得所得得和的最最低二位位数。SSTX和和ETXX分别表表示该字字符帧的的起始标标起和结结束标志志。图1数数据帧格格式 (1)起始字字元(SSTX):ASCCII码码的起始始字元SSTX对对应的116进制制数位00x022。无论论命令信信息还是是回应信信息,它它们的起起始字元元均为SSTX,接接收方以以此来判判知传输输资料的的开始。(2)命令号号码:为为两位116进制制数。所所谓命令令号码是是指上位位机要求求下位机机所执行行的动作作类别,例例如要求求读取或或写入单单点状态态、写入入或读取取暂存器

4、器资料、强强制设定定、运行行、停止止等。在在回应信信息中,下下位机会会将上位位机接收收到的命命令号码码原原本本本的随随同其它它信息一一同发送送给上位位机。(3)元件首首地址:对应要要操作的的元件的的相应的的地址。如如从D1123单单元中读读取数据据时,要要把它对对应的地地址:00x100F6发发送给PPLC。(4)元件个个数:一一次读取取位元件件或字元元件的数数量。(5)结束字字元(EETX):ASCCII码码的结束束字元EETX对对应的116进制制数为00x033。无论论命令信信息还是是回应信信息,它它们的结结束字元元均为EETX,接接收方以以此来判判知此次次通讯已已结束。(6)校验码码(C

5、hheckksumm):校校验码是是将STTX-EETX之之间的AASCIII字元元的166进制数数值以“LRCC(Loongiituddinaal RReduundaancyy Chheckk)”法计算算出1个个Bytte长度度(两个个16进进制数值值00-FFHH)的校校验码。当当下位机机接收到到信息后后,用同同样的方方法计算算出接收收信息的的校验码码,如果果两个校校验码相相同,则则说明传传送正确确。FX2系系列与计计算机之之间的通通信是以以主机发发出的初初始命令令,PLLC对其其做出响应应的方式式进行通通信的。共共有0、11、7、88四种命命令,上上位机实实现对PPLC的的读写和和强行置

6、置位。通通过ENNQ、AACK和和NAKK,上位位机协调调与PLLC的通通信应答答。2 编程口操操作命令令类型串行通信信是计算算机与其其他机器器之间进进行通信信的一种种常用方方法,在在Winndowws操作作系统中中提供了了实现各各种串行行通信的的APII函数。通通过SCC-099编程电电缆或FFX-2232-BD通通讯模块块,可以以将PCC机和计计算机串串行通信信口RSS-2332连接接起来,可可以实现现PC机机对PLLC的RRAM区区数据进进行读、写写操作。根根据PLLC本身身所具有有的特性性,计算算机可对对PLCC进行以以下4种种类型的的操作:(1)位位元件或或字元件件状态读读操作(CM

7、DD0);(2)位位元件或或字元件件状态写写操作(CMDD1);(3)位位元件强强制ONN操作(CMDD7);(4)位位元件强强制OFFF操作作(CMMD8)。3 软件编程程(1)串行通通信实现现方法在进行行以上四四种操作作之前要要对串行行通信口口进行必必要的初初始化。本本人采用用了一个个专门针针对串行行通信的的CSeeriaal类,并并在Oppen函函数中进进行了进进一步的的完善。它它由MuuMegga TTechhnollogiies公公司提供供的一个个Vissuall C+类,我我们只要要理解CCSerriall类种的的几个成成员函数数,就能能很方便便地实现现串行通通信了。以以下是该该类

8、定义义:classs CCSerriallpubllic:CSeeriaal();CSSeriial();BOOOL OOpenn( iint nPoort , iint nBaaud,iint nPaaritty,iint nByyteSSizee,innt nnStoopBiits );BOOOL CClosse( voiid );intt ReeadDDataa( vvoidd *, innt );intt SeendDDataa( cconsst ccharr *, innt );intt ReeadDDataaWaiitinng( voiid );BOOOL IIsOppeneed(

9、 voiid ) rretuurn( m_bOppeneed ); prottectted:BOOOL WWritteCoommBBytee( uunsiigneed ccharr );HANNDLEE m_hIDDCommDevv;OVEERLAAPPEED mm_OvverllapppedRReadd, mm_OvverllapppedWWritte;BOOOL mm_bOOpenned; Seriial:Oppen这这个成员员函数打打开通信信端口。带带五个参参数,第第一个是是串口号号,第二二个参数数是数据据传输速速率,第第三个是是数据效效验方式式,第四四个是数数据位数数,第五五个是数数据

10、停止止位。 Seriial:Cllosee函数关关闭通信信端口。 CSerriall:SSenddDatta函数数把数据据从一个个缓冲区区写到串串行端口口。第一一个参数数是缓冲冲区指针针,其中中包含要要被发送送的资料料;第二二个参数数是发送送的字节节数。 CSerriall:RReaddDatta函数数从断口口接收缓缓冲区读读入数据据。第一一个参数数是缓冲冲区指针针,资料料将被放放入该缓缓冲区;第二个个参数缓缓冲区的的大小。(2) 位元件件或字元元件状态态读操作作操作对象象元件:PLCC内部的的X、YY、M、SS、T、CC、D元元件;命命令格式式如表11;在发发送完上上述命令令格式代代码后,就

11、就可以读读取PLLC响应应信息了了。响应应信息格格式如图图2; 图2响应信息格式部分程序序代码:BOOLL CPPlcCComDDlg:ReeadPPLC(chaar *Reaad, chaar *adddresss, intt byytess)CSeeriaal SSeriial;chaar rreadd_BUUFFEER;if(Serriall.Oppen(m_ccom, m_Buaad, m_PPariity, m_Bytte, m_SStoppBittes)Seeriaal.SSenddDatta(&ENQQ_reequeest,1);/发发送联络络讯号Slleepp(1000);Se

12、eriaal.RReaddDatta(&reaad_BBUFFFER,1);/读读取PLLC响应应讯号iff(reead_BUFFFERR=AACK)/初始始化变量量/发送送图2命命令格式式代码ASCIII(rreadddattasuum_cchecck,rreadddatta_ssum);/将SSTX-ETXX之间的的字符相相加,转转换成AASCIII(十十六进制制),并并取和的的低二位位数。if(*reeadddataasumm_CHHECKK=*reaaddaatassum_cheeck)/和和校验/对读读出的数数据进行行处理,转转换成整整型数forr(innt jj=0;jbbytee

13、s/22;j+) forr(i=j*22;i0xx39)?(RReaddi-0xx41+0xAA):(Reaad i-0x330);Reaad_vvaluuejj=(Reead j*4+224)+Reaad j*44+3)+Reaad j*44+0)4)+Reaad j*44+1;retturnn TRRUE;elsserretuurn FALLSE;/将整整数转换换成ASSCIII(十六六进制),并并取低二二位,voidd CPPlcCComDDlg:ASSCIII(chhar *tootall_daatabbytees, intt reead_byttes)unssignned intt

14、uTTmp;uTmmp=rreadd_byytess & 0x0000ff; tottal_dattabyytess1=(uuTmpp4) & 00x0000f;tottal_dattabyytess0=(uuTmpp100)?(uTmmp+00x300):(uTmmp+00x411-0xxA);(3) 位元件件或字元元件状态态写操作作操作对象象元件:PLCC内部的的X、YY、M、SS、T、CC、D元元件;命命令格式式如图33所示。图3位元件或字元件写操作程序代码码(略)。(4) 位元件件强制OON操作作操作对象象元件:PLCC内部的的X、YY、M、SS、T、CC元件;命令格格式如图图4所示示。图4位元件强制ON操作部分程序序代码如如下:voidd CPPlcCComDDlg:FoorceeOnOOpreeatiion(chaar *Adddresss)CSeeriaal SSer

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号