西门子模块6ES7253-1AA22-0XA0参数说明
一. 概述
RS-422A总线是EIA公布的“平衡电压数字接口电路的电气特性”标准,这个标准是为改善RS-232C标准的电气特性,又考虑与RS-232C兼容而制定的。RS422A是工业界广泛使用的双向、差动平衡驱动和接收传输线标准接口 ,它以全双工方式通信 ,支持多点连接 ,允许创建多达 32个节点的网络,具有传输距离远 (大传输距离为 1200m) ,传输速率快 ( 1200m时为 100kbit/s)等优点 ,相对于其它总线,如FF、CAN、LonWorks等而言,具有结构简单、成本低廉、安装方便、与传统的DCS兼容等特点;市场上很多现场仪表都有RS422A总线接口,采用该总线可以很容易地开发一些中小型网络测控系统。结合某一工程项目的实际特点 ,我们采用了RS422A通信接口来实现远程数据通信系统。
在该工程项目中,系统采用两级主从总线型网络结构。温度等变量的控制主要由总线上的各个智能仪表实现,上位机根据控制要求修改智能仪表的给定值等参数,以及一些数字量的监控显示等。该项目所选智能仪表为上海大华-千野仪表有限公司生产,参数相当复杂,具有较强的控制以及通信功能。利用上位机软硬件资源丰富,以bbbbbbs为操作平台,开发的应用软件有强大的管理功能以及非常友好的人机界面。本系统应用软件采用Microsoft Visual C++6.0开发,充分利用VC++灵活快速,对视窗编程和多任务编程的方便接口,开发出来的软件具有完善的数据采集、设定、报警、实时监视等功能。应用结果表明,该系统有效的实现了对温度控制系统的监控,效果良好。
二. 系统结构
该智能仪表功能较为完善,控制精度高。自带RS422A通信卡,通信命令多达一百多条,上传及接受数据量大,主要包括各步温度设定值、PID参数值、报警参数值、传感器修正值、模糊控制参数值等等。现场总线采用RS422A总线,因为RS422A总线具有结构简单、成本低廉安装方便等优点。智能仪表挂接在RS422A总线上,通过RS422A/232C装换器和PC串口相连接。为此配置有十几台(可扩展)智能仪表,RS422A/232C转换器一块,并且每一台仪表设置唯一的地址。温度的控制由下位机(智能仪表)完成。主控计算机完成的功能有1)主动读取下位机相关数据2)改变温度控制的设定值以及其它的参数,但不直接完成对温度的控制。3)显示温控曲线画面,温控仪集中显示画面以及报警数据等的动态显示。4)数据的存储,统计,报表等。系统的硬件结构图如图1所示。
图1
三. 通信协议
1) 物理层 采用平衡型标准RS422接口 ,以提高数据传输的可靠性。在平衡型标准RS422A中,
发送器与接收器均以差分方式工作 ,每个信号用两根导线传输 ,信号的电平由两根导线上的信号的差值来表示。
2) 数据链路层 本系统采用异步串行通信方式。系统约定,波特率:9600bps,偶校验,1个起始位,7个数据位,1个停止位,采用ASCII码作为传输代码。总线上的传输帧分为命令帧和数据帧。命令帧又分为为建立连接包含地址信息的地址命令帧和对已建立连接要求上传或者下传数据的控制命令帧。后者和数据帧的文本格式如下:
3)网络层 由PC机实现该层协议的功能。总线上的传输帧中,地址命令帧是控制PC机以广播的形式发出,用于唤醒总线上的某台仪表,握手请求与之建立通信关系,相应的仪表向控制PC机回传本机地址,则握手成功;否则仪表向PC机回传否定应答。当PC机要和目前通信的仪表以外的其他仪表通信时,必须放弃目前的通信关系,发送放弃通信命令帧。再从新按照上述方式建立连接。建立连接,放弃连接以及温控仪的应答格式如下所示:
其中ENQ ﹑EOT ﹑ACK 为控制码 结束码表示一帧的结束
4)应用层 工业智能仪表的RS422A总线网络系统的应用层,是对控制PC机与智能仪表之间相互传送的信息组帧,即数据格式按照一定的格式和含义进行定义。
四. 系统软件设计
系统管理软件采用面向对象技术,基于bbbbbbs2000平台,用VC++6.0编程开发。系统应用软件由实时动态过程和历史记录浏览两大部分组成,实时动态过程包括数据采集及设定、运行控制、数据管理三大模块组成,数据采集及设定模块定时从下位机即智能仪表采集和设定过程实时数据。控制模块主要是控制仪表的运行或停止等以及运行段选择,数据管理模块包括数据通信、数据显示、报警、打印、存储等功能。
根据实时系统的特征,监控软件中多个任务运行,为了不让一个任务执行的时候,阻塞别的任务,我们充分里了bbbbbbs系统允许多进程、多线程编程的特点,将系统的分成几个模块。将历史纪录浏览和实时动态过程分成两个进程,因为这两个过程有很大的差别。历史纪录浏览中的数据是静态的,对实时性没有要求,可以在生产过程之中或之后运行都可以,在开发这部分程序时,可以不用考虑时间的问题。实时动态过程却是一个实时性要求很高的任务,在这个过程中主要要完成通信、显示、控制、打印等任务,还要完成数据的转储。
(1) 动态进程设计
线程一词指程序指令顺序的执行,每个程序独立执行程序代码中的一系列指令。从用户或应用程序编程的角度看,程序中的线程是运行的。操作系统通常靠线程与线承建的快速切换控制来达到这种的感觉(但如果计算机有多个处理器,则系统可以直接执行线程)。程需要在某个时间完成多个任务时(许多引用程序都是这样),将每个任务放在不同的线程中不仅使程序更加有效,能简化开发工作。
在设计实时动态进程时我们把它分成了两个线程:主线程和通信线程。主线程定时启动通信线程,通信线程执行完一次通信任务后自动悬挂。在正常情况下,主线程两次恢复通信线程之间的时间是能够保证一次通信线程的完整执行。
在数据存储方面,为了提高系统的动态性能,要求能快速访问数据存储区,我们将数据存放在两个地方。正在进行的生产过程的过程数据存放在内存开辟的数据缓冲区内,这样主线程能很快的访问到。将几次通信的数据定期存放到硬盘上,这样能防止因停电等意外事故造成数据的损失。
在程序设计时我们采用了面向对象设计的思想,比如我们把温控仪看成一个对象,有关的数据结构及其操作完全封装在一个类里面,这样程序的数据结构分离也可以实现分离,这对于软件的扩展,对于软件开发和调试都会带来极大的方便。
该软件主要实现方式如下:
在重载的void CRs422AnetView::OnDraw(CDC* pDC)函数里面调用自定义函数StartOfSystem(pDC),后者打开并配置好串口,启动通信线程,设置记时器等。其主要代码如下:
void CRs422AnetView::StartOfSystem(CDC *pDC)
{
……
m_hCom=CreateFile(m_sPort, GENERIC_READ | GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED,NULL);
if(m_hCom==INVALID_HANDLE_VALUE)
return FALSE;
DCB dcb;
if(!GetCommState(m_hCom, &dcb)) return FALSE;
dcb.fBinary=TRUE;
dcb.BaudRate=m_nBaud;
dcb.ByteSize=m_nDataBits;
dcb.fParity=TRUE;
dcb.Parity=EVENPARITY;
dcb.StopBits=ONESTOPBIT;
return SetCommState(m_hCom, &dcb);
……//以上为打开并配置串口代码
SetTimer(1,5000,NULL); //启动定时器,定时间隔为5妙
CwinThread*m_pThreadd=AfxBeginThread(CommProc,this->GetDocument(), THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED, NULL); // 创建并挂起线程
if(m_pThreadd==NULL)
{
CloseHandle(m_hCom);
return FALSE;
}
else
{
m_bConnected=TRUE;
m_pThreadd->ResumeThread(); // 恢复线程运行
}
……
}
UINT CommProc(LPVOID pbbbbb)为辅助通信线程,该线程完成设定值以及动态数据的读取,其程序流程图如下所示:
void CRs422AnetView::OnTimer(UINT nIDEvent)为响应计时器消息的函数,定时被触发,本程序中定时间隔为5秒。在该函数里,主要是恢复辅助通信线程以及调用数据显示程序﹑定时刷新数据等。
(2) 历史纪录浏览进程设计
历史纪录的浏览是为了对过去生产过程的回顾,可将产品的质量和过程的设定结合起来进行分析,对以后的生产提供参考,以便能提高产品的生产质量。这个进程提供了一定的查询功能,能将历史纪录用曲线的方式回放出来,能将重要的过程锁定下来,也能删除过程纪录。
五. 结束语
本文介绍的基于RS422A现场总线的温控网络系统已经在现场运行了较长时间,系统运行稳定可靠,充分发挥了网络管理的便捷优点,提高了生产效率。显然,对于一些中、小规模的测控系统,采用RS422A是一个很好的选择。
CC-bbbb的底层通信协议遵循RS485,一般情况下,CC-bbbb主要采用广播轮询的方式进行通信,CC-bbbb也支持主站与本地站、智能设备站之间的瞬间通信[2]。具体方式为:主站将刷新数据RY/RWw发送到所有从站,轮询从站1;从站1对来自主站的轮询作出响应RX/RWr,并将该响应告知其它从站;主站轮询从站2(此时并不发送刷新数据),从站2给出响应,并将该响应告知其它从站;依次类推,不断循环,图2所示为广播轮询时的数据传输帧格式。除了广播轮询式的循环通讯方式外,CC-bbbb还提供主站、本地站及智能设备站之间的信息瞬时传送功能。信息从主站传递到从站,信息数据将以150字节为单位分割,并以150字节传递。若从从站传递到主站,每批信息数据大为34字节。瞬时传送需由专门指令来完成,但不会影响循环通讯的时间。
2.3集散控制系统结构
考虑到BOPP薄膜的生产工艺特点及其复杂性等因素,本文设计并构造的集散控制系统结构如图3所示。在该CC-bbbb现场总线网上,Q02CPU是主站,QJ61BT11作为接口模块。从站有两大类:一类是远程I/O站,由AJ65BTB2-16R和AJ65SBTB1-16D远程I/O模块组成,共8个模块,每个模块占用1个逻辑从站资源,主要用于实现对各直流调速电机的起停、切换、联锁、故障等控制和检测;另一类由FX2N-32CCL和A80BDE-J61BT13远程设备模块构成,共5个模块,考虑到所要传输的信息量较大,在这里每个模块被设计成占用4个逻辑从站资源,主要用于实现与FX2N-80MR PLC和工控机的连接[3]。整个CC-bbbb网络由一个主站和28个逻辑从站构成。
该集散控制系统除了应用CC-bbbb网络外,还采用了其它通讯网络方式对系统各局部区域进行控制,如RS-422、RS-485等。
前部传动控制用FX2N-80MR PLC(从站9#~12#)通过FX2N-485BD板卡,采用RS-422网络对挤出机、冷辊电机、慢速辊电机、快速辊电机和横拉辊电机共5台直流电机进行控制与检测;后部传动控制用FX2N-80MR PLC(从站17#~20#)采用相同的RS-422方式对后处理电机、上卷辊电机、收卷1电机和收卷2电机共4台直流电机进行控制与检测,它们共同实现对速度链传动控制子系统的控制。位于前操控台的FX2N-80MR PLC(从站13#~16#)和位于后操控台的FX2N-80MR PLC(从站21#~24#)分别通过其RS-422编程口与各自的单片机系统相连,用于实现调速电机的速度设定、速度显示、调速器内部状态监测等。
工控机IPC1(从站25#~28#)采用RS-485通讯网络,通过CD901智能仪表对整个温控子系统进行实时监测与控制,该温控子系统包括对挤出机、机头、纵向拉伸和横向拉伸共34个独立的加热区的温度控制。位于后操控台的FX2N-80MR PLC(从站21#~24#)还通过FX2N-485BD板卡,采用RS-485通讯方式与张力控制器LE-40MTB相连,用于实现对薄膜左、右张力的检测与恒张力收卷控制。
工控机IPC1还有一个重要的任务就是控制并驱动前扫描测厚装置,检测并显示薄膜厚片的厚度,以及显示传动子系统、温控子系统的关键工艺参数情况,便于工艺技术人员及时调整相关参数,保证产品质量。工控机IPC2主要用于控制、驱动后扫描测厚装置,检测并显示成品膜的厚度,产品的终公差分布情况在这里得到充分的体现。IPC1与IPC2被置于同一个电控柜中,由于距离相隔很近,采用RS-232C通讯方式将它们连接起来,进行数据共享。这两台工控机共同构成了薄膜测厚子系统。
2.3 一个集散控制流程简例
图4所示是该集散控制系统对其中的后处理电机进行控制的过程,图中2、3、6、7、9表示CC-bbbb网络,1和8表示从站(21#~24#)通过其RS-422编程口与单片机进行数据交换,4和5表示从站(17#~20#)通过其485BD板卡与直流调速器进行RS-422数据通讯。
来自码盘的数值经1、2、3、4传输后,进入DC调速器6,作为后处理电机的速度设定值,该调速器与光码共同组成一个独立的转速闭环控制系统。后处理电机的实际转速值经5、6、7、8传输后,转换为当前的薄膜生产线的线速度,由LED显示出来,供操作人员使用,该线速度还经由9被传输至IPC1,供工艺技术人员集中使用。
3 集散控制子系统设计
由于BOPP薄膜生产线的生产工艺复杂、生产设备及种类繁多、安装地点较为分散,该集散控制系统涉及多CPU类型(PLC、IPC、单片机)、多种通讯网络结构(CC-bbbb、RS-422、RS-485、RS-232C),它们共同组成一个有机的整体。本文设计的集散控制系统在控制功能上可以分为四类控制子系统:速度链传动控制系统、温控系统、测厚系统和辅助控制系统。
3.1 速度链传动控制系统
(1)速度链传动。生产线的主传动系统由挤出机电机、冷辊电机、慢速辊电机、快速辊电机、横拉辊电机、后处理电机、上卷电机、收卷1电机和收卷2电机组成,它们分别由DC调速器1~调速器9来驱动,电机转速设定值由操控台上的码盘值间接给出。根据生产工艺的要求,除挤出机电机单独控制外,其余7台电机(注:收卷1和收卷2不使用)必须保持严格的同步速度,即要求按照特定的速度链进行增/减速,且本级电机的速度变化只能影响本级和后续各级,不允许改变前面各级电机的速度。
设码盘值M0~M6分别表示调速器2~调速器8的转速设定系数,N0~N6分别表示调速器2~调速器8的转速设定值的百分比。则速度链由下式表示:
其中Ki表示对应码盘值的基值常数。由式(1)易知,N0仅受自身码盘M0的控制,与其它码盘值无关。当任一码盘值Mi改变时,它只影响自身和其后的设定值Ni~N6,而不影响其前面的设定值N0~Ni-1。
(2)传动控制。主传动控制分为前部传动控制和后部传动控制两部分,它们独立构成自己的二级RS-422网络。前部传动控制由从站9#~12# PLC与调速器1~5组成,后部传动控制由从站17#~20# PLC与调速器6~9组成,其中,从站9#~12# PLC和从站17#~20# PLC既作为CC-bbbb网络的从站,又作为二级RS-422网络的主站。图5所示表示该二级网络的主站与单台调速器进行参数的读写通讯过程,与多台调速器进行读写控制时,是采用逐台通讯、轮换进行的,通讯波特率高为19200波特,实践表明完全满足系统的实时性要求。
图6所示表示快速辊在速度链传动控制过程中的转速控制方式。根据单机/联动选择开关可以实现快速辊的单个控制方式和速度链控制方式,图中的“码盘值”表示快速辊的速度可以由操控台上的码盘进行在线修改;“固定值1”表示穿片速度,此时快速辊与慢速辊的线速度相同;“固定值2”表示在薄膜生产过程中,若出现破膜信号,则快速辊及其后续主传动辊立即降至某一固定值,便于操作人员进行处理。
3.2 温控系统
温控系统主要由工控机、34套CD901温控仪、RS-232C/RS-485转换器、功率模块等组成。工控机对温控系统的温度设定及实时温度监测是采用RS-485通讯方式实现的,图7所示为温控系统的通讯控制过程。系统采用ASCII码传输模式,可以对设备地址、波特率、数据位和校验位等进行设定。本系统采用9600bps、1位起始位、8位数据位、无奇偶校验、1位停止位,ID地址范围为1~34。工控机发送EOT(04H)进行数据初始化,发送数据,表1表示工控机查询参数的数据格式。温控仪接收到数据后,便发出相应的响应数据,表2表示温控仪响应工控机查询过程的数据格式。表3表示工控机参数写入过程的数据格式,当温控仪接收到正确的参数写入命令后,则发出ACK(06H)响应信号;当接收到不正确的指令数据时,则发出NAK(15H)信号。其中Device address为温控仪的ID地址,STX(02H)表示开始控制字符,Identifier为操作符,DATA表示操作数据,ETX(03H)为数据结束字符,BCC为校验码(异或和)。
温度的设定与监测都要由工控机向温控仪发送数据,每批数据的发送均要占用一定的系统时间(约3ms)。由于CD901的通讯为应答式方式,不能只是不断地向温控仪发送数据,而应采取分时方式进行处理。为确保通讯过程的正常进行,用10ms的时间发送一帧数据,若通讯失败就重复发送,重复次数超过3次则认为通讯故障并报警。若发送成功,此时还不能立即发送第二帧数据,要等温控仪返回正确的通讯数据才可以继续发送新数据。工控机发送的数据指令含有ID地址,当数据发送成功后,只有符合指定ID地址的温控仪才会返回正确的应答数据,这样就可以根据工控机发送的ID号来鉴别是哪个温控仪返回的数据了。由于该RS-485通讯的波特率设置为9600bps,而温控系统惯性大,温度变化较慢,实际应用证明完全满足工程要求。
考虑到温度设定过程的随机性特点,在本系统中建立了一个监控线程来专门监测设定温度值的变化情况,一旦设定值发生变化就将温度监测线程挂起,发送新的温度设定值,设定成功后继续恢复对实时温度值的监测。这样利用MFC自带的多线程功能,充分利用了bbbbbbs的多任务处理功能。多串口数据的接收也采用线程的方法,建立一个线程来监视串口是否有新的数据,一旦有新数据则将其保存,并继续监测串口。
3.3 测厚系统
BOPP薄膜测厚系统由两个独立部分组成,一个是前扫描测厚系统,用于测量薄膜厚片的厚度;另一个是后扫描测厚系统,用于测量成品膜的厚度。它们分别由IPC1和IPC2工控机进行测控,它们地处生产线不同位置,且相对独立,但测量原理、基本功能及结构大致相似。均由V型扫描架、扫描驱动装置、控制器及扫描传感器等组成,在扫描架上装有自动/手动、扫描、退出、样品、参考等触点开关和方式、状态指示灯等,还配有电机用来驱动扫描传感器的往复运动等。
测厚系统软件采用VC编写,以充分利用其图形和对硬件接口的直接操作功能,软件系统分为系统管理模块和扫描工作模块两部分。系统管理模块主要用于系统参数的修改、显示测量曲线、复制图表、在线打印工作参数及控制扫描架工作状态等。扫描工作模块受系统管理模块控制,主要具有4种工作方式:扫描工作方式、退出扫描方式、参考工作方式和样品工作方式。图8所示为后扫描工作模块程序流程图。
扫描工作方式是4种工作方式的核心部分,用于完成对测量系统的控制、数据采集及后续处理等功能。退出扫描方式用于当出现破膜现象时,系统自动退出当前对薄膜的扫描测量过程,为进入其它工作方式作准备。参考工作方式用于检查传感器的稳定性,此时系统自动进行背景计数、空气计数和旗计数,并自动计算出旗空比,若旗空比为0.75,则表明传感器的工作是稳定的。样品工作方式用于进行样品试验,由于生产原料的差异性,会造成薄膜测厚的基准的变化,当改变原料时,通过对新样品的试验,获得对新基准的修正参数,校正测量值以提高测量的准确性。
3.4 辅助控制系统
辅助控制系统主要包括对储片架升降、换卷系统、罗茨风机、排风风机、跟紧辊、自动注油系统、恒张力收卷等的控制。图9所示是双收卷辊在自动换卷方式下的状态转移图[4]。