您当前的位置:首页 > 好词好句 > 正文

西门子plc中断指令详解_西门子PLC自由口通讯+中断

西门子plc中断指令详解_西门子PLC自由口通讯+中断

在一些特定的场合,比如用松下系列伺服驱动器进行控制,为了保证数据的安全,我们需要多次交换数据,这就要求严格控制通信时间。那么这个时候通讯对于PLC来说是最重要的,所以我们需要中断PLC的正常功能,优先考虑通讯,这就需要通讯中断。

示例:两个S7-200智能CPU(端口0)通过自由端口通信相互通信。

(本文仅展示自由口通信和中断。如果要实现这两个PLC之间的通信,其实最好使用向导进行以太网通信。有机会我们也会解释的!)

通信任务:CPU1每秒触发一次XMT指令,将CPU的实时时钟发送给CPU 2;CPU2收到CPU1发送的信息后,立即将CPU2的实时时钟返回给CPU1。

接线:每个S7-200智能CPU配有一个以太网端口和一个RS485端口(端口0)。标准CPU额外支持SB CM01信号板(端口1),信号板可通过STEP 7-Micro/WIN SMART软件配置为RS232通信端口或RS485通信端口。

CPU通信端口的引脚分配

1、CPU1编程

1.1、CPU1主程序编程如图所示:

CPU1主程序

程序说明:

1.设置SMB30=2#00001001(自由端口通信,波特率9600 bps,8个数据位,无校验)。

2.设置SMB87=2#10010100,使用空闲线路检测作为信息接收的初始条件,使用字符间定时器作为信息接收的结束条件。

3.设置空闲线路定时器SMW90=5 ms,字符间定时器SMW92=5 ms,以及允许接收的最大字符数SMB94=10。

4.连接中断子程序INT_0,向通信端口0发送完成事件,并使能中断。

5.每秒读取一次CPU的实时时钟,设置发送缓冲区长度为8个字符。

6.在执行XMT指令前设置SM87.7=0,同时执行RCV指令,终止报文接收。

7.每秒执行一次XMT指令,发出CPU的实时时钟。

1.2、 CPU1发送中断子程序INT_0以完成编程。

中断子程序INT_0用于恢复SMB87 (SM87.7=1)的设置,并执行RCV指令开始接收CPU2的响应信息。程序如图4所示。

CPU1中断子程序INT_0

2、CPU2编程

2.1、CPU2主程序编程如下所示:

CPU2主程序

1.设置SMB30=2#00001001(自由端口通信,波特率9600 bps,8个数据位,无校验)。

2.设置SMB87=2#10010100,使用空闲线路检测作为信息接收的初始条件,使用字符间定时器作为信息接收的结束条件。

3.设置空闲线路定时器SMW90=5 ms,字符间定时器SMW92=5 ms,以及允许接收的最大字符数SMB94=10。

4.将中断子程序INT_0连接到通信端口0接收完成事件,中断子程序INT_1将完成事件发送到通信端口0并使能中断。

5.使用SM0.1调用RCV指令的执行。

2.2、 CPU2接收并完成中断子程序INT_0的编程。

中断子程序INT_0用于读取CPU实时时钟,并调用XMT指令发送实时时钟信息。程序如图所示。

CPU2接收中断子程序INT_0。

2.3、 CPU2发送中断子程序INT_1以完成编程。

中断子程序INT_1用于执行RCV指令,并启动新的信息接收任务。程序如图7所示。

CPU2发送中断子程序INT_0。

审核编辑:李倩

标签:通信指令CPU


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 关于空压机实现节能改造的设计方案分析报告_关于空压机实现节能改造的设计方案分析

下一篇: win10如何设置锁屏密码,Win10如何设置锁屏密码以及怎么取消锁屏密码(Win10电脑怎么创建图片密码)



推荐阅读