跳到主要内容

HSL

HslCommunication.dll 是一个可以和多种PLC通信的库,使用他可以大大加快和PLC通讯的开发周期。

HslCommunicationDemo.exe 是一个使用 HslCommunication.dll 的测试软件,该软件提供了UI界面来测试多种PLC。

上位机(Wcs)与PLC通信实质就是读写PLC的内存数据。

会涉及两个概念:

  • 数据类型:规定了数据的大小

  • 寻址:给定了数据位置

Modbus​

modbus

测试​

首先启动 Modbus Server

启动之后,在100地址写入99 ushort数据

hsl-modbus-1

新开一个ModbusTcp 客户端页面。

点击连接,100地址读取uhsort为99

hsl-modbus-2

三菱​

mitsubishi

西门子​

在西门子 PLC 中,访问变量需要指定其所在的存储区和地址。

地址格式: [存储区][块号].[地址标识符][字节地址].[位地址]

常用存储区 (Memory Area):

  • I: 输入 (Input),例如 I0.0
  • Q: 输出 (Output),例如 Q4.1
  • M: 标志位/中间变量 (Marker),例如 M100.0
  • DB: 数据块 (Data Block),例如 DB200

地址标识符:

  • X: 位 (Bit)
  • B: 字节 (Byte)
  • W: 字 (Word)
  • D: 双字 (Double Word)

以下列出了

数据类型占用空间地址示例 (绝对寻址)说明
BOOL1 bitDB200.DBX0.1访问 DB200 中第 0 个字节的第 1 个位。
BYTE1 byteDB200.DBB1访问 DB200 中第 1 个字节 (Byte 1)。
WORD2 bytesDB200.DBW4访问从第 4 个字节开始的一个字 (即 Byte 4 和 Byte 5)。
DWORD4 bytesDB200.DBD10访问从第 10 个字节开始的一个双字 (即 Byte 10, 11, 12, 13)。
REAL4 bytesDB200.DBD20访问从第 20 个字节开始的双字,作为一个实数。
CHAR1 byteDB200.DBB30访问第 30 个字节,作为一个字符。

测试​

首先启动 S7 Virtual Server

启动之后,添加一个10的DB块,在DB10.1地址写入99 ushort数据

hsl-siemens-1

新开一个S1200的客户端连接刚才开启的虚拟服务,使用DB10.1读取 ushort,读取到刚才的99数据

hsl-siemens-2