首页 > 其他分享 >BL102网关连接西门子S7-1200 PLC的详细教程

BL102网关连接西门子S7-1200 PLC的详细教程

时间:2023-09-12 09:56:55浏览次数:57  
标签:BL102 网关 IP S7 MQTT PLC 软件

一、软硬件描述

  1. 西门子PLC S7-1215
  2. 钡铼BL102网关
  3. mosquitto MQTT服务器(腾讯云上搭建)
  4. 可以上网的路由器一套

二、需要使用的软件。

  1. 西门子Portal v15.1 (西门子PLC编程软件)
  2. 钡铼BL102调试软件及说明书。
     说明书下载链接: http://rtu-m2m.com/Download/Manual/中文/BL102_中文说明书_V1.0.zip
     调试软件下载链接: http://rtu-m2m.com/Download/Software/中文/BL10x_中文配置软件.zip
  1. Mqtt.fx MQTT服务器调试工具
  2. 腾讯云服务器(各种云服务器都可以,不限腾讯云)

三、网络构架及需实现功能描述

1.BL102网关将S7-1200 PLC中的数据上传入云服务器中的mosquitto MQTT服务器,云上的后台软件可以截取相关数据。然后发送给前端显示。

 后台软件如何截取,见B站视频"Django物联网后台开发"`https://www.bilibili.com/video/BV1qL4y1b7nU?spm_id_from=333.337.search-card.all.click  `

2.前端接受到信息后,将信息传送给后台软件,后台软件通过mosquitto服务器将信息发送到BL102上,BL102网关修改PLC中是数据。

四、在腾讯云上安装mosquitto MQTT服务器以及MQTT mqtt.fx软件的使用。

  具体操作详见我的博客:
    https://www.cnblogs.com/zhangming82/p/16122210.html

