LabView控件介绍(二) 一、Create Master Instance (Serial) VI/创建主实例串行VI1.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/关闭VI2.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/初始化VI3.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 VI4.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/设置超时VI5.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——错误输出包含错误信息。该输出提供标准错误输出功能。Create Master Instance ↓ Set Unit ID ↓ Set Timeouts ↓ Read Holding Registers / Write Registers ↓ Shutdown六、Read Coils VI/读取线圈VI6.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/写单线圈VI7.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/写入多个线圈VI8.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/写入多个线圈VI9.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/读取保持寄存器VI10.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/写入单保持寄存器VI11.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/写入多个保持寄存器VI12.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​​​​​​​/读取输入寄存器VI13.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——错误输出包含错误信息。该输出提供标准错误输出功能。