基于西门子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的应用。

相关文章
|
21天前
|
传感器 安全 大数据
|
4月前
|
物联网 5G SDN
|
4月前
|
物联网 5G 智能硬件
【专栏】无线通信的基础术语,如频段、带宽、调制与解调,以及Wi-Fi、蓝牙、ZigBee等无线技术
【4月更文挑战第28天】本文介绍了无线通信的基础术语,如频段、带宽、调制与解调,以及Wi-Fi、蓝牙、ZigBee等无线技术。还涉及无线信号传播、信道容量、信噪比等概念。理解这些术语有助于深入理解无线通信原理,便于设计和优化无线系统。随着无线技术的不断发展,持续学习是关键。开始你的无线通信探索之旅吧!
107 0
|
4月前
|
网络协议 物联网 调度
【技术探讨】如何选择一款距离远的无线通信模块?
LoRa的通信距离远是业界认可的,但是为了充分发给LoRa的技术特点,它的调制速率通常设定在0.3K bps-1K bps这个范围的,这个通信速率是很低的,它适用于发送速率慢周期长的业务,如一个月发送一次的抄水表的业务。
|
4月前
|
调度
【技术探讨】无线通信模块拉距测试,是否一定要带笔记本电脑?
对于Sub-G的无线模块通常通信距离较远可以达到公里级甚至数公里之远,而笔记本的续航时间通常是2-3个小时,很多用户测试到一半,不得不提前终止测试,回去给笔记本电脑充电
|
4月前
|
物联网 定位技术
【技术探讨】一种多节点5Km(1.2M bps速率)实时Sub-G无线通信的物联网通讯解决方案
针对在高速公路上货车行驶过程中收集5公里范围内的GPS定位数据,上报云服务器端,最终实时显示每一辆货车的运行轨迹,用户的项目需求如下:200辆货车(无线从站节点),要求很高的实时性,每秒发5包,每个GPS定位数据报文30个字节,这样200辆车同时上报每秒需要发送30K的字节(200 x 5 x 3 0 =30K字节),30K字节 x 8bit=240 k bps速率。
|
4月前
|
物联网
【技术探讨】无线通信中如何排查电磁波干扰?
无线电通信中的电磁波干扰,看不见,摸不到,也无法呈现,有时会碰到这样的问题:同一组设备、在相同的环境中,有的时间段无线通信很好,有的时间段突然无线通信的信号质量严重下降,这个是怎么回事?
|
搜索推荐 5G 新制造
华为星闪联盟:引领无线通信技术创新的先锋
星闪(NearLink),是由华为倡导并发起的新一代无线短距通信技术,它从零到一全新设计,是为了满足万物互联时代个性化、多样化的极致、创新体验需求而诞生的。这项技术汇聚了中国300多家头部企业和机构的集体智慧,华为更是其中的主要贡献方。
282 2
|
运维 大数据 5G
带你读《5G大规模天线增强技术》——1.1 无线通信系统和天线
带你读《5G大规模天线增强技术》——1.1 无线通信系统和天线
|
算法 5G 测试技术
5G的功能架构和灵活性 | 《5G移动无线通信技术》之十二
本节首先介绍了5G的高级要求又介绍了5G的功能架构和其灵活运用的性能。
5G的功能架构和灵活性 | 《5G移动无线通信技术》之十二

热门文章

最新文章

相关实验场景

更多