欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    嵌入式智能人机界面与PLC的通讯.docx

    • 资源ID:17773220       资源大小:43.50KB        全文页数:13页
    • 资源格式: DOCX        下载积分:15.18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15.18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    嵌入式智能人机界面与PLC的通讯.docx

    嵌入式智能人机界面与PLC的通讯开发的嵌入式智能工业控制人机界面以下简称人机界面。其嵌入式工业控制器是以GeodeX86为核心处理器,包括网络通讯,数据通信,大尺寸触摸屏及液晶显示的硬件平台,在其上运行WinCE操作系统。提供20个通用IO点供用户使用,物理层支持ProfiBus等现场总线,支持16位真彩TFTLCD显示,有64MSDRAM内存,64MFLASH闪存,据有USB接口,10/100MEthernet网络通讯接口,和串口,并口,VGA口等通用接口。下位机用日本OMRON公司的PLC,或者SIMENSPLC,或者施耐德NEZAPLC,或者日本三菱公司的PLC,等等当前比拟流行的PLC,当然温控表,单片机,智能模块等工业现场控制设备可以以。控制对象比方锅炉等的工作由上述控制设备各种PLC等控制;而控制对象的状态那么用人机界面及在其上开发的应用程序进展监控。人机界面的操作系统采用了微软的WinCE.net。WinCE.net是为各种嵌入式系统和产品设计的一种紧凑,高效,可伸缩的操作系统(OS),主要面向各种嵌入式系统和产品。其多线程、多任务、完全抢占式的特点是专门针对资源有限而设计的。OEM开发商可根据自己硬件组成的特点对WinCE.net进展选择裁剪,进而配置出稳定高效并且是特有的WinCE.net操作系统和相应的SDK开发包。在应用上,WinCE.net支持超过1000个公共MicrosoftWin32API和几种附加的编程接口,用户可利用它们来开发应用程序。另外,微软为开发WinCE.net应用程序的人员提供了与VisualC+类似、支持MFC的MicrosofteMbeddedVisualC+语言。下面我们将介绍一下开发经过的细节问题。3、软件流程应用程序开发是在个人计算机上进展的。个人计算机的操作系统为WINDOWS2000。应用程序的开发平台是MicrosofteMbeddedVisualC+集成开发环境。在应用程序开发时,还可以利用微软提供的测试模拟器Emulator。有了它可做到,即使没有人机界面,可以进展程序调试。开发最终生成的可执行文件,可使用MicrosofteMbeddedVisualc+开发环境提供的下载功能,通过串口或者局域网,下载给人机界面。工作时,PLC等工控设备运行它的控制程序,而人机界面那么运行这个下载的可执行文件。两者通过串口进展通讯,但通讯的主动方为人机界面。人机界面依监控要求,向PLC等发送通讯命令,PLC那么作相应的应答。人机界面从PLC上收到应答的数据后,在触摸屏上,以图表、动画,文字等的界面显现出来,供用户观察。还可把这些数据进展存贮、打印,甚至于向ERP等管理信息系统传送。如须对PLC或者控制对象进展干预,可以在人机界面的触摸屏上,通过触摸键或者触摸鼠标,向PLC发送命令或者数据,以实现相应的控制。这个应用的执行流程框图为:图1执行流程框图4、画面构成一般的工程监控画面有:文字显示,消费工艺流程显示包括动画,柱状图显示等,报警,人员操作,趋势曲线等等。我们的系统架构是做一个基于主对话框的程序。再将这些不同的画面用子对话框表现出来。主对话框负责初始化串口,翻开串口,启动读串口线程等;而各子对话框那么定时或者根据需要向串口发送各种命令,通过主对话框的线程读回命令的应答,再在子对话框中以一定的形式提供应用户,以供监控现场作业。这其中主要的技术就是串口通讯。下面我们重点讲述通讯的实现。5、通讯实现人机界面提供的串口是符合通用标准的。WinCE.net下的串口通讯与Windows下的串口通讯原理一样。都是应用程序不直接控制硬件,而是通过操作系统提供的设备驱动程序,来进展数据传递。WinCE.net是Win32编程。串口在Win32中是作为文件来进展处理的,不是直接对端口进展操作。对于串行通信,Win32提供了相应的文件I/O函数与通信函数。但是也要注意WinCE.net所能支持的API函数只是WindowAPI函数的子集。Windows有的,WinCE.net下不一定能使用。同时,WinCE.net字符集类似于WindowsNT而不同于Windows9x,它是基于Unicode的。这也是开发程序经过中从WINDOWS转到WinCE.net的程序员遇到问题最多的地方。另外在Windows下常用的一些通讯控件如MSComm等在WinCE.net下就不能正确使用了。本监控系统采用API函数实现串口通讯。以下分几个问题介绍串口通讯及整个系统的实现。5.1翻开串口首先是翻开串口,这是串口通讯的第一步。其代码为:BOOLCMainDlg:OnInitDialog().m_hComm=CreateFile(_T(“COM1:“),GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,0);/翻开串口的操作,需要注意WinCE.net系统与Windows系统表达方式的细微不同,WinCE.net需要在串口后加上冒号;SetupComm(m_hComm,1024,1024);/初始化串口的输入,输出缓冲区参数;SetCommState(m_hComm,m_dcb);/配置串口参数;m_dcb为设置好的参数构造;.SetCommTimeouts(m_hComm,timeout);/设置通讯超时时间参数;PurgeComm(m_hComm,PURGE_TXCLEAR|PURGE_RXCLEAR);/清空输入,输出缓冲区的字符,为开场承受数据,进入监控状态做好准备;5.2读串口线程其次是启动读串口线程,它让读串口程序不停地在后台运行,而不影响前台程序的工作。与此有关的代码为:BOOLCMainDlg:OnInitDialog().ReadFile(m_hComm,inBuffer+iBufLen,INBUFFERLEN-iBufLen,dwBytes,NULL);/从串口读数据;iBufLen+=dwBytes;for(inti=0“;iif(inBufferi=r“)/以连接的设备为OMRONPLC为例,其通讯协议规定应容许当以r“结尾;inBufferi=0;/字符串完毕标志;switch(m_iDlgType)/m_iDlgType为代表不同对话框的标志变量;case子对话框1标志:子对话框1.ProcData(inBuffer,i);/不同对话框中对命令应答的处理,ProcData为处理函数名;break;.5.3各子对话框发送写命令各个子对话框根据需要,采用定时器的形式,定时向PLC发送命令。以OMRONPLC为例,在发送命令时,根据OMRONPLC的通讯协议,还需对发送的命令字符串加校验码。这些程序代码为:void子对话框1类:OnTimer(UINTnIDEvent).strcpy(m_szCmd,00RR00000001“);/OMRONPLC的命令字符串;GenXor(m_szCmd,result);/进展校验码计算,调用GenXor函数;sprintf(szTailer,%02X*r“,result);/OMRONPLC通讯协议以“*r结尾;strcat(m_szCmd,szTailer);/形成完好的通讯协议命令字符串;WriteFile(m_hComm,m_szCmd,strlen(m_szCmd),dwWriten,NULL);/将命令字符串写入串口;.以下为上面所调用的计算校验码的代码:voidGenXor(LPCSTRstrSource,charresult)/为计算校验码的函数,进展异或者运算:result=0;/为校验码赋初值;intlen=“strlen(strSource);/命令协议字符串的长度;for(inti=“0;iresult=strSourcei;/按位进展异或者;5.4显示界面处理最后,读线程读到的数据,交由对应的子对话框进展处理。要对这些数据进展分析,并以动画,柱状图,趋势曲线等表现出来。以所连接的为OMRONPLC为例,其代码为:void子对话框1类:ProcData(char*buffer,intlen).sscanf(buffer+7,“%04X,wData);/根据OMRONPLC的命令规约,从应答中将需要的数据取出到变量wData中;./对获得的变量值根据需要进展处理,如以文字或者动画等形式在子对话框中进展显示;在进展界面处理时,有一些技巧,如动画显示时,可以用一个定时器控制图片的轮番显示。在本系统中动画是通过CbitmapButton这个控件进展显示的。switch(m_iImage)/m_iImage为定义的动画显示标志;case1:/显示第一幅图片,同时将动画显示标志置为2;CBitmapButton控件变量.LoadBitmaps(图片标志1);m_iImage=2;break;case2:/显示第二幅图片,同时将动画显示标志置为1;CBitmapButton控件变量.LoadBitmaps(图片标志2);m_iImage=1;break;在显示实时曲线时,采用循环数组的方式,在内存中开拓一定大小的空间,使读上来的数形成一个循环数组,在界面上动态的显示出来。本系统中以20个模拟量为一个数组大小,也就是实时趋势曲线一直显示20个点的信息,但因为使用了循环数组的技术,所以看上去很有动感。void子对话框类:循环数组函数(intiValue)/iValue为从命令应答中解析出来的有效数据;intindex=(m_iBegin+m_iCount)%20;/计算循环数组的下标,初始从0开场;m_aryValue=iValue;/为循环数组赋值;m_iCount+;/循环数组的个数加1;if(m_iCount20)/判断个数是否超过20个,如是,将下一个数组下标从1开场,依此类推;m_iCount=20;m_iBegin=(m_iBegin+1)%20;.通讯是本系统的关键。我们的理论证明,以上四步是实现整个监控系统根本之要点。6、结论总之,本监控系统软件的根本架构可以以下面这幅图直观的表示出来:图2监控系统软件的根本架构随着嵌入式操作系统的兴起,各组态软件的开发商也纷纷开发出了嵌入式版的组态软件。但在实际应用中我们发现有许多企业,他们的消费控制流程比拟固定,需要的人机界面的数量又比拟大,对他们来讲,按这里介绍的方法,针对企业自身的消费工艺特点进展开发,提供应用户的是最终的运行系统,不需要用户再进展组态的二次开发。这样的系统对这样的用户来讲,从时间,价格或者性能上来讲都比拟合适。本系统在鹭岛公司研发的LEODO嵌入式工业控制人机界面上经过了测试运行,证明其运行速度较快,比拟稳定。效果很好,比拟合适工业现场使用。当然LEODO品牌的人机界面也内置了一套简明实用,画面资源丰富的ET组态软件,用户可根据实际情况决定自己用高级语言开发,还是用组态软件开发。总之,可以看出,人机界面利用MicrosofteMbeddedC+开发应用程序,与在Windows系统下用MicrosoftVisualC+开发程序,有许多相象的地方。借助这个软、硬件平台,多数用户完全可以开发出合适自己需要的应用程序。

    注意事项

    本文(嵌入式智能人机界面与PLC的通讯.docx)为本站会员(安***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开