案例|LabVIEW连接S7-1200PLC

附带:
写了好的参考文章:
通讯测试工具和博图仿真机的连接教程【内含图文完整过程+软件使用】

解决博图V15 V16 V17 V18等高版本和低版本在同款PLC上不兼容的问题

目录

  • 前言
  • 一、准备条件
  • 二、步骤
    • 1. HslCommunicationDemo
      • 问题1:连接失败?
      • 问题2:CPU硬件和博图上的硬件不匹配?【2种方案
        • `方法1`
        • `方式2`:直接下载硬件包【还没验证】
    • 1.LabVIEW
      • Step1. 实现与PLC的连接
      • Step2. 向PLC写入数据,从PLC中读取数据
    • 2. 1200PLC无法从设备上传?
    • 3. 用HslDemo测试工具来控制
      • Step1. 在博图PLC中的Main中绘制简单的图
    • 4
  • 更新时间


前言

以下默认读者已经有LabVIEW、PLC软件的基本使用基础
实现LabVIEW和S7-1200PLC之间的通讯功能。
具体:
1)查看是否成功连接(用灯泡显示
2)实现向PLC写入数据
3)实现从PLC读取数据


一、准备条件

  • 软件:
    S71200PLC软件
    LabVIEW2020
    HslCommunicationDemo软件
  • 硬件:
    PLC硬件

二、步骤

1. HslCommunicationDemo

Step1. 打开西门子的PLC项目,查看接口的IP地址【这里我是有实际PLC硬件,通过网线和笔记本连接,并将IP设定为192.168.0.1】,让HslCommunicationDemo中的IP地址相同。
在这里插入图片描述
Step2. 回到PLC,去连接机制中,勾选允许远程通讯访问。
在这里插入图片描述
Step3. 回Demoz中点击连接。提示连接成功就行。
在这里插入图片描述

问题1:连接失败?

在这里插入图片描述
上图的连接失败解决方案:

  • 看看是否是防火墙限定

问题2:CPU硬件和博图上的硬件不匹配?【2种方案

在这里插入图片描述

方法1

我去搜索了很多关于CPU上的程序版本和STEP 7项目的版本V16不兼容的问题。
这边文章对我有所启发:解决博图V15 V16 V17 V18等高版本和低版本在同款PLC上不兼容的问题。他说到博图V17依旧有一个小问题,他这个创建好了,但是固件版本依然是4.5版本的,所以我们需要重新更改一下,点击在线和诊断
对此,我按照步骤去做,虽然我发现了我和自己的PLC固件在线连接后,固件版本为V4.5,不是我用的4.2。但是我是V16版本,最高也只有4.4版。【如下图所示:

步骤:先进行在线连接,点击在线和诊断
在这里插入图片描述
最终,我在“在线和诊断”界面只执行了复位为出厂设置后,重新连接PLC并从设备上上传后,一路绿灯。
在这里插入图片描述

方式2:直接下载硬件包【还没验证】

硬件包下载地址
进去后找到你的博图PLC软件版本号,下载完整版。
在这里插入图片描述

下载后获得的V16包:
在这里插入图片描述

解压后是各种的ISP文件
在这里插入图片描述
在“工具”->"安装包“中安装【如下图所示】
在这里插入图片描述

1.LabVIEW

Step1. 实现与PLC的连接

后面板:
1)互连接口->.NET->构造器节点
在这里插入图片描述
2)构造器内部,去选择HslCommunication.dll文件。就能出现HslCommunication的配置项。
在这里插入图片描述
3)配置项中具体选项

  • HslCommunication.Profinet.Siemens->SiemensS7Net->SimensS7Net构造器
    在这里插入图片描述

4)最终的后面版配置
在这里插入图片描述
启动后,前面板效果为:
在这里插入图片描述

Step2. 向PLC写入数据,从PLC中读取数据

在这里插入图片描述

前面板运行效果:
在这里插入图片描述


2. 1200PLC无法从设备上传?

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3. 用HslDemo测试工具来控制

前提:已经让HslDemo工具能连接上PLC
在这里插入图片描述

Step1. 在博图PLC中的Main中绘制简单的图

这里面的I0.1和Q0.1都是前面点击添加新设备选择CUP板自带的接口名称【不用管是否物理连接上)
在这里插入图片描述

对HslDemo测试工具的单数据写入测试中,写入Q0.2,和值为1,点击bool写入后,可以看到PLC中实时联通了。【证明测试成功】
在这里插入图片描述


4

在这里插入图片描述

更新时间

2024-07-10
2024-07-11 解决了硬件不匹配问题。
2024-07-12 更新了下载硬件包以解决硬件版本号不匹配的问题。【但是最后一步安装好重新建立项目的验证过程没做,可信性未知】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/44149.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lingo学习(二)——线性规划基础、矩阵工厂

一、线性规划基础 (一)方法 ① 一个线性规划中只含一个目标函数。(两个以上是多目标线性规划,Lingo无法直接解) ② 求目标函数的最大值或最小值分别用max …或min …来表示。 ③ 以!开头,以;结束的语句是注释语句; ④ 线性规划和非线性规划的本质…

Android11 MTK 状态栏添加无Sim卡图标

1、近日,查看测试提出的bug时,发现了一个问题,设备在未安装sim卡时,状态栏中不显示无sim卡的图标。 2、解决 路径:****\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\StatusBarSign…

01、Kerberos安全认证之原理及搭建命令使用学习笔记

文章目录 前言一、Kerberos原理1.1、数据安全防护(kerberos所属的层次)1.2、Kerberos介绍1.3、Kerberos名词介绍1.4、Kerberos术语1.5、Kerberos认证流程1.5.1、Kerberos流程图1.5.2、第一次通信:客户端与AS1.5.3、第二次通信:客户…

