热门搜索:
西门子6AV6644-0AC01-2AX0
我公司经营西门子全新原装现货PLC;S7-200S7-300 S7-400 S7-1200 触摸屏,变频器,6FC,6SNS120 V10 V60 V80伺服数控备件:原装进口电机(1LA7、1LG4、1LA9、1LE1),国产电机(1LG0,1LE0)大型电机(1LA8,1LA4,1PQ8)伺服电机(1PH,1PM,1FT,1FK,1FS)西门子保内全新原装产品‘质保一年。一年内因产品质量问题免费更换新产品;不收取任何费。欢迎致电咨询。
追求卓越,追求精确
要通过“严格”的检验程序,以可编程控制器(PLC)产品为例,在整个生产过程中针对该类产品的质量检测节点就**过20个。视觉检测是数字化工厂特有的质量检测方法,相机会拍下产品的图像与Teamcenter数据平台中的正确图像作比对,一点小小的瑕疵都逃不过SIMATIC IT品质管理模块的“眼睛”。对比传统制造企业的人工抽检,这显然要可靠又快速得多。”
S7-200PLC的通讯口支持RS485接口标准。采用正负两根信号线作为传输线路。
工作模式采用串行半双工形式,在任意时刻只允许由一方发送数据,另一方接收数据。
数据传输采用异步方式,传输的单位是字符,收发双方以预先约定的传输速率,在时钟的作用下,传送这个字符中的每一位。
传输速率可以设置为1200、2400、4800、9600、19200、38400、57600、115200。
字符帧格式为一个起始位、7或8个数据位、一个奇/偶校验位或者无校验位、一个停止位。
字符传输从较低位开始,空闲线高电平、起始位低电平、停止位高电平。字符传输时间取决于波特率。
数据发送可以是连续的也可以是断续的。所谓连续的数据发送,是指在一个字符格式的停止位之后,立即发送下一个字符的起始位,之间没有空闲线时间。而断续的数据发送,是指当一个字符帧发送后,总线维持空闲的状态,新字符起始位可以在任意时刻开始发送,即上一个字符的停止位和下一个字符的起始位之间有空闲线状态。
示例:用PLC连续的发送两个字符(16#55和16#EE)(程序如图3和图4),通过示波器测量CPU通讯端口管脚3/8之间的电压,波形如下图1.:
图1.两个字符(16#55和16#EE)的波形图
示例说明:
16进制的16#55换算成2进制等于2#01010101,16进制的16#EE换算成2进制等于2#11101110。如图所示,当数据线上没有字符发送时总线处于空闲状态(高电平),当PLC发送**个字符16#55时,先发送该字符帧的起始位(低电平),再发送它的8个数据位,依次从数据位的较低位开始发送(分别为1、0、1、0、1、0、1、0),接着发送校验位(高电平或低电平或无)和停止位(高电平)。因为本例中PLC连续的发送两个字符,所以**个字符帧的停止位结束后便立即发送下一个字符帧的起始位,之间数据线没有空闲状态。假如PLC断续的发送这两个字符,那么当PLC发送完**个字符帧的停止位后,数据线将维持一段时间空闲状态,再发送下一个字符帧。
字符传输的时间取决于波特率,如果设置波特率为9.6k,那么传输一个字符帧中的一位用时等于1/9600*1000000=104us,如果这个字符帧有11位,那么这个字符帧的传输时间等于11/9600*1000=1.145ms.
SMB30(对于端口0)和SMB130(对于端口1)被用于选择波特率和校验类型。SMB30和SMB130可读可写。见下图2.
图2.特殊存储器字节SMB30/SMB130
示例:定义端口0为自由口模式,9600波特率,8位数据位,偶校验,程序如下图3.:
图3.通讯口初始化程序
发送指令XMT能够发送一个字节或多个字节的缓冲区,较多为255个。使用边沿触发。
发送缓冲区格式:**个字节为字符个数,其后为发送的信息字符。
示例:如果PLC连续发送2个字符16#55和16#EE,程序如下图4.:
图4.发送指令程序
示例说明:PLC通过数据块写入数据。XMT指令中TBL缓冲区首地址VB200写入发送字符的个数,VB201和VB202分别写入发送字符。通讯口波形图如图1.
判断发送完成的方法:
方法一:发送完成中断。通过连接中断服务程序到发送结束事件上,在发送完缓冲区中的最后一个字符时,则会产生一个中断。对通讯口0为中断事件9,对通讯口1为中断事件26。连接中断程序到中断事件示例如下图5.:
图5.建立发送完成中断的程序
方法二:发送空闲位。当port0发送空闲时,SM4.5=1。当port1发送空闲时,SM4.6=1.
示例:如果PLC断续的发送2个字符16#55和16#EE.
方法一:利用发送完成中断,在主程序中建立中断事件,执行XMT发送16#55,发送完成后,进入发送完成中断程序中,执行XMT发送16#EE。波形图如图6.
图6.字符波形图
方法二:利用发送空闲位。当执行XMT发送完16#55后,利用SM4.5/4.6的上升沿(确保发送的字符帧发送完成),往XMT的TBL缓冲区写入新字符16#EE,并再次触发发送。波形图如图7.
图7.字符波形图
两种方法均断续发送字符,即两个字符之间有空闲状态。注意:由于SM4.5/4.6的使用受程序扫描周期的影响,编程中推荐使用发送完成中断。
Break断点
Break状态:持续以当前波特率传输16位数据,且一直维持“0”状态。
产生方式:把字符数设置为0并执行XMT指令,可以产生一个Break状态。
Break用途:可以作为接收的起始条件。
示例:通过XMT指令发送一个Break断点。偶校验,8个数据位,9.6K。程序如下图8.:
图8.发送一个断点的程序
Break状态的波形图如下图9.
图9.一个断点波形图
如果通过接收方为上位机或者S7-200PLC,那么它们接收到的字符为16#00.
那么通过发送一个Break断点接收到的16#00与发送一个字符帧16#00有什么不同呢?Break状态是传输16位数据一直为0。而发送一个字符16#00(帧格式为1个起始位,8个数据位,偶校验和停止位)则传输11位该字符帧。如下图10.
图10.一个断点和字符0的波形图
接收指令RCV能够接收一个字节或多个字节的缓冲区,较多为255个。使用边沿触发或**个扫描周期触发。
接收缓冲区格式:**个字节表示接收的字符个数,其后为接收的信息字符。
RCV使能会将TBL缓冲区中的字符个数清零。
示例:如果发送方给PLC发送2个字符16#55和16#EE,PLC的接收程序如下图11.:
图11.接收指令程序
示例说明:RCV指令TBL缓冲区的首地址VB200保存的是接收字符个数,其后是信息字符。
判断接收完成的方法:
方法一:接收完成中断。通过连接中断服务程序到接收信息完成事件上,在接收完缓冲区中的最后一个字符时,则会产生一个中断。对端口0为中断事件23,对端口1为中断事件24。连接中断程序到中断事件示例如下图12.:
图12.建立接收完成中断的程序
方法二:接收状态字节。SMB86(port0),SMB186(port1)。
当接收状态字节为0,表示接收正在进行。
当接收状态字节不为0,表示接收指令未被激活或者已经被中止。见下图13.
图13.接收状态字节SMB86(port0)/SMB186(port1)
接收指令使用接收信息控制字节(SMB87或SMB187)中的位来定义信息起始和结束条件。必须为接收信息功能操作定义一个起始条件和一个结束条件(较大字符数)。如下图14.
图14.接收控制字节SMB87(port0)/SMB187(port1)
接收指令支持几种起始条件:
1.空闲线检测
定义:在传输线上一段安静或空闲的时间。
当接收指令执行时,接收信息对空闲线时间进行检测。在空闲线时间到之前接收的字符,被忽略且按照SMW90/190给定的时间重新启动空闲线定时器。在空闲线时间到之后,接收的字符存入信息缓冲区。
空闲时间的典型值为在*波特率下传输3个字符的时间。
示例:PLC接收的起始条件定义为空闲线检测(设置SMB87中的il=1,sc=0,bk=0,空闲线**时时间SMW90=10ms);接收的结束条件定义为较大字符个数SMB94=10。程序如下图15.
图15.空闲线检测程序
示例说明:
(紫色部分:)当启动接收指令后,PLC对空闲线时间进行检测,如果在SMW90中设定的空闲线时间到之前,已经接收到了字符1,则字符1被忽略,并且按照SMW90中设定的时间重新启动空闲定时器。
(橙色部分:)同样的,如果在SMW90中设定的空闲线时间到之前,已经接收到了字符2,则字符2也被忽略且空闲线定时器重新启动。
(绿色部分:)如果在SMW90中设定的空闲线时间到之后,接收到字符3,则字符3作为**个信息字符存入接收缓冲区。见下图16.
图16.用空闲时间检测来启动接收指令
2.起始字符检测
当接收到SMB88/188*起始字符后,接收信息功能将起始字符作为信息的**个字符存入接收缓冲区。
起始字符之前的字符被忽略,起始字符和其后的所有字符存入接收缓冲区。
示例:PLC接收的起始条件定义为起始字符检测(设置SMB87中的il=0,sc=1,bk=0,起始字符SMB88=16#55);接收的结束条件定义为较大字符个数SMB94=4。程序如下图17.
图17.起始字符检测程序
示例说明:PLC接收总线上传来的一串字符,16#01、16#02、16#03、16#55、16#AA、16#BB、16#CC,当PLC检测到起始字符16#55后,开始接收并将16#55作为**个信息字符存入接收缓冲区,起始字符之前的3个字符被忽略。如下图18.
图18.用起始字符检测来启动接收指令
3.空闲线和起始字符
接收指令执行时,先检测空闲线条件,在空闲线条件满足后,检测起始字符。如果接收的字符不是起始字符,则重新检测空闲线条件。
在空闲线条件满足和接收到起始字符之前接收的字符被忽略。起始字符和字符串一起存入缓冲区。
适用于通讯连接线上有多个设备的情况。
示例:PLC接收的起始条件定义为空闲线和起始字符(设置SMB87中的il=1,sc=1,bk=0,空闲线检测时间SMW90=10ms,起始字符SMB88=16#55),结束条件为较大字符个数2.
示例说明:PLC接收总线上传来的数据,分几种情况:
典型的数字量信号处理包括从输入信号变化,到S7-200识别、进行逻辑运算得到结果并输出,最后输出信号状态实际改变的整个过程。
S7-200 CPU按照以下机制循环工作:
只要CPU处于运行状态,上述步骤就周而复始地执行。在第二步中,CPU也执行通信、自检等工作。
上述三个步骤是S7-200 CPU的软件处理过程,可以认为就是程序扫描时间。
实际上,S7-200对数字量的处理速度受到以下几个因素的限制:
上述A,B,C三段时间,就是限制PLC处理数字量响应速度的主要因素。
一个实际的系统可能还需要考虑输入、输出器件的延时,如输出点外接的中间继电器动作时间等,不在这里讨论。
表1. 输入点硬件延时
以上数据都在《S7-200系统手册》中标明,这里只是列表比较。CPU上的部分输入点延时(滤波)时间可以在编程软件Micro/WIN的“系统块”中设置,其缺省的滤波时间是6.4ms。
如果把容易受到干扰的信号接到CPU上可改变滤波时间的DI点上,调整滤波时间可能改善信号检测的质量。
支持高速计数器功能的输入点在相应功能开通时不受此滤波时间约束。滤波设置对输入映像区的刷新、开关量输入中断、脉冲捕捉功能同样有效。
表2. CPU输出硬件延时
有些输出点要比其他点更快些,是因为它们可以用于高速输出功能,在硬件上有特殊设计。没有专门使用硬件高速输出功能时,它们只是和普通点一样处理
继电器输出开关频率为1Hz。
表3. 扩展模块输出硬件延时
上述数据来自《S7-200系统手册》。
程序扫描时间与用户程序的大小成正比。
《S7-200系统手册》中有每个指令所需执行时间的数据。实际上很难事先预先精确计算出程序扫描时间,特别是还没有开始编程序时。
可以看出,常规的PLC处理模式不适合时间响应要求高的数字量信号。可能需要根据具体任务采用一些特别的方法。
可以单独或组合使用一些S7-200 CPU的高级功能:
S7-200系统中较小周期的定时任务为1ms。
所有实现快速信号处理的措施,都要考虑所有限制因素的影响。例如,为一个需要毫秒级响应速度的信号选择 500μs 输出延时的硬件,显然是不合理的。
不同型号的CPU所带的扩展模块数目不同。
表1. 扩展模块连接个数
表2. 智能扩展模块连接个数
模块的连接个数受电源预算的限制。
CP 243-2 模块要占用两个模块的地址。
每个S7-200 模块都自带一根带状I/O总线电缆,如果该电缆满足模块之间的安装宽度需求,可直接将该电缆插接在其它模块上的10针插槽内,如下图:
如果 CPU 和扩展模块占用的安装长度**过了设备允许的范围,是否可以在导轨间分开安装?
可以。西门子提供一条长度为 0.8 m 的扩展模块总线延长电缆,订货号为 6ES7 290--6AA20--0XA0。一套 S7-200 系统中只能允许加一条总线延长电缆。
EM 277 等模块是否算在CPU能够附加的扩展模块数目内?
所有的智能模块都占用CPU连接的模块数,与普通模块一起计算个数。
CPU是否计算在扩展模块内?
顾名思义,扩展模块指在CPU本体上加挂的模块,而不包括CPU。
智能模块连接到CPU上是否有特殊位置的要求?
所有的S7-200 CPU从22版之后,任何模块都没有特殊的位置要求。
自由口通讯概述
通讯口初始化
发送数据
接收数据
接收指令起始和结束条件
接收指令起始条件
S7-200处理DI/DO的限制因素
输入硬件延时
输入点类型
CPU集成输入点(部分)
扩展模块输入点
24VDC
120/230VAC
输入延时
0.2 - 12.8ms(可选)
4.5ms
15ms
输出硬件延时
输出点类型
24VDC晶体管
24VDC(CPU224 XP)晶体管
继电器
输出延时
OFF - ON
2μs(Q0.0, Q0.1), 15μs(其他)
0.5μs (Q0.0, Q0.1), 15μs(其他)
-
ON - OFF
10μs(Q0.0, Q0.1), 130μs(其他)
1.5μs(0.0, Q0.1), 130μs(其他)
-
开关
-
-
10ms
输出点类型
24VDC
继电器
120/230VAC
0.75A
5A
2A
10A
输出延时
OFF - ON
50μs
500μs
-
-
0.2ms + 1/2AC周期
ON - OFF
200μs
开关
-
-
10ms
15ms
-
较大开关频率
-
1Hz
10Hz
S7-200程序扫描时间
S7-200处理快速响应信号的对策
S7-200 CPU 附加的模块个数
CPU型号
模块连接个数
CPU221
-
CPU222
2
CPU224/224 XP
7
CPU226
7
CPU型号
特殊模块较大连接个数
EM241
EM253
EM277
CP243-1
CP243-2
SIWAREX MS
CPU221
-
-
-
-
-
-
CPU222
2
1
2
1
1
2
CPU224/224 XP
7
3
4
1
2
4
CPU226
7
5
6
1
2
7
模块安装
常问问题