SA0059:常にTRUEまたはFALSEを返す比較操作 結果が常に次になるリテラルとの比較を検出します。 TRUE または FALSE 、コンパイル時にすでに処理できます。 理論的根拠:一定の演算 TRUE また FALSE 戻り値はプログラミングエラーを示します。 重要性:高い 例 69 . 例 PROGRAM PLC_PRG VAR byTemp1 : BYTE; END_VAR WHILE
SA0063:おそらく16ビット互換ではない操作 中間結果で16ビット演算を決定します。背景:32ビットの中間結果は、16ビットシステムでは切り捨てることができます。例: (int+10) 16ビットを超えることができます。 理由:このメッセージは、16ビットプロセッサと32ビットプロセッサの両方で実行する必要があるコードを記述しなければならないという非常にまれなケースでの問題から保護することを目
SA0019:暗黙のポインタ変換 暗黙的に生成されたポインタ変換を取得します。 位置揃え: で CODESYS 、ポインタは厳密に型指定されておらず、任意の方法で相互に割り当てることができます。これは頻繁に使用されるため、コンパイラによって報告されません。ただし、誤って予期しないアクセスが発生する可能性もあります。を割り当てると、 POINTER TO BYTE に POINTER TO DWOR
SA0121: VAR_EXTERNAL 宣言がありません 関数ブロックで宣言されていないグローバル変数の使用を検出します。 VAR_EXTERNAL 理由:IEC 61131-3規格によると、グローバル変数へのアクセスは、 VAR_EXTERNAL -宣言は許可されています。 重要度:低 PLCopenルール:CP18 例 103 . 例 VAR_GLOBAL iGlob1 : INT; END
SA0122:式として定義された配列インデックス 配列インデックスを宣言するときの式の使用を検出します。 理由:すべてのシステムが式を配列境界として許可しているわけではありません。 重要度:低 例 105 . 例 PROGRAM PLC_PRG VAR CONSTANT c_iValue : INT := INT#15; END_VAR VAR arr : ARRAY [0..c_iValue +
SA0123:INI、ADR、またはBITADRの使用 の使用を決定します CODESYS Static Analysis -特定の演算子 INI 、 ADR と BITADR 。 理由: CODESYS -特定の演算子は、コードの移植性を妨げます。 重要度:低 例 106 . 例 PROGRAM PLC_PRG VAR uiTemp : UINT; TempVarInFUNC : DWORD;
エディター FBD/LD/IL エディタは、ファンクション ブロック図、ラダー図、または命令リストをグラフィカルにプログラミングするための複合エディタです。 ヒント IL は CODESYS 必要な場合のオプション: FBD、LD、IL ダイアログ、 イリノイ州 タブで、 IL を有効にする オプション。 コマンドと要素の共有セットがあり、 CODESYS 内部で 3 つのプログラミング言語のそれ
ILの修飾子と演算子 表 5 . 修飾子 修飾子 オペレーターと組み合わせる 説明 C JMP 、 CAL 、 RET コマンドは、前の式の結果が次の場合にのみ実行されます。 TRUE 。 N JMPC 、 CALC 、 RETC コマンドは、前の式の結果が次の場合にのみ実行されます。 FALSE 。 N それ以外は オペランドの否定(アキュムレータではない) 表 6 . 可能な修飾子を持つ演算子
CODESYS Development System
プロジェクト情報の取得と編集 あなたは使用することができます プロジェクト情報 プロジェクトと関連ファイルに関する情報を取得し、特定の情報を編集するためのオブジェクト。 . オブジェクトには、に関する情報が含まれています ファイル属性 ベンダー、タイトル、作成者などのメタ情報 キーを持つプロパティ 統計学 ライセンス 署名:翻訳されたライブラリに署名するこの方法は非推奨であり、セキュリティ上の理由
コマンド:追加 SoftMotion CiA402軸 関数 : コマンドは将軍を追加します SoftMotion デバイス ツリーのフィールドバス スレーブの下にある CiA402 軸。 電話 : 計画 メニュー;デバイス ツリーのデバイス オブジェクトのコンテキスト メニュー 要件 : デバイス ツリーで、このドライブをサポートするデバイスが選択されています。例: EtherCAT スレーブまた