▼Gainerメモ▼
デジタル入力


I/Oモジュールのデジタル入力を表示するプログラムを作成する。



ブレッドボード


ソースコード

DInEx.as
package {
    import flash.display.*;
    import flash.events.*;
    import flash.text.*;
    import flash.utils.Timer;
    import gainer.Gainer;

    //デジタル入力
    public class DInEx extends Sprite {
        private var gio:Gainer;
        private var label:Array;

        //コンストラクタ
        public function DInEx() {
            //Gainerの生成
            gio=new Gainer("localhost",2000,Gainer.MODE1,true);
            gio.onReady=onReady;
        }

        //初期化
        private function onReady():void {
            var i:int;
            var tf:TextField;

            //ラベルの生成
            label=new Array();
            for (i=0;i<4;i++) {
                tf=new TextField();
                tf.autoSize=TextFieldAutoSize.LEFT;
                tf.background=true;
                tf.backgroundColor=0xDDDDDD;
                tf.x=10;
                tf.y=10+30*i;                
                addChild(tf);
                label.push(tf);
            }

            //タイマーの開始
            var timer:Timer=new Timer(100,0);
            timer.addEventListener(TimerEvent.TIMER,onTick);
            timer.start();
        }

        //タイマーイベントの処理
        private function onTick(evt:TimerEvent):void {
            var i:int=0;
            
            //値更新
            gio.peekDigitalInput();
            for (i=0;i<4;i++) {
                if (gio.digitalInput[i]) {
                    label[i].text="din "+i+" on";
                } else {
                    label[i].text="din "+i+" off";                    
                }
            }
        }
    }
}



−戻る−