今回の記事ではsimumatikで簡単なConveyorシステムの作成と製品の自動生成削除部分を紹介します。また、CodesyszとOPC UAで接続する方法をまとめて説明します。
記事内で使用したCodesys Controllerは Berghofになります。
さ、FAを楽しもう。
![](http://soup01.com/wp-content/uploads/2024/11/image-86.png)
Reference Link
http://soup01.com/ja/category/berghof/
http://soup01.com/ja/category/simumatik/
Implementation1
最初にSimumatik に簡単なConveyorシステムを追加し、製品を自動生成できるように設置しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-24.png)
Simumatik Side
Create Systems
Creatで新規システムを作成しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-25.png)
システム名を入力し、OKで進みます。
![](http://soup01.com/wp-content/uploads/2024/11/image-26.png)
Done!
![](http://soup01.com/wp-content/uploads/2024/11/image-27.png)
Add Assembly
先ほどのシステムにAssemblyを追加するため、右クリック>Add Assemblyします。
![](http://soup01.com/wp-content/uploads/2024/11/image-40.png)
Done!Assemblyが作成されました。
![](http://soup01.com/wp-content/uploads/2024/11/image-41.png)
Add Component
次はAssemblyにコンポーネントを追加するため、Assembly>右クリック>Add Componentします。
![](http://soup01.com/wp-content/uploads/2024/11/image-28.png)
Componentリストが表示されました。
![](http://soup01.com/wp-content/uploads/2024/11/image-29-1024x462.png)
Add Conveyor
Publicを選択すればSimumatikの部品が表示されます。Conveyorを検索し、Assemblyに追加しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-32-1024x545.png)
LoadをクリックしコンポーネントをAssemblyに追加します。
![](http://soup01.com/wp-content/uploads/2024/11/image-31.png)
コンポーネント名を入力しOKですすみます。
![](http://soup01.com/wp-content/uploads/2024/11/image-30.png)
Done!Conveyorが追加されました。
![](http://soup01.com/wp-content/uploads/2024/11/image-33.png)
Add Motor
次はConveyorを動かすためにモーターコンポーネントを追加します。
![](http://soup01.com/wp-content/uploads/2024/11/image-34.png)
Filter欄にElectricカタログを選択します。
![](http://soup01.com/wp-content/uploads/2024/11/image-35.png)
AC Motor three-phaseを追加します。
![](http://soup01.com/wp-content/uploads/2024/11/image-36.png)
Loadでモーターコンポーネントを追加しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-37.png)
コンポーネント名を入力しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-39.png)
Done!モーターコンポーネントが追加されました。
![](http://soup01.com/wp-content/uploads/2024/11/image-38.png)
次はモーターを適切な場所に移動しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-42.png)
Connect Conveyor to Motor Axis
次はConveyorrを動かすためにConveyorのMotor Connectionと先ほど追加したモーターと接続します。
![](http://soup01.com/wp-content/uploads/2024/11/image-43-1024x562.png)
Done!
![](http://soup01.com/wp-content/uploads/2024/11/image-44-1024x522.png)
Add 3-phase Power
次は三相モーターの電源供給を追加します。モーターにはI1/I2/I3があり、これはモーターの電源Connectionになります。
![](http://soup01.com/wp-content/uploads/2024/11/image-45-1024x565.png)
Public 部品リストからThree phase powerコンポーネントを追加しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-48-1024x533.png)
Loadで進みます。
![](http://soup01.com/wp-content/uploads/2024/11/image-46.png)
三相パワーコンポーネントを追加しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-47.png)
Done!
![](http://soup01.com/wp-content/uploads/2024/11/image-49.png)
Connect 3-phase power to motor
今度はモーター電源と三相電源を接続します。
![](http://soup01.com/wp-content/uploads/2024/11/image-50-1024x534.png)
Done!
![](http://soup01.com/wp-content/uploads/2024/11/image-51-1024x522.png)
Add Product Entry
Conveyorを追加したら、今度はConveyor上で製品を自動生成するように設定します。システム>右クリック>Add Product Entryをクリックします。
![](http://soup01.com/wp-content/uploads/2024/11/image-52.png)
Done!Product Entryが追加されました。
![](http://soup01.com/wp-content/uploads/2024/11/image-54-1024x737.png)
Product Entryをクリックし、プロパティ>Products>Add Productで生成Productsを設定しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-53.png)
Search欄からProductsを選択します。
![](http://soup01.com/wp-content/uploads/2024/11/image-55.png)
今回の記事ではそのカモのおもちゃにします。
![](http://soup01.com/wp-content/uploads/2024/11/image-56.png)
Product Entryには複数のパラメータを設定できます。
- Interval=製品を生する時間
- Max Products=最大何個の製品を生成するのか
などの細かい設定が可能です。
![](http://soup01.com/wp-content/uploads/2024/11/image-57.png)
今回は2秒ことに1個の製品を生成し、最大10個まで生成するように設定しました。
![](http://soup01.com/wp-content/uploads/2024/11/image-58.png)
次はRotate機能を使用し製品の生成方向を調整します。
![](http://soup01.com/wp-content/uploads/2024/11/image-59.png)
今回は左から右に製品を流すようにします。
![](http://soup01.com/wp-content/uploads/2024/11/image-60.png)
Done!
![](http://soup01.com/wp-content/uploads/2024/11/image-61.png)
Result
実際Simulationを始めると製品が自動生成されました!
![](http://soup01.com/wp-content/uploads/2024/11/image-1-1024x597.gif)
Implementation2
製品が生成できましたが、その製品をあるエリアに入ると削除するように設定していきましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-62.png)
Simumatik Side
Add Product Exit
システムを右クリック>Add Product Exitで製品の削除エリアを追加します。
![](http://soup01.com/wp-content/uploads/2024/11/image-63.png)
Done!
![](http://soup01.com/wp-content/uploads/2024/11/image-64-1024x575.png)
次はProduct ExitをConveyorの出口あたりに調整します。
![](http://soup01.com/wp-content/uploads/2024/11/image-65-1024x476.png)
Result
Done!製品がConveyorの出口まで搬送されたら削除されます。
![](http://soup01.com/wp-content/uploads/2024/11/image-1024x597.gif)
Implementation3
最後はSimumatikをCodesysとOPCUA で接続しProduct生成や削除の動作を制御します。
![](http://soup01.com/wp-content/uploads/2024/11/image-66.png)
BERGHOF Side
今回記事で使用するのはBERGHOFのRaspberry pi Codesys Controlelrになります。
![](http://soup01.com/wp-content/uploads/2024/11/image-67.png)
GVL
プロジェクトにGlobal Variable Listを追加しDI/DOの変数を追加します。
![](http://soup01.com/wp-content/uploads/2024/11/image-68.png)
Add Symbol Configuration
CodesysにOPC UA serverを立ち上げるにはSymbol Configurationを追加してください。
![](http://soup01.com/wp-content/uploads/2024/11/image-69.png)
GVL_IOをCheck入れ、Buildでプロジェクトをコンパイルしてください。
![](http://soup01.com/wp-content/uploads/2024/11/image-70.png)
Login
次はLoginをクリックしプロジェクトをCPUにDownloadしてください。
![](http://soup01.com/wp-content/uploads/2024/11/image-71.png)
Enable OPC UA Server Function
次はBERGHOFのWeb Serverにアクセスし、PLC-Manager>Control>CODESYS Gateway enabledのCheckboxを入れ>Saveで設定を保存してください。
![](http://soup01.com/wp-content/uploads/2024/11/image-72.png)
Result
Done!uaExpertからBERGHOF Codesys ControllerのOPC UA serverにアクセスできました。
![](http://soup01.com/wp-content/uploads/2024/11/image-73-1024x587.png)
Simumatik Side
次はSimumatik側を構築しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-74.png)
Add Component
今回記事で追加したシステム>Assembly>Add Componentします。
![](http://soup01.com/wp-content/uploads/2024/11/image-75.png)
PLCを検索し>PLC 16DIO 4AIOをAssemblyに追加しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-76.png)
最後は24V DC Supplyも追加し、PLCと電源を繋がっていきましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-77.png)
Driver typeをOpc_clientを設定し、Setup paramsにBERGHOFのOPCUA Server URLを入力しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-78-1024x574.png)
次はVar DO1に GVL_IO.DO1のNode IDを設定します。
![](http://soup01.com/wp-content/uploads/2024/11/image-79.png)
Configure Entry
最後はProduct EntryのInterval時間を0.0に設定してください。
![](http://soup01.com/wp-content/uploads/2024/11/image-80-1024x444.png)
次はProduct EntryのConnectionを先ほど追加したDOと接続しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-81-1024x498.png)
Drop-ListからConnectionと接続するOPC UA Nodeを設定しましょう。
![](http://soup01.com/wp-content/uploads/2024/11/image-82.png)
Save
もちろんシステムの保存を忘れないでください。
![](http://soup01.com/wp-content/uploads/2024/11/image-83.png)
Result
Gateway ConnectボタンをクリックしPCのSimumatik Gateway を接続します。
![](http://soup01.com/wp-content/uploads/2024/11/image-84.png)
Status=Runningなので、SimumatikのOPCUA ClientとBERGHOFのOPC UA serverを接続できました。製品も自動削除できるようになりました。
![](http://soup01.com/wp-content/uploads/2024/11/image-85.png)