Input #

用于从文件、通信端口、数据库或装置输入字符串或数值数据并保存到变量中。

格式
Input #端口编号, 变量名 [, 变量名, 变量名, ...]

参数

端口编号
是表示文件、通信端口、数据库或装置的ID编号。文件编号是由ROpen、WOpen、AOpen等语句指定的编号。通信端口编号是由OpenCom(RS-232C)或OpenNet(TCP/IP)语句指定的编号。数据库编号是由OpenDB语句指定的编号。
装置ID为以下数值。

  • 21 RC+
  • 24 TP(仅TP1)
  • 20 TP3
变量名
指定接收数据的变量名。

说明
Input # 命令从端口编号指定的设备接收数值或字符串数据,并输入到指定该数据的变量中。

注意


  • 支持的控制器型号

    若在T/VT系列中指定RS-232C端口时会发生错误。

  • 数值输入规则

    进行数值输入时,如果有分隔符以外的非数值数据,将舍去该非数值数据及其以后的数据。

  • 字符串输入规则

    代入到字符串中时,将把数字和字母作为字符处理。

  • 最大数据长度

    本命令一次可处理的最大数据长度为256 Byte。但对象为数据库时,最大数据长度为4096 Byte。对象为通信端口(TCP/IP)时,最大数据长度为1024 Byte。

  • 与其他的Input # 命令有关的规则

    • 为代入对象指定多个变量时,各个要代入的数值数据必须用分隔符“,”或空白(“ ”)分隔。

    • 指定多个字符串变量以及指定数值变量和字符串变量两者时,数值数据必须用分隔符“,”或空白(“ ”)分隔,而字符串数据必须用分隔符“,”分隔。

    • 输入数据类型必须符合代入对象的变量类型。

    • 使用通信端口交接控制器之间的字符串变量、数值变量。

    • 发送侧(任一模式即为OK。)

      Print #PortNum, "$Status,", InData, OutData
      Print #PortNum, "$Status", ",",InData, OutData
      
    • 接收侧

      Input #PortNum, Response$, InData, OutData
      

易引起的错误

  • 指定的变量数与输入数据的数量不一致时

    如果命令指定的变量数与从设备接收的数值数据的数量不一致,将出现错误2505。

参阅
Input、Line Input、Line Input #、Print #、Read、ReadBin

Input #使用示例
下述为使用Input #语句的简单示例。

Function GetData
    Integer A
    String B$

    OpenCom #1
    Print #1, "Send"
    Input #1, A   '从端口#1获取数值
    Input #1, B$  '从端口#1获取字符串
    CloseCom #1
Fend