电工知识|用VC++开发微机与OMRON PLC间的通讯程序

   更新日期:2017-03-25     来源:建材之家    作者:水电之家    浏览:53    评论:0    
核心提示:1、前言 可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用了可编程序的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数和算术操作等面向用户的指令,并通过数字式或模拟式输入输出控制各种类型的机械的生产过程。可编程控制器及其有关外部设备,都按易于与工业控制系统联成一个整体、易于扩充其功能的原则设计。早期的plc以数字量的顺序控制为主,提供了简单的慢速的通

显微镜下的黄龙玉

推荐简介:近些年黄龙玉的价格逐渐攀升,有越来越多的人都开始纷纷收藏黄龙玉,随着求购者需求的增多,市面上也出现了不少假的黄龙玉,那有什么仪器可以对黄龙玉的玉色是自然色,还是增强色进行鉴别呢?严格上来说,颜色没有真假,但是玉皮却有真假,用辅助仪器来判断玉色的手段常见的有三种:1.查尔斯滤色镜,又称祖母绿滤色镜,其分辨颜色有专门的颜色对照表可供参考。2.显微镜,一般用于观察玉石的表面特征,玉石内部接近表面的结构......
水电之家讯:1、前言

可编程控制器是一种数字运算操作的电子系统,专为在工业环境下应用而设计。它采用了可编程序的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数和算术操作等面向用户的指令,并通过数字式或模拟式输入输出控制各种类型的机械的生产过程。可编程控制器及其有关外部设备,都按易于与工业控制系统联成一个整体、易于扩充其功能的原则设计。早期的plc以数字量的顺序控制为主,提供了简单的慢速的通信功能(只支持RS232、RS485、多采用Modbus协议),现在的PLC不仅具有逻辑运算、顺序控制、定时、计数和算术操作,而且还具有A/D、D/A转换,数值计算和数据处理等功能。它既可以对开关量进行控制,也可以对模拟量进行控制,随着PLC功能不断扩充,它还有通讯联网功能,举例C200HX/HG/HE的OMRONPLC的CPU内的RS-232C端口和外设端口支持通信功能就有与编程设备(如编程器,LSS,或SSS(中文版))进行通信、与个人计算机和其它外设进行上位机链接通信、与个人计算机和其它外设进行RS-232C、与其它PC进行1:1、再有是与装有NT链接接口的可编程终端(PT)进行NT链接通信(1:1、1:N),本课题就是基于OMRONPLC的链接通信(有通信协议),用VC++开发的上位机与PLC间的通信。

2、OMRONPLC的通信协议

目前,随着PLC的快速发展,越来越多的PLC生产厂商开发了它与计算机的通信功能(主要是利用计算机串口进行通信),本文是以C200HEPLC为例,作详细阐述,本文的通信协议采用的是上位机链接通信。上位机链接通信通过在上位机与PLC之间交换命令和应答实现的。在一次交换中传输的命令和应答数据称为一帧,一个帧最多可包含131个数据字符。

命令帧格式

从上位机发送一个命令时,按下示的格式排列命令数据



@符号必须置于每个命令的开头,节点号是用来辨识每一台PLC的节点,在本文中,它设置PLC的DM6558单元中,识别码设置两字符的命令代码,设置通信是读写PLC的哪个寄存器单元,例读写IR/SR区时它的识别码设置分别为RR和WR,读写DM区分别为RD和WD。正文设置命令参数,包括所要读写PLC寄存器单元的起始地址和字数。FCS是设置两字符的帧检查顺序码,是一个转换成2个ASCII字符的8位数据,这8位数据为从帧开始到正文结束(即FCS之前)所有数据执行“异或”操作的结果。终止符设置“*”和回车(CH R$(13))两字符,表示命令结束。命令帧可以有最多131个字符长。一个等于或大于132字符的命令必须分成若干帧。命令分段,使用回车定界符(CH R$(13))。

应答帧格式



识别码和正文取决于接收到的上位机联结命令,结束码表示命令完成的状态(即是否有错误发生),当应答超过132字符,它必须分成若干帧。结束码是应答帧中表示PLC应答的信息。例结束代码为00表示正常结束,13表示FCS错误,14表示格式错误,15表示入口码数据错误,18表示帧长度错误,A3表示传输数据时因FCS错误引起终止,A8表示传输数据时因帧长度错误引起终止。

