西门子PLC利用自由口实现通讯,配合中断效果好!图文实例讲解!
以前我们讲过关于自由口通讯的实例,今天我们讲一下自由口通讯配合中断的实例。
在一些特定场合,比如说与松下系列伺服驱动器的控制时,为了保证数据的安全,我们需要进行多次往返的数据交换,这就需要严格控制通讯的时间。那么这个时候对于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 通信端口引脚分配
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
教你用2个最简单实用的方式,实现S7-1200PLC之间的通信
方式一、S7-1200PLC之间有多种方式实现PLC之间的通信,今天给大家介绍第一种方式,一个最简单,而且最实用的一种方式,在同一个项目中添加两台S7-1200的PLC,一台配置为控制设备,一台配置为智能设备,以这种方式实现两台PLC之间的数据交换。
下面以用A号PLC的输入控制B号PLC的输出,B号PLC的输入控制A号PLC的输出这样一个简单控制方式为例来说明如何配置这样的一个通信过程。
(1)在TIA Portal软件中的S7-1200之间通信的项目下添加两个S7-1200的新设备,A号PLC命名为IO控制设备,B号PLC命名为IO智能设备,如下图所示。
(2)添加完后分别对每个设备的CPU及以太网端口进行参数的设置,这里主要介绍下CPU的以太网端口的参数的设置:
IO控制设备的以太网接口参数设置:
建立一个PN/IE的网络,并设置好其IP地址,如下图所示:
IO智能设备的以太网接口参数设置:
对于智能设备的以太网接口参数的设置,除了需要设置以太网地址想项的一些内容外,还需要设置操作模式、传输区的设置,如下所示:
操作模式中参数设置:在操作模式的选项中需要设置操作模式和传输区两部分内容,设置如下所示:
根据前面的配置,可以得到如下数据交换器示意图:
(3)编写变量表及控制程序并分别下载到各自的PLC中。
IO控制设备(A号PLC)的变量表及程序:
IO智能设备(B号PLC)的变量表及程序:
方式二、在方式1里面给大家讲到了两个PLC在同一个项目中进行组态的通信方式,若当两个设备是由两个人完成的,而不是在同一个项目中组态的时候,那么就不能使用方式1的这种方式进行组态通信了,接下来就给大家介绍下在两个项目中的S7-1200的PLC如何实现组态通信。
同样我们以用A号PLC的输入控制B号PLC的输出,B号PLC的输入控制A号PLC的输出这样一个简单控制方式为例来说明如何配置这样的一个通信过程,这里以A号PLC作为控制器,B号PLC作为一台远程的智能设备。
一、对B号PLC进行通信的配置和程序的编写
(1)设置好以太网接口的IP地址、操作模式以及数据的传输区。
(以太网IP地址的设置)
(操作模式及传输区设置)
(2)导出GSD文件
注意:GSD文件导出后,不能再对操作模式中的数据传输区进行修改,若需要修改,则修改完后,需要重新导出GSD文件,不然无法建立通信,但可以对操作模式的数据传输区以外的程序进行修改编辑。
(3)编写B#PLC的程序并下载到B#PLC中。
变量表:
程序:
二、对A号PLC进行通信参数的配置和程序的编写
(1)在A号PLC的设备视图的选择中点击“选项”菜单进行GSD文件的安装,把前面导出的GSD文件安装进去,如下图所示
(2)GSD文件添加完后,设置好A号PLC的以太网接口参数并设置好IP地址,保证与B号PLC的IP地址在同一个网段并对网络配置进行组态。
网络组态配置:
打开网络视图,从右侧的硬件目录中的其他现场设备中的PROFINET IO中找到PLCS&CPS中找到刚导入的GSD的文件的目录,拖拽到网络视图中进行配置。
在设备视图界面中切换B#PLC,查看生成的数据交换区,数据交换区如下图示:
根据两台设备的数据交换区,可以得到以下的数据传输示意图:
(3)编写变量表及控制程序:
IO控制设备(A号PLC)的变量表及程序,并把做好的程序下载到PLC中
变量表:
程序:
本文为技成曾鑫老师原创,未经授权不得转载
相关问答
1200plc485通讯怎么做通讯控制?
可以按照以下的方法步骤解决:1、在本体左侧可扩展3个通讯模块;2、在本体上可扩展1个通讯模板;如果RS485设备均可满足一致的协议、波特率、校验方式等技术要...
怎么样具体实现三菱PLC通过485接口与电脑的通信?越详细...
1)三菱FX2NFX3U有一个编程口,用485BD板可以扩展一个485通信口2)硬件实现...网上下载一个三菱PLC的通信协议来做。4)三菱FX3U支持modbus通信,可以吧三菱PL...
plc485通讯程序怎么写?
PLC485通讯程序可以使用编程语言(如C,C++,Python)或PLC编程软件(如SiemensTIAPortal,RockwellStudio5000)等工具来编写。以下是一个简...
西门子plc485通讯怎么编程?
西门子PLC485通讯可以使用ModbusRTU协议进行通讯。以下是一个基本的ModbusRTU通讯程序编程示例:硬件环境搭建:主站设备:西门子S7-1200从站设备:DTD433FC...
plc之间如何通过无线网桥进行通讯?
PLC实现无线通信只来能添加通信模块了,plc先与通信模块相连进行对接,通过通信模块进自行数据传输与接收即可;PLC是可编程逻辑控制器,它采用一类可编程的...P...
plc通讯有哪些方式?
1PLC通讯主要有以下几种方式:(1)串口通讯:通过串口连接PLC与上位机进行通讯;(2)以太网通讯:通过以太网连接PLC与上位机进行通讯;(3)存储卡通讯...1PL...
西门子plc200通信步骤?
西门子PLC200的通信步骤如下:1.确保PLC200与外部设备(如上位机、HMI等)之间的物理连接正常,包括电缆连接和接口设置。2.在PLC200中配置通信参数,包括通信...
plc和视觉通信程序怎么写?
编写PLC和视觉通信程序需要具备一定的编程知识和相关硬件设备的操作经验。以下是一个简单的步骤:首先,确定所使用的PLC和视觉设备的型号,了解其支持的通信协...
plc怎么用gprs通讯模块?
PLC的串口连接1台GPRS,通过GPRS模块发送数据到PC的端口(TCP或UDP),步骤:1、先将PC直接连接PLC编程调试通过(至于选TCP通讯还是串口自己决定)。2、根据选...
plc通信协议设置?
1、在PLC网络的高层子网中配置的通用协议主要有两种,一种是MAP规约(全MAP3.0),一种是Ethernet协议,这反映PLC网络标准化与通用化的趋势。PLC网的互联,PLC...1...