コンクリートミキサー制御システムの実装
コンクリートミキシングステーションの制御システムは一般的に複雑で重厚な印象がありますが、Siemensの産業用制御機器を使用すると非常に興味深いものになります。最近、TIA Portal V16を使用してオンラインシミュレーション環境を構築し、S7-1200 PLCとTP700タッチスクリーンを連携させました。このプロセスはまるでブロックを組み立てるような感覚で、特にシミュレーション画面でミキサーが回転し始めると、重機を操作しているような興奮を覚えます。
PLCプログラムの核心ロジック
PLCプログラムの中心となるのはモーターのインターロック制御です。ここでは2つの相互ロックタイマーを使用して正逆転の切り替えを実装しています:
NETWORK 1 A "スタートボタン" AN "緊急停止状態" AN "モーターオーバーロード" = "モーター運転フラグ" NETWORK 2 A "モーター運転フラグ" L S5T#3S SD "タイマA" NETWORK 3 A "タイマA" = "正転コイル" NETWORK 4 A "正転コイル" L S5T#4S SD "タイマB" NETWORK 5 A "タイマB" = "逆転コイル"
このコードの巧妙な点は、タイマーをリレー方式で使用することで自動的に方向転換を実現していることです。"タイマA"が3秒で正転を開始し、"タイマB"が4秒後に逆転をトリガーするため、実際のミキシング作業での往復運動と完全に一致します。デバッグ時に重要な発見として、タイマー番号の重複使用を避ける必要があることがわかりました。以前、"タイマA"を2箇所で使用したところ、ミキシング容器が完全に停止し、シミュレーション画面の装置が携帯電話のように振動しました。
タッチスクリーン実装
TP700タッチスクリーン側では、主に材料レベルを表示する動的プログレスバーを実装しました。WinCCで変数をバインドする際には、データ形式の変換に注意が必要です:
レルパーセント := INT_TO_REAL(アナログ入力値) / 32767.0 * 100.0;
IF レルパーセント > 100.0 THEN
レルパーセント := 100.0;
END_IF;
この変換式はシンプルに見えますが、初心者はしばしば測定範囲の一致に問題を起こします。例えば、センサーの測定範囲が0-10トンで4-20mAに対応する場合、ハードウェア設定での線形較正が必要です。ある上限設定を忘れた際、シミュレーション中にレベル表示が125%になり、プログレスバーが画面からはみ出してしまい、非常に滑稽な状況になりました。
IOテーブルの設定
IOテーブルの設定は多くの人がつまずくポイントです。例えば、緊急停止ボタンはハードウェア割り込み付きのDIポイントに接続する必要があり、これはデバイスビューで明示的に表示されないため見逃されがちです。以前、緊急停止信号を通常のDIポイントに接続したところ、シミュレーション中に緊急停止ボタンを押しても反応せず、装置はそのまま運転を続けました。このショックでコーヒーをキーボードにこぼす寸前でした。
オンラインシミュレーションの機能
オンラインシミュレーションのもっとも楽しい機能はオンライン修正です。あるミキシング時間のパラメータが間違っていることに気づき、シミュレーション実行中に直接T#30SをT#22Sに変更したところ、画面のミキサー即座に速度を上げ、まるで倍速再生しているかのようでした。ただし、OBブロックを変更する際はシミュレーションを一時停止する必要があり、そうしないと一連の赤色アラームが表示され、まるで航空機の故障ランプが点灯したかのような状況になります。
故障シナリオのシミュレーション
動画効果に関しては、最もエキサイティングなのは故障シナリオの模擬です。意図的にオーバーロード信号をトリガーすると、タッチスクリーンに即座に音光付きのアラームウィンドウが表示され、PLCプログラム内の対応するモーター出力が断ち切られ、シミュレーション画面の装置が急停止します。この即時フィードバックの達成感は、単にコードの実行を観察する以上に爽快です。