まずF1でHelpを見てみます。
You can only assign this data type for variables which you declare as Formal Parameters.
Using BLOCK_DB, you determine that a Data Block (DB) is to be transferred to the declared formal parameter as an Actual Parameter when the logic block is called.
Data Type Length Format (n = Block Number) Information Provided
BLOCK_DB 16 bits DB n Number of the data block
あなたがこのData Typeを使うには、変数をパラメータとして定義する必要があります。
つまりこのBLOCK_DBを使うことは、あなたがFunction Blockが呼び出すとき、DataBlock(DB)をそのままパラメータとして渡して於けば大丈夫です。
データタイプ:BLOCK_DB
長さ:16Bit
Format:DBx x=DBの番号
バージョン
実装
DB1
これはパラメータとして渡すの”Datablock”です。
FB1
このFBはBlock_DBをInputパラメータとして定義し、そして間接的にDBのデバイスをアクセスします。
Input Interface
Output Interface
プログラム
OPN命令使ってパラメータとして渡された”BLOCK_DB”を開きます。
L DBNOでいま開いてるDB番号をもらってoutDBに出力します。
DBも開いてたから、そのままDBX1.0をアクセスすれば、開いたDBのDBX1.0を間接的アクセスすることが可能です。
OB1
先は間接的アクセスっていいましたね?もしここでinDBはここで別のDBを入れれば、たとえ(DB2)だったら、アクセスするものはDB2.DBX1.0になります。
それでお疲れ様ですー