浔之漫智控技术(上海)有限公司
西门子模块代理商
西门子PLC代理商6ES7223-1PL22-0XA8

6ES7223-1PL22-0XA8

*** 备件 *** SIMATIC S7-200 CN,数字量 I/O EM 223,仅用于 S7-22X CPU, 16 DE 24V DC,灌电流/拉电流, 16 DA 继电器,2A/通道 此 S7-200 CN 产品 只具有 CE 认证

浔之漫智控技术有限公司长期低价销售西门子PLC,200,300,400,1200,西门子PLC附件,西门子电机,西门子人机界面,西门子变频器,西门子数控伺服,西门子总线电缆现货供应,欢迎来电咨询系列产品,折扣低,货期准时,并且备有大量库存.长期有效

西门子S7-200PLC的基本概念是什么

1.输出线图和指令盒

  在S7-200PLC的梯形图编程语言中,其输出表示形式有线圈和指令盒两种。对输出继电器Q、中间继电器M等元器件来说,就是以线圈的方式表示的;对定时器T、计数器C,以及大部分的功能指令来说,其输出的表示形式是以指令盒的方式表示的。指令盒是一个四方框,它的周围既有输人信号的接口,有的也有输出信号的接口,另外它上面还有指令的名称等等。图4-9所示为两种不同输出表示方式举例。



  2.网络块

  网络块(Network)是S7-200PLC编程软件中一个特殊的标记,也可以说网络块是一个*小的独立的逻辑块。整个梯形图程序就是由许多网络块组成的,每个网络块均起始于母线,所有的网络块组合在一起就是梯形图程序,这是S7-200PLC编程的特点。如图4-10所示,在编程过程中,要严格按照网络块的概念进行程序设计,并对每一个网络块进行注释,这样即清晰美观,又便于以后的阅读。只有严格按照网络块的方式进行编程,才可以在编程软件中进行梯形图、语句表和功能块图等不同编程语言之间进行自动的相互转换。图4-10中*上面的一行文字是对整个程序的注释。

  程序结构

  S7-200PLC的程序由三部分构成:用户程序、数据块和参数块。

  1.用户程序

  在一个控制系统中用户程序是必须有的,用户程序在存储器空间中也称做组织块,它处于*高层次,可以管理其他块,可以使用各种语言(如STL、LAD或FBD等)编写用户程序。不同机型的CPU其程序空间容量也不同,即对用户程序的长短有规定,但程序存储器的容量对一般场合使用来说已绰绰有余了。

  用户控制程序可以包含一个主程序、若干子程序和若干中断程序。主程序是必须的,而且也只能有一个,子程序和中断程序的有无和多少是可选的,它们的使用要根据具体使用情况来决定。在重复执行某项功能的时候,子程序是非常有用的;当特定的情况发生需要及时执行某项控制任务时,中断程序又是必不可少的。在第5章和第7章中将对主程序、子程序和中断程序的编制有详细的讲解。程序结构示意如图4-11所示。

  2.数据块

  数据块为可选部分,它主要存放控制程序运行所需的数据。数据块不一定在每个控制系统的程序设计中都使用,但使用数据块可以完成一些有特定数据处理功能的程序设计,比如为变量存储器V指定初始值。

  图4-11 程序结构

  3.参数块

  参数块存放的是CPU组态数据,如果在编程软件或其他编程工具上未进行CPU的组态,则系统以默认值进行自动配置。在有特殊需要时,用户可以对系统的参数块进行设定,比如有特殊要求的输人、输出设定、掉电保持设定等,但大部分情况下使用默认值。

PLC双线圈输出与双线圈驱动的工作原理和区别是什么

