INTALOGICへのよくある質問と回答
- INTALOGIC エディタ関連
- DFC関連
- OM(ObjectMemory)、命令、ランタイム関連
- 移植関連
- 購入関連
- サンプルプログラム FAQに記載の仕様は、標準的な内容です。
INTALOGICの仕様は、お客様の環境に合わせてカスタマイズすることができます。
INTALOGIC エディタ関連
質問:INTALOGICでは何ステップのプログラムを作成できますか?
回答:最大30Kステップです。
各命令のステップ数については、「INTALOGICリファレンスマニュアル」の「2-1章 命令一覧」をご参照ください。
質問:OM検索を行うと、今回検索した結果だけでなく、前回の検索結果も表示されてしまいます。
回答:ラダー回路の表示方法が「検索順表示」の場合、前回の検索結果も含めて表示する仕様となっております。
これは、ユーザがプログラムをデバッグする際に、例えば意図せずONするビットOMのコイルがあった際に、そのビットOMをONさせている接点(検索したものとは別のビットOM)を見つけ、さらにその接点をONさせている別のビットOMを見つけます。
このように、順を追って原因を追究できるように、過去の履歴を表示しています。
DFC(Dynamic Function Call)関連
質問:独自の命令を追加することはできますか?
回答:DFC命令により、追加できます。DFC命令とは、C言語などで作成したプログラム(DLLなど※)をラダー回路から呼び出す命令です。
(※:INTALOGIC RUNを移植した環境によりファイル形式は異なります。)
質問:DFC命令で呼び出すプログラムを作成するにあたり、必要なものはありますか?
回答:「INTALOGIC ポーティングサポートパッケージ」が必要になります。
DFC命令で呼び出すプログラムとINTALOGIC RUNの間で、OMを介して引数や実行結果を渡します。このためOMの値を読書きする処理が必要になります。
質問:DFC命令で呼び出すプログラムは、ユーザで作成できますか?
回答:「INTALOGIC ポーティングサポートパッケージ」にサンプルソースコードが添付されていますので、サンプルソースコードを参照、流用して作成いただけます。
質問:DFC命令を実行すると、スキャンタイムが伸びますか?
回答:はい。DFC命令で呼び出したプログラムの処理が完了してから、DFC命令の次のステップの命令が実行されます(同期実行)。この分、スキャンタイムが伸びます。
なお、DFC命令をプログラムの処理開始の指示のみ行い、プログラムの処理完了を待たずに次のステップの命令が実行するよう、カスタマイズすることも可能です(非同期実行)。
質問:DFC命令用の関数で使用しない引数があるので省略してよいですか?
回答:インタフェースが決まっていますので、省略することはできません。
質問:DFC命令で使用する関数名に制約はありますか?
回答:ANSI C規格のC言語で使用できる関数名で、8文字以内としてください。
OM(ObjectMemory)、命令、ランタイム関連
質問:ビットOMをワードOM扱いする場合、設定上、注意することはありますか?
回答:ビット指定する場合は、OMの先頭アドレスに4の倍数を指定してください。(良い例:M4:4、悪い例:M5:4)
また、ビット点数も32までの4の倍数を指定してください。(良い例:M4:8、悪い例:M4:9)
質問:SM0(常時ON)を立上り接点にできますか?
回答:SM0は常時ONのシステムビットであり、立上り接点には使用できません。
ラン起動時や、STOP→RUNの場合にも、SM0はOFF→ONしません。
質問:INTALOGIC ランタイムは、ラダープログラムを定周期で実行できますか?
回答:
はい。INTALOGIC RUNは設定したスキャンタイムを周期としてプログラムを実行します。
ただし、ラダープログラムの定周期実行は、次の場合保証できません。
・INTALOGIC ランタイムより高いプライオリティの割り込みが動作する場合
・ラダープログラムの実際の動作時間が、設定したスキャンタイムより長い場合
質問:INTALOGIC ランタイムは、入出力X、Yの処理に、リフレッシュ方式、ダイレクト方式どちらを使用していますか?
回答:リフレッシュ方式を使用しています。
ラダープログラムの1スキャンの実行前にX、Yの情報を取り込み、END処理の後に、Yへの書込みを行います。
1スキャン中にX、Yの値が変わっても、そのスキャン中は取り込みません。
「INTALOGICユーザーズマニュアル 10-2章」に記載の「INTALOGIC RUNTIME の演算」をご参照ください。
質問:インデックスの使用方法を教えてください。
回答:インデックスはOMを間接指定(インデックス修飾)するために使用します。
以下に簡単な回路のサンプルを示します。
このサンプルでは、M0、M1、M2がONすると、インデックスIX0にそれぞれ0、1、2が格納され、それに合わせてD0、D1、D2の値がインクリメントします。
このように、インデックス修飾したOMは、OM番号にインデックス値を加えたOMとして動作します。
なお、インデックス専用の命令はありませんので、MOV命令などワードOMに値をセットする命令を使用し、インデックスの値を変更してください。
移植関連
質問:INTALOGICランタイムの移植をアイ・エル・シーに依頼できますか? また、どのくらいの費用がかかりますか?
回答:はい。弊社でINTALOGICランタイムの移植を承っております。
費用はお客様が使用するハードウェア環境や要求仕様などにより変化しますので、一概にはお答えできません。
以下のような情報をご連絡いただければ、概算見積を弊社営業担当からご連絡いたします。
・INTALOGICランタイムを移植するH/Wに関する情報
適応機器・分野、ボードメーカ、CPU(型式)、OS、外部通信
・S/Wに関する情報、要求仕様
実行方式(インタプリタ、コンパイル、FPGA)、
要求命令数(基本、応用)、
プログラム容量、
入力点数、出力点数、
DFC命令の有無、
RUN中書込みの必要の有無、
プログラム読出しの有無、
プログラムの保存先(ROM、CF etc)、
停電保持機能の有無、
割り込み対応の有無、
OM点数可変の有無
質問:INTALOGICランタイムは、ユーザが自作した制御ボードでも移植できますか?
回答:可能です。
質問:ユーザでINTALOGICランタイムの移植を行うことができますか?
回答:可能です。
ユーザで移植を行うために「ポーティングサポートパッケージ」を販売しております。
ポーティングサポートパッケージには、移植に必要なソースコードとマニュアルが含まれています。
質問:INTALOGICランタイムの移植には、どれくらいの工数がかかりますか?
回答:お客様が使用するハードウェア環境や要求仕様などにより変化しますので、一概にはお答えできません。 弊社営業担当またはサポート窓口(ファクティクス テクニカルセンター)まで、ご相談ください。
質問:INTALOGICランタイムの移植だけでなく、パフォーマンスのチューニングもアイ・エル・シーに依頼できますか?
回答:可能です。
お客様からの要求仕様または基本仕様設計段階でパフォーマンスについても、ご相談ください。
質問:INTALOGICエディタのカスタマイズも可能ですか?
回答:可能です。INTALOGICエディタのカスタマイズについては、弊社営業窓口までご相談ください。
購入関連
質問:INTALOGIC購入前の体験ソフトやデモはありますか?
回答:体験版ソフトは提供しておりませんが、商品デモならびに商品お貸出しは対応可能です。お問い合わせ窓口までご連絡ください。
また、各種商品の導入検討を手軽に行えるプロトタイピング開発キットILC AIR Kit を用意しています。
ILC AIR Kitは、ハードウェア(Raspberry Pi、Raspberry Pi Touch Display、Raspberry Pi Sense Hatなど)とソフトウェアがセットとなったプロトタイピング開発キットであり、当社各種商品の導入検討を行うことができます。
詳細は、こちらをご参照ください。
質問:INTALOGICを販売店から購入することもできますか?
回答:可能です。以下のリンク先に商品取扱い販売会社様が掲載されています。
→商品取扱い販売会社
その他の企業様からの販売も可能ですので、弊社営業窓口もしくはサポート窓口(ファクティクス テクニカルセンター)までお問い合わせください。
サンプルプログラム
自己保持回路:
回路例を示します。
下図の例では、X0をONすると、Y0がONします。X0がOFFしても、Y0はONの状態を保持します。
X1をONするとY0はOFFします。
フリップフロップ回路:
フリップフロップ回路は、1つの入力で、出力のビットがON、OFFを繰り返します。
下図の例では、X0をONすると、Y0がONします。
もう一度X0をONすると、Y0がOFFします。これを繰り返します。
フリッカ回路:
フリッカ回路は、一定周期でビットOMがON/OFFします。
下図の例では、M0がONの間、M10が1秒ごとにOFF→ONを繰り返します。
長時間タイマ:
設定値32767(327670msec)以上のタイマを作成したい場合の例を示します。
ここでは、タイマ、カウンタを組み合わせた例を紹介します。下図は30分でONするタイマの例です。M0をONすると30分後にM2がONします。300000ms(5分)のタイマT0を作成し、カウンタC0でT0がONした回数をカウントします。T0が6回ON(5分×6回=30分経過)するとM2がONします。
(INTALOGICのタイマの設定値は10ms単位です。)