全国服务热线 15821971992
公司新闻

西门子1FL6032-2AF21-1LB1

发布时间: 2023-02-07 13:12 更新时间: 2023-10-26 04:00

 西门子CPU的内部处理时间

1、读取输入点的状态到输入映像区

2、执行用户程序,进行逻辑运算,得到输出信号的新状态

3、将输出信号写入到输出映像区

4、输出硬件延时(从输出缓冲区状态改变到输出点真实电平改变的时间)

上述A,B,C三段时间,就是限制西门子PLC处理数字量响应速度的主要因素。

一个实际的系统可能还需要考虑输入、输出器件的延时,如输出点外接的中间继电器动作时间等

以上数据都在《S7-200系统手册》中标明,这里只是列表比较。CPU上的部分输入点延时(滤波)时间可以在编程软件Micro/WIN的“系统块”中设置,其缺省的滤波时间是6.4ms。

如果把容易受到干扰的信号接到CPU上可改变滤波时间的DI点上,调整滤波时间可能改善信号检测的质量。

支持高速计数器功能的输入点在相应功能开通时不受此滤波时间约束。滤波设置对输入映像区的刷新、开关量输入中断、脉冲捕捉功能同样有效。

有些输出点要比其他点更快些,是因为它们可以用于高速输出功能,在硬件上有特殊设计。没有专门使用硬件高速输出功能时,它们只是和普通点一样处理

继电器输出开关频率为1Hz。
EXP-P_ST70_XX_00705i

定义想要通信的远程PLC地址。
如果定义的是NETR(网络读)操作:
定义读取的数据应该存在本地PLC的哪个地址区,有效的操作数为VB,IB,QB,MB,LB
如果定义的是NETW(网络写)操作:
定义要写入远程PLC的本地PLC数据地址区,有效的操作数为VB,IB,QB,MB,LB。
如果定义的是NETR(网络读)操作:
定义应该从远程PLC的哪个地址区读取数据,有效的操作数为VB,IB,QB,MB,LB
如果定义的是NETW(网络写)操作:
定义在远程PLC中应该写入哪个地址区,有效的操作数为VB,IB,QB,MB,LB
操作此按钮可以删除当前定义的操作
操作此按钮可以进入下一步网络操作的定义
第四步分配V存储区地址
图5.分配数据区地址
配置的每一个网络操作需要12字节的V区地址空间,上例中配置了两个网络操作,因此占用了24个字节的V区地址空间。向导自动为用户提供了建议地址,用户也可以自己定义V区地址空间的起始地址。
注意:要保证用户程序中已经占用的地址、及网络操作中读写区所占用的地址以及此处向导所占用的V区地址空间不能重复使用,否则将导致程序不能正常工作。
第五步生成子程序及符号表
图6.生成子程序和符号表
上图显示了NETR/NETW向导生成的子程序、符号表,一旦点击完成按钮,上述显示的内容将在你的项目中生成。
第六步配置完NETR/NETW向导,需要在程序中调用向导生成的NETR/NETW参数化子程序
图7.网络读写子程序
调用子程序:
图8.调用子程序后生成下面的程序
必须用SM0.0来使能NETR/NETW,以保证它的正常运行
超时:0=不延时;1-36767=以秒为单位的超时延时时间。如果通信有问题的时间超出此延时时间,则报错误
周期参数,此参数在每次所有网络操作完成时切换其开关量状态
此处是错误参数,0=无错误;1=错误
NetR/NetW指令向导生成的子程序管理所有的网络读写通信。用户不必再编其他程序进行诸如设置通信口的操作。PPI协议是专门为S7-200开发的通信协议。S7-200CPU的通信口(Port0、Port1)支持PPI通信协议,S7-200的一些通信模块也支持PPI协议。Micro/WIN与CPU进行编程通信也通过PPI协议。
S7-200CPU的PPI网络通信是建立在RS-485网络的硬件基础上,因此其连接属性和需要的网络硬件设备是与其他RS-485网络一致的。
S7-200CPU之间的PPI网络通信只需要两条简单的指令,它们是网络读(NetR)和网络写(NetW)指令。
在网络读写通信中,只有主站需要调用NetR/NetW指令,从站只需编程处理数据缓冲区(取用或准备数据)。
PPI网络上的所有站点都应当有各自不同的网络地址。否则通信不会正常进行。
可以用两种方法编程实现PPI网络读写通信:
使用NetR/NetW指令,编程实现
使用Micro/WIN中的InstructionWizard(指令向导)中的NETR/NETW向导
11.png

