Step7 ClassicでSFC51を使うことによってCPUから様々な状態を読み込むことができますが、ここでCPUのLED状態を読み込むのプログラム例を示します。まずここでS7-300のLED説明にはここであります:
こうやってLEDの状態を取りもしCPUがエラーがあったり、強制ON/OFFしたりするときHMIとかで表示することも可能ですね。では、まずSFC51はどんなものがみてみましょう。プログラムの中にEMPTY BOX1つを追加し”SFC51”を入力してすれば自動的SFC51が追加されます。そのあとF1を押せばHELPが出てきて色々なINFORMATIONがみえます。簡単からというと、SystemFunction51は”RDSYSST”で、いわゆる”Read System Status”です。このプロッグは以下のParametersがあります:
考えの流れとしてはまずはどんなSystem Status Listがほしいですか?System Status Listの中のどんな情報が欲しいですか?最後はREQのタイミングを決めます。
じゃプログラムをしましょう。最初はSSL_HEADERを作ります。これはSSL_HEADERの標準の構造体です。
新しいDBを作成し、中にWORD2つのデータが含めてるの構造体にします。これでSSL_HEADERが完成です。
16#0174はLEDのStatusを読み込むんですね。
INDEXにはたくさん書いてますのでここで詳しい説明はしません。今回はRUNのSTATUSを取りますのでINDEXがW#16#0004をします。
次はDR-Data RecordのDB Structureを考えます。SSL_IDによってDRのStructureも違いますのでここはちゃんとMANUALを読んでください。ここでWORD1つ、Byte2つですね。
また新しいDBを作成し、同じのようなStructureを作りましょう。
最後はSFC51を追加します。これだけです。
SZL_HeaderはP#DB[番号].DBX0.0です。
DRはP#DB[番号].DBX0.0です。
完成です。お疲れさまー
*もしTIAを使う場合はLEDを読み込むの命令がありますので次を紹介します。