シーメンスS7-200チュートリアル:シーメンスS7-200を徹底的に理解するためのガイド シーメンスS7-200シリーズPLCの分解・暗号化
Thread Content
この投稿は最後にsea7000によって2017-7-31 12:52に編集されました。 1. S7-200の基本構造 シーメンスのS7-200シリーズは、一体型の小型PLCであり、リレーに代わる単純な制御用途に使用されるほか、複雑な自動化制御システムにも利用できます。 一体型PLCは、CPUモジュール、I/Oモジュール、電源を1つの箱型ケースに収めており、S7-200はCPUモジュールと呼ばれます。図1のフロントカバーの下には、RUN/STOPスイッチ、アナログポテンショメータ、および拡張I/Oコネクタがあります。S7-200シリーズPLCは、異なるI/Oポイント数を持つさまざまなCPUモジュールや、デジタル・アナログI/O拡張モジュールを用意しており、ユーザーが選択できる。CPUモジュールと拡張モジュールはフラットケーブルで接続される。 全体として、PLCにはアナログ入力/出力モジュール、熱電対、熱抵抗モジュール、通信モジュールなど、多くの専用の特殊機能モジュールも搭載されており、これによってPLCの機能が拡張されている。 S7-200は、ラダーダイアグラム、ステートメントテーブル(つまり命令テーブル)、および機能ブロック言語を用いてプログラミングできます。その命令は豊富で、機能も強力で、習得しやすく、操作も便利です。高速カウンター、高速出力、PIDコントローラー、RS485通信/プログラミングインターフェース、PPI通信プロトコル、MPI通信プロトコル、およびフリーモード通信機能を内蔵している。最大で248ポイントのデジタルI/O、または35チャンネルのアナログI/Oまで拡張可能です。最大で26kBのプログラムとデータの記憶領域があります。 2、S7-200のCPUモジュール S7-200には5種類のCPUモジュールがあり、CPU221は拡張機能を持たず、少ない演算処理しかできないマイクロコントローラーとして適している。CPU222には拡張機能がある。CPU224はより強力な制御機能を備えたコントローラーである。CPU226およびCPU226 XMは、複雑な中小規模の制御システムに適している。 S7-200シリーズPLCの各モデルのCPUの技術仕様は表1に示されている。S7-200には、転送、比較、シフト、ループ、補数計算、サブプログラムの呼び出し、パルス幅変調、パルス列出力、ジャンプ、データ変換、算術演算、ワード論理演算、浮動小数点演算、二乗根計算、三角関数、PID制御命令などがあり、メインプログラム、最大8レベルのサブプログラム、および割り込みプログラムからなるプログラム構造を採用している。ユーザーは1~255msのタイマ割り込みを使用できる。ユーザープログラムは3段階のパスワード保護を設定でき、モニタタイマー(ウォッチドッグ)機能も備えている。 デジタル入力のうち、4つはハードウェア割り込みに、6つは高速機能に使用されています。32ビットの高速加算/減算カウンターの最大カウント周波数は30kHzで、インクリメンタルエンコーダーから出力される、90度ずれた2つのパルス列をカウントできます。カウント値が設定値に達するか、カウント方向が変わったときに割り込みが発生し、割り込みプログラム内で即座に出力を操作することができます。2点高速出力により、最大20kHzの周波数および幅を調整可能なパルス列を出力できます。 オプションのメモリカードにより、プログラム、データ、設定情報を永続的に保存でき、オプションのバッテリーカードによるデータの保存期間は通常200日です。DC出力タイプの回路では、パワーアンプ素子としてフィールドエフェクトトランジスタ(MOSFET)が使用され、DV出力タイプのみが高速パルス出力を行い、最高出力周波数は20kHzです。 3、S7-200の拡張モジュール 異なる信号用のS7-200 CPUには、あらかじめ一定数のデジタルI/Oポイントが内蔵されている。しかし、実際に必要なI/Oポイント数がそのCPUの持つ数を超える場合は、入出力拡張モジュールを追加することで機能を拡張し、制御能力を高めることができる。拡張モジュールには、入出力拡張、熱電対/熱抵抗入力拡張、通信拡張の3種類があり、バスコネクタ(プラグイン)を介してCPUモジュールと接続されます。 拡張ユニットが正常に動作するためには+5VDCの電源が必要で、この電源はCPUがバスコネクタを介して供給します。拡張ユニットの24VDC入力端子および出力端子の電源は、基本ユニットの24VDC電源から供給されることもありますが、基本ユニットが供給可能な最大電流容量には注意が必要です。 CPU 221にはI/O拡張機能がない。CPU 222では最大2つの拡張モジュール(デジタルまたはアナログ)を接続できる。CPU224およびCPU226では最大7つの拡張モジュールを接続できる。 (1)入出力拡張モジュール S7-200シリーズPLCでは、現在以下の拡張モジュールが提供されている:①デジタル入力拡張モジュール EM221(8DI);
②デジタル出力拡張モジュール EM222(8DO);
③デジタル入力および出力兼用拡張モジュール EM223(8I/O、16I/O、32I/O);
④アナログ入力拡張モジュール EM231(3AI、A/D変換時間25μs、12ビット);
⑤アナログ入力および出力兼用拡張モジュール EM235(3AI/1AO、A/D変換時間25μs、D/A変換時間100μs、どちらも12ビット)。
(2)熱電対/熱抵抗拡張モジュール
熱電対や熱抵抗用モジュール(EM231)は、CPU222、CPU224、CPU226と一緒に使用される。さまざまなタイプの熱電対(mV信号)や熱抵抗(抵抗信号)の信号を、EM231モジュールを介してS7-200に送信することができる。ユーザーはEM231上のDIPスイッチを介して、熱電対または熱抵抗の分度数、配線方法、測定単位、および開路故障の方向を選択します。 (3)通信拡張モジュール CPUに内蔵された通信ポートに加えて、S7-200は通信拡張モジュールを介してより大きなネットワークに接続することもできる。S7-200シリーズには現在、2種類の通信拡張モジュールがあります。それは、PROFIBUS-DP拡張スレーブモジュールのEM277と、AS-iインターフェース拡張モジュールのCP243-2です。 S7-200シリーズPLCの入出力拡張モジュールの主な技術仕様は表2に示されている。 4、S7-200の通信機能 S7-200のCPUモジュールに内蔵されているRS485シリアル通信は、PPI、DP/T、フリー通信ポートプロトコル、およびPROFIBUSのポイントツーポイントプロトコルをサポートしています。各ネットワークには最大126のステーション、最大32のメインステーションがあります。通信インターフェースにより、プログラミングソフトウェアを動作させるコンピュータ、テキストディスプレイTD200、OP(オペレータパネル)、およびS7-200 CPU間の通信が可能となります。また、フリー通信ポートプロトコルを介して、他メーカーの機器ともシリアル通信が行えます。 EM277 PROFIBUS-DPスレーブモジュールは、S7-200 CPUをPROFIBUS-DPネットワークに接続するために使用されます。通信速度は9600~12Mbit/sです。 産業用イーサネット通信モジュールCP243-1の通信速度は10Mbit/sまたは100Mbit/sで、半二重/全二重通信を行い、RJ-45インターフェースではTCP/IPプロトコルが使用されます。STEP 7-Micro/WINソフトウェアを使用して、産業イーサネットを介した設定や遠隔プログラミングサービス(プログラムのアップロード・ダウンロード、状態の監視)を実現でき、産業イーサネットを通じて他のCPUと接続し、S7-OPCを利用してコンピュータ上でデータを処理することができます。 EM241モデムモジュールは、遠隔メンテナンスや遠隔診断、PLC間の通信、PLCとPCの通信、携帯電話へのショートメッセージ送信などをサポートしており、EM241のパラメータ設定ガイドはMicro/WIN V3.2に組み込まれています。 CP243-2 AS-i通信プロセッサを介して、S7-200 CPUはAS-iのマスターとして機能し、最大62台のAS-iスレーブを接続し、496ポイントのリモートデジタル入力/出力ポイントを利用できます。 5、S7-200用プログラミングソフトウェア STEP 7-Micro/WIN 32は、S7-200専用に設計された、パーソナルコンピュータのWindowsオペレーティングシステム上で動作するプログラミングソフトウェアです。CPUは、PC/PPIケーブル、またはコンピュータに挿入されたCP 55111またはCP 5611通信カードを介してコンピュータと通信します。PC/PPIケーブルを使用することで、Windows環境下でマルチマスタ通信方式を実現できます。 ステップ7:Micro/WIN 32のユーザープログラム構造はシンプルで分かりやすく、メインプログラムからサブプログラムや割り込みプログラムを呼び出すことができ、またデータブロックを通じて変数の初期化設定も行えます。ユーザーはSTL、LAD、FBDを使ってプログラミングでき、異なるプログラミング言語で作成されたプログラムは互いに変換可能です。また、シンボルテーブルを用いてプログラム内で使用される変数のアドレスに対応するシンボルを定義することで、プログラムの設計や理解が容易になります。 STEP 7-Micro/WIN 32は、ユーザーにSIMATIC命令セット(S7-200方式)と国際標準命令セット(IEC1131-1方式)の2つの命令セットを提供します。モデムを介して遠隔プログラミングが可能で、単一スキャンや強制出力などの方法でプログラムのデバッグや障害診断を行うことができる。 S7-200は、アメリカのテキサス・インスツルメンツ社製の小型PLCをベースに開発されました。S7-300/400の前身はシーメンス社のS5シリーズPLCで、そのプログラミングソフトウェアはSTEP 7です。S7-200とS7-300/300は多くの共通点があるものの、命令体系、プログラム構造、およびプログラミングソフトウェアの面でかなり大きな違いがあります。 SIMATIC S7-200 SMARTの注文データ ①中央処理装置CPUの注文番号 CPU SR20モジュール 主な仕様:AC/DC/RLY、12DI/8DO 注文番号:6ES7 288-1SR20-0AA0 CPU SR40モジュール 主な仕様:AC/DC/RLY、24DI/16DO 注文番号:6ES7 288-1SR40-0AA0 CPU ST40モジュール 主な仕様:DC/DC/DC、24DI/16DO 注文番号:6ES7 288-1ST40-0AA0 CPU CR40モジュール 主な仕様:AC/DC/RLY、24DI/16DO 注文番号:6ES7 288-1CR40-0AA0 CPU SR60モジュール 主な仕様:AC/DC/RLY、36DI/24DO 注文番号:6ES7 288-1SR60-0AA0 CPU ST60モジュール 主な仕様:DC/DC/DC、36DI/24DO 注文番号:6ES7 288-1ST60-0AA0 ②I/O拡張モジュールEMの注文番号 EM DI08デジタル入力モジュール 主な仕様:8×24VDC入力 注文番号:6ES7 288-2DE08-0AA0 EM DR08デジタル出力モジュール 主な仕様:8×リレー出力 注文番号:6ES7 288-2DR08-0AA0 EM DR16デジタル入力/出力モジュール 主な仕様:8×24VDC入力/8×リレー出力 注文番号:6ES7 288-2DR16-0AA0 EM DR32デジタル入力/出力モジュール 主な仕様:16×24VDC入力/8×リレー出力 注文番号:6ES7 288-2DR32-0AA0 EM DT08デジタル入力/出力モジュール 主な仕様:8×24VDC出力 注文番号:6ES7 288-2DT08-0AA0 EM DT16デジタル入力/出力モジュール 主な仕様:8×24VDC入力/8×24VDC出力 注文番号:6ES7 288-2DT16-0AA0 EM DT32デジタル入力/出力モジュール 主な仕様:16×24VDC入力/16×24VDC出力 注文番号:6ES7 288-2DT32-0AA0 EM AI04アナログ入力モジュール 主な仕様:4チャンネル入力 注文番号:6ES7 288-3AE04-0AA0 EM AQ02アナログ入力モジュール 主な仕様:2チャンネル出力 注文番号:6ES7 288-3AQ02-0AA0 EM AM06アナログ入力/出力モジュール 主な仕様:4チャンネル入力/2チャンネル出力 注文番号:6ES7 288-3AM06-0AA0 EM AR02熱抵抗入力モジュール 主な仕様:2チャンネル 注文番号:6ES7 288-3AR02-0AA0 ③通信拡張信号ボードSBの注文番号 SB CM01通信拡張信号ボード 主な仕様:R485/R232 注文番号:6ES7 288-5CM01-0AA0 SB DT04デジタル拡張信号ボード 主な仕様:2×24VDC入力/2×24VDC出力 注文番号:6ES7 288-5DT04-0AA0 SB AQ01アナログ拡張信号ボード 主な仕様:1×12ビットアナログ出力 注文番号:6ES7 288-5AQ01-0AA0 シーメンスS7-200シリーズPLCの逆解析による暗号化についての簡単な説明 1.まず、一般的なPLCの暗号解読方法を理解する。敵を知り、自分を知れば百戦危うからず。現行のPLCにおける一般的な暗号解読方法を総合的に理解してこそ、より優れた暗号化手法を考案できるのだ。現在販売されているのはすべて分解型のデコードソフトウェアで、直接読み取るソフトウェアはまだ登場していない。すべてEEPROMチップを取り出し、そのシステムブロックを改変することでパスワード保護を解除し、プログラムを入手するものだ。このような復号方法は確かにプログラムを読み取る目的を達成したが、その副作用はあまりにも大きく、システムブロックの元の設定を完全に変えてしまった。元のシステムブロックの設定が分からず、また分かる手段もないため、急いで他のPLCから得たシステムブロックで置き換えてしまった。これにより元の設定は完全に変わってしまったのだ。そこで、この欠点を利用して、対象となる機器用の逆解析防止暗号化を作成することができる。今すぐ、まずはルーチンをダウンロードしてご覧になってください。 2.必ず4段階のパスワード保護を設定してください。2.0以降のバージョンのPLCにはすべて4段階の暗号化機能が備わっており、これが最も高いレベルの暗号化です。もし単独で3段階の暗号化を設定すると、簡単に解読されてしまいます。チップを分解して読み取るだけで元のパスワードが得られるため、チップを修正する必要はなく、パスワードがあればそのパスワードを使ってプログラムをアップロードできる。ですから、もし3段階の暗号化保護のみを設定する場合、それは無意味なことになります。必ず最上位の4段階の保護を設定しなければなりません。では、レベル4の保護はどれほど強力なのでしょうか?下の図を見てください。レベル4のパスワード保護ではアップロードができません。パスワードを知っていようといまいと、つまりパスワードを既に知っていてもアップロードすることはできないのです。アップロードを実現するために行われるデコード処理では、システム全体のブロックを置き換える方法が用いられます。置き換え後は暗号化機能を持たないシステムブロックとなり、そうすればプログラムをアップロードできるようになります。しかし、これによって元の設定が変更されてしまいます。そのため、次にこのような置き換えられたシステムブロックをどうやってデコードするかをお教えします。 3.通信ポートの設定はデフォルトでは不可。下の図にある「デフォルト値」ボタンをクリックすればわかりますが、システムブロックの通信設定のデフォルト値は、ポートレートが9600、ステーション番号が2です。敵が通信できないようにするためには、ポートレートを187.5kbpsに設定するのが最善です。ただし、ご使用のケーブルがこの通信速度に対応していなければ、やめておいた方がいいでしょう!PLCのアドレスもデフォルトの2にしないでください。それはあまりにも愚かです。他のステーション番号を選んでください。この方法なら、たとえ解読されても他者が通信接続できないようにすることができます。特にタッチスクリーンや上位機を使って通信する場合はさらに効果的で、解読されると元の通信設定と一致しなくなるため、外部の機器は通信できなくなり、最終的にはあなたのところに戻ってくることになります。よし、素晴らしい!! 4. 特殊な停電保持エリアを設定し、デフォルトのままにしないこと。下の図にある電源切断時のデータ保持領域の設定を見てみると、すべてシステムのデフォルト値になっています。もしここで手を加えるのが面倒で、システムのデフォルト設定のままにしておくなら、たとえ暗号化レベルを4に設定しても意味がありません。なぜなら、彼らはシステムのデフォルトのシステムブロックを使って、あなたの4レベルの暗号化ファイルを置き換えてしまうからです。 では、このシステムブロックの設定からデフォルト設定を変更し、クラック防止を実現するには一体どうすればよいのでしょうか?方法は数多くあり、様々なバリエーションがあるため、それはあなたの知恵次第です。ここで一つ例を挙げてみましょう。これを参考にして、類推して他の方法も見つけ出せるでしょう。 5. 電源切れ保持領域のデータが失われていないかを検出する。プログラミングの手法を使って、事前に埋め込んだ数値が依然として無事かどうかを検出し、実行後に埋め込んだ地雷が爆発したかどうかを確認し、自分のプログラムが解析されていないかもチェックする。余計な話はせず、図を見よ:もちろんこれは単純な暗号化に過ぎず、実際の応用ではこんなに簡単で理解しやすいわけがない。できるだけ複雑にして、プログラムを読み解くことができないようにすべきだ。データは何度も変換され、送信され、転送され、計算されるなど、一連の複雑な論理演算を経てから、ようやく停止処理が行われる。システムブロックの電源切れ時保持領域において、vb0~vb40を電源切れ時保持領域として設定でき、vb40以降は電源切れ時にデータを消去する必要があります。プログラム内で、PLCが起動した初期段階にデータがあるかどうかを設定できます。もしデータがあれば停止し、データがなければ再び電源切れ時保持領域のデータを検出します。事前に数値の地雷を仕掛けて、以前に書き込んだ数値がなくなっていれば停止させましょう!
以下は関連する質問です:
1. ザイメンスS7-200シリーズPLCの利点
SIMATIC S7-200は、統一されたかつ経済的なソリューションを実現します。システム全体の特長 優れたパフォーマンス、 最適なモジュール化とオープンな通信。 コンパクトで小型――狭いスペースでのあらゆる用途に最適
すべてのCPUモデルで基本的かつ高度な機能を備えている
大容量のプログラムおよびデータメモリ
優れたリアルタイム応答――いつでもプロセス全体を完全に制御でき、品質・効率・安全性が向上する
使いやすいSTEP 7-Micro/WINエンジニアリングソフトウェア――初心者から専門家までに最適
内蔵されたR-S 485インターフェース、またはシステムバスとしても利用可能
非常に高速かつ正確な動作順序およびプロセス制御
タイム割り込みにより、時間的に厳しい要件がある処理も完全に制御可能
2. シーメンスPLC S7-200 224CNの分解せずに暗号を解読する方法
暗号を解読する必要はない。機器が動作しているときのPLCのI/Oインジケーターの点滅と装置の動作状態との関係を見れば、PLC内のプログラムがわかるはずだ。何度か見れば自分で理解できるようになり、暗号解読よりも簡単だ。また、プログラムを入力してもシンボルテーブルやコメントは入力されないものもあります。たとえ読み取れたとしても、理解できないかもしれません。自分が理解できないプログラムを再び機械に入力すれば、メンテナンスはさらに困難になります。