XScript マニュアル · Chapter 20
title: "DIO — デジタル入出力" chapter: 20 images:
- xscript-dio-example.png
DIO — デジタル入出力
IO[name] でアクセス。IO Editor で登録した名前で個別ビットの入出力を行います。
캡처 대기
public/manual/gui/xscript-dio-example.png例
if (IO[START_BTN].ReadBit() == true) {
IO[LAMP_RUN].WriteBit(true);
}
// センサが ON になるまで最大 3 秒待つ
if (IO[LOAD_SENSOR].Wait(true, 3000) == false) {
ShowError("E_LOAD_TIMEOUT");
return false;
}メソッド
| メソッド | 用途 |
|---|---|
bool ReadBit(void) | 現在ビット読み取り |
bool WriteBit(bool SetOn) | ビット出力 |
bool ToggleBit(void) | 現在値を反転 |
bool Wait(bool waitOn, int TimeOut) | 指定状態になるまで待機(ms) |
bool WaitConti(bool waitOn, int TimeOut, int ContiTime) | 指定状態が ContiTime 継続するまで待機 |
bool CheckContiOn(int timeMsec) | ON 状態が timeMsec 以上継続しているか |
bool CheckContiOff(int timeMsec) | OFF 状態が timeMsec 以上継続しているか |
bool Contains(string keyword) | 名前にキーワードを含むか |
bool InitBoard(void) | ボード初期化 |
void SetDelayOn(int delay) / void SetDelayOff(int delay) | ON/OFF 遅延 |
void RunEventFunction(bool onoff) | 連動イベント関数の手動実行 |
void ClearLinkFunction(void) | 連動イベント関数の解除 |
主なプロパティ
| フィールド | 用途 |
|---|---|
Name・ID・Description | 識別 |
BoardType・Module・Index | 物理位置 |
GroupName | グループ |
Inverse | 信号反転 |
CheckFunctionName・EventFunctionName | 連動関数 |
Message | UI メッセージ |
SubModel | モデル区分 |
InitOk | 初期化完了フラグ |
ヒント
ReadBit()を密にポーリングせずWait(true, timeout)で CPU 使用量を抑える- チャタリングの恐れがある信号は
WaitContiまたはCheckContiOn/Offでフィルタリング Inverse = trueの信号はスクリプトに届いた時点で既に反転済み