你现在位置:首页>技术论文>数据通讯>正文
利用MFC实现PC与三菱PLC编程口的通信技术
日期:2006-4-30 10:18:27 来源:本文摘自《PLC&FA》  
点击: 作者:未知
点击【】放大字体.

1  引言

WWW_PL※CJS_COM-PLC-技.术_网

    可编程序控制器作为当代工业自动化的主要支柱之一,随着其应用范围的不断扩大,PLC与PC之间通信技术的应用也越来越广泛。
WW.W_PLC※JS_C,OM-PL,C-技.术_网

plcjs.技.术_网

    通过PLC的编程口进行通讯不仅可以减少系统的成本及复杂性,同时可以减少PLC方面软件的复杂程度和编程量。
W1WW_P4LCJS_COM-PLC-技.术_网

WW.W_PLC※JS_C,OM-PL,C-技.术_网

    本文根据实际工程中的经验进行总结,介绍了利用VC++中MFC实现PC与三菱FX2系列PLC编程口进行串行通信的程序设计基本方法。
plcjs.技.术_网

2  通信程序设计

WWW_PL※CJS_COM-PLC-技.术_网

    在PC机和三菱FX2系列PLC进行串行通信时,由于PC与PLC之间的信息传送是通过PLC编程口实现的,采用的是PLC专用协议通信指令。因此,在PC编程方面需要严格的遵循PLC编程口通讯协议。具体实现介绍如下。
WWW_P※LCJS_COM-PLC-)技.术_网

WW.W_PLCJS_COM-PLC-技.术_网

2.1 串口设备的打开
WW.W_PLCJS_COM-PLC-技.术_网

在Visual C++中,利用MFC CFile类来实现串行通讯。这种通信方式与访问磁盘普通文件没有太大不同。打开串口设备需作以下操作:
P.L.C.技.术.网——可编程控制器技术门户

CFile file;
WWW_PLCJS_COM-PLC-技.术_网

CFileException e;
WW.W_PLCJS_COM-PLC-技.术_网

file.Open (
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

   portName, //example "COM1","COM2"
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

   CFile::modeReadWrite,  
WWW.PLCJS.COM——可编程控制器技术门户

   &e);
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

WWW.PLCJS.COM——可编程控制器技术门户

2.2 串口设备的初始化
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

    串行端口创建时,必须对其进行设置以匹配与其对话的设备。FX2系列PLC的波特率为固定的9600bps,奇偶校验采用偶校验,1位停止位,7位数据位。
P.L.C.技.术.网——可编程控制器技术门户

W1WW_P4LCJS_COM-PLC-技.术_网

一般地,可用如下程序设置它们:
WW.W_PLCJS_COM-PLC-技.术_网

DCB dcb;  
WWW.PLCJS.COM——可编程控制器技术门户

::GetCommState( (HANDLE)file.m_hFile, &dcb );
plcjs.技.术_网

dcb.BaudRate = 9600;
WWcW_PLCJS_COM-PLC-技.术_网

dcb.ByteSize = 7   ;
WWW_PL※CJS_COM-PLC-技.术_网

dcb.StopBits = 1   ;
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

dcb.Parity   = 2   ;
WW.W_PLCJS_COM-PLC-技.术_网

::SetCommState((HANDLE)file.m_hFile, &dcb );
WWW_PLCJS_COM-PLC-技.术_网

为了更好的控制端口可以利用SetCommTimeouts()函数打开或关闭串口超时功能,具体程序如下:
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

COMMTIMEOUTS cto; 
WWW_PLCJS_COM-PLC-技.术_网

::GetCommTimeouts((HANDLE)file.m_hFile,&cto);
P.L.C.技.术.网——可编程控制器技术门户

cto.ReadIntervalTimeout =0;   
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

cto.ReadTotalTimeoutMultiplier =0;  
WWW_PLC※JS_COM-PmLC-技.术_网

cto.ReadTotalTimeoutConstant =0;    
WWW_PLCJS_COM-PLC-技.术_网

cto.WriteTotalTimeoutMultiplier=0;  
WWW_P※LCJS_CO※M-PLC-技-.术_网

cto.WriteTotalTimeoutConstant =0;   
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

