エラー箇所にジャンプ
- 「Ctrl + Shift + F12」
ブレークポイント
- 設定/解除 「F9」
- 有効化/無効化 「Ctrl + F9」
ViEmu特有
- 「:ls」:バッファナンバーのリストを表示。
- 「:b2」:バッファ2のファイルを開く。
- 「:n」:次のバッファのファイルを開く。
- 「:N」:前のバッファのファイルを開く。
- 「:bui[ld]」:現在のソリューションをビルド。
- 「:prb」:現在のプロジェクトをビルド。
- 「:deb」:デバッグ実行。
以下のSQLで実現できます。
取得結果は、以下のとおりです。
callSuper()とcallParent()メソッドの振る舞いの違いを整理してみました。
違いは、以下のとおりです。
callSuper()では、Overrideされた基底クラスのメソッドは呼ばれません。
・Override -> Base.
対してcallParent()では、Overrideされた基底クラスのメソッドが呼ばれます。
・Override -> Derived -> Base.
以下にデモ&ソースがあるので参考にしてみて下さい。
デモ&ソースこのMX Compornentですが旧バージョンも含めてインストールされるので、何を使えば良いか迷うことがあるので、下表にまとめてみました。 是非、参考にして下さい。
| コントロール名 | バージョン | 説明 |
|---|---|---|
| ActUtlType | 4.00A | PLC通信用のActiveXコントロール。 通信設定ユーティリティを使用して、プログラムを作成する場合に使用する。 |
| ActProgType | 4.00A | PLC通信用のActiveXコントロール。 通信設定ユーティリティを使用しないで、プログラムを作成する場合に使用する。 |
| ActEasyIF | 3 | PLC通信用のActiveXコントロール。 4.00Aが最新なので特に理由がない限りは使用しなくてよい。 |
| ActSupportMsg | 4.00A | MX Componentの各コントロールが返すエラーコードの該当メッセージを取得するためのActiveXコントロール。 |
| ActSupport | 4.00A | MX Componentの各コントロールが返すエラーコードの該当メッセージを取得するためのActiveXコントロール。 4.00Aが最新なので特に理由がない限りは使用しなくてよい。 |
| DotUtlType | 4.00A | ActUtlTypeの.Net移植コントロール。.Net Framework2.0用なので要注意。 |
| DotSupportMsg | 4.00A | ActSupportMsgの.Net移植コントロール。.Net Framework2.0用なので要注意。 |
※通信設定ユーティリティとは、PLCの接続先をウィザード形式で設定できるツールです。 これを利用しない場合は、通信に必要ないくつかの情報をプログラム内にパラメタとして指定する必要があります。
ちなみに、私が開発する時は、「ActUtlType」、「ActSupportMsg」を利用しています。
MX Compornent(体験版)のダウンロードはこちらから
在宅ワーク時は、プロキシを通さずにインターネットに繋げて、
出社した時はProxyをONにしてインターネットに繋げる人も多いのではないでしょうか。
今回は、インターネットオプションのダイアログを表示せずに、ダブルクリックだけで
ProxyのON/OFFを切り替える方法をご紹介します。
次のコマンドをBATファイルにして実行して下さい。ProxyのON/OFFを切り替えることができます。
Rem レジストリを書き換えてProxyをON
reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v "ProxyEnable" /t REG_DWORD /d "1" /f
現在実行中のクエリを確認する方法です。
以下のSQLを実行して見て下さい。
「勤怠システム」など特定の時間帯だけ高負荷となり、それ以外の時間帯は殆ど使用されないシステムでは、Bシリーズが最適な選択になります。
Bシリーズでは、CPU使用量がベースラインを下回る場合は、CPUクレジットを蓄積し、高負荷となった場合は蓄積したCPUクレジットを消費して、通常より高いパフォーマンスを発揮してくれます。 (例えば、「Standard_B2s」サイズの場合だと最大CPUパフォーマンス200%まで引きあがります)
今回は、CPUクレジットの残高を確認する方法を紹介します。 Azure Portalで以下の操作を行ってください。
Azure Portalで対象のVMのページに移動。
「メトリック」を表示し、「CPU Credits Remaining」、「Percentage CPU」を追加。
以下のとおり、CPUクレジットの推移を確認できます。
なお、CPUクレジットを全て使い切った場合は、ベースラインパフォーマンスに戻ります。(「Standard_B2s」サイズの場合だとCPU使用率40%になる。)
また、VMを「再デプロイ」または「停止/起動」するとCPUクレジットが0にリセットされるのでご留意ください。
例えば、以下のような要望をよく耳にします。
このような背景から、C#でPLCと通信するためのプログラム環境構築について、まずは三菱電機さんのGX Works2をターゲットに調査し、書籍に纏めてみました。
現場では、図1のようなシステム構成ですが、本書では、図2のようにエミュレーター環境でプログラムの動作確認ができる方法を紹介しております。
勉強や調査の段階では、PLC実機での動作確認ができない方も多いと思いますので参考にしていただければ幸いです。
Kindle Unlimitedだと無料で閲覧できますので興味のある方は是非!!
| イベント | 説明 |
|---|---|
| Resize | コントロールのサイズが変更された時に発生。 |
| SizeChanged | Sizeプロパティが変更されたときに発生。 |
| Layout | コントロールが配置し直す時に発生。 |
上記の説明では、イマイチ違いが解らないので、実際に発生の順序の違いを調べました。
●ユーザのマウス操作でFormサイズを変更した場合
Layoutイベント
↓
Resizeイベント
↓
SizeChangedイベント
●プログラミングでSizeプロパティを変更した場合
this.Size = new Size(300, 100);
Layoutイベント
↓
Resizeイベント
↓
SizeChangedイベント
●プログラミングでHeightプロパティを変更した場合
Form.Height += 100;
Layoutイベント
↓
Resizeイベント
↓
SizeChangedイベント
結果は、どれも同じ順序で発生することが解りました。
なお、Microsoftのドキュメントでは、「Layoutイベントを使用してカスタムレイアウトを処理すること」をお勧めしています。
q:
コマンドウィンドウが開くと通常のコマンドモード時の操作が可能になります。
カーソルを再実行したい行に移動してEnterを押下すると再実行されます。
q/
または、
q?
カーソルを再検索したい行に移動してEnterを押下すると再検索されます。
:q
便利なので、是非、試してみて下さい。
以下のSampleのとおり、TextExtractor.Extract()メソッドで、ファイル内の文字列を取得できます。
※Shift-Jisのテキストファイル(.txt)は、UTF-8に変換しないと抽出に失敗するので要注意。
public void TikaExtractorTest() {
var txtExtractor = new TextExtractor();
var path = @"C:\Temp\Test.xlsx";
var content = txtExtractor.Extract(path);
Debug.WriteLine(content.Text);
}
以下のSampleのとおり、ReadJEnc.JP.GetEncoding()メソッドで文字コードを自動判定することができます。
ShiftJIS
エラー箇所にジャンプ 「Ctrl + Shift + F12」 ブレークポイント 設定/解除 「F9」 有効化/無効化 「Ctrl + F9」 ViEmu特有 「:ls」:バッファナンバーのリストを表示。 「:b2」:バッファ2のファイルを開く。 「:n」:次のバッファのファ...