つづき
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$) 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 vTMR(nm)=VAL(s$) !タイマ値を記録する LET el$="─("&STR$(TMR(nm))&")─" !値 LET nm$="T"&nm$ READ s$ !注釈 LET cc=T(nm) CASE "C" !カウンタ LET vCNT(nm)=VAL(s$) !カウンタ値を記録する LET el$="─("&STR$(CNTR(nm))&")─" LET nm$="C"&nm$ READ s$ LET cc=C(nm) CASE "CR" !カウンタリセット LET el$="─(R)─" LET nm$="C"&nm$ LET cc=C(nm) CASE ELSE !結線なら LET el$=cmd$ LET nm$="" !番号は無視する LET cc=0 END SELECT IF cc=1 THEN !状態を表示する SET AREA COLOR 4 !※閉 PLOT AREA: xx-1,yy-1; xx,yy-1; xx,yy; xx-1,yy END IF PLOT TEXT ,AT xx-0.5,yy-0.5: el$ !機器記号 PLOT TEXT ,AT xx-0.5,yy-0.3: nm$ !番号 PLOT TEXT ,AT xx-0.5,yy-0.9: s$ !注釈 LET cTBL$(yy,xx)=cmd$ LET nTBL(yy,xx)=nm NEXT xx NEXT yy END SUB
|