| シリアルはWINで行こう2 |
| 【画面の説明】 |



| 【LOGファイル】 |
| 【表示】 |

| 【Com設定】 |



| 【OPEN処理】 |
| 【送信】 |


| 【環境設定】 |
| 【マクロ命令】 |
| MACRO文について MACROは4文字のコマンド文字とパラメーター文字により送信・受信などの シリアル操作を自動でできるものです。 又、記憶できる文字列のメモリがあります。 文字列メモリはMDATAと呼び、00〜99番地まであり、一つの番地で256文字記憶できます。 MACRO文はCR(改行)でひとつのコマンドになっています。 コマンド文字とパラメーター文字間にはスペースを入れて下さい。 パラメーター間もスペースを入れて下さい。 【コマント一覧表】 <送信コマンド> SEND 文字を指定してCH1で送信す 概要:パラメーターに設定された文字を送信します。 コマンド:SNED パラメーター:送信文字(先頭から6番めに記入) 送信文字は0〜FのHEX数値2文字で一組のASCに変換して送信します。 文字をそのまま送るときは“ ”又は‘ ’を前後に付ければHEXでなく ASCそのままで送信します。 例 SEND 02"123455667"030D パラメーター2に設定された文字「SX “123455667”EX CR」を送信します。 MSED M_DATAの内容をCH1で送信する 概要:パラメーターに設定されたMDATAの番号の文字を送信します。 コマンド:MSED パラメーター1: MDATAの番号(先頭から6番めに2文字記入 例 MOVE 00 02"ABC"030D MSED 00 MDATAの番地00にパラメーター文字「SX”ABC”EX CR」をセットし, MDATAの00番地の文字列を送信します。 SED2 文字を指定してCH2で送信す 概要:パラメーターに設定された文字を送信します。 コマンド:SND2 パラメーター:送信文字(先頭から6番めに記入) 送信文字は0〜FのHEX数値2文字で一組のASCに変換して送信します。 文字をそのまま送るときは“ ”又は‘ ’を前後に付ければHEXでなく ASCそのままで送信します。 例 SED2 02"123455667"030D パラメーター2に設定された文字「SX “123455667”EX CR」を送信します。 MSD2 M_DATAの内容をCH2で送信する 概要:パラメーターに設定されたMDATAの番号の文字を送信します。 コマンド:MSED パラメーター1: MDATAの番号(先頭から6番めに2文字記入 例 MOVE 00 02"ABC"030D MSD2 00 MDATAの番地00にパラメーター文字「SX”ABC”EX CR」をセットし, MDATAの00番地の文字列を送信します。 <受信コマンド> READ 文字をCH1で受信してM_DATAへ格納する 概要:このコマンドが実行されたから、受信するまで待ちつづけ、 受信された文字は、パラメーターに設定されたMDATAの番号に格納されます。 (このコマンドを実行された後の文字を受信します) コマンド:READ パラメーター1: MDATAの番号(先頭から6番めに2文字記入) パラメーター2: 受信数(先頭から9番めに3文字記入) 受信数が設定されている数までこのコマンドは実行します。 受信文字を000にすると受信時間が優先になり受信時間まで の文字を受信します。 パラメーター3: 受信時間(先頭から13番めに3文字記入) 受信時間が設定されている時間までこのコマンドは実行します。 受信文字を000にすると受信時間が無効になり受信時間まで の文字を受信します。 単位は0.1Sです。 *パラメーター2とパラメーター3両方0のときは一回受信するまで実行します。 例 READ 00 010 100 MSED 00 受信数10文字又は、10.0秒まで受信待ちし、その文字列は、 MADATAの00番地に記憶され、その文字をそのまま送信します。 ZRED 文字をCH1で受信してM_DATAへ格納する(以前も取得) 概要:受信するまで待ちつづけ、受信された文字は、パラメーターに設定されたMDATAの番号に 格納されます。(但し受信文字は送信後から記憶された文字です。 タイミングによってはREADコマンドが読めない時使います。) コマンド:READ パラメーター1: MDATAの番号(先頭から6番めに2文字記入) パラメーター2: 受信数(先頭から9番めに3文字記入) 受信数が設定されている数までこのコマンドは実行します。 受信文字を000にすると受信時間が優先になり受信時間まで の文字を受信します。 パラメーター3: 受信時間(先頭から13番めに3文字記入) 受信時間が設定されている時間までこのコマンドは実行します。 受信文字を000にすると受信時間が無効になり受信時間まで の文字を受信します。 単位は0.1Sです。 *パラメーター2とパラメーター3両方0のときは一回受信するまで実行します。 例 ZEAD 00 010 100 MSED 00 受信数10文字又は、10.0秒まで受信待ちし、その文字列は、MADATAの00番地に 記憶され、その文字をそのまま送信します。 RED2 文字をCH2で受信してM_DATAへ格納する 概要:このコマンドが実行されたから、受信するまで待ちつづけ、 受信された文字は、パラメーターに設定されたMDATAの番号に格納されます。 (このコマンドを実行された後の文字を受信します) コマンド:RED2 パラメーター1: MDATAの番号(先頭から6番めに2文字記入) パラメーター2: 受信数(先頭から9番めに3文字記入) 受信数が設定されている数までこのコマンドは実行します。 受信文字を000にすると受信時間が優先になり受信時間まで の文字を受信します。 パラメーター3: 受信時間(先頭から13番めに3文字記入) 受信時間が設定されている時間までこのコマンドは実行します。 受信文字を000にすると受信時間が無効になり受信時間まで の文字を受信します。 単位は0.1Sです。 *パラメーター2とパラメーター3両方0のときは一回受信するまで実行します。 例 READ 00 010 100 MSD2 00 受信数10文字又は、10.0秒まで受信待ちし、その文字列は、 MADATAの00番地に記憶され、その文字をそのまま送信します。 ZRD2 文字をCH2で受信してM_DATAへ格納する(以前も取得) 概要:受信するまで待ちつづけ、受信された文字は、パラメーターに設定されたMDATAの番号に 格納されます。(但し受信文字は送信後から記憶された文字です。 タイミングによってはREADコマンドが読めない時使います。) コマンド:RED2 パラメーター1: MDATAの番号(先頭から6番めに2文字記入) パラメーター2: 受信数(先頭から9番めに3文字記入) 受信数が設定されている数までこのコマンドは実行します。 受信文字を000にすると受信時間が優先になり受信時間まで の文字を受信します。 パラメーター3: 受信時間(先頭から13番めに3文字記入) 受信時間が設定されている時間までこのコマンドは実行します。 受信文字を000にすると受信時間が無効になり受信時間まで の文字を受信します。 単位は0.1Sです。 *パラメーター2とパラメーター3両方0のときは一回受信するまで実行します。 例 ZED2 00 010 100 MSED 00 受信数10文字又は、10.0秒まで受信待ちし、その文字列は、MADATAの00番地に 記憶され、その文字をそのまま送信します。 <タイマーコマンド> TIME 設定した時間待つ 概要:設定された時間まで待ちつづけます。 コマンド:TIME パラメーター: 待ち時間(先頭から6番めに3文字記入) 単位は0.1Sです。 例 SEND "123"0D TIME 100 SEND "ABC"0D “123”を送信して10.0秒後にもう一度“ABC”を送信します。 <比較コマンド> CMPM M_DATAとM_DATAを比較して条件ジャンプ 概要:MDATAとMDATAの内容を比較し一致すれば指定したラベルまで飛びます。 パラメーター1: MDATAの番号(先頭から6番めに2文字記入) パラメーター2: MDATAの番号(先頭から9番めに2文字記入) パラメーター3: シャンプ先ラベル(先頭から12番めに3文字記入) 例 READ 00 010 100 MOVE 01 "123"0D CMPM 00 01 ABC SEND "NG" GOTO EEE :ABC SEND "OK" :EEE PEND 受信した文字をMDATAの番地00に入れ、文字“123”+CRを MDATAの番地01にいれ、MDATA00とMDATA01を 比較し一致すればラベルABCへ飛びん“OK”と送信し、一致しないときは 次行へ行き“NG”と送信します。 CMPL M_DATAと指定文字を比較して条件ジャンプ 概要:MDATAとパラメーターの文字内容を比較し一致すれば指定したラベルまで飛びます。 パラメーター1: MDATAの番号(先頭から6番めに2文字記入) パラメーター2: ジャンプ先ラベル(先頭から9番めに3文字記入) パラメーター3: 比較文字(先頭から13番めに記入) 送信文字は0〜FのHEX数値2文字で一組のASCに変換し、文字をその物は“ ”又は ‘ ’を前後に付ければよいです。 例 READ 00 010 100 CMPL 00 ABC "123" SEND "NG" GOTO EEE :ABC SEND "OK" :EEE PEND 受信した文字をMDATAの番地00に入れ、MDATA00と文字“123”+CRを 比較し一致すればラベルABCへ飛びん“OK”と送信し、一致しないときは 次行へ行き“NG”と送信します。 <チェックサム コマンド> CHKA M_DATAの内容をXORのチャックサムしてASCでM_DATAへ格納する 概要:MDATAの文字をXORでチェックサムし、 その結果MDATAにASC文字として格納します。 パラメーター1: MDATAの番号(先頭から6番めに2文字記入) パラメーター2: MDATAの番号(先頭から9番めに2文字記入) 例 MOVE 00 "123" CHKA 00 01 MDATAの番地00にパラメーター文字「”123”」をセットし、 MDATAの番地00をチェックサムします。 その結果をASC文字(2文字)をMDATAの番地01に格納します。 結果としてMDATAの01番地は「“30”」になっています。 XORとは スタート文字・ストップ文字を含まない送信文字をXORします。 例)“123456”の場合 31 XOR 32 XOR 33 XOR 34 XOR 35 XOR 36 = 07(HEX) CHKH M_DATAの内容をXORのチャックサムしてHEXでM_DATAへ格納する 概要:MDATAの文字をXORでチェックサムし、 その結果MDATAにHEX文字として格納します。 パラメーター1: MDATAの番号(先頭から6番めに2文字記入) パラメーター2: MDATAの番号(先頭から9番めに2文字記入) 例 MOVE 00 "123" CHKA 00 01 MDATAの番地00にパラメーター文字「”123”」をセットし、 MDATAの番地00をチェックサムします。 その結果をHEXC文字(1文字)をMDATAの番地01に格納します。 結果としてMDATAの01番地は「“0”」になっています。 XORとは スタート文字・ストップ文字を含まない送信文字をXORします。 例)“123456”の場合 31 XOR 32 XOR 33 XOR 34 XOR 35 XOR 36 = 07(HEX) <制御コマンド> GOTO ジャンプ命令 概要:パラメーターにかかれたラベルまで飛びます。 コマンド:GOTO パラメーター: ジャンプ先ラベル(先頭から6番めに3文字記入) ラベルはASC文字です。 例 GOTO ABC TIME 100 :ABC PEND TIMEコマンドを実行せず、ラベルABC(:ABC)まで 飛んで終了します。 PEND マクロ終了命令 概要:この自動送受信マクロを終了させます。 コマンド:PEND 例 PEND この自動送受信モードを終了させ「MACROが終了しました。」と メッセージBOXが出ます。 <文字列制御コマンド> MOVE 指定した文字列をM_DATAへ格納する 概要:MDATAに文字をセットします。 パラメーター1: MDATAの番号(先頭から6番めに2文字記入) パラメーター2: 文字(先頭から9番めに記入) 例 MOVE 00 02"ABC"030D MSED 00 MDATAの番地00にパラメーター文字「SX”ABC”EX CR」をセットし, MDATAの00番地の文字列を送信します。 MADD M_DATAの文字とM_DATA文字を加算する 概要:MDATAとMDATAの文字を加算します。 パラメーター1: MDATAの番号(先頭から6番めに2文字記入)加算先 パラメーター2: MDATAの番号(先頭から9番めに2文字記入)加算元 例 MOVE 00 "ABC" MOVE 01 "123" MADD 00 01 MDATAの番地00にパラメーター文字「”ABC”」をセットし、 MDATAの番地01にパラメーター文字「”123”」をセットし、 MDATAの番地00の最終文字からMDATAの番地01の文字を加算します。 結果としてMDATAの00番地は「“ABC123”」になっています。 MMID M_DATAの文字の中から指定した文字を取りだしてM_DATAへ格納 概要:MDATAの中から先頭から何文字目から何文字分をMDATAへ格納します。 パラメーター1: MDATAの番号(先頭から6番めに2文字記入)元のDATA パラメーター2: 先頭文字を指定する2桁の数値(先頭から9番めに2文字記入) パラメーター3: 取得する文字数を指定する2桁の数値(先頭から12番めに2文字記入) パラメーター4: MDATAの番号(先頭から9番めに2文字記入)格納先 例 MOVE 00 "1234567890" MMID 00 03 04 01 MDATAの番地00にパラメーター文字「”1234567890”」をセットし、 MDATAの番地00の文字の先頭から3番目から4文字分をMDATAの番地01へ コピーします。 結果としてMDATAの01番地は「“4567”」になっています。 MINC M_DATAの文字を10進法でインクリメントする 概要:MDATAの数文字を10進法でインクリメントします。 パラメーター1: MDATAの番号(先頭から6番めに2文字記入) 例 MOVE 00 "000" MINC 00 MDATAの番地00にパラメーター文字「”000”」をセットし、 MDATAの番地00をインクリメントします。 結果としてMDATAの00番地は「“001”」になっています。 HINC M_DATAの文字を16進法でインクリメントする 概要:MDATAの数文字を16進法でインクリメントします。 パラメーター1: MDATAの番号(先頭から6番めに2文字記入) 例 MOVE 00 "000" MINC 00 MDATAの番地00にパラメーター文字「”000”」をセットし、 MDATAの番地00をインクリメントします。 結果としてMDATAの00番地は「“001”」になっています。 MCLR M_DATAをクリアする 概要:M DATAを内容をクリアします。 (M DATAとは文字列を記憶するメモリの事) パラメーター1: メモリ番号00〜99(先頭から6番め2文字記入) 例 MCLR 05 この行を実行されたとき M DATAの05の内容をクリアします。 備考 M DATAの詳細について M DATAのメンバーは下記の内容があります。 1・256文字の入る文字列 2・その文字の文字数が入る数値 *制御文字を使用するため、文字数を指定します。 <ラベル> ラベル ジャンプの飛び先 概要:GOTOやCMPM・CMPLのジャンプ先に使うラベルに使用します。 書式:「:」を先頭に書きその後ろ3文字がラベルになります。 例 :ABC <記憶メモリ> M DATA 文字列を格納するエリア 文字列を記憶するメモリでM DATAと呼びます。 概要: 文字を記憶するためのメモリで、00〜99の100個あります。 ひとつのメモリで256文字分の文字が記憶できます。 使用するコマンド MSED・READ・ZRED・CMPM・CMPL・MOVE・MINC・HINC・CHKA・CHKH |
| 【ラインモニター】 |