::SetCommTimeouts((HANDLE)file.m_hFile,&cto);
——可——编——程——控-制-器-技——术——门——户

P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW_P※LCJS_COM-PLC-)技.术_网

图1      多字符帧的组成
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WW.W_PLCJS_COM-PLC-技.术_网

2.3 PC与PLC间的通信
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

    FX2系列PLC与PC机的通信中,数据是以帧为单位发送和接收的。其中字符ENQ(0x05)、ACK(0x06)、和NAK(0x15)作为单个字符,可以构成单字符帧。其余的字符在发送和接收时必须用字符STX(0x02)和ETX(0x03)分别表示该字符帧的起始标志和结束标志,否则将构成帧错。一个多字符帧由字符STX、命令码、数据、字符ETX以及和校验五部分组成,其中和校验值是将命令码到ETX之间的所有字符的ASCII码(十六进制数)相加,取所得和的最低二位数。多字符帧格式如图1所示。表1示出FX2系列PLC与PC通信所用的命令码。
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

WWW_PLC※JS_COM-PmLC-技.术_网

    在刚开始通信时,PC机首先要发送一个控制字符ENQ(0x05),去查询PLC是否做好通信准备,同时也检查一下PC机与PLC的连接是否正确。若通讯正常,则应答字符ACK(0x06);若通信有错,则应答字符NAK(0x15)。
W1WW_P4LCJS_COM-PLC-技.术_网

W1WW_P4LCJS_COM-PLC-技.术_网

(1) 应用MFC CFile类实现对串口设备的读写操作的代码
W1WW_P4LCJS_COM-PLC-技.术_网

//读串口
WWW_P※LCJS_COM-PLC-)技.术_网

char m_ReadBuff[UINT n];
WW.W_PLC※JS_C,OM-PL,C-技.术_网

  UINT nByte=file.Read (
——可——编——程——控-制-器-技——术——门——户

&m_ReadBuff,   //buffer to store byte
WW.W_PLC※JS_C,OM-PL,C-技.术_网

UINT nCount     //number of bytes to read
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

);
plcjs.技.术_网

//写串口
plcjs.技.术_网

char m_WriteBuff[UINT n];
WWW_PL※CJS_COM-PLC-技.术_网

  file.Write (
W1WW_P4LCJS_COM-PLC-技.术_网

&m_WriteBuff,  //buffer to store byte
WWW_PLCJS@_COM%-PLC-技.术_网

UINT nCount    //number of bytes to write

本新闻共3页,当前在第11 2  3  
WWW_PL※CJS_COM-PLC-技.术_网

评论内容
载入中...
相关文章
商城相关
相关下载
博客相关
论坛相关
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
深圳秦合源科技有限公司 
   深圳市秦合源科技有限公司是国内领先的规模较大品种齐全的称重传感器(Loadce......
广州汇巨自动化设备有限公司 
   广州汇巨自动化设备有限公司是一家专业工业自动化产品和自动化设备开发、维修改造、电......
深圳联脉电子有限公司 
   公司自1998年创立以来,一直致力于工业控制产品的研发、制造、销售,目前有机房监......
北京力天昭阳科技发展有限公司 
   北京力天昭阳科技发展有限公司(PekingPowerSkyScience&......
东莞市友诚自动化 
   本公司专业代理台湾永宏、台达PLC、HITECH人机、特价供应文本显示器MD20......
深圳市爱威轮实业有限公司 
   爱威轮实业对广大用户的技术支持与服务,贯穿于与客户接触的每一个环节中,渗透在每一......
·栏目热门排行
·站内热门排行
载入中。。
报告错误·关于我们· 用户帮助· 联系我们 · 友情链接· 本站服务 · 合作伙伴 · 版权声明· 招聘信息 · 投搞指南

迅闻自动化工程部声明如下:
旗下网站:PLC技术网(www.plcjs.com)-可编程控制器技术门户
网站备案号:粤ICP备17165530号
网站法律顾问:ITLAW-庄毅雄律师
法律保护:PLC技术网,迅闻电子,plcjs.com,plcjs.net,plcjs.cn等字样

Copyright 2010-2015. All rights reserved. 

51La