本文的上位机命令帧包括读写PLC单元中的数据的命令。读命令帧为:@01RR0100000141*+CH R$(13),意思是上位机读取节点为1的PLC中的IR0100单元中的内容。写命令帧为:@01WR0100000171*+CH R$(13),意思是写一个数到节点为1的PLC的IR0100单元中。

3、系统结构图

下图是计算机与PLC通信的组成系统图



上位计算机与多个PLC进行通信,必须连接一个RS232/422电平转换器,RS422采用平衡发送接收方式,它具有传输距离长、抗干扰能力强和多点通信能力,最多可以接32台PLC,如图1所示,每一台PLC都必须挂一个COM06单元进行RS422方式连接,所有的PLC与计算机间的通讯采用的是PLC上位机链接通信协议。

3.1硬件设置

RS232/422转换器的设置开关拨到422方式,OMRONPLC上的COM06通信板单元同样设置为422方式和四线制。

3.2参数设置

上下位机的通信波特率设置为9600,数据格式设置为E,7,2。

3.3节点设置

在PLC的DC6558单元中设置节点号00(初始值)~31(号机)。

4、用VisualC++6.0编写串行通信程序

本文的上位机链接通信程序是用VisualC++6.0编写的,主要是利用VC++中的一个通信控件来实现的。

首先利用MFCAppWizard(exe)建立一个基于对话框,支持Activex控件,命名为Transcomn的应用程序。然后在对话框中加入一些控件,其中那个电话形状的控件必须是在系统中注册过的MicrosoftCommunicationsControl,由它进行通讯时首先得设置它的一些属性如下。



属性设定值说明

CommPort1通讯协议为PLC上位机链接

通信,利用微机的串口1

InputMode0接收数据类型为文本形式

Rthreshold1每接收一个字符就产生一个事件

Settings9600,E,7,2参数依次为波特率、

奇偶检验数据位数、停止位数



5、程序编写

在程序中需添加的代码如下:

//TranscommDlg.cpp:implementationfile

BOOLCTranscommDlg::onInitDialog()

{

最后要在ClassWizard中添加变量和响应函数如下。



控制名称控制ID对应变量或函数

通讯地址文本框ID-ADDRESSm_address

DM区文本框ID-DMm_dmbox

LR区文本框ID-LRm_lrbox

HR区文本框ID-HRm_hrbox

IR区文本框ID-IRm_irbox

应答帧文本框ID-RESPONSEm_response

通讯控件ID-MSCOMMM-comm.

发送命令按钮ID-SENDonSend()



//TODO:Addextrainitializationhere

//打开通信端口1

m_comm..SetCommPort&n水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
小程序码
 
打赏
 
更多>文章标签:电工
更多>同类水电电工资讯
0相关评论

推荐图文更多...
点击排行更多...
水电商机信息更多...
水电电工圈更多...
最新视频更多...
推荐产品更多...
天花之家 | 木门之家 | 灯具之家 | 铁艺之家 | 幕墙之家 | 五金头条 | 楼梯头条 | 墙纸头条 | 壁纸头条 | 玻璃头条 | 老姚之家 | 灯饰之家 | 电气之家 | 全景头条 | 照明之家 | 防水之家 | 防盗之家 | 区快洞察 | 潜江建材 | 仙桃建材 | 恩施建材 | 随州建材 | 咸宁建材 | 黄冈建材 | 荆州建材 | 孝感建材 | 荆门建材 | 鄂州建材 | 襄樊建材 | 宜昌建材 | 十堰建材 | 黄石建材 | 长沙建材 | 湘西建材 | 娄底建材 | 怀化建材 | 永州建材 | 郴州建材 |
建材 | 720全景 | 企业之家 | 移动社区 | 关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图 | 排名推广 | 广告服务 | 积分换礼 | RSS订阅 | sitemap | 粤ICP备14017808号-1
(c)2015-2017 BYBC.CN SYSTEM All Rights Reserved
Powered by 电工之家