SA0134:明示的な符号付き/符号なし変換
明示的に実行された、符号付きデータ型から符号なしデータ型への変換、およびその逆の変換を検出します。
正当性: 型変換を過度に使用すると、変数に対して間違ったデータ型が選択された可能性があります。このため、データ型変換の明示的な理由を要求するプログラミング ガイドラインがあります。
重要度:低
例 57. 例
PROGRAM PLC_PRG VAR byVar :BYTE; udiVar : UDINT; uliVar : ULINT; lwVar : LWORD; wVar : WORD; siVar : SINT; iVar : INT; diVar : DINT; liVar : LINT; END_VAR
liVar := ULINT_TO_LINT(uliVar); udiVar := DINT_TO_UDINT(diVar); siVar := BYTE_TO_SINT(byVar); wVar := INT_TO_WORD(iVar); lwVar := SINT_TO_LWORD(siVar);
での出力 メッセージ ビュー:
SA0134: 'ULINT' 型から 'LINT' 型への明示的な符号付き/符号なし変換
SA0134: 'DINT' 型から 'UDINT' 型への明示的な符号付き/符号なし変換
SA0134: 'BYTE' 型から 'SINT' 型への明示的な符号付き/符号なし変換
SA0134: 'INT' 型から 'WORD' 型への明示的な符号付き/符号なし変換
SA0134: 'SINT' 型から 'LWORD' 型への明示的な符号付き/符号なし変換