用欧姆龙PLC与上位机通信实现振动磨的变频控制_第1页
用欧姆龙PLC与上位机通信实现振动磨的变频控制_第2页
用欧姆龙PLC与上位机通信实现振动磨的变频控制_第3页
用欧姆龙PLC与上位机通信实现振动磨的变频控制_第4页
用欧姆龙PLC与上位机通信实现振动磨的变频控制_第5页
全文预览已结束

下载本文档

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

文档简介

1、用欧姆龙PLC与上位机通信实现振动磨的变频控制1.引 言 当今,在自动化的工业生产中,变频控制往往与计算机远程控制相联系在一起,从而实现电机的远程变频控制。可编程序控制器系统不仅可作为单一的机电控制设备,而且作为通用的自动控制设备,也被大量地用于过程工业的自动控制。欧姆龙最新推出的可编程控制器SYSMAC CP1H,具有“高度扩张性”的端子台型一体化1。与以往产品CPM2A 40 点输入输出型为相同尺寸,但处理速度可达到约10倍的性能。本课题通过控制机(即为PLC)设定1.引 言 当今,在自动化的工业生产中,变频控制往往与计算机远程控制相联系在一起,从而实现电机的远程变频控制。可编程序控制器系

2、统不仅可作为单一的机电控制设备,而且作为通用的自动控制设备,也被大量地用于过程工业的自动控制。欧姆龙最新推出的可编程控制器SYSMAC CP1H,具有“高度扩张性”的端子台型一体化1。与以往产品CPM2A 40 点输入输出型为相同尺寸,但处理速度可达到约10倍的性能。本课题通过控制机(即为PLC)设定比例运行参数,然后控制机通过D/A转换模件发出控制变频调速器的指令,使变频调速器带动振动磨电机按输入的速度和时间运转。基于OMRON PLC的链接通信(有通信协议),我们采用功能强大的Visual C+6.0语言来实现这种小型集散控制系统的上、下位机的通信和友好的监控界面,实现了上位机与PLC间的

3、通信。2.通讯软件的设计 在本项目中,上位机选用计算机, 下位机选用日本Omron公司的CP1H系列XA40DR-A可编程序控制器。在计算机外设中,RS-232串口因为其组成方式简单,编程控制方便而成为应用最为广泛的I/O通道之一。32 位下串口通信程序通常采用两种方法实现:一是利用ActiveX控件; 二是使用API通信函数。使用ActiveX控件, 程序实现非常简单, 结构清晰,缺点是欠灵活; 使用API通信函数的优缺点则基本上相反2。VC+6.0的MSComm是Microsoft 公司提供的简化Windows 下串行通信编程的ActiveX控件,它为应用程序提供了通过串行接口收发数据的简

4、便方法,笔者采用了这种方法。其端口接线见附图。2.1 上位机与PLC的通讯协议 HOST Link系统使用HOST Link 通信协议进行通信,上位机具有传送优先权,总是首先发出命令并启动通信,HOST Link 通信单元收到命令交由PLC执行,然后将执行结果返回上位机,两者以帧为单位轮流交换数据。2.2 上位机的PLC链接通讯 通信时一组传送的数据称为块,它是命令或响应的单位,从上位机发送到HOSTLink 单元的数据称为命令块,相应的,从HOSTLink单元发送到上位机的数据称为响应块。多点通信时,单帧发送的最大数据块为131 个字符,因此当一个数据块含有132 个或更多字符时,要分成两帧

5、或多帧进行发送。多帧发送时中间帧的格式为:正文、FCS、分界符。起始帧、中间帧的长度为131 ,结束帧的长度最多为131 个字符。 Omron系列的PLC 通过RS232 口与主机通信有两种方式,第一种是由上位机向PLC 发送初始命令,第二种是由PLC 向上位机发送初始命令3。在监测系统中一般采用第一种方式。有关通信协议如下所述:2.2.1上位机PLC 的命令格式 其中:(1)为起始标志符;(2)N2 、N1 为PLC 节点标志码,由两位十进制数表示,它们用来指定与上位机通信的PLC。而PLC 自己的通信节点码可由它的DM6648 和DM6653 来设置;(3)CMD2 、CMD1 为两字节命

