コーディング

コーディング

Windowsスレッドで操作パネルの判定

ボタンコントロールのクリックイベント内で軸のモーション動作を行うと移動が完了するまでUIが固まってしまいます。だんまり停止しないように別スレッドで動作させる方法はこちらの記事、画面が固まらないための非同期処理を参照してください。 物理スイッ...
コーディング

モーションプロファイル 移動スピード設定

モーションプロファイルとは、軸の最高速度、加速度をしていするものです。 加減速を早くすると、位置決め完了までの時間が短くなりますが、軸の振動やオーバーシュートの問題がでてきます。アプリケーション、負荷、システムの優先順位によって決まります。...
コーディング

モーションのオーバーライド

通常のコードでは移動を停止してから次の移動を行います。生産タクトの改善目的で、移動途中で行き先を変更したい場合があります。ここでは、どのようにしてブレンド処理を行うかをご紹介します。 モーションオーバーライドで2000の位置に移動途中に40...
コーディング

WMX トリガーモーションによる軸制御

指定されたトリガー条件が満たされるまで、次のモーション指令の実行を遅らせる機能になります。具体的には、移動中の軸が指定の状態になった時に、別の軸を動かすことができます。 生産タクトを短縮する時などに力を発揮します。 トリガーモーションに指定...
コーディング

WMX イベントによるモーションコントロール

Windows上のスレッドでリアルタイムの動作を実現するための一つとして、WMXのイベント機能があります。このイベントは指定した条件が満たされたときに、特定の動作を実行する機能になります。 イベントの入力で使用できる条件 コアモーションの入...
コーディング

C# 軸の制御

ここでは、コーディングでよく使う処理をご紹介します。 指令位置を変更する方法 座標を0クリアする場合は、SetCommandPos関数を使用してください。 private static void 指令座標をクリア() {   // 本来は関...
コーディング

WMX サーボアラームを監視する方法

サーボアラームには、過負荷や位置偏差異常、速度異常などのアラームが起こることがあります。  アラームが起こると軸の移動が完了せず、装置がなぜ止まっているのかが直感的にわかりません。そのため使用者にアラーム表示を行うと親切です。 ユーザーにア...
コーディング

C# 非同期処理 フリーズしたと思わせないために 

ボタンを押したときにU/Iが固まる対策です。 Windowsフォームのボタンクリックイベントでモーション動作を行うと、画面が固まってしまします。そのため動作は別スレッドで処理をさせる方法が必要となります。 非同期処理のシンプルなコードの描き...
コーディング

EtherCAT機器接続確認 トラブル時の早期検出

装置立ち上げ時、配線を変更したタイミングで、LANケーブルを抜くことがあります。 ここではケーブル異常を検出するコードをご紹介します。 接続個数で判定する方法 EtherCATに接続している機器の個数をカウントする事が出来ます。 想定してい...
コーディング

WMX APIバッファー Windowsでリアルタイムモーション制御

装置をリアルタイムで動作させるために必要になる機能です。 軸移動やタイマー関数を先にAPIバッファに格納することにより、通信サイクルの精度のタイミングで順次関数を実行することができます。 コードの書き方 関数をAPIバッファに追加するには、...