电工技术基础_电工基础知识_电工之家-电工学习网

欢迎来到电工学习网!

用VC++开发微机与OMRON PLC间的通讯程序

2017-04-28 07:34分类:PLC基础知识 阅读:

 

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

上一篇:欧姆龙PLC通电后ERR灯常亮

下一篇:三菱PLC与三菱伺服拓宽器之间的通讯

相关推荐

电工推荐

    电工技术基础_电工基础知识_电工之家-电工学习网
返回顶部