Labview课程2:通过S7.net读取西门子PLC中变量并绘图

本文介绍如何通过S7.net如何读取西门子PLC中的数据(比如幅度为1的正弦曲线)并绘图。其中涉及:

1.S7.net.dll的使用

2.到字节数组如何变成单精度浮点数的方法。

3.如何使用S7-PLCSim advanced v5.0来仿真的西门子PLC(如果没有硬件的话)

4.如何通过XY图进行数据的显示

详细介绍如下(代码见:https://download.csdn.net/download/qq_34047402/90383117)

步骤如下:

一、通过S7.net.dll打开与PLC的连接

利用Net构造器节点关联S7.net.dll,然后利用open方法进行打开。具体如下:

1.通过"互连接口"->"Net"->"构造器节点",浏览找到S7.net.dll; 然后利用其"调用节点"

  • 利用s7net的ReadBytes指令读取一定字节长度的数据

2.1 4个字节如何组成一个Dint。

本例的例1中先读取4个字节的dint类型变量,然后从4个byte组合成一个dint

|-----------------|-------|-------|-------|-------|
| | 高位 | | | 低位 |
| 西门子中Dint 4个字节组成 | Byte0 | Byte1 | Byte2 | Byte3 |

数值 = Byte0 x 256*256*256 + Byte1*256*256 + byte2*256 + byte3.

三、使用S7-PLCSIM advanced V5.0来仿真实际的PLC。

PLC一侧要打开:"连接机制"->"允许来自远程对象的PUT/GET通讯访问"

读取结果:123456789 =16# 07 5B CD 15

|---------------------|----|----|-----|----|
| | 高位 | | | 低位 |
| 123456789 四个字节-16进制 | 07 | 5B | CD | 15 |
| 四个字节-10进制 | 7 | 91 | 205 | 33 |

四、如何把西门子的Real转换成labview中的单精度浮点数。

使用数学->数值->数据操作->强制类型转换来完成。

注意:浮点数要选择SGL

五、如何绘制采集过来的数值

详细代码见:https://download.csdn.net/download/qq_34047402/90383117

本文介绍如何通过S7.net如何读取西门子PLC中的数据(比如幅度为1的正弦曲线)并绘图。其中涉及:

1.S7.net.dll的使用

2.到字节数组如何变成单精度浮点数的方法。

3.如何使用S7-PLCSim advanced v5.0来仿真的西门子PLC(如果没有硬件的话)

4.如何通过XY图进行数据的显示

相关推荐
LabVIEW开发15 小时前
深海高压舱里的“顺风耳“:LabVIEW 实时水声采集
网络·labview·labview知识·labview功能·labview程序
2601_9622845018 小时前
利用Python语言实现实验室自动化
python·自动化·数据采集·labview·科学计算
LabVIEW开发2 天前
LabVIEW字符串特殊字符检测兼容
算法·labview·labview知识·labview功能·labview程序
LabVIEW开发2 天前
LabVIEW让多个测试用例共享同一个波形图控件的实现方案
labview·labview知识·labview功能·labview程序
LabVIEW开发3 天前
LabVIEW 64位安装的位深陷阱:工具包、内存与工程兼容
数据库·labview·labview知识·labview功能·labview程序
LabVIEW开发3 天前
LabVIEW按钮按下却没有反应
labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
LabVIEW运行时动态修改控件标题
前端·labview·labview知识·labview功能·labview程序
LabVIEW开发4 天前
LabVIEW反馈节点与前馈节点:同一个结构,两种时序语义
labview·labview知识·labview功能·labview程序
LabVIEW开发5 天前
LabVIEW面向对象中的“构造与析构“方法设计:初始化与清理范式
labview·labview知识·labview功能·labview程序
LabVIEW开发5 天前
LabVIEW储能电池绝缘测试
人工智能·labview·labview知识·labview功能·labview程序