つづき
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$ !注釈 IF nm$<>"" THEN !機器、番号の配置位置を記録する LET cTBL$(yy,xx)=cmd$ LET nTBL(yy,xx)=nm END IF END IF NEXT xx NEXT yy !MAT PRINT cTBL$ !MAT PRINT nTBL END SUB
SUB ladder !ラダーロジック LET L=AND(X(3),NT(T(1))) !1行目 CALL tim(0,10, L) LET L=T(0) !2行目 CALL tim(1,20, L) LET L=T(0) !3行目 CALL relay(2, L) LET L=AND(OR(X(0),Y(0)),NT(X(1))) !4、5行目 CALL relay(0, L) END SUB
10 DATA "sa",3,"SW" !フリッカ DATA "tb",1,"" DATA "t",0,10,"1秒タイマ" DATA "",0,"" DATA "",0,"" DATA "ta",0,"" DATA "─",0,"" DATA "t",1,20,"2秒タイマ" DATA "",0,"" DATA "",0,"" DATA "ta",0,"" DATA "─",0,"" DATA "o",2,"ランプ" DATA "",0,"" DATA "",0,"" DATA "sa",0,"運転釦" !自己保持回路(リセット優先) DATA "┬",0,"│" DATA "sb",1,"停止釦" DATA "─",0,"" DATA "o",0,"運転中" DATA "a",0,"運転中" !2行目 DATA "┘",0,"" DATA "",0,"" DATA "",0,"" DATA "",0,""
END
現状、結線情報(data文)と演算部分(サブルーチンladder)とを別々に定義する必要がある。
結線情報から生成するよう検討中、、、
|