このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Simulink.ModelReference.modifyProtectedModel
既存の保護モデルの変更
構文
説明
Simulink.ModelReference.modifyProtectedModel(
は指定された model
)model
から作成された既存の保護モデルのためのオプションを変更します。Name,Value
ペア引数が指定されていない場合、変更された保護モデルは既定値で更新され、シミュレーションのみをサポートします。
Simulink.ModelReference.modifyProtectedModel(
は、1 つ以上の model
,Name,Value
)Name,Value
引数のペアによって指定された追加オプションを使用します。これらのオプションは関数 Simulink.ModelReference.protect
によって提供されるオプションと同じです。ただし、これらのオプションには読み取り専用ビュー、シミュレーションおよびコード生成用の暗号化パスワードを変更するための追加のオプションがあります。保護モデルに機能を追加するか、暗号化パスワードを変更する場合、保護されていないモデルを利用できなければなりません。MATLAB® パス上でモデルの検索が行われます。モデルが見つからない場合、エラーが報告されます。
[
は、保護モデルのハーネス モデルを作成します。ハーネス モデルのハンドルを harnessHandle
] = Simulink.ModelReference.modifyProtectedModel(model
,'Harness
',true)harnessHandle
で返します。
[~ ,
は、保護モデルで使用されるベース ワークスペース変数の名前を含む cell 配列を返します。neededVars
] = Simulink.ModelReference.modifyProtectedModel(model
)
例
既定値による保護モデルの更新
コード生成をサポートする、変更可能な保護モデルを作成して、それを既定値にリセットします。
保護モデルの変更時のパスワードを追加します。この手順を省略すると、変更可能な保護モデルを作成したときにパスワードを設定するよう求められます。
openExample('sldemo_mdlref_counter'); Simulink.ModelReference.ProtectedModel.setPasswordForModify(... 'sldemo_mdlref_counter','password');
コード生成と Web ビューをサポートする、変更可能な保護モデルを作成します。
Simulink.ModelReference.protect('sldemo_mdlref_counter','Mode',... 'CodeGeneration','Modifiable',true,'Report',true);
保護モデルを変更するためのパスワードを指定します。
Simulink.ModelReference.ProtectedModel.setPasswordForModify(... 'sldemo_mdlref_counter','password');
既定値を使用するようにモデルを変更します。
Simulink.ModelReference.modifyProtectedModel(... 'sldemo_mdlref_counter');
結果の保護モデルは既定値で更新され、シミュレーションのみをサポートします。
保護モデルからの機能の削除
コード生成と Web ビューをサポートする、変更可能な保護モデルを作成して、それを変更して Web ビュー サポートを削除します。
保護モデルの変更時のパスワードを追加します。この手順を省略すると、変更可能な保護モデルを作成したときにパスワードを設定するよう求められます。
openExample('sldemo_mdlref_counter'); Simulink.ModelReference.ProtectedModel.setPasswordForModify(... 'sldemo_mdlref_counter','password');
コード生成と Web ビューをサポートする、変更可能な保護モデルを作成します。
Simulink.ModelReference.protect('sldemo_mdlref_counter','Mode',... 'CodeGeneration','Webview',true,'Modifiable',true,'Report',true);
保護モデルを変更するためのパスワードを指定します。
Simulink.ModelReference.ProtectedModel.setPasswordForModify(... 'sldemo_mdlref_counter','password');
作成した保護モデルから Web ビューのサポートを削除します。
Simulink.ModelReference.modifyProtectedModel(... 'sldemo_mdlref_counter', 'Mode', 'CodeGeneration','Report',true);
コード生成用の暗号化パスワードの変更
変更可能な保護モデル用の暗号化パスワードを変更します。
保護モデルの変更時のパスワードを追加します。この手順を省略すると、変更可能な保護モデルを作成したときにパスワードを設定するよう求められます。
openExample('sldemo_mdlref_counter'); Simulink.ModelReference.ProtectedModel.setPasswordForModify(... 'sldemo_mdlref_counter','password');
保護モデルのユーザーが、コードを生成するために指定しなくてはならないパスワードを追加します。
Simulink.ModelReference.ProtectedModel.setPasswordForSimulation(... 'sldemo_mdlref_counter','cgpassword');
暗号化を行うコード生成をサポートし、レポートを作成する変更可能な保護モデルを作成します。
Simulink.ModelReference.protect('sldemo_mdlref_counter','Mode',... 'CodeGeneration','Encrypt',true,'Modifiable',true,'Report',true);
保護モデルを変更するためのパスワードを指定します。
Simulink.ModelReference.ProtectedModel.setPasswordForModify(... 'sldemo_mdlref_counter','password');
シミュレーション用の暗号化パスワードを変更します。
Simulink.ModelReference.modifyProtectedModel(... 'sldemo_mdlref_counter','Mode','CodeGeneration','Encrypt',true,... 'Report',true,'ChangeSimulationPassword',... {'cgpassword','new_password'});
保護モデル用のハーネス モデルの追加
既存の保護モデル用のハーネス モデルを追加します。
保護モデルの変更時のパスワードを追加します。この手順を省略すると、変更可能な保護モデルを作成したときにパスワードを設定するよう求められます。
openExample('sldemo_mdlref_counter'); Simulink.ModelReference.ProtectedModel.setPasswordForModify(... 'sldemo_mdlref_counter','password');
暗号化を行うコード生成をサポートし、レポートを作成する変更可能な保護モデルを作成します。
Simulink.ModelReference.protect('sldemo_mdlref_counter','Mode',... 'CodeGeneration','Modifiable',true,'Report',true);
保護モデルを変更するためのパスワードを指定します。
Simulink.ModelReference.ProtectedModel.setPasswordForModify(... 'sldemo_mdlref_counter','password');
保護モデルのハーネス モデルを追加します。
[harnessHandle] = Simulink.ModelReference.modifyProtectedModel(... 'sldemo_mdlref_counter','Mode','CodeGeneration','Report',true,... 'Harness',true);
入力引数
model
— モデル名
文字ベクトル | string スカラー
モデル名。string または文字ベクトルとして指定します。モデルの名前または保護モデルを参照する Model ブロックのパス名が含まれます。
データ型: char
| string
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで、Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後に配置しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用して各名前と値を区切り、Name
を引用符で囲みます。
例: 'Mode','CodeGeneration','OutputFormat','Binaries','ObfuscateCode',true
は、保護モデルに対して生成される難読化されたコードを指定します。また、保護モデルのユーザーにはバイナリ ファイルと生成されたコード内のヘッダーのみが表示されるように指定します。
Project
— プロジェクト内の依存関係を収集するためのオプション
false
(既定値) | true
R2023b 以降
プロジェクト内の依存関係を収集するためのオプション。true
または false
として指定します。
保護モデルとともにハーネス モデルを含むサポート ファイルをプロジェクト アーカイブにパッケージ化するかどうかを指定します。サポート ファイルのタイプと数は保護されるモデルによって異なります。ベース ワークスペース定義を含む MAT ファイルや、関連する定義に間引きされたデータ ディクショナリはサポート ファイルの例です。サポート ファイルは保護されません。
true
— 保護モデル、その依存関係、およびハーネス モデルが含まれるプロジェクト アーカイブ (.mlproj
) を作成します。サポート ファイルは保護されません。プロジェクト アーカイブは簡単に共有できる単一ファイルです。対話型のプロジェクトを作成するには、プロジェクト アーカイブを開きます。false
— 保護モデルのみを作成します。保護モデルに依存関係がある場合は、それらを個別に共有しなければなりません。同様に、保護モデルのハーネス モデルを作成する場合は、ハーネス モデルを個別に共有しなければなりません。
例: 'Project',true
ヒント
プロジェクトを共有する前に、プロジェクトに必要なサポート ファイルが含まれているかどうか確認してください。サポート ファイルが不足している場合は、関連するハーネス モデルのコードをシミュレーションまたは生成することで、それらを特定できます。不足している依存関係をプロジェクトに追加し、必要に応じてハーネス モデルを更新します。詳細については、プロジェクト ファイルの管理を参照してください。
依存関係
Project
を true
に設定するには、Mode
を、シミュレーションをサポートする値に設定します。たとえば、Mode
を 'Simulation'
(既定) に設定します。
データ型: logical
ProjectName
— カスタム プロジェクト名
文字ベクトル | string スカラー
R2023b 以降
カスタムのプロジェクト名。文字ベクトルまたは string スカラーとして指定します。
生成されたファイルが含まれるプロジェクト アーカイブの名前を指定します。アーカイブ内のプロジェクトは同じ名前を使用します。
カスタム プロジェクト名を指定しない場合、保護モデル名の後に _protected
が付いたものがプロジェクトの既定の名前になります。
例: 'ProjectName','myname'
依存関係
ProjectName
を有効にするには、Project
を true
に設定します。
データ型: char
| string
Harness
— ハーネス モデルを作成するためのオプション
false
(既定値) | true
ハーネス モデルを作成するためのオプション。ブール値として指定します。
保護モデルのハーネス モデルを作成するかどうかを指定します。ハーネス モデルは保護モデルのために Model ブロックで参照される分離された環境を提供します。
true
— 保護モデルのハーネス モデルを作成します。false
— 保護モデルのハーネス モデルを作成しません。
ベース ワークスペース定義に依存する保護モデル用のハーネス モデルを作成するときに、Simulink® はベース ワークスペース定義を含む MAT ファイルを作成します。
ハーネス モデルは、ベース ワークスペース定義を含む MAT ファイルやデータ ディクショナリといったサポート ファイルにアクセスできなければなりません。
例: 'Harness',true
依存関係
データ型: logical
Path
— 保護モデル用のフォルダー
現在の作業フォルダー (既定値) | 文字ベクトル | string スカラー
保護モデルのフォルダー。文字ベクトルまたは string スカラーとして指定します。
例: 'Path','C:\Work'
依存関係
保護対象のモデルは、MATLAB パス上になければなりません。
データ型: char
| string
Report
— レポートを生成するためのオプション
false
(既定値) | true
レポートを生成するためのオプション。ブール値として指定します。
レポートを表示するには、次のいずれかのアクションを実行します。
Simulink エディター:Model ブロックで、保護モデル バッジ アイコン を右クリックします。次に、[レポートの表示] を選択します。
MATLAB コマンド ウィンドウ:関数
Simulink.ProtectedModel.open
を使用します。たとえば、sldemo_mdlref_counter
という名前の保護モデルのレポートを表示するには、次のコマンドを入力します。Simulink.ProtectedModel.open('sldemo_mdlref_counter','report');
レポートはHTML 形式で生成されます。保護モデルの環境、機能、およびインターフェイスに関する情報が含まれています。
例: 'Report',true
依存関係
Report
を true
に設定するには、Mode
を、シミュレーションをサポートする値に設定します。たとえば、Mode
を 'Simulation'
(既定) に設定します。
データ型: logical
Webview
— 読み取り専用 Web ビューを含めるためのオプション
false
(既定値) | true
読み取り専用 Web ビューを含めるためのオプション。ブール値として指定します。
受信者が Web ブラウザーで表示できる Simulink モデルの対話的な表現を共有するかどうかを指定します。モデルのこの読み取り専用 Web ビューには、モデルのコンテンツおよびブロック パラメーターが含まれます。
true
— 保護するモデルの Web ビューを共有します。false
— 保護するモデルの Web ビューを共有しません。
保護モデルの Web ビューを開くには、次のいずれかのアクションを実行します。
現在のフォルダー ブラウザー:保護モデル ファイル (
.slxp
) をダブルクリックします。MATLAB コマンド ウィンドウ:関数
Simulink.ProtectedModel.open
を使用します。たとえば、sldemo_mdlref_counter
という名前の保護モデルの Web ビューを表示するには、次のコマンドを入力します。Simulink.ProtectedModel.open('sldemo_mdlref_counter','webview');
例: 'Webview',true
依存関係
モデルの読み取り専用 Web ビューを作成するには、Simulink Report Generator™ ライセンスが必要です。
データ型: logical
Mode
— モデル保護モード
'Simulation'
(既定値) | 'CodeGeneration'
| 'HDLCodeGeneration'
| 'ViewOnly'
モデル保護モード。次のいずれかの値として指定します。
'Simulation'
(R2023b 以降):保護モデルを参照するモデルをノーマル、アクセラレータまたはラピッド アクセラレータのモードで実行できます。R2023b より前:
'Simulation'
の代わりに'Accelerator'
を使用します。'CodeGeneration'
:保護モデルを参照するモデルをノーマル、アクセラレータ、ラピッド アクセラレータ、またはエクスターナル モードで実行でき、そのモデルは C および C++ コード生成をサポートできます。このオプションには Simulink Coder™ ライセンスが必要です。'HDLCodeGeneration'
:保護モデルを参照するモデルをノーマル、アクセラレータまたはラピッド アクセラレータのモードで実行でき、そのモデルは HDL コード生成をサポートできます。このオプションには HDL Coder™ のライセンスが必要です。'ViewOnly'
:保護モデルは読み取り専用 Web ビューのみをサポートします。保護モデルはシミュレーションまたはコード生成はサポートしません。このオプションには Simulink Report Generator ライセンスが必要です。
モデルの階層構造におけるシミュレーション モードについては、モデルの階層構造内のシミュレーション モードの選択を参照してください。
例: 'Mode','Simulation'
CodeInterface
— 生成コードのインターフェイス
'Model reference'
(既定値) | 'Top model'
生成コードのインターフェイス。次のいずれかの値として指定します。
モデル参照
— モデル参照 Simulink Coder ターゲットをビルドします。このコードは、モデルの階層構造の一部として参照モデルから生成されます。コード生成では次のコマンドを使用します。slbuild('model','ModelReferenceCoderTarget')
最上位モデル
— 現在のモデル コンフィギュレーション設定を使用して、指定したモデルのスタンドアロンの Simulink Coder バイナリ実行可能ファイルをビルドします。このインターフェイスでは、参照モデルのモデル参照コーダー ターゲットもビルドします。コードはスタンドアロンのコード インターフェイスを使用して最上位モデルから生成されます。コード生成では次のコマンドを使用します。slbuild('model','StandaloneCoderTarget')
指定する値によって、ソフトウェアインザループ (SIL) シミュレーションとプロセッサインザループ (PIL) シミュレーションが保護モデルの生成コードを展開する方法が決まります。
モデル参照
— ソフトウェアは、参照モデルを使用するより大きなアプリケーションの一部として、生成コードを展開します。最上位モデル
— ソフトウェアは、スタンドアロン アプリケーションとして、生成コードを展開します。
SIL/PIL シミュレーションでは、保護モデルのコードを検証できます。
保護モデルを参照するモデルのコード生成をサポートするために、[モデル参照]
を指定します。
コード インターフェイスにかかわらず、保護モデルのシミュレーションをアクセラレータ モードで実行できます。
例: 'CodeInterface','Top model'
依存関係
[システム ターゲット ファイル] コンフィギュレーション パラメーターは、ERT ベースのシステム ターゲット ファイル (たとえば、ert.tlc
) に設定されなければなりません。このオプションには Embedded Coder® のライセンスが必要です。
hdl
— HDL コードを生成するためのオプション
false
(既定値) | true
HDL コードを生成するためのオプション。ブール値として指定します。
保護モデルでシミュレーション、C および C++ コード生成、HDL コード生成をサポートするために、Mode
を 'CodeGeneration'
に、hdl
を true
に設定します。
例: 'hdl',true
ヒント
保護モデルでシミュレーションおよび HDL コード生成をサポートし、C および C++ コード生成はサポートしないようにするには、Mode
を 'HDLCodeGeneration'
に設定します。hdl
を true
に設定する必要はありません。
依存関係
HDL コードを生成するには、HDL Coder ライセンスが必要です。
この引数は、
Mode
を'CodeGeneration'
に設定した場合のみ出力に影響します。
データ型: logical
Callbacks
— 保護モデルのコールバックを指定するためのオプション
{}
(既定値) | cell 配列
保護モデルのコールバックを指定するためのオプション。Simulink.ProtectedModel.Callback
オブジェクトの cell 配列として指定します。
例: 'Callbacks',{pmcallback_sim, pmcallback_cg}
データ型: cell
ObfuscateCode
— 生成されたコードを難読化するためのオプション
true
(既定値) | false
論理値として指定されている生成されたコードを難読化するためのオプションです。
例: 'ObfuscateCode',true
依存関係
このオプションは、Mode
を 'CodeGeneration'
に設定した場合のみ適用されます。難読化は HDL コード生成ではサポートされていません。
データ型: logical
OutputFormat
— 保護されたコードの可視性
'CompiledBinaries'
(既定値) | 'MinimalCode'
| 'AllReferencedHeaders'
保護されたコードの可視性。次のいずれかの値として指定します。
'CompiledBinaries'
— 生成されたコードのコンパイル済みバイナリのみ含みます。バイナリ ファイルおよびヘッダーが表示されます。'MinimalCode'
— 選択したビルド設定でコードをビルドするために必要な最小限のヘッダー ファイルのみを含めます。ビルド フォルダーのコードが表示されます。受信者は、保護モデルのレポート内のコードを検証し、目的に応じてそれを再コンパイルできます。'AllReferencedHeaders'
— インクルード パスにあるヘッダー ファイルを含めます。ビルド フォルダーのコードが表示されます。また、このコードによって参照されるヘッダーも表示されます。
この引数は、保護モデル用に生成されたコードのどの部分がユーザーに表示されるかを決定します。
例: 'OutputFormat','AllReferencedHeaders'
依存関係
この引数は、Mode
を 'Simulation'
、'Accelerator'
、または 'CodeGeneration'
に設定した場合のみ出力に影響します。
Encrypt
— 保護モデルを暗号化するためのオプション
false
(既定値) | true
保護モデルを暗号化するためのオプション。ブール値として指定します。このオプションは、保護に際してパスワードを指定した場合に、または以下の関数を使用することにより適用されます。
モデルの読み取り専用表示のパスワード:
Simulink.ModelReference.ProtectedModel.setPasswordForView
シミュレーションのパスワード:
Simulink.ModelReference.ProtectedModel.setPasswordForSimulation
コード生成のパスワード:
Simulink.ModelReference.ProtectedModel.setPasswordForCodeGeneration
HDL コード生成のパスワード:
Simulink.ModelReference.ProtectedModel.setPasswordForHDLCodeGeneration
(HDL Coder)
例: 'Encrypt',true
データ型: logical
ChangeSimulationPassword
— シミュレーション用の暗号化パスワードを変更するためのオプション
2 つの文字ベクトルの cell 配列
シミュレーション用の暗号化パスワードを変更するためのオプション。2 つの文字ベクトルの cell 配列として指定します。最初のベクトルは古いパスワードです。2 番目のベクトルは新しいパスワードです。
例: 'ChangeSimulationPassword',{'old_password','new_password'}
データ型: cell
ChangeViewPassword
— 読み取り専用ビュー用の暗号化パスワードを変更するためのオプション
2 つの文字ベクトルの cell 配列
読み取り専用ビュー用の暗号化パスワードを変更するためのオプション。2 つの文字ベクトルの cell 配列として指定します。最初のベクトルは古いパスワードです。2 番目のベクトルは新しいパスワードです。
例: 'ChangeViewPassword',{'old_password','new_password'}
データ型: cell
ChangeCodeGenerationPassword
— コード生成用の暗号化パスワードを変更するためのオプション
2 つの文字ベクトルの cell 配列
コード生成用の暗号化パスワードを変更するためのオプション。2 つの文字ベクトルの cell 配列として指定します。最初のベクトルは古いパスワードです。2 番目のベクトルは新しいパスワードです。
例: 'ChangeCodeGenerationPassword',{'old_password','new_password'}
データ型: cell
CustomPostProcessingHook
— 保護モデル ファイル用に後処理関数を追加するオプション
関数ハンドル
関数ハンドルとして指定された保護モデル ファイル用に後処理関数を追加するオプションです。
この関数は Simulink.ModelReference.ProtectedModel.HookInfo
オブジェクトを入力変数として受け入れます。このオブジェクトはソース コード ファイルおよび保護モデルの作成中に生成されるその他のファイルについて情報を提供します。オブジェクトは、変更してはいけないエクスポート済みシンボルについても情報を提供します。保護モデルをパッケージ化する前に後処理関数が呼び出されます。
最上位モデル インターフェイスをもつ保護モデルの場合、Simulink.ModelReference.ProtectedModel.HookInfo
オブジェクトはエクスポート済みシンボルについての情報を提供できません。
例: 'CustomPostProcessingHook',@(protectedMdlInf)myHook(protectedMdlInf)
出力引数
neededVars
— ベース ワークスペース変数の名前
cell 配列
保護モデルで使用されるベース ワークスペース変数の名前。cell 配列として返されます。
cell 配列には以下が含まれます。
モデル インターフェイスで使用されるパラメーター
バス オブジェクト、列挙型、値の型など、データ型の一部を指定するパラメーター
データ ストア メモリで使用されるパラメーター
cell 配列には保護モデルが使用しない変数も含めることができます。
バージョン履歴
R2014b で導入R2023b: プロジェクト内の保護モデルの依存関係の収集
保護モデルを変更する際に、プロジェクト アーカイブにその依存関係とハーネス モデルを含めて自動でパッケージ化できます。受信者がプロジェクト アーカイブのコンテンツを抽出し、ハーネス モデルを開くと、不足している変数またはオブジェクトを定義することなく、保護モデルのシミュレーションを実行できます。プロジェクト アーカイブを共有する前に、プロジェクトに必要なサポート ファイルが含まれているかどうか確認し、必要に応じてハーネス モデルを更新してください。
Project
を使用して、保護モデル、その依存関係、およびハーネス モデルをプロジェクト アーカイブ (.mlproj
) に保存します。プロジェクト アーカイブを使用することで、プロジェクトを 1 つのファイル内で共有できます。
ProjectName
を使用して、カスタム プロジェクト名を指定します。
詳細については、保護モデルのパッケージ化と共有を参照してください。
R2023b: Mode
が 'CodeGeneration'
に設定されたエクスターナル モードのサポート
Mode
を 'CodeGeneration'
に設定すると、保護モデルはエクスターナル モード シミュレーションをサポートします。
R2023b: Mode
の既定値は 'Simulation'
Mode
の既定値の名前は 'Accelerator'
から 'Simulation'
に変更されました。既定値の動作は変更されていません。
R2023b: 'Accelerator'
は推奨されない
Mode
の値 'Accelerator'
は推奨されません。代わりに 'Simulation'
を使用してください。
'Simulation'
と'Accelerator'
は同じ動作です。'Simulation'
は、[保護モデルの作成] ダイアログ ボックスの [シミュレーション] オプションとより適切に連携します。'Accelerator'
はサポート対象シミュレーション モードのいずれか 1 つのみを参照します。シミュレーションをサポートする保護モデルを参照するモデルを、ノーマル、アクセラレータ、またはラピッド アクセラレータのモードで実行できます。
'Accelerator'
を削除する予定はありません。
R2023a: Mode
はノーマル モードの制限をサポートしない
将来のリリースでは、Mode
を 'Normal'
にすると、この関数により作成される保護モデルは、親モデルのシミュレーションをノーマル、アクセラレータまたはラピッド アクセラレータのモードで実行するときに、シミュレーションをサポートします。この変更により、新しい保護モデルのシミュレーション サポートが標準化されます。この変更前に作成された保護モデルは影響を受けません。
現在、Mode
を 'Normal'
にすると、この関数により作成される保護モデルは、親モデルのシミュレーションをノーマル モードで実行する場合にのみシミュレーションをサポートします。
R2023a: Mode
の既定値は 'Accelerator'
引数 Mode
の既定値は 'Accelerator'
です。保護モデルを参照するモデルをノーマル、アクセラレータまたはラピッド アクセラレータのモードで実行できます。
この変更に伴い、[保護モデルの作成] ダイアログ ボックスと関数 Simulink.ModelReference.protect
では、同じ既定のモデル保護モードが使用されます。
以前は、引数 Mode
の既定値は 'Normal'
でした。'Normal'
のモデル保護モードでは保護モデルの使用が制限され、親モデルのシミュレーションをノーマル モードで実行する場合にのみ保護モデルがシミュレーションをサポートします。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)