首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Okuma车床上的API调用I/O状态

从Okuma车床上的API调用I/O状态
EN

Stack Overflow用户
提问于 2013-09-16 16:58:23
回答 1查看 436关注 0票数 1

我正在编写一个测试程序,用于检查Okuma机器上的Barfeeder接口。我需要检查某些输入和输出的状态。我对GetBitIO方法有点困惑。例如,我想检查0104位7位的iIN24输入的状态。

代码:

代码语言:javascript
复制
 private CIO IO;

 IO = new CIO();

 private void button1_Click(object sender, EventArgs e)
 {
 string IOin24 = IO.GetBitIO(Input, 0104, 7).ToString();
 }

上面的行使用当前上下文中不存在名称的错误来测试“输入”。

代码语言:javascript
复制
 private CIO IO;

 IO = new CIO();

 private void button1_Click(object sender, EventArgs e)
 {
 string IOin24 = IO.GetBitIO(104, 7, 0).ToString();
 }

试着对这一行做个小改动。

代码语言:javascript
复制
 string IOin24 = IO.GetBitIO(0, 7, 104).ToString();

上面的行从api中获得整个命令的错误。错误声明它不能从int转换为Okuma.CLDATAPI.Enumerations.BitsEnum。这一行类似于我如何在没有问题的情况下获得VB.Net的数据。

VB代码以前用来得到数控复位按钮(ipNCRT)在地址0位2.

代码语言:javascript
复制
 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枚举。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-16 17:07:22

基本问题是,在关闭Option Strict的情况下编译了VB程序,它允许您将原始整数传递到一个期望接受Enum的函数中。

我没有机器制造商给你的具体库的手册,但是总的想法是:

代码语言:javascript
复制
string IOin24 = IO.GetBitIO(IOTypeEnum.Input, 0104, BitsEnum.Bit4).ToString();

我刚刚为枚举成员编出了名称,但是如果您阅读了您在软件中获得的文档(甚至只是键入IOTypeEnum.,看看IntelliSense是否给出了一个列表),以找出您要传递的整数对应的强类型成员是什么。

您还需要确保包含了所讨论的程序集--即:

代码语言:javascript
复制
using Okuma.CLDATAPI.Enumerations;

应该出现在您的类文件的顶部某处。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18833426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档