NetR/NetW指令要点
有关网络读写(NetR/NetW)指令的详细情况必须参考《S7-200系统手册》。
每条网络读写指令多能够读或者写16个字节的数据;每个CPU内多只能有8条网络读写指令同时激活,而网络读写指令的数目没有限制。
只有通信主站能够使用网络读写指令。缺省情况下,S7-200CPU的通信口设置为从站模式。因此在编程时,需要把通信口设置为通信主站模式。
在一个PPI网络中,与一个从站通信的主站的个数并没有限制,但是一个网络中主站的个数不能超过32个。主站既可以读写从站的数据,也可以读写主站的数据。也就是说,S7-200作为PPI主站时,仍然可以作为从站响应其他主站的数据请求。
一个主站CPU可以读写网络中任何其他CPU的数据。
由于串行通信的特点,通信数据的接收(或者发送)是不能与PLC程序的扫描周期配合的。所有的通信活动都需要PLC操作系统的管理,网络读写(包括其他类似的通信指令)指令只是告诉操作系统有需要处理的通信任务。因此,网络读写指令采取通信数据缓冲区的方式,在操作系统的通信管理功能与PLC的用户程序之间交换信息。
网络读写指令(NetR/NetW)的数据缓冲区类似。数据缓冲区除了状态字节和地址、数据长度之外,剩余的部分就是纯数据字节。能够传送到通信对象,或者从对象接收的仅仅是数据字节,不包括数据个数等信息。远程站(通信对象)的数据缓冲区则是纯数据区域。
网络读写指令可以传递V存储区、M存储区、I/Q区的数据。这取决于设定数据地址时,使用间接寻址方式将地址信息写入到缓冲区中的相应位置,地址信息中包括了存储区和数据的类型。
网络读写编程大致有如下几个步骤:
规划本地和远程通信站的数据缓冲区
写控制字SMB30(或SMB130)将通信口设置为PPI主站
装入远程站(通信对象)地址
装入远程站相应的数据缓冲区(无论是要读入的或者是写出的)地址
装入数据字节数
执行网络读写(NetR/NetW)指令
各CPU的通信口地址在各自项目的SystemBlock(系统块)中设置,下载之后起作用。
16.png调用NetR/NetW指令
多数网络读写的不正常现象,除了硬件设备和软件设置的问题外,与在用户程序中调用网络读写指令的方式有关。包括看起来通信正常,但经过一段时间(可能是几天)后也会出现故障的现象。
使用用NetR/NetW时,应当注意:
避免简单地定时激活NetR/NetW:由于串行通信的特点(如上所述),无法得知何时真正结束。如果定时进行网络读写通信,必须判断此次通信是否正常结束
同时有效的NetR/NetW指令不能超过8个,否则通信请求队列会超出操作系统的管理能力
使用SM0.0调用网络读写指令,虽然能长期工作,但不能超过8个指令,而且会出现监控时指令块变为红色的现象,好还是加上必要的读写状态判断条件。
简单可靠的方法,是使用Micro/WIN中的NetR/NetWWizard(网络读写指令向导)。
使用NetR/NetW向导可以编辑多24条网络读写指令,其核心是使用顺序控制指令,这样在任一时刻只有一条NetR/NetW指令有效。如果要求超出24条网络读写指令,可以自己按照此方法编程。
清除网络读写指令数据缓冲区中的(故障)状态字节可以恢复“死掉”的通信。但还是建议用户采用比较正规的编程方法。
NETR/NETWWizard-网络读写指令向导
只有在PPI通信中做主站的CPU才需要用NETR/NETW向导编程。
在Micro/WIN中的命令菜单中选择Tools>InstructionWizard,然后在指令向导窗口中选择NETR/NETW指令:
图1.选择NETR/NETW指令向导
在使用向导时必须先对项目进行编译,在随后弹出的对话框中选择“Yes”,确认编译。如果已有的程序中存在错误,或者有尚未编完的指令,编译不能通过。
如果你的项目中已经存在一个NETR/NETW的配置,你必须选择是编辑已经存在的NETR/NETW的配置还是创建一个新的。
步定义用户所需网络操作的数目
图2.选择网络读写指令条数
向导允许用户多配置24个网络操作,程序会自动调配这些通信操作。
第二步定义通信口和子程序名。
图3.选择通信端口,指定子程序名称
选择应用哪个通信口进行PPI通信:port0或port1

注意:一旦定义选择了通信口,则向导中所有网络操作都将通过该口通信,即通过向导定义的网络操作,只能一直使用一个口与其它CPU进行通信。


向导为子程序定义了一个缺省名,你也可以修改这个缺省名。
第三步定义网络操作
图4.设定网络读写操作细节
每一个网络操作,你都要定义以下信息:
定义该网络操作是一个NETR还是一个NETW。
定义应该从远程PLC读取多少个数据字节(NETR)或者应该写到远程PLC多少个数据字节(NETW)

每条网络读写指令多可以发送或接收16个字节的数据

联系方式

  • 地址:上海杨浦 上海市松江区广富林路4855弄88号3楼
  • 邮编:200093
  • 电话:15821971992
  • 经理:聂聪
  • 手机:15821971992
  • 传真:021-33556143
  • QQ:2724917714
  • Email:2724917714@qq.com