首页 理论教育 西门子PLC远程控制与监视S7连接方案

西门子PLC远程控制与监视S7连接方案

时间:2023-11-16 理论教育 版权反馈
【摘要】:S7-400可以通过SFB改变远程设备的运行状态,属于单边编程方式。远程设备应满足下列条件:1)S7-300/400或C7-300的CPU处于STOP模式。完成SFB指定的操作后,远程设备切换到指定的运行模式,并发送一个肯定的执行应答。如果SFB23的EN_R为1,远程伙伴的状态改变时,它的LOCAL的值马上随之而变。SFB23的输出参数LOCAL的高字节自动变为16#00,表示通信伙伴为STOP模式。

西门子PLC远程控制与监视S7连接方案

在STEP 7中创建一个项目(见随书光盘中的例程PB_CTRL),生成两个站,CPU模块均为CPU 413-2(见图4-25)。

978-7-111-28256-3-Chapter04-57.jpg

图4-25 SIMATIC管理器

新建一条DP网络,设置其配置文件为“标准”。点击SIMATIC管理器工具栏上的978-7-111-28256-3-Chapter04-58.jpg按钮,打开网络组态工具NetPro,将两个站连接到DP网络上,设置它们的MPI和DP站地址分别为2和3(见图4-26),“工作模式”均为DP主站。

978-7-111-28256-3-Chapter04-59.jpg

图4-26 网络与连接的组态

选中2号站的CPU,双击下面的连接表的第1行,生成一个双向的S7连接。

S7-400可以通过SFB改变远程设备的运行状态,属于单边编程方式。

1.调用SFB19“START”使远程设备热启动或冷启动

在SFB 19“START”的请求信号REQ的上升沿,激活由S7连接ID寻址的远程设备的热启动或冷启动。远程设备应满足下列条件:

1)S7-300/400或C7-300的CPU处于STOP模式。

2)CPU的模式选择开关在RUN或RUN-P位置。

完成暖启动或冷启动后,远程设备切换到RUN模式,并发送一个执行成功的肯定应答。

远程的S7-400CPU处于STOP模式时,调用SFB 21“RESUME”,可以使它热启动。

2.调用SFB20“STOP”将远程设备切换到STOP模式

如果远程S7/M7-300/400或C7-300的CPU处于RUN、HALT或STARTUP模式,且CPU的模式选择开关在RUN或RUN-P位置,在SFB 20“STOP”的请求信号REQ的上升沿,由S7连接ID寻址的远程设备将切换到STOP模式。

下面是3号站的OB1调用SFB19和SFB20的程序。

程序段1:将远程设备切换到RUN模式

978-7-111-28256-3-Chapter04-60.jpg

程序段2:将远程设备切换到STOP模式

978-7-111-28256-3-Chapter04-61.jpg

3.SFB 19和SFB 20的公用参数

SFB 19和SFB 20的参数PI_NAME是指向存储要启动的程序的名称(ASCII代码)的数据区。对于S7PLC,参数PI_NAME应为字符串‘P_PROGRAM’。符号名为data的DB 2中定义了一个有5个字元素的数组pi_name。下面是OB100中的程序,用于将字符串“P_PROGRAM”写入该数组。值得注意的是,最后一个字的字符“M”后面有一个空格。

978-7-111-28256-3-Chapter04-62.jpg

如果通信伙伴是S7系列PLC,不给参数IO_STATE分配任何数值,其默认值为B#16#0。

完成SFB指定的操作后,远程设备切换到指定的运行模式,并发送一个肯定的执行应答。接收到肯定应答之后,SFB的状态参数DONE被置位为1。

如果没有给SFB 19的参数ARG分配数值,则在远程设备上执行热启动。如果远程设备支持冷启动,且为ARG分配数值“C”,则在远程设备上执行冷启动。

4.调用SFB22“STATUS”来查询远程伙伴的状态

SFB22用于按用户的请求提供通信伙伴(S7-400CPU/M7-300/400)的运行状态。

在输入信号REQ的上升沿,将任务发送到远程伙伴。通过判断响应信息,确定是否有错误。如果没有出错,在下一次调用SFB时,将接收到的远程设备的状态复制到变量PHYS、LOG和LOCAL。下面是3号站的OB1调用SFB22的程序。

程序段3:查询远程伙伴的运行模式

978-7-111-28256-3-Chapter04-63.jpg

变量LOCAL的最小长度为2B,用高字节来表示伙伴设备(S7 CPU)的状态标识符(见表4-3)。

