 
      以前の投稿で、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
マトリックスキーボード
以下の出版物では、プロジェクトのウェブサイトとプロジェクト開発の見通しについてお話します。