案例|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 …来表示。 ③ 以!开头,以;结束的语句是注释语句; ④ 线性规划和非线性规划的本质…

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、第二次通信:客户…

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…

11-《风信子》

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

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…

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

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

kafka发送消息流程

配置props.put(ProducerConfig.PARTITIONER_CLASS_CONFIG, RoundRobinPartitioner.class); public Map<String,Object> producerConfigs(){Map<String,Object> props new HashMap<>();props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,bootstrapServers…

在表格中把tab换成enter键------ivx

为了方便用户输入&#xff0c;把tab键替换成enter回车 方法如下&#xff1a; 添加一个fx函数 document.addEventListener(‘keydown’, function(event) { if (event.key ‘Enter’ && !event.shiftKey) { event.preventDefault(); var focusableElements document.q…

【C++BFS】690. 员工的重要性

本文涉及知识点 CBFS算法 LeetCode690. 员工的重要性 你有一个保存员工信息的数据结构&#xff0c;它包含了员工唯一的 id &#xff0c;重要度和直系下属的 id 。 给定一个员工数组 employees&#xff0c;其中&#xff1a; employees[i].id 是第 i 个员工的 ID。 employees[…

软件架构之嵌入式系统设计(2)

软件架构之嵌入式系统设计&#xff08;2&#xff09; 12.4 嵌入式网络系统12.4.1 现场总线网12.4.2 家庭信息网11.4.3 无线数据通信网12.4.4 嵌入式 Internet 12.5 嵌入式数据库管理系统12.5.1 使用环境的特点12.5.2 系统组成与关键技术 12.6 实时系统与嵌入式操作系统12.6.1 嵌…

Linux 忘记root密码,通过单用户模式修改

银河麒麟桌面操作系统 V10&#xff08;sp1&#xff09;”忘记用户密码&#xff0c;需要修改用户密码所写&#xff0c;可用于 X86 架构和 arm 架构。 2. 选择第一项&#xff0c;在上图界面按“e”键进行编辑修改。 3. 在以 linux 开头这行的行末&#xff0c;添加“init/bin/bas…

SSE(Server-Send-Event)服务端推送数据技术

SSE&#xff08;Server-Send-Event&#xff09;服务端推送数据技术 大家是否遇到过服务端需要主动传输数据到客户端的情况&#xff0c;目前有三种解决方案。 客户端轮询更新数据。服务端与客户端建立 Socket 连接双向通信服务端与客户建立 SSE 连接单向通信 几种方案的比较&…

Nginx上配置多个网站

一、需求描述 我们只有一台安装了Nginx的服务器,但是我们需要实现在这台服务器上部署多个网站,用以对外提供服务。 二、Nginx上配置多个网站分析 一般网站的格式为:【http://ip地址:端口号/URI】(比如:http://192.168.3.201:80),IP地址也可用域名表示;那么要实现在Nginx…

i18n、L10n、G11N 和 T9N 的含义

注&#xff1a;机翻&#xff0c;未校对。 Looking into localization for the first time can be terrifying, if only due to all of the abbreviations. But the meaning of i18n, L10n, G11N, and T9N, are all very easy to understand. 第一次研究本地化可能会很可怕&…

如何做一个迟钝不受伤的打工人?

一、背景 在当前激烈的职场环境中&#xff0c;想要成为一个相对“迟钝”且不易受伤的打工人&#xff0c;以下是一些建议&#xff0c;但请注意&#xff0c;这里的“迟钝”并非指智力上的迟钝&#xff0c;而是指在应对复杂人际关系和压力时展现出的豁达与钝感力&#xff1a; 尊重…