PLCからストアドプロシージャを実行する方法
ストアドプロシージャとは
データベースに対して一連の処理をまとめたものです
SQLServerでは下記の場所でシステムストアドプロシージャを確認できます
PLCからストアドプロシージャを実行するメリット
複雑なSQL文をPLC側で作成する必要がなくなります。
データベース側に処理を集約できるため、PLCプログラムをシンプルに保つことができます。
検索、登録、更新などの処理をストアドプロシージャとして再利用できます。

使用例
システムストアドプロシージャの中でデータベース一覧を取得する"sp_databases"プロシージャを呼び出す使用例です
ラダー

ExecuteフラグをONにするとストアドプロシージャを呼び出す処理を開始します
- DB_Connect : DBに接続します
- DB_AttachProcedure : ストアドプロシージャを指定してハンドルを取得します
- DB_ExecuteProcedure : ストアドプロシージャを実行します
- DB_DetachProcedure : ハンドルを開放します
- DB_Close : DBとの接続を切断します
DB_AttachProcedureに必要なパラメータは以下の通りです
- ProcName : プロシージャ名
- ArgIn : 入力パラメータ
- ArgOut: 出力パラメータ
- ArgInOut : 入出力パラメータ
- ReturnVal : 戻り値
- ResultSet : 結果セット
ArgIn,ArgOut,ArgInOutはストアドプロシージャで指定のある入出力のパラメータをセットします
指定がない場合は _DBC_Unused を入力します
ストアドプロシージャの結果はReturnValとResultSetに出力されます

よくある質問
ストアドプロシージャとは何ですか?
データベース内に保存された処理の集合です。
PLCからSQL文を直接実行するのと何が違いますか?
複雑な処理をデータベース側へ移せるため保守性が向上します。
入力パラメータは渡せますか?
ArgInパラメータを使用して渡せます。
戻り値は取得できますか?
ReturnValおよびResultSetで取得できます。
ダウンロード
このサイトが役に立ったと感じたら、ご支援いただけると嬉しいです
