209 | | |
| 210 | == 一つのメッセージで複数のデータを取得する必要がある == |
| 211 | |
| 212 | この問題にも色々なアプローチで、複数の解決策がある。 |
| 213 | |
| 214 | |
| 215 | === 全部同じ型で、同じ文字で区切られているデータを入力 === |
| 216 | |
| 217 | waveform,aaiレコードを使って処理が可能。 |
| 218 | |
| 219 | '''{{{%f}}}'''のフォーマット文字列が'''{{{","}}}'''で連結されているこんな文字列を処理する。 |
| 220 | |
| 221 | {{{ |
| 222 | array = (1.23, 2.34, 3.45, 4.56) |
| 223 | }}} |
| 224 | |
| 225 | * db file |
| 226 | {{{ |
| 227 | record(waveform, "$(RECORD):ex08") { |
| 228 | field(INP, "@$(DEVICETYPE).proto array_in $(BUS)") |
| 229 | field(DTYP, "stream") |
| 230 | field(FTVL, "DOUBLE") |
| 231 | } |
| 232 | }}} |
| 233 | |
| 234 | * protocol file |
| 235 | {{{ |
| 236 | array_in { |
| 237 | separator=","; |
| 238 | in "array = (%f)"; |
| 239 | } |
| 240 | }}} |
| 241 | |