表4-3 设备状态标识符LOCAL(www.xing528.com)

978-7-111-28256-3-Chapter04-64.jpg

5.调用SFB23“USTATUS”接收远程通信伙伴操作模式变化的信息

在组态被读取操作模式状态的2号站的S7连接时,应选中复选框“发送操作模式消息”(见图4-27)。2号站的操作模式变化时,将会主动发送它的状态消息给调用SFB 23的3号站的CPU。

如果SFB 23的使能输入EN_R为1,并且有来自通信伙伴的数据帧,在下一次调用SFB时,将状态信息输入到变量PHYS、LOG和LOCAL中。状态参数NDR为1表示操作完成。

下面是3号站的OB1调用SFB23的程序:

程序段4:接收远程设备的状态变化

978-7-111-28256-3-Chapter04-65.jpg

978-7-111-28256-3-Chapter04-66.jpg

978-7-111-28256-3-Chapter04-67.jpg

图4-27 2号站的S7连接属性对话框

6.实验结果

(1)将远程设备切换到RUN模式

图4-28和图4-29是3号站的变量表,其中DB 1的DBB34、DBB36和DBW38分别是SFB 22的PHYS(物理状态)、LOG(逻辑状态)和LOCAL(通信伙伴的当前状态),DBB44、DBB46和DBW48分别是SFB 23的PHYS、LOG和LOCAL。

2号站在STOP模式时,用3号站的变量表将1(true)写入SFC 19的使能信号M20.6,将0(false)写入SFC 20的使能信号M20.7,在M20.6的上升沿激活SFB 19,将2号站切换到RUN模式(见图4-28)。

SFB 22和SFB 23的PHYS(物理状态)为16#10,表示正在执行功能。SFB 23的EN_R信号M21.2一直为1状态,3号站进入RUN模式后,SFB 23的输出参数LOCAL(DB1.DBW48)的高字节自动变为16#02(见图4-28和表4-3),表示通信伙伴为RUN模式。

SFB 22和SFB 23的区别如下:

远程伙伴(2号站)的状态改变后,SFB 22的状态数据不会自动改变,需要用SFC 22的使能信号M21.1的上升沿来读取远程伙伴的当前状态。

如果SFB23的EN_R为1,远程伙伴的状态改变时,它的LOCAL的值马上随之而变。

(2)将远程设备切换到STOP模式

2号站在RUN模式时,用3号站的变量表将0写入M20.6,将1写入M20.7(见图4-29),在M20.7的上升沿,激活SFB20,将2号站切换到STOP模式。SFB23的输出参数LOCAL(DB1.DBW48)的高字节自动变为16#00(见图4-29),表示通信伙伴为STOP模式。

978-7-111-28256-3-Chapter04-68.jpg

图4-28 3号站的变量表

978-7-111-28256-3-Chapter04-69.jpg

图4-29 3号站的变量表

7.用S7-400远程控制S7-300的运行模式

随书光盘中的项目“PB_CTRL2”的硬件结构和组态方法与项目“PB_CTROL”的基本相同,二者的区别仅在于前者被控制的是CPU 313C-2DP,建立的是S7单向连接。两个项目的程序、变量表和调试方法完全相同,具体情况见随书光盘的项目。经实验验证,CPU 413-2DP可以用SFB19和SFB20切换CPU 313C-2DP的RUN/STOP运行模式,但是不能用SFB22、SFB 23查询和接收CPU 313C-2DP的运行模式。

8.远程站点的监控功能在MPI网络上的应用

SFB 19~SFB 23可以用于MPI、PROFIBUS-DP和工业以太网,组态和编程的方法相同。

(1)S7-400用MPI远程监控S7-400的运行模式

随书光盘中的项目“\Project\MPI_S7\MPI_CTRL”的硬件结构和组态方法与项目“PB_CTROL”的完全相同,二者的区别仅在于前者建立的是MPI网络上的连接。具体的情况见随书光盘上的项目。两个项目的变量表和调试方法、实验结果也完全相同。

(2)S7-400用MPI远程控制S7-300的运行模式

随书光盘中的项目“\Project\MPI_S7\MpiCtrl2”的硬件结构和程序与项目“PB_CTRL2”的完全相同,二者的区别仅在于前者建立的是MPI网络上的连接。具体的情况见随书光盘的该项目。两个项目的变量表和调试方法、实验结果也完全相同。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