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

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

3天内不再提示

西门子PLC自由口通讯+中断

qianyanjishuhui 来源:爱上PLC 作者:爱上PLC 2022-11-16 11:12 次阅读

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

1521daee-655b-11ed-8abf-dac502259ad0.png

1、CPU1 编程

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

15442d60-655b-11ed-8abf-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. 所示:

1708dc36-655b-11ed-8abf-dac502259ad0.png

CPU1 中断子程序 INT_0

2、CPU2 编程

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

1740b84a-655b-11ed-8abf-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 指令将实时时钟信息发送出去。程序如图所示。

17602e6e-655b-11ed-8abf-dac502259ad0.png

CPU2 接收完成中断子程序 INT_0

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

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

1794872c-655b-11ed-8abf-dac502259ad0.png

CPU2 发送完成中断子程序 INT_0

审核编辑 :李倩

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

    关注

    4975

    文章

    12261

    浏览量

    454969
  • 通讯
    +关注

    关注

    9

    文章

    841

    浏览量

    34388
  • 伺服驱动器
    +关注

    关注

    21

    文章

    389

    浏览量

    30535

原文标题:西门子PLC自由口通讯+中断,有多少人用过?

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

收藏 人收藏

    评论

    相关推荐

    485口还是网口?西门子PLC通讯方式到底怎么选?

    西门子PLC都有一定的了解,但要你说出西门子PLC各种通信方式的特点,相信很多人都不能完整答出。下面给大家介绍几种常见的西门子通信方式及其
    的头像 发表于 04-24 11:04 114次阅读
    485口还是网口?<b class='flag-5'>西门子</b><b class='flag-5'>PLC</b><b class='flag-5'>通讯</b>方式到底怎么选?

    三菱or西门子品牌PLC的区别

    三菱PLC是日系品牌,编程直观易懂,学习起来会比较轻松,但指令较多。而西门子PLC是德国品牌,指令比较抽象,学习难度较大,但指令较少,所以学习三菱和学习西门子的周期是一样的。
    发表于 02-20 14:09 210次阅读

    西门子PLC和施耐德PLC区别

    西门子PLC系统的设计、建造工作量小,维护方便,容易改造,西门子PLC用存储逻辑代替接线逻辑,大大减少了控制设备外部的接线,使控制系统设计及建造的周期大为缩短,同时维护也变得容易起来。
    发表于 01-17 10:14 781次阅读

    西门子PLC与组态王无线通讯中如何设置从站

    本方案主要详述了在多台西门子300PLC与组态王之间Modbus无线通讯中如何设置从站。方案中所用到的无线通讯终端是DTD434MC——欧美系PLC
    的头像 发表于 11-27 10:07 345次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>与组态王无线<b class='flag-5'>通讯</b>中如何设置从站

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

    在现代化高度集成工业中,经常用到PLCPLC之间的通讯,常见的通讯modbus,profibus DP,profinet ,CANOPEN等等通讯
    的头像 发表于 08-23 09:15 2533次阅读
    <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>

    天拓分享:西门子plc S7-300/400系列的PLC通讯

    今天看一下西门子plc S7-300/400系列的PLC通讯西门子plc S7-400与s7-
    的头像 发表于 08-03 16:35 2353次阅读
    天拓分享:<b class='flag-5'>西门子</b><b class='flag-5'>plc</b> S7-300/400系列的<b class='flag-5'>PLC</b><b class='flag-5'>通讯</b>

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

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

    CCLINK转profinet与西门子PLC通讯

    用三菱PLC的控制系统需要和西门子PLC控制系统交互数据,捷米JM-PN-CCLK 是自主研发的一款 PROFINET 从站功能的通讯网关。该产品主要功能是将各种 CCLINK 总线
    的头像 发表于 07-26 16:58 357次阅读
    CCLINK转profinet与<b class='flag-5'>西门子</b><b class='flag-5'>PLC</b><b class='flag-5'>通讯</b>

    西门子PLC控制经典案例

    西门子PLC控制经典案例
    的头像 发表于 06-27 14:02 2683次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b>控制经典案例

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

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

    西门子S7-1200系列PLC与上位机的配置

    此次主要将的是关于西门子S7-1200系列PLC与上位机通过哪些特定的条件,来实现通讯的配置分享。
    发表于 05-25 17:38 19次下载
    <b class='flag-5'>西门子</b>S7-1200系列<b class='flag-5'>PLC</b>与上位机的配置

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

    以前我们讲过关于自由通讯的实例,今天我们讲一下自由通讯配合中断的实例。
    的头像 发表于 05-15 10:10 790次阅读
    <b class='flag-5'>西门子</b><b class='flag-5'>PLC</b><b class='flag-5'>自由</b>口<b class='flag-5'>通讯</b>配合<b class='flag-5'>中断</b>的实例

    西门子PLC S7-1500系列与西门子变频器G120之间实现DP通讯功能

    对变频器进行参数设定,参数修改,快速调试等操作。由西门子PLC S7-1500系列与西门子变频器G120系列组成的驱动控制系统中,可以实现DP通讯。本文下面就对
    的头像 发表于 05-12 16:49 3820次阅读

    西门子PLC通讯知识汇总

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

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

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