1

Okuma マシンの Barfeeder インターフェイスをチェックするためのテスト プログラムに取り組んでいます。特定の入力と出力のステータスを確認する必要があります。GetBitIO メソッドについて少し混乱しています。たとえば、0104 ビット 7 の iIN24 入力のステータスを確認したいと考えています。

コード:

 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 for Lathes のヘルプを読むと、次のルールが表示されます。

パラメーター:

[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 列挙から取得されます。

4

1 に答える 1

2

基本的な問題は、VB プログラムをOption Strictオフにしてコンパイルしたため、生の整数を関数に渡して、Enum.

特定のライブラリのマシン メーカーからのマニュアルはありませんが、一般的な考え方は次のようになります。

string IOin24 = IO.GetBitIO(IOTypeEnum.Input, 0104, BitsEnum.Bit4).ToString();

列挙型メンバーの名前を作成しましたが、ソフトウェアに付属しているドキュメントを読んで (または入力してIOTypeEnum.、IntelliSense がリストを表示するかどうかを確認してください)、対応する厳密に型指定されたメンバーが何であるかを確認してください。渡そうとしている整数について。

また、問題のアセンブリが含まれていることを確認する必要があります-つまり:

using Okuma.CLDATAPI.Enumerations;

クラスファイルのどこかに表示されるはずです。

于 2013-09-16T17:07:22.830 に答える