7
西门子6ES7331-7KF02-0AB0产品齐全
西门子PLC的网络是适合不同的控制需要的,也为各个网络层次之间提供了互连模块或装置,利用它们可以设计出满足各种应用需求的控制管理网络。西门子S7系列PLC网络采用3级总线复合型结构,底一级为远程I/O链路,负责与现场设备通信,在远程I/O链路中配置周期I/O通信机制。中间一级为Profibus现场总线或主从式多点链路。前者是一种新型现场总线,可承担现场、控制、监控三级的通信,采用令牌方式与主从轮询相结合的存取控制方式;后者为一种主从式总线,采月主从轮询式通信。一层为工业以太网,它负责传送生产管理信息。在工业以太网通信协议的下层中配置以802.3为的以太网协议,在上层向用户提供TF接口,实现AP协议与MMS协议。
PLC要提供金字塔功能或者说要实现NBS或ISO模型要求的功能,采用单层子网显然是不行的。因为不同层所实现的功能不同,所承担的任务的性质不同,导致它们对通信的要求也就不一样。在上层所传送的主要是些生产管理信息,通信报文长,每次传输的信息量大,要求通信的范围也比较广,但对通信实时性的要求却不高。而在底层传送的主要是些过程数据及控制命令,报文不长,每次通信量不大,通信距离也比较近,但对实时性及性的要求却比较高。
中间层对通信的要求正好居于两者之间。
PLC网络的分级与生产金字塔的分层不是—一对应的关系,相邻几层的功能,若对通信要求相近,则可合并,由一级子网去实现。采用多级复合结构不仅使通信具有适应性,而且具有良好的可扩展性,用户可以根据投资情况及生产的发展,从单台PLC到网络、从底层向高层逐步扩展。下面列举几个有代表性公司的PLC网络结构。
西门子S7-200 CPU的通信口可以设置为自由口模式。选择自由口模式后,用户程序就可以控制通信端口的操作,通信协议也受用户程序控制。
S7-200 CPU上的通信口在电气上是标准的RS-485半双工串行通信口。此串行字符通信的格式可以包括:
一个起始位
7或8位字符(数据字节)
一个奇/偶校验位,或者没有校验位
一个停止位
自由口通信速波特率可以设置为1200、2400、4800、9600、19200、38400、57600或112500。
凡是符合这些格式的串行通信设备,理论上都可以和S7-200 CPU通信。
自由口模式可以灵活应用。Micro/WIN的两个指令库(USS和Modbus RTU)就是使用自由口模式编程实现的。
在进行自由口通信程序调试时,可以使用PC/PPI电缆(设置到自由口通信模式)连接PC和CPU,在PC上运行串口调试软件(或者bbbbbbs的HyperTerminal-级终端)调试自由口程序。
USB/PPI电缆和CP卡不支持自由口调试。
自由口通信要点
应用自由口通信要把通信口定义为自由口模式,同时设置相应的通信波特率和上述通信格式。用户程序通过特殊存储器SMB30(对端口0)、SMB130(对端口1)控制通信口的工作模式。
CPU通信口工作在自由口模式时,通信口就不支持其他通信协议(比如PPI),此通信口不能再与编程软件Micro/WIN通信。CPU停止时,自由口不能工作,Micro/WIN就可以与CPU通信。
通信口的工作模式,是可以在运行过程中由用户程序重复定义的。
如果调试时需要在自由口模式与PPI模式之间切换,可以使用SM0.7的状态决定通信口的模式;而SM0.7的状态反映的是CPU运行状态开关的位置(在RUN时SM0.7="1",在STOP时SM0.7="0")
自由口通信的指令是发送(XMT)和接收(RCV)指令。在自由口通信常用的中断有“接收指令结束中断”、“发送指令结束中断”,以及通信端口缓冲区接收中断。
与网络读写指令(NetR/NetW)类似,用户程序不能直接控制通信芯片而通过操作系统。用户程序使用通信数据缓冲区和特殊存储器与操作系统交换相关的信息。
XMT和RCV指令的数据缓冲区类似,起始字节为需要发送的或接收的字符个数,随后是数据字节本身。如果接收的消息中包括了起始或结束字符,则它们也算数据字节。
调用XMT和RCV指令时只需要通信口和数据缓冲区的起始字节地址。
XMT和RCV指令与NetW/NetR指令不同的是,它们与网络上通信对象的“”无关,而仅对本地的通信端口操作。如果网络上有多个设备,消息中必然包含地址信息;这些包含地址信息的消息才是XMT和RCV指令的处理对象。
由于S7-200的通信端口是半双工RS-485芯片,XMT指令和RCV指令不能同时有效。
XMT和RCV指令
XMT(发送)指令的使用比较简单。RCV(接收)指令所需要的控制稍多一些。
RCV指令的基本工作过程为:
在逻辑条件满足时,启动(一次)RCV指令,进入接收等待状态
监视通信端口,等待设置的消息起始条件满足,然后进入消息接收状态
如果满足了设置的消息结束条件,则结束消息,然后退出接收状态
所以,RCV指令启动后并不一定就接收消息,如果没有让它开始消息接收的条件,就一直处于等待接收的状态;如果消息始终没有开始或者结束,通信口就一直处于接收状态。这时如果尝试执行XMT指令,就不会发送任何消息。
所以确保不同时执行XMT和RCV非常重要,可以使用发送完成中断和接收完成中断功能,在中断程序中启动另一个指令。
在《S7-200系统手册》和Micro/WIN 在线帮助中关于XMT和RCV指令的使用有一个例子。这个例子非常经典,强烈建议学习自由口通信时先做通这个例子。
字符接收中断
S7-200 CPU提供了通信口字符接收中断功能,通信口接收到字符时会产生一个中断,接收到的字符暂存在特殊存储器SMB2中。通信口Port0和Port1共用SMB2,但两个口的字符接收中断号不同。
每接收到一个字符,就会产生一次中断。对于连续发送消息,需要在中断服务程序中将单个的字符排列到用户规定的消息保存区域中。实现这个功能可能使用间接寻址比较好。
对于高通信速率来说,字符中断接受方式需要中断程序的执行速度足够快。
一般情况下,使用结束字符作为RCV指令的结束条件比较。如果通信对象的消息帧中以一个不定的字符(字节)结束(如校验码等),就应当规定消息或字符时作为结束RCV指令的条件。但是往往通信对象未必具有严格的协议规定、工作也未必,这就可能造成RCV指令不能正常结束。这种情况下可以使用字符接收中断功能。
西门子PLC的网络是适合不同的控制需要的,也为各个网络层次之间提供了互连模块或装置,利用它们可以设计出满足各种应用需求的控制管理网络。西门子S7系列PLC网络采用3级总线复合型结构,底一级为远程I/O链路,负责与现场设备通信,在远程I/O链路中配置周期I/O通信机制。中间一级为Profibus现场总线或主从式多点链路。前者是一种新型现场总线,可承担现场、控制、监控三级的通信,采用令牌方式与主从轮询相结合的存取控制方式;后者为一种主从式总线,采月主从轮询式通信。一层为工业以太网,它负责传送生产管理信息。在工业以太网通信协议的下层中配置以802.3为的以太网协议,在上层向用户提供TF接口,实现AP协议与MMS协议。
PLC要提供金字塔功能或者说要实现NBS或ISO模型要求的功能,采用单层子网显然是不行的。因为不同层所实现的功能不同,所承担的任务的性质不同,导致它们对通信的要求也就不一样。在上层所传送的主要是些生产管理信息,通信报文长,每次传输的信息量大,要求通信的范围也比较广,但对通信实时性的要求却不高。而在底层传送的主要是些过程数据及控制命令,报文不长,每次通信量不大,通信距离也比较近,但对实时性及性的要求却比较高。中间层对通信的要求正好居于两者之间。
PLC网络的分级与生产金字塔的分层不是—一对应的关系,相邻几层的功能,若对通信要求相近,则可合并,由一级子网去实现。采用多级复合结构不仅使通信具有适应性,而且具有良好的可扩展性,用户可以根据投资情况及生产的发展,从单台PLC到网络、从底层向高层逐步扩展。下面列举几个有代表性公司的PLC网络结构。




