装置制御のプログラミング
物を動かす技術…接点信号の入出力からシーケンス制御まで
楠田 達文 著
A5判 196ページ
定価1,870円(税込)
JAN9784789832854
1997年10月30日発行
大変恐縮ですが,こちらの商品は品切れ絶版となりました.
本書は,スイッチやセンサからの信号をマイコンに取り込み,モータやソレノイドなどを制御するためのプログラムの書き方について解説したものです.このような装置制御を行うソフトウェアには,入出力の処理や機械特有の動作の処理はもちろんのこと,機械やセンサの異常動作を検出する処理,複数のメカニズムを非同期あるいは同期的に動作させるための処理など,情報処理やパソコンのプログラミングとは異なった角度からの検討が重要です.
本書では,装置の動作と必要な処理を循環制御表という表形式にまとめ,C言語のプログラム例を示しながら具体的に解説します.制御対象の例としては単純なランプのON/OFFから,回転・往復運動,エンコーダ制御,マルチタスク制御などを制御モデルとして一般化し,平易に解説しました.
目次
序章 物を動かすソフトウェア
● 3種のソフトウェア
● 「人」と機械の違い
● 装置
● 必要十分条件
● 使用言語について
● 異常処理について
コラム1 実験機・試作機・量産機を混同しない
第1章 入力信号の処理
1-1 接点読み込み
● 1接点1ポートの読み込み
● マトリクス形式の接点読み込み
1-2 アナログ・データの読み込み
● 読み逃げ
● 移動平均
第2章 信号出力の処理
2-1 ランプを点灯させる
● ランプの点灯
● ランプを調光する
2-2 LEDを点灯させる
2-3 電流をON/OFFする
● リレーのON/OFF
● 頻繁なON/OFFを避ける
● 時間差
コラム2 ページをめくると記憶が薄れる
コラム3 こまめにコンパイル
コラム4 7セグメント・データ
第3章 DCモータを動かす処理
3-1 回転数のコントロール
● モータ・スピードに変化を与える
● モータ・スピードを制御する
● 偏差に応じた制御
3-2 往復動作の基本系
3-3 往復動作用センサの取り付け位置
3-4 エンコーダ制御システムの基本系
● 往復基本系との違い
● センサの意味づけの違い
● エンコーダ制御システムの動かしかた
3-5 逆転ブレーキ
コラム5 入力チェックの記述
コラム6 出力の記述
コラム7 変なノウハウ
第4章 ステッピング・モータを動かす処理
4-1 ステッピング・モータを使用する目的
4-2 ステッピング・モータを回す方法
● 出力ポートから直接位相を出力する
● パルス・モータ・ドライバを使う
● タイマ・インタラプトを使う
4-3 基本系
● 原点を見つける
● バックラッシュ対策
4-4 垂直基本系とバックラッシュ
4-5 絶対位置によるコントロール
4-6 スピードを変える
コラム8 調整・検査は必要悪
コラム9 ソフトウェアの強み
コラム10 高精度な原点決め
第5章 異常を検出する処理
5-1 DCモータ基本系の異常検出
● 基本系の異常事象
● 異常の検出
● エラー・タイマの組み込み
5-2 エンコーダ制御システムの異常検出
5-3 ステッピング・モータ基本系の異常検出
● 異常事象と異常検出
● 確実な動作が要求されるとき
コラム11 フール・プルーフ
第6章 非同期装置モデルを動かす処理
6-1 パチンコ・モデル
● プロセス・タイマ
● 玉のカウント
● 監督
6-2 往復動作モデル
● 玉選別モデル
● 玉選別モデルの循環制御表
● 初期動作(イニシャライズ)
● 異常の表示
6-3 XYステージ・モデル
コラム12 ±?%
コラム13 隠しコマンド
第7章 同期モデルを動かす処理
7-1 同期いろいろ
● 位置同期
● エンコーダ同期
● タイマ同期
7-2 位置同期
● タイマ同期制御は愚の骨頂
● 監督がすべての系をコントロールする
7-3 エンコーダ同期
● エンコーダ同期モデル
● エンコーダ同期モデルを動かす
● 許容値
● 異常処理を加える
● 複数の瓶を流す
● 最小間隔
● 複数瓶のプログラム
7-4 先端+後端制御モデル
7-5 順次処理モデル
● 動作解析
● 循環制御表の作成
● 監督の監督
コラム14 switch文の速さ
第8章 調整と自己診断の処理
8-1 キャリブレーション
● 濃度測定器モデル
● キャリブレーションの考え方
● ハードウェアとソフトウェアの優劣
8-2 ティーチング
8-3 自動ティーチング
8-4 自動追従
● 自走型搬送車モデル
● 車輪の滑り
コラム15 遅いMPUのためのスピードアップ法
第9章 効率的な開発手順
9-1 単純な入出力から始める
9-2 タイマ・インタラプトを入れる
9-3 ダイナミック入出力を完成させる
9-4 必要なインタラプトをすべて入れてみる
9-5 簡易モニタを作る
9-6 I/Oアクセスや変数/定数名をわかりやすく記述しておく
9-7 一つの系ごとにローカル・シーケンスを記述する
9-8 各系を関連づける「監督」を記述する
9-9 操作・表示を仕上げる
コラム16 「とりあえず」が恒久策
Appendix マルチタスク処理
索引