6、令码;(4)MT 为命令内容,用来设置具体的命令参数;(5)V2、V1 为两字节的帧校验码,它是从开始符“”到MT码结束的所有字符的ASCII 码按位异或的结果; 帧校验和是一个转换成2 个ASCII 字符的8 位数据。它把帧中每一个字符顺序地进行异或操作而得到的结果,即把帧的第一个字符到正文结束的所有字符转换成二进制形式的ASCII 码后,逐个异或而得到的4。当发送命令时,将其加在命令格式中,作为帧的一部分发送到接收端。当接收数据时,按上述步骤重新计算FCS ,当计算结果与数据块中所带的FCS 相同时,说明传输无误,否则,说明接收到的数据不正确。(6)“”和“CR”两字符表示命令结束。 例如

7、,00WD00060500表示写一个数500到节点为0的PLC的DM0006中。2.2.2 PLC上位机的响应格式其中S2 、S1 为命令结束状态码,如00 表示正常结束,01 表示RUN 模态下PLC 无法完成上位机命令,其余符号代码意义同上。实现上位机与HOST Link 通信单元的通信只需编写上位机程序,因为HOST Link 通信单元自身带有通信程序,上位机下发命令,地址相符的PLC 自动上传响应帧,所以这一部分程序不需要客户编写,但是,编写上位机的通信程序时,通信参数的设置必须保证与PLC 的通信参数一致性。3.用VC+6.0编写串行通信程序 首先建立一个基于对话框的MFC应用程序S

8、CommTest,支持ActiveX控件,电话形状的控件是在系统中注册过的MicrosoftCommunications Control, version 6.0,接受缺省的选项。1.打开串口设置串口参数 在主对话框CSCommTestDlg:OnInitDialog()中打开串口,加入如下代码:if(m_ctrlComm.GetPortOpen()m_ctrlComm.SetPortOpen(FALSE);m_ctrlComm.SetCommPort(1); /选择com1i f ( ! m _ c t r l C o m m . G e t P o r t O p e n ( ) ) m

9、_ c t r l C o m m .SetPortOpen(TRUE);/打开串口elseAfxMessageBox(cannot open serial port);m_ctrlComm.SetSettings(9600,E,7,2); /波特率9600,偶校验,7个数据位,2个停止位m_ctrlComm.SetInputModel(1); /1:表示以二进制方式检取数据m_ctrlComm.SetRThreshold(1);/参数1表示每当串口接收缓冲区中有多于或等于1个字符时将引发一个接收数据的OnComm事件m_ctrlComm.SetInputLen(0); /设置当前接收区数据长

10、度为0m_ctrlComm.GetInput();/先预读缓冲区以清除残留数据2.发送数据 为发送按钮添加一个单击消息BN_CLICKED处理函数,选择IDC_BUTTON_MANUALSEND,添加OnButtonManualsend()函数,并在函数中添加如下代码:UpdateData(TRUE); /读取编辑框内容SendData(m_strTXData1,6);/ m_strTXData1表示发送速度命令的具体数值,6表示写数据的地址DM0006Sleep(100);SendData(m_strTXData2,12); /m_strTXData1表示发送时间命令的具体数值,12表示写数

11、据的地址DM00123.发送命令 按照命令格式,本课题主要发送两个WD命令:(1)数据采用十进制发送,向DM0006中写入速度指令;(2)数据采用十进制发送,向DM0012中写入时间指令。部分程序如下:Void CSCommTestDlg:SendData(int m_TobeSend,intm_address) CByteArray Array;unsigned char auchMsg45=0auchMsg0=64; / 起始标志符auchMsg1=0x0; /节点号auchMsg2=0x0; auchMsg3=W; /命令符auchMsg4=D;auchMsg5=m_address/10

12、00;auchMsg6=(m_address%1000)/100;auchMsg7=(m_address%100)/10;auchMsg8=m_address%10;auchMsg9=m_TobeSend/1000;auchMsg10=(m_TobeSend%1000)/10;auchMsg11=(m_TobeSend%100)/10;auchMsg12=m_TobeSend%10;LRC(auchMsg,13);/auchMsg13 ,auchMsg14 ,保存FCS值auchMsg15=; /命令结束符auchMsg16=13;Array.RemoveAll();for (Count=0;Count=4;右移四位if(high=9)high=high+48;elsehigh=high+55;if(low=9)lo

温馨提示

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

评论

0/150

提交评论