リユーザビリティは、ユーザが作成したファンクションとファンクションブロックがProgram Support Environments (PSE)で保証されているかどうかにフォーカスを当てています。データ型と機能の両方がPSEでサポートされている限り、一般的に保証されています。
サプライヤー依存のファンクションおよびファンクションブロックは、受け取り側では、同等の機能が保証されていません。すなわち、それらは、別のシステムでは動作しません。
例えば、あるサプライヤのシステムにおいて、異なるサプライヤが異なるシステムで使用されることを想定してストラクチャードテキスト(ST)で作成したファンクションブロックを作成します。その前提条件として、両方のシステムは、PLCopenのリユーザビリティレベルを保証し、データ型や命令は双方のシステムで使用できなければいけません。データ型については、例えば、1つのシステムが"TIME"をサポートし、他方がサポートしない場合、ファンクションブロックを再利用することはできません。従って、ユーザはどのデータ型がサポートされているかチェックする必要があります。
これらの必要条件がすべて満たされたとき、システム間でASCIIフォーマットでファンクションブロックを交換することができるようになります。
下図の例では、中立的な言語であるストラクチャード・テキスト(ST)によって、ファンクションブロックでの交換を原則とすることがキーとなります。
インポート/エクスポートのフォーマットには、2つのファイル形式があります。
POU files (*.st) STエディタのPOUを1つ以上含んだ形式です。POUは、ファンクション、ファンクションブロック、プログラムの形式で指定します。
Type files (*.typ) 定義ファイルを含んでいます。例:DUTの定義内容など