質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

1回答

1648閲覧

ACCESSVBA MXComponentのWriteDeViceBlockでのワードデータのデバイス書き込みについて

mission2tk

総合スコア10

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2018/12/19 13:09

編集2018/12/19 13:11

ACCESSVBA MXComponentのWriteDeViceBlockでのワードデータのデバイス書き込みについて

ACCESSVBAで、三菱PLCに対してデバイス書き込みを行うコードを作成したいです。
T_製品情報 のテーブルから、NM1~4を、D0~D3に書き込みたいです。
MXComponentのWriteDeViceBlock関数を使用します。

  Dim szDevice As String
Dim ISize As Long
Dim IData As Long
Dim rst As Recordset 'Recordset オブジェクト

Dim NM1 As String Dim NM2 As String Dim NM3 As String Dim NM4 As String

  Set rst = CurrentDb.OpenRecordset("T_製品情報")
szDevice = "D0" '先頭アドレス
ISize = 4 'データ数:4

  'rstのカレントレコードのフィールド(2バイト)の内容を、IData(n)に代入します。
NM1 = rst!製品名1 '2バイト
NM2 = rst!製品名2 '2バイト
NM3 = rst!製品名3 '2バイト
NM4 = rst!製品名4 '2バイト

  IData(0) = NM1
IData(1) = NM2
IData(2) = NM3
IData(3) = NM4

  lRet = Obj_ActUtlType.WriteDeviceBlock(szDevice, ISize, IData(0))

ここで、NM1~NM4はテキスト(半角カタカナ含む)なのですが、HEX変換を行った上で書き込みをする必要があるのでしょうか。
お詳しい方、何卒ご回答のほど宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

WinFormのC#で、MXComponentを使った経験はありますが、
Accessはないため、直接的な回答はできませんが、
参考になれば幸いです。

1.MXComponentをインストールすると、
インストール先にSampleがあると思いますが
そちらは参照されていますか?
たぶん、そこを見れば解決しそうな気がします。

2.開発環境
当方の場合、開発時に実機のPLCが無かったため
MELSOFT GX Works2 Ver.1 体験版をインストールし、
PLCをシミュレートした上で、テストしていました。
このツールを使うと、実機のPLCの代わりにPC上で
動作してくれますし、モニターでメモリの状態を
閲覧したり、書き換えたりできます。
これでアプリがきちんと動作することを確認できます。

投稿2018/12/20 04:37

kikukiku

総合スコア514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mission2tk

2018/12/20 04:49

ご回答ありがとうございます。 ACCESS用のサンプルには、WriteDeViceBlock関数を使用したものが無かったため、 詳細な記述が参照できなかった経緯があります。 GX Works2をインストールして試してみることを検討します。
kikukiku

2018/12/20 06:44

C#の例になりますが、当方ではWriteDeviceBlock2を使っていました。引数がshortの配列を要求していたため、それに合わせるように使っています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問