串行端口
通过串行端口(RS-232、RS-485,或以串行端口形式呈现的 USB 适配器)进行通信。
传输语法
{name of the serial port}名称取决于操作系统:
- Windows:
COM1 - Linux:
/dev/ttyS0、/dev/ttyUSB0 - macOS:
/dev/tty.usbserial-XXXX
示例
modbus-rtu://COM1?serial.baud-rate=19200
modbus-rtu:serial:///dev/ttyUSB0?serial.baud-rate=9600&serial.parity=even| 名称 | 类型 | 默认值 | 是否必填 | 描述 |
|---|---|---|---|---|
| 名称 | 串口 | 代码 |
serial
Maven 依赖
<dependency>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-transports-serial</artifactId>
<version>1.0.0</version>
</dependency>配置选项:
serial.baud-rate
INT
9600
波特率(比特每秒)
serial.data-bits
INT
8
数据位数量(5、6、7 或 8)
serial.stop-bits
INT
1
停止位数量(1 或 2)
serial.parity
STRING
none
奇偶校验:none、odd、even、mark、space(不区分大小写)
serial.flow-control
STRING
none
流控:none、rts-cts、xon-xoff(不区分大小写)
serial.read-timeout-ms
INT
1000
读取超时时间(毫秒)。0 表示阻塞式读取。
serial.write-timeout-ms
INT
1000
写入超时时间,单位为毫秒。
serial.dtr
BOOLEAN
false
启用 DTR(数据终端就绪)信号
serial.rts
BOOLEAN
false
启用 RTS(请求发送)信号
serial.reuse-port
BOOLEAN
false
在多个传输实例之间复用底层串口。设为 true 时,使用同一端口的实例将共享连接。这对于多个逻辑连接共用一个串口的协议非常有用。共享同一端口的连接必须指向不同的单元 ID;Modbus RTU 响应不携带事务 ID,因此无法区分来自多个连接的同一单元的流量。
serial.interframe-delay
INT
0
帧间延迟(毫秒),适用于需要在消息之间保持间隔的协议。该设置对共享端口和专用端口均有效;间隔时间从最后一次写入或接收的数据开始计算。
在 RS-485 总线上,多个设备共享同一个物理端口。serial.reuse-port=true 允许多个 PLC4X 连接在此情况下共享同一个已打开的端口——使用该选项前请先阅读其警告说明。
评论
登录后参与评论
KnowForge