問題タブ [plc]
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.
plc - PLC プログラミングの開始
PLC プログラミングに興味が湧いてきたので、試してみようと思っています。したがって、ハードウェアを探すのはもうすぐなので、実際のシステムをシミュレートする必要があります。これは私がやりたい方法です(例):
実際のシステムをシミュレートします。ブリードバルブとインレットバルブを備えた水タンク、もちろんいくつかの水位センサー。これらは PLC によって制御およびチェックされます。
バルブを制御し、センサーから値を取得するための PLC シミュレーター。HMI/SCADA (PLCsim ?) にもデータを送信します。
ロジックを PLC にプログラムするためのソフトウェア。(Step7 ?)
エンド ユーザーが手動で値を確認し、バルブを制御するための GUI (InTouch ?、ControlWeb ?、WinCC ?、LabView ?)
これがソフトウェアを使用して完全に可能かどうか、また可能性があるかどうかはわかりません。アドバイスやアイデアをお待ちしております。
ありがとう
plot - Zedgraph と AdvancedHMI Realtime アプリケーションを使用した提案
私はスタックオーバーフローが初めてです。
AdvancedHMI と共に Zedgraph を使用することについての提案を求めています。
現在、イーサネット経由で PLC から「リアルタイム」データを収集する ac# アプリケーションを開発していました。タイマーを使用して 10 ミリ秒ごとにデータを収集し、これらのデータをリストに保持しています。テストが終了したら、データを MySQL db に渡します。
しかし、テストが速すぎて、十分なポイントを集めることができない場合があります。
だから私は提案を求めています。「リアルタイム」グラフ、スレッド、またはタイマーに適したソリューションはどれですか?
主な問題は、各テストに異なるパラメータがあり、その場で更新する必要があるためです。これらのパラメータは PLC から取得されます。したがって、私が行っている手順は次のとおりです。
- Zedgraph オブジェクトを初期化する
- タイマーを開始する
- タイマー内で、PLCに「ラベル、X軸(時間[ms]または距離)など」を要求します)
- ポイントをプロットまたはスキップするために、PLC は「validData」フラグを送信します。
- X 点と Y 点の読み取り
- チャートを更新する
私の方法はひどく非効率的であると確信していますが、現時点ではより良い解決策がありません。
前もって感謝します
python - pySerial で送信された ASCII テキストがエンド デバイスで追加される
2 行の ASCII テキストをデバイスに送信しようとしていますが、デバイスはこれらの 2 行を 1 行追加されたものとして読み取ります。遅延の問題ですか、それとも終了文字が間違っていますか? 私は本当に問題が見えないようです。
エンド デバイスは、およびx011
の代わりにこれを受け取ります。x0
11
通常の端末プログラムからテストすると、2 つの行を別々に受信することに問題はありません。
uml - SCL で「一般化」を実装する方法
UML の一般化を Simatic SCL コード (または構造化テキスト コード) に実装することは可能ですか?
UMLでの汎化の定義:
server - リモートサーバーとのPLCデータ通信
PLCと対話して、リモートサーバー(PC)との間でデータを送受信するにはどうすればよいですか。
たとえば、PLCを搭載し、部屋の近くに配置されたサーバーと無線通信でやり取りしたいロボット。 データは常に移動する必要があります。サーバーにデータを送信するPLCとサーバーは、データの計算結果をPLCに返送する必要があります。レビュー:私のPLCブランドはDeltaですが、そのモデルはまだ選択されていません。
plc - ブール変数が変更された場合に通知を受け取る方法は?
PLCステートメントプログラミング言語では、通常、ブール変数がfalseからtrueまたはその逆に変更された場合に通知を取得するためにF_TRIGまたはR_TRIGを使用しましたが、変数が変更された場合に通知を取得したい場合はどうでしょうか(false/trueの場合)真/偽)?
client-server - 自分のOPCを書く
OPCの実装についていくつか質問があります。
- サーバーとリアルタイムデータを送受信したいPLC用に独自のOPCサーバーとOPCクライアントを作成できますか? 学部生にとってどれくらい簡単ですか??!!
- または、サーバー(「 MartikonOPCExplorer」など)とクライアントがPLCに接続するための無料ソフトウェアを使用できますか?
- どのプログラミング言語を使用できますか?
======================================
レビュー :- PLCモデル:デルタ
ruby-on-rails - RailsonLANを介したデバイスアクセス
アクセスしようとしているデバイスは、Webサーバーが組み込まれたPLCです。PLCの一意のIPアドレスを介してデータをプルしようとしています。PLCと同じローカルエリアネットワーク内にRailsアプリケーションを実行しているコンピューターがあります。コンピューターがまだネットワーク内にある状態で、Railsアプリを介してデバイスIPにアクセスできますか?リクエストがどのように機能するかわかりません。RailsはISPに直接移動してその方法で検索しますか、それとも最初にローカルネットワークをスキャンしますか?
asynchronous - plc modbus ascii 複数命令
Modbus ASCII プロトコル (RS485) を使用するアプリケーションを実行しています。
クライアントは、シリアル ポートを介して PLC と通信する PLC サービスと通信します。
毎回 1 つのコマンドを送信することに制限があるのか、それとも次のコマンドを送信する前に PLC から応答が返ってくるのを待つ必要があるのかどうかはわかりません。
一度に 1 つの命令しか処理できない場合、私のクラスの設計では 1 つの非同期メソッド呼び出しがサポートされ、IsBusy プロパティが公開されるため、これは PLC サービスのアーキテクチャに影響します。それ以外の場合は、同時メソッド呼び出しをサポートし、呼び出しごとに stateId を渡す必要があります (EAP: イベント ベースの非同期パターンを使用します)。
前もって感謝します。