西门子伺服电机授权代理商丨玉林地区一级供应商
- 供应商
- 上海跃韦科技集团有限公司
- 认证
- 西门子
- 西门子电机总代理
- 西门子电机
- 西门子电机总代理商
- 德国
- 西门子电机一级总代理
- 联系电话
- 18674345958
- 手机号
- 18674345958
- 经理
- 李经理
- 所在地
- 上海跃韦科技集团有限公司
- 更新时间
- 2024-06-07 07:00
在一些特定场合,比如说与松下系列伺服驱动器的控制时,为了保证数据的安全,我们需要进行多次往返的数据交换,这就需要严格控制通讯的时间。那么这个时候对于plc来说通讯就是***重要的,所以我们需要打断plc的正常功能,优先处理通讯,这就需要通讯中断。
实例:2台s7-200smart cpu(端口0)采用自由口通信方式实现相互通信
(本文仅为展示自由口通讯和中断,如果想要实现这两个plc的通讯其实***好是使用向导进行以太网通讯,有机会我们也会进行讲解!)
通信任务:cpu1 每秒触发一次 xmt 指令将 cpu 的实时时钟发送到cpu2;cpu2 接收到 cpu1 发送的信息后立即将 cpu2 的实时时钟回复到 cpu1。
接线:每个 s7-200 smart cpu 都提供一个以太网端口和一个rs485 端口(端口0),标准型 cpu 额外支持 sb cm01 信号板(端口1),信号板可通过 step 7-micro/winsmart 软件组态为 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主程序
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
展开全文