西门子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, |
1. 组播
2. 组播IP地址 3. 网络二层组播相关协议 4. STEP7中的组态 本文中以S7-300 CP343-1模块为例,具体组态步骤如下:
e) 编译无误后,分别下载到两个CPU。
g) 使用TCP/UDP测试工具添加一个组播成员到组播组,如图7。
h) 测试结果,在IP:192.168.0.10侧触发“AG_SEND”,则数据会发给所有属于IP组:224.0.1.0 端口号为2002的成员,如图8、图9。
5. 交换机的设置
|
- SIEMENS/西门子6ES7221-1EF22-0XA0 2023-10-26
- SIEMENS/西门子6ES7221-1BF22-0XA8 2023-10-26
- SIEMENS/西门子6ES7221-1BH22-0XA8 2023-10-26
- 西门子6GK7243-1GX00-0XE0 2023-10-26
- 西门子6GK7243-1EX01-0XE0 2023-10-26
- 西门子6ES7241-1AA22-0XA0 2023-10-26
- 西门子6ES7253-1AA22-0XA0 2023-10-26
- 西门子6ES7277-0AA22-0XA0 2023-10-26
- 西门子6ES7235-0KD22-0XA8 2023-10-26
- 西门子6ES7232-0HD22-0XA0 2023-10-26