五、BL102连接西门子S7-1200 PLC。

   1.将24V直流电源接入BL102网关以及PLC的供电端子。
   2.将网线一端插入BL102 WAN网口,一端插入PLC网口。
   3.取另外一根网线,一端插入BL102 LAN网口,一端插入电脑网口。并且将电脑IP设置成192.168.3.**(除192.168.3.1以外的IP)
   4.打开BL102调试软件,点击软件上的"设备搜索"。开始搜索到设备。搜索到设备后进入主界面。
   5.鼠标双击界面上的“WAN”,在弹出界面中,将WAN口改成与PLC同一个域的IP(例如目前我设置的PLC IP为192.168.1.250,而BL102 WAN口IP改为了192.168.1.254)。子网掩码和网关同样填写,DNS不做要求。填写后,点击“写入配置”将信息写入BL102网关。
   6.拔下BL102 LAN口网线,将网线插到路由器上,使电脑和路由器连接。将电脑和路由器IP改为同一个域。(比如我的电脑IP改为 192.168.1.22//路由器IP改为 192.168.1.20)。
   7.再取第三根网线,一段插在路由器上,一段插在PLC的网口上。
   8.打开西门子PORTAL V15.1软件,在硬件组态中设置好PLC的属性。特别要注意的是因为BL102可以通过S7通讯协议直接读取PLC中的数据,因此必须在PORTAL软件中“连接机制”里的“允许来自远程对象的PUT/GET通讯访问”打开。否则BL102将无法与PLC进行通讯。然后将改好的配置程序下载到PLC中。

   9.打开BL102调试软件,在界面“WAN”点击鼠标右键后,选择添加。在弹出的设备信息上,填写西门子PLC的IP端口号等。填写后点击确定。(端口号为102)

   10.点击确定后,在界面右侧灰色区域点击鼠标右键,选择添加。加入需要监控的PLC数据。然后将修改好的配置下载入BL102网关中。(注意,可以对PLC的 I/Q/M/DB等进行监控,但是如果要监控DB块的内容。必须在PORTAL软件中选择DB块的属性,取消“优化块的访问”)。


   11.进入BL102调试界面,当界面上“WAN”红灯亮起,表示已经与PLC连接。 

六、BL102网关连接mosquitto MQTT服务器。

   1.打开BL102网关调试界面,双击云平台-->MQTT Client One,进入界面。在界面中设置好IP,端,用户名,密码口等信息,并且数据模板选择“KingPigeon”,以及填写好订阅主题和发布主题,以及上传周期。(之所以选择KingPiageon是因为这个模板比较简单,说明书写的内容也比较多一点)
   2.在右侧灰色界面中,点击鼠标右键,选择添加。加入需要通讯的PLC变量点(PLC变量点如何设置见上面),选择完毕后,将数据下载到BL102中。

   特此强调:订阅主题,必须在主题内容的后面,增加"/+"。

  3.进入BL102调试界面,当界面上“MQTT Client One上线状态”红灯亮起,表示已经与MQTT服务器连接正常。

  4.将修改的配置下载如BL102中后,可以通过MQTT.fx软件对BL102进行MQTT发布,订阅信息的验证。

七、BL102网关订阅、发布信息格式---KingPigeon模板
1.BL102网关订阅格式

{ 
"sensorDatas": [
{
 //布尔量
"flag": "Y0", //读写标识
"switcher": 1 //数据类型及值
},
{
 //数值型
"flag": "VW0", //读写标识
"value": 8 //数据类型及值
}
],
}

2.BL102网关发布格式

   注意1:BL102网关发布 必须增加/传感器ID.如果是自己建立的MQTT服务器,传感器ID可以写随意的值(例如发布主题为"topic",传感器ID为100. 发布主题必须写成 topic/100)
   注意2:“value”以及"switch"值必须加引号。
{
"sensorDatas":
[
{ 
"sensorsId": 100, //平台传感器 ID (必须
"value":74.3, //数据类型及值
"flag":"VW0" //读写标识
}
],
"down":"down" //平台下行报文标识

标签:BL102,网关,IP,S7,MQTT,PLC,软件
From: https://www.cnblogs.com/czykp/p/17695190.html

相关文章

  • springcloud中网关起什么作用
    (目录)springcloud中网关起什么作用在SpringCloud中,网关起到了路由和过滤的作用。路由:网关通过配置路由规则,将请求转发到不同的服务实例上。它可以根据请求的URL、请求的HTTP方法、请求的Header等信息,将请求路由到相应的服务实例上。通过网关,可以实现请求的负载均衡和动态路......
  • Redis7 10大数据类型(概述)
    一、概述二、数据类型1、redis字符串(String)String(字符串)string是redis最基本的类型,一个key对应一个value。string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象。string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是51......
  • 修改centos7时区
    date查看时间timedatectl查看时区timedatelist-timezones查看系统时区timedateset-timezonesAsia/shanghai设置系统时区timedatectlset-timezoneAsia/Hong_Kong......
  • 工业场景中的NAT网关:使用功能与应用场景
    在网络领域,网络地址转换(NAT)网关是一种重要的技术设备,它的主要作用是解决网络地址和端口转换的问题,从而让内部网络中的设备能够与外部网络进行通信。它通过将内部网络中的IP地址和端口号映射到外部网络的IP地址和端口号,实现地址空间的转换。这样,内部网络的设备可以使用有限的内部地......
  • Centos7环境下Docker搭建vulhub
    @[toc]Docker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。varcode="7ba6071e-929c-4a38-8b5d-49be072baba6"vulnhub是个提供各种漏洞平台的综合靶场,可供下载多种虚拟机......
  • 网关配置实现
    第一步导入依赖:<!--网关--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--nacos服务发现依赖--><dependency><groupId>com.......
  • Centos7创建新用户设置密码,并赋予root权限
    Centos7创建新用户设置密码,并赋予root权限一、添加用户kubesphere二、为用户kubesphere设置密码三、给新用户kubesphere授权sudo命令四、查看/etc/sudoers五、实现免密切换到kubesphere一、添加用户kubesphereadduserkubesphere二、为用户kubesphere设置密码passwdkubesphere......
  • Redis7 安装配置
    一、概述由于企业里面做Redis开发,99%的都是Linux版的运用和安装,几乎不会涉及到Windows版二、依赖Linux安装Redis必须先具备gcc编译环境gcc-v安装redis之前需要具备c++库环境yuminstall-ygcc-c++三、版本选择四、安装步骤1、下载命令:wgethttps://download.redis.io/release......
  • centos7 安装opencc问题
    make一直出错CMakeLists.txt文件修改c++=11==>https://github.com/BYVoid/OpenCC/commit/8cfee2627146d1912655fb70b413ae27b1b5c026修改部分如下把14改成11 -std=c++14==>-std=c++11 -DVERSION="$OPENCC_VERSION" add_definitions(   -std=c++11   -Wall )......
  • 1-centOS7搭建伪分布式Hadoop
    前言:虚拟机快照的使用VMwareWorkstation软件可以用快照进行迅速的虚拟机状态的切换※.类似于虚拟机备份,可以使用备份进行快速恢复。比如没安装jdk之前拍摄快照来备份※.若jdk没安装好或者jdk环境变量配置的有问题,可以用安装之前的快照快速恢复虚拟机1.拍摄快照:2.恢复......