MZPlatformユーザー会

作成した返信

10 件の投稿を閲覧中 - 201 ~ 210 件(全 756 件)
  • 著者
    投稿
  • 返信先: arduinoを使用した3回線のデジタル入力方法 #6673
    MZPlatformユーザー会
    サイト管理者

    2と3につきまして、確認させてください。

    実現したい内容としては、MZアプリIoTEdgeApp単体で(特に修正せずに)、取得データの表示をしたいということでしょうか。3が終了で解決したということですが、もしそうであれば、2はできませんという回答になります。このMZアプリはサンプルですので、特に可視化機能を独自で変えたい場合は、ご自身で作成することになります。

    一方、このMZアプリ配布の意図としては、ルールに基づいてMySQL等のデータベースに登録するところまでをサンプルだけで実現する点にあります。データベースに登録すれば、あとは可視化アプリを作成するだけになりますので、少しハードルが下がりますし、そのサンプルMZアプリもあります。何かデータベースが使えない事情があるでしょうか。

    MZPlatformユーザー会
    サイト管理者

    大変お手数をお掛けしております。
    『コンポーネントリファレンス』の右側が白紙になっている時はMicrosoftEdgeのモードですが、IEモードで再読み込みすると表紙に戻ってしまう場合があります。
    その際に、再度左側コンポーネント名をクリックしてみてください。

    また、MicrosoftEdgeで「InternetExploreモードで再読み込みする」とアドレスバーのところに青い「IEマーク」が表示されていて、クリックすると添付の画像のように小さいダイアログが表示されます。『次回、このページをInternetExploreモードで開く』のボタンがありますので、ここを有効にするとInternetExploreモードが持続されるかと思います。

    また、上記上手くいかない場合は、以下もお手数ですがお試しください。WindowsスタートメニューのMZplatformのメニューから『ドキュメントインデックス』が表示できます。これはHTML文書でブラウザで表示されると思います。表示直後にIEモードに変更して、上から7番目の『コンポーネントリファレンス』をクリックすると同じ文書が開かれます。

    また、コンポーネントのクラス名だけでしたら、アプリケーションビルダー編集画面上の左側コンポーネントを右クリック>[コンポーネント情報表示]でクラス名等表示され、オプションメニューの[コンポーネント情報編集]でも確認できます。
    ご不便をお掛けいたしますが、どうぞよろしくお願いいたします。

    MZPlatformユーザー会
    サイト管理者

    ご連絡ありがとうございます。
    お送りいただいた画像のような状態になってしまった場合は、もう一度左側のコンポーネント名をクリックしてください。そうすると添付の画像の1番のような表示になるかと思います。
    メソッドを調べる場合にはクラス名をクリックしてください。
    画像2番のような画面が別タブで表示されます。各コンポーネントで使用できるメソッド名は下の方にスクロールすると出てきます(画像3)。詳しく見る場合はメソッド名をクリックします(画像4)。
    以上、お試しいただいても上手く表示されない場合は、どうぞ再度ご連絡ください。

    MZPlatformユーザー会
    サイト管理者

    ご連絡ありがとうございます。
    [複合コンポ―ネント]を使う場合は[コンポーネント格納変数]のメソッド「条件指定で下位のコンポーネントを取得する(String,String)」が便利です。引数1にはクラス名、引数2にはコンポーネントkeyを指定します。[アプリケーション]あるいは[複合コンポーネント]を対象にこのメソッドでコンポーネントオブジェクトが取得できます。

    [コンポーネント格納変数]に目的のコンポーネントを設定すれば、メソッドの公開は必要ありません。また、[コンポーネント格納変数]に複合コンポーネントを設定しメソッドを公開しても、階層下のコンポ―ネントのメソッドは取得できません。

    お送りいただいたファイルを変更してみましたので、ご参考になれば幸いです。

    さて、メソッドの引数の設定や条件指定の際、「String」「int」「boolean」といった基本的な型以外は完全なクラス名で指定しなければならず、引数やコンポーネントのクラス名を知る必要があります。
    C:\MZPlatform\3.6_64\components\index.htmlから『コンポーネントリファレンス』で確認できるのですが、表示する文書がXML形式となっており、以前はブラウザー簡単に表示できたのものの現在GoogleChromeでは表示できず、MicrosoftEdgeで表示するには設定をしなければなりません。
    表示するにはMicrosoftEdgeの「設定」>「既定のブラウザ」>「Internet Explorer モードでサイトの再読み込みを許可」の設定をし、文書を開いた後「Internet Explorerモードで再読み込みする」をクリックします。
    こちらの「e-Gov電子申請」サイト(https://shinsei.e-gov.go.jp/contents/help/faq/document.html)の『Q. Internet Explorerのブラウザ以外で、XMLファイル形式の公文書ファイルを開く方法を教えてください。』がご参考になるかと思います。

    『コンポーネントリファレンス』(index.html)を開いた後、左側のコンポーネント名をクリックすると右側のページにコンポーネントのクラス名や主なメソッドが表示されます。クラス名をクリックするとさらに詳しいメソッドの情報が表示されます。
    文書が開けなかったり、必要な情報が見つからないことの方が多い恐れがありますので、どうぞ必要なメソッドがありましたら、再度ご連絡いただければ幸いです。
    よろしくお願い申し上げます。

    返信先: arduinoを使用した3回線のデジタル入力方法 #6657
    MZPlatformユーザー会
    サイト管理者

    まずは1について、2021年8月31日版のツールキットを前提に説明いたします。
    MZ講習資料IoTエッジ編のPDFの中で、P.24-25に入出力テーブルの説明があります。

    ここでD2ピンがINPUTとなっていることでデジタル入力のモードとなっていますので、D3とD4を手動で同様の状態にしてお試しください。

    動作が確認できた後、起動時にその状態に設定したい場合には、P.76の設定ファイルに所定の記載をすることで可能ですので、設定ファイルmzapp.iniもご確認ください。

    2と3についてはもう少し詳細をご説明いただかないと回答ができない感じですので、実現したい内容についてご説明いただけますでしょうか。

    4はチャタリングかもしれません。そうであれば一般的な電子回路の話なので、こちらでもあまり十分な対応ができません。もし社内に詳しい方がいるようであれば相談した方が良いかもしれません。

    MZPlatformユーザー会
    サイト管理者

    お問い合わせありがとうございます。
    [ファイルコンポーネント]のメソッド
    「getAllFileNames(String)」または「getSubFileNames(String)」をお使いください。
    引数に正規表現を使えます。
    「getSubFileNames(String)」の方は直下のファイル名のみ取得し、サブディレクトリの中は取得しません。「getAllFileNames(String)」はサブディレクトリ内のファイル名も取得します。戻り値はリスト型です。ファイル名は絶対パスで取得されます。

    また、以下の注意点があります。
    返却値にディレクトリは含みません。パス名がディレクトリを示さない場合、nullを返します。 配下にファイルが存在しない場合は、空の配列を返します。 正規表現がnullもしくは空文字列の場合はすべてのファイルを返します。

    戻り値のリストの要素がFileオブジェクトになる「getAllFiles(String)」、「getSubFiles(String)」もあります。

    動作確認のため、簡単なサンプルファイルを添付いたしますので、ご参考になれば幸いです。

    MZPlatformユーザー会
    サイト管理者

    ご不便をお掛けしております。
    ご報告いただいた状況ですが、現在のところ手元で再現できておりません。他のユーザー様からのご報告も今までありませんでした。
    保存ダイアログを使用するとき、MZに限らず他のアプリケーションでも、ファイル表示領域の部分をクリックするとフォーカスはファイル名入力フィールドから失われてしまいますが、マウスクリックで再度フォーカスが戻り入力キャレットが表示されます。
    また、IMEとの兼ね合いで、入力小窓が別な場所に出てしまい目的の場所に入力できないこともありますが、小窓が表示されることで気づくかと思います。

    お手隙の際で結構なので、以下の点をご連絡いただけないでしょうか。大変お手数をお掛けして申し訳ございません。
    (1)特定のPCのみで発生するか、複数のPCで発生しているか
    (2)OS(例:Windows10pro)、MZplatformのバージョン(例3.6_64)
    (3)MZアプリ内でフォーカスに関する処理や属性の設定をしているかどうか
    (4)不具合発生後にマウスでクリックしたとき、そのフォームにフォーカスは戻っているか
     (フォームにフォーカスがある時と無い時で、タイトルバーの色は変わります)
    (5)長く(10分ほど)待てば入力できるようになったことはあるか

    大変ご不便をお掛けいたしますが、どうぞよろしくお願い申し上げます。

    MZPlatformユーザー会
    サイト管理者

    パネルのメソッド「setContainerLayout(int)」で配置方法を指定し、各コンポーネントのメソッド「setLocation(int,int)」で位置を指定することができます。これを[オブジェクトバッファ]で実行します。

    また、オブジェクトを生成し都度位置を指定しということもできますが、属性の指定やコンポーネントの数が多ければ、雛形の[パネル]または[ラベル]や[テキストフィールド]を用意し、それを複製して追加していくことも考えられると思います。[コンポーネント格納変数]で「コンポーネントの完全な複製を取得する」ことができます。複製したパネルを追加した場合は、終了時に削除しないとエラーが発生しますので、終了時処理を設定してください。

    前回と同様[オブジェクトバッファ」を使ったファイルと[コンポーネント格納変数]を使ったファイルを添付します。[コンポーネント格納変数]でも「起動メソッド名を設定する(String)」、「起動メソッドに引数を追加する(String,Object)」「起動メソッドを実行する()」が可能です。

    ご参考になれば幸いです。ご不明な点がございましたら、どうぞ再度ご連絡ください。

    MZPlatformユーザー会
    サイト管理者

    方法は複数あると思いますが、一つはスマート製造ツールキットのIoTエッジ編の機能を用いる方法が考えられます。

    本サイトの会員専用ダウンロードページから、
    「MZ Platform IoT Toolkit (スマート製造ツールキット/MZ-EX/IoT化用コンテンツ集)」
    のZIPファイルをダウンロードし、展開して内容を確認していただけますでしょうか。

    その中のedgeフォルダにIoTエッジ編の講習資料PDFとサンプルアプリが含まれています。
    この内容を試すには自前でArduino等をご準備いただく必要がありますが、サンプルアプリのIoTEdgeAppを起動してArduinoと接続すれば、デジタル入力を取り込むことは可能です。また、デジタル入力の状態変化を適切にルール設定すれば、その結果をデータベースに保存することも可能です。

    ご不明な点があれば再度お問い合わせください。

    MZPlatformユーザー会
    サイト管理者

    お問い合わせありがとうございます。
    確認させていただきたいのですが、[フレーム]や[ダイアログ]等のウインドウを複数使っていて、一方のウインドウを閉じた後で、他のウィンドウの[テキストフィールド]に関して不具合が発生しますか。
    それとも、一つのフレーム上で起こる現象でしょうか。

    また、入力不可になっている状態ではフォーカスは当たっていないかと推測しますが、マウスでクリックすればフォーカスが戻る状況でしょうか。それとも、入力不可になった後は解消することはできないでしょうか。

    お気づきの点をもう少し詳しくお聞かせいただければ幸いです。
    どうぞよろしくお願いいたします。

10 件の投稿を閲覧中 - 201 ~ 210 件(全 756 件)