シーケンサの文字列検索方法と使用例

このQ&Aのポイント
  • 三菱シーケンサ(QCPU(Qシリーズ))を使用した文字列検索方法について紹介します。
  • 文字列検索命令を使用することで、指定したデバイス以降に格納されている文字列を検索し、一致した場合には信号を送ることができます。
  • 初心者の方でも理解しやすいよう、使用方法や参考になるサイトも紹介します。
回答を見る
  • 締切済み

シーケンサの文字列検索

お世話になります。 三菱シーケンサについて質問させてください。 当方、三菱シーケンサ(QCPU(Qシリーズ))を使用しているのですが、文字列検索を行いたいと思っています。 ある文字列(例:aaaa)を、あるデバイス以降に格納されている箇所から見つけ出し、一致していたら信号を送るという風に使いたいのですが、文字列検索という命令はあるのでしょうか? もしありましたら、その使用方法、もしくは参考になるサイトなどご教授願います。 当方、シーケンサ初心者のため説明不足の部分もあると思います。 足りない情報は補足しますので、宜しくお願いします。

noname#230358
noname#230358

みんなの回答

noname#230359
noname#230359
回答No.2

既に出ていますが http://www.nagoya.melco.co.jp/index_j.htm QCPU(Qモード)/QnACPU プログラミングマニュアル sh080021g_1.pdf 7 - 224ページ  7.11.17 文字列サーチ(INSTR(P)) 上記以外にST言語 ストラクチャードテキスト編 sh080363d.pdf 5 - 86ページ 5.17.27 文字列サーチ INSTR_M 6 IEC関数 6 - 77ページ 6.10.9 文字列の指定位置からの検索 FIND FIND_E ラダーで文字列制御するのは非常に骨が折れる この際ST言語に挑戦して見ては如何? 中々ST言語を使えるアプリにめぐり合えませんが ちょうど良い機会と思う なかなかST言語が普及しませんが、その理由は 「シーケンサに高級言語はなじまない」と言う迷信を皆信じてる (私見ですが迷信と思う) 21世紀にもなって未だにアセンブラもどきにうつつをぬかしてるなんて FA業界は時代の先端を走っていた筈でしたがいつの間にか後ろを歩いてる もしST言語で良い結果が得られたなら FA屋のたまり場会議室にも結果報告していただけると助かります http://www.system-brain.com/fa.htm 書き忘れました QシリーズでST言語はラダーと平行に走らせる事が出来ます ラダーでもプログラムタスクを分けていくつも作れます ST言語も同様にそのうちのいくつかをST言語領域として割り付けます また、ファンクションブロックFBとしても使えます FBにすればラダーからはそれ自体が一つの特殊命令としての使い方になります (考え方はサブルーチンコールに近い) 文字列のように同じプログラムを繰り返す使い方にお勧め ラダーでFOR-NEXTループを作ると後でメンテする人はかなり苦労する 適材適所で ラダー  シリンダやモータ駆動 ST言語 文字列処理やデータ演算 と分けると使いやすい

noname#230358
質問者

お礼

lumiheart様 詳細な回答ありがとうございます。 当方、ST言語なるものも知らない者で、lumiheart様からの文献を参考に取り組んでみようと思います。 良い結果がでましたらご報告させてもらいます。 ありがとうございました。

noname#230359
noname#230359
回答No.1

文字列検索は使ったことがないですが、INSTR命令がありますね。 [INSTR 検索文字列 検索対象 結果 開始位置]とするようです。 私がよく使うのはSER命令です。データ検索命令ですが、 文字列が短ければ、SER命令でも可能だと思います。 簡単なヘルプはGX-Developerの命令ヘルプでもみることができます。 詳しくは、QCPU(Qモード)/QnACPUプログラミングマニュアル(共通命令編)を参照して下さい。 GX-Developerの命令ヘルプは、メニューバーのヘルプから・・・ 開けないんですね。不親切だと思います。 回路書込モードにして、回路入力する時に表示されるポップアップの右側に OK、取消、ヘルプの3つのボタンが表示されます。 ヘルプを押せば命令ヘルプが表示されます。

noname#230358
質問者

お礼

けんぼう様 ご回答ありがとうございます。 当方、まだヘルプの位置さえ分からない初心者なもので。 INSTR命令、早速使って検証したいと思います。 ありがとうございました。

