我正在开发一个测试程序,用于检查 Okuma 机器上的 Barfeeder 接口。我需要检查某些输入和输出的状态。我对 GetBitIO 方法有点困惑。我想检查例如 iIN24 输入在 0104 位 7 的状态。
代码:
private CIO IO;
IO = new CIO();
private void button1_Click(object sender, EventArgs e)
{
string IOin24 = IO.GetBitIO(Input, 0104, 7).ToString();
}
上面的行测试“输入”,错误是名称在当前上下文中不存在。
private CIO IO;
IO = new CIO();
private void button1_Click(object sender, EventArgs e)
{
string IOin24 = IO.GetBitIO(104, 7, 0).ToString();
}
尝试对这一行稍作改动。
string IOin24 = IO.GetBitIO(0, 7, 104).ToString();
上面的行从 api 获取整个命令的错误。错误表明它无法从 int 转换为 Okuma.CLDATAPI.Enumerations.BitsEnum。这条线类似于我如何毫无问题地为 VB.Net 获取数据。
之前用于在地址 0 位 2 处获取 NC 复位按钮 (ipNCRT) 的 VB 代码。
Private Sub RadioButton4_Checked(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles RadioButton4.Checked
TextBox2.Text = IO.GetBitIO(0, 2, 0).ToString
End Sub
阅读车床 API 的帮助我得到以下规则。
参数:
[C#] public OnOffStateEnum GetBitIO(IOTypeEnum enIO, int intAddressIndex, BitsEnum enBits);
enIO I/O 变量类型。参数值来自 Okuma.CLDATAPI.Enumerations.IOTypeEnum 枚举。
ntAddressIndex逻辑 I/O 地址索引
enBits 位号。参数值来自 Okuma.CLDATAPI.Enumerations.BitsEnum 枚举。