
以前の投稿で、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カードからファイルをアップロード
文字列変換
フロートを整数に変換
ターミナルエキスパンダー74HC595
エンコーダー
デコーダー
読み取りビット
ビットレコード
マトリックスキーボード
基本的な要素
[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カードからファイルをアップロード
行変換
フロートを整数に変換
ターミナルエキスパンダー74HC595
エンコーダー
デコーダー
読み取りビット
ビットレコード
マトリックスキーボード。
ベースブロック
連絡先
リール
バウンス保護
フロントエッジの強調表示
特殊リレー
双安定リレー
タイムリレー
発電機
比較リレー
代数
罪
コス
タン
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
ビット演算
エンコーダー
デコーダー
読み取りビット
ビットレコード
その他
マトリックスキーボード。
現在プロジェクトで使用されている機器のリスト。
DS1302
DS1307
DS3231
温湿度センサーDHT11
温湿度センサーDHT21
温湿度センサーDHT22
超音波距離計HC-SR04
DS18B20温度センサー
DS18S20温度センサー
DS1822温度センサー
圧力センサーBMP085
モーションセンサー(PIRモーションセンサー)HC-SR501
MQ2ガスセンサー(炭化水素ガス、煙)。
ステッピングモーター
サーボ駆動
並列制御およびI2C制御を備えたHD44780チップでの表示
7つのセグメントインジケーター
SDカードリーダー。
シフトレジスタ74HC595
マトリックスキーボード
リアルタイムクロック
DS1302
DS1307
DS3231
センサー
温湿度センサーDHT11
温湿度センサーDHT21
温湿度センサーDHT22
超音波距離計HC-SR04
DS18B20温度センサー
DS18S20温度センサー
DS1822温度センサー
圧力センサーBMP085
モーションセンサー(PIRモーションセンサー)HC-SR501
MQ2ガスセンサー(炭化水素ガス、煙)。
モーター
ステッピングモーター
サーボ駆動
ディスプレイ
並列制御およびI2C制御を備えたHD44780チップでの表示
7つのセグメントインジケーター
その他
SDカードリーダー。
シフトレジスタ74HC595
マトリックスキーボード
以下の出版物では、プロジェクトのウェブサイトとプロジェクト開発の見通しについてお話します。