関連するQ&A

  • ()を含む文字列を検索

    ”()”を含む文字列を完全一致で検索したいのですが、 ()が条件として認識されません。 なにか良い手法はありますでしょうか? ちなみに、IF文で文字列一致を判断しています。

  • 三菱シーケンサのランダム信号

    三菱のシーケンサを使用して(Qシリーズ)ランダムに 接点出力したいのですが命令はあるのでしょうか? 具体的にはランプをランダムに点灯させたいのです (規則的にではなく) モグラ叩きのようにランダムにです 命令が無いようでしたらどの様な方法をすればよいのでしょうか?

  • ラダー回路 文字列データのCSVへの書き込み

    データレジスタD0以降に格納されたアスキーデータ"00001"をCSVファイルに書き込みたいのですが、三菱Qシリーズシーケンサだと文字列のCSV出力ができません。 仕方なくアスキーからBIN形式にしてからCSV書込みをしてみようと試みたのですが、正しい値に変換できません。(添付図参照) データを "00001" としてCSVファイルに書き込むにはどうすればよいのでしょうか?

  • シーケンサ(QCPU)の歩進命令

    シーケンスはまったくの素人です。 最近、三菱のシーケンサQシリーズでシーケンスプログラム(ラダー)を開発しています。困っている点があります。 ?三菱のサポートが非常に悪い(他のシーケンスメーカに比べ) ?歩進命令がない ?はともかく、?についてご教示ください。 オムロンなどでは、 STEP命令があります。 どうもQシリーズにはないようなのですが、この情報はあっていますか?皆さんは、(Qシリーズで)歩進したいときどのようにラダーを組んでいますか? また、なぜこのような基本的な(重宝な)命令がQシリーズにはないのでしょうか?

  • 三菱 シーケンサー

    三菱シーケンサーを業務で使用してるのですが、初心者でいまいちこつが掴めません。初心者でも分かりやすいステッパ回路や命令語などのマニュアル等知っている方教えて下さい!

  • AdobeReader9で文字列検索が出来ません。

    AdobeReader9.2.0で下記の文書を開き、 『東』という文字を簡易検索したのですが、 「Readerによる文書の検索が終了しました。一致するものはありませんでした。」と表示されてしまいます。 ほかの文字列でも同じように検索できません。 何が原因なのでしょうか? https://www.release.tdnet.info/inbs/140120091026036159.pdf 使用OS:WindowsXP SP3

  • シーケンサーでのパソコンのシャットダウン

    三菱のシーケンサーとパソコンをつないでいます。 シーケンサーの電源を落とす事でパソコンも一緒に電源が落ちるようになっているのですが、これではパソコンは使用中に電源を抜いて強制終了しているのと同じになります。 パソコンを正しくシャットダウンさせるためにシーケンサーの信号で行う事はできるのでしょうか?

  • FX シーケンサ 機器直結 コマンド

    三菱FXシリーズシーケンサの本体についている、 ミニDIN8PIN丸はRS422規格のようですが どなたか、コマンドを御存知の方いらっしゃいませんか? タッチパネルなどは機器直結としてこの丸ピンに差して使用できますので シーケンサ内デバイスの読み書きが可能と思いますが......... 宜しくお願いします

  • 三菱のQシーケンサー

    三菱のQシーケンサーを使用しラダーを組んでいるのですが、 指数演算のやり方を教えて下さい。 例えば、10の5乗の場合どのような命令を使って計算しますか?

  • 任意の文字列を検索して文字を追加する。

    マクロについてご質問します。 宜しくお願い致します。 <質問> A列…すべてのデータが入っています。 B列…検索したいデータが入っています。 C列…検索結果のデータを出力します。 過去に教わったIF関数を使用した「=IF(ISNA(MATCHを組み合わせた式)」方法ですとA列の文字とB列の文字が一致しているものは そのままC列に表示で、B列に含まれないA列の文字はC列に"その他"として出力することができました。 今回は、A列の文字とB列の文字が一致している場合は C列に文字を加え、A列B列ともに一致していない場合は そのままの表示を行いたいのですがどなたかご助言していただけると助かります。 A列   B列  C列 ------------------------ 赤   白   赤   白   緑   白組 黄       黄 緑       緑組 青       青 IF関数で行うことは可能なのでしょうか? 宜しくお願い致します。