PPI是点对点(point to point),MPI(multi point)多点
MPI通信
MPI (Multipoint interface)是SIMATIC S7多点通信的接口,是一种适用于少数站点间通信的网络,多用于连接上位机和少量PLC之间近距离通信。
通过PROFIBUS电缆和接头,将控制器S7-300或S7-400的CPU自带的MPI编程口及S7-200CPU 自带的PPI通信口相互连接,以及与上位机网卡的编程口(MPI/DP 口)通过PROFIBUS或MPI电缆连接即可实现。 网络中当然也可以不包括PC机而只包括PLC。
MPI的通信速率为19.2K~12Mbit/s ,但直接连接S7-200CPU通信口的MPI网,其速率通常为187.5Kbit/s (受S7-200CPU通信速率的限制)。
在MPI网络上多可以有32个站,一个网段的长通信距离为50米(通信波特率为187.5Kbit/s时),长的通信距离可以通过RS-485中继器扩展。
MPI允许主-主通信和主-从通信,每个S7-200CPU通信口的连接数为4个。
MPI协议不能与一个作为PPI主站的S7-200CPU通信,即S7-300或S7-400与S7-200通信时保证这个S7-200 CPU不能再作PPI主站,Micro/WIN也不能通过MPI协议访问作为PPI主站的S7-200CPU。
S7-200CPU只能做MPI从站,即S7-200CPU之间不能通过MPI网络互相通信,只能通过PPI方式互相通信。
STEP 7-Micro/WIN可以与S7-200CPU建立MPI主-从连接。硬件使用CP5611卡加上PROFIBUS或MPI电缆,S7-200 CPU通信口上要使用带编程口的网络连接器。S7-200CPU的通信口通信速率可设为19.2K,187.5K。
注:CP5613不能通过MPI方式与S7-200 CPU通信口进行编程通信。
S7-300和S7-400 CPU可以作为MPI主站用XGET(SFC67)和XPUT(SFC68)指令读取S7-200数据,通信数据包大为64个字节。S7200 CPU中不需要编写任何与通信有关的程序,只需要将要交换的数据整理到一个连续的V 存储区当中即可。
多数的300只有MPI通信口,有的带有DP(315-2DP)口或者PPI口(315-2ptp)。
问:西门子PLC如 s7200 s7300 s7400 还有新出的s71200。请问各位高手在实际应用中选择这些plc的主要标准是什么?
答: 在PLC系统设计时,应确定控制方案,下一步工作就是PLC工程设计选型。工艺流程的特点和应用要求是设计选型的主要依据。PLC及有关设备应是集成的、标准的,按照易于与工业控制系统形成一个整体,易于扩充其功能的原则选型所选用PLC应是在相关工业领域有投运业绩、成熟的系统,PLC的系统硬件、软件配置及功能应与装置规模和控制要求相适应。熟悉可编程序控制器、功能表图及有关的编程语言有利于缩短编程时间,因此,工程设计选型和估算时,应详细分析工艺过程的特点、控制要求,明确控制任务和范围确定所需的操作和动作,然后根据控制要求,估算输入输出点数、所需存储器容量、确定PLC的功能、外部设备特性等,后选择有较价格比的PLC和设计相应的控制系统。
一、输入输出(I/O)点数的估算
I/O点数估算时应考虑适当的余量,通常根据统计的输入输出点数,再增加10%~20%的可扩展余量后,作为输入输出点数估算数据。实际订货时,还需根据制造厂商PLC的产品特点,对输入输出点数进行圆整。
二、存储器容量的估算
存储器容量是可编程序控制器本身能提供的硬件存储单元大小,程序容量是存储器中用户应用项目使用的存储单元的大小,因此程序容量小于存储器容量。设计阶段,由于用户应用程序还未编制,因此,程序容量在设计阶段是未知的,需在程序调试之后才知道。为了设计选型时能对程序容量有一定估算,通常采用存储器容量的估算来替代。
存储器内存容量的估算没有固定的公式,许多文献资料中给出了不同公式,大体上都是按数字量I/O点数的10~15倍,加上模拟I/O点数的100倍,以此数为内存的总字数(16位为一个字),另外再按此数的25%考虑余量。
三、控制功能的选择
该选择包括运算功能、控制功能、通信功能、编程功能、诊断功能和处理速度等特性的选择。
(一)运算功能
简单PLC的运算功能包括逻辑运算、计时和计数功能;普通PLC的运算功能还包括数据移位、比较等运算功能;较复杂运算功能有代数运算、数据传送等;大型PLC中还有模拟量的PID运算和其他运算功能。随着开放系统的出现,目前在PLC中都已具有通信功能,有些产品具有与下位机的通信,有些产品具有与同位机或上位机的通信,有些产品还具有与工厂或企业网进行数据通信的功能。设计选型时应从实际应用的要求出发,合理选用所需的运算功能。大多数应用场合,只需要逻辑运算和计时计数功能,有些应用需要数据传送和比较,当用于模拟量检测和控制时,才使用代数运算,数值转换和PID运算等。要显示数据时需要译码和编码等运算。
(二)控制功能
控制功能包括PID控制运算、前馈补偿控制运算、比值控制运算等,应根据控制要求确定。PLC主要用于顺序逻辑控制,因此,大多数场合常采用单回路或多回路控制器解决模拟量的控制,有时也采用的智能输入输出单元完成所需的控制功能,提高PLC的处理速度和节省存储器容量。例如采用PID控制单元、高速计数器、带速度补偿的模拟单元、ASC码转换单元等。
(三)通信功能
大中型PLC系统应支持多种现场总线和标准通信协议(如TCP/IP),需要时应能与工厂管理网(TCP/IP)相连接。通信协议应符合ISO/IEEE通信标准,应是开放的通信网络。
PLC系统的通信接口应包括串行和并行通信接口(RS2232C/422A/423/485)、RIO通信口、工业以太网、常用DCS接口等;大中型PLC通信总线(含接口设备和电缆)应1:1冗余配置,通信总线应符合标准,通信距离应满足装置实际要求。
PLC系统的通信网络中,上级的网络通信速率应大于1Mbps,通信负荷不大于60%。PLC系统的通信网络主要形式有下列几种形式:1)PC为主站,多台同型号PLC为从站,组成简易PLC网络;2)1台PLC为主站,其他同型号PLC为从站,构成主从式PLC网络;3)PLC网络通过特定网络接口连接到大型DCS中作为DCS的子网;4)PLC网络(各厂商的PLC通信网络)。
为减轻CPU通信任务,根据网络组成的实际需要,应选择具有不同通信功能的(如点对点、现场总线、工业以太网)通信处理器。
(四)编程功能
离线编程方式:PLC和编程器公用一个CPU,编程器在编程模式时,CPU只为编程器提供服务,不对现场设备进行控制。完成编程后,编程器切换到运行模式,CPU对现场设备进行控制,不能进行编程。离线编程方式可降低系统成本,但使用和调试不方便。在线编程方式:CPU和编程器有各自的CPU,主机CPU负责现场控制,并在一个扫描周期内与编程器进行数据交换,编程器把在线编制的程序或数据发送到主机,下一扫描周期,主机就根据新收到的程序运行。这种方式成本较高,但系统调试和操作方便,在大中型PLC中常采用。
五种标准化编程语言:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST)两种文本语言。选用的编程语言应遵守其标准(IEC6113123),同时,还应支持多种语言编程形式,如C,Basic等,以满足特殊控制场合的控制要求。
(五)诊断功能
PLC的诊断功能包括硬件和软件的诊断。硬件诊断通过硬件的逻辑判断确定硬件的故障位置,软件诊断分内诊断和外诊断。通过软件对PLC内部的性能和功能进行诊断是内诊断,通过软件对PLC的CPU与外部输入输出等部件信息交换功能进行诊断是外诊断。
PLC的诊断功能的强弱,直接影响对操作和维护人员技术能力的要求,并影响平均维修时间。
(六)处理速度
PLC采用扫描方式工作。从实时性要求来看,处理速度应越快越好,如果信号持续时间小于扫描时间,则PLC将扫描不到该信号,造成信号数据的丢失。
处理速度与用户程序的长度、CPU处理速度、软件质量等有关。目前,PLC接点的响应快、速度高,每条二进制指令执行时间约0.2~0.4Ls,因此能适应控制要求高、相应要求快的应用需要。扫描周期(处理器扫描周期)应满足:小型PLC的扫描时间不大于0.5ms/K;大中型PLC的扫描时间不大于0.2ms/K。 四、机型的选择
(一)PLC的类型
PLC按结构分为整体型和模块型两类,按应用环境分为现场安装和控制室安装两类;按CPU字长分为1位、4位、8位、16位、32位、64位等。从应用角度出发,通常可按控制功能或输入输出点数选型。
整体型PLC的I/O点数固定,因此用户选择的余地较小,用于小型控制系统;模块型PLC提供多种I/O卡件或插卡,因此用户可较合理地选择和配置控制系统的I/O点数,功能扩展方便灵活,一般用于大中型控制系统。
(二)输入输出模块的选择
输入输出模块的选择应考虑与应用要求的统一。例如对输入模块,应考虑信号电平、信号传输距离、信号隔离、信号供电方式等应用要求。对输出模块,应考虑选用的输出模块类型,通常继电器输出模块具有价格低、使用电压范围广、寿命短、响应时间较长等特点;可控硅输出模块适用于开关频繁,电感性低功率因数负荷场合,但价格较贵,过载能力较差。输出模块还有直流输出、交流输出和模拟量输出等,与应用要求应一致。
可根据应用要求,合理选用智能型输入输出模块,以便提高控制水平和降低应用成本。
考虑是否需要扩展机架或远程I/O机架等。
(三)电源的选择
PLC的供电电源,除了引进设备时同时引进PLC应根据产品说明书要求设计和选用外,一般PLC的供电电源应设计选用220VAC电源,与国内电网电压一致。重要的应用场合,应采用不间断电源或稳压电源供电。
如果PLC本身带有可使用电源时,应核对提供的电流是否满足应用要求,否则应设计外接供电电源。为防止外部高压电源因误操作而引入PLC,对输入和输出信号的隔离是必要的,有时也可采用简单的二管或熔丝管隔离。
(四)存储器的选择
由于计算机集成芯片技术的发展,存储器的价格已下降,因此,为保证应用项目的正常投运,一般要求PLC的存储器容量,按256个I/O点至少选8K存储器选择。需要复杂控制功能时,应选择容量大,档次高的存储器。
(五)冗余功能的选择
1.控制单元的冗余
(1)重要的过程单元:CPU(包括存储器)及电源均应1B1冗余。
(2)在需要时也可选用PLC硬件与热备软件构成的热备冗余系统、2重化或3重化冗余容错系统等。
2.I/O接口单元的冗余
(1)控制回路的多点I/O卡应冗余配置。
(2)重要检测点的多点I/O卡可冗余配置。3)根据需要对重要的I/O信号,可选用2重化或3重化的I/O接口单元。
(六)经济性的考虑
选择PLC时,应考虑性能价格比。考虑经济性时,应同时考虑应用的可扩展性、可操作性、投入产出比等因素,进行比较和兼顾,终选出较满意的产品。
输入输出点数对价格有直接影响。每增加一块输入输出卡件就需增加一定的费用。当点数增加到某一数值后,相应的存储器容量、机架、母板等也要相应增加,因此,点数的增加对CPU选用、存储器容量、控制功能范围等选择都有影响。在估算和选用时应充分考虑,使整个控制系统有较合理的性能价格比。
然后再根据西门子PLC的技术规格选型就可以了。
西门子PLC在运行时采用循环执行用户程序的方式,这种运行方式也称为扫描工作方式。
下面是循环处理的各个阶段的任务:
1) 操作系统启动循环时间监控。
2) CPU将过程映像输出区的数据写到输出模块。
3) CPU读取输入模块的输入状态,并存入过程映像输入区。
4) CPU处理用户程序,执行用户程序中的指令。
5) 在循环结束时,操作系统执行其他任务,例如下载和删除块等。
6) CPU返回阶段,重新启动循环时间监控。
有个网友提出这样一个问题:为什么不是像其他PLC那样,在本次扫描周期结束的时候将过程映像输出区的数据写到输出模块,而是在下一个扫描循环周期才写到输出模块?这样不是产生了一个扫描周期的延迟吗?
我的回答如下:PLC的扫描工作方式是一种重复的循环过程,就像我们日常使用的时钟一样,23点59分59秒过了就是下的0点0分0秒。说起来进入了下,实际上只差时间。因此在下一扫描周期的开始将数据输出到外设,与本周期结束时输出的效果基本上是一样的。这两种方法的输出时间相差不是一个扫描周期,基本上没什么差别。