問題タブ [codesys]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2317 参照

pointers - TwinCATとCoDeSysのポインタとオンライン変更

TwinCAT2.10および最初のプログラムが基づいているCoDeSys2.3で実行中のPLCプログラムのオンライン変更に対してポインターは安全ですか?オンラインプログラム変更の一部としてメモリブロックが再割り当てされ、そのメモリブロックを指すポインタがある場合はどうなりますか?

0 投票する
2 に答える
3721 参照

plc - CodeSys V2.3 をバッチ モードで実行する

残念ながら、私は 3S フォーラムであまり進歩していません。だから、あなたは今悩まされるでしょう!

3S Codesys v2.3 を使用しています

ブート プロジェクトを作成し、ビルド サーバーでソースコードをダウンロードしようとしていますが、ハードウェアをプラグインすることは避けたいと考えています。次のコマンド ラインを使用して Codesys を実行しています。

Build.bat:

"C:\Program Files\3S Software\CoDeSys V2.3\Codesys.exe" OptimusPlcFirmware.pro /cmd Build.cmd /batch

ビルド.cmd:

echo on

online sim off

project rebuild

online bootproject

online sim

online login

online sourcecodedownload

online logout

online sim off

これを行うと、「問題が発生したため、閉じる必要があります。エラーレポートを送信/送信しないボタンが付随しています」というウィンドウが表示されます

ブート プロジェクトは正常に作成され、ソースコードはすべて正しいようです。誰が何が起こっているのか説明できますか?

ありがとう

マット

0 投票する
2 に答える
1994 参照

c# - C# で extern "C" 関数を定義する

C# で記述された ActiveX コントロールがあり、ActiveX 互換プログラム (CoDeSys) で実行すると動作します。私が遭遇した問題は、CoDeSys が ActiveX コントロールとやり取りできるようにするために、CoDeSys が dll に関数プロトタイプをエクスポートする必要があることです。

次の例に示すように、C++ でできるようにこれをエクスポートする方法を調べましたが、成功しませんでした。

C# にはexternキーワードがありますが、関数定義を提供することはできません (少なくとも方法は見つかりませんでした)。これを試みた後:

次のエラーが発生します。

C# dll で関数をエクスポートしようとした人はいますか?

回避策はありますか? (私は[DllImport("AlarmsCSharp.dll")]と C++ dll で C# を呼び出すことを考えていましたが、以前に誰かが解決策を持っているかどうかを確認したいと思いました)

ActiveX コントロールは既に C# コードとやり取りできるため、この関数をエクスポートする必要はありません。

編集: C++ 関数プロトタイプから C# インターフェイス宣言への変換を感じています。C++/C# プログラミングの経験が豊富な人が、その翻訳が正しいか間違っているかを確認できれば、役立つかもしれません。

0 投票する
2 に答える
2927 参照

codesys - CoDeSys:BOOLはケースの外側で "*** INVALID:16#02 ***"になります(2つの変数間のリンク)

プログラムをトレースすると(ブレークポイントとシングルステップを使用してオンラインで) 、行に到達するとVARSOpenが" * INVALID:16#02*Step:=Step+1; "になることがわかります。

トレースをもっと注意深く見ると、「0:」の最初の呼び出しでステップが0から1に変わることがわかりました。2つのVARは初期化された2つであり、互いにリンクされているように見えます。追加の増加により、ステップが2に設定され(最初の実行で!)、SOpenが無効に設定されます。

0 投票する
1 に答える
2505 参照

codesys - LDラダーをSTリテラル言語に変換する方法は?

CoDeSysソフトウェアを使用して開発しています。これで、LD(ラダー)のコードが完成しました。LDをST(構造化テキスト)に変更(変換)したいのですが。

それは可能ですか?

0 投票する
1 に答える
1352 参照

c# - CoDeSys.proファイルの解析

.proファイルを解析しようとしていますが、ファイル内に奇妙な文字が含まれています。

誰かが前にそれを試しましたか?ありがとうございました!

0 投票する
3 に答える
5853 参照

oop - カスタム関数ブロックのインスタンスをCoDeSysに配置するにはどうすればよいですか?

私はCoDeSys(V3.5 SP2を使用)を学んでいますが、リソースが見つからないような初心者レベルの問題で立ち往生しています。

単純な機能ブロックを定義しました([オブジェクトの追加]-> [POU]-> [機能ブロック]に移動し、FBD言語を使用します)。FBは抽象的ではなく、別のFBを拡張したり、インターフェイスを実装したりすることもありません。(その実装は、いくつかの非常に基本的なブール論理FBのみで構成されています。)

問題は、このFBをプログラムに配置できないことです。FBは、右側のPOUサブメニューの下のツールボックスに表示されますが、プログラムにドラッグしようとすると、Start hereハンドルが表示されません。組み込みのFBは適切に配置できますが、カスタムのFBは配置できません。

私に何ができる?プログラムの構成方法やFBの定義方法を誤解しているのではないかと思いますが、はっきりとはわかりません。どんな助けでも大歓迎です。

0 投票する
5 に答える
23194 参照

floating-point - PLC 構造化テキスト、10 進数を実数 (浮動小数点数) に変換します。期待する値が得られません。(IEEE-754)

Profibus DP を介して PLC と通信しているハードウェアがあり、「44 79 FF FF」である 16 進数で 4 バイトのデータを送信し、PLC プログラムでこの入力データの BYTE 配列を宣言しました。問題はPLCにあり、BYTE配列で受信したデータは「66 121 255 255」であり、これは16進数の10進値ですが、私の目標はその値をREALに変換することであり、そうすると私はそうではありません私が期待した値を取得します。

4bytesDataすべての BYTES を挿入する DWORD( ) を作成しました。したがって、4 バイトをバイトに挿入する前に4bytesData: in1 = 68, in2 = 121, in3 = 255&in4 = 255

in1、in2、in3、in4 はバイト 0 ~ 3 です。

私が得ている値は次のとおりです。4bytesData= 1148846079 & realValue= 1.148846e+009

私が期待している値realValueは = 9.9999993896484375E2 です

この Web サイト ( IEEE754 アナライザー/コンバーター) を使用して 16 進数値 (4479FFFF) を変換すると、必要な値が得られます。10 進数値 (1148846079) を挿入すると、 PLC。

私の問題を理解していただければ幸いです。よろしくお願いします。

0 投票する
1 に答える
6775 参照

gsm - Codesys で GSM モデムの「AT コマンド」を呼び出すにはどうすればよいですか? 標準のsend_smsなどではありません

私は GSM モデムと PLC を持っています。PLC はモデム (*.lib と機能ブロック「openPort」を使用) を認識しますが、「ate0」などの「AT コマンド」をモデムに送信する方法がわかりません。