cpp使用第三方库

使用第三方库在C中进行编程是一种常见的做法,因为它可以让利用现成的代码来实现更复杂的功能,而不必从头开始编写。下面是一个示例,演示如何在C项目中引入并使用一个第三方库。这个例子将使用Boost库,它是C中广泛使用的一个库&…

60、基于浅层神经网络的数据拟合(matlab)

1、基于浅层神经网络的数据拟合的简介、原理以及matlab实现 1)内容说明 基于浅层神经网络的数据拟合是一种常见的机器学习方法,用于通过输入数据来拟合一个非线性函数。这种方法通常包括一个输入层、一个或多个隐藏层和一个输出层。神经网络通过学习权…

广电日志分析系统

需求 广电集团中有若干个系统都产生日志信息,目前大约分布与70到80台服务器中,分别是windows与Linux操作系统。需要将服务器上产生的日志文件利用我们的技术进行解析 设计 每个日志工作站负责30-50个服务器的日志解析工作。可以根据实际需求进行设置&…

ENSP实现防火墙区域策略与用户管理

目录 实验拓扑与要求​编辑 交换机与防火墙接口的配置 交换机: 创建vlan 接口配置 防火墙配置及接口配置 防火墙IP地址配置 云配置​编辑​编辑​编辑 在浏览器上使用https协议登陆防火墙,并操作 访问网址:https://192.168.100.1:844…

51单片机嵌入式开发:9、 STC89C52RC 操作LCD1602技巧

STC89C52RC 操作LCD1602技巧 1 代码工程2 LCD1602使用2.1 LCD1602字库2.2 巧妙使用sprintf2.3 光标显示2.4 写固定长度的字符2.5 所以引入固定长度写入方式: 3 LCD1602操作总结 1 代码工程 承接上文,在原有工程基础上,新建关于lcd1602的c和h…

linux中如何设置多个redis进程并且设置独立密码?

在Linux中设置多个Redis进程(实例)并为每个实例设置独立密码,你需要为每个Redis实例配置不同的配置文件,并在这些配置文件中指定不同的端口、数据目录、密码等。Redis本身并不直接支持在配置文件中设置“密码”来阻止未授权访问&a…

ArduPilot开源飞控之AP_Mount_Backend_Serial

ArduPilot开源飞控之AP_Mount_Backend_Serial 1. 源由2. 框架设计2.1 类定义2.2 构造函数2.3 init 方法2.4 受保护成员 3. 重要方法4. 总结5. 参考资料 1. 源由 AP_Mount_Backend_Serial是AP_Mount_Backend基于串口的通信的一个扩展模版。 2. 框架设计 继承自 AP_Mount_Back…

Sentieon应用教程:本地使用-Quick_start

1、准备工作: License下载链接:http://www.sentieon.com/eula/b703e839c8c7c5b8fa73238277fd5da23a0276be54712edb46ee8f4d4f3d873fbf 软件下载地址: https://insvast-download.oss-cn-shanghai.aliyuncs.com/Sentieon/release/sentieon-gen…

11-《风信子》

风信子 风信子(学名:Hyacinthus orientalis L.):是多年草本球根类植物,鳞茎卵形,有膜质外皮,皮膜颜色与花色成正相关,未开花时形如大蒜,原产地中海沿岸及小亚细亚一带&am…

【Vue】vue-element-admin组件化功能

1. 组件的封装 在vue-element-admin中,每个功能区域或UI元素都被封装成一个或多个Vue组件。这些组件可以是简单的按钮、输入框,也可以是复杂的表格、表单或页面布局。每个组件都包含了其模板(HTML结构)、逻辑(JavaScr…

【论文精读】Exploring the Causality of End-to-End Autonomous Driving

背景信息 团队:百度 代码:https://github.com/bdvisl/DriveInsight 论文思想简述:这篇论文并不是提出SOTA模型,而是提出了一些评估模型的方法。 目前已有的分析方法 大语言模型。VAQ来提供解释性,比如DriveVLM&…

C++基础(二)

目录 1.类和对象 1.1类的定义 1.2访问限定符 1.3类域 2.实例化 2.1实例化概念 2.2对象大小 3.this指针 4.类的默认成员函数 4.1构造函数 4.2析构函数 4.5运算符重载 1.类和对象 1.1类的定义 类的定义格式 class为定义类的关键字,Stack为类的名字&…

7月11日学习打卡,数据结构栈

大家好呀,本博客目的在于记录暑假学习打卡,后续会整理成一个专栏,主要打算在暑假学习完数据结构,因此会发一些相关的数据结构实现的博客和一些刷的题,个人学习使用,也希望大家多多支持,有不足之…

dataX入门

下载dataX https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202308/datax.tar.gz 然后 下载后解压至本地某个目录,进入bin目录,即可运行同步作业: $ cd {YOUR_DATAX_HOME}/bin $ python datax.py {YOUR_JOB.json} 要求你有python…

vue-grid-layout详解

vue-grid-layout 教程 vue-grid-layout 是一个用于 Vue.js 的响应式拖放网格布局组件,允许开发者创建可调整大小、可拖放的布局,广泛用于仪表板、管理面板等复杂布局需求。本教程将介绍如何安装、配置和使用 vue-grid-layout。 目录 安装基本使用 布局…

怎样在 C 语言中进行类型转换?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会! 📙C 语言百万年薪修炼课程 通俗易懂,深入浅出,匠心打磨,死磕细节,6年迭代,看过的人都说好。 文章目…

暑假自律日记九

7.10 (半小时日记打卡之——暑假第九天) 前言:或许是累了,今天的效率和进度可以说是历史最低了,调休了一天,算是歇会 日程 八点二十起床,在床上赖了一会 九点二十抵达逸夫楼,开始补…