浔之漫智控技术(上海)有限公司
西门子PLC模块 , CPU模块 , DP通讯电缆 , 6GK交换机
SIEMENS/西门子6ES7222-1BF22-0XA8

   西门子plc S7300中DB和DI数据块寄存器,使用DB寄存器打开数据块后,使用DBX、DBB、DBW、DBD等来访问数据块里的变量 


  比如 


  OPN DB 1 


  L DBW 0 //此时访问的就是DB1.DBW 0 


  使用DI寄存器打开数据块后,使用DIX、DIB、DIW、DID等来访问数据块里的变量 


  比如 


  OPN DI 1 


  L DIW 0 //此时访问的也是DB1.DBW 0 


  因为调用FB时,系统自动使用DI寄存器来打开背景数据块,所以通常DI寄存器又被称为背景数据块寄存器,如果在FB里不使用OPN DI打开数据块,直接使用DIW访问的就是背景数据块里的一个字变量,所以在FB里**不要使用DI寄存器打开其它的数据,否则造成参数访问混乱。 


  看到DIW并不一定是访问的背景数据块,要看是否在FB里使用,是否使用了OPN DI打开了其它数据块,不在FB里DB寄存器和DI寄存器使用没有区别。

我现在控制一台伺服电机在两点之间来回运动。可是,当发生意外情况下,电机可能停止在两点之间某个位置,此时,手动执行回原点程序,请问如何处理较好?我目前的想法是先让电机快速执行一个较大的脉冲数,碰到减速的光电开关,再执行一个慢速的脉冲数,碰到停止位的光电开关时,立即停止电机。

答:1.如果用伺服电机进行控制,那么,必须加装伺服放大器,S7-200的plc要与伺服电机进行通讯,PLC要处理的主要信号有:伺服电机回原点的零脉冲信号,伺服电机在两点之间来回运动的行程极限位信号,还有电机回零的手动启动信号,因此,为了满足控制的需要,在伺服电机上要加装带有零脉冲的脉冲编码器,同时还要在S7-200的PLC上安装高速计数器的功能模块及FM,
该方式控制精度高,但价位高,安装、设计、调试比较复杂,包括设计电路,编PLC控制程序,以及反复进行调试。
2.如果,要求控制的精度一般,那么只要用S7-200的PLC控制普通的三相交流电机即可,PLC要处理的主要信号有:电机回零位的启动信号即当电机停止在两点之间某个位置时的启动回零点信号,电机在两点之间来回运动的行程极限位信号,电机回零位时准备启动信号,电机运行停止信号,
该方式控制精度一般,但价位低,安装、设计、调试比较简单,包括设计电路,编PLC控制程序,以及进行调试都比较简单。现在简要说明以下PLC的设计思路:
.当电机不在两个起始点时,如电机可能停止在两点之间某个位置,那么执行手动回到起始点,当电机回到起始点后,电机停止运行,
.当电机在两个起始点之一时,那么可以执行在两点之间的往复运动,除非按下电机停止运行信号按键。

1. 组播
组播技术是IP网络数据传输三种方式之一,在介绍IP组播技术之前,先对IP网络数据传输的单播、组播和广播方式做一个简单的介绍,见图1:
单播(Unicast)传输:在发送者和每一接收者之间实现点对点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也必须相应的复制多份的相同数据包。如果有大量主机希望获得数据包的同一份拷贝时,将导致发送者负担沉重、延迟长、网络拥塞;为保证一定的服务质量需增加硬件和带宽。
组播(Multicast)传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它提高了数据传送效率。减少了骨干网络出现拥塞的可能性。
广播(Broadcast)传输:是指在IP子网内广播数据包,所有在子网内部的主机都将收到这些数据包。广播意味着网络向子网每一个主机都投递一份数据包,不论这些主机是否乐于接收该数据包。所以广播的使用范围非常小,只在本地子网内有效,通过路由器和交换机网络设备控制广播传输。


图1