1. 位元件输出执行和双线圈

  位元件的驱动输出在梯形图中是由线圈输出指令 OUT 和功能指令的操作来完成的,但两种指令的执行有很大的区别,

  1)OUT指令执行

  不管驱动条件是否成立,OUT 指令都要执行输出。驱动条件成立,则输出执行为 ON (下面用1表示),驱动条件不成立,则输出执行为OFF(下面用0表示)。

  2)功能指令执行

  位元件也经常作为功能指令的操作数进行驱动,例如 SET Y0、RST Y0、MOV K10 K4Y0 等。同样,这些功能指令均有驱动条件,功能指令仅当驱动条件成立时,才执行指令的操作功能。其执行结果会送到 I/O 映像区或 RAM 存储区中去保存,而驱动条件不成立时,执行的结果仍然保持不变,直到通过执行新的指令操作得到新的执行结果为止。

  什么叫双线圈?在梯形图程序中,如果一个位元件的线圈被驱动两次或两次以上,就叫双线圈。根据驱动所用的指令不同,双线圈在程序中又分为三种结构。

  (1)用OUT指令驱动同一个位元件两次或两次以上。

  (2)用OUT指令和功能指令驱动同一个位元件两次或两次以上。

  (3)用两个功能指令驱动同一个位元件两次或两次以上。

  上面三种结构,第(1)种和第(2)种称为双线圈输出,第(3)种称为双线圈驱动。在程序中这两种情况执行的结果是不同的,下面分别给予讨论。

  2.双线圈输出

  所谓双线圈输出是指位元件在编程中用OUT指令驱动了两次或两次以上,或者用OUT 指令和功能指令驱动了两次或两次以上,程序如图5.1-8所示。

  图5.1-8 双线圈输出程序例1

  图5.1-8(a)为Y0用OUT指令驱动了两次,是一种典型的双线圈输出。这种程序设计的本意是:如果输入采样为X0接通,X1断开,则Y0,Y1,Y3均为1;如果输入采样为 X0 断开,X1 接通,则 Y0,Y3 均为 1。那么程序运行结果是不是这样呢实际上不是,图5.1-8(b)是实际运行监控结果,当 X0 接通、X1 断开时,Y0,Y3 均为0,仅Y1=1。而且发生了一个初学者感到奇怪的现象,X0接通,Y0没有输出;Y0常开触点没接通,YI却有输出,这种现象只能通过OUT指令的执行特性和程序的扫描执行过程来说明。

  当X0接通时,第0行,Y0=1,执行结果马上影响第2行,Y0触点动合,Y1=1。到第4行,由于X1断开,但OUT指令仍然得到执行,使Y0=0,执行结果马上影响第6行,Yo 触点不动作,使 Y3=0。由扫描原理可知,输出 Y 的状态是以 I/O 映像区中*后的状态在END 指令执行后统一刷新送到输出锁存存储区中,然后传送到各相应的输出端子,所以,结果是Y1=1,Y0=Y3=0。正是OUT指令的这种执行特性和梯形图的扫描,才产生了所谓的双线圈问题。

  再来看看图5.1-9(a),图中Y0用OUT指令和SET指令分别驱动了一次,这是另一种形式的双线圈输出。这种程序会不会同样存在线圈驱动互有影响而得不到预想得结果呢假定X1接通,X0断开,希望得到Y0=Y1=Y2=1的输出结果,但实际上,X1接通后,SET Y0指令使Y0=1,到第6行,Y2=1,重新扫描原第0行,执行OUT指令,Y0=0,到第2行,Y1=0。这就是为什么实际运行结果却是Y0=Y2=1,Y1=0。当X1断开后,Y0应该保持置1 状态,但实际监控结果却是 Y0=Y1=Y2=0。为什么?因为,虽然 X1 断开后,Y0 保持置1 状态。但再次扫描到首行时,由于X0断开,OUT指令执行使Y0的状态由1变为0,相当于执行了一条RST Y0指令,Y0=0,使Y1=0,如果这时X1已断开,则SETY0指令得不到执行,而又使Y2=0,程序执行的*后结果是Y0=Y1=Y2=0。在含有OUT指令输出的双线圈输出中,由于 OUT 指令执行的特性会使输出状态互相影响而导致程序运行后得不到预期的输出结果。

  图5.1-9 双线圈输出程序例2

  对图5.1-8和图5.1-9的双线圈程序分析可以得出这样的结论:双线圈输出不存在编程语法错误。编程软件可以接受双线圈输出,但由于两个线圈的驱动互有影响,在程序结构复杂时,会得不到程序设计所预想的结果,导致控制失误。因此,在梯形图程序中,应避免出现双线圈输出设计,特别是输出继电器Y的双线圈输出设计。

  但也有例外,如果双线圈输出并不在同一扫描周期内,则不会产生双线圈输出问题,如利用条件转移指令CJ设计的手动、自动程序。由于手动和自动程序不会在同一扫描周期被执行,因此,在这两个程序段可以允许有相同的线圈输出,并不构成双线圈输出。类似的还有STL指令步进程序SFC梯形图。在步进程序中,由于一定时间仅在一个状态被激活,因此,在一个状态里不能出现双线圈输出,而在不同的状态可以有相同的线圈输出,这不叫作双线圈输出。但也要注意,两个相邻状态也不能出现相同线圈的输出。

  3. 双线圈驱动

  在梯形图程序中,如果相同的位元件输出仅出现在功能指令的操作数中,而且在一个扫描周期内出现在两个或两个以上的功能指令,则称为双线圈驱动,以示与双线圈输出的区别。

  双线圈驱动属于指令的操作与驱动,关于功能指令的执行已在上面给予说明。由于功能指令仅在驱动条件成立时才执行,而当驱动条件断开后,执行结果仍然被保存,直到下一条功能指令改变执行结果为止。因此,双线圈驱动不存在双线圈输出那种输出驱动互相影响的情况,双线圈驱动是一种正常的编程。

  在双线圈驱动中,如果多个功能指令驱动一个线圈,线圈的状态则以*后一个执行的功能指令的操作结果为准。图5.1-10为一个多次用SET,RST指令对Y0进行操作的程序。Y0 的状态决定于*后执行的SET、RST指令,而与指令在梯形图中的位置无关。如果同时有几个指令被执行,如先接通X0,又接通 X2,再接通 X1,则 Y0 的状态由*接近 END 的功能指令执行结果决定,图中,为X2所驱动的SET Y0指令*接近END指令,所以Y0=1。而不是*后执行的X1所驱动的RST Y0指令。

  图5.1-10 SET、RST双线圈驱动


展开全文
优质商家推荐 拨打电话