このQ&Aは役に立ちましたか?
シーケンサの文字列検索方法と使用例
2023/10/14 08:33
- 三菱シーケンサ(QCPU(Qシリーズ))を使用した文字列検索方法について紹介します。
- 文字列検索命令を使用することで、指定したデバイス以降に格納されている文字列を検索し、一致した場合には信号を送ることができます。
- 初心者の方でも理解しやすいよう、使用方法や参考になるサイトも紹介します。
シーケンサの文字列検索
2005/08/04 10:51
お世話になります。
三菱シーケンサについて質問させてください。
当方、三菱シーケンサ(QCPU(Qシリーズ))を使用しているのですが、文字列検索を行いたいと思っています。
ある文字列(例:aaaa)を、あるデバイス以降に格納されている箇所から見つけ出し、一致していたら信号を送るという風に使いたいのですが、文字列検索という命令はあるのでしょうか?
もしありましたら、その使用方法、もしくは参考になるサイトなどご教授願います。
当方、シーケンサ初心者のため説明不足の部分もあると思います。
足りない情報は補足しますので、宜しくお願いします。
回答 (2件中 1~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言語 文字列処理やデータ演算
と分けると使いやすい
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
文字列検索は使ったことがないですが、INSTR命令がありますね。
[INSTR 検索文字列 検索対象 結果 開始位置]とするようです。
私がよく使うのはSER命令です。データ検索命令ですが、
文字列が短ければ、SER命令でも可能だと思います。
簡単なヘルプはGX-Developerの命令ヘルプでもみることができます。
詳しくは、QCPU(Qモード)/QnACPUプログラミングマニュアル(共通命令編)を参照して下さい。
GX-Developerの命令ヘルプは、メニューバーのヘルプから・・・
開けないんですね。不親切だと思います。
回路書込モードにして、回路入力する時に表示されるポップアップの右側に
OK、取消、ヘルプの3つのボタンが表示されます。
ヘルプを押せば命令ヘルプが表示されます。
お礼
2005/08/04 12:20
けんぼう様
ご回答ありがとうございます。
当方、まだヘルプの位置さえ分からない初心者なもので。
INSTR命令、早速使って検証したいと思います。
ありがとうございました。
お礼
2005/08/05 09:15
lumiheart様
詳細な回答ありがとうございます。
当方、ST言語なるものも知らない者で、lumiheart様からの文献を参考に取り組んでみようと思います。
良い結果がでましたらご報告させてもらいます。
ありがとうございました。