« ペルチェ素子とPID実習機 その3 | Main | 時間領域から周波数領域へ その1 »

August 07, 2007

関数型言語と論理と時間と

 関数型言語の特徴は、自分で新しい関数を設定することである。この機能を利用すると、JIS B3503にあわせた二値論理素子の記号を作ることが可能となる。VIそのもののアイコンがもう少し詳細にデザインできると、かなりきちんと描けるのだが、自分で作成可能な関数のアイコンには、制約があるので、ちょっと描き難い。考えてみると、最初のLabVIEWからこのアイコンエディタは、10年前からほとんど変わってないのではないかな? もうちょっと、アイコンに自由度があっても良い感じがするんだけどなぁ・・・
Lab_jis

 ということで、回路図の記号ではなく、PLCの記号を基準に作成してみました。言い訳かな・・・パソコンPLCをLabVIEWで実習できるようにすることを前提とした必要最小限の関数だけ造ってみました。(苦笑)組み合わせ回路までは、これで作成可能です。ただし、フリップフロップ以降については、別途関数を用意する必要があります。
 関数型プログラミング言語は、時間順序ということを、考慮しないで作成することができることが特徴ではあるのですが、これが欠点ともなっています。プログラマーさんがC言語とかの手続き型言語にこだわる理由でもあります。結果として、関数型言語では、論理上不定となる条件が存在するフリップフロップを関数にすることができません。LabVIEWやMATLABも同じですが、JIS B3503で使われている関数型言語である、ST言語の場合も、信号を帰還させることが可能なように記載されていますので、純粋な関数型言語とは言い難い面があります。
 LabVIEWでは、論理演算であっても、時間順序を設定することが可能となっています。ストラクチャを使用し、シフトレジスタを設定することで、演算順序を設定することが可能です。
Shift

« ペルチェ素子とPID実習機 その3 | Main | 時間領域から周波数領域へ その1 »

Comments

Post a comment

Comments are moderated, and will not appear on this weblog until the author has approved them.

(Not displayed with comment.)

TrackBack


Listed below are links to weblogs that reference 関数型言語と論理と時間と:

« ペルチェ素子とPID実習機 その3 | Main | 時間領域から周波数領域へ その1 »

May 2021
Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

Recent Trackbacks

Categories

  • つぶやき
  • コラム
  • スポーツ
  • トピック
  • ニュース
  • パソコン・インターネット
  • 日記・コラム・つぶやき
  • 書籍・雑誌
無料ブログはココログ