8

  • 8点の接点を監視し、最初にONした接点の番号を得るには?
    下記のようなファンクションをST言語で作成します。 パラメータ プログラムコード if X0 <> 0 then (* すでに判定済み *) getfast := X0; (* その値を返す *) else if in1 then getfast:=1; elsif in2 then getfast:=2; elsif in3 then getfast:=3; elsif in4 then ...
  • 8ビット/16ビットなど、貧弱なCPUのプラットフォームにISaGRAFのターゲットを移植することは可能か?
    これらのプロセッサ用のANSI Cコンパイラがあれば、ターゲットの移植を行う上で問題はありません。 ただし、以下のような制約に注意してください。 一部のISaGRAFの拡張的な機能(イーサネット通信、マルチタスク等)の実装は、プラットフォームシステムの機能や性能に依存します。 貧弱なOSや、そもそもOSが無いような場合は、シングルタスク(1個のメインループで全てを処理)の実装に限定されることになります。 ISaGRAFでは、整数の計算は全て32ビットで行われます。 このため、アナログ変数の演算が多いアプリケーションでは性能が低下します。 一般に、浮動小数点や文字列などといった重い処理を貧弱なCPUで行うのは現実的ではありません。 これらの処理は、カーネルのコードが大きくなり、レスポンスも低下します。 特にメモリの制約がない場合でも、使用するCコンパイラでサポートしているメモリモデルには注意が必要です。 例えば、8086のようにメモリアドレッシングを16ビットのオフセットで行うような場合は、アプリケーションの最大サイズは64KBを越えられません。 重要なのは、ISaGRAFを使用する上での最大のメリットは、C言語やアセンブラによる開発と比較して、 オープンで移植性に富む高級言語によるプログラミングが可能 ということです。このような特長を実現するためには、多くのソフトウェアレイヤを必要とし、それなりのCPUの処理能力を必要とします。 つまり、ISaGRAFを性能の低いプロセッサ環境に移植するのは可能ですが、実装する機能は最小限(主にブール型データ操作で、かつ変数の数も最小限とすること)にしなければなりません。 ...
  • 8点の接点を監視し、最初にONした接点の番号を得るには?
    下記のようなファンクションをST言語で作成します。 パラメータ プログラムコード if X0 <> 0 then (* すでに判定済み *) getfast := X0; (* その値を返す *) else if in1 then getfast:=1; elsif in2 then getfast:=2; elsif in3 then getfast:=3; elsif in4 then ...
  • 8ビット/16ビットなど、貧弱なCPUのプラットフォームにISaGRAFのターゲットを移植することは可能か?
    これらのプロセッサ用のANSI Cコンパイラがあれば、ターゲットの移植を行う上で問題はありません。 ただし、以下のような制約に注意してください。 一部のISaGRAFの拡張的な機能(イーサネット通信、マルチタスク等)の実装は、プラットフォームシステムの機能や性能に依存します。 貧弱なOSや、そもそもOSが無いような場合は、シングルタスク(1個のメインループで全てを処理)の実装に限定されることになります。 ISaGRAFでは、整数の計算は全て32ビットで行われます。 このため、アナログ変数の演算が多いアプリケーションでは性能が低下します。 一般に、浮動小数点や文字列などといった重い処理を貧弱なCPUで行うのは現実的ではありません。 これらの処理は、カーネルのコードが大きくなり、レスポンスも低下します。 特にメモリの制約がない場合でも、使用するCコンパイラでサポートしているメモリモデルには注意が必要です。 例えば、8086のようにメモリアドレッシングを16ビットのオフセットで行うような場合は、アプリケーションの最大サイズは64KBを越えられません。 重要なのは、ISaGRAFを使用する上での最大のメリットは、C言語やアセンブラによる開発と比較して、 オープンで移植性に富む高級言語によるプログラミングが可能 ということです。このような特長を実現するためには、多くのソフトウェアレイヤを必要とし、それなりのCPUの処理能力を必要とします。 つまり、ISaGRAFを性能の低いプロセッサ環境に移植するのは可能ですが、実装する機能は最小限(主にブール型データ操作で、かつ変数の数も最小限とすること)にしなければなりません。 ...

最も人気の FAQ RSS

  1. LD言語で、ある接点がFALSEの場合、それ以降のファンクションブロックを実行しないように出来るか? (44492 回の閲覧)
  2. SFC要素の「ステップ」と「トランジション」の意味と役割を教えてください。 (43303 回の閲覧)
  3. ISaGRAF WorkbenchをWindows 7で使用するにはどうしたらよいでしょうか? (40894 回の閲覧)
  4. ISaGRAFはIEC1131-3のシステム定義に準拠しているか? (38967 回の閲覧)
  5. PLCプログラムをより早く動かすにはどうすればよいですか? (38785 回の閲覧)
  6. LD言語で、立ち上がり・立ち下がりの出力はあるか? (36813 回の閲覧)
  7. VxWorksターゲットにおける変数管理の留意点について (36334 回の閲覧)
  8. 日立製作所製SHマイコン用コンパイラ使用時の注意事項 (35523 回の閲覧)
  9. Cファンクション/ファンクションブロックの"Hidden" パラメータとはどのようなものか (35496 回の閲覧)
  10. FBD/LD言語で同じ行に複数の演算がある場合の実行順序は? (33475 回の閲覧)

最近の FAQ RSS

  1. ファンクションブロックはネストできますか。 (2016-08-05 15:07)
  2. Cファンクション/ファンクションブロックの"Hidden" パラメータとはどのようなものか (2015-01-30 14:24)
  3. 前のISaGRAFで作成したプロジェクトをインポートしたら、コメントが文字化けを起こしています。 (2014-05-07 06:52)
  4. 前のバージョンで作成したプロジェクトは読み込めますか。 (2014-03-07 07:46)
  5. ISaGRAFでコンフィグレーション、リソースそれにPOUはそれぞれいくつ作成できますか。 (2014-03-07 02:06)