0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

2台S7-200 SMART CPU(端口0)采用自由口通信方式实现相互通信

laidenongfhs 来源:中泰PLC自动化教学 2023-07-25 10:44 次阅读

以前我们讲过关于自由口通讯的实例,今天我们讲一下自由口通讯配合中断的实例。

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

实例:2台S7-200 SMART CPU(端口0)采用自由口通信方式实现相互通信

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

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

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

CPU 通信端口引脚分配

8f84e0a4-29fc-11ee-a368-dac502259ad0.jpg

1、CPU1 编程

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

8f9e6e3e-29fc-11ee-a368-dac502259ad0.jpg

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. 所示:

8fbf0522-29fc-11ee-a368-dac502259ad0.jpg

CPU1 中断子程序 INT_0

2、CPU2 编程

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

8fd4c45c-29fc-11ee-a368-dac502259ad0.jpg

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 指令将实时时钟信息发送出去。程序如图所示。

8fe78a42-29fc-11ee-a368-dac502259ad0.jpg

CPU2 接收完成中断子程序 INT_0

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

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

9002cece-29fc-11ee-a368-dac502259ad0.jpg

CPU2 发送完成中断子程序 INT_0

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    4975

    文章

    12257

    浏览量

    454962
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10450

    浏览量

    206579
  • 西门子
    +关注

    关注

    92

    文章

    2851

    浏览量

    113780
  • 中断
    +关注

    关注

    5

    文章

    884

    浏览量

    41028

原文标题:西门子PLC自由口通讯+中断,这么用很方便!

文章出处:【微信号:中泰PLC自动化教学,微信公众号:中泰PLC自动化教学】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    S7-200 SMART 通信端口以及连接方式

    CPU 集成的 RS485 通信端口的引脚分配如表1. S7-200 SMART CPU 集成
    的头像 发表于 08-14 10:52 2410次阅读
    <b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b> <b class='flag-5'>通信</b><b class='flag-5'>端口</b>以及连接<b class='flag-5'>方式</b>

    LAbview与S7-200通信 以太网

    求助!!!请问现有一S7-200,已经于触摸屏、另一S7-200通过以太网通信(通过交换机),现在想继续与Labview上位机
    发表于 04-11 15:32

    S7-200SMARTS7-200的区别是什么

    ,运动自如  S7-200 SMART PLC的CPU模块本体最多集成3路高速脉冲输出,频率高达100KHz,支持PWM/PO输出方式以及多种运动模式,可
    发表于 12-04 16:21

    S7-200SMART CPUS7-1200进行S7通信的方法

    SMART侧编程调用PUT/GET方式。硬件和软件需求及所完成的通信任务本文以采用1个CPU1215C(6ES7215-1AG40-
    发表于 12-22 16:00

    S7-200 Smart PLC的S7单边通信指令

    我们来介绍下S7-200 Smart PLC的S7单边通信指令。
    发表于 01-06 06:12

    如何在S7-1200和S7-200 Smart之间进行S7单边通信

    介绍下如何在S7-1200和S7-200 Smart之间进行S7单边通信
    发表于 01-15 06:00

    西门子S7-200自由通信的详细使用教程资料免费下载

    S7-200 CPU 具有自由通信能力。自由通信是一种基于RS485硬件基础上,允许应用程序
    发表于 10-11 08:00 49次下载
    西门子<b class='flag-5'>S7-200</b><b class='flag-5'>自由</b>口<b class='flag-5'>通信</b>的详细使用教程资料免费下载

    如何在S7-200 CPU实现Modbus RTU从站通信协议

    S7-200 CPU上的通信口Port0可以支持Modbus RTU协议,成为Modbus RTU从站。此功能是通过S7-200自由
    发表于 03-18 08:00 3次下载

    PC与S7-200系列PLC通信的连接

    Profibus-DP通信接口接入Profibus现场总线网络,从而扩大PLC的使用范围。最后一种方式自由通信(Freeport)方式
    的头像 发表于 02-13 10:49 2593次阅读

    S7-1200 CPUS7-200 SMART进行S7通信

    S7-200 SMART CPU 固件版本 V2.0 及其以上,本体集成的 PROFINET 通信接口支持 S7 通信,可以通过向导或使用
    的头像 发表于 03-08 11:02 3025次阅读

    S7-1200 CPUS7-200 SMART S7通信教程

    S7-200 SMART CPU 固件版本 V2.0 及其以上,本体集成的 PROFINET 通信接口支持 S7 通信,可以通过向导或使用
    的头像 发表于 05-06 14:49 4309次阅读
    S7-1200 <b class='flag-5'>CPU</b>与<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b> S7<b class='flag-5'>通信</b>教程

    S7-1200 CPUS7-200 SMART S7通信

    S7-200 SMART CPU 固件版本 V2.0 及其以上,本体集成的 PROFINET 通信接口支持 S7 通信
    发表于 05-06 14:49 796次阅读
    S7-1200 <b class='flag-5'>CPU</b>与<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b> S7<b class='flag-5'>通信</b>

    S7-1500与S7-200 SMART的PROFINET IO通信配置

    S7-200 SMART V2.5 版本开始,S7-200 SMART 开始支持做 PROFINET IO 通信的智能设备。作为智能设备
    的头像 发表于 07-02 14:21 7213次阅读
    S7-1500与<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b>的PROFINET IO<b class='flag-5'>通信</b>配置

    S7-200SMART之间进行PROFINET IO通信技术分析

    S7-200 SMART V2.5 版本开始,S7-200 SMART 开始支持做 PROFINET IO 通信的智能设备。从而,两个
    发表于 07-23 15:02 2788次阅读
    S7-<b class='flag-5'>200SMART</b>之间进行PROFINET IO<b class='flag-5'>通信</b>技术分析

    西门子S7-200 SMART通信端口解析

    S7-200 SMART CPU 集成的 RS485 通信端口端口0)是与 RS485 兼容的
    发表于 02-27 11:28 766次阅读
    西门子<b class='flag-5'>S7-200</b> <b class='flag-5'>SMART</b>的<b class='flag-5'>通信</b><b class='flag-5'>端口</b>解析