三菱シーケンサ計算機リンク通信ソフト です。
今まではエクセルにこだわっていたのですがエクセルは高くて一般的では無い?のでフリーのソフトで出来ないかと思い作成しました。
フリーソフトのHSP3で作りました。HSP3はスクリプト言語の中では最強ではないかと思います。
製作したソフトの操作の感じはエクセルの物を踏襲しています。
読出しアドレス、書込みアドレス、データを設定して書込み、読出しボタンで操作します。
下側の表示は受信データの履歴です。下から上にスクロールして行きます。
これからはスクリプトの時代ではないかと思います。

ここからHSP3のソフトです。

//
// 三菱シーケンサ計算機リンク通信ソフトv1.00  Fx_Term.hsp 2009/9/5
// 三菱シーケンサFX1S-24MTに機能拡張ボードFX1N-232-BDを取付けシリアルポートから
// HSP3で読出し書込み操作 OK
//
//-------------------------------------------------------------------------
// シリアルポートオープン設定 COM1 baud=9600 parity=N data=8 stop=1
// シーケンサ設定 通信初期化プログラム ld M8002 mov HC081 D8120
// または GXデペロッパーの設定
// パラメータ -> PCパラメータ -> PCシステム設定(2)
// プロトコル  専用プロコトル通信 H/Wタイプ  通常/RS-232C
// データ長  8bit 制御モード  無効
// パリティ  なし 伝送制御手順 形式4
// ストップビット 1bit サムチェック  [ ]
// 伝送速度  9600 局番設定  00
// タイムアウト判定時間 1
//-------------------------------------------------------------------------

#include "hspext.as"

sdim buf,128
onexit *combye

STX = strf("%c", $02) //コントロールコード
ENQ = strf("%c", $05)
CR = strf("%c", $0D)
LF = strf("%c", $0A)

sdstr = "" //文字列初期化
sdstr1 = "X0000"
sdstr2 = "08"
sdstr3 = "--------"
sdstr4 = "Y0000"
sdstr5 = "08"
sdstr6 = "11000011"
sdstr7 = ""
sdstr8 = ""

title "三菱FXシーケンサ計算機リンク通信ソフト v1.00"
gx = ginfo_cx : gy = ginfo_cy + 2
pos gx,gy: mes " 読出しアドレス" //画面設定
pos gx+125,gy: input sdstr1,50
pos gx+175,gy: mes " 読出し数"
pos gx+255,gy: input sdstr2,40
pos gx+295,gy: mes " データ"
pos gx+370,gy: input sdstr3,60
pos gx+434,gy: button "読込",*yomidasi
gy += 25
pos gx,gy: mes " 書込みアドレス"
pos gx+125,gy: input sdstr4,50
pos gx+175,gy: mes " 書込み数"
pos gx+255,gy: input sdstr5,40
pos gx+295,gy: mes " データ"
pos gx+370,gy: input sdstr6,60
pos gx+434,gy: button "書込",*kakikomi
gy += 25
pos gx,gy: mes " 送信データ"
pos gx+90,gy: input sdstr7,160
pos gx+250,gy: mes " 受信データ"
pos gx+340,gy: input sdstr8,90
mes "先頭の00FFは局番PC番号"

pos gx+575,0: button "END",*combye

comopen 1,"baud=9600 parity=N data=8 stop=1" //シリアルポートオープン
if stat : dialog "シリアルポートは使えません" : end

a=0
*commain
wait 10
comgetc a //受信待ち
if stat=0 : goto *commain
b=0
sdstr=" "

objprm 9,buf
objprm 2,strmid(buf,4,8) // val = strmid(p1,p2,p3)

*chk1
if a=13 : goto *chk2 //終了コード'CR'受信待ち
if a>=32 : poke buf,b,a:b+ //コントロールコード以外は取込み
comgetc a //1文字受信
if stat>0 : goto *chk1 //終了チェック
*chk2
poke buf,b,0 //履歴スクロール表示
pos 0,440:mes buf
pos 0,100:gcopy 0,0,110,640,380

goto *commain

*yomidasi
sdstr = ""+ENQ+"00FFBRA"+sdstr1+sdstr2+CR+LF //読込コマンド
objprm 8,sdstr
comput sdstr //送信
goto *commain

*kakikomi
sdstr = ""+ENQ+"00FFBWA"+sdstr4+sdstr5+sdstr6+CR+LF //書込みコマンド
comput sdstr
objprm 8,sdstr
goto *commain

*combye
comclose
end

ソフトはここまでです。
入力Xと出力X内部リレーMの状態表示ランプと操作ボタンを追加ソフトを作成中

シーケンサの設定などは下記を参照して下さい。
エクセルで三菱シーケンサモニター操作 2005/6/19

 まごのてメカトロソフトに戻る