
以前の
投稿で、FLProgプロジェクトの登場の背景について話しました。 さて、今日のプロジェクトとその状況についてお話ししたいと思います。
このプロジェクトの主な目標は、Arduinoボードユーザーとのプログラミングに不慣れな人々を含めることです。 これは、産業用コントローラのメーカーによって長年にわたって蓄積されてきた産業用プログラミングの経験のおかげで可能になりました。
プロジェクトは2つの部分で構成されています。 最初の部分は、FLProgデスクトップアプリケーションです。これは、Arduinoボード用のグラフィカルプログラミング環境です。 第二に、これは
FLProg.ruサイトで、プログラムのユーザーコミュニティのメンバーが互いに通信し、最新のプロジェクトニュースを見つけ、プログラムの最新バージョンをダウンロードし、アプリケーションの操作に関する必要な情報を見つけることができます。
順番に始めましょう。
FLProgプログラムを使用すると、産業用コントローラのプログラミング分野の標準であるグラフィック言語FBDおよびLADを使用して、Arduinoボードのファームウェアを作成できます。
FBD言語の説明FBD(Function Block Diagram)は、IEC 61131-3標準のグラフィカルプログラミング言語です。 プログラムは、上から下に順番に実行される回路のリストから形成されます。 プログラミング時には、ライブラリブロックのセットが使用されます。 ブロック(要素)は、サブプログラム、機能、または機能ブロック(AND、OR、NOT、トリガー、タイマー、カウンター、アナログ信号処理ブロック、数学演算など)です。 個々のチェーンは、個々の要素をグラフィカルに構成した表現です。 次のブロックはユニットの出力に接続され、回路を形成します。 チェーン内では、ブロックは接続の順序で厳密に実行されます。 回路計算の結果は、内部変数に書き込まれるか、コントローラー出力に送られます。
LAD言語の説明ラダー図(LD、LAD、RKS)-リレー(ラダー)ロジックの言語。 この言語の構文は、リレー技術に基づいて論理回路を置き換えるのに便利です。 この言語は、工業企業で働く自動化エンジニアを対象としています。 コントローラのロジックの直観的なインターフェイスを提供し、実際のプログラミングおよび試運転タスクだけでなく、コントローラに接続された機器の迅速なトラブルシューティングも容易にします。 リレーロジックの言語のプログラムには、電気技術者にとって視覚的で直感的なグラフィカルインターフェイスがあり、閉じた接点と開いた接点を持つ電気回路のような論理操作を表します。 この回路の電流の流れまたは欠如は、論理演算の結果に対応します(true-電流が流れる場合、false-電流が流れない場合)。 言語の主な要素は連絡先であり、これは一対のリレー連絡先またはボタンに比can的にたとえることができます。 連絡先のペアは論理変数で識別され、このペアの状態は変数の値で識別されます。 電気回路の通常閉および通常開ボタンと比較できる通常閉および通常開接点要素があります。
これらの言語の古典的な機能を少し拡張し、外部デバイスを操作する機能ブロックを追加しました。 これらは、それらと連携するように設計されたライブラリのラッパーです。
FLProgのプロジェクトは、一般的な回路の完全なモジュールがそれぞれ組み立てられたボードのコレクションです。 便宜上、各ボードには名前とコメントがあります。 また、各ボードを最小化して(作業の終了時に作業領域のスペースを節約するため)、展開することができます。 ボード名の赤いインジケータは、回路基板にエラーがあることを示します。
FBD言語モードのプログラムウィンドウのタイプ

LAD言語モードでのプログラムウィンドウの表示

各ボードの回路は、コントローラーのロジックに従って機能ブロックから組み立てられます。 ほとんどの機能ブロックには設定機能があり、この特定の場合の要件に応じて機能を設定できます。

また、各機能ブロックには詳細な説明があり、いつでも利用でき、その作業と設定を理解するのに役立ちます。

プログラムを使用する場合、ユーザーはコードを記述したり、入力と出力の使用を制御したり、名前の一意性とデータ型の一貫性を検証したりする必要はありません。 プログラムはこれをすべて監視します。 また、プロジェクト全体の正確性をチェックし、エラーの存在を示します。
外部デバイスを操作するには、いくつかの補助ツールを作成しました。 これは、リアルタイムクロックを初期化および設定するためのツール、OneWireおよびI2Cバス上のデバイスのアドレスを読み取るためのツール、およびIRリモートコントロールでボタンコードを読み取りおよび保存するためのツールです。 すべての定義済みデータをファイルとして保存し、その後プログラムで使用できます。
FBD言語に現在存在する機能ブロックのリスト基本的な要素
[XOR]
[および]
[または]
[バウンス]
特殊ブロック
[スケール]
トリガー
[SR]
[TT]
[RS]
[Rtrig]
タイマー
[発電機]
[タイマー]
カウンター
[カウンター]
[スピードカウンター]
数学
[合計(+)]
[MUL(*)]
[DIV(/)]
[SUB(-)]
代数
[罪]
[COS]
[タン]
[ABS]
[SQ]
[SQRT]
[MIN]
[MAX]
[POW]
[ランダム]
比較
[コンパレータ]
コム-ポート
送る
送信変数
ReceiveVariable
スイッチ
[スイッチ]
[MUX]
[DMS]
モーター
サーボモーター
ステップモーター
リアルタイムクロック
[アラーム]
[GetTime]
[SetTime]
ディスプレイ
チップND44780に表示
チップにバックライトを表示D44780I2C
7セグメントインジケーターのデコード単位
行
行追加
センサー
[超音波HC-SR04]
[DHT11、DHT21、DHT22]
[DS18x2x]
[IR Ressive]
[BMP-085]
SDカード
SDカードへの変数の書き込み
SDカードからファイルをアップロード
型変換
文字列変換
フロートを整数に変換
拡張チップ
ターミナルエキスパンダー74HC595
ビット演算
エンコーダー
デコーダー
読み取りビット
ビットレコード
その他
マトリックスキーボード
LAD言語に現在存在する機能ブロックのリストベースブロック
連絡先
リール
バウンス保護
フロントエッジの強調表示
特殊リレー
双安定リレー
タイムリレー
発電機
比較リレー
代数
罪
コス
タン
ABS
マックス
MIN
SQ
SQRT
捕虜
ランダム
アナログブロック
スケーリング
数学
カウンター
アナログスイッチ
マルチツーワンスイッチ
1対多スイッチ
コントローラーのアナログ入力
コントローラーのアナログ出力
アナログ入力
アナログコネクタ出力
スピードカウンター
コンポート
ComPortへの転送
ComPortを介して変数を渡す
ComPortを介した変数の受信
モーター
サーボモーター
ステッピングモーター
リアルタイムクロック
データを取得する
目覚まし時計
時間設定
ディスプレイ
チップHD44780上のディスプレイ
HD4480 I2Cディスプレイバックライトコントロールユニット
7セグメントインジケーターのデコード単位
行
行追加
センサー
超音波距離計HC-SR04
温湿度センサーDHT11(DHT21、DHT22)
DS18x2x温度センサー
IR Ressive
BMP-085
SDカード
SDカードへの変数の書き込み
SDカードからファイルをアップロード
型変換
行変換
フロートを整数に変換
拡張チップ
ターミナルエキスパンダー74HC595
ビット演算
エンコーダー
デコーダー
読み取りビット
ビットレコード
その他
マトリックスキーボード。
以下の出版物では、プロジェクトのウェブサイトとプロジェクト開発の見通しについてお話します。