製品・技術情報
サイト
ご質問
回答
今回指令値-前回指令値が負とはならず、正方向へ動作を続けます。通常コンピュータは16ビット演算や32ビット演算を実行する場合、負の最大値から正の最大値を引くと答えは+1となります。これはMP3000シリーズだけでなく一般的なマイコンでも同様です。16ビットで説明しますと、負の最大値-32768から正の最大値32767を引くと答えは1になります。コンピュータの計算では、8000H(-32768) - 7FFFH(+32767) = 1 となります。32ビットでも64ビットでも同様です。ただし、MP3000シリーズでは符号が反転する演算の場合、あえてエラーにする処理を入れていますので通常の加算命令では16ビットレジスタの32767に1を加算すると-32768にせずエラーとする処理を入れています。通常のコンピュータ的演算(上記エラー処理なし)をする拡張加算を使用すれば加算でき、32767に1を拡張加算すると-32768になります。MP3000シリーズの目標位置はコンピュータ的演算なので正方向へ動作を続けることができます。 |
Copyright(C)2001‐2024 YASKAWA ELECTRIC CORPORATION All Rights Reserved.