1.通信原理
PROFIBUS连接的系统由主站和从站组成,主站能控制总线,当主站得到总线控制权时可以主动发送信息。主站又可分为1类主站和2类主站。1类主站有总线控制权,当主站得到总线控制权时,没有外界请求也可以主动发送信息。2类主站是操作员工作站、编程器、操作员接口等,完成各站点的数据读写、系统配置、故障诊断等。从站为简单的外围设备,典型的从站为传感器、执行器及变送器,它们没有总线控制权,仅对接收到的信息给予回答,或者在主站发出请求时回送给该主站相应的信息。主站之间使用令牌环方式通信,主站与从站之间采用主—从方式通信,1类主站是指PLC,2类主站是通用PC。其通信原理如图3-26所示。
图3-26 通信原理图
若选用PLC作为1类主站则存在以下两种情况:
①处理器CPU带内置PROFIBUS接口(这种CPU通常具有一个PROFIBUS-DP和一个MPI接口)。
②CPU不带PROFIBUS接口,需要配置PROFIBUS通信处理器模块。
PC加PROFIBUS网卡也可作为主站,这类网卡具有PROFIBUS-DP/PA/FMS接口,但要选择与网卡配合使用的软件包,软件功能决定PC作1类主站还是2类主站。若选择CP5611网卡,软件选择STEP7软件包,因此PC仅作为编程监控的2类主站。
(1)CP5611功能
CP5611自身不带微处理器,但具有PCI卡,可运行多种软件包,9针D型插头可成为PROFIBUS-DP和MPI接口。它具有以下功能:
①DP功能。PG/PC成为一个PROFIBUS-DP11类主站,可连接DP分散型I/O设备。主站具有DP协议,诸如初始化、数据库管理、故障诊断、数据传输及控制等功能。
②S7 Function。可实现SIMATIC S7设备之间的通信,用户可使用PG/PC对SIMATIC S7/S5编程。
③支持SEND/RECEIVE功能。
④PG Function。使用STEP7 PG/PC支持MPI接口。
(2)PLC与从站
1)信息内容。PLC与从站之间的数据传送由一个串行通信请求启动,发出请求的从站叫做源,接收请求的从站叫做目标,该串行通信请求设置在用户程序中,包含下列信息:
①接收通信请求的目标或从站的标识号。
②数据传送的方向(数据可以双向传送)。
③数据传送的目标地址。
④数据传送的源地址。
⑤传送的数据数量。
2)格式要求。当源从站的用户程序启动通信请求后,上述通信请求信息被传送给通信控制,通信控制将这些信息转换成适用于串行线接口发送的适当格式,该格式有如下要求:
①根据标准信息码,决定对需要的信息是进行编码还是解码。
②根据通信协议,决定对通信请求信息和发送的数据文本是进行汇编还是反汇编。
③对传送过程中出现的错误的检查方法。
图3-27 串行接口通信
一旦启动了通信请求,且数据已进行了正确的格式转换,串行接口将通过串行通信线把数据发送出去。在图3-27中,主计算机通过启动以一个查询序列开始的通信请求来和远方从站建立通信,为保持该通信,被请求的从站必须在适当的时间确认该查询。
通信建立以后,主计算机向PLC发送一个传送数据文件块所必需的标题语言,一旦PLC接收了这个标题信息,则数据文件就可以在主计算机和PLC之间进行传送。
当PLC接收到数据信息以后,就按照数据传送的相反顺序对这些数据信息进行处理。首先将它们从串行方式转换为并行方式,然后从协议中抽取字符以一定的方式对它们进行处理,最后,这些数据信息通过用户程序从PLC的一个存储器送到另一个存储器。PLC在DP网络中与2类主站的通信,不仅可以满足调试和监视程序运行的功能,而且可以在2类主站上编写一段人机界面,方便工作人员更直观方便地监视现场设备的工作状态。
2.系统设计实例1
(1)系统结构
本系统采用西门子公司SIMATIC S7-300系列PLC作为主控设备,CPU型号为315-2DP,其本身带有PROFIBUS-DP接口,无需另外安装通信接口单元。另有一台相同型号的PLC作为冗余备份。从站为ET200M。采用主—从通信方式,各从站控制对象信息送入S7-300主站进行集中处理,分散控制。上位机安装STEP7编程软件进行硬件组态、参数设置、程序编制、测试、调试和文档处理功能。使用STEP7应按照如下顺序:
①设计任务解决方案。
②生成项目,组态硬件和网络配置。
③编写程序。
④下载组态和程序到主站CPU并进行调试和错误诊断。
(2)SIMATIC S7-300主站
SIMATIC S7-300是一种通用型的PLC,具有模块化、无排风扇结构、分布式的配置易于用户掌握等特点,适合自动化工程中的各种应用场合,以及制造过程中的应用。CPU作为1类DP主站,CPU位于控制中心,本系统采用CPU315-2DP模块化型PLC,具有强大的处理能力,并集成了PROFIBUS-DP现场总线接口装置,同时还具有0.3ms处理1024个语句的速度。PLC程序在上位机的编程工具STEP7中编译完成后下载到CPU315,并存储在CPU315中。CPU315可自动运行该程序,根据程序内容读取总线上所有I/O模块的状态字控制硬件设备。主站需要处理的大部分是数字信号,S7-300是模块化的组合结构,表3-1列出了机架上各模块的配置情况及功能简介。(www.xing528.com)
表3-1 S7-300机架上各模块的配置
(3)ET200分布式I/O
SIMATIC ET200是一种新型分布式I/O系统,集安装便利、高度灵活和节省使用成本等诸多特点于一体。通常由电源部分、通信适配器(IM)及各种信号模块组成。其本身不具有程序存储和执行能力,通过IM接口挂接在总线上,由主站统一编址,按主站指令驱动I/O,并将I/O输入及故障诊断等返回主站。
分布式I/O包括ET200M和ET200S,ET200充分利用了SIMATIC S7-300的模块系列,将所有的S7-300 I/O模块通过接口模板IM153与现场总线相连。ET200S系列产品具有很高的灵活性,设计人员可根据实际情况直接在接口模块后面插入不同数量和不同组合的I/O模块(最多64个),且可随时进行修改和扩展。I/O模块下的执行器和传感器连接到现场设备,I/O模块按主/从模块向现场设备提供输出数据,并向CPU或上位机馈送输入数据。I/O模块属于DP从站。
(4)上位机
上位机是2类DP主站。本系统采用工控机作为上位机,通过现场总线接口卡CP5611使工控机与现场总线相连。这样工业PC与现场总线网段就连接为能完成组态、运行、操作等功能的完整的控制网络系统。为了保证系统的稳定性,系统运用了双机冗余,另一台工控机通过同样的现场总线接口卡CP5611与现场总线相连,若其中一台工控机发生故障,则另一台可继续运行。
(5)执行器、传感器层
AS-i是一种用于主控制器和传感器、执行器之间双向交换信息的总线网络,它属于现场总线的底层网络。通过网关与PROFIBUS实现连接,网关作为上层总线的一个节点,下面可以挂接一批AS-i从站。AS-i总线主要用于具有开关量特征的传感器/执行器系统,传感器可以是各种接近开关以及温度、压力、流量、液位开关等。执行器可以是各种开关、阀门、声、光报警器,也可以是其他电器。传感器/执行器挂接在AS-i总线上的方式分为两种,一种是带有AS-i通信接口的智能A/S,内部装有AS-i模块专用芯片,直接挂接到AS-i总线上;另一种是分布式的,由专门的AS-i接口模块和普通的A/S连接起来。AS-i电缆采用双芯扁平电缆,穿刺安装把线压在连接件上,简单可靠,它由特殊的合成橡胶作为绝缘保护层,当把它从连接件上拔下时,穿孔处自动闭合,因此可反复使用,它不仅传输报文,还通过网络给A/S等电路提供电源。
AS-i总线通过西门子DP/AS-i链路模块与PROFIBUS-DP总线连接,这种耦合器是PROFIBUS-DP从控设备和AS-i的主控设备,最多可连接62个AS-i从站模块,这些从站模块的状态都被DP/AS-i链路模块的LED显示。DP/AS-i链路模块由AS-i扁平电缆供电,无需附加电源。
(6)STEP7硬件组态和网络配置
1)硬件组态。首先进行主站和分布式I/O的配置。
2)网络配置。硬件设置完成后,下一步的工作是组态网络,完成各个设备之间通信。如果各站点参数设置不正确,则无法通过编译和一致性检验(Consistency Check)。
(7)监控系统的软件结构
软件结构部分包括Windows操作系统、下位机编程软件、上位机监控软件。
1)下位机编程软件。采用SIMATIC S7-300的配套编程工具STEP7完成硬件组态、参数设置、PLC程序编制、测试、调试和文档处理。通常,用户程序由组织块(OB)、功能块(FB、FC)和数据块(DB)构成。其中,OB是系统操作程序与应用程序在各种条件下的接口界面,用于控制程序的运行;FB、FC是用户子程序;DB是用户定义的用于存储取数据的存取区,在系统中它是上位机监控软件与STEP7程序的数据接口点,在MPI中配置与其相对应的DB块就可实现上位机监控软件FIX与STEP7程序的数据接口。
2)上位机监控软件。FIX工控组态软件是由美国Intellution公司开发的基于Windows的大型应用软件,它集控制技术、人机界面技术、图形技术、数据库技术、网络技术于一身,包含动态显示、报警、趋势、控制策略、控制网络通信等组件,提供一个友好的用户界面,使用户可根据实际生产需要生成相应的应用软件。
(8)与PROFIBUS现场总线的接口
1)数据流程FIX运用I/O驱动程序从设备中读写数据,每个I/O驱动程序支持其特定硬件。对于PROFIBUS网络,采用MPI驱动程序获取其上数据。FIX组态软件首先通过MPI驱动程序软件接口从现场的过程硬件中获取数据,存入DIT驱动程序映象表中(驱动程序映象表在系统运行时实际上是一块内存区),FIX的内部数据库(PDB)通过SAC程序从DIT表中获取它所需的数据,应用软件(如FIX的画面运行程序、报表生成程序等)都通过内部数据库访问软件,可从FIX内部数据库中获取来自过程硬件的信息,这样就可以在工业流程画面上动态地显示现场各过程硬件的运行状态,数据也可以按相应的顺序写回现场过程硬件,执行控制操作。
2)MPI配置。在MPI驱动程序的应用中很重要的问题是STEP7和FIX的地址转换问题,在STEP7中设置的DB块应转换为MPI的DB块,这需要在MPI配置中实现。对MPI的配置包括通道、设备、起始地址及其他一些参数,令MPI的DB块与STEP7中设置的DB块相对应,FIX的应用程序才能获取现场数据。
(9)用户界面开发
控制系统开发的人机接口界面有以下几种:
1)信息显示画面。信息显示画面主要显示各设备当前运行状态信息值,如当前设备的运行速度、位置信息及一些故障信息,并可用不同的颜色来表示当前设备的状态是否正常。
2)设备控制画面。尽管下位机程序能实现在现场总线上的数据采集和控制信号的输出,并实现PID控制等一些简单的控制算法,但算法的控制功能仍需要在上位机上实现人工控制,在画面中单击相应设备按钮就可对该设备进行单独控制。
3)实时报警处理。对系统实时采集的数据进行判断,发出报警信号,按技术要求进行处理并自动进行相应的设备控制,如对故障信号的解锁及其恢复等。
4)报表打印。利用FIX的DDE功能开发出实时报表并具有随时打印功能。
5)实时数据曲线显示。监视设备重要参数的变化趋势曲线,从而可以了解设备在一段时间的运行状况。
6)历史趋势画面。其功能与实时数据曲线类似,只是它显示的是过去一段时间设备的运行参数值。
3.系统设计实例2
S7-200系列PLC作为从站接入PROFIBUS网络必须通过PROFIBUS-DP模块EM277连接到网络,S7-200系列PLC不能直接接入PROFIBUS网络进行通信。EM277经过串行I/O总线连接到S7-200系列PLC。PROFIBUS网络经过其DP通信端口,连接到EM277模块。这个端口支持9.6kbit/s~12Mbit/s之间的任何传输速率。EM277模块在PROFIBUS网络中只能作为PROFIBUS从站出现。作为DP从站,EM277模块接受从主站来的多种不同的I/O配置,向主站发送和接收不同数量的数据。这种特性使用户能修改所传输的数据量,以满足实际应用的需要。与许多DP站不同的是,EM277模块不仅传输FO数据,还能读写S7-200系列PLC中定义的变量数据块。这样,使用户能与主站交换任何类型的数据。通信时,首先将数据移到S7-200系列PLC中的变量存储区,就可将输入、计数值、定时器值或其他计算值传输到主站。类似地,从主站来的数据存储在S7-200系列PLC中的变量存储区内,进而可移到其他数据区。
EM277模块的DP端口可连接到网络中的一个DP主站上,仍能作为一个MPI从站与同一网络上的SIMATIC编程器或S7-300/S7-400系列PLC等其他主站进行通信。为了将EM277作为一个DP从站使用,用户必须设定与主站组态中的地址相匹配的DP端口地址。从站地址是使用EM277模块上的旋转开关设定的。在变动旋转开关之后,用户必须重新启动CPU电源,以便使新的从站地址起作用。主站通过将从其输出区来的信息发送给从站的输出缓冲区(称为接收信箱),与每个从站交换数据。从站将其输入缓冲区(称为发送信箱)的数据返回给主站的输入区,以响应从主站来的信息。
EM277可用DP主站组态,以接收从主站来的输出数据,并将输入数据返回给主站。输出和输入数据缓冲区驻留在S7-200系列PLC的变量存储区(V存储区)内。当用户组态DP主站时,应定义V存储区内的字节位置。从这个位置开始为输出数据缓冲区,它应作为EM277的参数赋值信息的一个部分。用户也要定义FO配置,它是写入到S7-200系列PLC的输出数据总量和从S7-200系列PLC返回的输入数据总量。EM277从FO配置确定输入和输入缓冲区的大小,DP主站将参数赋值和I/O配置信息写入到EM277的V存储区地址,并将输入及输出数据长度传输给S7-200系列PLC。
输入和输出缓冲区的地址可配置在S7-200系列PLC的V存储区中的任何位置,输入和输出缓冲区的默认地址为VB0。输入和输出缓冲地址是主站写入S7-200系列PLC赋值参数的一部分,用户必须组态主站以识别所有的从站,并将需要的参数和I/O配置写入每一个从站。
一旦EM277模块用一个DP主站成功地进行了组态,EM277和DP主站就进入数据交换模式。在数据交换模式中,主站将输出数据写入EM277模块,然后,EM277模块响应最新的S7-200系列PLC的输入数据。EM277模块不断地更新从S7-200系列PLC来的输入,以便向DP主站提供最新的输入数据。然后,该模块将输出数据传输给S7-200系列PLC。从主站来的输出数据放在V存储区中(输出缓冲区)由某地址开始的区域内,而该地址是在初始化期间,由DP主站提供的。传输到主站的输入数据取自V存储区存储单元(输入缓冲区),其地址是紧随输出缓冲区的。
在建立S7-200系列PLC的用户程序时,必须知道V存储区中数据缓冲区的开始地址和缓冲区大小。从主站来的输出数据必须通过S7-200系列PLC中的用户程序,从输出缓冲区转移到其他所用的数据区。类似地,传输到主站的输入数据也必须通过用户程序从各种数据区转移到输入缓冲区,进而发送到DP主站。
从DP主站来的输出数据在执行程序扫描后立即放置在V存储区内。输入数据(传输到主站)从V存储区复制到EM277中,以便同时传输到主站。当主站提供新的数据时,从主站来的输出数据才写入到V存储区内。在下次与主站交换数据时,将送到主站的输入数据发送到主站。
SMB200~SMB249提供有关EM277从站模块的状态信息(如果它是I/O链中的第一个智能模块),如果EM277是I/O链中的第二个智能模块,那么,EM277的状态是从SMB250~SMB299获得的。如果DP尚未建立与主站的通信,则这些SM存储单元显示默认值。当主站己将参数和I/O组态写入EM277模块后,这些SM存储单元显示DP主站的组态集。用户应检查SMB224,并确保在使用SMB225~SMB229或V存储区中的信息之前,EM277已处于与主站交换数据的工作模式。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。