HSL
HslCommunication.dll 是一个可以和多种PLC通信的库,使用他可以大大加快和PLC通讯的开发周期。
HslCommunicationDemo.exe 是一个使用 HslCommunication.dll 的测试软件,该软件提供了UI界面来测试多种PLC。
上位机(Wcs)与PLC通信实质就是读写PLC的内存数据。
会涉及两个概念:
-
数据类型:规定了数据的大小
-
寻址:给定了数据位置
Modbus
测试
首先启动 Modbus Server
启动之后,在100地址写入99 ushort数据

新开一个ModbusTcp 客户端页面。
点击连接,100地址读取uhsort为99

三菱
西门子
在西门子 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)
以下列出了
| 数据类型 | 占用空间 | 地址示例 (绝对寻址) | 说明 |
|---|---|---|---|
| BOOL | 1 bit | DB200.DBX0.1 | 访问 DB200 中第 0 个字节的第 1 个位。 |
| BYTE | 1 byte | DB200.DBB1 | 访问 DB200 中第 1 个字节 (Byte 1)。 |
| WORD | 2 bytes | DB200.DBW4 | 访问从第 4 个字节开始的一个字 (即 Byte 4 和 Byte 5)。 |
| DWORD | 4 bytes | DB200.DBD10 | 访问从第 10 个字节开始的一个双字 (即 Byte 10, 11, 12, 13)。 |
| REAL | 4 bytes | DB200.DBD20 | 访问从第 20 个字节开始的双字,作为一个实数。 |
| CHAR | 1 byte | DB200.DBB30 | 访问第 30 个字节,作为一个字符。 |
测试
首先启动 S7 Virtual Server
启动之后,添加一个10的DB块,在DB10.1地址写入99 ushort数据

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