LabView控件介绍(二)

一、 Create Master Instance (Serial) VI**/**创建主实例(串行)VI

1.1 功能

创建串行或TCP Modbus主实例。

1.2 控件图

1.3 输入

serial type------数据传输类型(RTU/ASCII)。
unit ID------从站设备ID。
VISA resoure name------打开的资源(串口)。
baud rate------从站波特率。
parity------奇偶校验。
error in(no error) ------错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。

1.4输出

serial master instance------串行Modbus主站实例。
error out------错误输出包含错误信息。该输出提供标准错误输出功能。

二、 Shutdown VI**/关闭**VI

2.1 功能

执行关闭和清理提供的Modbus实例所需的任何操作。
关闭 Modbus 实例
释放串口 COM 资源
释放 TCP 连接
清理内部引用
避免下次运行端口被占用

2.2 控件图

2.3 输入

Modbus master in------接收任何Modbus主实例,由Create Master Instance (Serial) VI/创建主实例(串行)VI创建。

error in(no error) ------错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。

2.4 输出

error out------错误输出包含错误信息。该输出提供标准错误输出功能。

三、 Inialize VI**/初始化**VI

3.1 功能

初始化Modbus主实例。如果使用创建Modbus实例VI,则不需要这样做。此功能将启动任何所需的总线通信。(Create Master Instance VI 里面已经帮你完成了 Initialize 的工作

3.2 控件图

3.3 输入

Modbus master in------接收任何Modbus主实例,由Create Master Instance (Serial) VI/创建主实例(串行)VI创建。

error in(no error) ------错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。

3.4输出

Modbus master out------输出Modbus主站引用,继续传输后续Modbus VI。
error out------错误输出包含错误信息。该输出提供标准错误输出功能。

四、 Set Uint ID VI**/设置从站ID VI**

4.1 功能

提供了一个简单的函数,用于定义作为modbus主读写操作目标的单元id。此函数立即生效,并将使用modbus主输出返回的实例更改任何未来操作的目标。通过分叉写入可以同时访问多个单元。此函数仅适用于使用RTU或ascii串行传输数据单元时。tcp/ip传输数据单元忽略单元id。(设置当前 Modbus Master 要访问的从站地址,也就是 Slave ID / Unit ID。Create Master Instance (Serial) VI 本身就有unit ID输入端。NI 文档里也说明,创建串口 Master 实例时,unit ID用来指定要通信的 Modbus 从站。如果你只连接一个从站,用Create Master Instance (Serial) VI的unit ID即可,但如果你要在同一个主站实例里轮询多个从站,就用Set Unit ID VI来动态切换。)

4.2 控件图

4.3 输入

Modbus master in------接收任何Modbus主实例,由Create Master Instance (Serial) VI/创建主实例(串行)VI创建。
unit ID------单元ID定义了所有Modbus主读写操作所针对的设备。此值仅用于串行传输数据单元。

error in(no error) ------错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。

4.4输出

Modbus master out------输出Modbus主站引用,继续传输后续Modbus VI。
error out------错误输出包含错误信息。该输出提供标准错误输出功能。

五、 Set Timeouts VI**/设置超时VI**

5.1 功能

设置 Modbus 主站在读/写从站时,最多等待多长时间。也就是说,LabVIEW 主站发出读写命令后,如果从站在规定时间内没有响应,就会报超时错误。Modbus master 默认读写超时时间是 5000 ms。

5.2 控件图

5.3 输入

Modbus master in------接收任何Modbus主实例,由Create Master Instance (Serial) VI/创建主实例(串行)VI创建。
read operation timeout------读操作超时时间。
write operation timeout------写操作超时时间。

5.4输出

Modbus master out------输出Modbus主站引用,继续传输后续Modbus VI。
error out------错误输出包含错误信息。该输出提供标准错误输出功能。

python 复制代码
Create Master Instance
        ↓
Set Unit ID
        ↓
Set Timeouts
        ↓
Read Holding Registers / Write Registers
        ↓
Shutdown

六、 Read Coils VI**/**读取线圈VI

6.1 功能

从设备的起始地址开始读取输入线圈的数量。(主站读取从站里一段连续的布尔量开关状态)

6.2 控件图

6.3 输入

Modbus master in------接收任何Modbus主实例,由Create Master Instance (Serial) VI/创建主实例(串行)VI创建。
starting address------起始Coils地址。
number of inputs------从初始地址开始从设备要读取的Coils数量。
error in(no error) ------错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。

6.4输出

Modbus master out------输出Modbus主站引用,继续传输后续Modbus VI。
coils------读取到的 Coil 状态,布尔数组(Boolean 布尔量
),1 个点 = 1 bit。

error out------错误输出包含错误信息。该输出提供标准错误输出功能。

七、 Write Single Coil VI**/**写单线圈VI

7.1 功能

将线圈写入设备的地址。(主站向从站的某一个开关量地址写入 True 或 False)

7.2 控件图

7.3 输入

Modbus master in------接收任何Modbus主实例,由Create Master Instance (Serial) VI/创建主实例(串行)VI创建。
address------要写入的Coil地址​​​​​​​。
coil to write------要写入的布尔值,True 或 False。
error in(no error) ------错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。

7.4输出

Modbus master out------输出Modbus主站引用,继续传输后续Modbus VI。

error out------错误输出包含错误信息。该输出提供标准错误输出功能。

八、 Write Multiple Coils VI**/**写入多个线圈VI

8.1 功能

主站一次性向从站写入一组连续的开关量 True/False。

8.2 控件图

8.3 输入

Modbus master in------接收任何Modbus主实例,由Create Master Instance (Serial) VI/创建主实例(串行)VI创建。
starting address------起始 Coil 地址​​​​​​​。
coil to write------要写入的布尔值,True 或 False。(Boolean Array 布尔数组

error in(no error) ------错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。

8.4输出

Modbus master out------输出Modbus主站引用,继续传输后续Modbus VI。

error out------错误输出包含错误信息。该输出提供标准错误输出功能。

九、 Write Multiple Coils VI**/**写入多个线圈VI

9.1 功能

主站一次性向从站写入一组连续的开关量 True/False。

9.2 控件图

9.3 输入

Modbus master in------接收任何Modbus主实例,由Create Master Instance (Serial) VI/创建主实例(串行)VI创建。
starting address------起始 Coil 地址。
coil to write------要写入的布尔值,True 或 False。(Boolean Array 布尔数组

error in(no error) ------错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。

9.4输出

Modbus master out------输出Modbus主站引用,继续传输后续Modbus VI。

error out------错误输出包含错误信息。该输出提供标准错误输出功能。

十、 Read Holding Registers VI**/**读取保持寄存器VI

10.1 功能

从连续的保持寄存器读取值。此VI可以读取的最大保持寄存器数为125。

10.2 控件图

10.3 输入

Modbus master in------接收任何Modbus主实例,由Create Master Instance (Serial) VI​​​​​​​/创建主实例(串行)VI创建。
starting address------起始地址指定读取操作的初始地址。有效值介于0和65535之间,其中65535是最大值。

number of holding registers------从初始地址开始从设备读取的寄存器数量。
error in(no error) ------错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。

10.4输出

Modbus master out------输出Modbus主站引用,继续传输后续Modbus VI。
register values------读取到的寄存器值(U16一维数组)。
error out------错误输出包含错误信息。该输出提供标准错误输出功能。

十一、 Write Single Holding Register VI**/**写入单保持寄存器VI

11.1 功能

主站向从站的某一个 16 位保持寄存器写入一个 U16 数值。

11.2 控件图

11.3 输入

Modbus master in------接收任何Modbus主实例,由Create Master Instance (Serial) VI/创建主实例(串行)VI创建。
address------要写入的保持寄存器地址。
register to write------要写入的寄存器值。
error in(no error) ------错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。

11.4输出

Modbus master out------输出Modbus主站引用,继续传输后续Modbus VI。
error out------错误输出包含错误信息。该输出提供标准错误输出功能。

十二、 Write Multiple Registers VI**/**写入多个保持寄存器VI

12.1 功能

主站从某个起始地址开始,连续向从站写入一组 U16 寄存器值。

12.2 控件图

12.3 输入

Modbus master in------接收任何Modbus主实例,由Create Master Instance (Serial) VI/创建主实例(串行)VI创建。
staring address------起始保持寄存器地址​​​​​​​。
registers to write------要写入的 U16 数组​​​​​​​。
error in(no error) ------错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。

12.4输出

Modbus master out------输出Modbus主站引用,继续传输后续Modbus VI。
error out------错误输出包含错误信息。该输出提供标准错误输出功能。

十三、 Read Input Registers VI​​​​​​​**/**读取输入寄存器VI

13.1 功能

主站从从站读取一段连续的只读输入寄存器,返回 U16 数组。
Input Register 通常只能读,不能写
Holding Register 通常可读可写

13.2 控件图

13.3 输入

Modbus master in------接收任何Modbus主实例,由Create Master Instance (Serial) VI/创建主实例(串行)VI创建。
staring address------起始输入寄存器地址。

number of inputs------要读取的输入寄存器数量​​​​​​​。
error in(no error) ------错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。

13.4输出

Modbus master out------输出Modbus主站引用,继续传输后续Modbus VI。
register values------读取到的输入寄存器值,U16 数组。

error out------错误输出包含错误信息。该输出提供标准错误输出功能。