2. 组播IP地址
组播IP地址用于标识一个IP组播组。IANA(internet assigned number authority)把D类地址空间分配给IP组播,其范围是从224.0.0.0到239.255.255.255。如下所示(二进制表示),IP组播地址前四位均为1110。
八位组(1) 八位组(2) 八位组(3) 八位组(4)
1110XXXX XXXXXXXX XXXXXXXX XXXXXXXX
组播组可以是**的也可以是临时的。组播组地址中,有一部分由官方分配的,称为**组播组。**组播组保持不变的是它的IP地址,组中的成员构成可以发生变化。**组播组中成员的数量都可以是任意的,甚至可以为零。那些没有保留下来供**组播组使用的IP播地址,可以被临时组播组利用。
224.0.0.0~224.0.0.255为预留的组播地址(**组地址),地址224.0.0.0保留不做分配,其它地址供路由协议使用; 224.0.1.0~238.255.255.255为用户可用的组播地址(临时组地址),全网范围内有效;239.0.0.0~239.255.255.255为本地管理组播地址,仅在特定的本地范围内有效。常用的预留组播地址如下:
224.0.0.0 基准地址(保留) 224.0.0.1 所有主机的地址 224.0.0.2 所有组播路由器的地址。

3. 网络二层组播相关协议
不支持组播的交换机,数据在里面是泛洪传播的,数据也是可以进行传送的。解决第二层组播数据洪泛的问题,引入IGMP Snooping及GMRP等概念。
网络二层组播相关协议包括IGMP Snooping ,IGMP Proxy和CGMP协议。
IGMP协议运行于主机和与主机直接相连的组播路由器之间,主机通过此协议告诉本地路由器希望加入并接受某个特定组播组的信息,同时路由器通过此协议周期性地查询局域网内某个已知组的成员是否处于活动状态(即该网段是否仍有属于某个组播组的成员),实现所连网络组成员关系的收集与维护。
IGMP Snooping的实现机理是:交换机通过侦听主机发向路由器的IGMP成员报告消息的方式,形成组成员和交换机接口的对应关系;交换机根据该对应关系将收到组播数据包只转给具有组成员的接口。通过上述机制,在组播路由器里建立起一张表,其中包含路由器的各个端口以及在端口所对应的子网上都有哪些组的成员。当路由器接收到某个组G的数据报文后,只向那些有G的成员的端口上转发数据报文。

4. STEP7中的组态
SIMATIC S7-400系列工业以太网 CP模块之间有哪些区别?

本文中以S7-300 CP343-1模块为例,具体组态步骤如下:
a) 在STEP7项目插入两个CPU,分别组态两个CP343-1,分配IP地址,分别为192.168.0.10和192.168.0.11。
b) 打开NetPro,在两个CPU下分别插入新的连接,连接类型选择“UDP Connection”链接对象选择“All multicast stations”,如图2。
c) 如图3,在弹出的属性窗口显示出连接“ID”和“LADDR”参数,之后编程会用到。
d) 在“Address”界面下,“Local”自定义本地的端口号;“Multicast Group”定义所要加入的组播组地址和通讯对方的端口号,可用的组播地址从224.0.1.0到239.255.255.255,可用的端口号从1025到65535,如图4、图5。


图2


图3


图4


图5

e) 编译无误后,分别下载到两个CPU。
f) 编程,在程序中调用FC5 “AG_SEND” 、FC6 “AG_RECV”。“ID”和“LADDR”填写连接中的参数;“SEND”“LEN”定义发送的数据区和发送的长度;如图6,定义了发送接收都是20字节。完成后下载到CPU。


图6

g) 使用TCP/UDP测试工具添加一个组播成员到组播组,如图7。


图7

h) 测试结果,在IP:192.168.0.10侧触发“AG_SEND”,则数据会发给所有属于IP组:224.0.1.0 端口号为2002的成员,如图8、图9。


图8


图9

5. 交换机的设置
交换机如果不做任何设置,或者不支持组播,数据也是可以进行传送的,但是是泛洪传播的。为了提高效率,应该在交换机中激活IGMP Snooping,如图10,本例中使用西门子SCALANCE X312。通过IGMP Snooping,这样交换机就能够形成端口和组播组成员的对应关系,交换机根据该对应关系将收到的组播数据包只传给属于改组的端口,如图11。图12显示了组播IP地址到二层MAC地址的映射关系。


图10


图11


图12


发布时间:2023-10-26
展开全文
优质商家推荐 拨打电话