新しく発言する  EXIT  インデックスへ

ラダーロジック-リレーによる論理回路


  ラダーロジック - リレーによる論理回路 山中和義 2008/04/23 17:12:03 
  つづき 山中和義 2008/04/23 17:15:13 
Re: ラダーロジック - リレーによる論理回路  返事を書く  ノートメニュー
山中和義 <drdlxujciw> 2008/04/23 17:15:13
つづき

LET h=5 !行数
LET w=5 !列数
SET WINDOW 0,w,0,h !表示領域 ※正方形

SET TEXT JUSTIFY "center","bottom"

DIM cTBL$(h,w),nTBL(h,w) !機器の配置位置

DO
mouse poll mx,my,left,right !マウスの情報を得る

IF left=1 THEN !左ボタンが押されたら
LET xx=INT(mx)+1
LET yy=INT(my)+1

LET tt$=UCASE$(cTBL$(yy,xx))
IF tt$="SA" OR tt$="SB" THEN !スイッチなら
LET v=nTBL(yy,xx) !番号
LET X(v)=NT(X(v)) !反転させる
END IF

WAIT DELAY 0.3 !※要調整
END IF

IF TIME-oldtime>0.1 THEN !ほぼ実時間
CALL ladder
LET oldtime=TIME
END IF

SET DRAW mode hidden !ちらつき防止の開始
CLEAR
DRAW grid !目盛
CALL ladder_display !ラダー図
SET DRAW mode explicit !ちらつき防止の終了

LOOP UNTIL right=1 !右ボタンが押されるまで


SUB ladder_display !ラダー図を表示する
RESTORE 10

FOR yy=h TO 1 STEP -1 !※左上から
FOR xx=1 TO w !格子を走査する
READ cmd$,nm$,s$ !機器、番号、注釈を得る
LET nm=VAL(nm$)

IF cmd$<>"" THEN !機器なら
SELECT CASE UCASE$(cmd$) !記号へ
CASE "SA" !スイッチのa接点
LET el$="─[ ]─" !機器記号
LET cc=X(nm) !状態
CASE "SB" !スイッチのb接点
LET el$="─[/]─"
LET cc=NT(X(nm))

CASE "A" !リレーのa接点
LET el$="─| |─"
LET cc=Y(nm)
CASE "B" !リレーのb接点
LET el$="─|/|─"
LET cc=NT(Y(nm))

CASE "TA" !タイマのa接点
LET el$="─| |─"
LET nm$="T"&nm$
LET cc=T(nm)
CASE "TB" !タイマのb接点
LET el$="─|/|─"
LET nm$="T"&nm$
LET cc=NT(T(nm))

CASE "CA" !カウンタのa接点
LET el$="─| |─"
LET nm$="C"&nm$
LET cc=C(nm)
CASE "CB" !カウンタのb接点
LET el$="─|/|─"
LET nm$="C"&nm$
LET cc=NT(C(nm))

CASE "O" !リレーのコイル
LET el$="─( )─"
LET cc=Y(nm)
CASE "T" !タイマ
LET el$="─("&s$&")─" !値
LET nm$="T"&nm$
READ s$
LET cc=T(nm)
CASE "C" !カウンタ
LET el$="─("&s$&")─" !値
LET nm$="C"&nm$
READ s$
LET cc=NT(T(nm))

  │└つづき 山中和義 2008/04/23 17:16:33 
  │ └テストrunの結果 島村1243 2008/04/23 21:23:26 
  │  └試用、ありがとうございます。 山中和義 2008/04/23 22:30:51 
  ラダー図からのシミュレーション 山中和義 2008/04/25 16:14:17  (修正1回)
   └つづき 山中和義 2008/04/25 16:14:55  (修正2回)
    └つづき 山中和義 2008/04/25 16:16:32  (修正3回)
     └つづき 山中和義 2008/04/25 16:17:11 
      └つづき(DATA文) 山中和義 2008/04/25 16:18:46  (修正1回)

 インデックスへ  EXIT
新規発言を反映させるにはブラウザの更新ボタンを押してください。