ーーーーーーーーーーーーーーーーーーーーーーーーーーー
FA電気設計屋の技術倉庫は、下記、スポンサーの提供で記事を作成しております。
■ つよぽん@制御設計 https://x.com/kubisu_taka21
■ ドラフター|東大阪機械制御 https://x.com/drafter_san
東大阪機械制御 | 関西で制御設計を任せるなら東大阪機械制御
■ 箱入り https://x.com/hakomussu
https://hakoden.jp/
ーーーーーーーーーーーーーーーーーーーーーーーーーーー
今回は浮動小数点について少しお話をしようかと。
PLCで演算を行う場合、バイナリ(1ワードなら0~65535)を表現し、それらを演算で使用します。
ただし、小数点を扱う場合、仮想的に整数として取り扱う必要があるため、それを行う場合は必ず、桁数を仮想的に合わせる必要があります。
つまり、片方が桁数がズレると、どちらの演算もうまく合わせこみなおさないと崩れる可能性があるのが、PLCのバイナリー演算になります。
ここで、桁数が崩れても演算に支障がないのが、浮動小数点演算です。
そんなキーエンスKV-8000 浮動小数点演算について紹介します。
浮動小数点演算について
浮動小数点とは
コンピュータで小数や非常に大きな/小さな実数を近似的に表現する数値方式です。
数値は「符号部」「仮数部」「指数部」に分割され、小数点の位置を「浮動(移動)」させることで、限られたメモリで広範囲な数値を扱います。
現代のコンピュータではIEEE 754規格が標準で、単精度(32ビット)や倍精度(64ビット)があります。
PLCでは、単精度(32ビット)を使えば十分事足ります。
参考例 1ワード→単精度浮動小数点変換

上記が1ワードから、単精度浮動小数点へ変換する方法になります。
「MOV DM10702 DM900」
DM10702の値を、DM900に格納
「LDA.S DM900」
DM900の値を一時プログラムメモリに格納
「FLOAT」
単精度浮動小数点へ変換し、一時プログラムメモリに格納
「STA.F DM902」
一時プログラムメモリから、DM902へ単精度浮動小数点へデータを移動
まとめ
・桁数が変わる場合などは浮動小数点が便利