大型卧螺机控制系统的研制_第1页
大型卧螺机控制系统的研制_第2页
大型卧螺机控制系统的研制_第3页
大型卧螺机控制系统的研制_第4页
全文预览已结束

下载本文档

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

文档简介

大型卧螺机控制系统的研制

0通讯模式比较智能控制设备是工业控制中最常用的控制装置之一。它主要采用先进的控制算法(如pid、模糊逻辑等),以精确控制特定参数(如压力、温度、流量等)。其具有专业性强、智能化程度高、控制算法先进、使用方便等特点。但各个厂家的智能控制仪表通讯协议不统一且通讯网络简单,如仅提供RS485网络、RS232网络,因此要把智能控制仪表集成到工厂SCADAHMI(SupervisoryControlAndDataAcquisitionHumanInterface)系统就比较难以实现。而可编程逻辑控制器(简称PLC)以其运行可靠、集成度高、可扩展性强在工业控制中得到了广泛的应用,而且各个PLC生产厂家提供了多种通讯模块,如工业以太网模块、CC-LINK现场总线模块、点到点串行通讯模块等。因此可以利用PLC的通讯模块读取智能控制仪表中的数据,然后通过PLC中的工业以太网模块、现场总线模块连接到企业SCADAHMI系统中,达到完美的结合。1自动控制单元1.1plc网络模型在大型卧螺机自动控制系统中,要求将9台SWP2002仪表现场检测到的温度、电流、转速和压力通过QJ71-C24通讯模块读取到PLC中,其网络结构见图1。昌晖SWP2002智能仪表与PLC之间构成的网络为RS485网络,同时PLC与上位机通过RS232口进行通讯。以下将对QJ71-C24模块和SWP2002智能仪表及其通讯协议进行简单介绍。1.1.1低成本通讯模块QJ71-C24通讯处理器是三菱公司提供的进行低成本通讯的方案,该模块可以通过集成在GXDeveloper中的参数化工具进行参数化,其设置主要包括通讯方式、接收帧结束方式和接口方式等。1.1.2命令格式的解释SWP2002智能仪表是香港昌晖公司生产的高性能单回路调节器,它具有0.1级控制精度,可提供PID、自适应PID控制算法和RS485、RS232通讯接口。通讯协议是其公司自定义的ASCII码,其主要包括读数据命令和写数据命令。SWP2002智能仪表的读写发送命令基本相似,其读写程度梯形图见图2。发送命令中所有的位置都必须采用ASCII码方式,其通讯发送命令格式的解释如下:(1)通讯的起始符,占用一字节,“@”(40H)。(2)通讯仪表地址,占用两字节,由8位二进制转换而成,地址范围0~255,这8位二进制码被分成高低4位,并转换成ASCII码,如仪表地址为21,则转换为32H和31H。(3)通讯命令类型,占用一字节。“R”(52H)表明在上位机发送或仪表应答中的读命令;“W”(57H)表明在上位机发送或仪表应答中的写命令。(4)通讯中连续读取数据的数量,表明上位机可以读取多少个参数,取值范围为“00H”~“2BH”。(5)通讯数据,字节数量取决于读取数据的数量,一般占用四个字节,数据项与数据项之间不需要任何分隔符,每一个数据项由16位二进制代码组成(1个字),其中每4个被分成一个数据单元,同时每个数据单元又被转换成ASCII数据。如:数据为500,用十六进制表示为1F4H。通讯数据是将这个十六进制数据转化为标准ASCII码,即为30H、31H、46H、34H。(6)CRC校验,占用两字节,这里采用异或方式,CRC校验数据是将除@外CRC字节之前其它几个字节的异或值,并将其转换成ASCII码,当校验码错误,仪表将没有响应。(7)回车符,一字节,CR(0DH)。仪表的应答程序梯形图从略。1.2仪表数据通讯该软件需要通过QJ71-C24通讯模块同SWP2002系列智能仪表之间的通讯来实现。PLC程序的设计也是一个比较重要的环节,其主要包括QJ71-C24发送读取数据命令程序、QJ71-C24发送写数据命令程序、QJ71-C24接收仪表数据通讯程序以及对读取到的数据进行处理的程序。考虑到系统有9块仪表,因此采用轮询的方式访问每块仪表,而对于发送读取数据的程序块仅是仪表地址和BCC校验码不相同,因此,可根据不同的仪表号修改相应的BCC校验码和仪表地址。仪表数据的读取采用周期定时来执行,每执行1次,仪表号加1,直到9为止,然后回到地址1重复执行。由于SWP2002系列智能仪表发送回来的数据都是将实际的16位数据转换成4位ASCII码传输过来的,如实际数据为42(十六进制:002AH),则在DB块中得到的数据为30H、30H、32H、41H,而且高数据位在DB块的低地址上,因此为了便于上位机的显示就需要在程序中对此数据进行转换。2模型分析诊断系统统计2.1距离较远的情况工控上位机通过COM口与PLC中的QJ71-C24模块RS232通讯口连接,在距离较远的情况下可考虑在两者中间加装两个485转换器以保证信号质量。PLC和上位机的通讯采用问答方式,上位机按照通讯协议向PLC传送读命令或写命令的16进制字符串,然后读取PLC响应字符串,以判断操作是否正确,或对接收到的数据进行相应处理。2.2调用端口读函数通信参数:4800b/s,8位数据位,无奇偶校验位,1位停止位。VC++6.0中实现串行通讯有多种方法,而本文中为了简便采用了第三方提供的封装函数,这种方法以WindowsAPI函数为基础,同时又简化了编程机制,在大多数情况下可满足要求。其调用方法如下:首先调用SetCom函数打开串口,然后在程序中必要的位置调用端口读函数和端口写函数完成与PLC的串行通讯。其具体方法为://数据监测线程UINTThreadProcRead(LPVOIDpParam){CMyDlg*pDlg=(CMyDlg*)pParam;m_Semaphore.Lock(INFINITE);…………BYTEbuf0={0x05,0x30,0x30,0x46,0x46,0x57,0x52,0x31,0x44,0x30,0x30,0x30,0x30,0x30,0x38,0x00,0x00};SIZE=sizeof(buf0);buf0=atoi(temp1);//buf0,buf0中为校验和buf0=atoi(temp2);pDlg->WriteCom(pDlg->m_hCom,buf0,SIZE,BWRITE);//调用端口写函数,向PLC发送读命令pDlg->ReadCom(pDlg->m_hCom,m_Inbuff,BytestoRead,ReadTime);//调用端口读函数,接受PLC返回的字符串…………m_Semaphore.Unlock();return0;}2.3在运行状态下,系统可提供不停机修改报警参数的功能为了防止上位机与PLC读写过程中出现冲突,将读取PLC的监测功能和写入PLC的控制功能封装为两个不同的线程,即读线程和写线程,并使用信号量对象实现线程的同步,确保读线程和写线程只能有一个处于运行状态。在运行状态下模态分析诊断系统可提供不停机修改报警参数的功能。为此引入了报警参数读线程和报警参数写线程,即在不影响基本监测控制功能实现的同时,将各项报警参数批量读出和写入PLC,在不间断运行过程中显示和修改报警参数从而对诊断和控制逻辑产生影响。在设定了报警参数之后,系统在完成监测显示的同时,提供报警功能。当各项采样值达到或超过设定的报警值时,监控界面将出现相应报警显示,同时报警信息将被写入数据库,供用户检索查询,并提供打印功能。当采样值恢复到正常范围时,报警结束。本文中采用Access小型数据库和VC++ADO数据库编程来实现上述功能。3远程设置温控仪表通过使用点到点串行通讯模块QJ

温馨提示

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

最新文档

评论

0/150

提交评论