开发者社区> KB小秘书> 正文

基于西门子PLC200的无线通信控制系统

简介: 基于西门子PLC200的无线通信控制系统
+关注继续查看

2002年开始开发焦炉四大机车自动化系统(见下图)的时候,遇到了无线通信的难题,众所周知目前的电台不能直接支持PPI协议,别的的无线通信的方案要么成本过高,要么性能不稳定,不可靠。

所以早期的时候,都是用自由口,自己编写基于主、从通信协议的通信程序,不过很不灵活,协议一旦确定就很难更改,如果有升级和变动,都需要大量的修改代码,维护极不方便。

后来西门子推出了Micro Win32引入了库的概念,可以直接提供Moubus Rtu Slave库供开发人员使用,但是只提供Moubus Slave,没有提供Moubus Client,所以PLC直接通过Moubus协议访问还是有问题。

Modbus是一个公开协议,包括ASCII、RTU和TCP几种,很显然我选择了Rtu,因为西门子提供的Slave就是基于Rtu协议的。
我们知道Modbus支持好多功能,如果在PLC中把所有的功能都实现了,不光代码编写较为繁琐,对PLC本身的程序和容量空间都是考验。所以根据需要我仅实现3和16号指令.
Modbus RTU客户程序由于建立在PLC中,所以它的读写函数的处理方法和一般上位机的读写程序不一样,PLC内部的程序执行是扫描式的,而读写数据时的通信却是过程的需要一定时间来等待的,所以读写的函数不是独立的,它需要一个专门的服务程序来反馈执行的结果。同时需要注意的是,读写操作在某一时刻只允许一个执行(最好读写操作之间留一定时间间隔)。
此外,西门子提供的Modbus RTU Slave程序不支持广播命令。
完成后的使用该库的示例代码:

网格1                                     
                            
// 网络注解
LD     SM0.1                       //PLC初次扫描
//--------------------------------
//PLC的端口号:0/1|波特率0-4800 1-9600 2-19200|校验:0-无 1-奇校验 2-偶校验
CALL   YFMBUS_INIT, 0, 1, 2
//--------------------------------
MOVB   0, VB0

网格 2                                     
                              
LD     SM0.0
//端口0 JRModbus客户端程序
CALL   YFMBUS_Server, M0.1

网格 3                                     
                              
LD     SM0.0
TON    T32, +200

网格 4                                     
                              
LD     T32
R      T32, 1
AB<>   16#CC, VB0                  //操作完毕
INCB   VB10

LPS
AB>    VB10, 1
MOVB   0, VB10

LRD
AB=    VB10, 0                     //读数据
//从站号|从站存放地址(VW100)|数据量|主PLC存放数据地址|反馈信息
CALL   YFMBUS_ReadVW, 1, 50, 10, &VB50, &VB0

LPP
AB=    VB10, 1                     //写数据
//从站号|从站存放地址(VW200)|数据量|主PLC存放数据地址|反馈信息
CALL   YFMBUS_WriteVW, 1, 100, 10, &VB100, &VB0
//----
INCW   VW100                       //测试数据 自加1

从实施以来,无线通信的数据包结构变化很大,但这个通信架构却没有再改变过,近两年的多时间在多个现场,它都运行的很稳定,完全实现了无线通信基于PLC的应用。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
基于西门子PLC200的无线通信控制系统
2002年开始开发焦炉四大机车自动化系统(见下图)的时候,遇到了无线通信的难题,众所周知目前的电台不能直接支持PPI协议,别的的无线通信的方案要么成本过高,要么性能不稳定,不可靠。
647 0
三菱PLC与西门子PLC的区别
三菱PLC与西门子PLC的区别
54 0
S71200西门子PLC一个设计的接线图
S71200西门子PLC一个设计的接线图
40 0
国产芯片WiFi物联网智能插座—电源功能设计
国产芯片WiFi物联网智能插座—电源功能设计
106 0
超声波无线传能系统设计(可用于无线充电)
这个超声波传能原理比较简单,就是压电效应,我的理解是,超声波发射探头通过PWM驱动,产生机械振动,带动周围空气的振动,也就是超声波,通过一段距离的传输,达到接收探头,然后,超声波带动接收探头上的振子产生机械振动,机械振动转化为电能,从而实现无线传能的功能。
227 0
+关注
文章
问答
来源圈子
更多
阿里云最有价值专家,简称 MVP(Most Valuable Professional),是专注于帮助他人充分了解和使用阿里云技术的意见领袖阿里云 MVP 奖项为我们提供了这样一个机会,向杰出的意见领袖表示感谢,更希望通过 MVP 将开发者的声音反映到我们的技术路线图上。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
短距离无线系统与航空无线电系统攻击
立即下载
短距离无线系统与航空无 线电系统攻击
立即下载
LoRa in LPWAN
立即下载