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

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

3天内不再提示

西门子PLC自由口通讯配合中断的实例

wtipoasfe 来源:头条号电气自动化应用 2023-05-15 10:10 次阅读

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

在一些特定场合,比如说与松下系列伺服驱动器的控制时,为了保证数据的安全,我们需要进行多次往返的数据交换,这就需要严格控制通讯的时间。那么这个时候对于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 通信端口引脚分配

6ac4ac34-f295-11ed-90ce-dac502259ad0.png

1、CPU1 编程

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

6ade7d1c-f295-11ed-90ce-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. 所示:

6afa30b6-f295-11ed-90ce-dac502259ad0.jpg

CPU1 中断子程序 INT_0

2、CPU2 编程

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

6b0c3644-f295-11ed-90ce-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 指令将实时时钟信息发送出去。程序如图所示。

6b2e7ed4-f295-11ed-90ce-dac502259ad0.jpg

CPU2 接收完成中断子程序 INT_0

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

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

6b48d306-f295-11ed-90ce-dac502259ad0.jpg

CPU2 发送完成中断子程序 INT_0

审核编辑:汤梓红

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

    关注

    40

    文章

    5078

    浏览量

    166240
  • plc
    plc
    +关注

    关注

    4975

    文章

    12257

    浏览量

    454943
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10446

    浏览量

    206574
  • 西门子
    +关注

    关注

    92

    文章

    2850

    浏览量

    113778
  • 通讯
    +关注

    关注

    9

    文章

    840

    浏览量

    34372

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

文章出处:【微信号:工控PLC学习,微信公众号:工控PLC学习】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    西门子S7-200PLC西门子变频器MM440通讯程序实例

    西门子S7-200PLC西门子变频器MM440通讯程序实例
    的头像 发表于 05-04 09:54 3598次阅读
    <b class='flag-5'>西门子</b>S7-200<b class='flag-5'>PLC</b>与<b class='flag-5'>西门子</b>变频器MM440<b class='flag-5'>通讯</b>程序<b class='flag-5'>实例</b>

    西门子200 PLC自由通讯的基本步骤

      西门子200 PLC自由通讯编程自由
    发表于 03-15 15:53

    西门子PLC实例电子教程

    本书为西门子PLC实例电子教程,第一章就对PLC进行了概述,通过实例西门子
    发表于 07-19 16:09 0次下载
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b><b class='flag-5'>实例</b>电子教程

    三菱PLC西门子PLC之MODBUS RTU通信实例

    三菱PLC西门子PLC之MODBUS RTU通信实例介绍走modbus ut通讯
    发表于 06-08 15:13 155次下载

    西门子S7-1200-PLC-Modbus通讯实例

    西门子S7-1200-PLC-Modbus通讯实例免费下载。
    发表于 04-21 14:46 103次下载

    西门子S7-200 PLC编程实例精解

    西门子S7-200 PLC编程实例资料免费下载。
    发表于 04-22 10:12 402次下载

    西门子变频器与plc通讯

    西门子变频器与plc通讯资料免费下载。
    发表于 04-22 11:28 90次下载

    西门子S7-200通过自由口和英威腾变频器通讯

    西门子S7-200通过自由口和英威腾变频器通讯资料免费下载。
    发表于 04-23 09:32 21次下载

    西门子PLC和组态王通讯设置

    西门子PLC和组态王通讯设置说明。
    发表于 05-06 16:35 42次下载

    LABVIEW与西门子S1200 通讯读写操作实例

    LABVIEW与西门子S1200 通讯读写操作实例
    发表于 10-08 16:22 93次下载

    Unity3D与西门子PLC通讯

    本文是做实体PLC和Unity的通讯,如果没有实体PLC可以参考我之前的博文上位机与西门子博途TIA的PROFINET通讯仿真(虚拟
    发表于 04-19 11:43 0次下载
    Unity3D与<b class='flag-5'>西门子</b><b class='flag-5'>PLC</b><b class='flag-5'>通讯</b>

    西门子PLC通讯知识汇总

    西门子 200 plc 使用 MPI 协议与组态王进行通讯时需要哪些设置?
    的头像 发表于 05-06 10:35 1215次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b><b class='flag-5'>通讯</b>知识汇总

    西门子软件PLC与组态软件通讯实例

    【导读】分享西门子虚拟PLC与组态软件iFIX之间TCP/IP仿真通讯
    的头像 发表于 06-19 11:00 1196次阅读
    <b class='flag-5'>西门子</b>软件<b class='flag-5'>PLC</b>与组态软件<b class='flag-5'>通讯实例</b>

    西门子1200PLC之间的ModbusTCP通讯如何实现?

    西门子1200PLC通过以太网通讯与其它设备进行数据交互,西门子1200PLC可以和西门子系列
    发表于 07-30 14:49 7302次阅读
    <b class='flag-5'>西门子</b>1200<b class='flag-5'>PLC</b>之间的ModbusTCP<b class='flag-5'>通讯</b>如何实现?

    西门子1200PLC西门子1500PLC的ModbusRTU通讯

    在现代化高度集成工业中,经常用到PLCPLC之间的通讯,常见的通讯modbus,profibus DP,profinet ,CANOPEN等等通讯
    的头像 发表于 08-23 09:15 2517次阅读
    <b class='flag-5'>西门子</b>1200<b class='flag-5'>PLC</b>和<b class='flag-5'>西门子</b>1500<b class='flag-5'>PLC</b>的ModbusRTU<b class='flag-5'>通讯</b>